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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov eax, esp
sub eax, 0x1650
jb 0x60516e
cmp eax, dword [ecx + 8]
jbe 0x60516e
sub esp, 0x16d0
lea eax, [0x734760]
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, [0x734760]
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, [0x7475c0]
mov dword [esp], ecx
mov edx, dword [esp + 0x16e4]
lea ebx, [edx + 0x3f]
shl ebx, 4
shr ebx, 6
mov dword [esp + 0x90], 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 + 0x90]
mov dword [esp + 0xb0], ecx
lea edx, [0x734760]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004426a0
mov eax, dword [esp + 0xb0]
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 0x604057
mov eax, 0x40
mov dword [esp + 0x58], eax
lea ecx, [0x7475c0]
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, [0x74b1e0]
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 + 0x3f4]
xor eax, eax
call fcn.00456d20
lea edi, [esp + 0x1f4]
call fcn.00456d20
lea edi, [esp + 0xf4]
call fcn.00456d20
lea edi, [esp + 0x2f4]
call fcn.00456d20
mov ecx, dword [esp + 0x16bc]
mov edx, dword [esp + 0x16e4]
xor ebx, ebx
jmp 0x6040f1
mov dword [ecx + ebx*4], 0
inc ebx
cmp edx, ebx
jle 0x6040fc
ja 0x6040e9
jmp 0x605164
mov ebx, dword [esp + 0x16ec]
mov ebp, dword [esp + 0x16e8]
mov esi, dword [esp + 0x16e0]
xor edi, edi
xor eax, eax
mov dword [esp + 0x7c], eax
xor eax, eax
jmp 0x604138
mov edi, dword [esp + 0x16e8]
mov edi, edx
mov dword [esp + 0x7c], ebp
mov edx, dword [esp + 0x16e4]
mov ebp, dword [esp + 0x16e8]
cmp esi, edi
jbe 0x604192
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x60514c
inc dword [ecx + ebp*4]
lea edx, [edi + 1]
cmp esi, edx
je 0x604182
cmp ebx, edi
jbe 0x605143
mov esi, dword [esp + 0x16e8]
movzx ebp, byte [esi + edi]
cmp ebx, edx
jbe 0x60513a
lea esi, [edi + esi + 1]
xchg ebp, eax
cmp byte [esi], al
xchg ebp, eax
je 0x604185
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x16e0]
inc ebp
jmp 0x60411d
mov esi, dword [esp + 0x16e0]
mov ebp, dword [esp + 0x7c]
jmp 0x60411d
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jne 0x605122
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 + 0x68], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x84], eax
mov dword [esp + 0xec], ecx
xor ecx, ecx
mov dword [esp + 0x70], ecx
xor ecx, ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x16b8]
mov dword [esp + 0x16a4], ecx
xor eax, eax
mov ecx, dword [esp + 0xec]
jmp 0x604247
mov eax, dword [esp + 0x68]
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 + 0x68], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x5c], edx
xor eax, eax
mov ecx, dword [esp + 0x16bc]
mov edx, dword [esp + 0x16e4]
mov ebp, dword [esp + 0x68]
cmp edx, ebp
jbe 0x6043dd
sub edx, ebp
cmp edx, 0x40
jb 0x60425f
mov edx, 0x40
mov dword [esp + 0x54], edx
xor eax, eax
mov dword [esp + 0xac], eax
xor eax, eax
jmp 0x604c50
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edi
lea eax, [esp + 0x3f4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x40
mov dword [esp + 0x14], 0x40
lea ecx, [esp + 0xf4]
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.0060fd70
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x70]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x84]
cmp ebx, edx
jae 0x604335
test ebx, ebx
jne 0x60432c
mov ebp, edx
jmp 0x604fc7
mov ebp, edx
mov edx, ebx
jmp 0x604fc7
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x16a4]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x16a4], esi
mov dword [esp + 0x84], ebx
mov edi, ebx
mov ebx, dword [esp + 0xb0]
cmp ebx, edx
jae 0x604383
test ebx, ebx
jne 0x60436a
mov ebx, edx
jmp 0x604edb
mov dword [esp + 0xe4], eax
mov eax, ebx
mov ebx, edx
mov edx, eax
mov eax, dword [esp + 0xe4]
jmp 0x604edb
mov edx, dword [esp + 0x16b4]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xdc]
jmp 0x604d3f
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xd4]
jmp 0x604e22
mov edx, dword [esp + 0x5c]
add edx, eax
cmp ecx, edx
je 0x604204
jmp 0x604e63
mov ebx, dword [esp + 0x5c]
mov ebp, ebx
shl ebx, 6
mov edi, ebp
shr ebp, 1
imul ebp, edi
cmp ebx, ebp
jb 0x6043f3
mov ebx, ebp
mov dword [esp + 0xb8], ebx
lea ebp, [ebx + 1]
cmp ebp, 0x801
ja 0x60441a
mov ebp, 0x801
mov eax, dword [esp + 0x16b0]
mov dword [esp + 0x16a0], eax
jmp 0x60444d
mov dword [esp + 0xc8], ebp
lea eax, [0x74b1e0]
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 + 0x5c]
mov ebp, dword [esp + 0xc8]
mov dword [esp + 0x16a0], eax
mov dword [esp + 0x64], ebp
lea eax, [0x734760]
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 + 0x5c]
xor edx, edx
jmp 0x604477
mov dword [eax + edx*4], edx
inc edx
cmp edx, ecx
jb 0x604473
mov dword [esp + 0x16b8], eax
mov edx, dword [esp + 0x16c4]
mov ebx, dword [esp + 0x16c8]
mov ebp, dword [esp + 0x16cc]
mov esi, dword [esp + 0x16a4]
mov dword [esp], esi
mov edi, dword [esp + 0x6c]
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 + 0x16a0]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x64]
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 + 0xb8]
mov dword [esp + 0x48], ebp
call fcn.0060fd70
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x16c4], 0
mov dword [esp + 0x16c8], 0
mov dword [esp + 0x16cc], 0
lea ecx, [0x734760]
mov dword [esp], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
xor edx, edx
jmp 0x604569
mov dword [eax + edx*4], ebx
inc edx
cmp edx, ecx
jae 0x60457a
mov ebx, dword [0x6730a0]
jb 0x604565
jmp 0x604bf3
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 + 0x88], edi
xor edi, edi
mov dword [esp + 0xb4], edi
xor edi, edi
jmp 0x6045e5
mov esi, dword [esp + 0x68]
inc esi
mov eax, ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x16d8]
mov ebp, dword [esp + 0x16bc]
mov edi, esi
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x16e4]
mov esi, dword [esp + 0x16d4]
cmp ebx, edi
jbe 0x604720
mov dword [esp + 0x68], 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 [0x7c9be4]
movsd qword [esp + 0x1698], xmm0
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x88]
mov eax, 0
mov dword [esp + 0xa8], eax
mov eax, 0
jmp 0x604aca
test ecx, ecx
jne 0x60465e
mov ebx, dword [esp + 0x16c0]
mov ebp, dword [ebx]
jmp 0x604669
mov ebx, dword [esp + 0x16c0]
mov ebp, dword [ebx + ecx*4 - 4]
mov esi, dword [esp + 0x6c]
cmp ebp, esi
jae 0x604bcc
mov dword [esp + 0x80], ebp
mov dword [esp + 0x88], edi
lea eax, [esp + 0x4f4]
mov dword [esp], eax
imul ecx, ebp, 0x11ac
mov edx, dword [esp + 0x16a4]
add ecx, edx
mov dword [esp + 4], ecx
call fcn.006105d0
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x16b8]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x16a4]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x80]
xor edi, edi
jmp 0x604b1a
mov edi, ebx
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x16c0]
mov dword [ebp + ebx*4], esi
mov ebp, dword [esp + 0x5c]
cmp esi, ebp
jae 0x604bb1
mov ebp, dword [esp + 0x16b4]
mov ebx, dword [ebp + esi*4]
cmp dword [0x6730a0], ebx
jne 0x604714
mov ebx, dword [esp + 0xb4]
mov dword [ebp + esi*4], ebx
inc ebx
jmp 0x6045b5
mov ebx, dword [esp + 0xb4]
jmp 0x6045b5
mov esi, dword [esp + 0x16f4]
mov edi, dword [esi + 0x20]
cmp ebx, edi
jbe 0x604742
test edi, edi
jne 0x604739
mov edx, ebx
jmp 0x6049a5
mov edx, ebx
mov ebx, edi
jmp 0x6049a5
mov edi, dword [esi + 0x24]
cmp ebx, edi
jbe 0x60475d
test edi, edi
jne 0x604754
mov edx, ebx
jmp 0x6048a9
mov edx, ebx
mov ebx, edi
jmp 0x6048a9
mov edx, dword [esp + 0x16c0]
xor edi, edi
xor edi, edi
mov dword [esp + 0x94], edi
xor edi, edi
mov dword [esp + 0x78], edi
xor edi, edi
xchg edi, eax
mov byte [esp + 0x53], al
xchg edi, eax
xor edi, edi
jmp 0x6047b5
mov edi, dword [esp + 0x16c0]
mov edx, edi
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x94], esi
mov dword [esp + 0x78], 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 0x604867
mov esi, dword [esp + 0x94]
add esi, dword [ebp + edi*4]
lea ebp, [edi + 1]
mov dword [esp + 0xc8], ebp
cmp ebx, ebp
je 0x6047f6
mov ebx, dword [edx + edi*4]
jbe 0x604899
lea ebp, [edx + edi*4 + 4]
cmp dword [ebp], ebx
je 0x604852
mov ebx, dword [esp + 0x16e4]
mov ebp, dword [esp + 0xc8]
mov edi, dword [edx + edi*4]
cmp ecx, edi
jbe 0x604892
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 + 0x78]
cmp esi, ebx
jae 0x604889
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 0x604880
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 0x604848
mov ebx, edi
lea ebp, [esi + 1]
xor esi, esi
jmp 0x604781
mov edx, dword [esp + 0x16f4]
mov ebp, dword [esp + 0x78]
movzx ebx, byte [esp + 0x53]
jmp 0x604781
mov eax, dword [esp + 0x78]
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 0x6048a7
mov edi, dword [esi + 0x1c]
cmp ebx, edi
jg 0x6048c2
ja 0x60499a
mov dword [esi + 0x18], ebx
jmp 0x604987
mov dword [esp + 0x9c], ebx
lea eax, [0x734760]
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 0x604941
mov ebx, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x1c]
cmp ebp, edx
jb 0x604991
mov ebp, dword [esp + 0x9c]
cmp ebp, edx
jg 0x60490c
mov edx, ebp
cmp ebx, eax
je 0x604948
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 + 0x9c]
jmp 0x604948
mov ebp, dword [esp + 0x9c]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x1c], ebp
mov edx, dword [0x900e70]
test edx, edx
jne 0x60495d
mov dword [ecx + 0x14], eax
jmp 0x604965
lea edi, [ecx + 0x14]
call fcn.00456ac0
mov eax, dword [esp + 0x16b4]
mov ecx, dword [esp + 0x5c]
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 0x60475d
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 0x6049a3
mov edi, dword [esi + 0x10]
cmp ebx, edi
jg 0x6049be
ja 0x604a93
mov dword [esi + 0xc], ebx
jmp 0x604a80
mov dword [esp + 0xa0], 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 + 0x20]
test edx, edx
je 0x604a3a
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 0x10]
cmp ebp, edx
jb 0x604a8a
mov ebp, dword [esp + 0xa0]
cmp ebp, edx
jg 0x604a08
mov edx, ebp
cmp ebx, eax
je 0x604a41
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 + 0xa0]
jmp 0x604a41
mov ebp, dword [esp + 0xa0]
mov dword [ecx + 0xc], ebp
mov dword [ecx + 0x10], ebp
mov ebx, dword [0x900e70]
test ebx, ebx
jne 0x604a56
mov dword [ecx + 8], eax
jmp 0x604a5e
lea edi, [ecx + 8]
call fcn.00456ac0
mov eax, dword [esp + 0x16b4]
mov ecx, dword [esp + 0x5c]
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 0x604742
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 + 0xa8], ebx
mov ebx, dword [esp + 0x16e4]
jbe 0x604bea
lea ebp, [ebp + ecx*4]
mov ebx, dword [esp + 0xa8]
cmp dword [ebp], ebx
jbe 0x60464f
cmp edx, edi
jbe 0x604be1
nop
movzx ebp, word [esi + edi*2]
cmp ebp, 0x468
jb 0x604a9c
jmp 0x604bd5
lea edi, [ebx + 1]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x16a4]
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
mov eax, ebp
mov ebp, dword [esp + 0x5c]
cmp edi, ecx
jae 0x6046d3
cmp edi, ebp
jae 0x604bc3
mov ebp, dword [eax + edi*4]
cmp ebx, ebp
jbe 0x604bba
mov dword [esp + 0xa8], edi
movsd qword [esp + 0xcc], xmm0
mov dword [esp + 0x80], esi
lea eax, [esp + 0x4f4]
mov dword [esp], eax
imul ecx, ebp, 0x11ac
add ecx, edx
mov dword [esp + 4], ecx
call fcn.006105d0
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0xcc]
ucomisd xmm1, xmm0
jbe 0x604b93
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x16b8]
mov esi, dword [ebp + ebx*4]
jmp 0x604afe
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x16b8]
movsd xmm0, xmm1
mov esi, dword [esp + 0x80]
jmp 0x604afe
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 + 0xf4], eax
mov dword [esp + eax*4 + 0x3f4], 1
inc eax
mov ebp, dword [esp + 0x68]
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 + 0xac], eax
xor eax, eax
mov esi, dword [esp + 0xac]
cmp esi, edx
jae 0x604273
cmp esi, edi
jae 0x605119
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 [0x7c9be4]
movsd qword [ebx + edx + 0x11a4], xmm0
mov ecx, ebp
lea ebp, [edx + ebx]
mov dword [esp + 0x16a8], ebp
mov edi, edx
lea edx, [ebx + edx + 0x11a0]
xor eax, eax
mov dword [esp + 0x8c], eax
xor eax, eax
jmp 0x60509d
mov eax, dword [esp + 0x16a8]
mov dword [esp], eax
call fcn.006000e0
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 + 0xac]
cmp eax, 0x40
jb 0x604bfa
jmp 0x6050f1
mov dword [esp + ebx*4 + 0x2f4], edi
lea ecx, [edi + 1]
inc edx
mov ebp, dword [esp + 0x6c]
mov ebx, dword [esp + 0x16a4]
mov edi, dword [esp + 0x16b4]
mov ebx, esi
mov esi, dword [esp + 0x16a4]
mov edi, dword [esp + 0x84]
mov dword [esp + 0xac], ecx
mov ecx, edx
mov edx, dword [esp + 0x16b4]
mov ebp, dword [esp + 0xac]
cmp ebp, eax
jae 0x6043aa
cmp ebp, 0x40
jae 0x604ecd
mov ebp, dword [esp + ebp*4 + 0x1f4]
cmp ebx, ebp
jbe 0x604ec4
imul ebp, ebp, 0x11ac
add ebp, edx
mov edx, dword [esp + 0x6c]
cmp edx, ecx
jbe 0x604ebb
mov dword [esp + 0x98], 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 + 0xac]
mov ebp, dword [esp + edx*4 + 0x1f4]
cmp ebp, 0x40
jae 0x604eaf
mov ecx, dword [esp + 0x16c8]
mov esi, ebx
mov ebx, dword [esp + 0x16c4]
mov ebp, dword [esp + ebp*4 + 0x3f4]
mov edi, edx
mov edx, dword [esp + 0x98]
cmp edx, ecx
jae 0x604ea8
mov dword [ebx + edx*4], ebp
mov ebx, dword [esp + edi*4 + 0x1f4]
cmp ebx, 0x40
jb 0x604d02
jmp 0x604e9c
mov edi, dword [esp + 0x16c0]
mov dword [edi + esi*4], ebx
inc edx
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x16a4]
mov edi, dword [esp + 0x84]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x16b4]
mov edx, dword [esp + 0xac]
cmp edx, ebp
jae 0x6043ca
mov ebx, dword [esp + 0x68]
lea esi, [edx + ebx]
cmp edx, 0x40
jae 0x604e90
mov ebx, dword [esp + edx*4 + 0xf4]
cmp ebx, 0x40
jae 0x604e84
mov ebx, dword [esp + ebx*4 + 0x2f4]
mov ebp, dword [esp + 0x5c]
add ebx, ebp
mov ebp, dword [esp + 0x16e4]
cmp ebp, esi
ja 0x604deb
jmp 0x604e7b
lea eax, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
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 0x604ed9
mov ebx, dword [esp + 0x16cc]
cmp edx, ebx
jg 0x604efc
ja 0x604fbc
mov dword [esp + 0x16c8], edx
jmp 0x604fab
mov dword [esp + 0xa4], edx
lea eax, [0x734760]
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 + 0xb0]
test ecx, ecx
je 0x604f75
mov ebx, dword [esp + 0x16c4]
mov edx, dword [esp + 0x16cc]
cmp edx, ecx
jb 0x604fb7
mov edx, dword [esp + 0xa4]
cmp edx, ecx
jg 0x604f47
mov ecx, edx
cmp ebx, eax
je 0x604f7c
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 + 0xa4]
jmp 0x604f7c
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x16c8], edx
mov dword [esp + 0x16cc], edx
mov dword [esp + 0x16c4], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x16a4]
mov edi, dword [esp + 0x84]
mov dword [esp + 0xb0], edx
jmp 0x604383
call fcn.00456b90
mov ecx, edx
mov edx, ebx
call fcn.00456b90
shl edx, 1
cmp edx, ebp
jb 0x604fc5
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xbc], edx
lea eax, [0x7475c0]
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 + 0x84]
test ecx, ecx
je 0x60504b
mov edx, dword [esp + 0x6c]
cmp edx, ecx
jb 0x60506a
mov ebx, dword [esp + 0xbc]
cmp ebx, ecx
jg 0x605013
mov ecx, ebx
mov ebp, dword [esp + 0x16a4]
cmp ebp, eax
je 0x605052
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 0x605052
mov ebx, dword [esp + 0xbc]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xc8]
mov ebp, ebx
mov esi, eax
mov eax, dword [esp + 0x74]
jmp 0x604340
call fcn.00456b90
inc dword [ecx + edi*4]
inc dword [edx]
inc ebp
inc ebx
mov edi, dword [esp + 0x68]
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x16b4]
mov ebp, dword [esp + 0x16a8]
mov ebx, dword [esp + 0x68]
lea edi, [ebx + esi]
mov ebp, dword [esp + 0x16e4]
cmp ebp, edi
jbe 0x605110
mov ebp, dword [esp + 0x16bc]
lea edi, [ebp + edi*4]
mov ebp, dword [esp + 0x8c]
cmp dword [edi], ebp
jbe 0x604cc1
mov edi, dword [esp + 0x16d8]
mov ebx, dword [esp + 0x88]
cmp edi, ebx
jbe 0x605107
nop
mov edi, dword [esp + 0x16d4]
movzx edi, word [edi + ebx*2]
cmp edi, 0x468
jb 0x60506f
jmp 0x6050fb
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, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
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, [0x7345e0]
mov dword [esp], eax
lea eax, [0x7c9cbc]
mov dword [esp + 4], eax
call fcn.00430590
mov eax, ebx
mov ecx, edx
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.00603f50