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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov esi, esp
mov dword [esi + 0x78], ebp
mov edx, dword [ebp + 0x14]
mov dword [esi + 0x7c], esp
mov dword [esi + 0x88], 0xffffffff
mov dword [esi + 0x84], 0x1004fef0
mov eax, dword fs:[0]
mov dword [esi + 0x80], eax
lea eax, [esi + 0x80]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
movss xmm3, dword [edx]
mulss xmm3, dword [eax]
movss xmm4, dword [edx + 4]
mulss xmm4, dword [eax + 4]
movss xmm2, dword [edx + 8]
mulss xmm2, dword [eax + 8]
cmp byte [0x10270420], 0
je 0x1004f07f
movss xmm0, dword [ebp + 0x10]
xorps xmm1, xmm1
addss xmm3, xmm1
addss xmm4, xmm3
addss xmm2, xmm4
movaps xmm3, xmm0
subss xmm3, xmm2
ucomiss xmm1, xmm3
jae 0x1004f069
mov dword [esi + 0x3c], ecx
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x30]
mov eax, dword [0x1026fc70]
mov ecx, dword [eax]
mov dl, 1
mov dword [esi + 0x38], edx
test bl, 4
movss dword [esi + 0x48], xmm2
movss dword [esi + 0x40], xmm3
jne 0x1004ec28
mov edx, dword [ecx]
mov edi, dword [eax + 0x28]
test byte [edi + edx], 2
jne 0x1004ec28
mov dword [esi + 0x38], 0
test ebx, 0x20000
jne 0x1004ef6e
mov edx, dword [ecx]
mov dword [esi + 0x88], 0xffffffff
mov dword [esi + 0x44], 0
movss xmm1, dword [0x10144000]
maxss xmm1, xmm0
movss dword [esi + 0x4c], xmm1
mov ecx, dword [0x102700e8]
mov eax, dword [eax + 0x178]
mov eax, dword [eax + edx]
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
mov dword [esi + 0x88], 0xffffffff
mov dword [esp], eax
call edx
sub esp, 4
test eax, eax
je 0x1004ee6b
mov edi, eax
mov ecx, dword [0x1027041c]
mov eax, dword [ecx]
call dword [eax + 0x34]
test eax, eax
je 0x1004ee6b
mov eax, dword [0x1026fc70]
mov ecx, dword [eax + 0x16c]
cmp dword [ecx + edi], 0
movss xmm4, dword [esi + 0x40]
movss xmm5, dword [esi + 0x4c]
jle 0x1004ee89
mov eax, dword [eax + 0x108]
movzx eax, word [eax + edi]
mov dword [esi + 0x10], 0xdf06d54
mov ecx, dword [esi + 0x10]
bswap ecx
mov dword [esi + 0x10], ecx
add dword [esi + 0x10], 0xac420ff3
mov ecx, dword [esi + 0x10]
rol ecx, 0xc
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
je 0x1004eda7
mov dword [esi + 0x10], 0xd7b7ba94
mov ecx, dword [esi + 0x10]
bswap ecx
mov dword [esi + 0x10], ecx
add dword [esi + 0x10], 0x6b454875
mov ecx, dword [esi + 0x10]
ror ecx, 1
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
je 0x1004eda7
mov dword [esi + 0x10], 0xbd82620a
mov ecx, dword [esi + 0x10]
bswap ecx
mov dword [esi + 0x10], ecx
add dword [esi + 0x10], 0x359d7d45
mov ecx, dword [esi + 0x10]
rol ecx, 2
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
je 0x1004eda7
mov dword [esi + 0x10], 0xe5cef2b7
mov ecx, dword [esi + 0x10]
bswap ecx
mov dword [esi + 0x10], ecx
add dword [esi + 0x10], 0x481d311b
mov ecx, dword [esi + 0x10]
rol ecx, 0xf
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
je 0x1004eda7
mov dword [esi + 0x10], 0x5ebf6459
mov ecx, dword [esi + 0x10]
bswap ecx
mov dword [esi + 0x10], ecx
add dword [esi + 0x10], 0x869b40a6
mov ecx, dword [esi + 0x10]
rol ecx, 3
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
je 0x1004eda7
mov dword [esi + 0x10], 0x2a953870
mov ecx, dword [esi + 0x10]
bswap ecx
mov dword [esi + 0x10], ecx
add dword [esi + 0x10], 0xfc76ad8
mov ecx, dword [esi + 0x10]
rol ecx, 4
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, eax
jne 0x1004ee89
mov ebx, dword [esi + 0x3c]
movss xmm0, dword [ebx + 4]
mov dword [esi + 0x10], 0x49cd9b29
mov eax, dword [esi + 0x10]
bswap eax
mov dword [esi + 0x10], eax
add dword [esi + 0x10], 0x56643359
mov eax, dword [esi + 0x10]
rol eax, 5
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x10], 0xb504e725
mov ecx, dword [esi + 0x10]
bswap ecx
mov dword [esi + 0x10], ecx
add dword [esi + 0x10], 0xe3dcfb4b
mov ecx, dword [esi + 0x10]
rol ecx, 0x12
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x10], 0xee529ca9
mov edx, dword [esi + 0x10]
bswap edx
mov dword [esi + 0x10], edx
add dword [esi + 0x10], 0x56643359
mov edx, dword [esi + 0x10]
rol edx, 5
mov dword [esi + 0x10], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 0x10], 0xb504e725
mov edi, dword [esi + 0x10]
bswap edi
mov dword [esi + 0x10], edi
add dword [esi + 0x10], 0xe3dcfb4b
mov edi, dword [esi + 0x10]
rol edi, 0x12
mov dword [esi + 0x10], edi
movd xmm1, eax
movd xmm2, edx
movd xmm3, ecx
mov eax, dword [esi + 0x10]
punpckldq xmm1, xmm2
cvtdq2ps xmm1, xmm1
movd xmm2, eax
punpckldq xmm3, xmm2
cvtdq2ps xmm2, xmm3
divps xmm1, xmm2
mulss xmm0, xmm1
shufps xmm1, xmm1, 0x55
ucomiss xmm1, xmm0
seta al
mov edi, dword [ebp + 0x14]
jmp 0x1004ee91
xor eax, eax
movss xmm5, dword [esi + 0x4c]
movaps xmm1, xmm5
mov edi, dword [ebp + 0x14]
movss xmm4, dword [esi + 0x40]
mov ebx, dword [esi + 0x44]
mov ecx, dword [esi + 0x38]
test cl, cl
jne 0x1004eece
jmp 0x1004eee2
xor eax, eax
mov edi, dword [ebp + 0x14]
mov ebx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
movss xmm1, dword [ebx + 4]
divss xmm1, dword [0x10144000]
minss xmm1, dword [0x10141e50]
mulss xmm1, xmm5
test al, al
mov ebx, dword [esi + 0x44]
je 0x1004eeb7
movaps xmm5, xmm1
movaps xmm0, xmm5
test bl, bl
je 0x1004ef53
test cl, cl
je 0x1004ef5e
test cl, cl
je 0x1004eee2
movss xmm0, dword [0x101439c0]
test al, al
jne 0x1004eede
mulss xmm5, xmm0
mulss xmm1, xmm0
movss xmm0, dword [ebp + 0x18]
test bl, bl
je 0x1004ef80
xorps xmm2, xmm2
maxss xmm2, dword [esi + 0x48]
movss xmm3, dword [0x101439c4]
test al, al
jne 0x1004ef07
mulss xmm5, xmm3
mulss xmm1, xmm3
movss xmm3, dword [0x10144020]
addss xmm3, xmm1
ucomiss xmm3, xmm2
jbe 0x1004ef80
unpcklps xmm2, xmm1
shufps xmm3, xmm3, 0
subps xmm2, xmm3
xorps xmm3, xmm3
maxps xmm3, xmm2
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x55
divss xmm3, xmm1
movss xmm1, dword [0x10141e50]
movaps xmm2, xmm1
subss xmm2, xmm3
xorps xmm3, xmm3
ucomiss xmm2, xmm3
jae 0x1004ef78
xorps xmm0, xmm0
jmp 0x1004ef80
movaps xmm0, xmm1
test cl, cl
jne 0x1004eeca
movaps xmm5, xmm0
test cl, cl
jne 0x1004eece
jmp 0x1004eee2
mov cl, 1
mov dword [esi + 0x44], ecx
jmp 0x1004ec3b
minss xmm1, xmm2
mulss xmm0, xmm1
mov eax, dword [0x1026fc80]
bswap eax
mov edx, dword [0x1026fc84]
add edx, eax
mov ecx, dword [0x1026fc88]
ror edx, cl
mulss xmm0, dword [edx + 0x20]
mulss xmm0, xmm5
mov eax, dword [0x1026fc70]
mov ecx, dword [eax]
mov eax, dword [eax + 0x1cc]
mov ecx, dword [ecx]
mulss xmm0, dword [eax + ecx]
minss xmm0, xmm4
mov eax, dword [ebp + 0xc]
movss xmm1, dword [eax + 8]
mulss xmm1, xmm0
movsd xmm2, qword [eax]
shufps xmm0, xmm0, 0
mulps xmm0, xmm2
movsd xmm2, qword [edi]
addps xmm2, xmm0
movlps qword [edi], xmm2
addss xmm1, dword [edi + 8]
movss dword [edi + 8], xmm1
movaps xmm0, xmm2
mulss xmm0, xmm2
xorps xmm3, xmm3
addss xmm0, xmm3
shufps xmm2, xmm2, 0x55
mulss xmm2, xmm2
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm1, xmm2
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x1004f01b
sqrtsd xmm0, xmm0
jmp 0x1004f030
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm3, xmm3
fstp qword [esi + 0x70]
movsd xmm0, qword [esi + 0x70]
mov eax, dword [esi + 0x3c]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
ucomiss xmm1, xmm3
jne 0x1004f041
jnp 0x1004f069
movss xmm0, dword [eax + 4]
ucomiss xmm1, xmm0
jbe 0x1004f069
divss xmm0, xmm1
movsd xmm1, qword [edi]
movaps xmm2, xmm0
unpcklps xmm2, xmm0
mulps xmm2, xmm1
movlps qword [edi], xmm2
mulss xmm0, dword [edi + 8]
movss dword [edi + 8], xmm0
mov eax, dword [esi + 0x80]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
movss dword [esi + 0x40], xmm4
movss dword [esi + 0x38], xmm3
movss dword [esi + 0x48], xmm2
mov dword [esi + 0x3c], ecx
mov byte [0x10270420], 1
mov ecx, dword [0x10270110]
mov eax, 0xeff5c924
mov edx, 0x11d29dc5
mov dword [esi + 0x54], edx
mov dword [esi + 0x50], eax
mov eax, 0x862b76e9
mov edx, 0x5dde11d2
mov dword [esi + 0x5c], edx
mov dword [esi + 0x58], eax
mov eax, 0x465ecf84
mov edx, 0x1f8873dd
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], eax
mov eax, 0xd774a709
mov edx, 0xc56f1130
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], eax
mov eax, 0x8eaabf57
mov edx, 0x7db7fea6
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], eax
mov eax, 0xf24a048c
mov edx, 0x2eab4eb7
mov dword [esi + 0x1c], edx
mov dword [esi + 0x18], eax
mov eax, 0x232990e1
mov edx, 0x71e703bc
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], eax
mov eax, 0xb204d456
mov edx, 0xc56f7555
mov dword [esi + 0x2c], edx
mov dword [esi + 0x28], eax
lea eax, [esi + 0x10]
xor edx, edx
movaps xmm0, xmmword [esi + 0x50]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x50], xmm0
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x60], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
mov dword [esi + 0x88], 0
lea edx, [esi + 0x50]
mov dword [esp], edx
call eax
sub esp, 4
mov dword [0x1027041c], eax
mov ecx, dword [esi + 0x3c]
movss xmm2, dword [esi + 0x48]
movss xmm3, dword [esi + 0x38]
movss xmm4, dword [esi + 0x40]
jmp 0x1004ebc2