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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5eaa8d
mov eax, dword fs:[0]
push eax
sub esp, 0x78
mov eax, dword [0x64e2c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
call eax
mov edx, dword [esi]
mov ecx, esi
mov dword [ebp - 0x68], eax
mov edx, dword [edx + 0xa4]
call edx
movss xmm0, dword [0x5eeb5c]
movss dword [ebp - 0x58], xmm0
cmp eax, 1
jne 0x593bbf
movss xmm1, dword [0x5eeaf4]
movss dword [ebp - 0x5c], xmm1
jmp 0x593bcf
xorps xmm0, xmm0
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [0x5eeaf4]
mov eax, dword [esi]
mov ecx, esi
movss dword [ebp - 0x60], xmm0
mov eax, dword [eax + 0xac]
call eax
cmp eax, 1
jne 0x593bf4
movss xmm0, dword [0x5eeaf4]
movss dword [ebp - 0x54], xmm0
jmp 0x593c09
xorps xmm0, xmm0
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [0x5eeaf4]
movss dword [ebp - 0x58], xmm0
mov eax, dword [ebp - 0x68]
movss xmm0, dword [ebp - 0x5c]
movss dword [eax + 0x2110], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [eax + 0x2114], xmm0
mov dword [ebp - 0x6c], 0
movaps xmm0, xmmword [0x5f8cf0]
mov ecx, esi
mov dword [ebp - 4], 0
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
call fcn.00431d50
lea ecx, [ebp - 0x84]
push ecx
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, eax
call fcn.00585b30
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x14]
call eax
mov edi, dword [ebp - 0x64]
mov edx, eax
movss xmm0, dword [ebp - 0x54]
mov ecx, dword [edi + 0x28]
mov ecx, dword [ecx + 0x24]
movss dword [edx + 0x10], xmm0
movss xmm0, dword [ebp - 0x58]
movss dword [edx + 0x14], xmm0
mov dword [edx], ecx
mov eax, dword [edi + 0x28]
movzx eax, byte [eax + 0x70]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x20], xmm0
mov eax, dword [edi + 0x28]
movd xmm0, dword [eax + 0x78]
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x24], xmm0
mov eax, dword [edi + 0x28]
movss xmm0, dword [ebp - 0x5c]
mov eax, dword [eax + 0x94]
mov dword [edx + 0x30], eax
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 0x9c]
movss dword [edx + 0x38], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [edx + 0x3c], xmm0
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x28]
movd xmm0, dword [eax + 0x98]
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x40], xmm0
movss xmm0, dword [ebp - 0x78]
mov eax, dword [edi + 0x28]
movss xmm1, dword [edi + 0x20]
movss xmm5, dword [ebp - 0x84]
movss xmm6, dword [ebp - 0x80]
movss xmm2, dword [eax + 0xb4]
movss xmm3, dword [eax + 0xb8]
movss xmm4, dword [eax + 0xbc]
movss xmm7, dword [ebp - 0x7c]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x58], xmm0
movss xmm0, dword [ebp - 0x70]
movss dword [ebp - 0x54], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm1
movss dword [edx + 0x50], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
movss dword [edx + 0x54], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm1
movss dword [edx + 0x58], xmm0
xorps xmm0, xmm0
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x593d87
ucomiss xmm3, xmm0
lahf
test ah, 0x44
jp 0x593d87
ucomiss xmm4, xmm0
lahf
test ah, 0x44
jnp 0x593d8f
movss xmm0, dword [0x5eeaf4]
mov eax, dword [esi]
lea ecx, [ebp - 0x50]
movss dword [edx + 0x5c], xmm0
movss xmm0, dword [ebp - 0x64]
movss dword [edx + 0x74], xmm0
movss xmm0, dword [ebp - 0x58]
mov eax, dword [eax + 0x50]
movss dword [edx + 0x78], xmm0
movss xmm0, dword [ebp - 0x54]
push ecx
mov ecx, esi
movss dword [edx + 0x60], xmm5
movss dword [edx + 0x64], xmm6
movss dword [edx + 0x70], xmm7
movss dword [edx + 0x7c], xmm0
call eax
mov edx, dword [ebp - 0x68]
movups xmm0, xmmword [eax]
movups xmmword [edx], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [edx + 0x10], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [edx + 0x20], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [edx + 0x30], xmm0
mov ecx, dword [edi + 0x28]
movzx eax, byte [ecx + 0x70]
movups xmm1, xmmword [ecx + 0x84]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movups xmmword [ebp - 0x20], xmm1
movss dword [ebp - 0x30], xmm0
movd xmm0, dword [ecx + 0x74]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
movd xmm0, dword [ecx + 0x7c]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x28], xmm0
movd xmm0, dword [ecx + 0x80]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x24], xmm0
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [edx + 0x1940], xmm0
movups xmm0, xmmword [ebp - 0x20]
movups xmmword [edx + 0x1950], xmm0
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 4], 1
test ecx, ecx
je 0x593e60
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005b26e6
mov esp, ebp
pop ebp
ret 0xc