
L1: 56 ?? push esi
 8b 44 24 14 ?? mov eax, dword ss:[esp + 0x14<20>]
 0b c0 ?? or eax, eax
 75 28 ?? jne basic block L3

L2: 8b 4c 24 10 ?? mov ecx, dword ss:[esp + 0x10<16>]
 8b 44 24 0c ?? mov eax, dword ss:[esp + 12]
 33 d2 ?? xor edx, edx
 f7 f1 ?? div ecx
 8b d8 ?? mov ebx, eax
 8b 44 24 08 ?? mov eax, dword ss:[esp + 8]
 f7 f1 ?? div ecx
 8b f0 ?? mov esi, eax
 8b c3 ?? mov eax, ebx
 f7 64 24 10 ?? mul dword ss:[esp + 0x10<16>]
 8b c8 ?? mov ecx, eax
 8b c6 ?? mov eax, esi
 f7 64 24 10 ?? mul dword ss:[esp + 0x10<16>]
 03 d1 ?? add edx, ecx
 eb 47 ?? jmp basic block L12

L3: 8b c8 ?? mov ecx, eax
 8b 5c 24 10 ?? mov ebx, dword ss:[esp + 0x10<16>]
 8b 54 24 0c ?? mov edx, dword ss:[esp + 12]
 8b 44 24 08 ?? mov eax, dword ss:[esp + 8]

L4: d1 e9 ?? shr ecx, 1
 d1 db ?? rcr ebx, 1
 d1 ea ?? shr edx, 1
 d1 d8 ?? rcr eax, 1
 0b c9 ?? or ecx, ecx

L5: 75 f4 ?? jne basic block L4

L6: f7 f3 ?? div ebx
 8b f0 ?? mov esi, eax
 f7 64 24 14 ?? mul dword ss:[esp + 0x14<20>]
 8b c8 ?? mov ecx, eax
 8b 44 24 10 ?? mov eax, dword ss:[esp + 0x10<16>]
 f7 e6 ?? mul esi
 03 d1 ?? add edx, ecx
 72 0e ?? jb basic block L10

L7: 3b 54 24 0c ?? cmp edx, dword ss:[esp + 12]
 77 08 ?? ja basic block L10

L8: 72 0f ?? jb basic block L11

L9: 3b 44 24 08 ?? cmp eax, dword ss:[esp + 8]
 76 09 ?? jbe basic block L11

L10: 4e ?? dec esi
 2b 44 24 10 ?? sub eax, dword ss:[esp + 0x10<16>]
 1b 54 24 14 ?? sbb edx, dword ss:[esp + 0x14<20>]

L11: 33 db ?? xor ebx, ebx

L12: 2b 44 24 08 ?? sub eax, dword ss:[esp + 8]
 1b 54 24 0c ?? sbb edx, dword ss:[esp + 12]
 f7 da ?? neg edx
 f7 d8 ?? neg eax
 83 da 00 ?? sbb edx, 0
 8b ca ?? mov ecx, edx
 8b d3 ?? mov edx, ebx
 8b d9 ?? mov ebx, ecx
 8b c8 ?? mov ecx, eax
 8b c6 ?? mov eax, esi
 5e ?? pop esi
 c2 10 00 ?? ret 0x0010<16>

