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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc08
mov eax, dword [0x5b66c0]
xor eax, esp
mov dword [esp + 0xc04], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x10]
push esi
push edi
mov dword [esp + 0x10], eax
mov ecx, dword [eax + 4]
lea edi, [eax + 0x598]
lea esi, [eax + 0xf98]
shl ecx, 2
mov eax, 0xa00
sub eax, ecx
push eax
lea eax, [ecx + edi]
push eax
push edi
call fcn.005034a0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
lea eax, [ecx*4]
push eax
mov eax, 0x280
sub eax, ecx
push edx
lea eax, [edi + eax*4]
push eax
call fcn.00502d50
mov eax, dword [esp + 0x28]
mov ecx, 0x28
mov edi, 0x50
cmp dword [eax], 0x1e
cmovne edi, ecx
xor ecx, ecx
cmp dword [eax], 0x14
mov eax, 3
mov dword [esp + 0x3c], edi
sete cl
sub eax, ecx
mov dword [esp + 0x40], ecx
shl ecx, 2
mov dword [esp + 0x34], eax
movd xmm0, edi
pshufd xmm0, xmm0, 0
lea eax, [ecx + 0x14]
push eax
mov eax, esi
sub eax, ecx
add eax, 0xc
push eax
push esi
movups xmmword [esp + 0x54], xmm0
call fcn.005034a0
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x95c]
mov esi, dword [esp + 0x34]
push ecx
lea ecx, [esp + 0x88]
lea edx, [eax + eax*4]
push ecx
lea ecx, [eax + eax*4]
shl edx, 6
shl ecx, 4
mov eax, 0x168
sub eax, ecx
push eax
movups xmm0, xmmword [edx + esi + 0x9e0]
lea eax, [esi + 0x9f8]
add eax, edx
movups xmmword [esp + 0x90], xmm0
push 0x5b49a8
movq xmm0, qword [edx + esi + 0x9f0]
push eax
movq qword [esp + 0xa8], xmm0
call fcn.004f92e0
add esp, 0x38
mov dword [esp + 0x14], 0
lea edi, [esp + 0xa28]
xorps xmm5, xmm5
mov dword [esp + 0x18], 0xa
lea eax, [edi - 0x28]
movaps xmm4, xmm5
movaps xmm2, xmm5
mov ecx, 0x28
nop word [eax + eax]
movss xmm1, dword [eax]
movaps xmm0, xmm1
mulss xmm1, xmm1
mulss xmm0, dword [eax + 0x28]
add eax, 4
addss xmm2, xmm1
addss xmm4, xmm0
sub ecx, 1
jne 0x4e61a0
comiss xmm4, xmm5
jbe 0x4e61cf
mulss xmm4, xmm4
divss xmm4, xmm2
jmp 0x4e61d2
movaps xmm4, xmm5
mov esi, 0xb
lea edx, [edi - 0x2c]
nop word [eax + eax]
movaps xmm2, xmm5
movaps xmm3, xmm5
xor eax, eax
mov ecx, edi
nop word [eax + eax]
movss xmm1, dword [edx + eax*4]
inc eax
movaps xmm0, xmm1
mulss xmm1, xmm1
mulss xmm0, dword [ecx]
add ecx, 4
addss xmm3, xmm1
addss xmm2, xmm0
cmp eax, 0x28
jl 0x4e61f0
comiss xmm2, xmm5
jbe 0x4e6220
mulss xmm2, xmm2
divss xmm2, xmm3
jmp 0x4e6223
movaps xmm2, xmm5
comiss xmm2, xmm4
jbe 0x4e6233
mov ecx, esi
movaps xmm4, xmm2
mov dword [esp + 0x18], ecx
jmp 0x4e6237
mov ecx, dword [esp + 0x18]
inc esi
sub edx, 4
cmp esi, 0x3c
jl 0x4e61e0
mov edx, dword [esp + 0x14]
add edi, 0xa0
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
add eax, edx
movd xmm0, ecx
inc edx
mov ecx, dword [esp + 0x18]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x14], edx
addss xmm0, xmm0
movss dword [esi + eax*4 + 0xfac], xmm0
cmp edx, dword [esp + 0x1c]
jl 0x4e6181
mov edi, dword [esp + 0x24]
mov edx, esi
cmp dword [edx + 0x84], 1
jne 0x4e67a1
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov edx, dword [esp + 0x20]
movaps xmm4, xmm5
movaps xmm2, xmm5
cvttss2si esi, dword [esi + eax*4 + 0xfac]
lea eax, [esi - 1]
mov dword [esp + 0x18], eax
lea eax, [edx + eax*4]
sub edx, eax
movss xmm1, dword [eax]
inc ecx
movaps xmm0, xmm1
mulss xmm1, xmm1
mulss xmm0, dword [eax + edx]
add eax, 4
addss xmm2, xmm1
addss xmm4, xmm0
cmp ecx, edi
jl 0x4e62b3
comiss xmm4, xmm5
jbe 0x4e62e2
mulss xmm4, xmm4
divss xmm4, xmm2
jmp 0x4e62e5
movaps xmm4, xmm5
lea eax, [esi + 1]
mov dword [esp + 0x1c], eax
cmp esi, eax
jg 0x4e6363
mov eax, dword [esp + 0x20]
mov edx, esi
neg edx
shl edx, 2
lea eax, [eax + esi*4]
mov dword [esp + 0x14], eax
movaps xmm2, xmm5
movaps xmm3, xmm5
xor ecx, ecx
nop word [eax + eax]
movss xmm1, dword [eax]
inc ecx
movaps xmm0, xmm1
mulss xmm1, xmm1
mulss xmm0, dword [eax + edx]
add eax, 4
addss xmm3, xmm1
addss xmm2, xmm0
cmp ecx, edi
jl 0x4e6310
comiss xmm2, xmm5
jbe 0x4e633f
mulss xmm2, xmm2
divss xmm2, xmm3
jmp 0x4e6342
movaps xmm2, xmm5
comiss xmm2, xmm4
jbe 0x4e634e
movaps xmm4, xmm2
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x14]
inc esi
add eax, 4
sub edx, 4
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 0x1c]
jle 0x4e6302
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
movd xmm0, eax
add esi, 0xfffffffc
cvtdq2ps xmm0, xmm0
cmp eax, edi
lea esi, [esi + eax*4]
movss dword [edx + ecx*4 + 0xfa8], xmm0
mov ecx, eax
cmovg ecx, edi
lea edx, [esp + edi*4 + 0x74]
mov dword [esp + 0x14], ecx
cmp ecx, 4
jl 0x4e63d8
lea eax, [ecx - 4]
shr eax, 2
inc eax
mov dword [esp + 0x1c], eax
mov edi, eax
shl eax, 2
sub ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esi]
mov dword [edx], eax
mov eax, dword [esi - 4]
mov dword [edx - 4], eax
mov eax, dword [esi - 8]
mov dword [edx - 8], eax
mov eax, dword [esi - 0xc]
sub esi, 0x10
mov dword [edx - 0xc], eax
sub edx, 0x10
sub edi, 1
jne 0x4e63b3
mov edi, dword [esp + 0x24]
test ecx, ecx
jle 0x4e63fd
shl ecx, 2
mov edi, edx
lea eax, [ecx - 4]
shr ecx, 2
sub esi, eax
sub edi, eax
mov eax, dword [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
dec eax
sub edx, 4
test eax, eax
jg 0x4e63f1
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov eax, 0x27f
sub eax, dword [ecx + 4]
add ecx, 0x598
lea esi, [ecx + eax*4]
mov ecx, edi
sub ecx, dword [esp + 0x18]
lea eax, [ecx - 1]
mov dword [esp + 0x20], eax
test eax, eax
js 0x4e6482
cmp ecx, 4
jl 0x4e6465
mov edi, dword [esp + 0x20]
shr ecx, 2
mov eax, ecx
neg eax
lea edi, [edi + eax*4]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x24]
nop
mov eax, dword [esi]
mov dword [edx], eax
mov eax, dword [esi - 4]
mov dword [edx - 4], eax
mov eax, dword [esi - 8]
mov dword [edx - 8], eax
mov eax, dword [esi - 0xc]
sub esi, 0x10
mov dword [edx - 0xc], eax
sub edx, 0x10
sub ecx, 1
jne 0x4e6440
mov eax, dword [esp + 0x20]
test eax, eax
js 0x4e6482
lea ecx, [eax*4 + 4]
lea eax, [ecx - 4]
shr ecx, 2
sub esi, eax
sub edx, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov eax, 0x27f
xor ecx, ecx
movaps xmm1, xmm5
sub eax, dword [edx + 4]
add eax, 0x166
lea eax, [edx + eax*4]
nop dword [eax + eax]
movss xmm0, dword [eax]
sub eax, 4
mulss xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [esp + ecx*4 + 0x78]
mulss xmm0, xmm0
inc ecx
addss xmm5, xmm0
cmp ecx, edi
jl 0x4e64a0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x1c], xmm1
xorps xmm1, xmm1
divss xmm5, xmm0
cvtps2pd xmm0, xmm5
ucomisd xmm1, xmm0
ja 0x4e64e5
sqrtsd xmm0, xmm0
jmp 0x4e64ea
call fcn.0053bfa0
movss xmm1, dword [esp + 0x1c]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
shufps xmm0, xmm0, 0
movups xmmword [esp + 0x40], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x4e6520
sqrtsd xmm0, xmm0
jmp 0x4e6525
call fcn.0053bfa0
movss xmm5, dword [esp + 0x14]
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm0
movaps xmm4, xmm3
movaps xmm1, xmm3
addss xmm4, xmm3
shufps xmm1, xmm1, 0
movaps xmmword [esp + 0x50], xmm1
comiss xmm5, xmm4
jbe 0x4e673b
xorps xmm0, xmm0
comiss xmm5, xmm0
jbe 0x4e673b
lea edx, [edi - 0xa]
xor ecx, ecx
mov eax, edx
mov dword [esp + 0x1c], edx
and eax, reloc.WS2_32.dll_ntohs
jns 0x4e6571
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm2, xmmword [0x59ce00]
lea edi, [esp + 0x98]
movups xmm7, xmmword [esp + 0x40]
mov esi, edx
lea edx, [esp + 0xa8]
mulps xmm2, xmm1
sub esi, eax
lea eax, [esp + 0x78]
divps xmm2, xmm7
nop dword [eax]
movups xmm0, xmmword [eax + ecx*4]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmmword [eax + ecx*4], xmm1
movups xmm0, xmmword [esp + ecx*4 + 0x88]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmmword [esp + ecx*4 + 0x88], xmm1
movups xmm0, xmmword [edi + ecx*4]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmmword [edi + ecx*4], xmm1
movups xmm0, xmmword [edx + ecx*4]
movaps xmm1, xmm2
mulps xmm1, xmm0
movups xmmword [edx + ecx*4], xmm1
add ecx, 0x10
cmp ecx, esi
jl 0x4e65a0
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
cmp ecx, edx
jge 0x4e6644
mov eax, edx
sub eax, ecx
cmp eax, 4
jl 0x4e6628
movaps xmm1, xmm4
lea eax, [edx - 3]
divss xmm1, xmm5
shufps xmm1, xmm1, 0
nop word [eax + eax]
movups xmm0, xmmword [esp + ecx*4 + 0x78]
mulps xmm0, xmm1
movups xmmword [esp + ecx*4 + 0x78], xmm0
add ecx, 4
cmp ecx, eax
jl 0x4e6610
cmp ecx, edx
jge 0x4e6644
divss xmm4, xmm5
nop dword [eax]
movaps xmm0, xmm4
mulss xmm0, dword [esp + ecx*4 + 0x78]
movss dword [esp + ecx*4 + 0x78], xmm0
inc ecx
cmp ecx, edx
jl 0x4e6630
movaps xmm2, xmmword [0x59ce00]
lea ecx, [edi - 0xa]
mulps xmm2, xmmword [esp + 0x50]
lea edx, [edi - 2]
lea eax, [ecx + 4]
movaps xmm4, xmmword [0x59c510]
lea esi, [esp + 0x78]
movaps xmm5, xmmword [0x59cde0]
movaps xmm6, xmmword [str._n_n_n_n]
divps xmm2, xmm7
movaps xmm7, xmmword [0x59ce10]
subps xmm4, xmm2
nop
movd xmm0, ecx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm5
psubd xmm0, xmmword [esp + 0x30]
paddd xmm0, xmm6
cvtdq2ps xmm1, xmm0
movups xmm0, xmmword [esi + ecx*4]
mulps xmm1, xmm4
divps xmm1, xmm7
addps xmm1, xmm2
mulps xmm1, xmm0
movd xmm0, eax
add eax, 8
pshufd xmm0, xmm0, 0
paddd xmm0, xmm5
psubd xmm0, xmmword [esp + 0x30]
movups xmmword [esi + ecx*4], xmm1
paddd xmm0, xmm6
cvtdq2ps xmm1, xmm0
movups xmm0, xmmword [esp + ecx*4 + 0x88]
mulps xmm1, xmm4
divps xmm1, xmm7
addps xmm1, xmm2
mulps xmm1, xmm0
movups xmmword [esp + ecx*4 + 0x88], xmm1
add ecx, 8
cmp ecx, edx
jl 0x4e6680
cmp ecx, edi
jge 0x4e673b
addss xmm3, xmm3
movss xmm1, dword [0x56de4c]
movss xmm2, dword [0x56de50]
divss xmm3, dword [esp + 0x14]
subss xmm1, xmm3
mov eax, ecx
sub eax, edi
add eax, 0xa
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
divss xmm0, xmm2
addss xmm0, xmm3
mulss xmm0, dword [esp + ecx*4 + 0x78]
movss dword [esp + ecx*4 + 0x78], xmm0
inc ecx
cmp ecx, edi
jl 0x4e6710
mov ecx, dword [esp + 0x10]
mov eax, 0x27f
sub eax, dword [ecx + 4]
add eax, 0x166
xor esi, esi
lea edx, [ecx + eax*4]
lea eax, [edi + 1]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
nop dword [eax + eax]
lea ecx, [esi + 1]
movss xmm0, dword [0x56de4c]
movd xmm1, ecx
mov eax, edi
cvtdq2ps xmm1, xmm1
sub eax, esi
mov esi, ecx
divss xmm1, xmm2
subss xmm0, xmm1
mulss xmm1, dword [edx]
mulss xmm0, dword [esp + eax*4 + 0x74]
addss xmm0, xmm1
movss dword [edx], xmm0
sub edx, 4
cmp esi, edi
jl 0x4e6760
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
cmp eax, 0x14
jne 0x4e6824
mov edi, dword [esp + 0x2c]
mov esi, 0x1b8
push 3
push 8
push 0x5b4ca8
lea eax, [edx + 0xf98]
push eax
push esi
lea eax, [edx + 0x598]
push 0x280
push eax
lea eax, [esp + 0x94]
push eax
call fcn.004e68c0
add esp, 0x1c
lea eax, [esp + 0x7c]
mov dword [esp], 0x3d4ccccd
push 3
push eax
push edi
call fcn.004e7230
mov edx, dword [esp + 0x20]
add esi, 0x50
add esp, 0x10
add edi, 0x140
cmp esi, 0x258
jl 0x4e67b1
mov eax, dword [esp + 0x18]
add eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xc04]
xor ecx, esp
call fcn.0050101b
mov esp, ebp
pop ebp
ret
cmp eax, 0x1e
jne 0x4e68a5
mov edi, dword [esp + 0x2c]
mov esi, 0x140
push 3
push 8
push 0x5b4ca8
lea eax, [edx + 0xf98]
push eax
push esi
lea eax, [edx + 0x598]
push 0x280
push eax
lea eax, [esp + 0x94]
push eax
call fcn.004e68c0
add esp, 0x1c
lea eax, [esp + 0x7c]
mov dword [esp], 0x3d4ccccd
push 3
push eax
push edi
call fcn.004e7230
mov edx, dword [esp + 0x20]
add esi, 0x50
add esp, 0x10
add edi, 0x140
cmp esi, 0x230
jl 0x4e6832
mov eax, dword [esp + 0x18]
add eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xc04]
xor ecx, esp
call fcn.0050101b
mov esp, ebp
pop ebp
ret
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0xc0c]
pop edi
pop esi
xor ecx, esp
call fcn.0050101b
mov esp, ebp
pop ebp
ret