
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 6a ff ?? push 0xff<255,-1>
 68 7d 48 40 00 ?? push 0x0040487d
 64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
 50 ?? push eax
 51 ?? push ecx
 56 ?? push esi
 57 ?? push edi
 a1 04 80 40 00 ?? mov eax, dword ds:[0x00408004]
 33 c5 ?? xor eax, ebp
 50 ?? push eax
 8d 45 f4 ?? lea eax, ss:[ebp + 0xf4<244,-12>]
 64 a3 00 00 00 00 ?? mov dword fs:[0], eax
 8b f9 ?? mov edi, ecx
 89 7d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], edi
 8b 75 08 ?? mov esi, dword ss:[ebp + 8]
 89 37 ?? mov dword ds:[edi], esi
 8b 06 ?? mov eax, dword ds:[esi]
 8b 48 04 ?? mov ecx, dword ds:[eax + 4]
 03 ce ?? add ecx, esi
 ff 15 80 90 40 00 ?? call dword ds:[function 0x00409080]

L2: 85 c0 ?? test eax, eax
 74 07 ?? je basic block L4

L3: 8b 10 ?? mov edx, dword ds:[eax]
 8b c8 ?? mov ecx, eax
 ff 52 04 ?? call dword ds:[edx + 4]

L4: 8b 06 ?? mov eax, dword ds:[esi]
 c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
 8b 48 04 ?? mov ecx, dword ds:[eax + 4]
 03 ce ?? add ecx, esi
 ff 15 a0 90 40 00 ?? call dword ds:[function 0x004090a0]

L5: 84 c0 ?? test al, al
 74 2e ?? je basic block L13

L6: 8b 06 ?? mov eax, dword ds:[esi]
 8b 48 04 ?? mov ecx, dword ds:[eax + 4]
 03 ce ?? add ecx, esi
 ff 15 84 90 40 00 ?? call dword ds:[function 0x00409084]

L7: 85 c0 ?? test eax, eax
 74 1b ?? je basic block L12

L8: 3b c6 ?? cmp eax, esi
 74 17 ?? je basic block L12

L9: 8b c8 ?? mov ecx, eax
 ff 15 a4 90 40 00 ?? call dword ds:[function 0x004090a4]

L10: 8b 06 ?? mov eax, dword ds:[esi]
 8b 48 04 ?? mov ecx, dword ds:[eax + 4]
 03 ce ?? add ecx, esi
 ff 15 a0 90 40 00 ?? call dword ds:[function 0x004090a0]

L11: eb 02 ?? jmp basic block L13

L12: b0 01 ?? mov al, 1

L13: 88 47 04 ?? mov byte ds:[edi + 4], al
 8b c7 ?? mov eax, edi
 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
 64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
 59 ?? pop ecx
 5f ?? pop edi
 5e ?? pop esi
 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c2 04 00 ?? ret 4

