
L1: 8b ff ?? mov edi, edi
 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 14 ?? sub esp, 0x14<20>
 a1 3c 80 42 00 ?? mov eax, dword ds:[0x0042803c]
 33 c5 ?? xor eax, ebp
 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
 53 ?? push ebx
 56 ?? push esi
 33 db ?? xor ebx, ebx
 57 ?? push edi
 8b f1 ?? mov esi, ecx
 39 1d 14 9b 42 00 ?? cmp dword ds:[0x00429b14], ebx
 75 38 ?? jne basic block L8

L2: 53 ?? push ebx
 53 ?? push ebx
 33 ff ?? xor edi, edi
 47 ?? inc edi
 57 ?? push edi
 68 84 5f 42 00 ?? push 0x00425f84
 68 00 01 00 00 ?? push 0x00000100<256>
 53 ?? push ebx
 ff 15 c4 a2 42 00 ?? call dword ds:[0x0042a2c4]

L3: 85 c0 ?? test eax, eax
 74 08 ?? je basic block L5

L4: 89 3d 14 9b 42 00 ?? mov dword ds:[0x00429b14], edi
 eb 15 ?? jmp basic block L8

L5: ff 15 bc a1 42 00 ?? call dword ds:[0x0042a1bc]

L6: 83 f8 78 ?? cmp eax, 0x78<120>
 75 0a ?? jne basic block L8

L7: c7 05 14 9b 42 00 02 00 ?? mov dword ds:[0x00429b14], 2
 00 00

L8: 39 5d 14 ?? cmp dword ss:[ebp + 0x14<20>], ebx
 7e 22 ?? jle basic block L16

L9: 8b 4d 14 ?? mov ecx, dword ss:[ebp + 0x14<20>]
 8b 45 10 ?? mov eax, dword ss:[ebp + 0x10<16>]

L10: 49 ?? dec ecx
 38 18 ?? cmp byte ds:[eax], bl
 74 08 ?? je basic block L13

L11: 40 ?? inc eax
 3b cb ?? cmp ecx, ebx
 75 f6 ?? jne basic block L10

L12: 83 c9 ff ?? or ecx, 0xff<255,-1>

L13: 8b 45 14 ?? mov eax, dword ss:[ebp + 0x14<20>]
 2b c1 ?? sub eax, ecx
 48 ?? dec eax
 3b 45 14 ?? cmp eax, dword ss:[ebp + 0x14<20>]
 7d 01 ?? jge basic block L15

L14: 40 ?? inc eax

L15: 89 45 14 ?? mov dword ss:[ebp + 0x14<20>], eax

L16: a1 14 9b 42 00 ?? mov eax, dword ds:[0x00429b14]
 83 f8 02 ?? cmp eax, 2
 0f 84 ac 01 00 00 ?? je basic block L68

L17: 3b c3 ?? cmp eax, ebx
 0f 84 a4 01 00 00 ?? je basic block L68

L18: 83 f8 01 ?? cmp eax, 1
 0f 85 cc 01 00 00 ?? jne basic block L74

L19: 89 5d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ebx
 39 5d 20 ?? cmp dword ss:[ebp + 0x20<32>], ebx
 75 08 ?? jne basic block L21

L20: 8b 06 ?? mov eax, dword ds:[esi]
 8b 40 04 ?? mov eax, dword ds:[eax + 4]
 89 45 20 ?? mov dword ss:[ebp + 0x20<32>], eax

L21: 8b 35 b8 a2 42 00 ?? mov esi, dword ds:[0x0042a2b8]
 33 c0 ?? xor eax, eax
 39 5d 24 ?? cmp dword ss:[ebp + 0x24<36>], ebx
 53 ?? push ebx
 53 ?? push ebx
 ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
 0f 95 c0 ?? setne al
 ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
 8d 04 c5 01 00 00 00 ?? lea eax, ds:[1 + eax * 8]
 50 ?? push eax
 ff 75 20 ?? push dword ss:[ebp + 0x20<32>]
 ff d6 ?? call esi

L22: 8b f8 ?? mov edi, eax
 3b fb ?? cmp edi, ebx
 0f 84 8f 01 00 00 ?? je basic block L74

L23: 7e 43 ?? jle basic block L34

L24: 6a e0 ?? push 0xe0<224,-32>
 33 d2 ?? xor edx, edx
 58 ?? pop eax
 f7 f7 ?? div edi
 83 f8 02 ?? cmp eax, 2
 72 37 ?? jb basic block L34

