
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 51 ?? push ecx
 83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
 83 7d 0c 00 ?? cmp dword ss:[ebp + 12], 0
 57 ?? push edi
 8b f9 ?? mov edi, ecx
 7e 64 ?? jle basic block L16

L2: 53 ?? push ebx
 8b 5d 08 ?? mov ebx, dword ss:[ebp + 8]
 56 ?? push esi

L3: 8b 47 24 ?? mov eax, dword ds:[edi + 0x24<36>]
 83 38 00 ?? cmp dword ds:[eax], 0
 74 07 ?? je basic block L5

L4: 8b 4f 34 ?? mov ecx, dword ds:[edi + 0x34<52>]
 8b 09 ?? mov ecx, dword ds:[ecx]
 eb 02 ?? jmp basic block L6

L5: 33 c9 ?? xor ecx, ecx

L6: 85 c9 ?? test ecx, ecx
 7e 2b ?? jle basic block L11

L7: 39 4d 0c ?? cmp dword ss:[ebp + 12], ecx
 8b f1 ?? mov esi, ecx
 7d 03 ?? jge basic block L9

L8: 8b 75 0c ?? mov esi, dword ss:[ebp + 12]

L9: 56 ?? push esi
 53 ?? push ebx
 51 ?? push ecx
 ff 30 ?? push dword ds:[eax]
 e8 55 d5 ff ff ?? call function 0x004011b3

L10: 8b 47 34 ?? mov eax, dword ds:[edi + 0x34<52>]
 29 30 ?? sub dword ds:[eax], esi
 8b 47 24 ?? mov eax, dword ds:[edi + 0x24<36>]
 01 75 fc ?? add dword ss:[ebp + 0xfc<252,-4>], esi
 29 75 0c ?? sub dword ss:[ebp + 12], esi
 83 c4 10 ?? add esp, 0x10<16>
 03 de ?? add ebx, esi
 01 30 ?? add dword ds:[eax], esi
 eb 17 ?? jmp basic block L14

L11: 0f b6 03 ?? movzx eax, byte ds:[ebx]
 8b 17 ?? mov edx, dword ds:[edi]
 50 ?? push eax
 8b cf ?? mov ecx, edi
 ff 52 04 ?? call dword ds:[edx + 4]

L12: 83 f8 ff ?? cmp eax, 0xff<255,-1>
 74 0d ?? je basic block L15

L13: 43 ?? inc ebx
 ff 45 fc ?? inc dword ss:[ebp + 0xfc<252,-4>]
 ff 4d 0c ?? dec dword ss:[ebp + 12]

L14: 83 7d 0c 00 ?? cmp dword ss:[ebp + 12], 0
 7f a3 ?? jg basic block L3

L15: 5e ?? pop esi
 5b ?? pop ebx

L16: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
 5f ?? pop edi
 c9 ?? leave
 c2 08 00 ?? ret 8

