Function at 0x10151bd0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x3b8
push esi
mov esi, dword [ebx + 8]
push edi
mov edi, ecx
mov dword [ebp - 0x254], esi
mov dword [ebp - 0x2b8], edi
mov dword [ebp - 0x70], 0x3020100
mov dword [ebp - 0x6c], 0x3020100
mov dword [ebp - 0x68], 0x3020100
mov dword [ebp - 0x64], 0x3020100
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0x4040404
mov dword [ebp - 0xc8], 0x8080808
mov dword [ebp - 0xc4], 0xc0c0c0c
mov dword [ebp - 0xc0], 0x3020100
mov dword [ebp - 0xbc], 0x3020100
mov dword [ebp - 0xb8], 0x3020100
mov dword [ebp - 0xb4], 0x3020100
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0x4040404
mov dword [ebp - 0xd8], 0x8080808
mov dword [ebp - 0xd4], 0xc0c0c0c
mov dword [ebp - 0xa0], 0x3020100
mov dword [ebp - 0x9c], 0x3020100
mov dword [ebp - 0x98], 0x3020100
mov dword [ebp - 0x94], 0x3020100
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0x4040404
mov dword [ebp - 0xa8], 0x8080808
mov dword [ebp - 0xa4], 0xc0c0c0c
mov dword [ebp - 0x90], 0x3020100
mov dword [ebp - 0x8c], 0x3020100
mov dword [ebp - 0x88], 0x3020100
mov dword [ebp - 0x84], 0x3020100
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0x4040404
mov dword [ebp - 0x158], 0x8080808
mov dword [ebp - 0x154], 0xc0c0c0c
mov dword [ebp - 0x50], 0x3020100
mov dword [ebp - 0x4c], 0x3020100
mov dword [ebp - 0x48], 0x3020100
mov dword [ebp - 0x44], 0x3020100
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0x4040404
mov dword [ebp - 0x78], 0x8080808
mov dword [ebp - 0x74], 0xc0c0c0c
mov dword [ebp - 0x10], 0x3020100
mov dword [ebp - 0xc], 0x3020100
mov dword [ebp - 8], 0x3020100
mov dword [ebp - 4], 0x3020100
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0x4040404
mov dword [ebp - 0x38], 0x8080808
mov dword [ebp - 0x34], 0xc0c0c0c
mov dword [ebp - 0x20], 0x3020100
mov dword [ebp - 0x1c], 0x3020100
mov dword [ebp - 0x18], 0x3020100
mov dword [ebp - 0x14], 0x3020100
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0x4040404
mov dword [ebp - 0x28], 0x8080808
mov dword [ebp - 0x24], 0xc0c0c0c
mov dword [ebp - 0x1b0], 0x3020100
mov dword [ebp - 0x1ac], 0x3020100
mov dword [ebp - 0x1a8], 0x3020100
mov dword [ebp - 0x1a4], 0x3020100
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0x4040404
mov dword [ebp - 0x1b8], 0x8080808
mov dword [ebp - 0x1b4], 0xc0c0c0c
mov dword [ebp - 0x1a0], 0x3020100
mov dword [ebp - 0x19c], 0x3020100
mov dword [ebp - 0x198], 0x3020100
mov dword [ebp - 0x194], 0x3020100
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0x4040404
mov dword [ebp - 0x58], 0x8080808
mov dword [ebp - 0x54], 0xc0c0c0c
mov dword [ebp - 0x180], 0x3020100
mov dword [ebp - 0x17c], 0x3020100
mov dword [ebp - 0x178], 0x3020100
xor edx, edx
mov dword [ebp - 0x174], 0x3020100
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0x4040404
mov dword [ebp - 0x188], 0x8080808
mov dword [ebp - 0x184], 0xc0c0c0c
mov dword [ebp - 0x110], 0x3020100
mov dword [ebp - 0x10c], 0x3020100
mov dword [ebp - 0x108], 0x3020100
mov dword [ebp - 0x104], 0x3020100
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0x4040404
mov dword [ebp - 0x168], 0x8080808
mov dword [ebp - 0x164], 0xc0c0c0c
mov dword [ebp - 0x140], 0x3020100
mov dword [ebp - 0x13c], 0x3020100
mov dword [ebp - 0x138], 0x3020100
mov dword [ebp - 0x134], 0x3020100
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0x4040404
mov dword [ebp - 0x148], 0x8080808
mov dword [ebp - 0x144], 0xc0c0c0c
mov dword [ebp - 0x100], 0x3020100
mov dword [ebp - 0xfc], 0x3020100
mov dword [ebp - 0xf8], 0x3020100
mov dword [ebp - 0xf4], 0x3020100
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0x4040404
mov dword [ebp - 0x128], 0x8080808
mov dword [ebp - 0x124], 0xc0c0c0c
mov dword [ebp - 0x120], 0x3020100
mov dword [ebp - 0x11c], 0x3020100
mov dword [ebp - 0x118], 0x3020100
mov dword [ebp - 0x114], 0x3020100
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0x4040404
mov dword [ebp - 0xe8], 0x8080808
mov dword [ebp - 0xe4], 0xc0c0c0c
mov dword [ebp - 0x21c], edx
mov eax, dword [edi + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
imul ecx, esi
mov esi, dword [edi]
add ecx, dword [edx + eax + 0x14]
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 4]
mov dword [ebp - 0x220], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x218], ecx
mov edi, dword [esi + 8]
mov dword [ebp - 0x1f4], edi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x1f0], ecx
mov ecx, dword [esi + 4]
add ecx, dword [ebp - 0x254]
imul ecx, dword [edx + 0x10]
add ecx, dword [eax + edx + 0x14]
mov eax, dword [esi]
lea edx, [ecx + eax*4]
mov ecx, dword [ebp - 0x1f0]
mov dword [ebp - 0x1d8], edx
lea eax, [ecx*4]
sub eax, ecx
neg eax
shl eax, 2
mov dword [ebp - 0x28c], eax
lea esi, [eax + edx]
mov eax, ecx
neg eax
mov dword [ebp - 0x1c4], esi
mov esi, dword [ebp - 0x1d8]
shl eax, 3
lea edi, [eax + edx]
mov dword [ebp - 0x298], eax
mov eax, ecx
mov dword [ebp - 0x1cc], edi
neg eax
shl eax, 2
add edx, eax
mov dword [ebp - 0x2a4], eax
lea eax, [esi + ecx*4]
mov dword [ebp - 0x1dc], edx
lea ecx, [esi + ecx*8]
mov dword [ebp - 0x1d0], eax
mov esi, dword [ebp - 0x1f0]
movups xmm2, xmmword [eax]
lea eax, [edi + 4]
mov dword [ebp - 0x1d4], ecx
movups xmm3, xmmword [edx]
lea esi, [esi + esi*2]
mov dword [ebp - 0x1e0], eax
shl esi, 2
mov dword [ebp - 0x2ac], esi
add esi, dword [ebp - 0x1d8]
add edx, 8
mov dword [ebp - 0x1ec], esi
mov esi, dword [ebp - 0x220]
movups xmm6, xmmword [edi]
movups xmm0, xmmword [esi]
movaps xmmword [ebp - 0x270], xmm0
movups xmm0, xmmword [esi + 0x10]
movaps xmmword [ebp - 0x250], xmm0
movups xmm0, xmmword [esi + 0x20]
movaps xmmword [ebp - 0x240], xmm0
movups xmm0, xmmword [esi + 0x30]
movaps xmmword [ebp - 0x210], xmm0
movups xmm0, xmmword [esi + 0x40]
movaps xmmword [ebp - 0x2f0], xmm0
movups xmm0, xmmword [esi + 0x50]
movaps xmmword [ebp - 0x2e0], xmm0
movups xmm0, xmmword [esi + 0x60]
movaps xmmword [ebp - 0x300], xmm0
movups xmm0, xmmword [esi + 0x70]
mov esi, dword [ebp - 0x1d8]
movaps xmmword [ebp - 0x310], xmm0
movups xmm4, xmmword [esi]
mov edi, dword [ebp - 0x1d0]
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x90
movups xmm5, xmmword [ecx]
mov esi, dword [ebp - 0x1c4]
movups xmm0, xmmword [edi + 4]
mov ecx, dword [ebp - 0x1ec]
add ecx, 0xc
addps xmm1, xmm0
mov dword [ebp - 0x214], ecx
movaps xmm0, xmmword [ebp - 0x270]
mulps xmm0, xmm2
movups xmm7, xmmword [esi]
mulps xmm1, xmmword [ebp - 0x250]
addps xmm1, xmm0
movups xmm0, xmmword [edi + 8]
movups xmmword [ebp - 0x230], xmm1
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x41
addps xmm1, xmm0
shufps xmm2, xmm2, 6
movups xmm0, xmmword [ebp - 0x230]
mulps xmm1, xmmword [ebp - 0x240]
addps xmm0, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0x41
movups xmmword [ebp - 0x230], xmm0
movups xmm0, xmmword [edi + 0xc]
mov edi, dword [ebp - 0x1dc]
addps xmm2, xmm0
movups xmm0, xmmword [ebp - 0x230]
mulps xmm2, xmmword [ebp - 0x210]
addps xmm0, xmm2
movaps xmm2, xmm3
shufps xmm2, xmm3, 0x90
movups xmmword [ebp - 0x230], xmm0
movups xmm0, xmmword [edi + 4]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0x270]
mulps xmm0, xmm3
shufps xmm3, xmm3, 6
mulps xmm2, xmmword [ebp - 0x250]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [edi + 0xc]
mov edi, dword [ebp - 0x1d8]
addps xmm3, xmm0
mulps xmm1, xmmword [ebp - 0x240]
movups xmm0, xmmword [ebp - 0x230]
mulps xmm3, xmmword [ebp - 0x210]
addps xmm2, xmm1
movaps xmm1, xmm4
shufps xmm1, xmm4, 0x41
addps xmm2, xmm3
movaps xmm3, xmm5
shufps xmm3, xmm5, 0x90
addps xmm0, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0x90
mulps xmm0, xmmword [ebp - 0x2e0]
movups xmmword [ebp - 0x230], xmm0
movups xmm0, xmmword [edi + 4]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0x270]
mulps xmm0, xmm4
shufps xmm4, xmm4, 6
mulps xmm2, xmmword [ebp - 0x250]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [edi + 0xc]
mov edi, dword [ebp - 0x1d4]
addps xmm4, xmm0
mulps xmm1, xmmword [ebp - 0x240]
mulps xmm4, xmmword [ebp - 0x210]
addps xmm2, xmm1
addps xmm2, xmm4
movups xmm4, xmmword [ebp - 0x230]
mulps xmm2, xmmword [ebp - 0x2f0]
addps xmm4, xmm2
movups xmm0, xmmword [edi + 4]
movaps xmm1, xmm5
movaps xmm2, xmm6
addps xmm3, xmm0
shufps xmm1, xmm5, 0x41
movaps xmm0, xmmword [ebp - 0x270]
mulps xmm0, xmm5
shufps xmm2, xmm6, 0x90
mulps xmm3, xmmword [ebp - 0x250]
shufps xmm5, xmm5, 6
addps xmm3, xmm0
movups xmm0, xmmword [edi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [edi + 0xc]
mov edi, dword [ebp - 0x1cc]
addps xmm5, xmm0
mulps xmm1, xmmword [ebp - 0x240]
movups xmm0, xmmword [eax]
mulps xmm5, xmmword [ebp - 0x210]
addps xmm2, xmm0
movaps xmm0, xmmword [ebp - 0x270]
mulps xmm0, xmm6
addps xmm3, xmm1
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x41
mulps xmm2, xmmword [ebp - 0x250]
shufps xmm6, xmm6, 6
addps xmm3, xmm5
addps xmm2, xmm0
movups xmm0, xmmword [edi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [edi + 0xc]
mov edi, dword [ebp - 0x1ec]
addps xmm6, xmm0
mulps xmm1, xmmword [ebp - 0x240]
movups xmm0, xmmword [esi + 4]
mulps xmm6, xmmword [ebp - 0x210]
addps xmm2, xmm1
movaps xmm1, xmm7
movups xmm5, xmmword [edi]
shufps xmm1, xmm7, 0x41
addps xmm2, xmm6
movaps xmm6, xmmword [ebp - 0x270]
addps xmm3, xmm2
movaps xmm2, xmm5
shufps xmm2, xmm5, 0x90
mulps xmm3, xmmword [ebp - 0x300]
addps xmm4, xmm3
movaps xmm3, xmm7
shufps xmm3, xmm7, 0x90
addps xmm3, xmm0
movaps xmm0, xmm6
mulps xmm0, xmm7
shufps xmm7, xmm7, 6
mulps xmm3, xmmword [ebp - 0x250]
addps xmm3, xmm0
movups xmm0, xmmword [esi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [esi + 0xc]
addps xmm7, xmm0
mulps xmm1, xmmword [ebp - 0x240]
movups xmm0, xmmword [edi + 4]
mulps xmm7, xmmword [ebp - 0x210]
addps xmm3, xmm1
movaps xmm1, xmm5
addps xmm2, xmm0
shufps xmm1, xmm5, 0x41
movaps xmm0, xmm6
mulps xmm0, xmm5
addps xmm3, xmm7
shufps xmm5, xmm5, 6
movaps xmm7, xmmword [ebp - 0x250]
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edi + 8]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
addps xmm5, xmm0
mulps xmm1, xmmword [ebp - 0x240]
mulps xmm5, xmmword [ebp - 0x210]
addps xmm2, xmm1
mov ecx, dword [ebp - 0x218]
addps xmm2, xmm5
mov edi, dword [ebp - 0x1f4]
mov dword [ebp - 0x1c8], 4
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x310]
addps xmm4, xmm3
movups xmmword [ecx], xmm4
cmp edi, 0xb
jb 0x101528af
mov eax, dword [ebp - 0x1dc]
add ecx, 0x10
mov edi, dword [ebp - 0x1d0]
sub edi, eax
mov esi, dword [ebp - 0x1d0]
mov dword [ebp - 0x2a8], edi
add esi, 0x18
mov edi, dword [ebp - 0x1cc]
sub edi, eax
movaps xmm5, xmmword [ebp - 0x240]
mov dword [ebp - 0x290], edi
mov edi, dword [ebp - 0x1d4]
sub edi, eax
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x29c], edi
mov edi, dword [ebp - 0x1c4]
sub edi, eax
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x278], edi
add ecx, 0x1c
mov edi, dword [ebp - 0x1ec]
sub edi, eax
mov dword [ebp - 0x1e8], ecx
mov dword [ebp - 0x2bc], edi
mov edi, dword [ebp - 0x1cc]
sub edi, dword [ebp - 0x1d0]
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x294], edi
mov edi, dword [ebp - 0x1d4]
sub edi, dword [ebp - 0x1d0]
mov dword [ebp - 0x2a0], edi
mov edi, dword [ebp - 0x1c4]
sub edi, dword [ebp - 0x1d0]
mov dword [ebp - 0x280], edi
mov edi, eax
sub edi, dword [ebp - 0x1d0]
mov dword [ebp - 0x2c4], edi
mov edi, dword [ebp - 0x1d4]
sub edi, dword [ebp - 0x1cc]
mov dword [ebp - 0x2c0], edi
mov edi, dword [ebp - 0x1c4]
sub edi, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x27c], edi
add ecx, 0x14
mov edi, eax
mov dword [ebp - 0x1f8], 8
sub edi, dword [ebp - 0x1cc]
mov dword [ebp - 0x2b0], edi
mov edi, dword [ebp - 0x1c4]
sub edi, dword [ebp - 0x1d4]
mov dword [ebp - 0x274], edi
mov edi, eax
sub edi, dword [ebp - 0x1d4]
mov dword [ebp - 0x2b4], edi
mov edi, dword [ebp - 0x1c4]
sub edi, eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x288], edi
mov edi, dword [ebp - 0x1c4]
sub edi, dword [ebp - 0x218]
mov dword [ebp - 0x284], edi
mov edi, dword [ebp - 0x1f0]
movups xmm0, xmmword [esi - 0xc]
movaps xmm3, xmmword [ebp - 0x210]
movups xmm4, xmmword [ecx + edi*4]
mov edi, dword [ebp - 0x2a8]
addps xmm4, xmm0
movups xmm0, xmmword [esi - 8]
movups xmm1, xmmword [edx + edi]
mov edi, dword [ebp - 0x2a4]
mulps xmm0, xmm6
mulps xmm4, xmm7
movups xmm2, xmmword [ecx + edi]
mov edi, dword [ebp - 0x1f0]
addps xmm4, xmm0
movups xmm0, xmmword [esi]
addps xmm1, xmm0
movups xmm0, xmmword [esi + 4]
mulps xmm1, xmm5
addps xmm4, xmm1
movups xmm1, xmmword [esi - 0x14]
addps xmm1, xmm0
movups xmm0, xmmword [edx + 4]
addps xmm2, xmm0
movups xmm0, xmmword [edx + 8]
mulps xmm1, xmm3
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm4, xmm1
movups xmm1, xmmword [edx + 0x10]
addps xmm2, xmm0
movups xmm0, xmmword [edx]
addps xmm1, xmm0
movups xmm0, xmmword [edx - 4]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [edx + 0x14]
addps xmm1, xmm0
movups xmm0, xmmword [ecx]
mulps xmm1, xmm3
addps xmm2, xmm1
movups xmm1, xmmword [ecx - 0xc]
addps xmm4, xmm2
movups xmm2, xmmword [ecx - 8]
addps xmm2, xmm0
movups xmm0, xmmword [ecx - 4]
mulps xmm4, xmmword [ebp - 0x2e0]
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [ecx + 4]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + 8]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [ecx - 0x10]
addps xmm1, xmm0
mulps xmm1, xmm3
movups xmm3, xmmword [ecx + edi*8]
mov edi, dword [ebp - 0x1e8]
addps xmm2, xmm1
movups xmm0, xmmword [edi - 0x10]
addps xmm3, xmm0
mulps xmm2, xmmword [ebp - 0x2f0]
movups xmm0, xmmword [edi - 0xc]
mov edi, dword [ebp - 0x2a0]
mulps xmm0, xmm6
addps xmm4, xmm2
movups xmm1, xmmword [esi + edi]
mov edi, dword [ebp - 0x29c]
mulps xmm3, xmm7
addps xmm3, xmm0
movups xmm0, xmmword [edx + edi]
mov edi, dword [ebp - 0x2c0]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm3, xmm1
movups xmm1, xmmword [eax + edi]
mov edi, dword [ebp - 0x1e8]
movups xmm0, xmmword [edi]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x210]
movups xmm0, xmmword [eax + 8]
mov edi, dword [ebp - 0x298]
addps xmm3, xmm1
movups xmm2, xmmword [ecx + edi]
mov edi, dword [ebp - 0x294]
addps xmm2, xmm0
movups xmm0, xmmword [eax + 0xc]
movups xmm1, xmmword [esi + edi]
mov edi, dword [ebp - 0x290]
mulps xmm0, xmm6
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edx + edi]
mov edi, dword [ebp - 0x214]
addps xmm1, xmm0
movups xmm0, xmmword [eax]
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [eax + 0x18]
mov eax, dword [ebp - 0x28c]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x210]
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x300]
addps xmm4, xmm3
movups xmm3, xmmword [ecx + eax]
mov eax, dword [ebp - 0x288]
movups xmm0, xmmword [edi + eax]
mov edi, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x284]
addps xmm3, xmm0
movups xmm0, xmmword [edi + eax]
mov edi, dword [ebp - 0x280]
mov eax, dword [ebp - 0x274]
mulps xmm0, xmm6
movups xmm1, xmmword [esi + edi]
mov edi, dword [ebp - 0x278]
mulps xmm3, xmm7
addps xmm3, xmm0
movups xmm0, xmmword [edx + edi]
mov edi, dword [ebp - 0x1e8]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm3, xmm1
movups xmm1, xmmword [edi + eax]
mov eax, dword [ebp - 0x1e0]
mov edi, dword [ebp - 0x27c]
movups xmm0, xmmword [eax + edi]
mov edi, dword [ebp - 0x214]
mov eax, dword [ebp - 0x2ac]
addps xmm1, xmm0
movups xmm0, xmmword [edi]
movups xmm2, xmmword [ecx + eax]
mov eax, dword [ebp - 0x2b4]
mulps xmm1, xmmword [ebp - 0x210]
addps xmm2, xmm0
movups xmm0, xmmword [edi + 4]
mov edi, dword [ebp - 0x2c4]
addps xmm3, xmm1
mulps xmm0, xmm6
movups xmm1, xmmword [esi + edi]
mov edi, dword [ebp - 0x2bc]
mulps xmm2, xmm7
addps xmm2, xmm0
movups xmm0, xmmword [edx + edi]
mov edi, dword [ebp - 0x1e8]
addps xmm1, xmm0
mulps xmm1, xmm5
addps xmm2, xmm1
movups xmm1, xmmword [edi + eax]
mov edi, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x1e0]
movups xmm0, xmmword [eax + edi]
mov edi, dword [ebp - 0x1e4]
addps xmm1, xmm0
mulps xmm1, xmmword [ebp - 0x210]
addps xmm2, xmm1
addps xmm3, xmm2
mulps xmm3, xmmword [ebp - 0x310]
addps xmm4, xmm3
mov eax, dword [ebp - 0x1f8]
add ecx, 0x10
add dword [ebp - 0x1e0], 0x10
add eax, 4
add dword [ebp - 0x1c8], 4
add edx, 0x10
add dword [ebp - 0x1e8], 0x10
add esi, 0x10
add dword [ebp - 0x214], 0x10
movups xmmword [edi], xmm4
add edi, 0x10
mov dword [ebp - 0x1e4], edi
mov edi, eax
mov dword [ebp - 0x1f8], eax
xor eax, eax
add edi, 3
mov dword [ebp - 0x224], edi
mov edi, dword [ebp - 0x1f4]
adc eax, eax
test eax, eax
mov eax, dword [ebp - 0x1e0]
jb 0x101525a3
ja 0x101528a9
cmp dword [ebp - 0x224], edi
jbe 0x101525a3
mov esi, dword [ebp - 0x1c4]
movups xmm7, xmmword [0x10207c34]
mov eax, dword [ebp - 0x1d8]
movaps xmm6, xmmword [0x10207c30]
movaps xmm0, xmm7
mov edx, dword [ebp - 0x1cc]
pshufb xmm0, xmmword [ebp - 0xd0]
mov ecx, dword [ebp - 0x1d4]
movups xmm1, xmmword [eax + edi*4 - 0x10]
mov eax, dword [ebp - 0x1dc]
psllw xmm0, 2
movaps xmm2, xmm1
paddb xmm0, xmmword [ebp - 0x70]
pshufb xmm2, xmm0
movaps xmm0, xmm6
pshufb xmm0, xmmword [ebp - 0xe0]
movaps xmmword [ebp - 0x350], xmm2
psllw xmm0, 2
movups xmm5, xmmword [ecx + edi*4 - 0x10]
paddb xmm0, xmmword [ebp - 0xc0]
pshufb xmm1, xmm0
movaps xmm0, xmm7
pshufb xmm0, xmmword [ebp - 0xb0]
movaps xmmword [ebp - 0x340], xmm1
movups xmm1, xmmword [eax + edi*4 - 0x10]
mov eax, dword [ebp - 0x1d0]
psllw xmm0, 2
movaps xmm2, xmm1
paddb xmm0, xmmword [ebp - 0xa0]
pshufb xmm2, xmm0
movaps xmm0, xmm6
pshufb xmm0, xmmword [ebp - 0x160]
movaps xmmword [ebp - 0x320], xmm2
psllw xmm0, 2
movups xmm2, xmmword [eax + edi*4 - 0x10]
paddb xmm0, xmmword [ebp - 0x90]
pshufb xmm1, xmm0
movaps xmm0, xmm7
pshufb xmm0, xmmword [ebp - 0x80]
movaps xmmword [ebp - 0x230], xmm1
psllw xmm0, 2
movups xmm1, xmmword [edx + edi*4 - 0x10]
paddb xmm0, xmmword [ebp - 0x50]
pshufb xmm2, xmm0
movaps xmm0, xmm6
movaps xmm3, xmm1
pshufb xmm0, xmmword [ebp - 0x40]
movaps xmmword [ebp - 0x330], xmm2
movups xmm2, xmmword [eax + edi*4 - 0x10]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x10]
pshufb xmm2, xmm0
movaps xmm0, xmm7
pshufb xmm0, xmmword [ebp - 0x30]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x20]
pshufb xmm3, xmm0
movaps xmm0, xmm6
pshufb xmm0, xmmword [ebp - 0x1c0]
movaps xmmword [ebp - 0x380], xmm3
movaps xmm3, xmm5
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x1b0]
pshufb xmm1, xmm0
movaps xmm0, xmm7
pshufb xmm0, xmmword [ebp - 0x60]
movaps xmmword [ebp - 0x370], xmm1
movaps xmm1, xmm5
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x1a0]
pshufb xmm1, xmm0
movaps xmm0, xmm6
pshufb xmm0, xmmword [ebp - 0x190]
movaps xmmword [ebp - 0x360], xmm1
movups xmm1, xmmword [esi + edi*4 - 0x10]
psllw xmm0, 2
movaps xmm4, xmm1
paddb xmm0, xmmword [ebp - 0x180]
pshufb xmm3, xmm0
movaps xmm0, xmm7
pshufb xmm0, xmmword [ebp - 0x170]
psllw xmm0, 2
paddb xmm0, xmmword [ebp - 0x110]
pshufb xmm4, xmm0
mov edx, dword [ebp - 0x1ec]
mov esi, dword [ebp - 0x1c8]
movaps xmm0, xmm6
pshufb xmm0, xmmword [ebp - 0x150]
pshufb xmm6, xmmword [ebp - 0xf0]
psllw xmm0, 2
movups xmm7, xmmword [edx + edi*4 - 0x10]
mov edx, dword [ebp - 0x1dc]
paddb xmm0, xmmword [ebp - 0x140]
pshufb xmm1, xmm0
psllw xmm6, 2
movaps xmm0, xmm7
movaps xmmword [ebp - 0x390], xmm1
movups xmm1, xmmword [0x10207c34]
paddb xmm6, xmmword [ebp - 0x120]
pshufb xmm1, xmmword [ebp - 0x130]
movaps xmmword [ebp - 0x3a0], xmm4
movaps xmm4, xmm7
psllw xmm1, 2
pshufb xmm4, xmm6
paddb xmm1, xmmword [ebp - 0x100]
pshufb xmm0, xmm1
movups xmm6, xmmword [edx + esi*4 - 4]
movaps xmmword [ebp - 0x3b0], xmm0
movups xmm0, xmmword [edx + edi*4 - 0x10]
addps xmm6, xmm0
movups xmm0, xmmword [edx + esi*4]
mulps xmm0, xmmword [ebp - 0x270]
mulps xmm6, xmmword [ebp - 0x250]
addps xmm6, xmm0
movups xmm0, xmmword [edx + esi*4 - 8]
addps xmm0, xmmword [ebp - 0x230]
mulps xmm0, xmmword [ebp - 0x240]
addps xmm6, xmm0
movups xmm0, xmmword [edx + esi*4 - 0xc]
mov edx, esi
addps xmm0, xmmword [ebp - 0x320]
movups xmm1, xmmword [eax + edx*4 - 4]
mulps xmm0, xmmword [ebp - 0x210]
addps xmm6, xmm0
movups xmm0, xmmword [eax + edi*4 - 0x10]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4]
mulps xmm0, xmmword [ebp - 0x270]
mulps xmm1, xmmword [ebp - 0x250]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4 - 8]
addps xmm0, xmm2
movups xmm2, xmmword [ecx + edx*4 - 4]
addps xmm2, xmm5
movaps xmm5, xmmword [ebp - 0x270]
mulps xmm0, xmmword [ebp - 0x240]
mulps xmm2, xmmword [ebp - 0x250]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4 - 0xc]
mov eax, dword [ebp - 0x1d8]
addps xmm0, xmmword [ebp - 0x330]
mulps xmm0, xmmword [ebp - 0x210]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edi*4 - 0x10]
addps xmm6, xmm1
movups xmm1, xmmword [eax + edx*4 - 4]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4]
mulps xmm6, xmmword [ebp - 0x2e0]
mulps xmm0, xmmword [ebp - 0x270]
mulps xmm1, xmmword [ebp - 0x250]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4 - 8]
addps xmm0, xmmword [ebp - 0x340]
mulps xmm0, xmmword [ebp - 0x240]
addps xmm1, xmm0
movups xmm0, xmmword [eax + edx*4 - 0xc]
addps xmm0, xmmword [ebp - 0x350]
mulps xmm0, xmmword [ebp - 0x210]
addps xmm1, xmm0
movups xmm0, xmmword [ecx + edx*4]
mulps xmm1, xmmword [ebp - 0x2f0]
addps xmm6, xmm1
mulps xmm0, xmm5
mov eax, dword [ebp - 0x1ec]
addps xmm2, xmm0
movups xmm0, xmmword [ecx + edx*4 - 8]
addps xmm0, xmm3
movaps xmm3, xmmword [ebp - 0x250]
mulps xmm0, xmmword [ebp - 0x240]
addps xmm2, xmm0
movups xmm0, xmmword [ecx + edx*4 - 0xc]
mov edx, dword [ebp - 0x1cc]
mov ecx, esi
mov esi, dword [ebp - 0x1c4]
addps xmm0, xmmword [ebp - 0x360]
movups xmm1, xmmword [edx + ecx*4 - 4]
mulps xmm0, xmmword [ebp - 0x210]
addps xmm2, xmm0
movups xmm0, xmmword [edx + edi*4 - 0x10]
addps xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4]
mulps xmm0, xmm5
mulps xmm1, xmm3
addps xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4 - 8]
addps xmm0, xmmword [ebp - 0x370]
mulps xmm0, xmmword [ebp - 0x240]
addps xmm1, xmm0
movups xmm0, xmmword [edx + ecx*4 - 0xc]
addps xmm0, xmmword [ebp - 0x380]
mulps xmm0, xmmword [ebp - 0x210]
addps xmm1, xmm0
movups xmm0, xmmword [esi + edi*4 - 0x10]
addps xmm2, xmm1
movups xmm1, xmmword [eax + ecx*4 - 4]
addps xmm1, xmm7
mulps xmm2, xmmword [ebp - 0x300]
mulps xmm1, xmm3
addps xmm6, xmm2
movups xmm2, xmmword [esi + ecx*4 - 4]
addps xmm2, xmm0
movups xmm0, xmmword [esi + ecx*4]
mulps xmm0, xmm5
mulps xmm2, xmm3
addps xmm2, xmm0
movups xmm0, xmmword [esi + ecx*4 - 8]
addps xmm0, xmmword [ebp - 0x390]
mulps xmm0, xmmword [ebp - 0x240]
addps xmm2, xmm0
movups xmm0, xmmword [esi + ecx*4 - 0xc]
addps xmm0, xmmword [ebp - 0x3a0]
mulps xmm0, xmmword [ebp - 0x210]
addps xmm2, xmm0
movups xmm0, xmmword [eax + ecx*4]
mulps xmm0, xmm5
addps xmm1, xmm0
movups xmm0, xmmword [eax + ecx*4 - 8]
addps xmm0, xmm4
mulps xmm0, xmmword [ebp - 0x240]
addps xmm1, xmm0
movups xmm0, xmmword [eax + ecx*4 - 0xc]
mov eax, dword [ebp - 0x218]
addps xmm0, xmmword [ebp - 0x3b0]
mulps xmm0, xmmword [ebp - 0x210]
addps xmm1, xmm0
addps xmm2, xmm1
mulps xmm2, xmmword [ebp - 0x310]
addps xmm6, xmm2
movups xmmword [eax + ecx*4], xmm6
add ecx, 4
mov dword [ebp - 0x1c8], ecx
cmp ecx, edi
jae 0x10152ec4
nop word [eax + eax]
mov esi, 0xfffffffd
or eax, 0xffffffff
xorps xmm1, xmm1
mov dword [ebp - 0x1f4], esi
mov dword [ebp - 0x1f8], eax
cdq
mov ecx, esi
xor eax, edx
mov eax, dword [ebp - 0x220]
xor ecx, edx
sub ecx, edx
add ecx, 4
add ecx, ecx
movss xmm2, dword [eax + ecx*8]
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1d8]
imul eax, esi
or edx, 0xffffffff
mov dword [ebp - 0x1dc], edx
lea eax, [ecx + eax*4]
mov dword [ebp - 0x224], eax
mov eax, 0xfffffffd
mov dword [ebp - 0x1e4], eax
nop dword [eax]
mov ecx, eax
mov esi, 0
mov eax, edx
cdq
xor eax, edx
mov eax, dword [ebp - 0x220]
xor ecx, edx
sub ecx, edx
mov edx, dword [ebp - 0x1c8]
add ecx, ecx
add edx, dword [ebp - 0x1e4]
adc esi, dword [ebp - 0x1dc]
movss xmm0, dword [eax + ecx*8]
nop
test esi, esi
jl 0x10152e2e
jg 0x10152e0a
test edx, edx
jb 0x10152e2e
xor ecx, ecx
cmp esi, ecx
jl 0x10152e34
jg 0x10152e16
cmp edx, edi
jb 0x10152e34
mov eax, edi
shld ecx, eax, 1
add eax, eax
sub eax, edx
sbb ecx, esi
sub eax, 1
mov edx, eax
sbb ecx, 0
mov esi, ecx
jmp 0x10152e00
not edx
not esi
jmp 0x10152e00
mov eax, dword [ebp - 0x224]
mulss xmm0, dword [eax + edx*4]
mov eax, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1dc]
add eax, 1
mov dword [ebp - 0x1e4], eax
mulss xmm0, xmm2
adc edx, ecx
mov dword [ebp - 0x1dc], edx
addss xmm1, xmm0
js 0x10152dd0
jg 0x10152e75
cmp eax, 3
jbe 0x10152dd0
mov esi, dword [ebp - 0x1f4]
mov eax, dword [ebp - 0x1f8]
add esi, 1
mov dword [ebp - 0x1f4], esi
adc eax, 0
mov dword [ebp - 0x1f8], eax
js 0x10152d87
jg 0x10152ea4
cmp esi, 3
jbe 0x10152d87
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x218]
movss dword [ecx + eax*4], xmm1
inc eax
mov dword [ebp - 0x1c8], eax
cmp eax, edi
jb 0x10152d70
mov edx, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x2b8]
add edx, 0x18
mov esi, dword [ebp - 0x254]
mov dword [ebp - 0x21c], edx
cmp edx, 0x48
jb 0x10152007
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8