
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 18 ?? sub esp, 0x18<24>
 53 ?? push ebx
 8b 5d 0c ?? mov ebx, dword ss:[ebp + 12]
 56 ?? push esi
 8b 73 08 ?? mov esi, dword ds:[ebx + 8]
 33 35 10 33 42 00 ?? xor esi, dword ds:[0x00423310]
 57 ?? push edi
 8b 06 ?? mov eax, dword ds:[esi]
 c6 45 ff 00 ?? mov byte ss:[ebp + 0xff<255,-1>], 0
 c7 45 f4 01 00 00 00 ?? mov dword ss:[ebp + 0xf4<244,-12>], 1
 8d 7b 10 ?? lea edi, ds:[ebx + 0x10<16>]
 83 f8 fe ?? cmp eax, 0xfe<254,-2>
 74 0d ?? je basic block L3

L2: 8b 4e 04 ?? mov ecx, dword ds:[esi + 4]
 03 cf ?? add ecx, edi
 33 0c 38 ?? xor ecx, dword ds:[eax + edi]
 e8 64 9f 00 00 ?? call function 0x0040d02d

L3: 8b 4e 0c ?? mov ecx, dword ds:[esi + 12]
 8b 46 08 ?? mov eax, dword ds:[esi + 8]
 03 cf ?? add ecx, edi
 33 0c 38 ?? xor ecx, dword ds:[eax + edi]
 e8 54 9f 00 00 ?? call function 0x0040d02d

L4: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
 f6 40 04 66 ?? test byte ds:[eax + 4], 0x66<102>
 0f 85 16 01 00 00 ?? jne basic block L33

L5: 8b 4d 10 ?? mov ecx, dword ss:[ebp + 0x10<16>]
 8d 55 e8 ?? lea edx, ss:[ebp + 0xe8<232,-24>]
 89 53 fc ?? mov dword ds:[ebx + 0xfc<252,-4>], edx
 8b 5b 0c ?? mov ebx, dword ds:[ebx + 12]
 89 45 e8 ?? mov dword ss:[ebp + 0xe8<232,-24>], eax
 89 4d ec ?? mov dword ss:[ebp + 0xec<236,-20>], ecx
 83 fb fe ?? cmp ebx, 0xfe<254,-2>
 74 5f ?? je basic block L17

L6: 8d 49 00 ?? lea ecx, ds:[ecx + 0]

L7: 8d 04 5b ?? lea eax, ds:[ebx + ebx * 2]
 8b 4c 86 14 ?? mov ecx, dword ds:[esi + eax * 4 + 0x14<20>]
 8d 44 86 10 ?? lea eax, ds:[esi + eax * 4 + 0x10<16>]
 89 45 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], eax
 8b 00 ?? mov eax, dword ds:[eax]
 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
 85 c9 ?? test ecx, ecx
 74 14 ?? je basic block L12

L8: 8b d7 ?? mov edx, edi
 e8 94 5c 00 00 ?? call function 0x00408db2

L9: c6 45 ff 01 ?? mov byte ss:[ebp + 0xff<255,-1>], 1
 85 c0 ?? test eax, eax
 7c 40 ?? jl basic block L18

L10: 7f 47 ?? jg basic block L19

L11: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]

L12: 8b d8 ?? mov ebx, eax
 83 f8 fe ?? cmp eax, 0xfe<254,-2>
 75 ce ?? jne basic block L7

L13: 80 7d ff 00 ?? cmp byte ss:[ebp + 0xff<255,-1>], 0
 74 24 ?? je basic block L17

L14: 8b 06 ?? mov eax, dword ds:[esi]
 83 f8 fe ?? cmp eax, 0xfe<254,-2>
 74 0d ?? je basic block L16

L15: 8b 4e 04 ?? mov ecx, dword ds:[esi + 4]
 03 cf ?? add ecx, edi
 33 0c 38 ?? xor ecx, dword ds:[eax + edi]
 e8 e1 9e 00 00 ?? call function 0x0040d02d

L16: 8b 4e 0c ?? mov ecx, dword ds:[esi + 12]
 8b 56 08 ?? mov edx, dword ds:[esi + 8]
 03 cf ?? add ecx, edi
 33 0c 3a ?? xor ecx, dword ds:[edx + edi]
 e8 d1 9e 00 00 ?? call function 0x0040d02d

L17: 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
 5f ?? pop edi
 5e ?? pop esi
 5b ?? pop ebx
 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

L18: c7 45 f4 00 00 00 00 ?? mov dword ss:[ebp + 0xf4<244,-12>], 0
 eb c9 ?? jmp basic block L14

L19: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
 81 39 63 73 6d e0 ?? cmp dword ds:[ecx], 0xe06d7363
 75 29 ?? jne basic block L25

L20: 83 3d c4 4b 42 00 00 ?? cmp dword ds:[0x00424bc4], 0
 74 20 ?? je basic block L25

L21: 68 c4 4b 42 00 ?? push 0x00424bc4
 e8 43 60 00 00 ?? call function 0x004091d0

L22: 83 c4 04 ?? add esp, 4
 85 c0 ?? test eax, eax
 74 0f ?? je basic block L25

L23: 8b 55 08 ?? mov edx, dword ss:[ebp + 8]
 6a 01 ?? push 1
 52 ?? push edx
 ff 15 c4 4b 42 00 ?? call dword ds:[0x00424bc4]

L24: 83 c4 08 ?? add esp, 8

L25: 8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
 e8 37 5c 00 00 ?? call function 0x00408de2

L26: 8b 45 0c ?? mov eax, dword ss:[ebp + 12]
 39 58 0c ?? cmp dword ds:[eax + 12], ebx
 74 12 ?? je basic block L29

L27: 68 10 33 42 00 ?? push 0x00423310
 57 ?? push edi
 8b d3 ?? mov edx, ebx
 8b c8 ?? mov ecx, eax
 e8 3a 5c 00 00 ?? call function 0x00408dfc

L28: 8b 45 0c ?? mov eax, dword ss:[ebp + 12]

L29: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
 89 48 0c ?? mov dword ds:[eax + 12], ecx
 8b 06 ?? mov eax, dword ds:[esi]
 83 f8 fe ?? cmp eax, 0xfe<254,-2>
 74 0d ?? je basic block L31

L30: 8b 4e 04 ?? mov ecx, dword ds:[esi + 4]
 03 cf ?? add ecx, edi
 33 0c 38 ?? xor ecx, dword ds:[eax + edi]
 e8 4e 9e 00 00 ?? call function 0x0040d02d

L31: 8b 4e 0c ?? mov ecx, dword ds:[esi + 12]
 8b 56 08 ?? mov edx, dword ds:[esi + 8]
 03 cf ?? add ecx, edi
 33 0c 3a ?? xor ecx, dword ds:[edx + edi]
 e8 3e 9e 00 00 ?? call function 0x0040d02d

L32: 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
 8b 48 08 ?? mov ecx, dword ds:[eax + 8]
 8b d7 ?? mov edx, edi
 e8 cd 5b 00 00 ?? call function 0x00408dc9

L33: ba fe ff ff ff ?? mov edx, 0xfffffffe<4294967294,-2>
 39 53 0c ?? cmp dword ds:[ebx + 12], edx
 0f 84 52 ff ff ff ?? je basic block L17

L34: 68 10 33 42 00 ?? push 0x00423310
 57 ?? push edi
 8b cb ?? mov ecx, ebx
 e8 e5 5b 00 00 ?? call function 0x00408dfc

L35: e9 1c ff ff ff ?? jmp basic block L14

