Function at 0x467d7e
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 ebx, ecx
mov eax, dword [ecx + 0x8c]
mov dword [esp + 0x28], eax
mov esi, dword [ecx + 8]
sub esi, eax
mov dword [esp + 0x2c], esi
mov edi, dword [ecx + 0xc]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x24], edx
add edx, 0x1200
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], 0
movss xmm3, dword [0x4a8650]
lea ecx, [ecx + 0x169c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], edi
mov edi, ebx
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x2c], esi
jl 0x4681ab
mov esi, dword [edi + 0x98]
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0x468408
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 + 0x28]
sub esi, 1
cmp esi, ebx
jb 0x468411
mov ebx, dword [esp + 0x38]
test ecx, ecx
je 0x4683db
lea ebx, [ebx + ebx]
add ebx, ebx
add ebx, edi
mov esi, dword [esp + 0x3c]
add esi, esi
add esi, esi
add esi, edi
movss xmm5, dword [ebx + 0x9c]
mulss xmm5, dword [esi + 0x149c]
and edx, 2
je 0x4683c3
movss xmm6, dword [ebx + 0xa0]
mulss xmm6, dword [esi + 0x14a0]
addss xmm5, xmm6
cmp ecx, 3
jne 0x4683f0
mov edx, dword [esp + 0x38]
add edx, 3
mov dword [esp + 0x34], edx
movss xmm7, dword [esi + 0x14a4]
mulss xmm7, dword [ebx + 0xa4]
addss xmm5, xmm7
mov dword [esp + 0x30], 3
mov ebx, dword [esp + 0x28]
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 xmm0, xmm0
sub ecx, 0x10
shr ecx, 4
add ecx, 1
and ecx, 7
je 0x467f9a
cmp ecx, 1
je 0x467f7e
cmp ecx, 2
je 0x467f6a
cmp ecx, 3
je 0x467f56
cmp ecx, 4
je 0x467f42
cmp ecx, 5
je 0x467f2e
cmp ecx, 6
je 0x467f1a
movq xmm0, qword [eax]
movhps xmm0, qword [eax + 8]
mulps xmm0, xmmword [edx]
add edx, 0x10
add eax, 0x10
movq xmm1, qword [eax]
movhps xmm1, qword [eax + 8]
mulps xmm1, xmmword [edx]
addps xmm0, xmm1
add edx, 0x10
add eax, 0x10
movq xmm2, qword [eax]
movhps xmm2, qword [eax + 8]
mulps xmm2, xmmword [edx]
addps xmm0, xmm2
add edx, 0x10
add eax, 0x10
movq xmm4, qword [eax]
movhps xmm4, qword [eax + 8]
mulps xmm4, xmmword [edx]
addps xmm0, xmm4
add edx, 0x10
add eax, 0x10
movq xmm6, qword [eax]
movhps xmm6, qword [eax + 8]
mulps xmm6, xmmword [edx]
addps xmm0, xmm6
add edx, 0x10
add eax, 0x10
movq xmm7, qword [eax]
movhps xmm7, qword [eax + 8]
mulps xmm7, xmmword [edx]
addps xmm0, xmm7
add edx, 0x10
add eax, 0x10
movq xmm1, qword [eax]
movhps xmm1, qword [eax + 8]
mulps xmm1, xmmword [edx]
addps xmm0, xmm1
add edx, 0x10
add eax, 0x10
cmp esi, edx
je 0x468026
movq xmm2, qword [eax]
movhps xmm2, qword [eax + 8]
mulps xmm2, xmmword [edx]
addps xmm0, xmm2
movq xmm4, qword [eax + 0x10]
movhps xmm4, qword [eax + 0x18]
mulps xmm4, xmmword [edx + 0x10]
addps xmm0, xmm4
movq xmm6, qword [eax + 0x20]
movhps xmm6, qword [eax + 0x28]
mulps xmm6, xmmword [edx + 0x20]
addps xmm0, xmm6
movq xmm7, qword [eax + 0x30]
movhps xmm7, qword [eax + 0x38]
mulps xmm7, xmmword [edx + 0x30]
addps xmm0, xmm7
movq xmm1, qword [eax + 0x40]
movhps xmm1, qword [eax + 0x48]
mulps xmm1, xmmword [edx + 0x40]
addps xmm0, xmm1
movq xmm2, qword [eax + 0x50]
movhps xmm2, qword [eax + 0x58]
mulps xmm2, xmmword [edx + 0x50]
addps xmm0, xmm2
movq xmm4, qword [eax + 0x60]
movhps xmm4, qword [eax + 0x68]
mulps xmm4, xmmword [edx + 0x60]
addps xmm0, xmm4
movq xmm6, qword [eax + 0x70]
movhps xmm6, qword [eax + 0x78]
mulps xmm6, xmmword [edx + 0x70]
addps xmm0, xmm6
sub edx, 0xffffff80
sub eax, 0xffffff80
cmp esi, edx
jne 0x467f9a
movaps xmm7, xmm0
movhlps xmm7, xmm0
addps xmm7, xmm0
movaps xmm4, xmm7
shufps xmm4, xmm7, 0x55
addps xmm4, xmm7
addss xmm4, xmm5
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 0x468117
add eax, eax
add eax, eax
add eax, edi
mov esi, dword [esp + 0x3c]
lea ebx, [edx + esi]
movss xmm5, dword [edi + ebx*4 + 0x149c]
mulss xmm5, dword [eax + 0x9c]
addss xmm4, xmm5
lea ecx, [edx + 1]
mov ebx, dword [esp + 0x28]
cmp ebx, ecx
jle 0x468117
add ecx, esi
movss xmm0, dword [edi + ecx*4 + 0x149c]
mulss xmm0, dword [eax + 0xa0]
addss xmm4, xmm0
lea ecx, [edx + 2]
cmp ebx, ecx
jle 0x468117
add ecx, esi
movss xmm1, dword [edi + ecx*4 + 0x149c]
mulss xmm1, dword [eax + 0xa4]
addss xmm4, xmm1
lea ecx, [edx + 3]
cmp ebx, ecx
jle 0x468117
add ecx, esi
movss xmm2, dword [edi + ecx*4 + 0x149c]
mulss xmm2, dword [eax + 0xa8]
addss xmm4, xmm2
lea ecx, [edx + 4]
cmp ebx, ecx
jle 0x468117
add ecx, esi
movss xmm6, dword [edi + ecx*4 + 0x149c]
mulss xmm6, dword [eax + 0xac]
addss xmm4, xmm6
add edx, 5
cmp ebx, edx
jle 0x468117
add edx, esi
movss xmm7, dword [edi + edx*4 + 0x149c]
mulss xmm7, dword [eax + 0xb0]
addss xmm4, xmm7
mov edx, dword [esp + 0x28]
add dword [esp + 0x38], edx
mov eax, dword [esp + 0x38]
mov dword [edi + 0x98], eax
mov esi, dword [esp + 0x24]
movss dword [esi], xmm4
mov ebx, dword [esp + 0x38]
cmp dword [edi + 0x90], ebx
jg 0x468147
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 0x468184
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 + 0x24], 4
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x20], esi
jne 0x467dd3
mov eax, dword [esp + 0x18]
add eax, eax
add eax, eax
add eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov ebx, dword [esp + 0x18]
add ebx, ebx
add ebx, ebx
add ebx, ebx
add ebx, dword [ebp + 8]
mov dword [esp + 0x2c], ebx
mov eax, dword [edi + 8]
sub eax, esi
mov dword [esp + 0x1c], eax
mov dword [edi + 8], eax
lea ebx, [eax + eax]
test eax, eax
jle 0x4681f8
lea ecx, [edi + 0x149c]
lea edx, [ebx + ebx]
mov dword [esp + 8], edx
mov eax, esi
add eax, esi
add eax, eax
add eax, ecx
mov dword [esp + 4], eax
mov dword [esp], ecx
call sym._memmove
movss xmm3, dword [0x4a8650]
mov dword [edi + 0xc], 0
mov esi, dword [esp + 0x2c]
movss xmm1, dword [esi]
addss xmm1, dword [esi + 4]
mulss xmm1, xmm3
movss xmm2, dword [esi + 8]
addss xmm2, dword [esi + 0xc]
mulss xmm2, xmm3
mov ecx, dword [edi + 0x20]
mov dword [esp + 0x38], ecx
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x28]
mov esi, dword [esp + 0x1c]
lea ecx, [esi + 0x527]
add ecx, ecx
add ecx, ecx
add ecx, edi
add ebx, ebx
mov esi, dword [esp + 0x14]
add ebx, esi
mov esi, ebx
mov dword [esp + 0x30], ebx
xor ebx, ebx
sub esi, ecx
and esi, 4
je 0x4682b4
movaps xmm0, xmm2
subss xmm0, xmm1
mulss xmm0, dword [edi + eax*4 + 0x2c]
addss xmm0, xmm1
movss dword [ecx], xmm0
add eax, 1
mov esi, dword [esp + 0x38]
cmp eax, esi
cmovge eax, ebx
mov dword [edi + 0x28], eax
mov esi, dword [esp + 0x34]
sub edx, esi
test edx, edx
jg 0x4682a7
add edx, dword [edi + 0x18]
mov ebx, dword [esp + 0x2c]
movss xmm4, dword [ebx + 0x10]
addss xmm4, dword [ebx + 0x14]
movaps xmm1, xmm2
movaps xmm2, xmm4
mulss xmm2, xmm3
mov ebx, 1
add ecx, 4
cmp dword [esp + 0x30], ecx
je 0x46839b
mov dword [esp + 0x3c], ebx
movaps xmm5, xmm2
subss xmm5, xmm1
mulss xmm5, dword [edi + eax*4 + 0x2c]
addss xmm5, xmm1
movss dword [ecx], xmm5
add eax, 1
mov esi, dword [esp + 0x38]
cmp eax, esi
mov ebx, 0
cmovge eax, ebx
mov dword [edi + 0x28], eax
mov esi, dword [esp + 0x34]
sub edx, esi
test edx, edx
jg 0x46831f
add edx, dword [edi + 0x18]
mov ebx, dword [esp + 0x3c]
lea ebx, [ebx + 2]
add ebx, ebx
add ebx, ebx
add ebx, ebx
mov esi, dword [esp + 0x2c]
add ebx, esi
movss xmm6, dword [ebx]
addss xmm6, dword [ebx + 4]
movaps xmm1, xmm2
movaps xmm2, xmm6
mulss xmm2, xmm3
mov ebx, dword [esp + 0x3c]
add ebx, 1
mov dword [esp + 0x3c], ebx
lea ebx, [ecx + 4]
movaps xmm7, xmm2
subss xmm7, xmm1
mulss xmm7, dword [edi + eax*4 + 0x2c]
addss xmm7, xmm1
movss dword [ecx + 4], xmm7
add eax, 1
mov ecx, dword [esp + 0x38]
cmp eax, ecx
mov esi, 0
cmovge eax, esi
mov dword [edi + 0x28], eax
mov ecx, dword [esp + 0x34]
sub edx, ecx
test edx, edx
jg 0x46838a
add edx, dword [edi + 0x18]
mov esi, dword [esp + 0x3c]
lea ecx, [esi + 2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov esi, dword [esp + 0x2c]
add ecx, esi
movss xmm0, dword [ecx]
addss xmm0, dword [ecx + 4]
movaps xmm1, xmm2
movaps xmm2, xmm0
mulss xmm2, xmm3
mov ecx, dword [esp + 0x3c]
add ecx, 1
mov dword [esp + 0x3c], ecx
lea ecx, [ebx + 4]
cmp dword [esp + 0x30], ecx
jne 0x4682b8
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x1c]
sub eax, 0xffffff80
mov dword [edi + 0x24], edx
mov dword [edi + 8], eax
add dword [esp + 0x18], ebx
mov edx, dword [esp + 0x28]
sub eax, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], 0
jmp 0x467de1
mov edx, dword [esp + 0x38]
add edx, 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], 1
jmp 0x467ea8
mov dword [esp + 0x34], ebx
pxor xmm5, xmm5
mov dword [esp + 0x30], 0
jmp 0x467ea8
mov ebx, dword [esp + 0x38]
add ebx, 2
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], 2
jmp 0x467ea8
pxor xmm4, xmm4
jmp 0x468129
mov eax, dword [esp + 0x38]
pxor xmm4, xmm4
xor edx, edx
jmp 0x468057