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

Disassembly:
sub esp, 0x8c
movss xmm0, dword [0x553f68]
comiss xmm0, dword [esp + 0x94]
push ebx
mov ebx, ecx
push esi
mov dword [esp + 0x78], ebx
jb 0x45d20a
mov esi, dword [esp + 0x98]
mov ecx, esi
push ebx
call fcn.004495d0
movups xmm0, xmmword [ebx + 0xc]
mov eax, esi
movups xmmword [esi + 0xc], xmm0
mov cl, byte [ebx + 0x1c]
mov byte [esi + 0x1c], cl
pop esi
pop ebx
add esp, 0x8c
ret 8
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x70], esi
xor ah, ah
mov esi, dword [esp + 0x78]
xor ebx, ebx
push ebp
push edi
xor edi, edi
mov dword [esp + 0x28], ebx
mov edx, dword [esi]
xor ebp, ebp
xorps xmm0, xmm0
mov al, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
movups xmmword [esp + 0x2c], xmm0
mov byte [esp + 0x3c], al
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x40], edx
mov byte [esp + 0x12], ah
mov byte [esp + 0x13], ah
cmp dword [esi + 8], ecx
jle 0x45dd0e
movss xmm5, dword [0x5540d8]
movss xmm1, dword [0x5540e8]
movss xmm0, dword [edx + ecx*4]
mov esi, ecx
inc ecx
movss dword [esp + 0x58], xmm0
ucomiss xmm0, dword [0x5540dc]
mov dword [esp + 0x14], ecx
lahf
test ah, 0x44
jp 0x45d3c6
movss xmm1, dword [edx + ecx*4]
mov eax, ebx
movss xmm2, dword [edx + ecx*4 + 4]
add ecx, 2
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], esi
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x50], xmm2
mov dword [esp + 0x14], ecx
test eax, eax
jne 0x45d2c8
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x34], xmm2
jmp 0x45d302
movss xmm0, dword [esp + 0x2c]
comiss xmm0, xmm1
jbe 0x45d2db
movss dword [esp + 0x2c], xmm1
jmp 0x45d2e8
comiss xmm1, dword [esp + 0x30]
jbe 0x45d2e8
movss dword [esp + 0x30], xmm1
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm2
jbe 0x45d2fb
movss dword [esp + 0x34], xmm2
jmp 0x45d308
comiss xmm2, dword [esp + 0x38]
jbe 0x45d308
movss dword [esp + 0x38], xmm2
lea esi, [ebx + 3]
cmp esi, ebp
jle 0x45d380
mov eax, esi
test eax, eax
jns 0x45d318
add eax, 1
sar eax, 1
add esi, 8
add esi, eax
and esi, 0xfffffff8
cmp ebp, esi
je 0x45d37a
test esi, esi
jle 0x45d34f
lea eax, [esi*4]
push eax
test edi, edi
jne 0x45d342
call fcn.00517259
add esp, 4
mov edi, eax
jmp 0x45d35a
push edi
call fcn.00517264
add esp, 8
mov edi, eax
jmp 0x45d35a
push edi
call fcn.0051723e
add esp, 4
xor edi, edi
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
movss xmm5, dword [0x5540d8]
movss xmm2, dword [esp + 0x50]
movss xmm1, dword [esp + 0x48]
mov dword [esp + 0x20], edi
mov ebp, esi
mov dword [esp + 0x24], ebp
mov dword [edi + ebx*4], 0x47c35100
lea eax, [ebx + 2]
movss dword [edi + ebx*4 + 4], xmm1
lea ebx, [eax + 1]
movss dword [edi + eax*4], xmm2
movss xmm0, dword [edx + ecx*4]
ucomiss xmm0, xmm5
mov dword [esp + 0x28], ebx
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 1
lahf
test ah, 0x44
jnp 0x45d3b9
mov byte [esp + 0x13], 0
movss xmm1, dword [0x5540e8]
jmp 0x45dce9
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x45d492
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x45d492
ucomiss xmm0, dword [0x5540e0]
lahf
test ah, 0x44
jp 0x45d44b
movss xmm0, dword [edx + ecx*4 + 0xc]
lea esi, [ecx + 2]
sub esp, 0x10
xor ah, ah
mov byte [esp + 0x22], ah
movss dword [esp + 0xc], xmm0
movss xmm0, dword [edx + esi*4]
movss dword [esp + 8], xmm0
movss xmm0, dword [edx + ecx*4 + 4]
movss dword [esp + 4], xmm0
movss xmm0, dword [edx + ecx*4]
lea ecx, [esp + 0x30]
movss dword [esp], xmm0
call fcn.00494110
mov ebx, dword [esp + 0x28]
lea ecx, [esi + 2]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
movss xmm1, dword [0x5540e8]
jmp 0x45dce9
ucomiss xmm0, dword [0x5540e4]
lahf
test ah, 0x44
jp 0x45dce9
movss xmm0, dword [edx + ecx*4 + 0x14]
lea esi, [ecx + 4]
sub esp, 0x18
xor ah, ah
mov byte [esp + 0x2a], ah
movss dword [esp + 0x14], xmm0
movss xmm0, dword [edx + esi*4]
movss dword [esp + 0x10], xmm0
movups xmm0, xmmword [edx + ecx*4]
lea ecx, [esp + 0x38]
movups xmmword [esp], xmm0
call fcn.0045e7c0
jmp 0x45d42f
ucomiss xmm0, xmm5
xorps xmm3, xmm3
xorps xmm4, xmm4
xorps xmm1, xmm1
movss dword [esp + 0x50], xmm3
lahf
movss dword [esp + 0x48], xmm4
xorps xmm2, xmm2
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x68], xmm2
test ah, 0x44
jp 0x45d504
movss xmm1, dword [edx + ecx*4]
movss xmm0, dword [edx + ecx*4 + 4]
add ecx, 2
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x14], ecx
cmp ecx, 8
jle 0x45d4fc
movss xmm3, dword [edx + ecx*4 - 0x20]
movss xmm4, dword [edx + ecx*4 - 0x1c]
movss xmm1, dword [edx + ecx*4 - 0x14]
movss xmm2, dword [edx + ecx*4 - 0x10]
jmp 0x45d53d
movss xmm1, dword [esp + 0x44]
jmp 0x45d555
mov eax, dword [esp + 0x78]
movss xmm0, dword [edx + eax*4 + 4]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [edx + eax*4 + 8]
movss dword [esp + 0x18], xmm0
cmp ecx, 6
jle 0x45d555
movss xmm3, dword [edx + ecx*4 - 0x18]
movss xmm4, dword [edx + ecx*4 - 0x14]
movss xmm1, dword [edx + ecx*4 - 0xc]
movss xmm2, dword [edx + ecx*4 - 8]
movss dword [esp + 0x68], xmm2
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x48], xmm4
movss dword [esp + 0x50], xmm3
cmp byte [esp + 0x12], 0
je 0x45d9bb
movaps xmm0, xmm4
sub esp, 0x10
subss xmm0, xmm2
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x70], xmm0
movaps xmm0, xmm3
fld qword [esp + 0x70]
subss xmm0, xmm1
fstp qword [esp + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x70], xmm0
fld qword [esp + 0x70]
fstp qword [esp]
call fcn.005257aa
movss xmm2, dword [esp + 0xb4]
xorps xmm1, xmm1
cvtps2pd xmm2, xmm2
add esp, 0x10
fstp qword [esp + 0x60]
movsd xmm0, qword [esp + 0x60]
comisd xmm0, xmm1
movsd qword [esp + 0x94], xmm2
jbe 0x45d639
divsd xmm2, xmm0
movss xmm0, dword [esp + 0x44]
minsd xmm2, qword [0x5510b0]
cvtps2pd xmm3, xmm0
subss xmm0, dword [esp + 0x50]
movsd qword [esp + 0x60], xmm3
cvtps2pd xmm1, xmm0
movaps xmm0, xmm3
mulsd xmm1, xmm2
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [edi + ebx*4 - 8], xmm0
movss xmm0, dword [esp + 0x68]
cvtps2pd xmm3, xmm0
subss xmm0, dword [esp + 0x48]
movsd qword [esp + 0x84], xmm3
cvtps2pd xmm1, xmm0
movaps xmm0, xmm3
mulsd xmm1, xmm2
movss xmm2, dword [esp + 0x44]
subsd xmm0, xmm1
movss xmm1, dword [esp + 0x68]
cvtpd2ps xmm0, xmm0
movss dword [edi + ebx*4 - 4], xmm0
jmp 0x45d65a
movss xmm1, dword [esp + 0x68]
movss xmm2, dword [esp + 0x44]
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x84], xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x18]
sub esp, 0x10
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x58], xmm0
fld qword [esp + 0x58]
movsd qword [esp + 0x9c], xmm0
movss xmm0, dword [esp + 0x2c]
subss xmm0, xmm2
fstp qword [esp + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x60], xmm0
fld qword [esp + 0x60]
fstp qword [esp]
movsd qword [esp + 0x80], xmm0
call fcn.005257aa
fstp qword [esp + 0x58]
movsd xmm0, qword [esp + 0x58]
xorps xmm1, xmm1
add esp, 0x10
comisd xmm0, xmm1
jbe 0x45d744
movsd xmm1, qword [esp + 0x94]
lea ecx, [esp + 0x20]
divsd xmm1, xmm0
sub esp, 0x10
movsd xmm0, qword [esp + 0x9c]
minsd xmm1, qword [0x5510b0]
mulsd xmm0, xmm1
addsd xmm0, qword [esp + 0x94]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0x80]
mulsd xmm0, xmm1
addsd xmm0, qword [esp + 0x70]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x78]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x54]
movss dword [esp], xmm0
call fcn.00494110
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
test ebx, ebx
jne 0x45d7a3
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
cmp ebp, 3
jge 0x45d78a
cmp ebp, 8
je 0x45d781
push 0x20
test edi, edi
jne 0x45d772
call fcn.00517259
add esp, 4
jmp 0x45d77b
push edi
call fcn.00517264
add esp, 8
mov edi, eax
mov dword [esp + 0x20], edi
mov ebp, 8
mov dword [esp + 0x24], ebp
mov dword [edi], 0x47c35100
mov ebx, 3
mov dword [edi + 4], 0
mov dword [edi + 8], 0
lea ecx, [ebx + 3]
cmp ecx, ebp
jle 0x45d7ff
mov eax, ecx
test eax, eax
jns 0x45d7b3
add eax, 1
sar eax, 1
lea esi, [ecx + 8]
add esi, eax
and esi, 0xfffffff8
cmp ebp, esi
je 0x45d7f9
test esi, esi
jle 0x45d7ea
lea eax, [esi*4]
push eax
test edi, edi
jne 0x45d7dd
call fcn.00517259
add esp, 4
mov edi, eax
jmp 0x45d7f5
push edi
call fcn.00517264
add esp, 8
mov edi, eax
jmp 0x45d7f5
push edi
call fcn.0051723e
add esp, 4
xor edi, edi
mov dword [esp + 0x20], edi
mov ebp, esi
mov dword [esp + 0x24], ebp
movss xmm2, dword [esp + 0x1c]
lea eax, [ebx + 2]
movss xmm0, dword [esp + 0x2c]
comiss xmm0, xmm2
mov dword [edi + ebx*4], 0x47c35080
movss xmm1, dword [esp + 0x18]
movss dword [edi + ebx*4 + 4], xmm2
lea ebx, [eax + 1]
mov dword [esp + 0x28], ebx
movss dword [edi + eax*4], xmm1
jbe 0x45d83a
movss dword [esp + 0x2c], xmm2
jmp 0x45d847
comiss xmm2, dword [esp + 0x30]
jbe 0x45d847
movss dword [esp + 0x30], xmm2
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm1
jbe 0x45d9a5
movss dword [esp + 0x34], xmm1
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
movss xmm0, dword [esp + 0x58]
ucomiss xmm0, dword [0x5540e8]
lahf
test ah, 0x44
jp 0x45d43e
cmp byte [esp + 0x13], 0
je 0x45dc49
mov eax, dword [esp + 0x78]
sub esp, 0x10
movss xmm3, dword [edx + ecx*4 - 8]
movss dword [esp + 0x68], xmm3
movss xmm0, dword [edx + eax*4 + 0x10]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [edx + eax*4 + 0x14]
movss dword [esp + 0x58], xmm0
movaps xmm0, xmm3
subss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x80], xmm0
movss xmm0, dword [edx + ecx*4 - 0xc]
fld qword [esp + 0x80]
subss xmm0, xmm2
fstp qword [esp + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x80], xmm0
fld qword [esp + 0x80]
fstp qword [esp]
call fcn.005257aa
movss xmm2, dword [esp + 0xb4]
xorps xmm1, xmm1
cvtps2pd xmm2, xmm2
add esp, 0x10
fstp qword [esp + 0x70]
movsd xmm0, qword [esp + 0x70]
comisd xmm0, xmm1
movsd qword [esp + 0x8c], xmm2
jbe 0x45db14
divsd xmm2, xmm0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
movss xmm0, dword [esp + 0x1c]
minsd xmm2, qword [0x5510b0]
cvtps2pd xmm3, xmm0
subss xmm0, dword [ecx + eax*4 - 0xc]
movsd qword [esp + 0x60], xmm3
cvtps2pd xmm1, xmm0
movaps xmm0, xmm3
mulsd xmm1, xmm2
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [edi + ebx*4 - 8], xmm0
movss xmm0, dword [esp + 0x18]
cvtps2pd xmm3, xmm0
subss xmm0, dword [esp + 0x58]
movsd qword [esp + 0x84], xmm3
cvtps2pd xmm1, xmm0
movaps xmm0, xmm3
mulsd xmm1, xmm2
subsd xmm0, xmm1
movss xmm1, dword [esp + 0x1c]
cvtpd2ps xmm0, xmm0
movss dword [edi + ebx*4 - 4], xmm0
movss xmm0, dword [esp + 0x18]
jmp 0x45db35
comiss xmm1, dword [esp + 0x38]
jbe 0x45d85c
movss dword [esp + 0x38], xmm1
jmp 0x45d85c
movss xmm1, dword [esp + 0x58]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jp 0x45db03
test ebx, ebx
jne 0x45da2d
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
cmp ebp, 3
jge 0x45da14
cmp ebp, 8
je 0x45da0b
push 0x20
test edi, edi
jne 0x45d9fc
call fcn.00517259
add esp, 4
jmp 0x45da05
push edi
call fcn.00517264
add esp, 8
mov edi, eax
mov dword [esp + 0x20], edi
mov ebp, 8
mov dword [esp + 0x24], ebp
mov dword [edi], 0x47c35100
mov ebx, 3
mov dword [edi + 4], 0
mov dword [edi + 8], 0
lea ecx, [ebx + 3]
cmp ecx, ebp
jle 0x45da89
mov eax, ecx
test eax, eax
jns 0x45da3d
add eax, 1
sar eax, 1
lea esi, [ecx + 8]
add esi, eax
and esi, 0xfffffff8
cmp ebp, esi
je 0x45da83
test esi, esi
jle 0x45da74
lea eax, [esi*4]
push eax
test edi, edi
jne 0x45da67
call fcn.00517259
add esp, 4
mov edi, eax
jmp 0x45da7f
push edi
call fcn.00517264
add esp, 8
mov edi, eax
jmp 0x45da7f
push edi
call fcn.0051723e
add esp, 4
xor edi, edi
mov dword [esp + 0x20], edi
mov ebp, esi
mov dword [esp + 0x24], ebp
movss xmm2, dword [esp + 0x1c]
lea eax, [ebx + 2]
movss xmm0, dword [esp + 0x2c]
comiss xmm0, xmm2
mov dword [edi + ebx*4], 0x47c35080
movss xmm1, dword [esp + 0x18]
movss dword [edi + ebx*4 + 4], xmm2
lea ebx, [eax + 1]
mov dword [esp + 0x28], ebx
movss dword [edi + eax*4], xmm1
jbe 0x45dac4
movss dword [esp + 0x2c], xmm2
jmp 0x45dad1
comiss xmm2, dword [esp + 0x30]
jbe 0x45dad1
movss dword [esp + 0x30], xmm2
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm1
jbe 0x45daec
movss dword [esp + 0x34], xmm1
mov byte [esp + 0x12], 1
jmp 0x45d85c
comiss xmm1, dword [esp + 0x38]
jbe 0x45daf9
movss dword [esp + 0x38], xmm1
mov byte [esp + 0x12], 1
jmp 0x45d85c
movss xmm1, dword [esp + 0x18]
movss xmm2, dword [esp + 0x1c]
jmp 0x45d864
movss xmm1, dword [esp + 0x1c]
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x18]
cvtps2pd xmm2, xmm0
movsd qword [esp + 0x84], xmm2
movss xmm2, dword [esp + 0x48]
sub esp, 0x10
subss xmm2, xmm0
movss xmm0, dword [esp + 0x60]
subss xmm0, xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm0
movsd qword [esp + 0x58], xmm2
fld qword [esp + 0x58]
fstp qword [esp + 8]
movsd qword [esp + 0x60], xmm1
fld qword [esp + 0x60]
fstp qword [esp]
movsd qword [esp + 0x78], xmm2
movsd qword [esp + 0x68], xmm1
call fcn.005257aa
fstp qword [esp + 0x80]
movsd xmm0, qword [esp + 0x80]
xorps xmm1, xmm1
add esp, 0x10
comisd xmm0, xmm1
jbe 0x45dc49
movsd xmm2, qword [esp + 0x8c]
lea ecx, [esp + 0x20]
divsd xmm2, xmm0
sub esp, 0x10
movsd xmm0, qword [esp + 0x68]
minsd xmm2, qword [0x5510b0]
mulsd xmm0, xmm2
addsd xmm0, qword [esp + 0x70]
cvtpd2ps xmm1, xmm0
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [esp + 0x78]
mulsd xmm0, xmm2
addsd xmm0, qword [esp + 0x94]
movsd qword [esp + 0x78], xmm0
cvtpd2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp], xmm0
call fcn.00494110
movsd xmm1, qword [esp + 0x58]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x7c]
movsd xmm2, qword [esp + 0x68]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
cvtpd2ps xmm0, xmm1
movss dword [edi + eax*4 + 4], xmm0
cvtpd2ps xmm0, xmm2
movss dword [edi + eax*4 + 8], xmm0
test ebx, ebx
je 0x45dcdd
jle 0x45dc6a
movss xmm0, dword [edi + ebx*4 - 4]
movss xmm1, dword [0x5540e8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x45dce5
lea ecx, [ebx + 1]
mov dword [esp + 0x58], ecx
cmp ecx, ebp
jle 0x45dcce
mov eax, ecx
test eax, eax
jns 0x45dc7e
add eax, 1
sar eax, 1
lea esi, [ecx + 8]
add esi, eax
and esi, 0xfffffff8
cmp ebp, esi
je 0x45dcc8
test esi, esi
jle 0x45dcb5
lea eax, [esi*4]
push eax
test edi, edi
jne 0x45dca8
call fcn.00517259
add esp, 4
mov edi, eax
jmp 0x45dcc0
push edi
call fcn.00517264
add esp, 8
mov edi, eax
jmp 0x45dcc0
push edi
call fcn.0051723e
add esp, 4
xor edi, edi
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x20], edi
mov ebp, esi
mov dword [esp + 0x24], ebp
mov eax, ebx
mov ebx, ecx
mov dword [esp + 0x28], ebx
mov dword [edi + eax*4], 0x47c35280
movss xmm1, dword [0x5540e8]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
movss xmm5, dword [0x5540d8]
mov edx, dword [esp + 0x40]
cmp ecx, dword [eax + 8]
jl 0x45d265
mov al, byte [esp + 0x3c]
movups xmm0, xmmword [esp + 0x2c]
mov esi, dword [esp + 0xa0]
push 0
mov dword [esi], edi
mov dword [esi + 4], ebp
mov dword [esi + 8], ebx
movups xmmword [esi + 0xc], xmm0
mov byte [esi + 0x1c], al
call fcn.0051723e
add esp, 4
mov eax, esi
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x8c
ret 8