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

Disassembly:
sub esp, 0x8c
movss xmm0, dword [0x554fc8]
comiss xmm0, dword [esp + 0x94]
push ebx
mov ebx, ecx
push esi
mov dword [esp + 0x78], ebx
jb 0x45d8ca
mov esi, dword [esp + 0x98]
mov ecx, esi
push ebx
call fcn.00449c90
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 0x45e3ce
movss xmm5, dword [0x555138]
movss xmm1, dword [0x555148]
movss xmm0, dword [edx + ecx*4]
mov esi, ecx
inc ecx
movss dword [esp + 0x58], xmm0
ucomiss xmm0, dword [0x55513c]
mov dword [esp + 0x14], ecx
lahf
test ah, 0x44
jp 0x45da86
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 0x45d988
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x34], xmm2
jmp 0x45d9c2
movss xmm0, dword [esp + 0x2c]
comiss xmm0, xmm1
jbe 0x45d99b
movss dword [esp + 0x2c], xmm1
jmp 0x45d9a8
comiss xmm1, dword [esp + 0x30]
jbe 0x45d9a8
movss dword [esp + 0x30], xmm1
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm2
jbe 0x45d9bb
movss dword [esp + 0x34], xmm2
jmp 0x45d9c8
comiss xmm2, dword [esp + 0x38]
jbe 0x45d9c8
movss dword [esp + 0x38], xmm2
lea esi, [ebx + 3]
cmp esi, ebp
jle 0x45da40
mov eax, esi
test eax, eax
jns 0x45d9d8
add eax, 1
sar eax, 1
add esi, 8
add esi, eax
and esi, 0xfffffff8
cmp ebp, esi
je 0x45da3a
test esi, esi
jle 0x45da0f
lea eax, [esi*4]
push eax
test edi, edi
jne 0x45da02
call fcn.0051821c
add esp, 4
mov edi, eax
jmp 0x45da1a
push edi
call fcn.00518227
add esp, 8
mov edi, eax
jmp 0x45da1a
push edi
call fcn.00518201
add esp, 4
xor edi, edi
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
movss xmm5, dword [0x555138]
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 0x45da79
mov byte [esp + 0x13], 0
movss xmm1, dword [0x555148]
jmp 0x45e3a9
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x45db52
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x45db52
ucomiss xmm0, dword [0x555140]
lahf
test ah, 0x44
jp 0x45db0b
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.004947e0
mov ebx, dword [esp + 0x28]
lea ecx, [esi + 2]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
movss xmm1, dword [0x555148]
jmp 0x45e3a9
ucomiss xmm0, dword [0x555144]
lahf
test ah, 0x44
jp 0x45e3a9
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.0045ee80
jmp 0x45daef
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 0x45dbc4
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 0x45dbbc
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 0x45dbfd
movss xmm1, dword [esp + 0x44]
jmp 0x45dc15
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 0x45dc15
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 0x45e07b
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.0052677a
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 0x45dcf9
divsd xmm2, xmm0
movss xmm0, dword [esp + 0x44]
minsd xmm2, qword [0x552108]
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 0x45dd1a
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.0052677a
fstp qword [esp + 0x58]
movsd xmm0, qword [esp + 0x58]
xorps xmm1, xmm1
add esp, 0x10
comisd xmm0, xmm1
jbe 0x45de04
movsd xmm1, qword [esp + 0x94]
lea ecx, [esp + 0x20]
divsd xmm1, xmm0
sub esp, 0x10
movsd xmm0, qword [esp + 0x9c]
minsd xmm1, qword [0x552108]
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.004947e0
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
test ebx, ebx
jne 0x45de63
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
cmp ebp, 3
jge 0x45de4a
cmp ebp, 8
je 0x45de41
push 0x20
test edi, edi
jne 0x45de32
call fcn.0051821c
add esp, 4
jmp 0x45de3b
push edi
call fcn.00518227
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 0x45debf
mov eax, ecx
test eax, eax
jns 0x45de73
add eax, 1
sar eax, 1
lea esi, [ecx + 8]
add esi, eax
and esi, 0xfffffff8
cmp ebp, esi
je 0x45deb9
test esi, esi
jle 0x45deaa
lea eax, [esi*4]
push eax
test edi, edi
jne 0x45de9d
call fcn.0051821c
add esp, 4
mov edi, eax
jmp 0x45deb5
push edi
call fcn.00518227
add esp, 8
mov edi, eax
jmp 0x45deb5
push edi
call fcn.00518201
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 0x45defa
movss dword [esp + 0x2c], xmm2
jmp 0x45df07
comiss xmm2, dword [esp + 0x30]
jbe 0x45df07
movss dword [esp + 0x30], xmm2
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm1
jbe 0x45e065
movss dword [esp + 0x34], xmm1
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
movss xmm0, dword [esp + 0x58]
ucomiss xmm0, dword [0x555148]
lahf
test ah, 0x44
jp 0x45dafe
cmp byte [esp + 0x13], 0
je 0x45e309
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.0052677a
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 0x45e1d4
divsd xmm2, xmm0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
movss xmm0, dword [esp + 0x1c]
minsd xmm2, qword [0x552108]
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 0x45e1f5
comiss xmm1, dword [esp + 0x38]
jbe 0x45df1c
movss dword [esp + 0x38], xmm1
jmp 0x45df1c
movss xmm1, dword [esp + 0x58]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jp 0x45e1c3
test ebx, ebx
jne 0x45e0ed
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
cmp ebp, 3
jge 0x45e0d4
cmp ebp, 8
je 0x45e0cb
push 0x20
test edi, edi
jne 0x45e0bc
call fcn.0051821c
add esp, 4
jmp 0x45e0c5
push edi
call fcn.00518227
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 0x45e149
mov eax, ecx
test eax, eax
jns 0x45e0fd
add eax, 1
sar eax, 1
lea esi, [ecx + 8]
add esi, eax
and esi, 0xfffffff8
cmp ebp, esi
je 0x45e143
test esi, esi
jle 0x45e134
lea eax, [esi*4]
push eax
test edi, edi
jne 0x45e127
call fcn.0051821c
add esp, 4
mov edi, eax
jmp 0x45e13f
push edi
call fcn.00518227
add esp, 8
mov edi, eax
jmp 0x45e13f
push edi
call fcn.00518201
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 0x45e184
movss dword [esp + 0x2c], xmm2
jmp 0x45e191
comiss xmm2, dword [esp + 0x30]
jbe 0x45e191
movss dword [esp + 0x30], xmm2
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm1
jbe 0x45e1ac
movss dword [esp + 0x34], xmm1
mov byte [esp + 0x12], 1
jmp 0x45df1c
comiss xmm1, dword [esp + 0x38]
jbe 0x45e1b9
movss dword [esp + 0x38], xmm1
mov byte [esp + 0x12], 1
jmp 0x45df1c
movss xmm1, dword [esp + 0x18]
movss xmm2, dword [esp + 0x1c]
jmp 0x45df24
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.0052677a
fstp qword [esp + 0x80]
movsd xmm0, qword [esp + 0x80]
xorps xmm1, xmm1
add esp, 0x10
comisd xmm0, xmm1
jbe 0x45e309
movsd xmm2, qword [esp + 0x8c]
lea ecx, [esp + 0x20]
divsd xmm2, xmm0
sub esp, 0x10
movsd xmm0, qword [esp + 0x68]
minsd xmm2, qword [0x552108]
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.004947e0
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 0x45e39d
jle 0x45e32a
movss xmm0, dword [edi + ebx*4 - 4]
movss xmm1, dword [0x555148]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x45e3a5
lea ecx, [ebx + 1]
mov dword [esp + 0x58], ecx
cmp ecx, ebp
jle 0x45e38e
mov eax, ecx
test eax, eax
jns 0x45e33e
add eax, 1
sar eax, 1
lea esi, [ecx + 8]
add esi, eax
and esi, 0xfffffff8
cmp ebp, esi
je 0x45e388
test esi, esi
jle 0x45e375
lea eax, [esi*4]
push eax
test edi, edi
jne 0x45e368
call fcn.0051821c
add esp, 4
mov edi, eax
jmp 0x45e380
push edi
call fcn.00518227
add esp, 8
mov edi, eax
jmp 0x45e380
push edi
call fcn.00518201
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 [0x555148]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
movss xmm5, dword [0x555138]
mov edx, dword [esp + 0x40]
cmp ecx, dword [eax + 8]
jl 0x45d925
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.00518201
add esp, 4
mov eax, esi
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x8c
ret 8