L25: 8d 44 3f 08 ?? lea eax, ds:[edi + edi + 8]
 3d 00 04 00 00 ?? cmp eax, 0x00000400<1024>
 77 13 ?? ja basic block L29

L26: e8 78 1a 00 00 ?? call function 0x00416db0

L27: 8b c4 ?? mov eax, esp
 3b c3 ?? cmp eax, ebx
 74 1c ?? je basic block L33

L28: c7 00 cc cc 00 00 ?? mov dword ds:[eax], 0x0000cccc<52428>
 eb 11 ?? jmp basic block L32

L29: 50 ?? push eax
 e8 8f cc fe ff ?? call function 0x00401fdb

L30: 59 ?? pop ecx
 3b c3 ?? cmp eax, ebx
 74 09 ?? je basic block L33

L31: c7 00 dd dd 00 00 ?? mov dword ds:[eax], 0x0000dddd<56797>

L32: 83 c0 08 ?? add eax, 8

L33: 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
 eb 03 ?? jmp basic block L35

L34: 89 5d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], ebx

L35: 39 5d f4 ?? cmp dword ss:[ebp + 0xf4<244,-12>], ebx
 0f 84 3e 01 00 00 ?? je basic block L74

L36: 57 ?? push edi
 ff 75 f4 ?? push dword ss:[ebp + 0xf4<244,-12>]
 ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
 ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
 6a 01 ?? push 1
 ff 75 20 ?? push dword ss:[ebp + 0x20<32>]
 ff d6 ?? call esi

L37: 85 c0 ?? test eax, eax
 0f 84 e3 00 00 00 ?? je basic block L66

L38: 8b 35 c4 a2 42 00 ?? mov esi, dword ds:[0x0042a2c4]
 53 ?? push ebx
 53 ?? push ebx
 57 ?? push edi
 ff 75 f4 ?? push dword ss:[ebp + 0xf4<244,-12>]
 ff 75 0c ?? push dword ss:[ebp + 12]
 ff 75 08 ?? push dword ss:[ebp + 8]
 ff d6 ?? call esi

L39: 8b c8 ?? mov ecx, eax
 89 4d f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], ecx
 3b cb ?? cmp ecx, ebx
 0f 84 c2 00 00 00 ?? je basic block L66

L40: f7 45 0c 00 04 00 00 ?? test dword ss:[ebp + 12], 0x00000400<1024>
 74 29 ?? je basic block L45

L41: 39 5d 1c ?? cmp dword ss:[ebp + 0x1c<28>], ebx
 0f 84 b0 00 00 00 ?? je basic block L66

L42: 3b 4d 1c ?? cmp ecx, dword ss:[ebp + 0x1c<28>]
 0f 8f a7 00 00 00 ?? jg basic block L66

L43: ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
 ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
 57 ?? push edi
 ff 75 f4 ?? push dword ss:[ebp + 0xf4<244,-12>]
 ff 75 0c ?? push dword ss:[ebp + 12]
 ff 75 08 ?? push dword ss:[ebp + 8]
 ff d6 ?? call esi

L44: e9 90 00 00 00 ?? jmp basic block L66

L45: 3b cb ?? cmp ecx, ebx
 7e 45 ?? jle basic block L55

L46: 6a e0 ?? push 0xe0<224,-32>
 33 d2 ?? xor edx, edx
 58 ?? pop eax
 f7 f1 ?? div ecx
 83 f8 02 ?? cmp eax, 2
 72 39 ?? jb basic block L55

L47: 8d 44 09 08 ?? lea eax, ds:[ecx + ecx + 8]
 3d 00 04 00 00 ?? cmp eax, 0x00000400<1024>
 77 16 ?? ja basic block L51

L48: e8 b9 19 00 00 ?? call function 0x00416db0

L49: 8b f4 ?? mov esi, esp
 3b f3 ?? cmp esi, ebx
 74 6a ?? je basic block L66

L50: c7 06 cc cc 00 00 ?? mov dword ds:[esi], 0x0000cccc<52428>
 83 c6 08 ?? add esi, 8
 eb 1a ?? jmp basic block L56

L51: 50 ?? push eax
 e8 cd cb fe ff ?? call function 0x00401fdb

L52: 59 ?? pop ecx
 3b c3 ?? cmp eax, ebx
 74 09 ?? je basic block L54

L53: c7 00 dd dd 00 00 ?? mov dword ds:[eax], 0x0000dddd<56797>
 83 c0 08 ?? add eax, 8

