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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x60170d
sub esp, 0x74
mov edx, dword [esp + 0x90]
cmp edx, 0x100
ja 0x6016f4
cmp edx, 1
ja 0x60108d
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
xor eax, eax
jmp 0x6016d6
mov ebx, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
xor eax, eax
jmp 0x6010a8
xorps xmm0, xmm0
movsd qword [ebx + eax*8], xmm0
inc eax
imul ebp, edx, 0x2c0
cmp eax, ebp
jge 0x6010bb
cmp ecx, eax
ja 0x60109f
jmp 0x6016cc
mov ebp, dword [esp + 0x94]
mov esi, dword [esp + 0x98]
xor eax, eax
jmp 0x6010da
movsd qword [ebx + eax*8], xmm0
inc eax
mov ebp, dword [esp + 0x94]
cmp edx, eax
jbe 0x60115d
cmp esi, eax
jbe 0x6016c5
imul edi, eax, 0xb0c
mov edi, dword [ebp + edi + 0xb00]
mov ebp, dword [0x707b48]
cmp dword [0x707b4c], edi
jbe 0x60110d
movss xmm0, dword [ebp + edi*4]
cvtss2sd xmm0, xmm0
jmp 0x601150
mov dword [esp + 0x34], eax
mov dword [esp], edi
call fcn.00456a70
nop
movsd xmm0, qword [esp + 4]
movsd qword [esp], xmm0
call fcn.004730d0
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0x98]
cmp ecx, eax
ja 0x6010cd
jmp 0x6016c0
mov eax, 0x2c0
jmp 0x60116d
mov ebx, dword [esp + 0xa0]
mov eax, edi
test eax, eax
je 0x60118f
mov dword [esp + 0x34], eax
lea edi, [eax - 1]
mov dword [esp + 0x38], edi
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x44]
jmp 0x601630
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xb0]
xor eax, eax
jmp 0x6011ab
xorps xmm0, xmm0
movsd qword [ebp + eax*8], xmm0
inc eax
cmp edx, eax
jle 0x6011b8
cmp esi, eax
ja 0x6011a1
jmp 0x6015f8
lea edi, [edx + 7]
shr edi, 3
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x6c]
jmp 0x6011f4
mov byte [eax + ebp], 0
inc ebp
mov ebx, dword [esp + 0xa0]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0xac]
mov ebx, dword [esp + 0x84]
imul edi, ebx
mov ebp, dword [esp + 0x30]
cmp ebp, edi
jge 0x601216
mov edi, dword [esp + 0xbc]
cmp edi, ebp
ja 0x6011d9
jmp 0x6015ef
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x64]
jmp 0x60124b
mov ebx, dword [esp + 0x34]
inc ebx
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 0x34]
cmp ebx, edi
jbe 0x601343
mov ebx, dword [esp + 0x14]
imul edi, ebx
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x34]
cmp edi, ebx
jbe 0x6015e6
mov edi, dword [esp + 0x78]
movzx edi, word [edi + ebx*2]
imul edi, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x20], eax
movsd xmm0, qword [0x7c9e64]
mov eax, dword [esp + 0x54]
jmp 0x6014a9
mov ebx, dword [esp + 0x34]
cmp ebx, 0x7d0
jb 0x6012b3
movsd xmm1, qword [esp + 0x88]
jmp 0x601329
movsd qword [esp + 0x3c], xmm0
mov dword [esp], ebx
call fcn.00456a70
movsd xmm0, qword [esp + 4]
movsd xmm1, qword [0x7c9ccc]
mulsd xmm0, xmm1
movsd xmm2, qword [0x7c9e3c]
divsd xmm0, xmm2
movsd xmm3, qword [0x7c9d54]
addsd xmm0, xmm3
movsd xmm4, qword [esp + 0x88]
mulsd xmm0, xmm4
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xb0]
movsd xmm1, xmm0
movsd xmm0, qword [esp + 0x3c]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
jmp 0x601523
lea edx, [ebx - 1]
mov ebp, dword [esp + 0x14]
mov esi, ebp
imul ebp, edx
mov ecx, dword [esp + 0xc8]
cmp ecx, edx
jbe 0x60148a
mov edi, dword [esp + 0xc4]
movzx ebx, byte [edi + ebx - 1]
mov dword [esp + 0x5c], eax
mov eax, 1
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x5c]
jmp 0x6013a1
xchg esi, eax
mov byte [edx + ebx - 1], al
xchg esi, eax
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x1c], ebp
mov edx, edi
mov ebx, esi
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0xc4]
test edx, edx
jbe 0x60144c
nop
movzx edi, bl
shr edi, 3
cmp edi, esi
jae 0x601472
mov edi, ebx
shr bl, 3
movzx ebx, bl
sub ebp, esi
add ebx, ebp
mov esi, dword [esp + 0xbc]
cmp esi, ebx
jbe 0x601469
mov dword [esp + 0x24], ebp
xchg edi, eax
mov byte [esp + 0x13], al
xchg edi, eax
and edi, 7
mov ecx, edi
mov esi, 1
shl esi, cl
lea edi, [edx - 1]
movzx ebx, byte [eax + ebx]
xchg esi, eax
test bl, al
xchg esi, eax
je 0x60142b
mov ecx, dword [esp + 0xc8]
cmp ecx, edi
jbe 0x601462
mov ebx, dword [esp + 0xc4]
movzx esi, byte [edx + ebx - 1]
movzx ebp, byte [esp + 0x13]
xchg ebp, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg ebp, eax
je 0x601423
mov ebp, dword [esp + 0x1c]
inc ebp
jmp 0x601442
mov esi, ebp
mov ebp, dword [esp + 0x1c]
jmp 0x601442
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x1c]
movzx esi, byte [esp + 0x13]
cmp ecx, edi
ja 0x60137d
jmp 0x60145b
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xd0], eax
add esp, 0x74
ret
mov eax, edi
call fcn.00456b50
mov eax, edi
call fcn.00456b50
mov eax, ebx
mov ecx, esi
call fcn.00456b50
lea eax, [0x7346e0]
mov dword [esp], eax
lea eax, [0x7ca28c]
mov dword [esp + 4], eax
call fcn.00430590
mov eax, edx
call fcn.00456b50
inc ebx
mov esi, dword [esp + 0xb0]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x20], ebx
movsd xmm0, xmm1
mov ebx, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
cmp edx, ebx
jbe 0x60129c
cmp esi, ebx
jbe 0x6015dd
movsd xmm1, qword [ebp + ebx*8]
add edi, ebx
cmp ecx, edi
jbe 0x6015d6
mov esi, dword [esp + 0xa0]
lea edi, [esi + edi*8]
addsd xmm1, qword [edi]
movsd qword [ebp + ebx*8], xmm1
ucomisd xmm0, xmm1
jbe 0x601506
mov edi, dword [esp + 0xc8]
mov esi, dword [esp + 0x34]
cmp edi, esi
jbe 0x6015cd
mov edi, dword [esp + 0xc4]
mov byte [edi + esi], bl
jmp 0x601491
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0xc4]
movsd xmm1, xmm0
jmp 0x601491
inc ebx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
cmp edx, ebx
jbe 0x601234
cmp esi, ebx
jbe 0x6015c4
movsd xmm2, qword [ebp + ebx*8]
subsd xmm2, xmm0
movsd qword [ebp + ebx*8], xmm2
ucomisd xmm2, xmm1
jb 0x60151a
movsd qword [ebp + ebx*8], xmm1
shr ebx, 3
mov ebp, dword [esp + 0x14]
cmp ebx, ebp
jae 0x6015ac
mov ebp, dword [esp + 0x28]
add ebx, ebp
cmp edi, ebx
jbe 0x6015a3
mov edi, dword [esp + 0x20]
and edi, 7
mov ecx, edi
mov ebp, 1
shl ebp, cl
movzx edi, byte [eax + ebx]
or edi, ebp
xchg edi, ecx
mov byte [eax + ebx], cl
xchg edi, ecx
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0xbc]
jmp 0x60151a
mov eax, ebx
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, ebx
mov ecx, esi
call fcn.00456b50
mov eax, esi
mov ecx, edi
call fcn.00456b50
mov eax, edi
call fcn.00456b50
mov eax, ebx
mov ecx, esi
call fcn.00456b50
mov eax, ebx
mov ecx, edi
call fcn.00456b50
mov eax, ebp
mov ecx, edi
call fcn.00456b40
mov ecx, esi
call fcn.00456b40
movsd qword [esi + eax*8], xmm1
lea eax, [ebx + 1]
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x34]
mov ecx, ebp
mov ebx, esi
mov ebp, dword [esp + 0x94]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x2c]
cmp edx, ebx
jbe 0x601164
cmp esi, ebx
jbe 0x6016b7
imul esi, ebx, 0xb0c
add esi, ebp
cmp edi, 0x2c0
jae 0x6016ab
mov ecx, dword [esi + eax*4 - 4]
mov dword [esp], ecx
call fcn.00600860
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
mov edx, eax
imul eax, ecx
mov ebx, dword [esp + 0x2c]
add eax, ebx
movsd xmm0, qword [esp + 4]
mov ebp, dword [esp + 0xa4]
cmp ebp, ebx
jbe 0x6016a2
mov esi, dword [esp + 0xa0]
movsd xmm1, qword [esi + ebx*8]
subsd xmm1, xmm0
cmp ebp, eax
ja 0x6015ff
mov ecx, ebp
call fcn.00456b50
mov eax, ebx
mov ecx, ebp
call fcn.00456b50
mov eax, edi
mov ecx, 0x2c0
call fcn.00456b50
mov eax, ebx
mov ecx, esi
call fcn.00456b50
call fcn.00456b50
mov ecx, esi
call fcn.00456b50
call fcn.00456b40
mov byte [ebx + eax], 0
inc eax
cmp edx, eax
jbe 0x6016e0
cmp ecx, eax
ja 0x6016d1
jmp 0x6016ef
mov dword [esp + 0xd0], 1
add esp, 0x74
ret
call fcn.00456b50
lea eax, [0x7346e0]
mov dword [esp], eax
lea eax, [0x7ca28c]
mov dword [esp + 4], eax
call fcn.00430590
nop
call fcn.00455690
jmp fcn.00601040