
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 56 ?? push esi
 57 ?? push edi
 8b 7d 08 ?? mov edi, dword ss:[ebp + 8]
 83 c7 07 ?? add edi, 7
 83 e7 f8 ?? and edi, 0xf8<248,-8>
 83 7d 0c 00 ?? cmp dword ss:[ebp + 12], 0
 8b f1 ?? mov esi, ecx
 74 06 ?? je basic block L4

L2: 57 ?? push edi
 ff 16 ?? call dword ds:[esi]

L3: 59 ?? pop ecx
 eb 64 ?? jmp basic block L21

L4: 85 ff ?? test edi, edi
 77 03 ?? ja basic block L6

L5: 6a 08 ?? push 8
 5f ?? pop edi

L6: 8b 46 10 ?? mov eax, dword ds:[esi + 0x10<16>]
 53 ?? push ebx
 3b c7 ?? cmp eax, edi
 73 45 ?? jae basic block L18

L7: bb 00 10 00 00 ?? mov ebx, 0x00001000<4096>
 3b fb ?? cmp edi, ebx
 77 38 ?? ja basic block L17

L8: 6a 01 ?? push 1
 68 04 10 00 00 ?? push 0x00001004<4100>
 b9 f4 74 43 00 ?? mov ecx, 0x004374f4
 e8 b9 ff ff ff ?? call basic block L1

L9: 85 c0 ?? test eax, eax
 74 05 ?? je basic block L11

L10: 83 20 00 ?? and dword ds:[eax], 0
 eb 02 ?? jmp basic block L12

L11: 33 c0 ?? xor eax, eax

L12: 85 c0 ?? test eax, eax
 74 18 ?? je basic block L17

L13: 8b 4e 0c ?? mov ecx, dword ds:[esi + 12]
 85 c9 ?? test ecx, ecx
 74 04 ?? je basic block L15

L14: 89 01 ?? mov dword ds:[ecx], eax
 eb 03 ?? jmp basic block L16

L15: 89 46 08 ?? mov dword ds:[esi + 8], eax

L16: 2b df ?? sub ebx, edi
 89 46 0c ?? mov dword ds:[esi + 12], eax
 89 5e 10 ?? mov dword ds:[esi + 0x10<16>], ebx
 eb 09 ?? jmp basic block L19

L17: 33 c0 ?? xor eax, eax
 eb 0f ?? jmp basic block L20

L18: 2b c7 ?? sub eax, edi
 89 46 10 ?? mov dword ds:[esi + 0x10<16>], eax

L19: 8b 46 0c ?? mov eax, dword ds:[esi + 12]
 8b 4e 10 ?? mov ecx, dword ds:[esi + 0x10<16>]
 8d 44 08 04 ?? lea eax, ds:[eax + ecx + 4]

L20: 5b ?? pop ebx

L21: 5f ?? pop edi
 5e ?? pop esi
 5d ?? pop ebp
 c2 08 00 ?? ret 8

