
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 0c ?? sub esp, 12
 85 ff ?? test edi, edi
 75 0a ?? jne basic block L4

L2: e8 c3 12 00 00 ?? call function 0x00403b09

L3: e8 72 12 00 00 ?? call function 0x00403abd

L4: 83 65 f8 00 ?? and dword ss:[ebp + 0xf8<248,-8>], 0
 83 3f 00 ?? cmp dword ds:[edi], 0
 c6 45 ff 00 ?? mov byte ss:[ebp + 0xff<255,-1>], 0
 7e 53 ?? jle basic block L15

L5: 53 ?? push ebx
 56 ?? push esi

L6: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
 8b 40 1c ?? mov eax, dword ds:[eax + 0x1c<28>]
 8b 40 0c ?? mov eax, dword ds:[eax + 12]
 8b 18 ?? mov ebx, dword ds:[eax]
 8d 70 04 ?? lea esi, ds:[eax + 4]
 85 db ?? test ebx, ebx
 7e 33 ?? jle basic block L13

L7: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
 c1 e0 04 ?? shl eax, 4
 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax

L8: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
 ff 71 1c ?? push dword ds:[ecx + 0x1c<28>]
 8b 06 ?? mov eax, dword ds:[esi]
 50 ?? push eax
 8b 47 04 ?? mov eax, dword ds:[edi + 4]
 03 45 f4 ?? add eax, dword ss:[ebp + 0xf4<244,-12>]
 50 ?? push eax
 e8 2e fa ff ff ?? call function 0x004022b8

L9: 83 c4 0c ?? add esp, 12
 85 c0 ?? test eax, eax
 75 0a ?? jne basic block L12

L10: 4b ?? dec ebx
 83 c6 04 ?? add esi, 4
 85 db ?? test ebx, ebx
 7f dc ?? jg basic block L8

L11: eb 04 ?? jmp basic block L13

L12: c6 45 ff 01 ?? mov byte ss:[ebp + 0xff<255,-1>], 1

L13: ff 45 f8 ?? inc dword ss:[ebp + 0xf8<248,-8>]
 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
 3b 07 ?? cmp eax, dword ds:[edi]
 7c b1 ?? jl basic block L6

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

L15: 8a 45 ff ?? mov al, byte ss:[ebp + 0xff<255,-1>]
 c9 ?? leave
 c3 ?? ret

