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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x8b0]
cmp eax, dword [ecx + 8]
jbe 0x6077d0
sub esp, 0x930
lea eax, [0x734760]
mov dword [esp], eax
mov ecx, dword [esp + 0x944]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x920], eax
lea ecx, [0x734760]
mov dword [esp], ecx
mov edx, dword [esp + 0x944]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x91c], eax
lea ecx, [0x7477c0]
mov dword [esp], ecx
mov edx, dword [esp + 0x944]
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 + 0x918], 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 + 0x924], ecx
mov dword [esp + 0x928], eax
mov dword [esp + 0x92c], eax
nop
mov eax, dword [esp + 0x944]
cmp eax, 0x40
jb 0x6066e1
mov eax, 0x40
mov dword [esp + 0x58], eax
lea ecx, [0x7477c0]
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 + 0x914], 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 + 0x910], 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 + 0x91c]
mov edx, dword [esp + 0x944]
xor ebx, ebx
jmp 0x60677b
mov dword [ecx + ebx*4], 0
inc ebx
cmp edx, ebx
jle 0x606786
ja 0x606773
jmp 0x6077c6
mov ebx, dword [esp + 0x94c]
mov ebp, dword [esp + 0x948]
mov esi, dword [esp + 0x940]
xor edi, edi
xor eax, eax
mov dword [esp + 0x7c], eax
xor eax, eax
jmp 0x6067c2
mov edi, dword [esp + 0x948]
mov edi, edx
mov dword [esp + 0x7c], ebp
mov edx, dword [esp + 0x944]
mov ebp, dword [esp + 0x948]
cmp esi, edi
jbe 0x60681c
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x6077ae
inc dword [ecx + ebp*4]
lea edx, [edi + 1]
cmp esi, edx
je 0x60680c
cmp ebx, edi
jbe 0x6077a5
mov esi, dword [esp + 0x948]
movzx ebp, byte [esi + edi]
cmp ebx, edx
jbe 0x60779c
lea esi, [edi + esi + 1]
xchg ebp, eax
cmp byte [esi], al
xchg ebp, eax
je 0x60680f
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x940]
inc ebp
jmp 0x6067a7
mov esi, dword [esp + 0x940]
mov ebp, dword [esp + 0x7c]
jmp 0x6067a7
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jne 0x607784
mov ebp, dword [esp + 0x934]
mov esi, dword [esp + 0x938]
mov ebx, dword [esp + 0x914]
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 + 0x918]
mov dword [esp + 0x904], ecx
xor eax, eax
mov ecx, dword [esp + 0xec]
jmp 0x6068d1
mov eax, dword [esp + 0x68]
add eax, 0x40
mov ebp, dword [esp + 0x944]
mov ebx, dword [esp + 0x914]
mov ebp, dword [esp + 0x934]
mov esi, dword [esp + 0x938]
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 + 0x91c]
mov edx, dword [esp + 0x944]
mov ebp, dword [esp + 0x68]
cmp edx, ebp
jbe 0x606a67
sub edx, ebp
cmp edx, 0x40
jb 0x6068e9
mov edx, 0x40
mov dword [esp + 0x54], edx
xor eax, eax
mov dword [esp + 0xac], eax
xor eax, eax
jmp 0x6072c2
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 + 0x910]
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.00611590
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 0x6069bf
test ebx, ebx
jne 0x6069b6
mov ebp, edx
jmp 0x607639
mov ebp, edx
mov edx, ebx
jmp 0x607639
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x904]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x904], esi
mov dword [esp + 0x84], ebx
mov edi, ebx
mov ebx, dword [esp + 0xb0]
cmp ebx, edx
jae 0x606a0d
test ebx, ebx
jne 0x6069f4
mov ebx, edx
jmp 0x60754d
mov dword [esp + 0xe4], eax
mov eax, ebx
mov ebx, edx
mov edx, eax
mov eax, dword [esp + 0xe4]
jmp 0x60754d
mov edx, dword [esp + 0x914]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xdc]
jmp 0x6073b1
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xd4]
jmp 0x607494
mov edx, dword [esp + 0x5c]
add edx, eax
cmp ecx, edx
je 0x60688e
jmp 0x6074d5
mov ebx, dword [esp + 0x5c]
mov ebp, ebx
shl ebx, 6
mov edi, ebp
shr ebp, 1
imul ebp, edi
cmp ebx, ebp
jb 0x606a7d
mov ebx, ebp
mov dword [esp + 0xb8], ebx
lea ebp, [ebx + 1]
cmp ebp, 0x801
ja 0x606aa4
mov ebp, 0x801
mov eax, dword [esp + 0x910]
mov dword [esp + 0x900], eax
jmp 0x606ad7
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 + 0x900], 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 0x606b01
mov dword [eax + edx*4], edx
inc edx
cmp edx, ecx
jb 0x606afd
mov dword [esp + 0x918], eax
mov edx, dword [esp + 0x924]
mov ebx, dword [esp + 0x928]
mov ebp, dword [esp + 0x92c]
mov esi, dword [esp + 0x904]
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 + 0x920]
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x944]
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 + 0x900]
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.00611590
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x924], 0
mov dword [esp + 0x928], 0
mov dword [esp + 0x92c], 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 0x606bf3
mov dword [eax + edx*4], ebx
inc edx
cmp edx, ecx
jae 0x606c04
mov ebx, dword [0x67309c]
jb 0x606bef
jmp 0x607265
mov dword [esp + 0x914], eax
mov ebx, dword [esp + 0x944]
mov ebp, dword [esp + 0x91c]
mov esi, dword [esp + 0x934]
mov edx, dword [esp + 0x938]
xor edi, edi
xor edi, edi
mov dword [esp + 0x88], edi
xor edi, edi
mov dword [esp + 0xb4], edi
xor edi, edi
jmp 0x606c6f
mov esi, dword [esp + 0x68]
inc esi
mov eax, ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x938]
mov ebp, dword [esp + 0x91c]
mov edi, esi
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x944]
mov esi, dword [esp + 0x934]
cmp ebx, edi
jbe 0x606daa
mov dword [esp + 0x68], edi
lea edi, [esp + 0x4f4]
mov ecx, 0x103
mov eax, 0
rep stosd dword es:[edi], eax
lea edi, [esp + 0x4f4]
mov ecx, 0x100
rep stosd dword es:[edi], eax
mov dword [esp + 0x8f4], 0
movsd xmm0, qword [0x7c9be4]
movsd qword [esp + 0x8f8], xmm0
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x88]
mov eax, 0
mov dword [esp + 0xa8], eax
mov eax, 0
jmp 0x607159
test ecx, ecx
jne 0x606ce8
mov ebx, dword [esp + 0x920]
mov ebp, dword [ebx]
jmp 0x606cf3
mov ebx, dword [esp + 0x920]
mov ebp, dword [ebx + ecx*4 - 4]
mov esi, dword [esp + 0x6c]
cmp ebp, esi
jae 0x60724a
mov dword [esp + 0x80], ebp
mov dword [esp + 0x88], edi
lea eax, [esp + 0x4f4]
mov dword [esp], eax
imul ecx, ebp, 0x40c
mov edx, dword [esp + 0x904]
add ecx, edx
mov dword [esp + 4], ecx
call fcn.00611df0
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x918]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x904]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x80]
xor edi, edi
jmp 0x607198
mov edi, ebx
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x920]
mov dword [ebp + ebx*4], esi
mov ebp, dword [esp + 0x5c]
cmp esi, ebp
jae 0x60722f
mov ebp, dword [esp + 0x914]
mov ebx, dword [ebp + esi*4]
cmp dword [0x67309c], ebx
jne 0x606d9e
mov ebx, dword [esp + 0xb4]
mov dword [ebp + esi*4], ebx
inc ebx
jmp 0x606c3f
mov ebx, dword [esp + 0xb4]
jmp 0x606c3f
mov esi, dword [esp + 0x954]
mov edi, dword [esi + 0x20]
cmp ebx, edi
jbe 0x606dcc
test edi, edi
jne 0x606dc3
mov edx, ebx
jmp 0x60702f
mov edx, ebx
mov ebx, edi
jmp 0x60702f
mov edi, dword [esi + 0x24]
cmp ebx, edi
jbe 0x606de7
test edi, edi
jne 0x606dde
mov edx, ebx
jmp 0x606f33
mov edx, ebx
mov ebx, edi
jmp 0x606f33
mov edx, dword [esp + 0x920]
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 0x606e3f
mov edi, dword [esp + 0x920]
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 + 0x944]
mov ebp, dword [esp + 0x91c]
mov esi, dword [esp + 0x954]
cmp ebx, edi
jbe 0x606ef1
mov esi, dword [esp + 0x94]
add esi, dword [ebp + edi*4]
lea ebp, [edi + 1]
mov dword [esp + 0xc8], ebp
cmp ebx, ebp
je 0x606e80
mov ebx, dword [edx + edi*4]
jbe 0x606f23
lea ebp, [edx + edi*4 + 4]
cmp dword [ebp], ebx
je 0x606edc
mov ebx, dword [esp + 0x944]
mov ebp, dword [esp + 0xc8]
mov edi, dword [edx + edi*4]
cmp ecx, edi
jbe 0x606f1c
mov dword [esp + 0xc4], esi
mov edi, dword [eax + edi*4]
mov edx, dword [esp + 0x954]
mov ebx, dword [edx + 0xc]
mov ebp, dword [edx + 8]
mov esi, dword [esp + 0x78]
cmp esi, ebx
jae 0x606f13
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 0x606f0a
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 0x606ed2
mov ebx, edi
lea ebp, [esi + 1]
xor esi, esi
jmp 0x606e0b
mov edx, dword [esp + 0x954]
mov ebp, dword [esp + 0x78]
movzx ebx, byte [esp + 0x53]
jmp 0x606e0b
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, 0x930
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 + 0x944]
call fcn.00456b50
shl ebx, 1
cmp edx, ebx
ja 0x606f31
mov edi, dword [esi + 0x1c]
cmp ebx, edi
jg 0x606f4c
ja 0x607024
mov dword [esi + 0x18], ebx
jmp 0x607011
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 + 0x954]
mov edx, dword [ecx + 0x24]
test edx, edx
je 0x606fcb
mov ebx, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x1c]
cmp ebp, edx
jb 0x60701b
mov ebp, dword [esp + 0x9c]
cmp ebp, edx
jg 0x606f96
mov edx, ebp
cmp ebx, eax
je 0x606fd2
mov dword [esp + 0x918], 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 + 0x918]
mov ecx, dword [esp + 0x954]
mov ebp, dword [esp + 0x9c]
jmp 0x606fd2
mov ebp, dword [esp + 0x9c]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x1c], ebp
mov edx, dword [0x900e70]
test edx, edx
jne 0x606fe7
mov dword [ecx + 0x14], eax
jmp 0x606fef
lea edi, [ecx + 0x14]
call fcn.00456ac0
mov eax, dword [esp + 0x914]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x944]
mov ebx, ebp
mov ebp, dword [esp + 0x91c]
mov esi, dword [esp + 0x954]
mov dword [esi + 0x24], ebx
mov ebx, edx
jmp 0x606de7
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 0x60702d
mov edi, dword [esi + 0x10]
cmp ebx, edi
jg 0x607048
ja 0x60711d
mov dword [esi + 0xc], ebx
jmp 0x60710a
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 + 0x954]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x6070c4
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 0x10]
cmp ebp, edx
jb 0x607114
mov ebp, dword [esp + 0xa0]
cmp ebp, edx
jg 0x607092
mov edx, ebp
cmp ebx, eax
je 0x6070cb
mov dword [esp + 0x918], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00457450
mov eax, dword [esp + 0x918]
mov ecx, dword [esp + 0x954]
mov ebp, dword [esp + 0xa0]
jmp 0x6070cb
mov ebp, dword [esp + 0xa0]
mov dword [ecx + 0xc], ebp
mov dword [ecx + 0x10], ebp
mov ebx, dword [0x900e70]
test ebx, ebx
jne 0x6070e0
mov dword [ecx + 8], eax
jmp 0x6070e8
lea edi, [ecx + 8]
call fcn.00456ac0
mov eax, dword [esp + 0x914]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x944]
mov ebx, ebp
mov ebp, dword [esp + 0x91c]
mov esi, dword [esp + 0x954]
mov dword [esi + 0x20], ebx
mov ebx, edx
jmp 0x606dcc
mov ecx, edx
mov edx, ebp
call fcn.00456b90
mov ecx, ebx
mov edx, edi
call fcn.00456b90
nop
movzx ebp, byte [edi + esi]
inc dword [esp + ebp*4 + 0x4f4]
inc dword [esp + 0x8f4]
inc ebx
inc edi
mov ebp, dword [esp + 0x944]
cmp ebp, ecx
mov ebp, dword [esp + 0x91c]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x944]
jbe 0x60725c
lea ebp, [ebp + ecx*4]
mov ebx, dword [esp + 0xa8]
cmp dword [ebp], ebx
jbe 0x606cd9
cmp edx, edi
ja 0x607126
jmp 0x607253
lea edi, [ebx + 1]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x904]
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
mov eax, ebp
mov ebp, dword [esp + 0x5c]
cmp edi, ecx
jae 0x606d5d
cmp edi, ebp
jae 0x607241
mov ebp, dword [eax + edi*4]
cmp ebx, ebp
jbe 0x607238
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, 0x40c
add ecx, edx
mov dword [esp + 4], ecx
call fcn.00611df0
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0xcc]
ucomisd xmm1, xmm0
jbe 0x607211
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x918]
mov esi, dword [ebp + ebx*4]
jmp 0x60717c
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x918]
movsd xmm0, xmm1
mov esi, dword [esp + 0x80]
jmp 0x60717c
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, 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 + 0x944]
mov ebx, dword [esp + 0x91c]
mov esi, dword [esp + 0x934]
mov edi, dword [esp + 0x938]
mov ecx, ebx
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x914]
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 0x6068fd
cmp esi, edi
jae 0x60777b
imul edx, esi, 0x40c
mov dword [esp + 0xc0], edx
lea ebp, [ebx + edx]
mov edi, ebp
mov ecx, 0x100
rep stosd dword es:[edi], eax
mov dword [ebx + edx + 0x400], 0
movsd xmm0, qword [0x7c9be4]
movsd qword [ebx + edx + 0x404], xmm0
mov ecx, ebp
lea ebp, [edx + ebx]
mov dword [esp + 0x908], ebp
mov edi, edx
lea edx, [ebx + edx + 0x400]
xor eax, eax
mov dword [esp + 0x8c], eax
xor eax, eax
jmp 0x60771f
mov eax, dword [esp + 0x908]
mov dword [esp], eax
call fcn.005ff5c0
movsd xmm0, qword [esp + 4]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x914]
movsd qword [ecx + eax + 0x404], xmm0
mov eax, dword [esp + 0xac]
cmp eax, 0x40
jb 0x60726c
jmp 0x60775f
mov dword [esp + ebx*4 + 0x2f4], edi
lea ecx, [edi + 1]
inc edx
mov ebp, dword [esp + 0x6c]
mov ebx, dword [esp + 0x904]
mov edi, dword [esp + 0x914]
mov ebx, esi
mov esi, dword [esp + 0x904]
mov edi, dword [esp + 0x84]
mov dword [esp + 0xac], ecx
mov ecx, edx
mov edx, dword [esp + 0x914]
mov ebp, dword [esp + 0xac]
cmp ebp, eax
jae 0x606a34
cmp ebp, 0x40
jae 0x60753f
mov ebp, dword [esp + ebp*4 + 0x1f4]
cmp ebx, ebp
jbe 0x607536
imul ebp, ebp, 0x40c
add ebp, edx
mov edx, dword [esp + 0x6c]
cmp edx, ecx
jbe 0x60752d
mov dword [esp + 0x98], ecx
imul edx, ecx, 0x40c
add edx, esi
mov edi, edx
mov esi, ebp
mov ecx, 0x103
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0xac]
mov ebp, dword [esp + edx*4 + 0x1f4]
cmp ebp, 0x40
jae 0x607521
mov ecx, dword [esp + 0x928]
mov esi, ebx
mov ebx, dword [esp + 0x924]
mov ebp, dword [esp + ebp*4 + 0x3f4]
mov edi, edx
mov edx, dword [esp + 0x98]
cmp edx, ecx
jae 0x60751a
mov dword [ebx + edx*4], ebp
mov ebx, dword [esp + edi*4 + 0x1f4]
cmp ebx, 0x40
jb 0x607374
jmp 0x60750e
mov edi, dword [esp + 0x920]
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 + 0x904]
mov edi, dword [esp + 0x84]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x914]
mov edx, dword [esp + 0xac]
cmp edx, ebp
jae 0x606a54
mov ebx, dword [esp + 0x68]
lea esi, [edx + ebx]
cmp edx, 0x40
jae 0x607502
mov ebx, dword [esp + edx*4 + 0xf4]
cmp ebx, 0x40
jae 0x6074f6
mov ebx, dword [esp + ebx*4 + 0x2f4]
mov ebp, dword [esp + 0x5c]
add ebx, ebp
mov ebp, dword [esp + 0x944]
cmp ebp, esi
ja 0x60745d
jmp 0x6074ed
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 0x60754b
mov ebx, dword [esp + 0x92c]
cmp edx, ebx
jg 0x60756e
ja 0x60762e
mov dword [esp + 0x928], edx
jmp 0x60761d
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 0x6075e7
mov ebx, dword [esp + 0x924]
mov edx, dword [esp + 0x92c]
cmp edx, ecx
jb 0x607629
mov edx, dword [esp + 0xa4]
cmp edx, ecx
jg 0x6075b9
mov ecx, edx
cmp ebx, eax
je 0x6075ee
mov dword [esp + 0x918], 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 + 0x918]
mov edx, dword [esp + 0xa4]
jmp 0x6075ee
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x928], edx
mov dword [esp + 0x92c], edx
mov dword [esp + 0x924], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x904]
mov edi, dword [esp + 0x84]
mov dword [esp + 0xb0], edx
jmp 0x606a0d
call fcn.00456b90
mov ecx, edx
mov edx, ebx
call fcn.00456b90
shl edx, 1
cmp edx, ebp
jb 0x607637
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xbc], edx
lea eax, [0x7477c0]
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 0x6076bd
mov edx, dword [esp + 0x6c]
cmp edx, ecx
jb 0x6076dc
mov ebx, dword [esp + 0xbc]
cmp ebx, ecx
jg 0x607685
mov ecx, ebx
mov ebp, dword [esp + 0x904]
cmp ebp, eax
je 0x6076c4
mov dword [esp + 0x90c], eax
mov dword [esp], eax
mov dword [esp + 4], ebp
imul ecx, ecx, 0x40c
mov dword [esp + 8], ecx
call fcn.00457450
mov eax, dword [esp + 0x90c]
mov ebx, dword [esp + 0xbc]
jmp 0x6076c4
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 0x6069ca
call fcn.00456b90
nop
mov eax, dword [esp + 0x934]
movzx eax, byte [ebx + eax]
inc dword [ecx + eax*4]
inc dword [edx]
lea eax, [ebp + 1]
inc ebx
mov ebp, dword [esp + 0x68]
mov ebp, dword [esp + 0x908]
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], ebx
xor eax, eax
mov ebx, dword [esp + 0x914]
mov ebx, dword [esp + 0x68]
lea edi, [ebx + esi]
mov ebp, dword [esp + 0x944]
cmp ebp, edi
jbe 0x607772
mov ebp, dword [esp + 0x91c]
lea edi, [ebp + edi*4]
mov ebp, dword [esp + 0x8c]
cmp dword [edi], ebp
jbe 0x607333
mov edi, dword [esp + 0x938]
mov ebx, dword [esp + 0x88]
cmp edi, ebx
ja 0x6076e1
jmp 0x607769
mov ecx, 0x40
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.006065e0