L54: 8b f0 ?? mov esi, eax
 eb 02 ?? jmp basic block L56

L55: 33 f6 ?? xor esi, esi

L56: 3b f3 ?? cmp esi, ebx
 74 41 ?? je basic block L66

L57: ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
 56 ?? push esi
 57 ?? push edi
 ff 75 f4 ?? push dword ss:[ebp + 0xf4<244,-12>]
 ff 75 0c ?? push dword ss:[ebp + 12]
 ff 75 08 ?? push dword ss:[ebp + 8]
 ff 15 c4 a2 42 00 ?? call dword ds:[0x0042a2c4]

L58: 85 c0 ?? test eax, eax
 74 22 ?? je basic block L64

L59: 53 ?? push ebx
 53 ?? push ebx
 39 5d 1c ?? cmp dword ss:[ebp + 0x1c<28>], ebx
 75 04 ?? jne basic block L61

L60: 53 ?? push ebx
 53 ?? push ebx
 eb 06 ?? jmp basic block L62

L61: ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
 ff 75 18 ?? push dword ss:[ebp + 0x18<24>]

L62: ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
 56 ?? push esi
 53 ?? push ebx
 ff 75 20 ?? push dword ss:[ebp + 0x20<32>]
 ff 15 2c a2 42 00 ?? call dword ds:[0x0042a22c]

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

L64: 56 ?? push esi
 e8 27 b5 ff ff ?? call function 0x0041098d

L65: 59 ?? pop ecx

L66: ff 75 f4 ?? push dword ss:[ebp + 0xf4<244,-12>]
 e8 1e b5 ff ff ?? call function 0x0041098d

L67: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
 59 ?? pop ecx
 e9 59 01 00 00 ?? jmp basic block L111

L68: 89 5d f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], ebx
 89 5d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], ebx
 39 5d 08 ?? cmp dword ss:[ebp + 8], ebx
 75 08 ?? jne basic block L70

L69: 8b 06 ?? mov eax, dword ds:[esi]
 8b 40 14 ?? mov eax, dword ds:[eax + 0x14<20>]
 89 45 08 ?? mov dword ss:[ebp + 8], eax

L70: 39 5d 20 ?? cmp dword ss:[ebp + 0x20<32>], ebx
 75 08 ?? jne basic block L72

L71: 8b 06 ?? mov eax, dword ds:[esi]
 8b 40 04 ?? mov eax, dword ds:[eax + 4]
 89 45 20 ?? mov dword ss:[ebp + 0x20<32>], eax

L72: ff 75 08 ?? push dword ss:[ebp + 8]
 e8 06 1e 00 00 ?? call function 0x004172a6

L73: 59 ?? pop ecx
 89 45 ec ?? mov dword ss:[ebp + 0xec<236,-20>], eax
 83 f8 ff ?? cmp eax, 0xff<255,-1>
 75 07 ?? jne basic block L75

L74: 33 c0 ?? xor eax, eax
 e9 21 01 00 00 ?? jmp basic block L111

L75: 3b 45 20 ?? cmp eax, dword ss:[ebp + 0x20<32>]
 0f 84 db 00 00 00 ?? je basic block L101

L76: 53 ?? push ebx
 53 ?? push ebx
 8d 4d 14 ?? lea ecx, ss:[ebp + 0x14<20>]
 51 ?? push ecx
 ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
 50 ?? push eax
 ff 75 20 ?? push dword ss:[ebp + 0x20<32>]
 e8 24 1e 00 00 ?? call function 0x004172ef

L77: 83 c4 18 ?? add esp, 0x18<24>
 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
 3b c3 ?? cmp eax, ebx
 74 d4 ?? je basic block L74

L78: 8b 35 c0 a2 42 00 ?? mov esi, dword ds:[0x0042a2c0]
 53 ?? push ebx
 53 ?? push ebx
 ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
 50 ?? push eax
 ff 75 0c ?? push dword ss:[ebp + 12]
 ff 75 08 ?? push dword ss:[ebp + 8]
 ff d6 ?? call esi

L79: 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
 3b c3 ?? cmp eax, ebx
 75 07 ?? jne basic block L81

L80: 33 f6 ?? xor esi, esi
 e9 b7 00 00 00 ?? jmp basic block L103

L81: 7e 3d ?? jle basic block L91

L82: 83 f8 e0 ?? cmp eax, 0xe0<224,-32>
 77 38 ?? ja basic block L91

