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

Disassembly:
sub esp, 0xb8
push ebp
cmp byte [esi + 0x4c], 0
movss xmm0, dword [0x6d89ac]
movss xmm1, dword [edx + 0x68]
movss dword [esp + 0x4c], xmm0
movss dword [esp + 0x88], xmm0
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esi + 0xbc]
cvtps2pd xmm0, xmm0
mov eax, dword [edx + 0x80]
mov ecx, dword [edx + 0x14]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0xa4], xmm0
movss xmm0, dword [edx + 0x6c]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [edx + 0x70]
movss dword [esp + 0xb8], xmm0
movss xmm0, dword [edx + 0x30]
movss dword [esp + 0xb4], xmm0
movss xmm0, dword [edx + 0x34]
movss dword [esp + 4], xmm0
movq xmm0, qword [edx + 0xc]
movq qword [esp + 0x7c], xmm0
movss xmm0, dword [esi + 4]
movss xmm1, dword [esi + 0x1c]
movss dword [esp + 8], xmm0
movq xmm0, qword [esi + 0x28]
movq qword [esp + 0x54], xmm0
movq xmm0, qword [esi + 0x40]
movq qword [esp + 0x64], xmm0
movq xmm0, qword [esi + 0x34]
movq qword [esp + 0x94], xmm0
movss xmm0, dword [esi + 0xc]
movss dword [esp + 0xb0], xmm0
movss xmm0, dword [esi + 0x10]
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esi + 0x20]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esi + 0x24]
mov dword [esp + 0xa0], eax
mov ebp, dword [eax + 0x2c]
mov eax, dword [eax + 4]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esi + 0x14]
mov dword [esp + 0x90], eax
mov eax, dword [esi + 0x30]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esi + 0x18]
movss dword [esp + 0xac], xmm0
movss xmm0, dword [esi + 0xb0]
mov dword [esp + 0x84], ecx
mov ecx, dword [esi + 0x48]
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x3c]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [0x6db0c0]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x9c], eax
movss dword [esp + 0x70], xmm1
jne 0x5efcfb
movq xmm1, qword [edx + 0x18]
mov ecx, dword [edx + 0x20]
movq qword [esp + 0x24], xmm1
movss xmm1, dword [esp + 0x24]
movss xmm2, dword [esp + 0x28]
cvtps2pd xmm5, xmm1
movapd xmm7, xmm5
mulsd xmm7, xmm5
cvtps2pd xmm4, xmm2
movapd xmm5, xmm4
mulsd xmm5, xmm4
mov dword [esp + 0x2c], ecx
movss xmm3, dword [esp + 0x2c]
cvtps2pd xmm6, xmm3
movapd xmm4, xmm6
mulsd xmm4, xmm6
addsd xmm7, xmm5
addsd xmm7, xmm4
cvtsd2ss xmm4, xmm7
cvtss2sd xmm4, xmm4
sqrtsd xmm4, xmm4
cvtsd2ss xmm4, xmm4
ucomiss xmm4, dword [0x6d89a8]
lahf
test ah, 0x44
jnp 0x5ef724
movsd xmm5, qword [0x6d8a40]
cvtss2sd xmm4, xmm4
divsd xmm5, xmm4
cvtpd2ps xmm4, xmm5
cvtss2sd xmm5, xmm4
cvtps2pd xmm1, xmm1
mulsd xmm5, xmm1
cvtpd2ps xmm1, xmm5
cvtss2sd xmm5, xmm4
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cvtss2sd xmm4, xmm4
mulsd xmm5, xmm2
mulsd xmm4, xmm3
cvtpd2ps xmm2, xmm5
cvtsd2ss xmm3, xmm4
movq xmm4, qword [edx + 0x24]
mov eax, dword [edx + 0x2c]
movq qword [esp + 0xc], xmm4
movss xmm4, dword [esp + 0xc]
cvtss2sd xmm5, dword [esp + 0x10]
cvtps2pd xmm6, xmm4
movapd xmm7, xmm6
mulsd xmm7, xmm6
movapd xmm6, xmm5
mulsd xmm6, xmm5
mov dword [esp + 0x14], eax
cvtss2sd xmm5, dword [esp + 0x14]
addsd xmm7, xmm6
movapd xmm6, xmm5
mulsd xmm6, xmm5
addsd xmm7, xmm6
cvtsd2ss xmm5, xmm7
cvtss2sd xmm5, xmm5
sqrtsd xmm5, xmm5
cvtsd2ss xmm5, xmm5
ucomiss xmm5, dword [0x6d89a8]
lahf
test ah, 0x44
jnp 0x5ef7db
movsd xmm6, qword [0x6d8a40]
cvtss2sd xmm7, dword [esp + 0x10]
cvtss2sd xmm5, xmm5
divsd xmm6, xmm5
cvtpd2ps xmm5, xmm6
cvtss2sd xmm6, xmm5
cvtps2pd xmm4, xmm4
mulsd xmm6, xmm4
cvtpd2ps xmm4, xmm6
cvtss2sd xmm6, xmm5
mulsd xmm6, xmm7
cvtpd2ps xmm6, xmm6
movss dword [esp + 0x10], xmm6
cvtss2sd xmm6, dword [esp + 0x14]
cvtss2sd xmm5, xmm5
mulsd xmm5, xmm6
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x14], xmm5
cvtss2sd xmm5, dword [esp + 0x14]
cvtss2sd xmm7, dword [esp + 0x10]
cvtss2sd xmm6, xmm2
mulsd xmm5, xmm6
cvtss2sd xmm6, xmm3
mulsd xmm6, xmm7
subsd xmm5, xmm6
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x18], xmm5
cvtss2sd xmm6, xmm4
cvtss2sd xmm5, xmm3
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x14]
cvtss2sd xmm7, xmm1
mulsd xmm6, xmm7
subsd xmm5, xmm6
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x1c], xmm5
cvtss2sd xmm5, dword [esp + 0x10]
cvtss2sd xmm6, xmm1
mulsd xmm5, xmm6
cvtss2sd xmm7, xmm4
cvtss2sd xmm6, xmm2
mulsd xmm6, xmm7
subsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x18]
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x20], xmm5
cvtss2sd xmm5, dword [esp + 0x1c]
movapd xmm7, xmm6
mulsd xmm7, xmm6
movapd xmm6, xmm5
mulsd xmm6, xmm5
cvtss2sd xmm5, dword [esp + 0x20]
addsd xmm7, xmm6
movapd xmm6, xmm5
mulsd xmm6, xmm5
addsd xmm7, xmm6
cvtsd2ss xmm5, xmm7
cvtss2sd xmm5, xmm5
sqrtsd xmm5, xmm5
cvtsd2ss xmm5, xmm5
ucomiss xmm5, dword [0x6d89a8]
lahf
test ah, 0x44
jnp 0x5ef900
movsd xmm6, qword [0x6d8a40]
cvtss2sd xmm7, dword [esp + 0x18]
cvtss2sd xmm5, xmm5
divsd xmm6, xmm5
cvtpd2ps xmm5, xmm6
cvtss2sd xmm6, xmm5
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x1c]
cvtpd2ps xmm6, xmm6
movss dword [esp + 0x18], xmm6
cvtss2sd xmm6, xmm5
mulsd xmm6, xmm7
cvtpd2ps xmm6, xmm6
movss dword [esp + 0x1c], xmm6
cvtss2sd xmm6, dword [esp + 0x20]
cvtss2sd xmm5, xmm5
mulsd xmm5, xmm6
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x20], xmm5
movss xmm5, dword [edx]
movss xmm6, dword [edx + 4]
movss xmm7, dword [edx + 8]
cvtps2pd xmm6, xmm6
cvtps2pd xmm5, xmm5
xorps xmm1, xmm0
xorps xmm2, xmm0
xorps xmm3, xmm0
movss xmm0, dword [esp + 0x54]
cvtps2pd xmm0, xmm0
subsd xmm0, xmm5
movss xmm5, dword [esp + 0x58]
cvtps2pd xmm5, xmm5
subsd xmm5, xmm6
movss xmm6, dword [esp + 0x5c]
cvtps2pd xmm6, xmm6
cvtpd2ps xmm5, xmm5
cvtps2pd xmm7, xmm7
subsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x1c]
cvtpd2ps xmm6, xmm6
movss dword [esp + 0x5c], xmm6
cvtss2sd xmm6, xmm5
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x18]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x24], xmm0
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm7
cvtss2sd xmm7, dword [esp + 0x20]
addsd xmm6, xmm0
cvtss2sd xmm0, dword [esp + 0x5c]
mulsd xmm0, xmm7
addsd xmm6, xmm0
xorps xmm0, xmm0
addsd xmm6, xmm0
cvtpd2ps xmm6, xmm6
movss dword [esp + 0x54], xmm6
cvtss2sd xmm6, dword [esp + 0x24]
movss dword [esp + 0x28], xmm5
cvtss2sd xmm5, xmm5
cvtss2sd xmm7, xmm4
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x10]
mulsd xmm5, xmm7
cvtss2sd xmm7, dword [esp + 0x14]
addsd xmm6, xmm5
cvtss2sd xmm5, dword [esp + 0x5c]
mulsd xmm5, xmm7
addsd xmm6, xmm5
addsd xmm6, xmm0
cvtpd2ps xmm5, xmm6
movss dword [esp + 0x58], xmm5
cvtss2sd xmm5, dword [esp + 0x28]
cvtps2pd xmm6, xmm2
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x24]
cvtps2pd xmm7, xmm1
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x5c]
cvtps2pd xmm7, xmm3
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x1c]
addsd xmm5, xmm6
movss xmm6, dword [esp + 0x64]
addsd xmm5, xmm0
cvtpd2ps xmm0, xmm5
movss xmm5, dword [esp + 0x68]
movss dword [esp + 0x28], xmm5
movss dword [esp + 0x24], xmm6
cvtps2pd xmm5, xmm5
mulsd xmm5, xmm7
cvtss2sd xmm7, dword [esp + 0x18]
cvtps2pd xmm6, xmm6
movss dword [esp + 0x5c], xmm0
xorps xmm0, xmm0
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x6c]
mulsd xmm0, xmm0
cvtss2sd xmm7, dword [esp + 0x20]
mulsd xmm6, xmm7
addsd xmm5, xmm6
addsd xmm5, xmm0
cvtpd2ps xmm5, xmm5
cvtss2sd xmm6, dword [esp + 0x10]
movss dword [esp + 0x64], xmm5
cvtss2sd xmm5, dword [esp + 0x68]
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x24]
cvtss2sd xmm7, xmm4
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x6c]
cvtss2sd xmm7, dword [esp + 0x14]
mulsd xmm6, xmm7
addsd xmm5, xmm6
addsd xmm5, xmm0
cvtpd2ps xmm5, xmm5
movss dword [esp + 0x68], xmm5
cvtss2sd xmm5, dword [esp + 0x28]
cvtps2pd xmm6, xmm2
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x24]
cvtps2pd xmm7, xmm1
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x6c]
cvtps2pd xmm7, xmm3
mulsd xmm6, xmm7
addsd xmm5, xmm6
movss xmm6, dword [esp + 0x94]
cvtss2sd xmm7, dword [esp + 0x1c]
addsd xmm5, xmm0
cvtpd2ps xmm5, xmm5
movss dword [esp + 0x6c], xmm5
movss xmm5, dword [esp + 0x98]
movss dword [esp + 0x28], xmm5
cvtps2pd xmm5, xmm5
mulsd xmm5, xmm7
cvtss2sd xmm7, dword [esp + 0x18]
movss dword [esp + 0x24], xmm6
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x20]
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x9c]
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x10]
addsd xmm5, xmm0
cvtpd2ps xmm5, xmm5
movss dword [esp + 0x94], xmm5
cvtss2sd xmm5, dword [esp + 0x98]
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x24]
cvtss2sd xmm7, xmm4
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x14]
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x9c]
mulsd xmm6, xmm7
addsd xmm5, xmm6
addsd xmm5, xmm0
cvtpd2ps xmm5, xmm5
movss dword [esp + 0x98], xmm5
cvtss2sd xmm5, dword [esp + 0x28]
cvtps2pd xmm6, xmm2
mulsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x24]
cvtps2pd xmm7, xmm1
mulsd xmm6, xmm7
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x9c]
cvtps2pd xmm7, xmm3
mulsd xmm6, xmm7
addsd xmm5, xmm6
movss xmm6, dword [esp + 0x7c]
addsd xmm5, xmm0
cvtpd2ps xmm5, xmm5
movss dword [esp + 0x9c], xmm5
movss xmm5, dword [esp + 0x80]
cvtss2sd xmm7, dword [esp + 0x1c]
movss dword [esp + 0x24], xmm6
movss dword [esp + 0x28], xmm5
cvtps2pd xmm5, xmm5
mulsd xmm5, xmm7
cvtss2sd xmm7, dword [esp + 0x18]
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x20]
addsd xmm5, xmm6
cvtss2sd xmm6, dword [esp + 0x84]
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x10]
addsd xmm5, xmm6
cvtss2sd xmm4, xmm4
addsd xmm5, xmm0
cvtpd2ps xmm5, xmm5
movss dword [esp + 0x7c], xmm5
movss xmm5, dword [esp + 0x24]
cvtps2pd xmm6, xmm5
mulsd xmm6, xmm4
cvtss2sd xmm4, dword [esp + 0x80]
mulsd xmm4, xmm7
cvtss2sd xmm7, dword [esp + 0x14]
addsd xmm6, xmm4
cvtss2sd xmm4, dword [esp + 0x84]
mulsd xmm4, xmm7
addsd xmm6, xmm4
addsd xmm6, xmm0
cvtpd2ps xmm4, xmm6
movss dword [esp + 0x80], xmm4
cvtss2sd xmm4, dword [esp + 0x28]
cvtps2pd xmm2, xmm2
mulsd xmm4, xmm2
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm5
mulsd xmm2, xmm1
cvtss2sd xmm1, dword [esp + 0x84]
addsd xmm4, xmm2
cvtps2pd xmm2, xmm3
mulsd xmm1, xmm2
addsd xmm4, xmm1
movss xmm1, dword [esp + 0x70]
addsd xmm4, xmm0
cvtpd2ps xmm0, xmm4
movss dword [esp + 0x84], xmm0
movss xmm0, dword [0x6db0c0]
jmp 0x5efd16
xorps xmm2, xmm2
movss dword [esp + 0x84], xmm2
movss dword [esp + 0x80], xmm2
movss dword [esp + 0x7c], xmm2
movss xmm2, dword [esp + 0x54]
movss xmm3, dword [esp + 0x58]
movss xmm4, dword [esp + 0x5c]
xorps xmm2, xmm0
xorps xmm4, xmm0
xorps xmm3, xmm0
cvtps2pd xmm5, xmm2
movapd xmm7, xmm5
mulsd xmm7, xmm5
cvtps2pd xmm0, xmm3
movapd xmm5, xmm0
mulsd xmm5, xmm0
cvtps2pd xmm6, xmm4
addsd xmm7, xmm5
movsd xmm5, qword [0x6d8a40]
movapd xmm0, xmm6
mulsd xmm0, xmm6
addsd xmm7, xmm0
cvtsd2ss xmm0, xmm7
cvtss2sd xmm0, xmm0
sqrtsd xmm0, xmm0
cvtpd2ps xmm0, xmm0
ucomiss xmm0, dword [0x6d89a8]
lahf
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm3
movss dword [esp + 0x20], xmm4
test ah, 0x44
jnp 0x5efde0
cvtss2sd xmm0, xmm0
cvtps2pd xmm2, xmm2
movapd xmm6, xmm5
divsd xmm6, xmm0
cvtsd2ss xmm0, xmm6
cvtss2sd xmm6, xmm0
mulsd xmm6, xmm2
cvtsd2ss xmm2, xmm6
movss dword [esp + 0x18], xmm2
cvtss2sd xmm2, xmm0
cvtps2pd xmm3, xmm3
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [esp + 0x1c], xmm2
cvtss2sd xmm0, xmm0
cvtps2pd xmm2, xmm4
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x20], xmm0
movss xmm6, dword [esp + 0x68]
cvtss2sd xmm0, dword [esp + 0x64]
movss xmm4, dword [esp + 0x6c]
cvtps2pd xmm2, xmm6
movapd xmm7, xmm2
mulsd xmm7, xmm2
movapd xmm2, xmm0
mulsd xmm2, xmm0
cvtps2pd xmm3, xmm4
addsd xmm7, xmm2
movapd xmm0, xmm3
mulsd xmm0, xmm3
addsd xmm7, xmm0
cvtsd2ss xmm0, xmm7
xorps xmm7, xmm7
cvtss2sd xmm0, xmm0
sqrtsd xmm0, xmm0
cvtpd2ps xmm0, xmm0
ucomiss xmm0, xmm7
lahf
test ah, 0x44
jnp 0x5efe86
cvtss2sd xmm3, dword [esp + 0x64]
cvtss2sd xmm0, xmm0
movapd xmm2, xmm5
divsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
cvtss2sd xmm2, xmm0
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [esp + 0x64], xmm2
cvtss2sd xmm3, xmm0
cvtps2pd xmm2, xmm6
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [esp + 0x68], xmm2
cvtss2sd xmm0, xmm0
cvtps2pd xmm2, xmm4
mulsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [esp + 0x6c], xmm0
cvtss2sd xmm0, dword [esp + 0x58]
cvtss2sd xmm2, dword [esp + 0x54]
cvtss2sd xmm3, dword [esp + 0x5c]
movapd xmm4, xmm0
mulsd xmm4, xmm0
movapd xmm0, xmm2
mulsd xmm0, xmm2
addsd xmm4, xmm0
movapd xmm0, xmm3
mulsd xmm0, xmm3
addsd xmm4, xmm0
cvtpd2ps xmm0, xmm4
movss xmm4, dword [0x6d89ac]
push ebx
cvtss2sd xmm0, xmm0
sqrtsd xmm0, xmm0
cvtpd2ps xmm0, xmm0
xor ebx, ebx
push edi
movss dword [esp + 0x3c], xmm0
movss dword [esp + 0x80], xmm0
test ebp, ebp
jle 0x5eff4d
movss xmm2, dword [esi + 0xb8]
lea ecx, [esi + 0x84]
mov dword [esp + 0x40], ecx
mov ecx, ebp
mov eax, 0x3f800000
lea edi, [esp + 0x14]
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x40]
lea ebx, [ebx]
mov eax, dword [edi]
movss dword [esp + ebx*4 + 0x2c], xmm2
test eax, eax
je 0x5eff45
mov ecx, dword [eax]
cmp ecx, 1
je 0x5eff2b
cmp ecx, 0x8000
jne 0x5eff45
movss xmm3, dword [eax + 0x30]
cvtps2pd xmm3, xmm3
cvtss2sd xmm6, xmm2
addsd xmm3, xmm6
cvtpd2ps xmm3, xmm3
movss dword [esp + ebx*4 + 0x2c], xmm3
inc ebx
add edi, 0x14
cmp ebx, ebp
jl 0x5eff10
cmp byte [edx + 0x64], 0
je 0x5eff58
mov edx, dword [esi + 0x50]
jmp 0x5eff5b
mov edx, dword [edx + 0x60]
sub edx, 0xd001
cmp edx, 5
ja case.default.0x5eff6a
jmp dword [edx*4 + 0x5f0f34]
cvtss2sd xmm2, xmm0
cvtss2sd xmm3, xmm1
comisd xmm2, xmm3
ja 0x5eff82
movaps xmm0, xmm1
movss xmm2, dword [esp + 0x44]
cvtss2sd xmm3, xmm0
cvtps2pd xmm5, xmm2
comisd xmm5, xmm3
ja 0x5eff98
movaps xmm0, xmm2
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm1
comisd xmm3, xmm2
ja case.default.0x5eff6a
comiss xmm1, xmm7
jbe case.default.0x5eff6a
cvtss2sd xmm2, xmm1
cvtss2sd xmm0, xmm0
subsd xmm0, xmm2
cvtss2sd xmm2, dword [esp + 0x4c]
cvtss2sd xmm3, xmm1
mulsd xmm2, xmm0
addsd xmm2, xmm3
xorps xmm3, xmm3
comisd xmm2, xmm3
jbe 0x5effe5
cvtss2sd xmm4, xmm1
divsd xmm4, xmm2
cvtsd2ss xmm4, xmm4
xor eax, eax
cmp ebp, 4
jl 0x5f00b2
lea ecx, [ebp - 3]
movss xmm2, dword [esp + eax*4 + 0x2c]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm0
cvtss2sd xmm5, xmm1
addsd xmm2, xmm5
comisd xmm2, xmm3
jbe 0x5f0020
cvtss2sd xmm5, xmm1
divsd xmm5, xmm2
cvtsd2ss xmm2, xmm5
movss dword [esp + eax*4 + 0x14], xmm2
movss xmm2, dword [esp + eax*4 + 0x30]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm0
cvtss2sd xmm5, xmm1
addsd xmm2, xmm5
comisd xmm2, xmm3
jbe 0x5f004d
cvtss2sd xmm5, xmm1
divsd xmm5, xmm2
cvtsd2ss xmm2, xmm5
movss dword [esp + eax*4 + 0x18], xmm2
movss xmm2, dword [esp + eax*4 + 0x34]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm0
cvtss2sd xmm5, xmm1
addsd xmm2, xmm5
comisd xmm2, xmm3
jbe 0x5f007a
cvtss2sd xmm5, xmm1
divsd xmm5, xmm2
cvtsd2ss xmm2, xmm5
movss dword [esp + eax*4 + 0x1c], xmm2
movss xmm2, dword [esp + eax*4 + 0x38]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm0
cvtss2sd xmm5, xmm1
addsd xmm2, xmm5
comisd xmm2, xmm3
jbe 0x5f00a7
cvtss2sd xmm5, xmm1
divsd xmm5, xmm2
cvtsd2ss xmm2, xmm5
movss dword [esp + eax*4 + 0x20], xmm2
add eax, 4
cmp eax, ecx
jl 0x5efff3
cmp eax, ebp
jge case.default.0x5eff6a
lea ebx, [ebx]
movss xmm2, dword [esp + eax*4 + 0x2c]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm0
cvtss2sd xmm5, xmm1
addsd xmm2, xmm5
comisd xmm2, xmm3
jbe 0x5f00ed
cvtss2sd xmm5, xmm1
divsd xmm5, xmm2
cvtsd2ss xmm2, xmm5
movss dword [esp + eax*4 + 0x14], xmm2
inc eax
cmp eax, ebp
jl 0x5f00c0
jmp case.default.0x5eff6a
cvtss2sd xmm2, xmm0
cvtss2sd xmm3, xmm1
comisd xmm2, xmm3
ja 0x5f0108
movaps xmm0, xmm1
movss xmm2, dword [esp + 0x44]
cvtss2sd xmm3, xmm0
cvtps2pd xmm6, xmm2
comisd xmm6, xmm3
ja 0x5f011e
movaps xmm0, xmm2
cvtps2pd xmm3, xmm2
cvtss2sd xmm6, xmm1
comisd xmm6, xmm3
ja case.default.0x5eff6a
jmp 0x5f0137
movss xmm2, dword [esp + 0x44]
cvtss2sd xmm3, xmm0
cvtps2pd xmm6, xmm2
comisd xmm6, xmm3
ja 0x5f0147
movaps xmm0, xmm2
cvtps2pd xmm3, xmm2
cvtss2sd xmm6, xmm1
ucomisd xmm3, xmm6
lahf
test ah, 0x44
jnp case.default.0x5eff6a
cvtss2sd xmm3, xmm1
cvtss2sd xmm0, xmm0
subsd xmm0, xmm3
cvtss2sd xmm3, xmm1
cvtps2pd xmm2, xmm2
subsd xmm2, xmm3
cvtss2sd xmm3, dword [esp + 0x4c]
mulsd xmm3, xmm0
divsd xmm3, xmm2
movapd xmm4, xmm5
xor eax, eax
cmp ebp, 4
subsd xmm4, xmm3
cvtsd2ss xmm4, xmm4
jl 0x5f0237
lea ecx, [ebp - 3]
jmp 0x5f01a0
movss xmm3, dword [esp + eax*4 + 0x2c]
cvtps2pd xmm3, xmm3
mulsd xmm3, xmm0
divsd xmm3, xmm2
movapd xmm6, xmm5
subsd xmm6, xmm3
cvtsd2ss xmm3, xmm6
movss dword [esp + eax*4 + 0x14], xmm3
movss xmm3, dword [esp + eax*4 + 0x30]
cvtps2pd xmm3, xmm3
mulsd xmm3, xmm0
divsd xmm3, xmm2
movapd xmm6, xmm5
subsd xmm6, xmm3
cvtsd2ss xmm3, xmm6
movss dword [esp + eax*4 + 0x18], xmm3
movss xmm3, dword [esp + eax*4 + 0x34]
cvtps2pd xmm3, xmm3
mulsd xmm3, xmm0
divsd xmm3, xmm2
movapd xmm6, xmm5
subsd xmm6, xmm3
cvtsd2ss xmm3, xmm6
movss dword [esp + eax*4 + 0x1c], xmm3
movss xmm3, dword [esp + eax*4 + 0x38]
cvtps2pd xmm3, xmm3
mulsd xmm3, xmm0
divsd xmm3, xmm2
movapd xmm6, xmm5
subsd xmm6, xmm3
cvtsd2ss xmm3, xmm6
movss dword [esp + eax*4 + 0x20], xmm3
add eax, 4
cmp eax, ecx
jl 0x5f01a0
cmp eax, ebp
jge case.default.0x5eff6a
nop
movss xmm3, dword [esp + eax*4 + 0x2c]
cvtps2pd xmm3, xmm3
mulsd xmm3, xmm0
divsd xmm3, xmm2
movapd xmm6, xmm5
subsd xmm6, xmm3
cvtsd2ss xmm3, xmm6
movss dword [esp + eax*4 + 0x14], xmm3
inc eax
cmp eax, ebp
jl 0x5f0240
jmp case.default.0x5eff6a
cvtss2sd xmm2, xmm0
cvtss2sd xmm3, xmm1
comisd xmm2, xmm3
ja 0x5f0284
movaps xmm0, xmm1
movss dword [esp + 0x3c], xmm0
movss xmm2, dword [esp + 0x44]
cvtss2sd xmm3, xmm0
cvtps2pd xmm5, xmm2
comisd xmm5, xmm3
ja 0x5f02a0
movaps xmm0, xmm2
movss dword [esp + 0x3c], xmm0
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm1
comisd xmm3, xmm2
ja case.default.0x5eff6a
comiss xmm0, xmm7
jbe case.default.0x5eff6a
comiss xmm1, xmm7
jbe case.default.0x5eff6a
fld dword [esp + 0x3c]
fdiv dword [esp + 0x78]
fst qword [esp + 0x44]
fld dword [esp + 0x4c]
fchs
call fcn.0069d430
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
xor edi, edi
fstp dword [esp + 0x40]
test ebp, ebp
jle 0x5f0302
fld dword [esp + edi*4 + 0x2c]
fchs
fld qword [esp + 0x44]
fxch st(1)
call fcn.0069d430
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
inc edi
cmp edi, ebp
fstp dword [esp + edi*4 + 0x10]
jl 0x5f02e0
movss xmm1, dword [esp + 0x78]
xorps xmm7, xmm7
movss xmm4, dword [esp + 0x40]
movss xmm0, dword [esp + 0x10]
cvtss2sd xmm2, xmm4
cvtps2pd xmm3, xmm0
mulsd xmm2, xmm3
xor eax, eax
cmp ebp, 4
cvtsd2ss xmm2, xmm2
movss dword [esp + 0x50], xmm2
jl 0x5f03b3
lea ecx, [ebp - 3]
lea ebx, [ebx]
movss xmm2, dword [esp + eax*4 + 0x14]
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm0
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [esp + eax*4 + 0x2c], xmm2
movss xmm2, dword [esp + eax*4 + 0x18]
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm0
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [esp + eax*4 + 0x30], xmm2
movss xmm2, dword [esp + eax*4 + 0x1c]
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm0
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [esp + eax*4 + 0x34], xmm2
movss xmm2, dword [esp + eax*4 + 0x20]
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm0
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [esp + eax*4 + 0x38], xmm2
add eax, 4
cmp eax, ecx
jl 0x5f0340
cmp eax, ebp
jge 0x5f03e0
jmp 0x5f03c0
movss xmm2, dword [esp + eax*4 + 0x14]
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm0
mulsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
movss dword [esp + eax*4 + 0x2c], xmm2
inc eax
cmp eax, ebp
jl 0x5f03c0
comiss xmm1, xmm7
movaps xmm0, xmm7
movss dword [esp + 0x4c], xmm0
jbe 0x5f0416
cvtss2sd xmm0, xmm1
cvtss2sd xmm2, xmm4
divsd xmm0, xmm2
cvtss2sd xmm1, xmm1
subsd xmm0, xmm1
cvtss2sd xmm1, dword [esp + 0xc]
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x4c], xmm0
movss xmm1, dword [esi + 0xb4]
comiss xmm1, xmm7
movss dword [esp + 0xc], xmm1
jbe 0x5f0463
comiss xmm0, xmm7
jbe 0x5f0463
fld dword [esp + 0xc]
fmul qword [0x779668]
fmul dword [esp + 0x4c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fdiv qword [0x6dd3c8]
fld qword [0x6dd400]
fxch st(1)
call fcn.0069d430
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fstp dword [esp + 0x54]
fld dword [esp + 0x70]
fmul dword [esp + 0x24]
fld dword [esp + 0x6c]
fmul dword [esp + 0x20]
faddp st(1)
fld dword [esp + 0x74]
fmul dword [esp + 0x28]
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
call fcn.00698220
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
movss xmm1, dword [esp + 0xb4]
fmul qword [0x6d8808]
fdiv qword [0x6d8800]
fstp dword [esp + 0x44]
fld dword [esp + 0x58]
fld dword [esp + 0x44]
movss xmm0, dword [esp + 0x44]
fcompi st(1)
fstp st(0)
jb 0x5f0535
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm3, xmm2
jb 0x5f0535
cvtps2pd xmm2, xmm0
movss xmm0, dword [esp + 0x58]
cvtps2pd xmm3, xmm0
subsd xmm2, xmm3
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm1, xmm0
divsd xmm2, xmm1
movss xmm1, dword [esi + 8]
cvtsd2ss xmm0, xmm2
cvtps2pd xmm2, xmm1
movsd xmm1, qword [0x6d8a40]
subsd xmm2, xmm1
cvtss2sd xmm3, xmm0
mulsd xmm2, xmm3
addsd xmm2, xmm1
cvtsd2ss xmm2, xmm2
movss dword [esp + 0x58], xmm2
cvtss2sd xmm2, dword [esp + 0x7c]
subsd xmm2, xmm1
cvtss2sd xmm0, xmm0
mulsd xmm2, xmm0
addsd xmm2, xmm1
cvtsd2ss xmm0, xmm2
jmp 0x5f0585
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
comisd xmm0, xmm1
jbe 0x5f0577
movss xmm0, dword [esi + 8]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x6d8a40]
subsd xmm1, xmm0
addsd xmm1, xmm0
cvtpd2ps xmm1, xmm1
movss dword [esp + 0x58], xmm1
cvtss2sd xmm1, dword [esp + 0x7c]
subsd xmm1, xmm0
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
jmp 0x5f0585
movss xmm0, dword [0x6d89ac]
movss dword [esp + 0x58], xmm0
fld dword [esp + 0x28]
movss dword [esp + 0x10], xmm0
call fcn.00698220
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
movss xmm0, dword [esp + 0x80]
fmul qword [0x6d8808]
movss xmm1, dword [esp + 0x78]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm3, xmm2
fdiv qword [0x6d8800]
fstp dword [esp + 0x44]
jbe 0x5f05e4
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
divsd xmm0, xmm1
movss xmm1, dword [esp + 0x44]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
jmp 0x5f05ea
movss xmm0, dword [esp + 0x44]
comiss xmm0, dword [0x6dc2b0]
jbe 0x5f0642
mov edx, dword [esp + 0xa8]
movss xmm1, dword [edx + 0x68]
cvtss2sd xmm0, xmm0
subsd xmm0, qword [0x763e30]
divsd xmm0, qword [0x779660]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm1
movsd xmm1, qword [0x6d8a40]
subsd xmm1, xmm0
cvtss2sd xmm0, dword [esp + 0x10]
mulsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x10], xmm0
cmp byte [esi + 0xac], 0
cvtss2sd xmm1, dword [esp + 0x50]
cvtss2sd xmm0, dword [esp + 0x58]
mulsd xmm0, xmm1
cvtpd2ps xmm1, xmm0
movss dword [esp + 0x50], xmm1
je 0x5f067f
cvtss2sd xmm2, dword [esp + 0x54]
cvtss2sd xmm0, dword [esp + 0x10]
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x54], xmm0
movss xmm3, dword [esp + 0xb0]
cvtss2sd xmm0, xmm1
cvtps2pd xmm2, xmm3
comisd xmm2, xmm0
ja 0x5f069e
movaps xmm1, xmm3
movss dword [esp + 0x50], xmm1
movss xmm2, dword [esp + 0xb8]
cvtss2sd xmm0, xmm1
cvtps2pd xmm4, xmm2
comisd xmm0, xmm4
ja 0x5f06bd
movaps xmm1, xmm2
movss dword [esp + 0x50], xmm1
mov dword [esp + 0x44], 0
test ebp, ebp
jle 0x5f08fe
lea ecx, [esi + 0x88]
lea eax, [esi + 0x120]
mov dword [esp + 0x40], ecx
mov edx, ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
jmp 0x5f06f0
mov ebx, dword [edx - 4]
test ebx, ebx
je 0x5f08c9
mov eax, dword [ebx]
test eax, eax
je 0x5f08c9
cmp byte [ebx + 0x98], 0
je 0x5f0847
cmp byte [esi + 0xad], 0
je 0x5f0738
movss xmm0, dword [esp + ecx*4 + 0x2c]
cvtss2sd xmm4, dword [esp + 0x58]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x2c], xmm0
cmp byte [esi + 0xae], 0
je 0x5f0764
movss xmm0, dword [esp + ecx*4 + 0x90]
cvtss2sd xmm4, dword [esp + 0x10]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x90], xmm0
movss xmm0, dword [esp + ecx*4 + 0x2c]
lea edi, [esp + ecx*4 + 0x2c]
cvtps2pd xmm4, xmm0
cvtss2sd xmm5, xmm3
comisd xmm5, xmm4
ja 0x5f077e
movaps xmm0, xmm3
cvtps2pd xmm4, xmm0
cvtss2sd xmm5, xmm2
comisd xmm4, xmm5
movss dword [edi], xmm0
ja 0x5f0792
movaps xmm0, xmm2
movss dword [esp + 0x7c], xmm0
movss dword [edi], xmm0
cmp eax, 1
je 0x5f07ac
cmp eax, 0x8000
jne 0x5f085e
fld dword [esp + 0x4c]
fld dword [ebx + 0x14]
fmul qword [0x7793a8]
fdivp st(1)
fmul qword [0x7793a0]
fdiv qword [0x6dd3c8]
fstp dword [esp + 0xc]
fld qword [0x6dd400]
fld dword [esp + 0xc]
call fcn.0069d430
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul dword [esp + 0x7c]
fstp dword [edi]
fld dword [ebx + 0x2c]
call fcn.0069d2e0
fmul dword [esi + 0xb4]
fmul dword [esp + 0x4c]
fstp dword [esp + 0xc]
fld qword [0x6dd400]
fld dword [esp + 0xc]
call fcn.0069d430
fstp dword [esp + 0xc]
mov eax, dword [esp + 0x44]
fld dword [esp + 0xc]
fmul dword [esp + eax*4 + 0x90]
movss xmm2, dword [esp + 0xb8]
movss xmm3, dword [esp + 0xb0]
movss xmm1, dword [esp + 0x50]
mov edx, dword [esp + 0x40]
fstp dword [esp + eax*4 + 0x90]
mov ecx, eax
jmp 0x5f085e
movss xmm0, dword [esp + 0x54]
lea edi, [esp + ecx*4 + 0x2c]
movss dword [edi], xmm1
movss dword [esp + ecx*4 + 0x90], xmm0
mov eax, dword [edx]
sub eax, 1
jne 0x5f08a7
movss xmm4, dword [edi]
movss xmm0, dword [edx + 4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm4, xmm4
mulsd xmm0, xmm4
movss xmm4, dword [esp + ecx*4 + 0x90]
cvtpd2ps xmm0, xmm0
movss dword [edi], xmm0
movss xmm0, dword [edx + 8]
lea eax, [esp + ecx*4 + 0x90]
cvtps2pd xmm0, xmm0
cvtps2pd xmm4, xmm4
mulsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
movss xmm0, dword [edi]
cvtss2sd xmm4, dword [esp + 0xbc]
mov eax, dword [esp + 0x3c]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
jmp 0x5f08e5
xorps xmm0, xmm0
mov eax, dword [esp + 0x3c]
movss dword [eax], xmm0
movss xmm0, dword [0x6d89ac]
movss dword [esp + ecx*4 + 0x90], xmm0
add dword [esp + 0x3c], 4
inc ecx
add edx, 0x14
cmp ecx, ebp
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edx
jl 0x5f06f0
cmp ebp, 2
jge 0x5f0933
mov edx, 2
sub edx, ebp
add edx, edx
add edx, edx
mov ecx, edx
shr ecx, 2
mov eax, 0x3f800000
lea edi, [esp + ebp*4 + 0x90]
rep stosd dword es:[edi], eax
mov ecx, edx
lea ebx, [esi + ebp*4 + 0x120]
shr ecx, 2
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x74]
sub eax, 1
jne 0x5f096b
movss xmm0, dword [esi + 0x78]
cvtss2sd xmm2, dword [esp + 0x54]
cvtps2pd xmm0, xmm0
cvtss2sd xmm1, xmm1
mulsd xmm0, xmm1
cvtpd2ps xmm1, xmm0
movss xmm0, dword [esi + 0x7c]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x54], xmm0
movss xmm5, dword [esp + 0xac]
xorps xmm6, xmm6
ucomiss xmm5, xmm6
cvtss2sd xmm0, xmm1
cvtss2sd xmm1, dword [esp + 0xbc]
lahf
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x50], xmm0
test ah, 0x44
jnp 0x5f0b2c
cvtss2sd xmm1, dword [esp + 0x68]
cvtss2sd xmm0, dword [esp + 0xc0]
movss xmm4, dword [esp + 0x24]
cvtss2sd xmm3, dword [esp + 0xa0]
cvtss2sd xmm6, dword [esp + 0x9c]
mulsd xmm0, xmm1
cvtps2pd xmm1, xmm5
movapd xmm2, xmm0
divsd xmm2, xmm1
cvtsd2ss xmm1, xmm2
cvtps2pd xmm2, xmm4
mulsd xmm3, xmm2
movss xmm2, dword [esp + 0x20]
cvtps2pd xmm7, xmm2
mulsd xmm6, xmm7
cvtss2sd xmm7, dword [esp + 0x28]
addsd xmm3, xmm6
cvtss2sd xmm6, dword [esp + 0xa4]
mulsd xmm6, xmm7
addsd xmm3, xmm6
cvtsd2ss xmm3, xmm3
cvtss2sd xmm6, xmm3
cvtss2sd xmm7, xmm1
comisd xmm6, xmm7
jb 0x5f0a2c
cvtss2sd xmm3, xmm1
subsd xmm3, qword [0x6d8a40]
cvtsd2ss xmm3, xmm3
jmp 0x5f0a60
movaps xmm6, xmm1
xorps xmm6, xmmword [0x6db0c0]
cvtss2sd xmm5, xmm3
cvtps2pd xmm6, xmm6
comisd xmm6, xmm5
jb 0x5f0a57
movsd xmm5, qword [0x6d8a40]
cvtss2sd xmm3, xmm1
subsd xmm5, xmm3
cvtpd2ps xmm3, xmm5
movss xmm5, dword [esp + 0xac]
cvtss2sd xmm6, dword [esp + 0x88]
cvtps2pd xmm4, xmm4
mulsd xmm4, xmm6
cvtss2sd xmm6, dword [esp + 0x84]
cvtps2pd xmm2, xmm2
mulsd xmm2, xmm6
cvtss2sd xmm6, dword [esp + 0x8c]
addsd xmm4, xmm2
cvtss2sd xmm2, dword [esp + 0x28]
mulsd xmm2, xmm6
addsd xmm4, xmm2
cvtpd2ps xmm2, xmm4
cvtss2sd xmm4, xmm2
cvtss2sd xmm6, xmm1
comisd xmm4, xmm6
jb 0x5f0abf
cvtss2sd xmm1, xmm1
subsd xmm1, qword [0x6d8a40]
cvtsd2ss xmm2, xmm1
jmp 0x5f0aea
movaps xmm6, xmm1
xorps xmm6, xmmword [0x6db0c0]
cvtss2sd xmm4, xmm2
cvtps2pd xmm6, xmm6
comisd xmm6, xmm4
jb 0x5f0aea
movsd xmm2, qword [0x6d8a40]
cvtss2sd xmm1, xmm1
subsd xmm2, xmm1
cvtpd2ps xmm2, xmm2
xorps xmm6, xmm6
cvtss2sd xmm1, xmm2
cvtps2pd xmm2, xmm5
mulsd xmm1, xmm2
movapd xmm2, xmm0
subsd xmm2, xmm1
movss xmm1, dword [esi]
cvtps2pd xmm1, xmm1
mulsd xmm2, xmm1
cvtss2sd xmm1, xmm3
cvtps2pd xmm3, xmm5
mulsd xmm1, xmm3
subsd xmm0, xmm1
divsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
movss dword [esi + 0x128], xmm0
jmp 0x5f0b34
fld dword [esi]
fstp dword [esi + 0x128]
movss xmm0, dword [esp + 0x80]
movss xmm1, dword [esp + 0x78]
cvtps2pd xmm2, xmm0
cvtps2pd xmm3, xmm1
comisd xmm2, xmm3
ja 0x5f0b52
movaps xmm0, xmm1
comiss xmm0, xmm6
jbe 0x5f0b93
movsd xmm1, qword [0x6d8a40]
cvtss2sd xmm2, dword [esp + 0x5c]
cvtps2pd xmm0, xmm0
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, xmm2
cvtss2sd xmm2, dword [esp + 0x64]
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtpd2ps xmm1, xmm1
movaps xmm4, xmm0
jmp 0x5f0b9f
movss xmm1, dword [esp + 0x5c]
movss xmm4, dword [esp + 0x64]
movsd xmm3, qword [0x6daef0]
movaps xmm0, xmm4
xorps xmm0, xmmword [0x6db0c0]
cvtss2sd xmm2, xmm1
andpd xmm2, xmm3
cvtps2pd xmm5, xmm0
andpd xmm5, xmm3
cvtsd2ss xmm3, xmm5
cvtsd2ss xmm2, xmm2
cvtss2sd xmm3, xmm3
cvtss2sd xmm5, xmm2
addsd xmm3, xmm5
xor eax, eax
cvtpd2ps xmm3, xmm3
comiss xmm3, xmm6
jbe 0x5f0bff
cvtss2sd xmm2, xmm2
mulsd xmm2, qword [0x6faa40]
cvtss2sd xmm3, xmm3
divsd xmm2, xmm3
addsd xmm2, qword [0x6d8950]
cvttsd2si eax, xmm2
comiss xmm6, xmm0
jbe 0x5f0c0d
mov ecx, 0x100
sub ecx, eax
mov eax, ecx
comiss xmm6, xmm1
jbe 0x5f0c1b
mov edx, 0x200
sub edx, eax
mov eax, edx
and eax, 0x800001ff
jns 0x5f0c29
dec eax
or eax, 0xfffffe00
inc eax
mov edi, dword [esp + 0xa8]
mov ecx, dword [edi + 0x4c9fc]
fild dword [edi + 0x4c9fc]
cvtss2sd xmm0, xmm4
movapd xmm2, xmm0
mulsd xmm2, xmm0
lea eax, [eax + eax*8]
cvtss2sd xmm1, xmm1
lea ebx, [edi + eax*4 + 0x481fc]
add edi, 0x4c9fc
movapd xmm0, xmm1
mulsd xmm0, xmm1
addsd xmm2, xmm0
sqrtsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x80], xmm0
test ecx, ecx
jge 0x5f0c83
fadd dword [0x6db47c]
call fcn.00695070
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
xorps xmm0, xmm0
fld1
xor ecx, ecx
fld st(0)
movss dword [esi + 0xfc], xmm0
fdivrp st(2)
movss dword [esi + 0x100], xmm0
movss dword [esi + 0x104], xmm0
movss dword [esi + 0x108], xmm0
movss dword [esi + 0x10c], xmm0
movss dword [esi + 0x110], xmm0
movss dword [esi + 0x114], xmm0
movss dword [esi + 0x118], xmm0
movss dword [esi + 0x11c], xmm0
cmp dword [edi], ecx
fsub dword [esp + 0x80]
fmulp st(1)
fstp dword [esp + 0x68]
jle 0x5f0d55
mov edx, dword [esp + 0xa8]
movss xmm0, dword [esp + 0x68]
movss xmm2, dword [esp + 0x50]
movss xmm1, dword [esp + 0x80]
add edx, 0x481d8
mov eax, dword [edx]
movss xmm3, dword [ebx + eax*4]
cvtps2pd xmm3, xmm3
cvtss2sd xmm4, xmm1
mulsd xmm3, xmm4
cvtss2sd xmm4, xmm0
addsd xmm3, xmm4
cvtpd2ps xmm3, xmm3
cvtss2sd xmm3, xmm3
cvtss2sd xmm4, xmm2
mulsd xmm3, xmm4
cvtpd2ps xmm3, xmm3
inc ecx
movss dword [esi + eax*4 + 0xfc], xmm3
add edx, 4
cmp ecx, dword [edi]
jl 0x5f0d16
mov edx, dword [esp + 0x98]
fild dword [esp + 0x98]
test edx, edx
jge 0x5f0d6d
fadd qword [0x6d88a8]
fdivr qword [0x779318]
call fcn.00697710
fstp dword [esp + 0x98]
cvtss2sd xmm0, dword [esp + 0x54]
movss xmm4, dword [0x6dd538]
xorps xmm3, xmm3
sqrtsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm4
pop edi
pop ebx
ja 0x5f0da2
movaps xmm0, xmm4
movsd xmm2, qword [0x779310]
cvtss2sd xmm1, xmm0
comisd xmm2, xmm1
movss xmm2, dword [esp + 0x90]
jbe 0x5f0e4c
cvtss2sd xmm4, xmm0
cvtps2pd xmm1, xmm2
mulsd xmm4, xmm1
movsd xmm1, qword [0x6d8a40]
movapd xmm5, xmm1
subsd xmm5, xmm4
cvtps2pd xmm4, xmm2
movapd xmm6, xmm1
subsd xmm6, xmm4
cvtss2sd xmm4, xmm0
mulsd xmm4, qword [0x6d9dc0]
mulsd xmm6, xmm4
cvtps2pd xmm3, xmm2
movapd xmm4, xmm3
mulsd xmm4, xmm3
cvtss2sd xmm3, xmm0
movapd xmm7, xmm1
subsd xmm7, xmm4
movapd xmm4, xmm3
mulsd xmm4, xmm3
mulsd xmm7, xmm4
movss xmm4, dword [0x6dd538]
subsd xmm6, xmm7
sqrtsd xmm3, xmm6
cvtpd2ps xmm3, xmm3
cvtss2sd xmm3, xmm3
subsd xmm5, xmm3
cvtss2sd xmm0, xmm0
movapd xmm3, xmm1
subsd xmm3, xmm0
divsd xmm5, xmm3
cvtsd2ss xmm3, xmm5
jmp 0x5f0e54
movsd xmm1, qword [0x6d8a40]
xor eax, eax
movss dword [esi + 0x184], xmm3
test ebp, ebp
jle 0x5f0f29
lea ecx, [esi + 0x12c]
lea esp, [esp]
movss xmm0, dword [esp + eax*4 + 0x88]
comiss xmm0, xmm4
xorps xmm3, xmm3
ja 0x5f0e84
movaps xmm0, xmm4
movsd xmm6, qword [0x779310]
cvtps2pd xmm5, xmm0
comisd xmm6, xmm5
jbe 0x5f0f19
cvtps2pd xmm4, xmm0
cvtss2sd xmm5, xmm2
mulsd xmm4, xmm5
movapd xmm5, xmm1
subsd xmm5, xmm4
cvtss2sd xmm4, xmm2
movapd xmm6, xmm1
subsd xmm6, xmm4
cvtps2pd xmm4, xmm0
mulsd xmm4, qword [0x6d9dc0]
mulsd xmm6, xmm4
cvtss2sd xmm3, xmm2
movapd xmm4, xmm3
mulsd xmm4, xmm3
cvtps2pd xmm3, xmm0
movapd xmm7, xmm1
subsd xmm7, xmm4
movapd xmm4, xmm3
mulsd xmm4, xmm3
mulsd xmm7, xmm4
movss xmm4, dword [0x6dd538]
subsd xmm6, xmm7
sqrtsd xmm3, xmm6
cvtpd2ps xmm3, xmm3
cvtss2sd xmm3, xmm3
subsd xmm5, xmm3
cvtps2pd xmm0, xmm0
movapd xmm3, xmm1
subsd xmm3, xmm0
divsd xmm5, xmm3
cvtsd2ss xmm3, xmm5
movss dword [ecx], xmm3
inc eax
add ecx, 0x2c
cmp eax, ebp
jl 0x5f0e70
pop ebp
add esp, 0xb8
ret