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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x40
mov edi, ecx
mov eax, dword [ecx + 0x8c]
mov dword [esp + 0x24], eax
mov edx, dword [ecx + 8]
sub edx, eax
mov dword [esp + 0x2c], edx
mov esi, dword [ecx + 0xc]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x20], ecx
add ecx, 0x1200
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], 0
lea ebx, [edi + 0x169c]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x3c], esi
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x2c], edx
jl 0x465f0c
mov edx, dword [edi + 0x98]
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0x24]
test ecx, ecx
jle 0x466279
mov ebx, dword [esp + 0x3c]
lea eax, [ebx + 0x527]
lea edx, [eax + eax]
add edx, edx
add edx, edi
shr edx, 2
neg edx
mov ecx, edx
and ecx, 3
lea esi, [ecx + 3]
mov ebx, 5
cmp esi, ebx
cmovae ebx, esi
mov esi, dword [esp + 0x24]
sub esi, 1
cmp esi, ebx
jb 0x466282
test ecx, ecx
je 0x46624c
mov esi, dword [esp + 0x38]
lea ebx, [esi + esi]
add ebx, ebx
add ebx, edi
mov esi, dword [esp + 0x3c]
add esi, esi
add esi, esi
add esi, edi
movss xmm7, dword [ebx + 0x9c]
mulss xmm7, dword [esi + 0x149c]
and edx, 2
je 0x466234
movss xmm1, dword [ebx + 0xa0]
mulss xmm1, dword [esi + 0x14a0]
addss xmm7, xmm1
mov edx, dword [esp + 0x38]
cmp ecx, 3
jne 0x466265
add edx, 3
mov dword [esp + 0x34], edx
movss xmm0, dword [esi + 0x14a4]
mulss xmm0, dword [ebx + 0xa4]
addss xmm7, xmm0
mov dword [esp + 0x30], 3
mov ebx, dword [esp + 0x24]
sub ebx, ecx
add eax, ecx
add eax, eax
add eax, eax
lea edx, [edi + eax]
mov eax, dword [esp + 0x38]
add eax, 0x27
add eax, ecx
add eax, eax
add eax, eax
add eax, edi
mov ecx, ebx
shr ecx, 2
shl ecx, 4
lea esi, [ecx + edx]
pxor xmm3, xmm3
sub ecx, 0x10
shr ecx, 4
add ecx, 1
and ecx, 7
je 0x465cfd
cmp ecx, 1
je 0x465ce1
cmp ecx, 2
je 0x465ccd
cmp ecx, 3
je 0x465cb9
cmp ecx, 4
nop
je 0x465ca5
cmp ecx, 5
je 0x465c91
cmp ecx, 6
je 0x465c7d
movq xmm3, qword [eax]
movhps xmm3, qword [eax + 8]
mulps xmm3, xmmword [edx]
add edx, 0x10
add eax, 0x10
movq xmm2, qword [eax]
movhps xmm2, qword [eax + 8]
mulps xmm2, xmmword [edx]
addps xmm3, xmm2
add edx, 0x10
add eax, 0x10
movq xmm4, qword [eax]
movhps xmm4, qword [eax + 8]
mulps xmm4, xmmword [edx]
addps xmm3, xmm4
add edx, 0x10
add eax, 0x10
movq xmm5, qword [eax]
movhps xmm5, qword [eax + 8]
mulps xmm5, xmmword [edx]
addps xmm3, xmm5
add edx, 0x10
add eax, 0x10
movq xmm6, qword [eax]
movhps xmm6, qword [eax + 8]
mulps xmm6, xmmword [edx]
addps xmm3, xmm6
add edx, 0x10
add eax, 0x10
movq xmm1, qword [eax]
movhps xmm1, qword [eax + 8]
mulps xmm1, xmmword [edx]
addps xmm3, xmm1
add edx, 0x10
add eax, 0x10
movq xmm0, qword [eax]
movhps xmm0, qword [eax + 8]
mulps xmm0, xmmword [edx]
addps xmm3, xmm0
add edx, 0x10
add eax, 0x10
cmp esi, edx
je 0x465d89
movq xmm2, qword [eax]
movhps xmm2, qword [eax + 8]
mulps xmm2, xmmword [edx]
addps xmm3, xmm2
movq xmm4, qword [eax + 0x10]
movhps xmm4, qword [eax + 0x18]
mulps xmm4, xmmword [edx + 0x10]
addps xmm3, xmm4
movq xmm5, qword [eax + 0x20]
movhps xmm5, qword [eax + 0x28]
mulps xmm5, xmmword [edx + 0x20]
addps xmm3, xmm5
movq xmm6, qword [eax + 0x30]
movhps xmm6, qword [eax + 0x38]
mulps xmm6, xmmword [edx + 0x30]
addps xmm3, xmm6
movq xmm1, qword [eax + 0x40]
movhps xmm1, qword [eax + 0x48]
mulps xmm1, xmmword [edx + 0x40]
addps xmm3, xmm1
movq xmm0, qword [eax + 0x50]
movhps xmm0, qword [eax + 0x58]
mulps xmm0, xmmword [edx + 0x50]
addps xmm3, xmm0
movq xmm2, qword [eax + 0x60]
movhps xmm2, qword [eax + 0x68]
mulps xmm2, xmmword [edx + 0x60]
addps xmm3, xmm2
movq xmm4, qword [eax + 0x70]
movhps xmm4, qword [eax + 0x78]
mulps xmm4, xmmword [edx + 0x70]
addps xmm3, xmm4
sub edx, 0xffffff80
sub eax, 0xffffff80
cmp esi, edx
jne 0x465cfd
movaps xmm5, xmm3
movhlps xmm5, xmm3
addps xmm5, xmm3
movaps xmm6, xmm5
shufps xmm6, xmm5, 0x55
addps xmm6, xmm5
addss xmm6, xmm7
mov eax, ebx
and eax, 0xfffffffc
mov edx, dword [esp + 0x30]
add edx, eax
mov ecx, dword [esp + 0x34]
add eax, ecx
and ebx, 3
je 0x465e7a
add eax, eax
add eax, eax
add eax, edi
mov esi, dword [esp + 0x3c]
lea ebx, [edx + esi]
movss xmm7, dword [edi + ebx*4 + 0x149c]
mulss xmm7, dword [eax + 0x9c]
addss xmm6, xmm7
lea ecx, [edx + 1]
mov ebx, dword [esp + 0x24]
cmp ebx, ecx
jle 0x465e7a
add ecx, esi
movss xmm3, dword [edi + ecx*4 + 0x149c]
mulss xmm3, dword [eax + 0xa0]
addss xmm6, xmm3
lea ecx, [edx + 2]
cmp ebx, ecx
jle 0x465e7a
add ecx, esi
movss xmm1, dword [edi + ecx*4 + 0x149c]
mulss xmm1, dword [eax + 0xa4]
addss xmm6, xmm1
lea ecx, [edx + 3]
cmp ebx, ecx
jle 0x465e7a
add ecx, esi
movss xmm0, dword [edi + ecx*4 + 0x149c]
mulss xmm0, dword [eax + 0xa8]
addss xmm6, xmm0
lea ecx, [edx + 4]
cmp ebx, ecx
jle 0x465e7a
add ecx, esi
movss xmm2, dword [edi + ecx*4 + 0x149c]
mulss xmm2, dword [eax + 0xac]
addss xmm6, xmm2
add edx, 5
cmp ebx, edx
jle 0x465e7a
add edx, esi
movss xmm4, dword [edi + edx*4 + 0x149c]
mulss xmm4, dword [eax + 0xb0]
addss xmm6, xmm4
mov edx, dword [esp + 0x24]
add dword [esp + 0x38], edx
mov eax, dword [esp + 0x38]
mov dword [edi + 0x98], eax
mov esi, dword [esp + 0x20]
movss dword [esi], xmm6
mov ebx, dword [esp + 0x38]
cmp dword [edi + 0x90], ebx
jg 0x465eaa
mov dword [edi + 0x98], 0
mov ecx, dword [edi + 0x80]
add dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x3c]
mov dword [edi + 0xc], edx
mov eax, dword [edi + 0x94]
sub eax, dword [edi + 0x84]
mov dword [edi + 0x94], eax
test eax, eax
jg 0x465ee7
add eax, dword [edi + 0x88]
mov dword [edi + 0x94], eax
add edx, 1
mov dword [esp + 0x3c], edx
mov dword [edi + 0xc], edx
add dword [esp + 0x20], 4
mov esi, dword [esp + 0x20]
cmp dword [esp + 0x1c], esi
jne 0x465b35
mov eax, dword [esp + 0x14]
add eax, eax
add eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov eax, dword [esp + 0x14]
lea esi, [eax + eax]
add esi, esi
add esi, dword [ebp + 8]
mov dword [esp + 0x38], esi
mov ebx, dword [edi + 8]
mov esi, edx
sub ebx, edx
mov dword [esp + 0x18], ebx
mov dword [edi + 8], ebx
lea ecx, [ebx + ebx]
test ebx, ebx
jle 0x465f58
lea eax, [edi + 0x149c]
lea edx, [ecx + ecx]
mov dword [esp + 0x3c], ecx
mov dword [esp + 8], edx
add esi, esi
add esi, esi
add esi, eax
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memmove
mov ecx, dword [esp + 0x3c]
mov dword [edi + 0xc], 0
mov ebx, dword [edi + 0x20]
mov dword [esp + 0x34], ebx
mov esi, dword [edi + 0x24]
mov eax, dword [edi + 0x14]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x28]
mov ebx, dword [esp + 0x18]
add ebx, 0x527
add ebx, ebx
add ebx, ebx
add ebx, edi
mov dword [esp + 0x3c], ebx
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x10]
add ecx, edx
mov dword [esp + 0x28], ecx
xor edx, edx
sub ecx, ebx
sub ecx, 4
shr ecx, 2
add ecx, 1
and ecx, 3
je 0x4660ba
cmp ecx, 1
je 0x466059
cmp ecx, 2
je 0x466006
mov ebx, dword [esp + 0x38]
movss xmm1, dword [ebx]
movss xmm0, dword [ebx + 4]
subss xmm0, xmm1
mulss xmm0, dword [edi + eax*4 + 0x2c]
addss xmm0, xmm1
mov ecx, dword [esp + 0x3c]
movss dword [ecx], xmm0
add eax, 1
mov ebx, dword [esp + 0x34]
cmp eax, ebx
mov ecx, 0
cmovge eax, ecx
mov dword [edi + 0x28], eax
mov ebx, dword [esp + 0x30]
sub esi, ebx
test esi, esi
jg 0x466001
add esi, dword [edi + 0x18]
mov edx, 1
add dword [esp + 0x3c], 4
lea ecx, [edx + edx]
add ecx, ecx
mov ebx, dword [esp + 0x38]
movss xmm2, dword [ebx + ecx]
movss xmm3, dword [ebx + ecx + 4]
subss xmm3, xmm2
mulss xmm3, dword [edi + eax*4 + 0x2c]
addss xmm3, xmm2
mov ecx, dword [esp + 0x3c]
movss dword [ecx], xmm3
add eax, 1
mov ebx, dword [esp + 0x34]
cmp eax, ebx
mov ecx, 0
cmovge eax, ecx
mov dword [edi + 0x28], eax
mov ebx, dword [esp + 0x30]
sub esi, ebx
test esi, esi
jg 0x466054
add esi, dword [edi + 0x18]
add edx, 1
add dword [esp + 0x3c], 4
lea ecx, [edx + edx]
add ecx, ecx
mov ebx, dword [esp + 0x38]
movss xmm4, dword [ebx + ecx]
movss xmm5, dword [ebx + ecx + 4]
subss xmm5, xmm4
mulss xmm5, dword [edi + eax*4 + 0x2c]
addss xmm5, xmm4
mov ecx, dword [esp + 0x3c]
movss dword [ecx], xmm5
add eax, 1
mov ebx, dword [esp + 0x34]
cmp eax, ebx
mov ecx, 0
cmovge eax, ecx
mov dword [edi + 0x28], eax
mov ebx, dword [esp + 0x30]
sub esi, ebx
test esi, esi
jg 0x4660a7
add esi, dword [edi + 0x18]
add edx, 1
add dword [esp + 0x3c], 4
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x28], ecx
je 0x46620c
lea ebx, [edx + edx]
add ebx, ebx
mov ecx, dword [esp + 0x38]
movss xmm6, dword [ecx + ebx]
movss xmm7, dword [ecx + ebx + 4]
subss xmm7, xmm6
mulss xmm7, dword [edi + eax*4 + 0x2c]
addss xmm7, xmm6
mov ebx, dword [esp + 0x3c]
movss dword [ebx], xmm7
add eax, 1
mov ecx, dword [esp + 0x34]
cmp eax, ecx
mov ebx, 0
cmovge eax, ebx
mov dword [edi + 0x28], eax
mov ecx, dword [esp + 0x30]
sub esi, ecx
test esi, esi
jg 0x466108
add esi, dword [edi + 0x18]
add edx, 1
mov ebx, dword [esp + 0x3c]
add ebx, 4
mov dword [esp + 0x2c], ebx
lea ebx, [edx + edx]
add ebx, ebx
mov ecx, dword [esp + 0x38]
movss xmm1, dword [ecx + ebx]
movss xmm0, dword [ecx + ebx + 4]
subss xmm0, xmm1
mulss xmm0, dword [edi + eax*4 + 0x2c]
addss xmm0, xmm1
mov ebx, dword [esp + 0x3c]
movss dword [ebx + 4], xmm0
add eax, 1
mov ecx, dword [esp + 0x34]
xor ebx, ebx
cmp eax, ecx
cmovge eax, ebx
mov dword [edi + 0x28], eax
mov ecx, dword [esp + 0x30]
sub esi, ecx
test esi, esi
jg 0x46615f
add esi, dword [edi + 0x18]
add edx, 1
lea ecx, [edx + edx]
add ecx, ecx
mov ebx, dword [esp + 0x38]
movss xmm2, dword [ebx + ecx]
movss xmm3, dword [ebx + ecx + 4]
subss xmm3, xmm2
mulss xmm3, dword [edi + eax*4 + 0x2c]
addss xmm3, xmm2
mov ecx, dword [esp + 0x2c]
movss dword [ecx + 4], xmm3
add eax, 1
mov ecx, dword [esp + 0x34]
xor ebx, ebx
cmp eax, ecx
cmovge eax, ebx
mov dword [edi + 0x28], eax
mov ecx, dword [esp + 0x30]
sub esi, ecx
test esi, esi
jg 0x4661ab
add esi, dword [edi + 0x18]
add edx, 1
lea ecx, [edx + edx]
add ecx, ecx
mov ebx, dword [esp + 0x38]
movss xmm4, dword [ebx + ecx]
movss xmm5, dword [ebx + ecx + 4]
subss xmm5, xmm4
mulss xmm5, dword [edi + eax*4 + 0x2c]
addss xmm5, xmm4
mov ecx, dword [esp + 0x2c]
movss dword [ecx + 8], xmm5
add eax, 1
mov ecx, dword [esp + 0x34]
xor ebx, ebx
cmp eax, ecx
cmovge eax, ebx
mov dword [edi + 0x28], eax
mov ecx, dword [esp + 0x30]
sub esi, ecx
test esi, esi
jg 0x4661f7
add esi, dword [edi + 0x18]
add edx, 1
mov ebx, dword [esp + 0x2c]
add ebx, 0xc
mov dword [esp + 0x3c], ebx
cmp dword [esp + 0x28], ebx
jne 0x4660ba
mov eax, dword [esp + 0x18]
sub eax, 0xffffff80
mov dword [edi + 0x24], esi
mov dword [edi + 8], eax
add dword [esp + 0x14], edx
mov esi, dword [esp + 0x24]
sub eax, esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], 0
jmp 0x465b43
mov edx, dword [esp + 0x38]
add edx, 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], 1
jmp 0x465c0a
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x34], ebx
pxor xmm7, xmm7
mov dword [esp + 0x30], 0
jmp 0x465c0a
add edx, 2
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], 2
jmp 0x465c0a
pxor xmm6, xmm6
jmp 0x465e8c
mov eax, dword [esp + 0x38]
pxor xmm6, xmm6
xor edx, edx
jmp 0x465dba