L83: 83 c0 08 ?? add eax, 8
 3d 00 04 00 00 ?? cmp eax, 0x00000400<1024>
 77 16 ?? ja basic block L87

L84: e8 a3 18 00 00 ?? call function 0x00416db0

L85: 8b fc ?? mov edi, esp
 3b fb ?? cmp edi, ebx
 74 dd ?? je basic block L80

L86: c7 07 cc cc 00 00 ?? mov dword ds:[edi], 0x0000cccc<52428>
 83 c7 08 ?? add edi, 8
 eb 1a ?? jmp basic block L92

L87: 50 ?? push eax
 e8 b7 ca fe ff ?? call function 0x00401fdb

L88: 59 ?? pop ecx
 3b c3 ?? cmp eax, ebx
 74 09 ?? je basic block L90

L89: c7 00 dd dd 00 00 ?? mov dword ds:[eax], 0x0000dddd<56797>
 83 c0 08 ?? add eax, 8

L90: 8b f8 ?? mov edi, eax
 eb 02 ?? jmp basic block L92

L91: 33 ff ?? xor edi, edi

L92: 3b fb ?? cmp edi, ebx
 74 b4 ?? je basic block L80

L93: ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
 53 ?? push ebx
 57 ?? push edi
 e8 7a c5 ff ff ?? call function 0x00411ac0

L94: 83 c4 0c ?? add esp, 12
 ff 75 f8 ?? push dword ss:[ebp + 0xf8<248,-8>]
 57 ?? push edi
 ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
 ff 75 f4 ?? push dword ss:[ebp + 0xf4<244,-12>]
 ff 75 0c ?? push dword ss:[ebp + 12]
 ff 75 08 ?? push dword ss:[ebp + 8]
 ff d6 ?? call esi

L95: 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
 3b c3 ?? cmp eax, ebx
 75 04 ?? jne basic block L97

L96: 33 f6 ?? xor esi, esi
 eb 25 ?? jmp basic block L99

L97: ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
 8d 45 f8 ?? lea eax, ss:[ebp + 0xf8<248,-8>]
 ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
 50 ?? push eax
 57 ?? push edi
 ff 75 20 ?? push dword ss:[ebp + 0x20<32>]
 ff 75 ec ?? push dword ss:[ebp + 0xec<236,-20>]
 e8 73 1d 00 00 ?? call function 0x004172ef

L98: 8b f0 ?? mov esi, eax
 89 75 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], esi
 83 c4 18 ?? add esp, 0x18<24>
 f7 de ?? neg esi
 1b f6 ?? sbb esi, esi
 23 75 f8 ?? and esi, dword ss:[ebp + 0xf8<248,-8>]

L99: 57 ?? push edi
 e8 fc b3 ff ff ?? call function 0x0041098d

L100: 59 ?? pop ecx
 eb 1a ?? jmp basic block L103

L101: ff 75 1c ?? push dword ss:[ebp + 0x1c<28>]
 ff 75 18 ?? push dword ss:[ebp + 0x18<24>]
 ff 75 14 ?? push dword ss:[ebp + 0x14<20>]
 ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
 ff 75 0c ?? push dword ss:[ebp + 12]
 ff 75 08 ?? push dword ss:[ebp + 8]
 ff 15 c0 a2 42 00 ?? call dword ds:[0x0042a2c0]

L102: 8b f0 ?? mov esi, eax

L103: 39 5d f4 ?? cmp dword ss:[ebp + 0xf4<244,-12>], ebx
 74 09 ?? je basic block L106

L104: ff 75 f4 ?? push dword ss:[ebp + 0xf4<244,-12>]
 e8 ec c3 fe ff ?? call function 0x004019a7

L105: 59 ?? pop ecx

L106: 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
 3b c3 ?? cmp eax, ebx
 74 0c ?? je basic block L110

L107: 39 45 18 ?? cmp dword ss:[ebp + 0x18<24>], eax
 74 07 ?? je basic block L110

L108: 50 ?? push eax
 e8 d9 c3 fe ff ?? call function 0x004019a7

L109: 59 ?? pop ecx

L110: 8b c6 ?? mov eax, esi

L111: 8d 65 e0 ?? lea esp, ss:[ebp + 0xe0<224,-32>]
 5f ?? pop edi
 5e ?? pop esi
 5b ?? pop ebx
 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 33 cd ?? xor ecx, ebp
 e8 b7 c1 fe ff ?? call function 0x00401798

L112: c9 ?? leave
 c3 ?? ret

