
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 53 ?? push ebx
 56 ?? push esi
 8b 75 08 ?? mov esi, dword ss:[ebp + 8]
 57 ?? push edi
 33 ff ?? xor edi, edi
 83 cb ff ?? or ebx, 0xff<255,-1>
 3b f7 ?? cmp esi, edi
 75 1c ?? jne basic block L5

L2: e8 38 4d 00 00 ?? call function 0x0040c522

L3: 57 ?? push edi
 57 ?? push edi
 57 ?? push edi
 57 ?? push edi
 57 ?? push edi
 c7 00 16 00 00 00 ?? mov dword ds:[eax], 0x00000016<22>
 e8 c6 f1 ff ff ?? call function 0x004069c0

L4: 83 c4 14 ?? add esp, 0x14<20>
 0b c3 ?? or eax, ebx
 eb 42 ?? jmp basic block L16

L5: f6 46 0c 83 ?? test byte ds:[esi + 12], 0x83<131,-125>
 74 37 ?? je basic block L15

L6: 56 ?? push esi
 e8 3a f9 ff ff ?? call function 0x00407147

L7: 56 ?? push esi
 8b d8 ?? mov ebx, eax
 e8 7a 83 00 00 ?? call function 0x0040fb8f

L8: 56 ?? push esi
 e8 a5 78 00 00 ?? call function 0x0040f0c0

L9: 50 ?? push eax
 e8 18 8c 00 00 ?? call function 0x00410439

L10: 83 c4 10 ?? add esp, 0x10<16>
 85 c0 ?? test eax, eax
 7d 05 ?? jge basic block L12

L11: 83 cb ff ?? or ebx, 0xff<255,-1>
 eb 11 ?? jmp basic block L15

L12: 8b 46 1c ?? mov eax, dword ds:[esi + 0x1c<28>]
 3b c7 ?? cmp eax, edi
 74 0a ?? je basic block L15

L13: 50 ?? push eax
 e8 d2 f1 ff ff ?? call function 0x00406a0c

L14: 59 ?? pop ecx
 89 7e 1c ?? mov dword ds:[esi + 0x1c<28>], edi

L15: 89 7e 0c ?? mov dword ds:[esi + 12], edi
 8b c3 ?? mov eax, ebx

L16: 5f ?? pop edi
 5e ?? pop esi
 5b ?? pop ebx
 5d ?? pop ebp
 c3 ?? ret

