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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x2f4
mov ebx, dword [ebp + 8]
pxor xmm2, xmm2
mov edx, dword [ebp + 0x18]
pxor xmm0, xmm0
mov eax, dword [ebp + 0x28]
pxor xmm4, xmm4
mov ebx, dword [ebx]
pxor xmm3, xmm3
mov ecx, dword [ebp + 0x14]
pxor xmm1, xmm1
mov edi, dword [ebp + 0x1c]
pxor xmm7, xmm7
mov esi, dword [eax]
pxor xmm6, xmm6
mov edx, dword [edx + ebx*4 - 4]
pxor xmm5, xmm5
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
lea eax, [esi*8]
mov ecx, edi
lea ebx, [eax + eax*2]
sub ecx, eax
subsd xmm2, qword [edi + edx*8]
mov edi, esi
shl edi, 4
mov dword [esp + 0x24], esi
shl esi, 5
mov dword [esp + 0xc], eax
lea eax, [eax + eax*4]
mov dword [esp + 0x1c], edi
add edi, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], esi
add esi, ecx
mov dword [esp + 0x10], eax
add eax, ecx
mov dword [esp + 0x18], ebx
movsd qword [esp + 0x210], xmm2
mov dword [esp + 0x20], edx
subsd xmm0, qword [edi + edx*8]
subsd xmm1, qword [esi + edx*8]
subsd xmm7, qword [esi + edx*8 + 8]
subsd xmm6, qword [eax + edx*8]
movsd qword [esp + 0x228], xmm1
lea edi, [ecx + ebx]
movsd qword [esp + 0x248], xmm7
lea ecx, [ecx + ebx*2]
mov ebx, dword [ebp + 0x1c]
pxor xmm1, xmm1
movsd qword [esp + 0x230], xmm6
pxor xmm6, xmm6
subsd xmm4, qword [ecx + edx*8]
subsd xmm3, qword [edi + edx*8 + 8]
subsd xmm1, qword [ebx + edx*8 + 8]
subsd xmm5, qword [edi + edx*8]
movsd qword [esp + 0x260], xmm4
pxor xmm4, xmm4
movsd qword [esp + 0x240], xmm3
pxor xmm3, xmm3
subsd xmm4, qword [eax + edx*8 + 8]
subsd xmm3, qword [ecx + edx*8 + 8]
mov eax, dword [ebp + 0xc]
movsd qword [esp + 0x250], xmm3
movsd qword [esp + 0x258], xmm4
movsd xmm7, qword [eax]
movaps xmm3, xmm7
mulsd xmm3, xmm2
movsd xmm2, qword [eax + 8]
movaps xmm4, xmm2
mulsd xmm4, xmm1
mov ebx, dword [esp + 0x28]
addsd xmm3, xmm4
subsd xmm6, qword [ebx + edx*8 + 8]
movsd qword [esp + 0x268], xmm3
movaps xmm4, xmm7
movaps xmm3, xmm2
mulsd xmm4, xmm0
mulsd xmm3, xmm6
movsd qword [esp + 0x220], xmm5
addsd xmm4, xmm3
movsd qword [esp + 0x1f0], xmm4
movaps xmm4, xmm7
mulsd xmm4, xmm5
movaps xmm5, xmm2
movsd xmm3, qword [esp + 0x240]
mulsd xmm5, xmm3
mov edx, dword [esp + 8]
addsd xmm4, xmm5
movsd qword [esp + 0x200], xmm4
movaps xmm5, xmm7
movaps xmm4, xmm2
lea edx, [edx*8 - 8]
mulsd xmm5, qword [esp + 0x228]
lea ecx, [eax + edx]
mulsd xmm4, qword [esp + 0x248]
movsd qword [esp + 0x208], xmm1
addsd xmm5, xmm4
movsd qword [esp], xmm5
movaps xmm5, xmm7
movaps xmm4, xmm2
mulsd xmm5, qword [esp + 0x230]
mulsd xmm4, qword [esp + 0x258]
mulsd xmm7, qword [esp + 0x260]
addsd xmm5, xmm4
movsd xmm4, qword [esp + 0x250]
movsd qword [esp + 0x1e8], xmm5
movaps xmm5, xmm2
mulsd xmm5, xmm4
movsd qword [esp + 0x238], xmm6
addsd xmm7, xmm5
movsd xmm5, qword [ecx + 8]
movsd qword [esp + 0x1e0], xmm7
movaps xmm7, xmm5
mulsd xmm7, xmm1
movaps xmm1, xmm2
mulsd xmm1, qword [esp + 0x210]
movsd qword [esp + 0x218], xmm0
addsd xmm7, xmm1
movaps xmm1, xmm5
mulsd xmm1, xmm6
movaps xmm6, xmm2
mulsd xmm6, xmm0
movaps xmm0, xmm5
addsd xmm1, xmm6
mulsd xmm0, xmm3
movaps xmm3, xmm2
movaps xmm6, xmm2
mulsd xmm3, qword [esp + 0x220]
mulsd xmm6, qword [esp + 0x230]
addsd xmm0, xmm3
movsd qword [esp + 0x1f8], xmm7
movaps xmm3, xmm5
movaps xmm7, xmm2
mulsd xmm3, qword [esp + 0x248]
mulsd xmm7, qword [esp + 0x228]
mulsd xmm2, qword [esp + 0x260]
addsd xmm3, xmm7
movsd qword [esp + 0x1d8], xmm3
movaps xmm3, xmm5
mulsd xmm3, qword [esp + 0x258]
mulsd xmm5, xmm4
addsd xmm3, xmm6
addsd xmm5, xmm2
mov ebx, dword [ebp + 0x10]
mov eax, dword [esp + 0xc]
neg eax
mov esi, dword [ebx]
add eax, dword [ebp + 0x20]
mov dword [esp + 0x2c], edx
cmp esi, 2
mov dword [esp + 0x3c], ecx
movsd qword [esp + 0x1d0], xmm3
mov dword [esp + 0x40], esi
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
movsd xmm4, qword [esp + 0x268]
movsd xmm2, qword [esp + 0x200]
movsd xmm3, qword [esp + 0x1e0]
jl 0x4f095f
movsd xmm7, qword [esp + 0x208]
unpcklpd xmm7, xmm7
movaps xmmword [esp + 0x90], xmm7
movsd xmm7, qword [esp + 0x218]
mov edi, dword [esp + 0x24]
unpcklpd xmm7, xmm7
mov dword [esp + 0x14], ecx
mov ecx, 2
movaps xmmword [esp + 0x130], xmm7
mov dword [esp + 8], ecx
mov dword [esp + 0x4c], ecx
mov ecx, edi
movsd xmm7, qword [esp + 0x238]
shl ecx, 4
unpcklpd xmm7, xmm7
movaps xmmword [esp + 0x120], xmm7
movsd xmm7, qword [esp + 0x220]
unpcklpd xmm7, xmm7
movaps xmmword [esp + 0x110], xmm7
movsd xmm7, qword [esp + 0x240]
unpcklpd xmm7, xmm7
movaps xmmword [esp + 0x100], xmm7
movsd xmm7, qword [esp + 0x228]
mov dword [esp + 0x1c], edx
lea edx, [eax + ecx]
mov dword [esp + 0x50], edx
lea edx, [edi + edi*2]
unpcklpd xmm7, xmm7
add ecx, esi
movaps xmmword [esp + 0xf0], xmm7
mov dword [esp + 0x60], ecx
lea ecx, [esi + edx*8]
movsd xmm7, qword [esp + 0x248]
mov dword [esp + 0x54], ecx
mov ecx, edi
mov dword [esp + 0x10], ebx
unpcklpd xmm7, xmm7
mov ebx, dword [esp + 0x2c]
shl ecx, 5
movaps xmmword [esp + 0xe0], xmm7
movsd xmm7, qword [esp + 0x230]
add ebx, dword [ebp + 0xc]
unpcklpd xmm7, xmm7
movaps xmmword [esp + 0xd0], xmm7
movsd xmm7, qword [esp + 0x258]
mov dword [esp + 0x2c], ebx
lea ebx, [eax + edx*8]
shl edx, 4
unpcklpd xmm7, xmm7
movaps xmmword [esp + 0xc0], xmm7
movsd xmm7, qword [esp + 0x260]
mov dword [esp + 0x58], ebx
lea ebx, [eax + ecx]
add ecx, esi
movsd xmm6, qword [esp + 0x210]
mov dword [esp + 0x5c], ecx
lea ecx, [edi + edi*4]
unpcklpd xmm7, xmm7
lea edi, [eax + ecx*8]
movaps xmmword [esp + 0xb0], xmm7
movsd xmm7, qword [esp + 0x250]
unpcklpd xmm6, xmm6
mov dword [esp + 0x64], edi
lea edi, [esi + ecx*8]
add esi, edx
mov dword [esp + 0x48], ebx
lea ebx, [eax + edx]
unpcklpd xmm7, xmm7
mov dword [esp + 0x68], ebx
movaps xmmword [esp + 0xa0], xmm7
movaps xmmword [esp + 0x80], xmm6
movsd qword [esp + 0x270], xmm5
movsd qword [esp + 0x1e0], xmm3
movaps xmm7, xmmword [esp + 0x90]
movsd xmm6, qword [esp + 0x1f8]
movsd xmm3, qword [esp]
movsd xmm5, qword [esp + 0x1f0]
mov edx, dword [esp + 8]
mov dword [esp + 0x38], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0xc], eax
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x4c]
mov ebx, dword [ebp + 0x18]
mov eax, dword [esi + edi*8 - 8]
mov esi, dword [esi + edi*8 - 4]
mov dword [esp + 0x70], esi
mov ecx, dword [ebx + eax*4 - 4]
add eax, esi
sub ecx, edx
mov eax, dword [ebx + eax*4]
lea ebx, [edx + 1]
sub eax, ecx
mov dword [esp + 0x6c], eax
cmp eax, edx
jle 0x4f0908
mov eax, dword [esp + 0x2c]
neg ebx
add ebx, dword [esp + 0x6c]
lea esi, [edx*8 + 8]
inc ebx
lea edx, [esi + eax + 8]
and edx, 0xf
je 0x4efc9f
test dl, 7
jne 0x4f0a46
mov edx, 1
lea eax, [edx + 2]
cmp ebx, eax
jl 0x4f0a46
mov eax, ebx
sub eax, edx
and eax, 1
neg eax
add eax, ebx
mov dword [esp + 0x28c], eax
mov eax, dword [ebp + 0xc]
lea edi, [eax + esi]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x290], edi
lea edi, [eax + esi]
mov dword [esp + 0x294], edi
mov edi, dword [ebp + 0x20]
lea eax, [esi + ecx*8]
add edi, eax
mov dword [esp + 0x74], edi
mov edi, dword [ebp + 0x1c]
add edi, eax
mov dword [esp + 0x298], edi
mov edi, dword [esp + 0x50]
add edi, eax
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0x60]
add edi, eax
mov dword [esp + 0x29c], edi
mov edi, dword [esp + 0x58]
add edi, eax
mov dword [esp + 0x2b0], edi
mov edi, dword [esp + 0x54]
add edi, eax
mov dword [esp + 0x2a4], edi
mov edi, dword [esp + 0x48]
add edi, eax
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x5c]
add edi, eax
mov dword [esp + 0x2a8], edi
mov edi, dword [esp + 0x64]
add edi, eax
mov dword [esp + 0x2b4], edi
mov edi, dword [esp + 0x44]
add edi, eax
mov dword [esp + 0x2a0], edi
mov edi, dword [esp + 0x68]
add edi, eax
add eax, dword [esp + 0x38]
mov dword [esp + 0x2ac], edi
test edx, edx
jbe 0x4f0077
mov dword [esp + 0x28], 0
mov dword [esp + 0x2b8], edx
mov dword [esp + 8], esi
mov dword [esp + 0x288], ebx
mov dword [esp + 0x24], ecx
movsd qword [esp + 0x278], xmm1
movsd qword [esp + 0x1f8], xmm6
movsd qword [esp + 0x1f0], xmm5
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x290]
movsd xmm7, qword [esp + 0x208]
movsd xmm5, qword [edi + ebx*8 - 8]
mov edi, dword [esp + 0x298]
movaps xmm6, xmm5
movsd xmm1, qword [edi + ebx*8 - 8]
mulsd xmm6, xmm1
mov edi, dword [esp + 0x294]
subsd xmm4, xmm6
movsd qword [esp + 0x268], xmm4
movsd xmm4, qword [edi + ebx*8 - 8]
mulsd xmm7, xmm4
mulsd xmm1, xmm4
addsd xmm7, qword [ecx + ebx*8 - 8]
movsd xmm6, qword [esp + 0x210]
mulsd xmm6, xmm5
mov edi, dword [esp + 0x2b0]
addsd xmm7, xmm6
movsd xmm6, qword [esp + 0x238]
mulsd xmm6, xmm4
movsd qword [ecx + ebx*8 - 8], xmm7
movsd xmm7, qword [esp + 0x218]
mulsd xmm7, xmm5
addsd xmm6, qword [edx + ebx*8 - 8]
addsd xmm6, xmm7
movsd xmm7, qword [esp + 0x240]
mulsd xmm7, xmm4
movsd qword [edx + ebx*8 - 8], xmm6
movsd xmm6, qword [esp + 0x220]
mulsd xmm6, xmm5
addsd xmm7, qword [edi + ebx*8 - 8]
addsd xmm7, xmm6
movsd xmm6, qword [esp + 0x248]
mulsd xmm6, xmm4
movsd qword [edi + ebx*8 - 8], xmm7
movsd xmm7, qword [esp + 0x228]
mulsd xmm7, xmm5
addsd xmm6, qword [esi + ebx*8 - 8]
mov edi, dword [esp + 0x2b4]
addsd xmm6, xmm7
movsd xmm7, qword [esp + 0x258]
mulsd xmm7, xmm4
movsd qword [esi + ebx*8 - 8], xmm6
movsd xmm6, qword [esp + 0x230]
mulsd xmm6, xmm5
addsd xmm7, qword [edi + ebx*8 - 8]
addsd xmm7, xmm6
movsd xmm6, qword [esp + 0x250]
mulsd xmm6, xmm4
movsd qword [edi + ebx*8 - 8], xmm7
mov edi, dword [esp + 0x2ac]
movsd xmm7, qword [esp + 0x260]
mulsd xmm7, xmm5
addsd xmm6, qword [edi + ebx*8 - 8]
addsd xmm6, xmm7
movsd qword [edi + ebx*8 - 8], xmm6
mov edi, dword [esp + 0x29c]
movsd xmm6, qword [esp + 0x1f8]
subsd xmm6, xmm1
movaps xmm1, xmm5
movsd xmm7, qword [edi + ebx*8 - 8]
mulsd xmm1, xmm7
mulsd xmm7, xmm4
movsd qword [esp + 0x1f8], xmm6
movsd xmm6, qword [esp + 0x1f0]
mov edi, dword [esp + 0x2a4]
subsd xmm6, xmm1
movsd xmm1, qword [esp + 0x278]
movsd qword [esp + 0x1f0], xmm6
subsd xmm1, xmm7
movsd xmm6, qword [edi + ebx*8 - 8]
movaps xmm7, xmm5
mulsd xmm7, xmm6
mulsd xmm6, xmm4
subsd xmm2, xmm7
subsd xmm0, xmm6
mov edi, dword [esp + 0x2a8]
movsd qword [esp + 0x278], xmm1
movaps xmm1, xmm5
movsd xmm7, qword [esp + 0x1d8]
movsd xmm6, qword [edi + ebx*8 - 8]
mulsd xmm1, xmm6
mulsd xmm6, xmm4
subsd xmm3, xmm1
subsd xmm7, xmm6
mov edi, dword [esp + 0x2a0]
movaps xmm1, xmm5
movsd qword [esp + 0x1d8], xmm7
movsd xmm7, qword [esp + 0x1e8]
mov esi, esi
movsd xmm6, qword [edi + ebx*8 - 8]
mulsd xmm1, xmm6
mulsd xmm6, xmm4
subsd xmm7, xmm1
movsd xmm1, qword [esp + 0x1d0]
movsd qword [esp + 0x1e8], xmm7
subsd xmm1, xmm6
movsd qword [esp + 0x1d0], xmm1
movsd xmm1, qword [eax + ebx*8 - 8]
inc ebx
mulsd xmm5, xmm1
mulsd xmm4, xmm1
movsd xmm6, qword [esp + 0x1e0]
cmp ebx, dword [esp + 0x2b8]
subsd xmm6, xmm5
movsd xmm5, qword [esp + 0x270]
movsd qword [esp + 0x1e0], xmm6
subsd xmm5, xmm4
movsd qword [esp + 0x270], xmm5
movsd xmm4, qword [esp + 0x268]
jb 0x4efdb3
movsd xmm1, qword [esp + 0x278]
movsd xmm6, qword [esp + 0x1f8]
movsd xmm5, qword [esp + 0x1f0]
mov edx, dword [esp + 0x2b8]
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x288]
mov ecx, dword [esp + 0x24]
pxor xmm7, xmm7
movsd xmm7, xmm4
pxor xmm4, xmm4
movsd xmm4, xmm6
movaps xmmword [esp + 0x170], xmm4
pxor xmm6, xmm6
pxor xmm4, xmm4
movsd xmm4, xmm5
pxor xmm5, xmm5
movsd xmm5, xmm1
pxor xmm1, xmm1
movsd xmm1, xmm2
movaps xmmword [esp + 0x160], xmm1
pxor xmm1, xmm1
movsd xmm2, qword [esp + 0x1d8]
movsd xmm1, xmm0
movsd xmm6, xmm2
pxor xmm0, xmm0
pxor xmm2, xmm2
movsd xmm0, xmm3
movsd xmm3, qword [esp + 0x1e8]
movsd xmm2, xmm3
movaps xmmword [esp + 0x150], xmm6
movaps xmmword [esp + 0x140], xmm2
movsd xmm6, qword [esp + 0x1d0]
pxor xmm2, xmm2
movsd xmm2, xmm6
movsd xmm3, qword [esp + 0x1e0]
pxor xmm6, xmm6
movaps xmmword [esp + 0x180], xmm7
movsd xmm6, xmm3
movsd xmm7, qword [esp + 0x270]
pxor xmm3, xmm3
movsd xmm3, xmm7
mov dword [esp + 0x2bc], eax
mov dword [esp + 8], esi
mov dword [esp + 0x288], ebx
mov dword [esp + 0x24], ecx
movaps xmmword [esp + 0x190], xmm3
movaps xmmword [esp + 0x1a0], xmm6
movaps xmmword [esp + 0x1b0], xmm5
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x2b0]
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x290]
movaps xmmword [esp + 0x1c0], xmm2
movaps xmm7, xmmword [esp + 0x80]
movsd xmm5, qword [edi + edx*8 - 8]
movhpd xmm5, qword [edi + edx*8]
mov edi, dword [esp + 0x298]
movaps xmm3, xmm5
movaps xmm6, xmmword [esp + 0x180]
mulpd xmm7, xmm5
movsd xmm2, qword [edi + edx*8 - 8]
movhpd xmm2, qword [edi + edx*8]
mulpd xmm3, xmm2
subpd xmm6, xmm3
mov edi, dword [esp + 0x294]
movaps xmmword [esp + 0x180], xmm6
movsd xmm6, qword [eax + edx*8 - 8]
movhpd xmm6, qword [eax + edx*8]
addpd xmm6, xmm7
movaps xmm3, xmmword [edi + edx*8 - 8]
movaps xmm7, xmmword [esp + 0x90]
mulpd xmm7, xmm3
mulpd xmm2, xmm3
addpd xmm6, xmm7
movsd qword [eax + edx*8 - 8], xmm6
movhpd qword [eax + edx*8], xmm6
movaps xmm6, xmmword [esp + 0x130]
mulpd xmm6, xmm5
movsd xmm7, qword [esi + edx*8 - 8]
movhpd xmm7, qword [esi + edx*8]
addpd xmm7, xmm6
movaps xmm6, xmmword [esp + 0x120]
mulpd xmm6, xmm3
addpd xmm7, xmm6
movsd qword [esi + edx*8 - 8], xmm7
movhpd qword [esi + edx*8], xmm7
movaps xmm7, xmmword [esp + 0x110]
mulpd xmm7, xmm5
movsd xmm6, qword [ecx + edx*8 - 8]
movhpd xmm6, qword [ecx + edx*8]
addpd xmm6, xmm7
movaps xmm7, xmmword [esp + 0x100]
mulpd xmm7, xmm3
addpd xmm6, xmm7
movsd qword [ecx + edx*8 - 8], xmm6
movhpd qword [ecx + edx*8], xmm6
movaps xmm6, xmmword [esp + 0xf0]
mulpd xmm6, xmm5
movsd xmm7, qword [ebx + edx*8 - 8]
movhpd xmm7, qword [ebx + edx*8]
addpd xmm7, xmm6
movaps xmm6, xmmword [esp + 0xe0]
mulpd xmm6, xmm3
addpd xmm7, xmm6
movsd qword [ebx + edx*8 - 8], xmm7
movhpd qword [ebx + edx*8], xmm7
movaps xmm7, xmmword [esp + 0xd0]
mulpd xmm7, xmm5
mov edi, dword [esp + 0x2b4]
movsd xmm6, qword [edi + edx*8 - 8]
movhpd xmm6, qword [edi + edx*8]
addpd xmm6, xmm7
movaps xmm7, xmmword [esp + 0xc0]
mulpd xmm7, xmm3
addpd xmm6, xmm7
movsd qword [edi + edx*8 - 8], xmm6
movhpd qword [edi + edx*8], xmm6
movaps xmm6, xmmword [esp + 0xb0]
mulpd xmm6, xmm5
mov edi, dword [esp + 0x2ac]
movsd xmm7, qword [edi + edx*8 - 8]
movhpd xmm7, qword [edi + edx*8]
addpd xmm7, xmm6
movaps xmm6, xmmword [esp + 0xa0]
mulpd xmm6, xmm3
addpd xmm7, xmm6
movsd qword [edi + edx*8 - 8], xmm7
movhpd qword [edi + edx*8], xmm7
mov edi, dword [esp + 0x29c]
movaps xmm7, xmmword [esp + 0x170]
subpd xmm7, xmm2
movsd xmm6, qword [edi + edx*8 - 8]
movaps xmm2, xmm5
movhpd xmm6, qword [edi + edx*8]
mulpd xmm2, xmm6
mulpd xmm6, xmm3
subpd xmm4, xmm2
movaps xmmword [esp + 0x170], xmm7
movaps xmm2, xmm5
movaps xmm7, xmmword [esp + 0x1b0]
subpd xmm7, xmm6
mov edi, dword [esp + 0x2a4]
movaps xmmword [esp + 0x1b0], xmm7
movaps xmm6, xmmword [esp + 0x160]
movsd xmm7, qword [edi + edx*8 - 8]
movhpd xmm7, qword [edi + edx*8]
mulpd xmm2, xmm7
mulpd xmm7, xmm3
subpd xmm6, xmm2
subpd xmm1, xmm7
mov edi, dword [esp + 0x2a8]
movaps xmm2, xmm5
movaps xmmword [esp + 0x160], xmm6
movaps xmm7, xmmword [esp + 0x150]
movsd xmm6, qword [edi + edx*8 - 8]
movhpd xmm6, qword [edi + edx*8]
mulpd xmm2, xmm6
mulpd xmm6, xmm3
subpd xmm0, xmm2
subpd xmm7, xmm6
mov edi, dword [esp + 0x2a0]
movaps xmm2, xmm5
movaps xmmword [esp + 0x150], xmm7
movaps xmm7, xmmword [esp + 0x140]
nop
movsd xmm6, qword [edi + edx*8 - 8]
movhpd xmm6, qword [edi + edx*8]
mulpd xmm2, xmm6
mulpd xmm6, xmm3
subpd xmm7, xmm2
mov edi, dword [esp + 0x2bc]
movaps xmmword [esp + 0x140], xmm7
movaps xmm2, xmmword [esp + 0x1c0]
movsd xmm7, qword [edi + edx*8 - 8]
movhpd xmm7, qword [edi + edx*8]
add edx, 2
mulpd xmm5, xmm7
mulpd xmm3, xmm7
subpd xmm2, xmm6
movaps xmm6, xmmword [esp + 0x1a0]
subpd xmm6, xmm5
movaps xmm5, xmmword [esp + 0x190]
subpd xmm5, xmm3
movaps xmmword [esp + 0x1a0], xmm6
movaps xmmword [esp + 0x190], xmm5
cmp edx, dword [esp + 0x28c]
jb 0x4f016d
movaps xmm3, xmmword [esp + 0x190]
movaps xmm7, xmm3
movaps xmm6, xmmword [esp + 0x1a0]
unpckhpd xmm7, xmm3
movaps xmm5, xmmword [esp + 0x1b0]
addsd xmm3, xmm7
movaps xmm7, xmm6
unpckhpd xmm7, xmm6
movsd qword [esp + 0x270], xmm3
movaps xmm3, xmm2
unpckhpd xmm3, xmm2
addsd xmm6, xmm7
addsd xmm2, xmm3
movsd qword [esp + 0x1e0], xmm6
movaps xmm6, xmmword [esp + 0x140]
movaps xmm3, xmm6
unpckhpd xmm3, xmm6
movsd qword [esp + 0x1d0], xmm2
movaps xmm2, xmm0
unpckhpd xmm2, xmm0
addsd xmm6, xmm3
addsd xmm0, xmm2
movaps xmm3, xmmword [esp + 0x150]
movaps xmm7, xmm3
unpckhpd xmm7, xmm3
movsd qword [esp + 0x1e8], xmm6
movaps xmm6, xmm5
unpckhpd xmm6, xmm5
addsd xmm3, xmm7
addsd xmm5, xmm6
movsd qword [esp + 0x1d8], xmm3
movaps xmm3, xmm0
movaps xmm0, xmm1
unpckhpd xmm0, xmm1
movaps xmm2, xmmword [esp + 0x160]
addsd xmm1, xmm0
movaps xmm0, xmm1
movaps xmm1, xmm2
unpckhpd xmm1, xmm2
movaps xmm6, xmmword [esp + 0x170]
addsd xmm2, xmm1
movaps xmm1, xmm5
movaps xmm5, xmm4
unpckhpd xmm5, xmm4
mov esi, dword [esp + 8]
addsd xmm4, xmm5
movaps xmm5, xmm4
movaps xmm4, xmm6
unpckhpd xmm4, xmm6
mov ebx, dword [esp + 0x288]
addsd xmm6, xmm4
movaps xmm4, xmmword [esp + 0x180]
movaps xmm7, xmm4
unpckhpd xmm7, xmm4
mov ecx, dword [esp + 0x24]
addsd xmm4, xmm7
cmp ebx, dword [esp + 0x28c]
jbe 0x4f0908
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x288], ebx
movsd qword [esp + 0x280], xmm0
lea eax, [edx + esi]
mov dword [esp + 0x2cc], eax
lea edx, [edi + esi]
mov eax, dword [ebp + 0x1c]
lea esi, [esi + ecx*8]
mov ecx, dword [ebp + 0x20]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x2c8], edx
movsd qword [esp + 0x278], xmm1
lea edx, [ecx + esi]
movsd qword [esp + 0x1f8], xmm6
lea ecx, [eax + esi]
mov dword [esp + 0x2e4], ecx
lea eax, [edi + esi]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
movsd qword [esp + 0x200], xmm2
add edi, esi
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x54]
add ecx, esi
mov dword [esp + 0x2c0], ecx
mov ebx, dword [esp + 0x34]
add edi, esi
mov dword [esp + 0x2e0], edi
mov edi, dword [esp + 0x48]
add edi, esi
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x30]
add edi, esi
mov dword [esp + 0x2dc], edi
mov edi, dword [esp + 0x64]
add edi, esi
mov dword [esp + 0x2d8], edi
mov edi, dword [esp + 0x44]
add edi, esi
mov dword [esp + 0x2d4], edi
mov edi, dword [esp + 0x68]
add edi, esi
add esi, dword [esp + 0x38]
mov dword [esp + 0x2c4], esi
mov dword [esp + 0x2d0], edi
mov esi, dword [esp + 0x28c]
mov edi, dword [esp + 0x2cc]
movsd xmm7, qword [esp + 0x210]
movsd xmm6, qword [esp + 0x208]
movsd xmm2, qword [edi + esi*8 - 8]
mov edi, dword [esp + 0x2e4]
movaps xmm1, xmm2
mulsd xmm7, xmm2
movsd xmm0, qword [edi + esi*8 - 8]
mulsd xmm1, xmm0
addsd xmm7, qword [edx + esi*8 - 8]
mov edi, dword [esp + 0x2c8]
subsd xmm4, xmm1
movsd xmm1, qword [edi + esi*8 - 8]
mulsd xmm6, xmm1
mulsd xmm0, xmm1
addsd xmm7, xmm6
movsd xmm6, qword [esp + 0x218]
mulsd xmm6, xmm2
movsd qword [edx + esi*8 - 8], xmm7
movsd xmm7, qword [esp + 0x238]
mulsd xmm7, xmm1
addsd xmm6, qword [eax + esi*8 - 8]
mov edi, dword [esp + 0x2d8]
addsd xmm6, xmm7
movsd xmm7, qword [esp + 0x220]
mulsd xmm7, xmm2
movsd qword [eax + esi*8 - 8], xmm6
movsd xmm6, qword [esp + 0x240]
mulsd xmm6, xmm1
addsd xmm7, qword [ebx + esi*8 - 8]
addsd xmm7, xmm6
movsd xmm6, qword [esp + 0x228]
mulsd xmm6, xmm2
movsd qword [ebx + esi*8 - 8], xmm7
movsd xmm7, qword [esp + 0x248]
mulsd xmm7, xmm1
addsd xmm6, qword [ecx + esi*8 - 8]
addsd xmm6, xmm7
movsd xmm7, qword [esp + 0x230]
mulsd xmm7, xmm2
movsd qword [ecx + esi*8 - 8], xmm6
movsd xmm6, qword [esp + 0x258]
mulsd xmm6, xmm1
addsd xmm7, qword [edi + esi*8 - 8]
addsd xmm7, xmm6
movsd xmm6, qword [esp + 0x260]
mulsd xmm6, xmm2
movsd qword [edi + esi*8 - 8], xmm7
mov edi, dword [esp + 0x2d0]
movsd xmm7, qword [esp + 0x250]
mulsd xmm7, xmm1
addsd xmm6, qword [edi + esi*8 - 8]
addsd xmm6, xmm7
movsd xmm7, qword [esp + 0x278]
movsd qword [edi + esi*8 - 8], xmm6
movsd xmm6, qword [esp + 0x1f8]
mov edi, dword [esp + 0x2c0]
subsd xmm6, xmm0
movsd qword [esp + 0x1f8], xmm6
movaps xmm0, xmm2
movsd xmm6, qword [edi + esi*8 - 8]
mulsd xmm0, xmm6
mulsd xmm6, xmm1
subsd xmm5, xmm0
subsd xmm7, xmm6
mov edi, dword [esp + 0x2e0]
movaps xmm0, xmm2
movsd qword [esp + 0x278], xmm7
movsd xmm6, qword [esp + 0x200]
movsd xmm7, qword [edi + esi*8 - 8]
mulsd xmm0, xmm7
mulsd xmm7, xmm1
subsd xmm6, xmm0
mov edi, dword [esp + 0x2dc]
movsd xmm0, qword [esp + 0x280]
movsd qword [esp + 0x200], xmm6
subsd xmm0, xmm7
movsd xmm6, qword [edi + esi*8 - 8]
movaps xmm7, xmm2
mulsd xmm7, xmm6
mulsd xmm6, xmm1
subsd xmm3, xmm7
mov edi, dword [esp + 0x2d4]
movaps xmm7, xmm2
movsd qword [esp + 0x280], xmm0
movsd xmm0, qword [esp + 0x1d8]
subsd xmm0, xmm6
mov esi, esi
movsd xmm6, qword [edi + esi*8 - 8]
mulsd xmm7, xmm6
mulsd xmm6, xmm1
movsd qword [esp + 0x1d8], xmm0
movsd xmm0, qword [esp + 0x1e8]
mov edi, dword [esp + 0x2c4]
subsd xmm0, xmm7
movsd qword [esp + 0x1e8], xmm0
movsd xmm0, qword [edi + esi*8 - 8]
inc esi
mulsd xmm2, xmm0
mulsd xmm1, xmm0
movsd xmm7, qword [esp + 0x1d0]
cmp esi, dword [esp + 0x288]
subsd xmm7, xmm6
movsd xmm6, qword [esp + 0x1e0]
movsd qword [esp + 0x1d0], xmm7
subsd xmm6, xmm2
movsd xmm2, qword [esp + 0x270]
movsd qword [esp + 0x1e0], xmm6
subsd xmm2, xmm1
movsd qword [esp + 0x270], xmm2
jb 0x4f0651
movsd xmm0, qword [esp + 0x280]
movsd xmm1, qword [esp + 0x278]
movsd xmm6, qword [esp + 0x1f8]
movsd xmm2, qword [esp + 0x200]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x4c]
lea ecx, [edx + eax + 1]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x4c], ecx
cmp ecx, dword [esp + 0x40]
jle 0x4efc44
movsd qword [esp], xmm3
movsd qword [esp + 0x1f0], xmm5
movsd qword [esp + 0x1f8], xmm6
movsd xmm5, qword [esp + 0x270]
movsd xmm3, qword [esp + 0x1e0]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x20]
add edx, eax
mov esi, dword [esp + 0x20]
add ecx, eax
movsd xmm6, qword [esp + 0x1f8]
add ebx, eax
mov dword [esp + 0x1c], edx
addsd xmm6, qword [edi + esi*8 + 8]
movsd qword [edi + esi*8 + 8], xmm6
mov edi, dword [esp + 0x18]
addsd xmm1, qword [edx + esi*8 + 8]
movsd qword [edx + esi*8 + 8], xmm1
lea edx, [eax + edi]
movsd xmm1, qword [esp + 0x1d0]
lea eax, [eax + edi*2]
mov edi, dword [ebp + 0x20]
addsd xmm0, qword [edx + esi*8 + 8]
movsd qword [edx + esi*8 + 8], xmm0
movsd xmm0, qword [esp + 0x1d8]
addsd xmm0, qword [ecx + esi*8 + 8]
movsd qword [ecx + esi*8 + 8], xmm0
addsd xmm1, qword [ebx + esi*8 + 8]
movsd qword [ebx + esi*8 + 8], xmm1
addsd xmm5, qword [eax + esi*8 + 8]
movsd qword [eax + esi*8 + 8], xmm5
movsd xmm5, qword [esp + 0x1e8]
addsd xmm4, qword [edi + esi*8]
movsd qword [edi + esi*8], xmm4
mov edi, dword [esp + 0x1c]
movsd xmm4, qword [esp + 0x1f0]
addsd xmm4, qword [edi + esi*8]
movsd qword [edi + esi*8], xmm4
addsd xmm2, qword [edx + esi*8]
movsd qword [edx + esi*8], xmm2
movsd xmm2, qword [esp]
addsd xmm2, qword [ecx + esi*8]
movsd qword [ecx + esi*8], xmm2
addsd xmm5, qword [ebx + esi*8]
movsd qword [ebx + esi*8], xmm5
addsd xmm3, qword [eax + esi*8]
movsd qword [eax + esi*8], xmm3
add esp, 0x2f4
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x24
mov dword [esp + 0x28c], 0
jmp 0x4f0565