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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb20
mov eax, dword [0x5080e8]
xor eax, esp
mov dword [esp + 0xb1c], eax
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x98]
push esi
shr eax, 1
mov esi, ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], eax
mov dword [esp + 4], edx
push edi
cmp eax, 0x10
jbe 0x49e38d
lea eax, [eax + eax*2]
xor ecx, ecx
add eax, eax
mov edx, 0x1c
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004b9b3a
add esp, 4
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov ecx, eax
shr ecx, 0x10
movss xmm2, dword [0x4fe288]
movzx edx, cl
mov ecx, eax
movzx edi, al
shr eax, 0x18
shr ecx, 8
movzx ecx, cl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
cmp dword [esi + 0x2c], 0x1d
addsd xmm0, qword [eax*8 + 0x4fe320]
cvtpd2ps xmm1, xmm0
divss xmm1, xmm2
movss dword [esp + 0x2c], xmm1
jne 0x49e3ff
movss xmm0, dword [edx*4 + 0x4f7098]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [ecx*4 + 0x4f7098]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [edi*4 + 0x4f7098]
jmp 0x49e45c
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x4fe320]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm2
movss dword [esp + 0x20], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x4fe320]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm2
movss dword [esp + 0x24], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edi
shr edi, 0x1f
addsd xmm0, qword [edi*8 + 0x4fe320]
cvtpd2ps xmm0, xmm0
divss xmm0, xmm2
xor ecx, ecx
movss dword [esp + 0x28], xmm0
mov dword [esp + 0x14], ecx
cmp dword [ebp + 0xc], ecx
jbe 0x49e75d
mov eax, dword [ebp + 0x14]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4fe320]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x18], xmm0
mov edx, dword [ebp + 8]
mov esi, dword [edx + ecx*8 + 0xc]
sub esi, dword [edx + ecx*8 + 4]
mov eax, dword [edx + ecx*8 + 8]
mov edi, dword [edx + ecx*8]
sub eax, edi
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movaps xmm1, xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
movss dword [esp + 0xc], xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x49e4de
sqrtsd xmm0, xmm0
jmp 0x49e4e3
call fcn.004d2a80
cvtsd2ss xmm0, xmm0
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x54], 0
movss xmm1, dword [esp + 0x18]
addss xmm0, xmm0
movd xmm2, dword [eax + ecx*8 + 4]
movd xmm5, dword [eax + ecx*8 + 8]
movd xmm6, dword [eax + ecx*8 + 0xc]
mov eax, dword [esp + 0x10]
movd xmm7, esi
divss xmm1, xmm0
mov esi, dword [esp + 8]
mov dword [esp + 0x70], 0
mov dword [esp + 0x8c], 0
movss xmm0, dword [esp + 0xc]
xorps xmm0, xmmword [0x4f8970]
movd xmm3, dword [eax + 0x1c]
mulss xmm0, xmm1
cvtdq2ps xmm7, xmm7
movss dword [esp + 0xc], xmm0
movd xmm4, edi
mulss xmm7, xmm1
movd xmm1, dword [eax + 0x20]
mov eax, ecx
cvtdq2ps xmm4, xmm4
shr eax, 1
cvtdq2ps xmm3, xmm3
lea edi, [eax + eax*2]
add edi, edi
movaps xmm0, xmm4
addss xmm4, xmm7
addss xmm3, dword [0x4fe250]
subss xmm0, xmm7
cvtdq2ps xmm2, xmm2
lea ecx, [edi*8]
sub ecx, edi
addss xmm0, xmm3
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x30], xmm0
addss xmm4, xmm3
addss xmm1, dword [0x4fe250]
movaps xmm0, xmm2
subss xmm0, dword [esp + 0xc]
cvtdq2ps xmm5, xmm5
addss xmm0, xmm1
movss dword [esp + 0x68], xmm4
cvtdq2ps xmm6, xmm6
movss dword [esp + 0x34], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [esp + 0x3c], xmm0
movaps xmm0, xmm5
subss xmm0, xmm7
addss xmm7, xmm5
movups xmm5, xmmword [esp + 0x20]
addss xmm0, xmm3
addss xmm7, xmm3
movups xmmword [esp + 0x90], xmm5
movss dword [esp + 0x4c], xmm0
movaps xmm0, xmm6
subss xmm0, dword [esp + 0xc]
addss xmm6, dword [esp + 0xc]
movss dword [esp + 0x84], xmm7
addss xmm0, xmm1
addss xmm6, xmm1
movss dword [esp + 0x50], xmm0
movups xmm0, xmmword [esp + 0x20]
movss dword [esp + 0x88], xmm6
movups xmmword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0xc]
addss xmm0, xmm2
addss xmm0, xmm1
movss dword [esp + 0x6c], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [esp + 0x74], xmm0
movups xmm0, xmmword [esp + 0x30]
movups xmmword [esi + ecx*4], xmm0
movq xmm0, qword [esp + 0x40]
movq qword [esi + ecx*4 + 0x10], xmm0
movaps xmm0, xmm5
movups xmm2, xmmword [esp + 0x4c]
lea eax, [edi + 2]
movq xmm1, qword [esp + 0x5c]
movups xmm4, xmmword [esp + 0x68]
movq xmm3, qword [esp + 0x78]
psrldq xmm0, 0xc
movd dword [esi + ecx*4 + 0x18], xmm0
movaps xmm0, xmm5
movups xmmword [esi + ecx*4 + 0x1c], xmm2
movq qword [esi + ecx*4 + 0x2c], xmm1
psrldq xmm0, 0xc
movd edx, xmm0
movaps xmm0, xmm5
psrldq xmm0, 0xc
mov dword [esi + ecx*4 + 0x34], edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 8]
movups xmmword [esi + ecx*4], xmm4
movq qword [esi + ecx*4 + 0x10], xmm3
movd esi, xmm0
movups xmm0, xmmword [esp + 0x84]
mov dword [eax + ecx*4 + 0x18], esi
lea eax, [edi + 3]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esp + 8]
movups xmmword [eax + ecx*4], xmm2
movq qword [eax + ecx*4 + 0x10], xmm1
mov dword [eax + ecx*4 + 0x18], edx
lea eax, [edi + 4]
mov edx, dword [esp + 8]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [edi + 5]
movups xmmword [edx + ecx*4], xmm0
movq xmm0, qword [esp + 0x94]
movq qword [edx + ecx*4 + 0x10], xmm0
movaps xmm0, xmm5
psrldq xmm0, 0xc
movd dword [edx + ecx*4 + 0x18], xmm0
lea ecx, [eax*8]
sub ecx, eax
movups xmmword [edx + ecx*4], xmm4
movq qword [edx + ecx*4 + 0x10], xmm3
mov dword [edx + ecx*4 + 0x18], esi
mov ecx, dword [esp + 0x14]
add ecx, 2
mov dword [esp + 0x14], ecx
cmp ecx, dword [ebp + 0xc]
jb 0x49e492
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x50]
test eax, eax
jne 0x49e76f
push dword [esi + 0x68]
call fcn.004aecd0
add esp, 4
mov ecx, dword [esi + 0x10]
push 0xffffffffffffffff
push 0
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x8c]
mov eax, dword [esp + 0x10]
mov esi, dword [esi + 0x10]
push 0
push dword [eax + 0x68]
mov edi, dword [esi]
call fcn.004af2f0
add esp, 4
push eax
push esi
call dword [edi + 0x90]
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x10]
push dword [edi + 0x34]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xac]
mov eax, dword [edi + 0x70]
push dword [edi + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
mov eax, dword [edi + 0x10]
add esp, 8
push dword [edi + 0x3c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x44]
push dword [edi + 0x78]
call fcn.004b4100
mov eax, dword [esp + 0x20]
add esp, 4
lea esi, [eax + eax*2]
lea eax, [esp + 0x18]
add esi, esi
push eax
push esi
push 0
push 0
push 0
push 4
push dword [edi + 0x78]
call fcn.004b4520
add esp, 0x1c
lea eax, [esi*8]
sub eax, esi
mov esi, dword [esp + 8]
shl eax, 2
push eax
push esi
push dword [esp + 0x20]
call fcn.004bbb30
add esp, 0xc
push dword [edi + 0x78]
call fcn.004b4550
add esp, 4
cmp dword [esp + 0x1c], 0x10
jbe 0x49e832
push esi
call fcn.004b9938
add esp, 4
mov ecx, dword [esp + 0xb24]
pop edi
pop esi
xor ecx, esp
call fcn.004b992a
mov esp, ebp
pop ebp
ret 0x10