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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x100
mov ebx, dword [ebp + 8]
cmp dword [edx + 8], 0
mov edi, edx
mov dword [esp + 0x1c], ecx
je 0x4e9589
movups xmm0, xmmword [edi + 0xc]
xor eax, eax
movups xmmword [esp + 0x50], xmm0
movups xmm0, xmmword [edi + 0x1c]
movups xmmword [esp + 0x60], xmm0
movups xmm0, xmmword [edi + 0x2c]
movups xmmword [esp + 0x70], xmm0
movups xmm0, xmmword [edi + 0x3c]
movups xmmword [esp + 0x80], xmm0
jmp 0x4e9600
cmp dword [edi + 0x78], 0
je 0x4e95b8
movss xmm0, dword [edi + 0x84]
movsd xmm1, qword [edi + 0x7c]
cmp dword [edi + 0x54], 0
je 0x4e95c4
movups xmm2, xmmword [edi + 0x58]
cmp dword [edi + 0x68], 0
je 0x4e95d1
movss xmm3, dword [edi + 0x74]
movsd xmm4, qword [edi + 0x6c]
jmp 0x4e95e0
xorps xmm1, xmm1
xorps xmm0, xmm0
cmp dword [edi + 0x54], 0
jne 0x4e95a2
movaps xmm2, xmmword [0x573b70]
cmp dword [edi + 0x68], 0
jne 0x4e95ac
movaps xmm4, xmmword [0x573b80]
movss xmm3, dword [0x573b90]
mov eax, 1
movlps qword [esp + 0x50], xmm1
movss dword [esp + 0x58], xmm0
movups xmmword [esp + 0x68], xmm2
movlps qword [esp + 0x5c], xmm4
movss dword [esp + 0x64], xmm3
lea ecx, [esp + 0xbc]
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
call fcn.00477a80
movups xmm0, xmmword [esp + 0xbc]
movaps xmm6, xmmword [ebx]
movaps xmm5, xmmword [ebx + 0x10]
movaps xmm4, xmmword [ebx + 0x20]
movaps xmm3, xmmword [ebx + 0x30]
movups xmm7, xmmword [esp + 0xcc]
movaps xmm1, xmm0
movaps xmm2, xmm0
movaps xmmword [esp], xmm3
shufps xmm1, xmm0, 0
shufps xmm2, xmm0, 0x55
mulps xmm1, xmm6
mulps xmm2, xmm5
addps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm0, xmm0, 0xff
mulps xmm1, xmm4
mulps xmm0, xmm3
movups xmm3, xmmword [esp + 0xdc]
addps xmm1, xmm2
movaps xmm2, xmm7
addps xmm0, xmm1
movaps xmm1, xmm7
shufps xmm2, xmm7, 0x55
shufps xmm1, xmm7, 0
movaps xmmword [esp + 0x20], xmm0
mulps xmm2, xmm5
movaps xmm0, xmmword [esp]
mulps xmm1, xmm6
addps xmm2, xmm1
movaps xmm1, xmm7
shufps xmm1, xmm7, 0xaa
shufps xmm7, xmm7, 0xff
mulps xmm1, xmm4
mulps xmm7, xmm0
addps xmm1, xmm2
movaps xmm2, xmm3
addps xmm7, xmm1
movaps xmm1, xmm3
shufps xmm2, xmm3, 0x55
shufps xmm1, xmm3, 0
mulps xmm2, xmm5
mulps xmm1, xmm6
addps xmm2, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xaa
shufps xmm3, xmm3, 0xff
mulps xmm3, xmm0
movups xmm0, xmmword [esp + 0xec]
mulps xmm1, xmm4
addps xmm1, xmm2
addps xmm3, xmm1
movaps xmm1, xmm0
movaps xmm2, xmm0
shufps xmm1, xmm0, 0
shufps xmm2, xmm0, 0x55
mulps xmm1, xmm6
mulps xmm2, xmm5
addps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
shufps xmm0, xmm0, 0xff
mulps xmm0, xmmword [esp]
mulps xmm1, xmm4
movaps xmm4, xmm3
addps xmm1, xmm2
movaps xmm2, xmm3
shufps xmm4, xmm3, 0x16
mulps xmm2, xmm3
addps xmm0, xmm1
movaps xmm1, xmm3
movaps xmm6, xmm0
shufps xmm1, xmm3, 0xef
movaps xmm5, xmm0
movaps xmmword [esp + 0x30], xmm0
shufps xmm6, xmm0, 0x16
shufps xmm5, xmm0, 0xef
mulps xmm6, xmm1
movaps xmm1, xmm2
mulps xmm5, xmm4
unpckhpd xmm1, xmm2
subps xmm5, xmm6
movaps xmm6, xmm7
addps xmm1, xmm2
shufps xmm6, xmm7, 1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
addss xmm2, xmm1
movss xmm1, dword [0x573b90]
sqrtss xmm2, xmm2
movaps xmm4, xmm1
divss xmm4, xmm2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x60
movaps xmm0, xmm5
shufps xmm4, xmm4, 0
mulps xmm4, xmm3
shufps xmm3, xmm3, 6
mulps xmm2, xmm3
movaps xmm3, xmm2
unpckhpd xmm3, xmm2
subps xmm3, xmm2
movaps xmm2, xmm5
shufps xmm2, xmm5, 0x90
mulps xmm6, xmm2
movaps xmm2, xmm3
shufps xmm2, xmm5, 0x30
shufps xmm5, xmm3, 2
shufps xmm0, xmm2, 0x2d
movaps xmm2, xmm7
shufps xmm5, xmm3, 0x58
shufps xmm2, xmm7, 0x5a
mulps xmm2, xmm0
movaps xmm0, xmm7
mulps xmm0, xmm7
subps xmm6, xmm2
movaps xmm2, xmm0
unpckhpd xmm2, xmm0
addps xmm2, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0x55
addss xmm0, xmm2
movaps xmm2, xmm1
sqrtss xmm0, xmm0
divss xmm2, xmm0
shufps xmm2, xmm2, 0
mulps xmm2, xmm7
shufps xmm7, xmm7, 0xbf
mulps xmm7, xmm5
movaps xmm5, xmmword [esp + 0x20]
addps xmm7, xmm6
movss xmm6, dword [0x573bd0]
mulps xmm7, xmmword [0x573ba0]
mulps xmm7, xmm5
movaps xmm0, xmm7
unpckhpd xmm0, xmm7
addps xmm0, xmm7
movaps xmm7, xmm5
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
addss xmm3, xmm0
movaps xmm0, xmm5
mulps xmm0, xmm0
movaps xmm5, xmm0
unpckhpd xmm5, xmm0
addps xmm5, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0x55
addss xmm0, xmm5
movaps xmm5, xmmword [0x573bb0]
sqrtss xmm0, xmm0
andps xmm5, xmm3
cmpunordss xmm3, xmm3
orps xmm5, xmmword [0x573bc0]
andps xmm6, xmm3
andnps xmm3, xmm5
movaps xmm5, xmm1
orps xmm6, xmm3
movaps xmm3, xmm4
mulss xmm6, xmm0
unpckhpd xmm3, xmm4
divss xmm1, xmm6
movaps xmm6, xmm2
shufps xmm6, xmm2, 0x55
shufps xmm1, xmm1, 0
mulps xmm1, xmm7
xorps xmm7, xmm7
movaps xmm0, xmm1
ucomiss xmm7, xmm3
shufps xmm0, xmm1, 0x55
movaps xmmword [esp], xmm0
movaps xmm0, xmm2
unpckhpd xmm0, xmm2
jae 0x4e98ef
movss xmm5, dword [0x573b90]
addss xmm6, xmm1
ucomiss xmm7, xmm6
addss xmm5, xmm3
jae 0x4e9963
addss xmm5, xmm6
movss xmm6, dword [0x573bd4]
shufps xmm1, xmm4, 0xd6
unpcklps xmm0, xmm4
xorps xmm3, xmm3
sqrtss xmm3, xmm5
shufps xmm1, xmm4, 0xe2
movaps xmm4, xmmword [esp]
subps xmm0, xmm1
subss xmm4, xmm2
divss xmm6, xmm3
movaps xmm7, xmm6
mulss xmm4, xmm6
shufps xmm7, xmm6, 0
mulss xmm6, xmm5
mulps xmm7, xmm0
jmp 0x4e99e9
movaps xmm7, xmm1
subss xmm5, xmm3
subss xmm6, xmm1
xorps xmm3, xmm3
unpckhpd xmm7, xmm1
ucomiss xmm3, xmm6
movaps xmmword [esp + 0x20], xmm7
movaps xmm7, xmm4
shufps xmm4, xmm4, 0x55
jae 0x4e99a2
movlhps xmm5, xmm2
shufps xmm6, xmm1, 0xd4
addss xmm4, xmm0
movaps xmm0, xmm7
shufps xmm5, xmm2, 0xe2
shufps xmm6, xmm1, 0x52
movss xmm2, dword [0x573bd4]
subss xmm0, dword [esp + 0x20]
addps xmm6, xmm5
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x55
sqrtss xmm1, xmm1
divss xmm2, xmm1
movaps xmm7, xmm2
mulss xmm4, xmm2
mulss xmm0, xmm2
shufps xmm7, xmm2, 0
mulps xmm7, xmm6
jmp 0x4e99e6
subss xmm5, xmm6
movss xmm3, dword [0x573bd4]
unpckhps xmm1, xmm2
xorps xmm0, xmm0
sqrtss xmm0, xmm5
addps xmm4, xmm1
divss xmm3, xmm0
movaps xmm0, xmmword [esp]
subss xmm0, xmm2
movaps xmm6, xmm0
movaps xmm7, xmm3
mulss xmm5, xmm3
mulss xmm6, xmm3
shufps xmm7, xmm3, 0
mulps xmm7, xmm4
movaps xmm4, xmm5
jmp 0x4e99e9
subss xmm5, xmm6
movss xmm6, dword [0x573bd4]
subss xmm0, xmm4
xorps xmm3, xmm3
sqrtss xmm3, xmm5
divss xmm6, xmm3
movaps xmm3, xmmword [esp]
addss xmm3, xmm2
unpcklps xmm5, xmm3
movaps xmm3, xmmword [esp + 0x20]
addss xmm3, xmm7
movaps xmm7, xmm6
mulss xmm3, xmm6
mulss xmm0, xmm6
shufps xmm7, xmm6, 0
movaps xmm4, xmm3
mulps xmm7, xmm5
movaps xmm6, xmm0
cmp dword [edi + 0x9c], 0x80000000
je 0x4e9ae1
mov esi, dword [edi + 0xa0]
mov edi, dword [edi + 0xa4]
movaps xmmword [esp], xmm4
movaps xmmword [esp + 0x20], xmm6
movaps xmmword [esp + 0xa0], xmm7
test edi, edi
je 0x4e9a59
js 0x4e9af5
movzx eax, byte [0x597110]
mov eax, dword [0x5970d8]
test eax, eax
jne 0x4e9a3e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e9a4d
mov dword [0x5970d8], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x4e9a5e
mov ecx, 1
mov edx, edi
call fcn.00429f40
mov ebx, 1
movaps xmm0, xmmword [esp + 0x30]
shufps xmm0, xmm0, 0xe9
movaps xmmword [esp + 0x90], xmm0
push edi
push esi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movaps xmm2, xmmword [esp + 0xa0]
movaps xmm0, xmmword [0x573bb0]
movaps xmm3, xmmword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0xc]
movaps xmm1, xmm2
xorps xmm3, xmm0
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
xorps xmm1, xmm0
movaps xmm0, xmmword [esp]
movss dword [eax + 0xc], xmm1
movaps xmm1, xmmword [esp + 0x90]
shufps xmm0, xmm2, 0xd4
shufps xmm0, xmm2, 0x52
movlps qword [eax + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x20]
movss dword [eax + 0x18], xmm0
movss dword [eax + 0x1c], xmm3
movlps qword [eax + 0x20], xmm1
mov dword [eax + 0x28], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x584bc4
mov edx, 0x1a
push 0x584be0
call fcn.0046f1c0
call fcn.00429f00
nop word [eax + eax]