Function at 0x603f20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov eax, esp
sub eax, 0x1650
jb 0x605171
cmp eax, dword [ecx + 8]
jbe 0x605171
sub esp, 0x16d0
lea eax, [0x7347e0]
mov dword [esp], eax
mov ecx, dword [esp + 0x16e4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x16c0], eax
lea ecx, [0x7347e0]
mov dword [esp], ecx
mov edx, dword [esp + 0x16e4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x16bc], eax
lea ecx, [0x749280]
mov dword [esp], ecx
mov edx, dword [esp + 0x16e4]
lea ebx, [edx + 0x3f]
shl ebx, 4
shr ebx, 6
mov dword [esp + 0x88], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x16b8], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x90], ecx
lea edx, [0x7347e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004426a0
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x16c4], ecx
mov dword [esp + 0x16c8], eax
mov dword [esp + 0x16cc], eax
nop
mov eax, dword [esp + 0x16e4]
cmp eax, 0x40
jb 0x604027
mov eax, 0x40
mov dword [esp + 0x58], eax
lea ecx, [0x749280]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x16b4], eax
lea ecx, [0x74cb00]
mov dword [esp], ecx
mov dword [esp + 4], 0x801
mov dword [esp + 8], 0x801
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x16b0], eax
lea edi, [esp + 0xf4]
xor eax, eax
call fcn.00456d20
lea edi, [esp + 0x1f4]
call fcn.00456d20
lea edi, [esp + 0x2f4]
call fcn.00456d20
lea edi, [esp + 0x3f4]
call fcn.00456d20
mov ecx, dword [esp + 0x16bc]
mov edx, dword [esp + 0x16e4]
xor ebx, ebx
jmp 0x6040c1
mov dword [ecx + ebx*4], 0
inc ebx
cmp edx, ebx
jle 0x6040cc
ja 0x6040b9
jmp 0x605167
mov ebx, dword [esp + 0x16ec]
mov ebp, dword [esp + 0x16e8]
mov esi, dword [esp + 0x16e0]
xor edi, edi
xor eax, eax
mov dword [esp + 0x60], eax
xor eax, eax
jmp 0x604108
mov edi, dword [esp + 0x16e8]
mov edi, edx
mov dword [esp + 0x60], ebp
mov edx, dword [esp + 0x16e4]
mov ebp, dword [esp + 0x16e8]
cmp esi, edi
jbe 0x604162
mov ebp, dword [esp + 0x60]
cmp edx, ebp
jbe 0x60514f
inc dword [ecx + ebp*4]
lea edx, [edi + 1]
cmp esi, edx
je 0x604152
cmp ebx, edi
jbe 0x605146
mov esi, dword [esp + 0x16e8]
movzx ebp, byte [esi + edi]
cmp ebx, edx
jbe 0x60513d
lea esi, [edi + esi + 1]
xchg ebp, eax
cmp byte [esi], al
xchg ebp, eax
je 0x604155
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x16e0]
inc ebp
jmp 0x6040ed
mov esi, dword [esp + 0x16e0]
mov ebp, dword [esp + 0x60]
jmp 0x6040ed
mov ebx, dword [esp + 0x60]
cmp edx, ebx
jne 0x605125
mov ebp, dword [esp + 0x16d4]
mov esi, dword [esp + 0x16d8]
mov ebx, dword [esp + 0x16b4]
mov edi, dword [esp + 0x58]
xor eax, eax
mov dword [esp + 0xb8], eax
xor eax, eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xac], eax
mov dword [esp + 0xec], ecx
xor ecx, ecx
mov dword [esp + 0x64], ecx
xor ecx, ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x16b8]
mov dword [esp + 0x16a0], ecx
xor eax, eax
mov ecx, dword [esp + 0xec]
jmp 0x604226
mov eax, dword [esp + 0xb8]
add eax, 0x40
mov ebp, dword [esp + 0x16e4]
mov ebx, dword [esp + 0x16b4]
mov ebp, dword [esp + 0x16d4]
mov esi, dword [esp + 0x16d8]
mov edi, dword [esp + 0x58]
mov dword [esp + 0xb8], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0xa4], edx
xor eax, eax
mov ecx, dword [esp + 0x16bc]
mov edx, dword [esp + 0x16e4]
mov ebp, dword [esp + 0xb8]
cmp edx, ebp
jbe 0x6043c5
sub edx, ebp
cmp edx, 0x40
jb 0x604241
mov edx, 0x40
mov dword [esp + 0x54], edx
xor eax, eax
mov dword [esp + 0xb4], eax
xor eax, eax
jmp 0x604c46
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edi
lea eax, [esp + 0xf4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x40
mov dword [esp + 0x14], 0x40
lea ecx, [esp + 0x2f4]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0x40
mov dword [esp + 0x20], 0x40
lea ebp, [esp + 0x1f4]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], 0x40
mov dword [esp + 0x2c], 0x40
mov esi, dword [esp + 0x16b0]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], 0x801
mov dword [esp + 0x38], 0x801
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], 0x40
mov dword [esp + 0x48], 0x800
call fcn.0060fda0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x64]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0xac]
cmp ebx, edx
jae 0x60431a
test ebx, ebx
jne 0x604311
mov ebp, edx
jmp 0x604fbd
mov ebp, edx
mov edx, ebx
jmp 0x604fbd
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x16a0]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x16a0], esi
mov dword [esp + 0xac], ebx
mov edi, ebx
mov ebx, dword [esp + 0x90]
cmp ebx, edx
jae 0x604368
test ebx, ebx
jne 0x60434f
mov ebx, edx
jmp 0x604eda
mov dword [esp + 0xe4], eax
mov eax, ebx
mov ebx, edx
mov edx, eax
mov eax, dword [esp + 0xe4]
jmp 0x604eda
mov edx, dword [esp + 0x16b4]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xdc]
jmp 0x604d35
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xd4]
jmp 0x604e1b
mov edx, dword [esp + 0xa4]
add edx, eax
cmp ecx, edx
je 0x6041da
jmp 0x604e62
mov ebx, dword [esp + 0xa4]
mov ebp, ebx
shl ebx, 6
mov edi, ebp
shr ebp, 1
imul ebp, edi
cmp ebx, ebp
jb 0x6043de
mov ebx, ebp
mov dword [esp + 0x98], ebx
lea ebp, [ebx + 1]
cmp ebp, 0x801
ja 0x604405
mov ebp, 0x801
mov eax, dword [esp + 0x16b0]
mov dword [esp + 0x16a8], eax
jmp 0x60443b
mov dword [esp + 0xc8], ebp
lea eax, [0x74cb00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0xa4]
mov ebp, dword [esp + 0xc8]
mov dword [esp + 0x16a8], eax
mov dword [esp + 0xa0], ebp
lea eax, [0x7347e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xa4]
xor edx, edx
jmp 0x60446b
mov dword [eax + edx*4], edx
inc edx
cmp edx, ecx
jb 0x604467
mov dword [esp + 0x16b8], eax
mov edx, dword [esp + 0x16c4]
mov ebx, dword [esp + 0x16c8]
mov ebp, dword [esp + 0x16cc]
mov esi, dword [esp + 0x16a0]
mov dword [esp], esi
mov edi, dword [esp + 0x7c]
mov dword [esp + 4], edi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x16c0]
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x16e4]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov ebp, dword [esp + 0x16a8]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], 0x100
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x48], ebp
call fcn.0060fda0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x16c4], 0
mov dword [esp + 0x16c8], 0
mov dword [esp + 0x16cc], 0
lea ecx, [0x7347e0]
mov dword [esp], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xa4]
xor edx, edx
jmp 0x604569
mov dword [eax + edx*4], ebx
inc edx
cmp edx, ecx
jae 0x60457a
mov ebx, dword [0x673118]
jb 0x604565
jmp 0x604be6
mov dword [esp + 0x16b4], eax
mov ebx, dword [esp + 0x16e4]
mov ebp, dword [esp + 0x16bc]
mov esi, dword [esp + 0x16d4]
mov edx, dword [esp + 0x16d8]
xor edi, edi
xor edi, edi
mov dword [esp + 0x84], edi
xor edi, edi
mov dword [esp + 0x68], edi
xor edi, edi
jmp 0x6045e5
mov esi, dword [esp + 0xb8]
inc esi
mov eax, ebp
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x16d8]
mov ebp, dword [esp + 0x16bc]
mov edi, esi
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x16e4]
mov esi, dword [esp + 0x16d4]
cmp ebx, edi
jbe 0x604726
mov dword [esp + 0xb8], edi
lea edi, [esp + 0x4f4]
mov ecx, 0x46b
mov eax, 0
rep stosd dword es:[edi], eax
lea edi, [esp + 0x4f4]
mov ecx, 0x468
rep stosd dword es:[edi], eax
mov dword [esp + 0x1694], 0
movsd xmm0, qword [0x7c9e6c]
movsd qword [esp + 0x1698], xmm0
mov ecx, dword [esp + 0xb8]
mov edi, dword [esp + 0x84]
mov eax, 0
mov dword [esp + 0xb0], eax
mov eax, 0
jmp 0x604abe
test ecx, ecx
jne 0x604664
mov ebx, dword [esp + 0x16c0]
mov ebp, dword [ebx]
jmp 0x60466f
mov ebx, dword [esp + 0x16c0]
mov ebp, dword [ebx + ecx*4 - 4]
mov esi, dword [esp + 0x7c]
cmp ebp, esi
jae 0x604bbf
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x84], edi
lea eax, [esp + 0x4f4]
mov dword [esp], eax
imul ecx, ebp, 0x11ac
mov edx, dword [esp + 0x16a0]
add ecx, edx
mov dword [esp + 4], ecx
call fcn.00610600
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x16b8]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x16a0]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xa4]
mov esi, dword [esp + 0x6c]
xor edi, edi
jmp 0x604b17
mov edi, ebx
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x16c0]
mov dword [ebp + ebx*4], esi
mov ebp, dword [esp + 0xa4]
cmp esi, ebp
jae 0x604ba4
mov ebp, dword [esp + 0x16b4]
mov ebx, dword [ebp + esi*4]
cmp dword [0x673118], ebx
jne 0x60471d
mov ebx, dword [esp + 0x68]
mov dword [ebp + esi*4], ebx
inc ebx
jmp 0x6045b2
mov ebx, dword [esp + 0x68]
jmp 0x6045b2
mov esi, dword [esp + 0x16f4]
mov edi, dword [esi + 0x20]
cmp ebx, edi
jbe 0x604748
test edi, edi
jne 0x60473f
mov edx, ebx
jmp 0x6049a2
mov edx, ebx
mov ebx, edi
jmp 0x6049a2
mov edi, dword [esi + 0x24]
cmp ebx, edi
jbe 0x604763
test edi, edi
jne 0x60475a
mov edx, ebx
jmp 0x6048af
mov edx, ebx
mov ebx, edi
jmp 0x6048af
mov edx, dword [esp + 0x16c0]
xor edi, edi
xor edi, edi
mov dword [esp + 0x9c], edi
xor edi, edi
mov dword [esp + 0x5c], edi
xor edi, edi
xchg edi, eax
mov byte [esp + 0x53], al
xchg edi, eax
xor edi, edi
jmp 0x6047bb
mov edi, dword [esp + 0x16c0]
mov edx, edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x53], bl
mov ebx, dword [esp + 0x16e4]
mov ebp, dword [esp + 0x16bc]
mov esi, dword [esp + 0x16f4]
cmp ebx, edi
jbe 0x60486d
mov esi, dword [esp + 0x9c]
add esi, dword [ebp + edi*4]
lea ebp, [edi + 1]
mov dword [esp + 0xc8], ebp
cmp ebx, ebp
je 0x6047fc
mov ebx, dword [edx + edi*4]
jbe 0x60489f
lea ebp, [edx + edi*4 + 4]
cmp dword [ebp], ebx
je 0x604858
mov ebx, dword [esp + 0x16e4]
mov ebp, dword [esp + 0xc8]
mov edi, dword [edx + edi*4]
cmp ecx, edi
jbe 0x604898
mov dword [esp + 0xc4], esi
mov edi, dword [eax + edi*4]
mov edx, dword [esp + 0x16f4]
mov ebx, dword [edx + 0xc]
mov ebp, dword [edx + 8]
mov esi, dword [esp + 0x5c]
cmp esi, ebx
jae 0x60488f
xchg edi, eax
mov byte [ebp + esi], al
xchg edi, eax
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x14]
cmp esi, ebx
jae 0x604886
mov ebx, dword [esp + 0xc4]
mov dword [ebp + esi*4], ebx
movzx ebx, byte [esp + 0x53]
xchg edi, eax
cmp bl, al
xchg edi, eax
ja 0x60484e
mov ebx, edi
lea ebp, [esi + 1]
xor esi, esi
jmp 0x604787
mov edx, dword [esp + 0x16f4]
mov ebp, dword [esp + 0x5c]
movzx ebx, byte [esp + 0x53]
jmp 0x604787
mov eax, dword [esp + 0x5c]
mov dword [esi + 4], eax
movzx eax, byte [esp + 0x53]
movzx eax, al
inc eax
mov dword [esi], eax
add esp, 0x16d0
ret
mov eax, esi
mov ecx, ebx
call fcn.00456b50
mov eax, esi
mov ecx, ebx
call fcn.00456b50
mov eax, edi
call fcn.00456b50
mov eax, ebp
mov ecx, dword [esp + 0x16e4]
call fcn.00456b50
shl ebx, 1
cmp edx, ebx
ja 0x6048ad
mov edi, dword [esi + 0x1c]
cmp ebx, edi
jg 0x6048c8
ja 0x604997
mov dword [esi + 0x18], ebx
jmp 0x604984
mov dword [esp + 0x70], ebx
lea eax, [0x7347e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x16f4]
mov edx, dword [ecx + 0x24]
test edx, edx
je 0x60493e
mov ebx, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x1c]
cmp ebp, edx
jb 0x60498e
mov ebp, dword [esp + 0x70]
cmp ebp, edx
jg 0x60490c
mov edx, ebp
cmp ebx, eax
je 0x604942
mov dword [esp + 0x16b8], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
shl edx, 2
mov dword [esp + 8], edx
call fcn.00457450
mov eax, dword [esp + 0x16b8]
mov ecx, dword [esp + 0x16f4]
mov ebp, dword [esp + 0x70]
jmp 0x604942
mov ebp, dword [esp + 0x70]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x1c], ebp
mov edx, dword [0x901e80]
test edx, edx
jne 0x604957
mov dword [ecx + 0x14], eax
jmp 0x60495f
lea edi, [ecx + 0x14]
call fcn.00456ac0
mov eax, dword [esp + 0x16b4]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x16e4]
mov ebx, ebp
mov ebp, dword [esp + 0x16bc]
mov esi, dword [esp + 0x16f4]
mov dword [esi + 0x24], ebx
mov ebx, edx
jmp 0x604763
mov ecx, edx
mov edx, ebp
call fcn.00456b90
mov ecx, ebx
mov edx, edi
call fcn.00456b90
shl ebx, 1
cmp edx, ebx
ja 0x6049a0
mov edi, dword [esi + 0x10]
cmp ebx, edi
jg 0x6049bb
ja 0x604a87
mov dword [esi + 0xc], ebx
jmp 0x604a74
mov dword [esp + 0x74], ebx
lea eax, [0x734860]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x16f4]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x604a2e
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 0x10]
cmp ebp, edx
jb 0x604a7e
mov ebp, dword [esp + 0x74]
cmp ebp, edx
jg 0x6049ff
mov edx, ebp
cmp ebx, eax
je 0x604a32
mov dword [esp + 0x16b8], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00457450
mov eax, dword [esp + 0x16b8]
mov ecx, dword [esp + 0x16f4]
mov ebp, dword [esp + 0x74]
jmp 0x604a32
mov ebp, dword [esp + 0x74]
mov dword [ecx + 0xc], ebp
mov dword [ecx + 0x10], ebp
mov ebx, dword [0x901e80]
test ebx, ebx
jne 0x604a47
mov dword [ecx + 8], eax
jmp 0x604a4f
lea edi, [ecx + 8]
call fcn.00456ac0
mov eax, dword [esp + 0x16b4]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x16e4]
mov ebx, ebp
mov ebp, dword [esp + 0x16bc]
mov esi, dword [esp + 0x16f4]
mov dword [esi + 0x20], ebx
mov ebx, edx
jmp 0x604748
mov ecx, edx
mov edx, ebp
call fcn.00456b90
mov ecx, ebx
mov edx, edi
call fcn.00456b90
inc dword [esp + ebp*4 + 0x4f4]
inc dword [esp + 0x1694]
inc ebx
inc edi
mov ebp, dword [esp + 0x16e4]
cmp ebp, ecx
mov ebp, dword [esp + 0x16bc]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x16e4]
jbe 0x604bdd
lea ebp, [ebp + ecx*4]
mov ebx, dword [esp + 0xb0]
cmp dword [ebp], ebx
jbe 0x604655
cmp edx, edi
jbe 0x604bd4
nop
movzx ebp, word [esi + edi*2]
cmp ebp, 0x468
jb 0x604a90
jmp 0x604bc8
lea edi, [ebx + 1]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x16a0]
mov ebx, dword [esp + 0x7c]
mov eax, dword [esp + 0xa4]
mov eax, ebp
mov ebp, dword [esp + 0xa4]
cmp edi, ecx
jae 0x6046d9
cmp edi, ebp
jae 0x604bb6
mov ebp, dword [eax + edi*4]
cmp ebx, ebp
jbe 0x604bad
mov dword [esp + 0xb0], edi
movsd qword [esp + 0xcc], xmm0
mov dword [esp + 0x6c], esi
lea eax, [esp + 0x4f4]
mov dword [esp], eax
imul ecx, ebp, 0x11ac
add ecx, edx
mov dword [esp + 4], ecx
call fcn.00610600
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0xcc]
ucomisd xmm1, xmm0
jbe 0x604b89
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x16b8]
mov esi, dword [ebp + ebx*4]
jmp 0x604af2
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x16b8]
movsd xmm0, xmm1
mov esi, dword [esp + 0x6c]
jmp 0x604af2
mov eax, esi
mov ecx, ebp
call fcn.00456b50
mov eax, ebp
mov ecx, ebx
call fcn.00456b50
mov eax, edi
mov ecx, ebp
call fcn.00456b50
mov eax, ebp
mov ecx, esi
call fcn.00456b50
mov eax, ebp
mov ecx, 0x468
call fcn.00456b50
mov eax, edi
mov ecx, edx
call fcn.00456b50
mov eax, ecx
mov ecx, ebx
call fcn.00456b50
mov eax, edx
call fcn.00456b50
mov dword [esp + eax*4 + 0x1f4], eax
mov dword [esp + eax*4 + 0x2f4], eax
mov dword [esp + eax*4 + 0xf4], 1
inc eax
mov ebp, dword [esp + 0xb8]
mov edx, dword [esp + 0x16e4]
mov ebx, dword [esp + 0x16bc]
mov esi, dword [esp + 0x16d4]
mov edi, dword [esp + 0x16d8]
mov ecx, ebx
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x16b4]
mov esi, edi
mov edi, dword [esp + 0x58]
mov dword [esp + 0xb4], eax
xor eax, eax
mov esi, dword [esp + 0xb4]
cmp esi, edx
jae 0x604255
cmp esi, edi
jae 0x60511c
imul edx, esi, 0x11ac
mov dword [esp + 0xc0], edx
lea ebp, [ebx + edx]
mov edi, ebp
mov ecx, 0x468
rep stosd dword es:[edi], eax
mov dword [ebx + edx + 0x11a0], 0
movsd xmm0, qword [0x7c9e6c]
movsd qword [ebx + edx + 0x11a4], xmm0
mov ecx, ebp
lea ebp, [edx + ebx]
mov dword [esp + 0x16a4], ebp
mov edi, edx
lea edx, [ebx + edx + 0x11a0]
xor eax, eax
mov dword [esp + 0x8c], eax
xor eax, eax
jmp 0x605099
mov eax, dword [esp + 0x16a4]
mov dword [esp], eax
call fcn.00600080
movsd xmm0, qword [esp + 4]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x16b4]
movsd qword [ecx + eax + 0x11a4], xmm0
mov eax, dword [esp + 0xb4]
cmp eax, 0x40
jb 0x604bed
jmp 0x6050f4
mov dword [esp + ebx*4 + 0x3f4], edi
lea ecx, [edi + 1]
inc edx
mov ebp, dword [esp + 0x7c]
mov ebx, dword [esp + 0x16a0]
mov edi, dword [esp + 0x16b4]
mov ebx, esi
mov esi, dword [esp + 0x16a0]
mov edi, dword [esp + 0xac]
mov dword [esp + 0xb4], ecx
mov ecx, edx
mov edx, dword [esp + 0x16b4]
mov ebp, dword [esp + 0xb4]
cmp ebp, eax
jae 0x60438f
cmp ebp, 0x40
jae 0x604ecc
mov ebp, dword [esp + ebp*4 + 0x1f4]
cmp ebx, ebp
jbe 0x604ec3
imul ebp, ebp, 0x11ac
add ebp, edx
mov edx, dword [esp + 0x7c]
cmp edx, ecx
jbe 0x604eba
mov dword [esp + 0xa8], ecx
imul edx, ecx, 0x11ac
add edx, esi
mov edi, edx
mov esi, ebp
mov ecx, 0x46b
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + edx*4 + 0x1f4]
cmp ebp, 0x40
jae 0x604eae
mov ecx, dword [esp + 0x16c8]
mov esi, ebx
mov ebx, dword [esp + 0x16c4]
mov ebp, dword [esp + ebp*4 + 0xf4]
mov edi, edx
mov edx, dword [esp + 0xa8]
cmp edx, ecx
jae 0x604ea7
mov dword [ebx + edx*4], ebp
mov ebx, dword [esp + edi*4 + 0x1f4]
cmp ebx, 0x40
jb 0x604cf8
jmp 0x604e9b
mov edi, dword [esp + 0x16c0]
mov dword [edi + esi*4], ebx
inc edx
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0xa4]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x16a0]
mov edi, dword [esp + 0xac]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x16b4]
mov edx, dword [esp + 0xb4]
cmp edx, ebp
jae 0x6043af
mov ebx, dword [esp + 0xb8]
lea esi, [edx + ebx]
cmp edx, 0x40
jae 0x604e8f
mov ebx, dword [esp + edx*4 + 0x2f4]
cmp ebx, 0x40
jae 0x604e83
mov ebx, dword [esp + ebx*4 + 0x3f4]
mov ebp, dword [esp + 0xa4]
add ebx, ebp
mov ebp, dword [esp + 0x16e4]
cmp ebp, esi
ja 0x604de1
jmp 0x604e7a
lea eax, [0x7346e0]
mov dword [esp], eax
lea eax, [0x7ca28c]
mov dword [esp + 4], eax
call fcn.00430590
mov eax, esi
mov ecx, ebp
call fcn.00456b50
mov eax, ebx
mov ecx, 0x40
call fcn.00456b50
mov eax, edx
mov ecx, 0x40
call fcn.00456b50
mov eax, ebx
mov ecx, 0x40
call fcn.00456b50
mov eax, edx
call fcn.00456b50
mov eax, ebp
mov ecx, 0x40
call fcn.00456b50
mov eax, ecx
mov ecx, edx
call fcn.00456b50
mov eax, ebp
mov ecx, ebx
call fcn.00456b50
mov eax, ebp
mov ecx, 0x40
call fcn.00456b50
shl edx, 1
cmp edx, ebx
jb 0x604ed8
mov ebx, dword [esp + 0x16cc]
cmp edx, ebx
jg 0x604efb
ja 0x604fb2
mov dword [esp + 0x16c8], edx
jmp 0x604fa1
mov dword [esp + 0x78], edx
lea eax, [0x7347e0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x604f6b
mov ebx, dword [esp + 0x16c4]
mov edx, dword [esp + 0x16cc]
cmp edx, ecx
jb 0x604fad
mov edx, dword [esp + 0x78]
cmp edx, ecx
jg 0x604f40
mov ecx, edx
cmp ebx, eax
je 0x604f6f
mov dword [esp + 0x16b8], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.00457450
mov eax, dword [esp + 0x16b8]
mov edx, dword [esp + 0x78]
jmp 0x604f6f
mov edx, dword [esp + 0x78]
mov dword [esp + 0x16c8], edx
mov dword [esp + 0x16cc], edx
mov dword [esp + 0x16c4], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x16a0]
mov edi, dword [esp + 0xac]
mov dword [esp + 0x90], edx
jmp 0x604368
call fcn.00456b90
mov ecx, edx
mov edx, ebx
call fcn.00456b90
shl edx, 1
cmp edx, ebp
jb 0x604fbb
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xbc], edx
lea eax, [0x749280]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x605041
mov edx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x605063
mov ebx, dword [esp + 0xbc]
cmp ebx, ecx
jg 0x605009
mov ecx, ebx
mov ebp, dword [esp + 0x16a0]
cmp ebp, eax
je 0x605048
mov dword [esp + 0x16ac], eax
mov dword [esp], eax
mov dword [esp + 4], ebp
imul ecx, ecx, 0x11ac
mov dword [esp + 8], ecx
call fcn.00457450
mov eax, dword [esp + 0x16ac]
mov ebx, dword [esp + 0xbc]
jmp 0x605048
mov ebx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xc8]
mov ebp, ebx
mov esi, eax
mov eax, dword [esp + 0x94]
jmp 0x604325
call fcn.00456b90
inc dword [ecx + edi*4]
inc dword [edx]
inc ebp
inc ebx
mov edi, dword [esp + 0xb8]
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x16b4]
mov ebp, dword [esp + 0x16a4]
mov ebx, dword [esp + 0xb8]
lea edi, [ebx + esi]
mov ebp, dword [esp + 0x16e4]
cmp ebp, edi
jbe 0x605113
mov ebp, dword [esp + 0x16bc]
lea edi, [ebp + edi*4]
mov ebp, dword [esp + 0x8c]
cmp dword [edi], ebp
jbe 0x604cb7
mov edi, dword [esp + 0x16d8]
mov ebx, dword [esp + 0x84]
cmp edi, ebx
jbe 0x60510a
nop
mov edi, dword [esp + 0x16d4]
movzx edi, word [edi + ebx*2]
cmp edi, 0x468
jb 0x605068
jmp 0x6050fe
mov ecx, 0x40
call fcn.00456b50
mov eax, edi
mov ecx, 0x468
call fcn.00456b50
mov eax, ebx
mov ecx, edi
call fcn.00456b50
mov eax, edi
mov ecx, ebp
call fcn.00456b50
mov eax, esi
mov ecx, edi
call fcn.00456b50
lea eax, [0x7346e0]
mov dword [esp], eax
lea eax, [0x7ca28c]
mov dword [esp + 4], eax
call fcn.00430590
mov eax, edx
mov ecx, ebx
call fcn.00456b50
mov eax, edi
mov ecx, ebx
call fcn.00456b50
lea eax, [0x7346e0]
mov dword [esp], eax
lea eax, [0x7ca28c]
mov dword [esp + 4], eax
call fcn.00430590
mov eax, ebx
mov ecx, edx
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.00603f20