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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x154
push ebx
push esi
push edi
lea eax, [esp + 0xe0]
push 0x3fc90fdb
push eax
mov esi, ecx
call fcn.00603c20
add esp, 8
push eax
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esi + 8]
lea edx, [esp + 0xa8]
push edx
call fcn.005efd90
mov ecx, eax
call fcn.006020a0
movaps xmm0, xmmword [0x6f2220]
movaps xmm3, xmmword [esp + 0x80]
movaps xmm4, xmmword [esp + 0x70]
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x80]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
movaps xmm2, xmm3
mulps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm4, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esp + 0x60]
mulps xmm0, xmm1
addps xmm4, xmm2
addps xmm0, xmm4
xorps xmm6, xmm6
movaps xmm1, xmm6
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x90]
dec edx
xor edi, edi
cmp eax, edi
addps xmm0, xmm1
movaps xmmword [esp + 0x90], xmm0
mov dword [esi + 0x2c], edx
je 0x4e644f
movaps xmm1, xmmword [eax + 0x40]
subps xmm1, xmm0
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm2, xmm0
movaps xmm4, xmm0
shufps xmm2, xmm0, 0xaa
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm2
movaps xmmword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fcomp dword [0x68b554]
fnstsw ax
test ah, 0x41
jne 0x4e644f
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm4, xmm0
movaps xmm2, xmm0
shufps xmm4, xmm0, 0x55
movaps xmm5, xmm0
shufps xmm2, xmm0, 0xaa
addss xmm5, xmm4
addss xmm5, xmm2
movaps xmmword [esp + 0x10], xmm5
fld dword [esp + 0x10]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x30], xmm1
fnstsw ax
test ah, 0x41
jne 0x4e62b4
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm2
movaps xmmword [esp + 0x10], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x10]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0
mulps xmm1, xmm2
movaps xmmword [esp + 0x10], xmm1
lea eax, [esp + 0x10]
jmp 0x4e62b8
lea eax, [esp + 0x30]
movaps xmm2, xmmword [eax]
shufps xmm2, xmm2, 0x55
movaps xmmword [esp + 0x30], xmm2
fld dword [esp + 0x30]
fabs
fcomp dword [0x68ff24]
fnstsw ax
test ah, 5
jp 0x4e644f
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
movaps xmmword [esp + 0x30], xmm0
fld dword [esp + 0x30]
fabs
fcomp dword [0x68ff24]
fnstsw ax
test ah, 5
jp 0x4e644f
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], 0
movss xmm0, dword [eax]
movaps xmm1, xmm0
movss xmm0, dword [0x68b500]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x68b4fc]
unpcklps xmm1, xmm3
shufps xmm1, xmm3, 0xe1
movss dword [esp + 0x1c], xmm0
movaps xmm0, xmmword [esp + 0x10]
movaps xmm3, xmm2
mulss xmm3, xmm2
subss xmm0, xmm3
movaps xmmword [esp + 0x10], xmm0
sqrtss xmm0, xmm0
movss dword [esp + 0x10], xmm0
movaps xmm5, xmmword [esp + 0x10]
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm4, xmm0
movaps xmm3, xmm0
shufps xmm4, xmm0, 0x55
movaps xmm7, xmm0
shufps xmm3, xmm0, 0xaa
addss xmm7, xmm4
addss xmm7, xmm3
movaps xmmword [esp + 0x30], xmm7
fld dword [esp + 0x30]
fcomp dword [0x68b4fc]
movaps xmmword [esp + 0x50], xmm1
fnstsw ax
test ah, 0x41
jne 0x4e63ed
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
addss xmm0, xmm4
addss xmm0, xmm3
movaps xmmword [esp + 0x10], xmm0
rsqrtss xmm0, xmm0
movss dword [esp + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x10]
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
mulps xmm1, xmm3
movaps xmmword [esp + 0x30], xmm1
lea eax, [esp + 0x30]
jmp 0x4e63f1
lea eax, [esp + 0x50]
movaps xmm0, xmm5
shufps xmm0, xmm5, 0
movaps xmm1, xmm0
movaps xmm0, xmmword [eax]
mulps xmm0, xmm1
lea ecx, [esp + 0x50]
shufps xmm6, xmm0, 0x20
shufps xmm0, xmm6, 0x24
push ecx
lea edx, [esp + 0xa4]
unpcklps xmm2, xmm0
shufps xmm2, xmm0, 0xe1
push edx
movaps xmmword [esp + 0x88], xmm2
movaps xmmword [esp + 0x58], xmm2
call fcn.005ff310
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0x68], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esp + 0x78], xmm0
movaps xmm3, xmmword [eax + 0x20]
add esp, 8
movaps xmmword [esp + 0x80], xmm3
mov eax, dword [esi + 0x38]
cmp eax, edi
jl 0x4e6470
push edi
push eax
mov ecx, 0x6de358
call fcn.004ae200
movaps xmm3, xmmword [esp + 0x80]
mov dword [esp + 0x48], eax
jmp 0x4e6474
mov dword [esp + 0x48], edi
mov eax, dword [esi + 0x40]
cmp eax, edi
jl 0x4e6495
push edi
push eax
mov ecx, 0x6de358
call fcn.004ae200
movaps xmm3, xmmword [esp + 0x80]
mov dword [esp + 0x4c], eax
jmp 0x4e6499
mov dword [esp + 0x4c], edi
mov eax, dword [esi + 0x48]
cmp eax, edi
jl 0x4e64ba
push edi
push eax
mov ecx, 0x6de358
call fcn.004ae200
movaps xmm3, xmmword [esp + 0x80]
mov dword [esp + 0x2c], eax
jmp 0x4e64be
mov dword [esp + 0x2c], edi
mov eax, dword [0x76ba40]
cmp eax, edi
je 0x4e652d
mov al, byte [eax + 0x461]
cmp al, 2
jbe 0x4e652d
cmp al, 6
jae 0x4e652d
mov eax, dword [0x6f2258]
movaps xmm0, xmmword [esp + 0x90]
add eax, 0x8f0
cmp esi, eax
sete cl
xor edx, edx
mov dl, byte [esi + 0x8c]
lea eax, [esp + 0x50]
movaps xmmword [esp + 0x50], xmm3
movaps xmmword [esp + 0x30], xmm0
push ecx
lea ecx, [esp + 0x34]
push edx
push eax
push ecx
call fcn.004e5160
mov edx, dword [0x76ba40]
mov eax, dword [edx + 0xb18]
mov ecx, dword [eax*4 + 0x744b24]
add esp, 0x10
inc ecx
mov dword [eax*4 + 0x744b24], ecx
mov ecx, dword [esi + 8]
xor eax, eax
mov al, byte [esi + 0x8c]
lea edi, [esi + 0x14]
lea ebx, [esi + 0xd0]
push eax
push 0x4d
call fcn.005ef730
movsx ecx, word [eax + 0xc]
mov edx, dword [esi + 0x3c]
mov eax, dword [esp + 0x50]
push ecx
push edi
push edx
push eax
lea ecx, [esp + 0x78]
push ebx
push ecx
call fcn.005bd6f0
mov al, byte [edi]
add esp, 0x20
cmp al, 1
jbe 0x4e65f1
cmp al, 6
je 0x4e65f1
mov ecx, dword [esi + 8]
push 0x8001
call fcn.005f0080
test eax, eax
je 0x4e65f1
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x4e6590
mov eax, dword [eax]
jmp 0x4e6595
mov eax, 0xffff
mov ecx, dword [esp + 0x4c]
xor edx, edx
mov dx, word [esi + 0x60]
push edx
push eax
mov eax, dword [esi + 0x44]
push 0x1f4
push eax
push ecx
mov ecx, dword [esi + 8]
push ebx
lea edx, [esp + 0xb8]
push edx
push 0x8001
call fcn.005f0080
mov ecx, eax
call fcn.0060f0c0
push eax
lea eax, [esp + 0xfc]
push eax
lea ecx, [esp + 0x140]
push ecx
mov ecx, dword [esi + 8]
call fcn.005efd90
mov ecx, eax
call fcn.006020a0
push eax
call fcn.005bae30
add esp, 0x1c
mov ecx, dword [esi + 8]
push 0x8000
call fcn.005f0080
test eax, eax
je 0x4e6634
mov edx, dword [esi + 0x4c]
mov eax, dword [esp + 0x2c]
push edx
push eax
lea ecx, [esp + 0x128]
push ecx
mov ecx, dword [esi + 8]
push 0x8000
call fcn.005f0080
mov ecx, eax
call fcn.0060f0c0
mov edx, dword [esi + 8]
push eax
push edx
call fcn.005b9810
add esp, 0x10
mov eax, dword [esi + 0x50]
xor edi, edi
cmp eax, edi
je 0x4e66ed
mov eax, dword [0x725b2c]
push edi
push edi
mov dword [esi + 0x88], eax
call fcn.005fc670
add esp, 8
cmp eax, edi
mov dword [esi + 0x84], eax
jl 0x4e66ed
movzx ecx, word [esi + 0x54]
mov edx, dword [esi + 0x50]
push ecx
mov ecx, dword [edx]
push ecx
push eax
call fcn.005fcfc0
add esp, 0xc
fld dword [esi + 0x58]
fcomp dword [0x68b4fc]
fnstsw ax
test ah, 0x41
jne 0x4e66b7
fld dword [0x69ae94]
mov edx, dword [esi + 0x58]
fadd dword [0x69ae98]
mov eax, dword [esi + 0x84]
push ecx
fmul dword [0x68b504]
fsub dword [0x68b500]
fstp dword [esp]
push edx
push eax
call fcn.005fcb80
add esp, 0xc
mov ecx, dword [esi + 0x84]
push 0x3dcccccd
push 0x3f666666
push ecx
call fcn.005fcbf0
mov ecx, dword [esi + 8]
add esp, 0xc
lea edx, [esp + 0x50]
push edx
call fcn.005efd30
push eax
mov eax, dword [esi + 0x84]
push eax
call fcn.005fcd80
add esp, 8
mov ecx, dword [esi + 8]
call fcn.005ef730
cmp word [eax + 0xc], 0xffff
jne 0x4e670c
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
push ecx
push edx
call fcn.00558cf0
add esp, 8
mov dword [esi + 0xbc], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret