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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
push 1
push 0xd4
call fcn.0050aa2c
mov edi, dword [ebp + 8]
mov ebx, eax
add esp, 8
mov dword [esp + 0x18], ebx
lea eax, [edi + edi]
mov dword [ebx], edi
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xc]
push 1
push edi
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [ebx + 4], edi
mov dword [ebx + 8], eax
mov dword [ebx + 0x14], 1
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
movss dword [esp], xmm0
push 0x18
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x30], 0xfffffff1
mov dword [ebx + 0x34], 0xffffffd8
mov dword [ebx + 0x38], 0xfffffff1
mov dword [ebx + 0x28], 0x3eb33333
mov dword [ebx + 0x2c], 0x3e4ccccd
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0xc], 0x18
call fcn.004fd870
lea esi, [edi*8]
mov dword [ebx + 0x10], eax
push 1
push esi
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x44], eax
call fcn.0050aa2c
push 1
push esi
mov dword [esp + 0x48], eax
mov dword [ebx + 0x58], eax
call fcn.0050aa2c
mov dword [ebx + 0x48], eax
lea eax, [edi*4]
lea esi, [eax + 0x60]
mov dword [esp + 0x54], eax
push 1
push esi
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x4c], eax
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x5c], eax
call fcn.0050aa2c
add esp, 0x40
mov dword [ebx + 0x88], eax
push 1
push esi
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x8c], eax
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x60], eax
call fcn.0050aa2c
push 1
mov dword [ebx + 0x64], eax
push esi
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x6c], eax
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x70], eax
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x68], eax
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x50], eax
call fcn.0050aa2c
add esp, 0x40
mov dword [ebx + 0x54], eax
push 1
push esi
call fcn.0050aa2c
push 1
lea esi, [edi*4]
mov dword [ebx + 0x84], eax
push esi
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x74], eax
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x78], eax
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x7c], eax
call fcn.0050aa2c
lea esi, [edi*4]
mov dword [esp + 0x58], eax
push 1
push esi
mov dword [ebx + 0x80], eax
call fcn.0050aa2c
push 1
push esi
mov dword [ebx + 0x90], eax
call fcn.0050aa2c
mov dword [ebx + 0x94], eax
add esp, 0x38
lea eax, [edi + edi]
xor esi, esi
test eax, eax
jle 0x4e7d7c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x1c], xmm0
nop dword [eax + eax]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
mov dword [esp + 0xc], 0
mulss xmm1, dword [0x546abc]
divss xmm1, xmm0
movss xmm0, dword [0x51cc74]
comiss xmm0, xmm1
ja 0x4e7d0f
movss xmm2, dword [0x546c98]
comiss xmm2, xmm1
jbe 0x4e7ce6
movaps xmm0, xmm2
mov dword [esp + 0xc], 1
subss xmm0, xmm1
jmp 0x4e7d0c
movss xmm0, dword [0x54555c]
comiss xmm0, xmm1
jbe 0x4e7d01
subss xmm1, xmm2
mov dword [esp + 0xc], 1
jmp 0x4e7d0f
movaps xmm0, xmm2
subss xmm0, xmm1
addss xmm0, xmm2
movaps xmm1, xmm0
mulss xmm1, dword [0x546c70]
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x546b30]
call fcn.0050ab1c
cmp dword [esp + 0xc], 0
movsd xmm1, qword [0x515288]
mulsd xmm0, xmm1
subsd xmm1, xmm0
mulsd xmm1, xmm1
cvtpd2ps xmm1, xmm1
je 0x4e7d55
movss xmm0, dword [0x51cc74]
subss xmm0, xmm1
movaps xmm1, xmm0
cvtps2pd xmm0, xmm1
call fcn.0050ab2e
mov eax, dword [esp + 0x20]
cvtsd2ss xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
movss xmm0, dword [esp + 0x1c]
lea eax, [edi + edi]
cmp esi, eax
jl 0x4e7ca0
lea ecx, [edi + 0x18]
xor esi, esi
mov dword [esp + 0x20], ecx
test ecx, ecx
jle 0x4e7fc1
cmp ecx, 4
jb 0x4e7f56
mov edx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x6c]
lea edx, [edx + ecx*4]
lea eax, [eax + ecx*4]
add edx, 0xfffffffc
add eax, 0xfffffffc
mov dword [esp + 0x1c], edx
cmp dword [ebx + 0x6c], edx
ja 0x4e7dba
cmp eax, dword [ebx + 0x70]
jae 0x4e7f56
mov edx, dword [ebx + 0x68]
lea edx, [edx + ecx*4]
add edx, 0xfffffffc
mov dword [esp + 0x10], edx
cmp dword [ebx + 0x6c], edx
ja 0x4e7dd5
cmp eax, dword [ebx + 0x68]
jae 0x4e7f56
mov edx, dword [ebx + 0x64]
lea edx, [edx + ecx*4]
add edx, 0xfffffffc
mov dword [esp + 0xc], edx
cmp dword [ebx + 0x6c], edx
ja 0x4e7df0
cmp eax, dword [ebx + 0x64]
jae 0x4e7f56
mov edx, dword [ebx + 0x60]
lea edx, [edx + ecx*4]
add edx, 0xfffffffc
mov dword [esp + 0x14], edx
cmp dword [ebx + 0x6c], edx
ja 0x4e7e0b
cmp eax, dword [ebx + 0x60]
jae 0x4e7f56
mov edx, dword [ebx + 0x5c]
lea edx, [edx + ecx*4]
add edx, 0xfffffffc
cmp dword [ebx + 0x6c], edx
ja 0x4e7e22
cmp eax, dword [ebx + 0x5c]
jae 0x4e7f56
mov eax, dword [ebx + 0x70]
cmp eax, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
ja 0x4e7e38
cmp eax, dword [ebx + 0x68]
jae 0x4e7f56
mov edi, dword [ebx + 0x70]
cmp edi, dword [esp + 0xc]
mov edi, dword [ebp + 8]
ja 0x4e7e4d
cmp eax, dword [ebx + 0x64]
jae 0x4e7f56
mov ecx, dword [ebx + 0x70]
cmp ecx, dword [esp + 0x14]
lea ecx, [edi + 0x18]
ja 0x4e7e62
cmp eax, dword [ebx + 0x60]
jae 0x4e7f56
cmp dword [ebx + 0x70], edx
ja 0x4e7e70
cmp eax, dword [ebx + 0x5c]
jae 0x4e7f56
mov eax, dword [ebx + 0x68]
cmp eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
ja 0x4e7e86
cmp eax, dword [ebx + 0x64]
jae 0x4e7f56
mov edi, dword [ebx + 0x68]
cmp edi, dword [esp + 0x14]
mov edi, dword [ebp + 8]
ja 0x4e7e9b
cmp eax, dword [ebx + 0x60]
jae 0x4e7f56
cmp dword [ebx + 0x68], edx
ja 0x4e7ea9
cmp eax, dword [ebx + 0x5c]
jae 0x4e7f56
mov eax, dword [esp + 0x14]
cmp dword [ebx + 0x64], eax
ja 0x4e7ec2
mov edi, dword [ebx + 0x60]
cmp dword [esp + 0xc], edi
mov edi, dword [ebp + 8]
jae 0x4e7f56
cmp dword [ebx + 0x64], edx
ja 0x4e7ed7
mov edi, dword [ebx + 0x5c]
cmp dword [esp + 0xc], edi
mov edi, dword [ebp + 8]
jae 0x4e7f56
cmp dword [ebx + 0x60], edx
ja 0x4e7ee1
cmp eax, dword [ebx + 0x5c]
jae 0x4e7f56
mov eax, ecx
and eax, 0x80000003
jns 0x4e7eef
dec eax
or eax, 0xfffffffc
inc eax
sub ecx, eax
add esi, 4
cmp esi, ecx
jl 0x4e7ef1
lea eax, [ecx + 3]
mov edi, dword [ebx + 0x5c]
cdq
and edx, 3
add edx, eax
mov eax, 0x3f800000
sar edx, 2
shl edx, 4
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebx + 0x60]
mov ecx, edx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebx + 0x64]
mov ecx, edx
shr ecx, 2
mov eax, 0x3f800000
rep stosd dword es:[edi], eax
mov edi, dword [ebx + 0x68]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebx + 0x70]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebx + 0x6c]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x20]
cmp esi, ecx
jge 0x4e7fc1
mov edi, dword [ebx + 0x68]
mov eax, dword [ebx + 0x5c]
mov edx, dword [ebx + 0x60]
mov dword [esp + 0x14], edi
mov edi, dword [ebx + 0x70]
mov dword [esp + 0x10], edi
mov edi, dword [ebx + 0x6c]
mov ebx, dword [ebx + 0x64]
mov dword [esp + 0xc], edi
mov edi, dword [ebp + 8]
nop dword [eax + eax]
mov ecx, dword [esp + 0x14]
mov dword [eax + esi*4], 0x3f800000
mov dword [edx + esi*4], 0
mov dword [ebx + esi*4], 0x3f800000
mov dword [ecx + esi*4], 0x3f800000
mov ecx, dword [esp + 0x10]
mov dword [ecx + esi*4], 0x3f800000
mov ecx, dword [esp + 0xc]
mov dword [ecx + esi*4], 0x3f800000
inc esi
cmp esi, dword [esp + 0x20]
jl 0x4e7f80
mov ebx, dword [esp + 0x18]
test edi, edi
jle 0x4e7fda
mov ecx, dword [esp + 0x2c]
mov eax, 1
mov edi, dword [esp + 0x30]
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
xor esi, esi
test edi, edi
jle 0x4e8093
cmp edi, 4
jb 0x4e8065
mov ecx, dword [ebx + 0x90]
lea eax, [edi*4]
mov edx, dword [ebx + 0x94]
add eax, 0xfffffffc
add eax, ecx
cmp edx, eax
ja 0x4e8019
mov ebx, dword [esp + 0x18]
lea eax, [edi*4]
add eax, 0xfffffffc
add eax, edx
cmp eax, ecx
jae 0x4e8065
mov eax, edi
and eax, 0x80000003
jns 0x4e8027
dec eax
or eax, 0xfffffffc
inc eax
sub edi, eax
nop dword [eax]
add esi, 4
cmp esi, edi
jl 0x4e8030
lea eax, [edi + 3]
mov edi, dword [ebx + 0x90]
cdq
and edx, 3
add edx, eax
xor eax, eax
sar edx, 2
shl edx, 4
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebx + 0x94]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
cmp esi, edi
jge 0x4e8093
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebx + 0x94]
nop word [eax + eax]
mov dword [eax + esi*4], 0
mov dword [ecx + esi*4], 0
inc esi
cmp esi, edi
jl 0x4e8080
lea eax, [edi*4]
mov dword [ebx + 0x98], 0
push 1
push eax
mov dword [ebx + 0x9c], 0x45fa0000
call fcn.0050aa2c
add esp, 8
mov dword [esp + 0x30], eax
xor esi, esi
mov dword [ebx + 0xa4], eax
test edi, edi
jle 0x4e81a1
movd xmm2, dword [ebp + 0xc]
mov ebx, eax
movd xmm3, edi
cvtdq2pd xmm2, xmm2
cvtdq2ps xmm3, xmm3
movsd qword [esp + 0x20], xmm2
movss dword [esp + 0x2c], xmm3
nop dword [eax + eax]
xorps xmm0, xmm0
cvtsi2ss xmm0, esi
cvtps2pd xmm1, xmm0
cvtps2pd xmm0, xmm3
mulsd xmm1, qword [0x515288]
mulsd xmm1, xmm2
divsd xmm1, xmm0
cvtpd2ps xmm1, xmm1
movss dword [esp + 0x30], xmm1
subss xmm1, dword [0x546cb0]
movaps xmm0, xmm1
mulss xmm0, dword [0x546cc8]
mulss xmm0, xmm1
divss xmm0, dword [0x546cc0]
cvtps2pd xmm0, xmm0
call fcn.0050ab28
movss xmm1, dword [0x546c58]
movss xmm2, dword [esp + 0x30]
mulss xmm2, xmm1
mulsd xmm0, qword [0x546c88]
divss xmm2, dword [0x546cb4]
subss xmm1, xmm2
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
movss xmm1, dword [0x546c34]
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
jbe 0x4e817f
movaps xmm0, xmm1
movsd xmm2, qword [esp + 0x20]
movss xmm3, dword [esp + 0x2c]
mulss xmm0, xmm0
movss dword [ebx + esi*4], xmm0
inc esi
cmp esi, edi
jl 0x4e80f0
mov ebx, dword [esp + 0x18]
movd xmm0, dword [ebp + 8]
movd xmm1, dword [ebp + 0xc]
cvtdq2pd xmm0, xmm0
mov dword [ebx + 0xa8], 0x26901d7d
mov dword [ebx + 0xac], 0x3f800000
mov dword [ebx + 0xb0], 0x41f00000
cvtdq2pd xmm1, xmm1
mulsd xmm0, qword [0x546c90]
divsd xmm0, xmm1
call fcn.0050ab28
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movd xmm0, dword [ebp + 8]
cvtdq2pd xmm0, xmm0
movss dword [ebx + 0xb4], xmm1
movd xmm1, dword [ebp + 0xc]
mulsd xmm0, qword [0x546cd8]
cvtdq2pd xmm1, xmm1
divsd xmm0, xmm1
call fcn.0050ab28
mov eax, dword [esp + 0x34]
cvtsd2ss xmm0, xmm0
push eax
mov dword [ebx + 0xbc], 0x3f800000
mov dword [ebx + 0xc0], 0x3f800000
mov dword [ebx + 0xc8], 0
movss dword [ebx + 0xb8], xmm0
call fcn.004fd6d0
add esp, 4
mov dword [ebx + 0xd0], eax
mov dword [ebx + 0xc4], 0
mov eax, ebx
mov dword [ebx + 0xcc], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret