Function at 0x100c6d5c
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x27c
movsx eax, word [ecx + 0x4e]
cmp eax, 2
jl case.0x100c87e1.2
cmp byte [ecx + 0x6c], 0
mov esi, ecx
je case.0x100c87e1.2
cmp byte [esi + 0xa5], 0
je case.0x100c87e1.2
cmp byte [esi + 0x64], 0
je case.0x100c87e1.2
xor eax, eax
lea ecx, [esi + 0x3c]
push 3
push eax
push eax
push eax
call fcn.100c5dee
mov ebp, dword [esi + 0x5c]
mov ecx, eax
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x40]
mov dword [esp], ecx
add ecx, ebp
mov dword [esp + 4], eax
mov eax, dword [esi + 0x54]
mov dword [esp + 0x20], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0x50], ecx
lea ecx, [ecx + ebp]
mov dword [esp + 0x10], ecx
lea ecx, [ecx + ebp]
lea edx, [ecx + ebp]
mov dword [esp + 0x14], ecx
lea ecx, [edx + ebp]
mov dword [esp + 0x1c], eax
mov al, byte [esi + 0x64]
mov dword [esp + 0x40], ecx
lea ecx, [ecx + ebp]
mov dword [esp + 0x30], ecx
lea ecx, [ecx + ebp]
mov dword [esp + 0x18], ecx
lea ecx, [ecx + ebp]
mov dword [esp + 0x70], ecx
lea ecx, [ecx + ebp]
cmp al, 0x6b
mov dword [esp + 0x60], ecx
lea ecx, [ecx + ebp]
mov dword [esp + 0x90], ecx
lea ecx, [ecx + ebp]
mov dword [esp + 0xa0], ecx
lea ecx, [ecx + ebp]
mov dword [esp + 0xb0], ecx
lea ecx, [ecx + ebp]
mov dword [esp + 0xe0], ecx
lea ecx, [ecx + ebp]
mov dword [esp + 0xd0], ecx
lea ecx, [ecx + ebp]
mov dword [esp + 0xc0], ecx
jg 0x100c6f05
mov ecx, eax
mov dword [esp + 0xc], edx
add cl, 0xee
cmp cl, 0x1b
ja 0x100c71c8
movzx ecx, cl
mov edx, 0xe23
bt edx, ecx
jae 0x100c70af
movzx eax, word [esi + 0x4e]
mov esi, dword [esp + 0x30]
add eax, 0xfffffffe
ror ax, 1
test bl, 3
jne 0x100c6f8b
mov cl, byte [0x102543b3]
test cl, cl
je 0x100c6f8b
mov cl, byte [0x10207987]
and cl, 1
je 0x100c6f8b
mov edx, dword [esp + 0x50]
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0d60]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
jle 0x100c6eef
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
lea ecx, [edx + ecx]
xor edx, edx
movdqa xmm0, xmmword [ecx + edx*4]
mov edi, dword [esp]
pavgb xmm0, xmmword [edi + edx*4]
movdqa xmmword [edi + edx*4], xmm0
add edx, 4
cmp edx, esi
jl 0x100c6ed6
mov ecx, dword [esp]
inc eax
add ecx, dword [esp + 0x1c]
cmp eax, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c6ec2
jmp case.0x100c87e1.2
mov ecx, eax
add cl, 0x91
cmp cl, 3
jae 0x100c6ffb
cmp byte [0x102543b2], 0
movzx eax, word [esi + 0x4e]
je 0x100c7158
mov cl, byte [0x10207986]
and cl, 1
je 0x100c7158
movzx eax, ax
cmp eax, 2
jne 0x100c73ef
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movaps xmm0, xmmword [0x101dee70]
xor eax, eax
mov edx, dword [esp + 8]
mov ecx, dword [esp]
mov esi, dword [esp + 0x20]
test edx, edx
jle 0x100c6f75
movaps xmm1, xmmword [ecx]
addps xmm1, xmmword [ecx + esi]
mulps xmm1, xmm0
movaps xmmword [ecx], xmm1
add ecx, 0x10
dec edx
jne 0x100c6f62
mov ecx, dword [esp]
inc eax
add ecx, dword [esp + 0x1c]
cmp eax, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c6f53
jmp case.0x100c87e1.2
mov ebx, dword [esp + 0x50]
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0d40]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
xor edi, edi
mov edx, dword [esp + 8]
mov ecx, dword [esp]
mov eax, dword [esp + 0x20]
test edx, edx
jle 0x100c6fe5
mov ebx, dword [ecx + eax]
mov esi, dword [ecx]
mov ebp, ebx
xor ebx, esi
and ebp, esi
mov esi, ebx
and ebx, 0x1010101
shr esi, 1
add ebx, ebp
and esi, 0x7f7f7f7f
add ebx, esi
mov dword [ecx], ebx
add ecx, 4
dec edx
jne 0x100c6fbe
mov eax, dword [esp]
inc edi
add eax, dword [esp + 0x1c]
cmp edi, dword [esp + 4]
mov dword [esp], eax
jne 0x100c6faf
jmp case.0x100c87e1.2
cmp al, 0x6c
mov dword [esp + 0xc], edx
je 0x100c72ba
mov edx, dword [esp + 0x30]
cmp al, 0x6d
jne case.0x100c87e1.2
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test byte [esp + 8], 1
jne 0x100c865e
mov cl, byte [0x102543b2]
test cl, cl
je 0x100c865e
mov cl, byte [0x10207986]
and cl, 1
je 0x100c865e
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0c60]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movaps xmm0, xmmword [0x101dee70]
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
jle 0x100c7099
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
lea ecx, [edx + ecx]
xor edx, edx
mov edi, dword [esp]
movaps xmm1, xmmword [edi + edx*8]
addps xmm1, xmmword [ecx + edx*8]
mulps xmm1, xmm0
movaps xmmword [edi + edx*8], xmm1
add edx, 2
cmp edx, esi
jl 0x100c7080
mov ecx, dword [esp]
inc eax
add ecx, dword [esp + 0x1c]
cmp eax, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c706c
jmp case.0x100c87e1.2
cmp ecx, 0x13
je 0x100c7358
cmp ecx, 0x1b
jne 0x100c71c8
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test bl, 1
jne 0x100c86d1
mov cl, byte [0x102543b3]
test cl, cl
je 0x100c86d1
mov cl, byte [0x10207987]
and cl, 1
je 0x100c86d1
mov edx, dword [esp + 0x50]
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0ce0]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
jle 0x100c7142
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
lea ecx, [edx + ecx]
xor edx, edx
movdqa xmm0, xmmword [ecx + edx*8]
mov edi, dword [esp]
pavgw xmm0, xmmword [edi + edx*8]
movdqa xmmword [edi + edx*8], xmm0
add edx, 2
cmp edx, esi
jl 0x100c7129
mov ecx, dword [esp]
inc eax
add ecx, dword [esp + 0x1c]
cmp eax, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c7115
jmp case.0x100c87e1.2
movzx eax, ax
cmp eax, 2
jne 0x100c756d
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
movss xmm0, dword [0x101d64e8]
xor ecx, ecx
lea eax, [eax*4]
cmp dword [esp + 8], 0
jle 0x100c71b2
mov edx, dword [esp + 0x20]
mov esi, dword [esp]
lea edx, [esi + edx]
xor esi, esi
mov edi, dword [esp]
movss xmm1, dword [edi + esi*4]
addss xmm1, dword [edx + esi*4]
mulss xmm1, xmm0
movss dword [edi + esi*4], xmm1
inc esi
cmp esi, eax
jl 0x100c7197
mov edx, dword [esp]
inc ecx
add edx, dword [esp + 0x1c]
cmp ecx, dword [esp + 4]
mov dword [esp], edx
jne 0x100c7184
jmp case.0x100c87e1.2
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x30]
cmp al, 0xf
jne case.0x100c87e1.2
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test byte [esp + 8], 7
jne 0x100c8762
mov cl, byte [0x102543b3]
test cl, cl
je 0x100c8762
mov cl, byte [0x10207987]
and cl, 1
je 0x100c8762
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0c20]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movdqa xmm0, xmmword [0x101e0b60]
movdqa xmm1, xmmword [0x101e0b80]
movdqa xmm2, xmmword [0x101e0b90]
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
jle 0x100c72a4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
lea ecx, [edx + ecx]
xor edx, edx
mov edi, dword [esp]
movdqa xmm4, xmmword [ecx + edx*2]
movdqa xmm3, xmmword [edi + edx*2]
movdqa xmm6, xmm4
pand xmm4, xmm1
pand xmm6, xmm0
movdqa xmm5, xmm3
pand xmm3, xmm1
por xmm3, xmm2
pand xmm5, xmm0
paddw xmm4, xmm3
pavgb xmm6, xmm5
psrlw xmm4, 1
pand xmm6, xmm0
pand xmm4, xmm1
por xmm4, xmm6
movdqa xmmword [edi + edx*2], xmm4
add edx, 8
cmp edx, esi
jl 0x100c7256
mov ecx, dword [esp]
inc eax
add ecx, dword [esp + 0x1c]
cmp eax, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c7242
jmp case.0x100c87e1.2
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test bl, 3
jne 0x100c87d1
mov cl, byte [0x102543b2]
test cl, cl
je 0x100c87d1
mov cl, byte [0x10207986]
and cl, 1
je 0x100c87d1
mov ecx, dword [esp + 0x30]
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0ca0]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movaps xmm0, xmmword [0x101dee70]
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
jle 0x100c7342
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
lea ecx, [edx + ecx]
xor edx, edx
mov edi, dword [esp]
movaps xmm1, xmmword [edi + edx*4]
addps xmm1, xmmword [ecx + edx*4]
mulps xmm1, xmm0
movaps xmmword [edi + edx*4], xmm1
add edx, 4
cmp edx, esi
jl 0x100c7329
mov ecx, dword [esp]
inc eax
add ecx, dword [esp + 0x1c]
cmp eax, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c7315
jmp case.0x100c87e1.2
movzx eax, word [esi + 0x4e]
add eax, 0xfffffffe
ror ax, 1
test bl, 3
jne 0x100c8839
mov cl, byte [0x102543b3]
test cl, cl
je 0x100c8839
mov cl, byte [0x10207987]
and cl, 1
je 0x100c8839
mov edx, dword [esp + 0x50]
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0d20]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
xor eax, eax
mov esi, dword [esp + 8]
test esi, esi
jle 0x100c73d9
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
lea ecx, [edx + ecx]
xor edx, edx
movdqa xmm0, xmmword [ecx + edx*4]
mov edi, dword [esp]
pavgw xmm0, xmmword [edi + edx*4]
movdqa xmmword [edi + edx*4], xmm0
add edx, 4
cmp edx, esi
jl 0x100c73c0
mov ecx, dword [esp]
inc eax
add ecx, dword [esp + 0x1c]
cmp eax, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c73ac
jmp case.0x100c87e1.2
cmp eax, 4
je 0x100c88ad
cmp eax, 8
je 0x100c890b
cmp eax, 0x10
jne case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov ecx, dword [esp + 0x20]
movaps xmm0, xmmword [0x101e0bb0]
mov dword [esp + 0x60], 0
lea eax, [ecx + ecx]
lea edi, [ecx + ecx*4]
lea edx, [ecx + ecx*2]
lea esi, [eax + eax*2]
lea eax, [eax + eax*4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x14], eax
lea eax, [ecx*4]
mov dword [esp + 0x18], esi
lea esi, [ecx*8]
lea eax, [eax + eax*2]
sub esi, ecx
mov dword [esp + 0x50], eax
lea eax, [ecx + edi*2]
mov dword [esp + 0xc], esi
lea esi, [ecx + ecx*8]
mov dword [esp + 0x70], eax
lea eax, [ecx + edx*4]
mov dword [esp + 0x10], esi
mov dword [esp + 0x90], eax
lea eax, [ecx + eax]
lea ecx, [edi + edi*2]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 8]
mov ebp, dword [esp]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0xb0]
test eax, eax
jle 0x100c754b
mov ebx, dword [esp + 0x18]
movaps xmm3, xmmword [ebp + ecx*2]
movaps xmm4, xmmword [ebp + ecx*4]
movaps xmm2, xmmword [ebp]
movaps xmm5, xmmword [ebp + edx]
movaps xmm1, xmmword [ebp + ebx]
mov ebx, dword [esp + 0x30]
addps xmm2, xmmword [ebp + ecx]
addps xmm5, xmmword [ebp + esi]
addps xmm3, xmmword [ebp + ebx]
mov ebx, dword [esp + 0x40]
addps xmm4, xmmword [ebp + ebx]
mov ebx, dword [esp + 0xc]
addps xmm3, xmm2
movaps xmm2, xmmword [ebp + ecx*8]
addps xmm1, xmmword [ebp + ebx]
mov ebx, dword [esp + 0x14]
movaps xmm6, xmmword [ebp + ebx]
mov ebx, dword [esp + 0x50]
addps xmm1, xmm4
addps xmm1, xmm3
movaps xmm3, xmmword [ebp + ebx]
mov ebx, dword [esp + 0x10]
addps xmm2, xmmword [ebp + ebx]
mov ebx, dword [esp + 0x70]
addps xmm3, xmmword [ebp + edi]
addps xmm6, xmmword [ebp + ebx]
addps xmm5, xmm3
addps xmm6, xmm2
addps xmm5, xmm6
addps xmm5, xmm1
mulps xmm5, xmm0
movaps xmmword [ebp], xmm5
add ebp, 0x10
dec eax
jne 0x100c74b6
mov ecx, dword [esp + 0x60]
mov eax, dword [esp]
inc ecx
add eax, dword [esp + 0x1c]
cmp ecx, dword [esp + 4]
mov dword [esp + 0x60], ecx
mov dword [esp], eax
jne 0x100c748e
jmp case.0x100c87e1.2
cmp eax, 4
je 0x100c89a8
cmp eax, 8
mov dword [esp + 0xc], edx
je 0x100c8a3b
mov ecx, dword [esp + 0x30]
cmp eax, 0x10
jne case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
movss xmm0, dword [0x101e0ba0]
mov dword [esp + 0x20], 0
lea eax, [eax*4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x30], ecx
cmp dword [esp + 8], 0
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0xc0]
mov ebp, dword [esp + 0x80]
jle 0x100c76b0
xor eax, eax
mov edx, dword [esp + 0x10]
mov edi, dword [esp]
movss xmm4, dword [ecx + eax*4]
movss xmm3, dword [edx + eax*4]
mov edx, ecx
mov ecx, ebx
mov ebx, esi
mov esi, dword [esp + 0x30]
movss xmm2, dword [edi + eax*4]
movss xmm1, dword [esi + eax*4]
mov esi, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x50]
movss xmm5, dword [ebx + eax*4]
addss xmm2, dword [ecx + eax*4]
mov ecx, dword [esp + 0x14]
addss xmm5, dword [esi + eax*4]
addss xmm3, dword [ecx + eax*4]
mov ecx, dword [esp + 0x70]
movss xmm7, dword [ecx + eax*4]
mov ecx, dword [esp + 0x40]
addss xmm3, xmm2
addss xmm4, dword [ecx + eax*4]
mov ecx, dword [esp + 0x18]
addss xmm1, dword [ecx + eax*4]
mov ecx, dword [esp + 0x90]
movss xmm6, dword [ecx + eax*4]
mov ecx, dword [esp + 0xb0]
addss xmm1, xmm4
addss xmm1, xmm3
movss xmm3, dword [ecx + eax*4]
mov ecx, dword [esp + 0x60]
addss xmm7, dword [ecx + eax*4]
mov ecx, dword [esp + 0xa0]
addss xmm6, dword [ecx + eax*4]
mov ecx, dword [esp + 0xe0]
addss xmm3, dword [ecx + eax*4]
addss xmm6, xmm7
mov ecx, edx
addss xmm5, xmm3
addss xmm5, xmm6
addss xmm5, xmm1
mulss xmm5, xmm0
movss dword [edi + eax*4], xmm5
inc eax
cmp eax, ebp
jl 0x100c75e7
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
add ecx, eax
inc edx
add ebx, eax
add esi, eax
add dword [esp], eax
add dword [esp + 0x50], eax
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
add dword [esp + 0x40], eax
add dword [esp + 0x18], eax
add dword [esp + 0x70], eax
add dword [esp + 0x60], eax
add dword [esp + 0x90], eax
add dword [esp + 0xa0], eax
add dword [esp + 0xb0], eax
add dword [esp + 0xe0], eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xc0], esi
mov dword [esp + 0x20], edx
add ecx, eax
cmp edx, dword [esp + 4]
jne 0x100c75bd
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
movdqa xmm2, xmmword [0x101e0b70]
xor edx, edx
pxor xmm0, xmm0
lea ecx, [eax + eax]
lea eax, [eax + eax*2]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
test ecx, ecx
jle 0x100c783c
mov eax, dword [esp + 0x20]
mov edi, dword [esp]
lea esi, [edi + eax]
mov eax, dword [esp + 0x40]
lea ebx, [edi + eax]
mov eax, dword [esp + 0x30]
lea ebp, [edi + eax]
xor eax, eax
mov edi, dword [esp]
movdqa xmm4, xmmword [esi + eax*4]
movdqa xmm7, xmmword [ebx + eax*4]
movdqa xmm3, xmmword [ebp + eax*4]
movdqa xmm6, xmmword [edi + eax*4]
movdqa xmm5, xmm4
punpcklbw xmm4, xmm0
punpckhbw xmm5, xmm0
movdqa xmm1, xmm6
punpcklbw xmm6, xmm0
punpckhbw xmm1, xmm0
paddw xmm4, xmm6
movdqa xmm6, xmm3
punpcklbw xmm3, xmm0
paddw xmm5, xmm1
movdqa xmm1, xmm7
punpcklbw xmm7, xmm0
punpckhbw xmm6, xmm0
punpckhbw xmm1, xmm0
paddw xmm3, xmm7
paddw xmm6, xmm1
pcmpeqd xmm1, xmm1
psubw xmm5, xmm1
psubw xmm6, xmm1
psubw xmm4, xmm1
psubw xmm3, xmm1
psrlw xmm5, 1
psrlw xmm6, 1
psrlw xmm4, 1
psrlw xmm3, 1
pand xmm5, xmm2
pand xmm6, xmm2
pand xmm4, xmm2
pand xmm3, xmm2
paddw xmm6, xmm5
paddw xmm3, xmm4
psubw xmm6, xmm1
psubw xmm3, xmm1
psrlw xmm3, 1
psrlw xmm6, 1
pand xmm6, xmm2
pand xmm3, xmm2
packuswb xmm3, xmm6
movdqa xmmword [edi + eax*4], xmm3
add eax, 4
cmp eax, ecx
jl 0x100c7776
mov eax, dword [esp]
inc edx
add eax, dword [esp + 0x1c]
cmp edx, dword [esp + 4]
mov dword [esp], eax
jne 0x100c7750
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x60], 0
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x30], esi
test eax, eax
jle 0x100c7ae3
xor ecx, ecx
mov esi, dword [esp + 0xc]
mov edi, dword [esp]
movdqa xmm1, xmmword [edx + ecx*4]
movdqa xmm4, xmmword [ebx + ecx*4]
movdqa xmm3, xmmword [ebp + ecx*4]
movdqa xmm0, xmmword [esi + ecx*4]
mov esi, eax
mov eax, dword [esp + 0x40]
movdqa xmm5, xmmword [edi + ecx*4]
movdqa xmm6, xmm1
movdqa xmm2, xmmword [eax + ecx*4]
movdqa xmm7, xmm5
mov eax, dword [esp + 0x30]
movdqu xmmword [esp + 0x20], xmm2
pxor xmm2, xmm2
punpckhbw xmm7, xmm2
punpckhbw xmm6, xmm2
punpcklbw xmm5, xmm2
punpcklbw xmm1, xmm2
paddw xmm1, xmm5
movdqa xmm5, xmm3
paddw xmm6, xmm7
movdqa xmm7, xmm4
punpcklbw xmm4, xmm2
punpcklbw xmm3, xmm2
paddw xmm3, xmm4
movdqu xmm4, xmmword [esp + 0x20]
punpckhbw xmm7, xmm2
punpckhbw xmm5, xmm2
pxor xmm2, xmm2
movdqu xmmword [esp + 0x70], xmm1
pxor xmm1, xmm1
paddw xmm5, xmm7
movdqa xmm7, xmm0
punpckhbw xmm7, xmm2
pxor xmm2, xmm2
punpckhbw xmm4, xmm2
pxor xmm2, xmm2
paddw xmm4, xmm7
movaps xmm7, xmmword [eax + ecx*4]
punpcklbw xmm0, xmm2
movups xmmword [esp + 0x50], xmm7
movdqu xmm7, xmmword [esp + 0x20]
punpcklbw xmm7, xmm2
paddw xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x50]
movdqu xmmword [esp + 0x20], xmm7
punpckhbw xmm0, xmmword [0x101d6860]
mov eax, dword [esp + 0x18]
movdqa xmm7, xmmword [eax + ecx*4]
mov eax, esi
movdqa xmm2, xmm7
punpcklbw xmm7, xmm1
punpckhbw xmm2, xmmword [0x101d6860]
paddw xmm2, xmm0
movdqu xmm0, xmmword [esp + 0x50]
punpcklbw xmm0, xmmword [0x101d6860]
psubw xmm6, xmmword [0x101e0bf0]
psubw xmm5, xmmword [0x101e0bf0]
paddw xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x70]
psrlw xmm6, 1
psrlw xmm5, 1
pand xmm6, xmmword [0x101e0b70]
pand xmm5, xmmword [0x101e0b70]
psubw xmm0, xmmword [0x101e0bf0]
psubw xmm3, xmmword [0x101e0bf0]
psubw xmm4, xmmword [0x101e0bf0]
psubw xmm2, xmmword [0x101e0bf0]
movdqu xmm1, xmmword [esp + 0x20]
paddw xmm5, xmm6
psubw xmm1, xmmword [0x101e0bf0]
psubw xmm7, xmmword [0x101e0bf0]
psrlw xmm0, 1
psrlw xmm3, 1
psrlw xmm4, 1
psrlw xmm2, 1
psubw xmm5, xmmword [0x101e0bf0]
pand xmm0, xmmword [0x101e0b70]
pand xmm3, xmmword [0x101e0b70]
pand xmm4, xmmword [0x101e0b70]
pand xmm2, xmmword [0x101e0b70]
psrlw xmm1, 1
psrlw xmm7, 1
psrlw xmm5, 1
pand xmm1, xmmword [0x101e0b70]
pand xmm7, xmmword [0x101e0b70]
paddw xmm2, xmm4
paddw xmm3, xmm0
pand xmm5, xmmword [0x101e0b70]
movdqa xmm0, xmmword [0x101e0b70]
psubw xmm2, xmmword [0x101e0bf0]
psubw xmm3, xmmword [0x101e0bf0]
paddw xmm7, xmm1
pcmpeqd xmm1, xmm1
psubw xmm7, xmmword [0x101e0bf0]
psrlw xmm2, 1
psrlw xmm3, 1
pand xmm2, xmmword [0x101e0b70]
pand xmm3, xmmword [0x101e0b70]
psrlw xmm7, 1
pand xmm7, xmmword [0x101e0b70]
paddw xmm2, xmm5
psubw xmm2, xmm1
psrlw xmm2, 1
pand xmm2, xmm0
paddw xmm7, xmm3
psubw xmm7, xmm1
psrlw xmm7, 1
pand xmm7, xmm0
packuswb xmm7, xmm2
movdqa xmmword [edi + ecx*4], xmm7
add ecx, 4
cmp ecx, esi
jl 0x100c7883
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
inc ecx
add ebx, eax
add ebp, eax
add dword [esp], eax
add edx, eax
add dword [esp + 0xc], eax
add dword [esp + 0x40], eax
add esi, eax
add dword [esp + 0x18], eax
cmp ecx, dword [esp + 4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x60], ecx
jne 0x100c7869
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x150], 0
mov ecx, dword [esp + 8]
mov eax, dword [esp]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
pxor xmm4, xmm4
mov dword [esp + 0x30], esi
test ecx, ecx
jle 0x100c8064
xor edi, edi
mov esi, dword [esp + 0xc]
movdqa xmm0, xmmword [edx + edi*4]
movdqa xmm2, xmmword [eax + edi*4]
movdqa xmm1, xmmword [ebx + edi*4]
movdqa xmm5, xmmword [ebp + edi*4]
movdqa xmm6, xmmword [esi + edi*4]
mov esi, ecx
mov ecx, dword [esp + 0x40]
movdqa xmm7, xmm0
punpcklbw xmm0, xmm4
punpckhbw xmm7, xmm4
movaps xmm3, xmmword [ecx + edi*4]
mov ecx, dword [esp + 0x30]
movups xmmword [esp + 0x50], xmm3
movdqa xmm3, xmm2
punpcklbw xmm2, xmm4
paddw xmm0, xmm2
movdqa xmm2, xmm1
punpcklbw xmm1, xmm4
punpckhbw xmm3, xmm4
movdqu xmmword [esp + 0xf0], xmm0
movdqa xmm0, xmm5
punpcklbw xmm5, xmm4
punpckhbw xmm2, xmm4
paddw xmm7, xmm3
punpckhbw xmm0, xmm4
paddw xmm5, xmm1
movdqa xmm1, xmm6
movdqu xmmword [esp + 0x110], xmm7
paddw xmm0, xmm2
movdqa xmm2, xmm6
movdqu xmm6, xmmword [esp + 0x50]
punpckhbw xmm1, xmm4
movdqu xmmword [esp + 0x20], xmm5
movdqu xmmword [esp + 0x80], xmm0
punpcklbw xmm2, xmm4
movdqa xmm0, xmm6
punpcklbw xmm6, xmm4
punpckhbw xmm0, xmm4
paddw xmm6, xmm2
paddw xmm0, xmm1
movdqa xmm1, xmmword [ecx + edi*4]
mov ecx, dword [esp + 0x18]
movdqu xmmword [esp + 0x50], xmm6
movdqu xmmword [esp + 0x100], xmm0
movdqa xmm0, xmm1
punpckhbw xmm0, xmm4
movdqa xmm4, xmmword [ecx + edi*4]
movdqa xmm6, xmm4
punpckhbw xmm6, xmmword [0x101d6860]
punpcklbw xmm1, xmmword [0x101d6860]
punpcklbw xmm4, xmmword [0x101d6860]
mov ecx, dword [esp + 0x70]
paddw xmm6, xmm0
movdqa xmm0, xmmword [ecx + edi*4]
paddw xmm4, xmm1
movdqa xmm1, xmm0
punpckhbw xmm1, xmmword [0x101d6860]
mov ecx, dword [esp + 0x60]
movdqa xmm2, xmmword [ecx + edi*4]
movdqa xmm3, xmm2
punpckhbw xmm3, xmmword [0x101d6860]
paddw xmm3, xmm1
movdqu xmmword [esp + 0x130], xmm3
punpcklbw xmm0, xmmword [0x101d6860]
punpcklbw xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0x90]
paddw xmm2, xmm0
movdqa xmm0, xmmword [ecx + edi*4]
movdqu xmmword [esp + 0x120], xmm2
movdqa xmm1, xmm0
punpckhbw xmm1, xmmword [0x101d6860]
mov ecx, dword [esp + 0xa0]
movdqa xmm5, xmmword [ecx + edi*4]
movdqa xmm2, xmm5
punpckhbw xmm2, xmmword [0x101d6860]
paddw xmm2, xmm1
movdqu xmmword [esp + 0x160], xmm2
punpcklbw xmm0, xmmword [0x101d6860]
punpcklbw xmm5, xmmword [0x101d6860]
mov ecx, dword [esp + 0xb0]
paddw xmm5, xmm0
movdqa xmm0, xmmword [ecx + edi*4]
movdqa xmm1, xmm0
punpckhbw xmm1, xmmword [0x101d6860]
mov ecx, dword [esp + 0xe0]
movdqa xmm2, xmmword [ecx + edi*4]
movdqa xmm3, xmm2
punpckhbw xmm3, xmmword [0x101d6860]
paddw xmm3, xmm1
movdqu xmmword [esp + 0x170], xmm3
punpcklbw xmm0, xmmword [0x101d6860]
punpcklbw xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0xd0]
movdqa xmm3, xmmword [ecx + edi*4]
paddw xmm2, xmm0
movdqu xmmword [esp + 0x180], xmm2
movdqa xmm0, xmm3
punpckhbw xmm0, xmmword [0x101d6860]
mov ecx, dword [esp + 0xc0]
movdqa xmm1, xmmword [ecx + edi*4]
mov ecx, esi
movdqa xmm2, xmm1
punpckhbw xmm2, xmmword [0x101d6860]
punpcklbw xmm3, xmmword [0x101d6860]
punpcklbw xmm1, xmmword [0x101d6860]
paddw xmm2, xmm0
movdqu xmm0, xmmword [esp + 0x110]
paddw xmm1, xmm3
pcmpeqd xmm3, xmm3
psubw xmm0, xmm3
psrlw xmm0, 1
movdqa xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x80]
psubw xmm0, xmm3
movdqa xmm3, xmm7
movdqa xmm7, xmmword [0x101e0b70]
pand xmm3, xmmword [0x101e0b70]
psrlw xmm0, 1
pand xmm0, xmm7
paddw xmm0, xmm3
movdqu xmm3, xmmword [esp + 0xf0]
movdqu xmmword [esp + 0x80], xmm0
psubw xmm3, xmmword [0x101e0bf0]
movdqu xmm0, xmmword [esp + 0x20]
psubw xmm0, xmmword [0x101e0bf0]
psrlw xmm3, 1
pand xmm3, xmm7
psrlw xmm0, 1
pand xmm0, xmm7
pcmpeqd xmm7, xmm7
paddw xmm0, xmm3
pcmpeqd xmm3, xmm3
psubw xmm4, xmm7
movdqu xmmword [esp + 0x20], xmm0
movdqu xmm0, xmmword [esp + 0x100]
psubw xmm6, xmm3
psrlw xmm4, 1
psrlw xmm6, 1
psubw xmm0, xmm3
movdqa xmm3, xmmword [0x101e0b70]
psrlw xmm0, 1
pand xmm0, xmm3
pand xmm6, xmm3
pand xmm4, xmm3
paddw xmm6, xmm0
movdqu xmm0, xmmword [esp + 0x50]
psubw xmm0, xmm7
psrlw xmm0, 1
pand xmm0, xmm3
paddw xmm4, xmm0
movdqu xmm0, xmmword [esp + 0x130]
psubw xmm0, xmm7
movdqu xmm7, xmmword [esp + 0x160]
psrlw xmm0, 1
pand xmm0, xmm3
psubw xmm7, xmmword [0x101e0bf0]
psrlw xmm7, 1
pand xmm7, xmm3
paddw xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x120]
psubw xmm0, xmmword [0x101e0bf0]
psubw xmm5, xmmword [0x101e0bf0]
psrlw xmm0, 1
psrlw xmm5, 1
pand xmm0, xmm3
pand xmm5, xmm3
paddw xmm5, xmm0
movdqu xmm0, xmmword [esp + 0x170]
psubw xmm0, xmmword [0x101e0bf0]
psubw xmm2, xmmword [0x101e0bf0]
psrlw xmm0, 1
psrlw xmm2, 1
pand xmm0, xmm3
pand xmm2, xmm3
pcmpeqd xmm3, xmm3
paddw xmm2, xmm0
movdqu xmm0, xmmword [esp + 0x180]
psubw xmm0, xmm3
pcmpeqd xmm3, xmm3
psubw xmm1, xmm3
movdqa xmm3, xmmword [0x101e0b70]
psrlw xmm0, 1
psrlw xmm1, 1
pand xmm0, xmm3
pand xmm1, xmm3
paddw xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x80]
psubw xmm0, xmmword [0x101e0bf0]
psubw xmm6, xmmword [0x101e0bf0]
psrlw xmm0, 1
psrlw xmm6, 1
pand xmm0, xmm3
pand xmm6, xmm3
paddw xmm6, xmm0
movdqu xmm0, xmmword [esp + 0x20]
psubw xmm0, xmmword [0x101e0bf0]
psubw xmm4, xmmword [0x101e0bf0]
psrlw xmm0, 1
psrlw xmm4, 1
pand xmm0, xmm3
pand xmm4, xmm3
paddw xmm4, xmm0
pcmpeqd xmm0, xmm0
psubw xmm7, xmm0
psubw xmm2, xmm0
psubw xmm5, xmm0
psubw xmm1, xmm0
psubw xmm6, xmm0
psrlw xmm7, 1
psrlw xmm2, 1
psrlw xmm5, 1
psrlw xmm1, 1
psrlw xmm6, 1
pand xmm7, xmm3
pand xmm2, xmm3
pand xmm5, xmm3
pand xmm1, xmm3
pand xmm6, xmm3
paddw xmm2, xmm7
paddw xmm1, xmm5
psubw xmm2, xmm0
pcmpeqd xmm0, xmm0
psubw xmm4, xmm0
psubw xmm1, xmm0
psrlw xmm2, 1
psrlw xmm4, 1
psrlw xmm1, 1
pand xmm2, xmm3
pand xmm4, xmm3
pand xmm1, xmm3
paddw xmm2, xmm6
paddw xmm1, xmm4
psubw xmm2, xmm0
pxor xmm4, xmm4
psubw xmm1, xmm0
psrlw xmm2, 1
psrlw xmm1, 1
pand xmm2, xmm3
pand xmm1, xmm3
packuswb xmm1, xmm2
movdqa xmmword [eax + edi*4], xmm1
add edi, 4
cmp edi, esi
jl 0x100c7b59
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
add eax, ecx
add ebx, ecx
add ebp, ecx
add edx, ecx
add dword [esp + 0xc], ecx
add dword [esp + 0x40], ecx
add esi, ecx
add dword [esp + 0x18], ecx
add dword [esp + 0x70], ecx
add dword [esp + 0x60], ecx
add dword [esp + 0x90], ecx
add dword [esp + 0xa0], ecx
add dword [esp + 0xb0], ecx
add dword [esp + 0xe0], ecx
add dword [esp + 0xd0], ecx
add dword [esp + 0xc0], ecx
mov dword [esp], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
inc eax
cmp eax, dword [esp + 4]
mov dword [esp + 0x150], eax
jne 0x100c7b38
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], 0
lea eax, [eax + eax*2]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov eax, dword [esp + 0x20]
test ecx, ecx
mov esi, ecx
jle 0x100c8171
mov ebx, dword [edx + eax]
mov ebp, dword [edx]
mov ecx, dword [edx + eax*2]
mov edi, ebx
xor ebx, ebp
and edi, ebp
mov ebp, ebx
and ebx, 0x1010101
add ebx, edi
mov edi, dword [esp + 0x40]
shr ebp, 1
and ebp, 0x7f7f7f7f
add ebx, ebp
mov edi, dword [edx + edi]
mov ebp, edi
xor edi, ecx
and ebp, ecx
mov ecx, edi
and edi, 0x1010101
shr ecx, 1
add edi, ebp
and ecx, 0x7f7f7f7f
add edi, ecx
mov ecx, edi
xor edi, ebx
mov ebp, edi
and ecx, ebx
and edi, 0x1010101
shr ebp, 1
add edi, ecx
and ebp, 0x7f7f7f7f
add edi, ebp
mov dword [edx], edi
add edx, 4
dec esi
jne 0x100c810c
mov ecx, dword [esp + 0x30]
mov eax, dword [esp]
inc ecx
add eax, dword [esp + 0x1c]
cmp ecx, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
jne 0x100c80fb
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
xor eax, eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], esi
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x90], eax
test ecx, ecx
jle 0x100c82f9
xor ecx, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], ebp
mov eax, dword [esp]
mov esi, ecx
mov edx, dword [edx + esi*4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebx + ecx*4]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], edx
mov ebx, dword [eax + esi*4]
mov eax, dword [ebp + esi*4]
mov ebp, esi
mov esi, ecx
xor ecx, edi
mov edx, ecx
and esi, edi
and ecx, 0x1010101
mov edi, ebp
add ecx, esi
mov esi, dword [esp + 0x40]
shr edx, 1
mov dword [esp + 0x20], edi
and edx, 0x7f7f7f7f
add ecx, edx
mov edx, eax
xor eax, ebx
and edx, ebx
mov ebp, dword [esi + ebp*4]
mov esi, eax
and eax, 0x1010101
add eax, edx
mov edx, dword [esp + 0x30]
shr esi, 1
and esi, 0x7f7f7f7f
add eax, esi
mov esi, ebp
mov edx, dword [edx + edi*4]
mov dword [esp + 0x60], edx
mov edx, edi
mov edi, dword [esp + 0x70]
xor ebp, edi
and esi, edi
mov edi, ebp
and ebp, 0x1010101
add ebp, esi
mov esi, dword [esp + 0x18]
shr edi, 1
and edi, 0x7f7f7f7f
add ebp, edi
mov edi, dword [esp + 0x20]
mov ebx, dword [esi + edx*4]
mov edx, dword [esp + 0x60]
mov esi, ebx
xor ebx, edx
and esi, edx
mov edx, ebx
and ebx, 0x1010101
shr edx, 1
add ebx, esi
mov esi, dword [esp + 0x40]
and edx, 0x7f7f7f7f
add ebx, edx
mov edx, eax
xor eax, ecx
and edx, ecx
mov ecx, eax
and eax, 0x1010101
shr ecx, 1
add eax, edx
and ecx, 0x7f7f7f7f
add eax, ecx
mov ecx, ebx
xor ebx, ebp
mov edx, ebx
and ecx, ebp
and ebx, 0x1010101
mov ebp, dword [esp + 0x14]
shr edx, 1
add ebx, ecx
and edx, 0x7f7f7f7f
add ebx, edx
mov edx, dword [esp + 0xc]
mov ecx, ebx
xor ebx, eax
and ecx, eax
mov eax, ebx
and ebx, 0x1010101
add ebx, ecx
mov ecx, dword [esp]
shr eax, 1
and eax, 0x7f7f7f7f
add ebx, eax
mov eax, dword [esp + 8]
mov dword [ecx + edi*4], ebx
mov ebx, dword [esp + 0x50]
inc edi
mov ecx, edi
cmp eax, edi
jne 0x100c81d5
mov eax, dword [esp + 0x1c]
add esi, eax
add ebp, eax
add edx, eax
add dword [esp], eax
add ebx, eax
add dword [esp + 0x10], eax
add dword [esp + 0x18], eax
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x14], ebp
mov dword [esp + 0xc], edx
add esi, eax
mov eax, dword [esp + 0x90]
inc eax
cmp eax, dword [esp + 4]
jne 0x100c81a0
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
xor eax, eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x120], eax
test ecx, ecx
jle 0x100c85f4
xor ecx, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], edx
mov eax, dword [esp]
mov ebx, dword [ebx + ecx*4]
mov ebp, dword [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x100], eax
mov eax, dword [edx + ecx*4]
mov edx, ebx
xor ebx, ebp
and edx, ebp
mov dword [esp + 0x80], eax
mov eax, ecx
mov ecx, ebx
and ebx, 0x1010101
add ebx, edx
mov edx, dword [esi + eax*4]
mov ebp, eax
mov eax, dword [esp + 0x20]
shr ecx, 1
mov esi, dword [esp + 0x70]
and ecx, 0x7f7f7f7f
add ebx, ecx
mov dword [esp + 0xf0], ebx
mov ebx, dword [esp + 0x80]
mov ecx, eax
xor eax, edi
and ecx, edi
mov edi, eax
and eax, 0x1010101
shr edi, 1
add eax, ecx
mov ecx, dword [esp + 0x18]
and edi, 0x7f7f7f7f
add eax, edi
mov edi, ebx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [ecx + ebp*4]
xor ebx, eax
and edi, eax
mov eax, ebx
and ebx, 0x1010101
shr eax, 1
add ebx, edi
mov edi, dword [esi + ebp*4]
mov esi, dword [esp + 0xa0]
and eax, 0x7f7f7f7f
add ebx, eax
mov eax, ecx
xor ecx, edx
mov dword [esp + 0x80], ebx
mov ebx, ecx
and eax, edx
and ecx, 0x1010101
add ecx, eax
mov eax, dword [esp + 0x60]
shr ebx, 1
and ebx, 0x7f7f7f7f
add ecx, ebx
mov ebx, dword [esi + ebp*4]
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x100], ecx
mov edx, dword [eax + ebp*4]
mov eax, edx
xor edx, edi
and eax, edi
mov edi, edx
and edx, 0x1010101
add edx, eax
mov eax, dword [esp + 0x90]
shr edi, 1
and edi, 0x7f7f7f7f
add edx, edi
mov edi, ebx
mov eax, dword [eax + ebp*4]
xor ebx, eax
and edi, eax
mov eax, ebx
and ebx, 0x1010101
shr eax, 1
add ebx, edi
mov edi, dword [esi + ebp*4]
mov esi, ebp
and eax, 0x7f7f7f7f
mov dword [esp + 0x110], esi
add ebx, eax
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + ebp*4]
mov ebp, edi
xor edi, eax
and ebp, eax
mov eax, edi
and edi, 0x1010101
shr eax, 1
add edi, ebp
and eax, 0x7f7f7f7f
add edi, eax
mov eax, dword [esp + 0xd0]
mov ebp, dword [eax + esi*4]
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*4]
mov esi, eax
xor eax, ebp
and esi, ebp
mov ebp, eax
and eax, 0x1010101
shr ebp, 1
add eax, esi
and ebp, 0x7f7f7f7f
add eax, ebp
mov ebp, dword [esp + 0x20]
mov esi, ebp
xor ebp, dword [esp + 0xf0]
and esi, dword [esp + 0xf0]
mov ecx, ebp
and ebp, 0x1010101
shr ecx, 1
add ebp, esi
and ecx, 0x7f7f7f7f
add ebp, ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x80]
mov esi, ecx
xor ecx, ebp
and esi, ebp
mov ebp, ecx
and ecx, 0x1010101
add ecx, esi
mov esi, ebx
xor ebx, edx
shr ebp, 1
and esi, edx
mov edx, ebx
and ebx, 0x1010101
and ebp, 0x7f7f7f7f
shr edx, 1
add ebx, esi
add ecx, ebp
mov ebp, dword [esp + 8]
and edx, 0x7f7f7f7f
add ebx, edx
mov edx, eax
xor eax, edi
mov esi, eax
and edx, edi
and eax, 0x1010101
mov edi, dword [esp + 0x110]
shr esi, 1
add eax, edx
mov edx, ecx
and esi, 0x7f7f7f7f
add eax, esi
mov esi, dword [esp + 0x20]
xor ecx, esi
and edx, esi
mov esi, ecx
and ecx, 0x1010101
shr esi, 1
add ecx, edx
mov edx, eax
xor eax, ebx
and esi, 0x7f7f7f7f
and edx, ebx
mov ebx, dword [esp + 0x50]
add ecx, esi
mov esi, eax
and eax, 0x1010101
shr esi, 1
add eax, edx
and esi, 0x7f7f7f7f
add eax, esi
mov esi, dword [esp + 0x30]
mov edx, eax
xor eax, ecx
and edx, ecx
mov ecx, eax
and eax, 0x1010101
shr ecx, 1
add eax, edx
mov edx, dword [esp + 0x40]
and ecx, 0x7f7f7f7f
add eax, ecx
mov ecx, dword [esp]
mov dword [ecx + edi*4], eax
inc edi
mov ecx, edi
cmp ebp, edi
jne 0x100c836b
mov eax, dword [esp + 0x1c]
add edx, eax
add dword [esp], eax
add ebx, eax
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
add dword [esp + 0xc], eax
add esi, eax
add dword [esp + 0x18], eax
add dword [esp + 0x70], eax
add dword [esp + 0x60], eax
add dword [esp + 0x90], eax
add dword [esp + 0xa0], eax
add dword [esp + 0xb0], eax
add dword [esp + 0xe0], eax
add dword [esp + 0xd0], eax
add dword [esp + 0xc0], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x40], edx
inc eax
cmp eax, dword [esp + 4]
jne 0x100c8346
jmp case.0x100c87e1.2
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0c40]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
movss xmm0, dword [0x101d64e8]
xor ecx, ecx
lea eax, [eax + eax]
cmp dword [esp + 8], 0
jle 0x100c86bb
mov edx, dword [esp + 0x20]
mov esi, dword [esp]
lea edx, [esi + edx]
xor esi, esi
mov edi, dword [esp]
movss xmm1, dword [edi + esi*4]
addss xmm1, dword [edx + esi*4]
mulss xmm1, xmm0
movss dword [edi + esi*4], xmm1
inc esi
cmp esi, eax
jl 0x100c86a0
mov edx, dword [esp]
inc ecx
add edx, dword [esp + 0x1c]
cmp ecx, dword [esp + 4]
mov dword [esp], edx
jne 0x100c868d
jmp case.0x100c87e1.2
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x30]
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0cc0]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
mov dword [esp + 0x40], 0
lea eax, [eax + eax]
cmp dword [esp + 8], 0
jle 0x100c8744
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
xor esi, esi
lea edx, [edx + ecx]
mov ecx, dword [esp]
mov ebx, dword [edx + esi*4]
mov edi, dword [ecx + esi*4]
mov ebp, ebx
xor ebx, edi
and ebp, edi
mov edi, ebx
and ebx, 0x10001
shr edi, 1
add ebx, ebp
and edi, 0x7fff7fff
add ebx, edi
mov dword [ecx + esi*4], ebx
inc esi
cmp esi, eax
jl 0x100c8719
mov edx, dword [esp + 0x40]
mov ecx, dword [esp]
inc edx
add ecx, dword [esp + 0x1c]
cmp edx, dword [esp + 4]
mov dword [esp + 0x40], edx
mov dword [esp], ecx
jne 0x100c8706
jmp case.0x100c87e1.2
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0c00]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
xor eax, eax
mov edx, dword [esp + 8]
mov ecx, dword [esp]
mov ebp, dword [esp + 0x20]
test edx, edx
jle 0x100c87bb
movzx edi, word [ecx + ebp]
movzx esi, word [ecx]
mov ebx, edi
and edi, esi
xor ebx, esi
mov esi, ebx
and ebx, 0x821
shr esi, 1
add ebx, edi
and esi, 0x7bef
add ebx, esi
mov word [ecx], bx
add ecx, 2
dec edx
jne 0x100c8791
mov ecx, dword [esp]
inc eax
add ecx, dword [esp + 0x1c]
cmp eax, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c8782
jmp case.0x100c87e1.2
mov ecx, dword [esp + 0x30]
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0c80]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movss xmm0, dword [0x101d64e8]
xor eax, eax
mov edx, dword [esp + 8]
mov ecx, dword [esp]
mov esi, dword [esp + 0x20]
test edx, edx
jle 0x100c8823
movss xmm1, dword [ecx]
addss xmm1, dword [ecx + esi]
mulss xmm1, xmm0
movss dword [ecx], xmm1
add ecx, 4
dec edx
jne 0x100c880c
mov ecx, dword [esp]
inc eax
add ecx, dword [esp + 0x1c]
cmp eax, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c87fd
jmp case.0x100c87e1.2
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x30]
movzx eax, ax
cmp eax, 7
ja case.0x100c87e1.2
jmp dword [eax*4 + 0x101e0d00]
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
xor eax, eax
mov edx, dword [esp + 8]
mov ecx, dword [esp]
mov ebp, dword [esp + 0x20]
test edx, edx
jle 0x100c8897
mov edi, dword [ecx + ebp]
mov esi, dword [ecx]
mov ebx, edi
xor edi, esi
and ebx, esi
mov esi, edi
and edi, 0x10001
shr esi, 1
add edi, ebx
and esi, 0x7fff7fff
add edi, esi
mov dword [ecx], edi
add ecx, 4
dec edx
jne 0x100c8870
mov ecx, dword [esp]
inc eax
add ecx, dword [esp + 0x1c]
cmp eax, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c8861
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
movaps xmm0, xmmword [0x101e0bd0]
xor ecx, ecx
lea eax, [eax + eax*2]
mov esi, dword [esp + 8]
mov edx, dword [esp]
mov ebx, dword [esp + 0x20]
test esi, esi
jle 0x100c88f5
movaps xmm1, xmmword [edx]
movaps xmm2, xmmword [edx + ebx*2]
addps xmm1, xmmword [edx + ebx]
addps xmm2, xmmword [edx + eax]
addps xmm2, xmm1
mulps xmm2, xmm0
movaps xmmword [edx], xmm2
add edx, 0x10
dec esi
jne 0x100c88d7
mov edx, dword [esp]
inc ecx
add edx, dword [esp + 0x1c]
cmp ecx, dword [esp + 4]
mov dword [esp], edx
jne 0x100c88c8
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
movaps xmm0, xmmword [0x101e0bc0]
mov dword [esp + 0x40], 0
lea edx, [eax + eax]
lea esi, [eax*8]
lea edi, [eax + eax*2]
lea ecx, [eax + eax*4]
lea edx, [edx + edx*2]
sub esi, eax
mov ebx, dword [esp + 8]
mov ebp, dword [esp]
mov eax, dword [esp + 0x20]
test ebx, ebx
jle 0x100c898a
movaps xmm1, xmmword [ebp]
movaps xmm2, xmmword [ebp + eax*2]
movaps xmm3, xmmword [ebp + eax*4]
movaps xmm4, xmmword [ebp + edx]
addps xmm1, xmmword [ebp + eax]
addps xmm2, xmmword [ebp + edi]
addps xmm3, xmmword [ebp + ecx]
addps xmm4, xmmword [ebp + esi]
addps xmm2, xmm1
addps xmm4, xmm3
addps xmm4, xmm2
mulps xmm4, xmm0
movaps xmmword [ebp], xmm4
add ebp, 0x10
dec ebx
jne 0x100c894d
mov ebx, dword [esp + 0x40]
mov eax, dword [esp]
inc ebx
add eax, dword [esp + 0x1c]
cmp ebx, dword [esp + 4]
mov dword [esp + 0x40], ebx
mov dword [esp], eax
jne 0x100c893e
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
movss xmm0, dword [0x101e0ba8]
xor esi, esi
lea edx, [ecx + ecx]
lea eax, [eax*4]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x40], edx
mov dword [esp + 0x30], ecx
cmp dword [esp + 8], 0
jle 0x100c8a25
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
lea ebx, [edx + ecx]
mov ecx, dword [esp + 0x40]
lea ebp, [edx + ecx]
mov ecx, dword [esp + 0x30]
lea ecx, [edx + ecx]
xor edx, edx
mov edi, dword [esp]
movss xmm2, dword [ebp + edx*4]
movss xmm1, dword [edi + edx*4]
addss xmm2, dword [ecx + edx*4]
addss xmm1, dword [ebx + edx*4]
addss xmm2, xmm1
mulss xmm2, xmm0
movss dword [edi + edx*4], xmm2
inc edx
cmp edx, eax
jl 0x100c89fb
mov ecx, dword [esp]
inc esi
add ecx, dword [esp + 0x1c]
cmp esi, dword [esp + 4]
mov dword [esp], ecx
jne 0x100c89da
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
mov ebp, dword [esp + 0x50]
mov ecx, dword [esp + 0x30]
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
movss xmm0, dword [0x101e0ba4]
mov dword [esp + 0x20], 0
lea eax, [eax*4]
mov dword [esp + 0x70], eax
cmp dword [esp + 8], 0
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x30], ecx
jle 0x100c8adc
xor edx, edx
mov ecx, dword [esp + 0xc]
mov edi, dword [esp]
movss xmm2, dword [esi + edx*4]
movss xmm3, dword [ecx + edx*4]
mov ecx, dword [esp + 0x30]
movss xmm1, dword [edi + edx*4]
addss xmm2, dword [ebx + edx*4]
movss xmm4, dword [ecx + edx*4]
mov ecx, dword [esp + 0x40]
addss xmm1, dword [ebp + edx*4]
addss xmm3, dword [ecx + edx*4]
mov ecx, dword [esp + 0x18]
addss xmm2, xmm1
addss xmm4, dword [ecx + edx*4]
addss xmm4, xmm3
addss xmm4, xmm2
mulss xmm4, xmm0
movss dword [edi + edx*4], xmm4
inc edx
cmp edx, eax
jl 0x100c8a86
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
inc eax
add esi, edx
add ebx, edx
add dword [esp], edx
add ebp, edx
add dword [esp + 0xc], edx
add dword [esp + 0x40], edx
add ecx, edx
add dword [esp + 0x18], edx
cmp eax, dword [esp + 4]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
jne 0x100c8a6d
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
movaps xmm0, xmmword [0x101e0bd0]
xor edx, edx
lea ecx, [eax + eax]
lea eax, [eax + eax*2]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
test ecx, ecx
jle 0x100c8b88
mov eax, dword [esp + 0x20]
mov edi, dword [esp]
lea esi, [edi + eax]
mov eax, dword [esp + 0x40]
lea ebx, [edi + eax]
mov eax, dword [esp + 0x30]
lea ebp, [edi + eax]
xor eax, eax
mov edi, dword [esp]
movaps xmm2, xmmword [ebx + eax*8]
movaps xmm1, xmmword [edi + eax*8]
addps xmm2, xmmword [ebp + eax*8]
addps xmm1, xmmword [esi + eax*8]
addps xmm2, xmm1
mulps xmm2, xmm0
movaps xmmword [edi + eax*8], xmm2
add eax, 2
cmp eax, ecx
jl 0x100c8b63
mov eax, dword [esp]
inc edx
add eax, dword [esp + 0x1c]
cmp edx, dword [esp + 4]
mov dword [esp], eax
jne 0x100c8b41
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movaps xmm0, xmmword [0x101e0bc0]
mov dword [esp + 0x20], 0
mov edi, dword [esp + 8]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x40]
test edi, edi
jle 0x100c8c39
xor ecx, ecx
mov dword [esp + 0x10], ebx
mov edi, dword [esp]
movaps xmm2, xmmword [ebx + ecx*8]
mov ebx, edx
movaps xmm3, xmmword [esi + ecx*8]
mov edx, esi
mov esi, eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
movaps xmm4, xmmword [eax + ecx*8]
movaps xmm1, xmmword [edi + ecx*8]
mov edi, dword [esp + 0x50]
mov eax, esi
mov esi, edx
mov edx, ebx
mov ebx, dword [esp + 0x10]
addps xmm2, xmmword [edx + ecx*8]
addps xmm3, xmmword [eax + ecx*8]
addps xmm4, xmmword [ebp + ecx*8]
addps xmm1, xmmword [edi + ecx*8]
mov ebp, dword [esp]
mov edi, dword [esp + 8]
addps xmm2, xmm1
addps xmm4, xmm3
addps xmm4, xmm2
mulps xmm4, xmm0
movaps xmmword [ebp + ecx*8], xmm4
add ecx, 2
cmp ecx, edi
jl 0x100c8bda
mov ecx, dword [esp + 0x1c]
add edx, ecx
add ebx, ecx
add esi, ecx
add eax, ecx
add dword [esp], ecx
add dword [esp + 0x50], ecx
add dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x40], eax
add edx, ecx
mov ecx, dword [esp + 0x20]
inc ecx
cmp ecx, dword [esp + 4]
mov dword [esp + 0x20], ecx
jne 0x100c8bb8
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movaps xmm0, xmmword [0x101e0bb0]
mov dword [esp + 0x20], 0
mov dword [esp + 0x30], edx
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x50]
test edx, edx
jle 0x100c8d63
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edi, dword [esp]
movaps xmm3, xmmword [esi + eax*8]
movaps xmm4, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0x30]
movaps xmm2, xmmword [edi + eax*8]
addps xmm3, xmmword [ebp + eax*8]
movaps xmm1, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0x70]
addps xmm2, xmmword [ebx + eax*8]
movaps xmm7, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0x40]
addps xmm3, xmm2
addps xmm4, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0x18]
addps xmm1, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0x90]
movaps xmm6, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0xb0]
addps xmm1, xmm4
addps xmm1, xmm3
movaps xmm3, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0x60]
addps xmm7, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0xa0]
addps xmm6, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0xd0]
movaps xmm5, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0xe0]
addps xmm6, xmm7
addps xmm3, xmmword [ecx + eax*8]
mov ecx, dword [esp + 0xc0]
addps xmm5, xmmword [ecx + eax*8]
addps xmm5, xmm3
addps xmm5, xmm6
addps xmm5, xmm1
mulps xmm5, xmm0
movaps xmmword [edi + eax*8], xmm5
add eax, 2
cmp eax, edx
jl 0x100c8cb6
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
inc edx
add ebx, eax
add esi, eax
add ebp, eax
add dword [esp], eax
add dword [esp + 0xc], eax
add dword [esp + 0x40], eax
add ecx, eax
add dword [esp + 0x18], eax
add dword [esp + 0x70], eax
add dword [esp + 0x60], eax
add dword [esp + 0x90], eax
add dword [esp + 0xa0], eax
add dword [esp + 0xb0], eax
add dword [esp + 0xe0], eax
add dword [esp + 0xd0], eax
add dword [esp + 0xc0], eax
cmp edx, dword [esp + 4]
mov dword [esp + 0x20], edx
mov edx, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
jne 0x100c8c98
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
xor esi, esi
pxor xmm0, xmm0
lea ecx, [eax + eax]
lea eax, [eax + eax*2]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], eax
mov edx, dword [esp + 8]
movdqa xmm2, xmmword [0x101e0be0]
test edx, edx
jle 0x100c8f05
mov edi, dword [esp]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
lea ebx, [edi + ecx]
mov ecx, dword [esp + 0x30]
lea eax, [edi + eax]
lea ebp, [edi + ecx]
xor ecx, ecx
mov edi, dword [esp]
movdqa xmm4, xmmword [eax + ecx*8]
movdqa xmm7, xmmword [ebx + ecx*8]
movdqa xmm3, xmmword [ebp + ecx*8]
movdqa xmm1, xmm2
movdqa xmm5, xmmword [edi + ecx*8]
movdqa xmm6, xmm4
punpcklwd xmm4, xmm0
punpckhwd xmm6, xmm0
movdqa xmm2, xmm5
punpcklwd xmm5, xmm0
punpckhwd xmm2, xmm0
paddd xmm4, xmm5
movdqa xmm5, xmm3
punpcklwd xmm3, xmm0
paddd xmm6, xmm2
movdqa xmm2, xmm7
punpcklwd xmm7, xmm0
punpckhwd xmm5, xmm0
punpckhwd xmm2, xmm0
paddd xmm3, xmm7
paddd xmm5, xmm2
movdqa xmm2, xmm1
pcmpeqd xmm1, xmm1
psubd xmm6, xmm1
psubd xmm5, xmm1
psubd xmm4, xmm1
psubd xmm3, xmm1
psrld xmm6, 1
psrld xmm5, 1
psrld xmm4, 1
psrld xmm3, 1
pand xmm6, xmm2
pand xmm5, xmm2
pand xmm4, xmm2
pand xmm3, xmm2
paddd xmm5, xmm6
paddd xmm3, xmm4
psubd xmm5, xmm1
psubd xmm3, xmm1
psrld xmm3, 1
psrld xmm5, 1
pslld xmm5, 0x10
pslld xmm3, 0x10
psrad xmm5, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm5
movdqa xmmword [edi + ecx*8], xmm3
add ecx, 2
cmp ecx, edx
jl 0x100c8e2b
mov eax, dword [esp]
inc esi
add eax, dword [esp + 0x1c]
cmp esi, dword [esp + 4]
mov dword [esp], eax
jne 0x100c8dfd
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x60], 0
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test eax, eax
jle 0x100c9190
xor ecx, ecx
mov esi, dword [esp + 0xc]
mov edi, dword [esp]
movdqa xmm1, xmmword [edx + ecx*8]
movdqa xmm4, xmmword [ebx + ecx*8]
movdqa xmm3, xmmword [ebp + ecx*8]
pxor xmm0, xmm0
movdqa xmm2, xmmword [esi + ecx*8]
mov esi, eax
mov eax, dword [esp + 0x40]
movdqa xmm5, xmmword [edi + ecx*8]
movaps xmm6, xmmword [eax + ecx*8]
movdqa xmm7, xmm5
punpcklwd xmm5, xmm0
punpckhwd xmm7, xmm0
movups xmmword [esp + 0x20], xmm6
movdqa xmm6, xmm1
punpcklwd xmm1, xmm0
punpckhwd xmm6, xmm0
paddd xmm1, xmm5
movdqa xmm5, xmm3
punpcklwd xmm3, xmm0
paddd xmm6, xmm7
movdqa xmm7, xmm4
punpckhwd xmm5, xmm0
punpcklwd xmm4, xmm0
movdqu xmmword [esp + 0x70], xmm1
pxor xmm1, xmm1
punpckhwd xmm7, xmm0
paddd xmm3, xmm4
paddd xmm5, xmm7
movdqa xmm7, xmm2
punpckhwd xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x20]
movdqa xmm4, xmm0
punpckhwd xmm4, xmmword [0x101d6860]
mov eax, dword [esp + 0x30]
paddd xmm4, xmm7
movaps xmm7, xmmword [eax + ecx*8]
movups xmmword [esp + 0x50], xmm7
punpcklwd xmm2, xmmword [0x101d6860]
punpcklwd xmm0, xmmword [0x101d6860]
paddd xmm0, xmm2
movdqu xmmword [esp + 0x20], xmm0
movdqu xmm0, xmmword [esp + 0x50]
punpckhwd xmm0, xmmword [0x101d6860]
mov eax, dword [esp + 0x18]
movdqa xmm7, xmmword [eax + ecx*8]
mov eax, esi
movdqa xmm2, xmm7
punpcklwd xmm7, xmm1
movdqa xmm1, xmmword [0x101e0be0]
punpckhwd xmm2, xmmword [0x101d6860]
paddd xmm2, xmm0
movdqu xmm0, xmmword [esp + 0x50]
punpcklwd xmm0, xmmword [0x101d6860]
psubd xmm6, xmmword [0x101e0bf0]
psubd xmm5, xmmword [0x101e0bf0]
paddd xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x70]
psrld xmm6, 1
psrld xmm5, 1
pand xmm6, xmmword [0x101e0be0]
pand xmm5, xmmword [0x101e0be0]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm3, xmmword [0x101e0bf0]
psubd xmm4, xmmword [0x101e0bf0]
psubd xmm2, xmmword [0x101e0bf0]
paddd xmm5, xmm6
psrld xmm0, 1
psrld xmm3, 1
psrld xmm4, 1
psrld xmm2, 1
pand xmm0, xmmword [0x101e0be0]
pand xmm3, xmmword [0x101e0be0]
pand xmm4, xmm1
pand xmm2, xmm1
paddd xmm2, xmm4
paddd xmm3, xmm0
movdqu xmm0, xmmword [esp + 0x20]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm7, xmmword [0x101e0bf0]
psubd xmm5, xmmword [0x101e0bf0]
psubd xmm2, xmmword [0x101e0bf0]
psubd xmm3, xmmword [0x101e0bf0]
psrld xmm0, 1
psrld xmm7, 1
psrld xmm5, 1
psrld xmm2, 1
psrld xmm3, 1
pand xmm0, xmm1
pand xmm7, xmm1
pand xmm5, xmm1
pand xmm2, xmm1
pand xmm3, xmm1
paddd xmm7, xmm0
paddd xmm2, xmm5
psubd xmm7, xmmword [0x101e0bf0]
psrld xmm7, 1
pand xmm7, xmm1
pcmpeqd xmm1, xmm1
paddd xmm7, xmm3
psubd xmm2, xmm1
psubd xmm7, xmm1
psrld xmm2, 1
psrld xmm7, 1
pslld xmm2, 0x10
pslld xmm7, 0x10
psrad xmm2, 0x10
psrad xmm7, 0x10
packssdw xmm7, xmm2
movdqa xmmword [edi + ecx*8], xmm7
add ecx, 2
cmp ecx, esi
jl 0x100c8f48
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
inc ecx
add ebx, eax
add ebp, eax
add dword [esp], eax
add edx, eax
add dword [esp + 0xc], eax
add dword [esp + 0x40], eax
add dword [esp + 0x30], eax
add dword [esp + 0x18], eax
cmp ecx, dword [esp + 4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x60], ecx
jne 0x100c8f32
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x150], 0
mov ecx, dword [esp + 8]
mov eax, dword [esp]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test ecx, ecx
jle 0x100c9733
xor edi, edi
mov esi, dword [esp + 0xc]
movdqa xmm2, xmmword [eax + edi*8]
movdqa xmm6, xmmword [edx + edi*8]
movdqa xmm1, xmmword [ebx + edi*8]
movdqa xmm4, xmmword [ebp + edi*8]
movdqa xmm0, xmmword [esi + edi*8]
mov esi, ecx
mov ecx, dword [esp + 0x40]
movdqa xmm3, xmm2
movdqa xmm7, xmm6
movdqa xmm5, xmmword [ecx + edi*8]
punpckhwd xmm3, xmmword [0x101d6860]
punpcklwd xmm2, xmmword [0x101d6860]
punpckhwd xmm7, xmmword [0x101d6860]
paddd xmm7, xmm3
movdqa xmm3, xmm4
movdqu xmmword [esp + 0xf0], xmm7
punpcklwd xmm6, xmmword [0x101d6860]
paddd xmm6, xmm2
movdqa xmm2, xmm1
movdqu xmmword [esp + 0x80], xmm6
punpckhwd xmm2, xmmword [0x101d6860]
punpcklwd xmm1, xmmword [0x101d6860]
punpckhwd xmm3, xmmword [0x101d6860]
paddd xmm3, xmm2
movdqa xmm2, xmm5
movdqu xmmword [esp + 0x50], xmm3
punpcklwd xmm4, xmmword [0x101d6860]
paddd xmm4, xmm1
movdqa xmm1, xmm0
movdqu xmmword [esp + 0x20], xmm4
punpckhwd xmm1, xmmword [0x101d6860]
punpckhwd xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0x30]
paddd xmm2, xmm1
movdqa xmm1, xmmword [ecx + edi*8]
movdqu xmmword [esp + 0x100], xmm2
punpcklwd xmm0, xmmword [0x101d6860]
punpcklwd xmm5, xmmword [0x101d6860]
paddd xmm5, xmm0
movdqa xmm0, xmm1
movdqu xmmword [esp + 0x110], xmm5
punpckhwd xmm0, xmmword [0x101d6860]
mov ecx, dword [esp + 0x18]
movdqa xmm4, xmmword [ecx + edi*8]
movdqa xmm6, xmm4
punpckhwd xmm6, xmmword [0x101d6860]
punpcklwd xmm1, xmmword [0x101d6860]
punpcklwd xmm4, xmmword [0x101d6860]
mov ecx, dword [esp + 0x70]
paddd xmm6, xmm0
movdqa xmm0, xmmword [ecx + edi*8]
paddd xmm4, xmm1
movdqa xmm1, xmm0
punpckhwd xmm1, xmmword [0x101d6860]
mov ecx, dword [esp + 0x60]
movdqa xmm2, xmmword [ecx + edi*8]
movdqa xmm3, xmm2
punpckhwd xmm3, xmmword [0x101d6860]
paddd xmm3, xmm1
movdqu xmmword [esp + 0x130], xmm3
punpcklwd xmm0, xmmword [0x101d6860]
punpcklwd xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0x90]
paddd xmm2, xmm0
movdqa xmm0, xmmword [ecx + edi*8]
movdqu xmmword [esp + 0x120], xmm2
movdqa xmm1, xmm0
punpckhwd xmm1, xmmword [0x101d6860]
mov ecx, dword [esp + 0xa0]
movdqa xmm5, xmmword [ecx + edi*8]
movdqa xmm2, xmm5
punpckhwd xmm2, xmmword [0x101d6860]
paddd xmm2, xmm1
movdqu xmmword [esp + 0x160], xmm2
punpcklwd xmm0, xmmword [0x101d6860]
punpcklwd xmm5, xmmword [0x101d6860]
mov ecx, dword [esp + 0xb0]
paddd xmm5, xmm0
movdqa xmm0, xmmword [ecx + edi*8]
movdqa xmm1, xmm0
punpckhwd xmm1, xmmword [0x101d6860]
mov ecx, dword [esp + 0xe0]
movdqa xmm2, xmmword [ecx + edi*8]
movdqa xmm3, xmm2
punpckhwd xmm3, xmmword [0x101d6860]
paddd xmm3, xmm1
movdqu xmmword [esp + 0x170], xmm3
punpcklwd xmm0, xmmword [0x101d6860]
punpcklwd xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0xd0]
paddd xmm2, xmm0
movdqa xmm0, xmmword [ecx + edi*8]
movdqu xmmword [esp + 0x180], xmm2
movdqa xmm2, xmm0
punpckhwd xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0xc0]
movdqa xmm1, xmmword [ecx + edi*8]
mov ecx, esi
movdqa xmm3, xmm1
punpckhwd xmm3, xmmword [0x101d6860]
paddd xmm3, xmm2
pxor xmm2, xmm2
punpcklwd xmm0, xmm2
punpcklwd xmm1, xmm2
pcmpeqd xmm2, xmm2
paddd xmm1, xmm0
movdqu xmm0, xmmword [esp + 0xf0]
psubd xmm0, xmm2
pcmpeqd xmm2, xmm2
psrld xmm0, 1
movdqa xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x50]
psubd xmm0, xmm2
movdqa xmm2, xmm7
movdqa xmm7, xmmword [0x101e0be0]
pand xmm2, xmmword [0x101e0be0]
psrld xmm0, 1
pand xmm0, xmm7
paddd xmm0, xmm2
movdqu xmm2, xmmword [esp + 0x80]
movdqu xmmword [esp + 0x50], xmm0
psubd xmm2, xmmword [0x101e0bf0]
movdqu xmm0, xmmword [esp + 0x20]
psubd xmm0, xmmword [0x101e0bf0]
psrld xmm2, 1
pand xmm2, xmm7
psrld xmm0, 1
pand xmm0, xmm7
pcmpeqd xmm7, xmm7
paddd xmm0, xmm2
pcmpeqd xmm2, xmm2
psubd xmm4, xmm7
movdqu xmmword [esp + 0x20], xmm0
movdqu xmm0, xmmword [esp + 0x100]
psubd xmm6, xmm2
psrld xmm4, 1
psrld xmm6, 1
psubd xmm0, xmm2
movdqa xmm2, xmmword [0x101e0be0]
psrld xmm0, 1
pand xmm0, xmm2
pand xmm6, xmm2
pand xmm4, xmm2
paddd xmm6, xmm0
movdqu xmm0, xmmword [esp + 0x110]
psubd xmm0, xmm7
psrld xmm0, 1
pand xmm0, xmm2
paddd xmm4, xmm0
movdqu xmm0, xmmword [esp + 0x130]
psubd xmm0, xmm7
movdqu xmm7, xmmword [esp + 0x160]
psrld xmm0, 1
pand xmm0, xmm2
psubd xmm7, xmmword [0x101e0bf0]
psrld xmm7, 1
pand xmm7, xmm2
paddd xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x120]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm5, xmmword [0x101e0bf0]
psrld xmm0, 1
psrld xmm5, 1
pand xmm0, xmm2
pand xmm5, xmm2
paddd xmm5, xmm0
movdqu xmm0, xmmword [esp + 0x170]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm3, xmmword [0x101e0bf0]
psrld xmm0, 1
psrld xmm3, 1
pand xmm0, xmm2
pand xmm3, xmm2
pcmpeqd xmm2, xmm2
paddd xmm3, xmm0
movdqu xmm0, xmmword [esp + 0x180]
psubd xmm0, xmm2
pcmpeqd xmm2, xmm2
psubd xmm1, xmm2
movdqa xmm2, xmmword [0x101e0be0]
psrld xmm0, 1
psrld xmm1, 1
pand xmm0, xmm2
pand xmm1, xmm2
paddd xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x50]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm6, xmmword [0x101e0bf0]
psrld xmm0, 1
psrld xmm6, 1
pand xmm0, xmm2
pand xmm6, xmm2
paddd xmm6, xmm0
movdqu xmm0, xmmword [esp + 0x20]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm4, xmmword [0x101e0bf0]
psrld xmm0, 1
psrld xmm4, 1
pand xmm0, xmm2
pand xmm4, xmm2
paddd xmm4, xmm0
pcmpeqd xmm0, xmm0
psubd xmm7, xmm0
psubd xmm3, xmm0
pcmpeqd xmm0, xmm0
psrld xmm7, 1
psrld xmm3, 1
psubd xmm5, xmm0
psubd xmm1, xmm0
psubd xmm6, xmm0
psrld xmm5, 1
psrld xmm1, 1
pand xmm7, xmm2
pand xmm3, xmm2
psrld xmm6, 1
paddd xmm3, xmm7
pand xmm5, xmm2
pand xmm1, xmm2
pand xmm6, xmm2
psubd xmm3, xmm0
pcmpeqd xmm0, xmm0
paddd xmm1, xmm5
psubd xmm4, xmm0
psubd xmm1, xmm0
psrld xmm3, 1
psrld xmm4, 1
psrld xmm1, 1
pand xmm3, xmm2
pand xmm4, xmm2
pand xmm1, xmm2
paddd xmm3, xmm6
paddd xmm1, xmm4
psubd xmm3, xmm0
psubd xmm1, xmm0
psrld xmm3, 1
psrld xmm1, 1
pslld xmm3, 0x10
pslld xmm1, 0x10
psrad xmm3, 0x10
psrad xmm1, 0x10
packssdw xmm1, xmm3
movdqa xmmword [eax + edi*8], xmm1
add edi, 2
cmp edi, esi
jl 0x100c91fc
mov ecx, dword [esp + 0x1c]
add eax, ecx
add ebx, ecx
add ebp, ecx
add edx, ecx
add dword [esp + 0xc], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x30], ecx
add dword [esp + 0x18], ecx
add dword [esp + 0x70], ecx
add dword [esp + 0x60], ecx
add dword [esp + 0x90], ecx
add dword [esp + 0xa0], ecx
add dword [esp + 0xb0], ecx
add dword [esp + 0xe0], ecx
add dword [esp + 0xd0], ecx
add dword [esp + 0xc0], ecx
mov dword [esp], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
inc eax
cmp eax, dword [esp + 4]
mov dword [esp + 0x150], eax
jne 0x100c91e3
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
xor esi, esi
lea ecx, [eax + eax]
lea eax, [eax + eax*2]
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 8]
movdqa xmm0, xmmword [0x101e0b60]
pxor xmm1, xmm1
test eax, eax
jle 0x100c997c
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
lea ebx, [edx + ecx]
mov ecx, dword [esp + 0x18]
lea ebp, [edx + ecx]
mov ecx, dword [esp + 0xc]
lea ecx, [edx + ecx]
xor edx, edx
mov edi, dword [esp]
movdqa xmm7, xmmword [ebx + edx*2]
movdqa xmm2, xmmword [ebp + edx*2]
movaps xmm3, xmmword [ecx + edx*2]
movdqa xmm6, xmmword [edi + edx*2]
movdqu xmmword [esp + 0x30], xmm7
movups xmmword [esp + 0x40], xmm3
movdqa xmm4, xmm6
pand xmm4, xmm0
movdqa xmm0, xmm7
movdqa xmm7, xmm2
pand xmm0, xmmword [0x101e0b60]
pand xmm7, xmmword [0x101e0b60]
movdqa xmm5, xmm4
punpcklbw xmm4, xmm1
punpckhbw xmm5, xmm1
movdqa xmm3, xmm0
punpcklbw xmm0, xmm1
punpckhbw xmm3, xmm1
movdqa xmm1, xmm7
paddw xmm0, xmm4
punpckhbw xmm1, xmmword [0x101d6860]
movdqu xmm4, xmmword [esp + 0x40]
paddw xmm3, xmm5
pand xmm4, xmmword [0x101e0b60]
movdqa xmm5, xmm4
punpckhbw xmm5, xmmword [0x101d6860]
paddw xmm5, xmm1
pxor xmm1, xmm1
punpcklbw xmm7, xmm1
punpcklbw xmm4, xmm1
paddw xmm4, xmm7
pcmpeqd xmm7, xmm7
psubw xmm3, xmm7
psubw xmm5, xmm7
psubw xmm0, xmm7
psubw xmm4, xmm7
psrlw xmm3, 1
psrlw xmm5, 1
psrlw xmm0, 1
psrlw xmm4, 1
pand xmm3, xmmword [0x101e0b70]
pand xmm5, xmmword [0x101e0b70]
paddw xmm5, xmm3
movdqa xmm3, xmmword [0x101e0b70]
psubw xmm5, xmm7
psrlw xmm5, 1
pand xmm0, xmm3
pand xmm4, xmm3
pand xmm5, xmm3
paddw xmm4, xmm0
movdqa xmm0, xmmword [0x101e0b60]
psubw xmm4, xmm7
movdqu xmm7, xmmword [esp + 0x30]
psrlw xmm4, 1
pand xmm4, xmm3
movdqa xmm3, xmmword [0x101e0b80]
packuswb xmm4, xmm5
movdqa xmm5, xmmword [0x101e0b90]
pand xmm4, xmm0
pand xmm6, xmm3
pand xmm7, xmm3
pand xmm2, xmm3
por xmm6, xmm5
por xmm2, xmm5
paddw xmm6, xmm7
movdqu xmm7, xmmword [esp + 0x40]
psrlw xmm6, 1
por xmm6, xmm5
pand xmm7, xmm3
paddw xmm2, xmm7
psrlw xmm2, 1
paddw xmm6, xmm2
psrlw xmm6, 1
pand xmm6, xmm3
por xmm6, xmm4
movdqa xmmword [edi + edx*2], xmm6
add edx, 8
cmp edx, eax
jl 0x100c97fb
mov eax, dword [esp]
inc esi
add eax, dword [esp + 0x1c]
cmp esi, dword [esp + 4]
mov dword [esp], eax
jne 0x100c97c9
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0xf0], 0
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], edx
mov eax, dword [esp]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
movdqa xmm1, xmmword [0x101e0b60]
pxor xmm2, xmm2
test ecx, ecx
jle 0x100c9d98
xor edi, edi
movdqa xmm7, xmmword [ebx + edi*2]
movdqa xmm0, xmmword [eax + edi*2]
movdqa xmm4, xmmword [edx + edi*2]
movdqa xmm3, xmmword [ebp + edi*2]
movdqu xmmword [esp + 0x50], xmm7
pand xmm7, xmmword [0x101e0b60]
movdqu xmmword [esp + 0x20], xmm0
pand xmm0, xmm1
movdqu xmmword [esp + 0x70], xmm4
movdqu xmmword [esp + 0x60], xmm3
movdqa xmm1, xmm0
punpcklbw xmm0, xmm2
punpckhbw xmm1, xmm2
movdqa xmm5, xmm7
punpcklbw xmm7, xmm2
paddw xmm7, xmm0
movdqa xmm0, xmm4
punpckhbw xmm5, xmm2
pand xmm0, xmmword [0x101e0b60]
paddw xmm5, xmm1
movdqu xmmword [esp + 0xc0], xmm7
movdqu xmmword [esp + 0x80], xmm5
movdqa xmm1, xmm0
punpckhbw xmm1, xmm2
movdqa xmm2, xmm3
pand xmm2, xmmword [0x101e0b60]
movdqa xmm5, xmm2
punpckhbw xmm5, xmmword [0x101d6860]
punpcklbw xmm0, xmmword [0x101d6860]
punpcklbw xmm2, xmmword [0x101d6860]
mov esi, dword [esp + 0xc]
paddw xmm2, xmm0
movdqa xmm0, xmmword [esi + edi*2]
mov esi, ecx
paddw xmm5, xmm1
movdqu xmmword [esp + 0x90], xmm0
pand xmm0, xmmword [0x101e0b60]
movdqa xmm3, xmm0
punpckhbw xmm3, xmmword [0x101d6860]
mov ecx, dword [esp + 0x40]
movdqa xmm4, xmmword [ecx + edi*2]
movdqu xmmword [esp + 0xa0], xmm4
pand xmm4, xmmword [0x101e0b60]
movdqa xmm6, xmm4
punpckhbw xmm6, xmmword [0x101d6860]
punpcklbw xmm0, xmmword [0x101d6860]
punpcklbw xmm4, xmmword [0x101d6860]
mov ecx, dword [esp + 0x30]
movdqa xmm1, xmmword [ecx + edi*2]
paddw xmm4, xmm0
paddw xmm6, xmm3
movdqu xmmword [esp + 0xb0], xmm1
pand xmm1, xmmword [0x101e0b60]
movdqa xmm0, xmm1
punpckhbw xmm0, xmmword [0x101d6860]
mov ecx, dword [esp + 0x18]
movdqu xmmword [esp + 0xd0], xmm0
movdqa xmm0, xmmword [ecx + edi*2]
mov ecx, esi
movdqu xmmword [esp + 0xe0], xmm0
pand xmm0, xmmword [0x101e0b60]
movdqa xmm3, xmm0
punpckhbw xmm3, xmmword [0x101d6860]
movdqu xmm7, xmmword [esp + 0xd0]
punpcklbw xmm1, xmmword [0x101d6860]
punpcklbw xmm0, xmmword [0x101d6860]
paddw xmm0, xmm1
movdqu xmm1, xmmword [esp + 0x80]
paddw xmm3, xmm7
psubw xmm1, xmmword [0x101e0bf0]
psubw xmm5, xmmword [0x101e0bf0]
psrlw xmm1, 1
psrlw xmm5, 1
pand xmm1, xmmword [0x101e0b70]
pand xmm5, xmmword [0x101e0b70]
paddw xmm5, xmm1
movdqu xmm1, xmmword [esp + 0xc0]
psubw xmm1, xmmword [0x101e0bf0]
psubw xmm2, xmmword [0x101e0bf0]
psubw xmm6, xmmword [0x101e0bf0]
psubw xmm3, xmmword [0x101e0bf0]
psubw xmm4, xmmword [0x101e0bf0]
psubw xmm0, xmmword [0x101e0bf0]
psubw xmm5, xmmword [0x101e0bf0]
psrlw xmm1, 1
psrlw xmm2, 1
psrlw xmm6, 1
psrlw xmm3, 1
psrlw xmm4, 1
psrlw xmm0, 1
psrlw xmm5, 1
pand xmm1, xmmword [0x101e0b70]
pand xmm2, xmmword [0x101e0b70]
pand xmm6, xmmword [0x101e0b70]
pand xmm3, xmmword [0x101e0b70]
pand xmm4, xmmword [0x101e0b70]
pand xmm0, xmmword [0x101e0b70]
pand xmm5, xmmword [0x101e0b70]
paddw xmm3, xmm6
paddw xmm2, xmm1
paddw xmm0, xmm4
psubw xmm3, xmmword [0x101e0bf0]
psubw xmm2, xmmword [0x101e0bf0]
psubw xmm0, xmmword [0x101e0bf0]
movdqu xmm4, xmmword [esp + 0x20]
movdqu xmm6, xmmword [esp + 0x60]
movdqu xmm7, xmmword [esp + 0xa0]
movdqu xmm1, xmmword [esp + 0xe0]
psrlw xmm3, 1
psrlw xmm2, 1
psrlw xmm0, 1
pand xmm3, xmmword [0x101e0b70]
pand xmm2, xmmword [0x101e0b70]
pand xmm0, xmmword [0x101e0b70]
paddw xmm3, xmm5
paddw xmm0, xmm2
pcmpeqd xmm2, xmm2
movdqu xmm5, xmmword [esp + 0x50]
psubw xmm3, xmm2
psubw xmm0, xmm2
movdqa xmm2, xmmword [0x101e0b70]
psrlw xmm0, 1
psrlw xmm3, 1
pand xmm3, xmm2
pand xmm0, xmm2
movdqa xmm2, xmmword [0x101e0b80]
packuswb xmm0, xmm3
movdqa xmm3, xmmword [0x101e0b90]
pand xmm4, xmm2
pand xmm5, xmm2
pand xmm6, xmm2
pand xmm7, xmm2
pand xmm1, xmm2
por xmm4, xmm3
paddw xmm4, xmm5
movdqu xmm5, xmmword [esp + 0x70]
psrlw xmm4, 1
por xmm4, xmm3
pand xmm5, xmm2
por xmm5, xmm3
paddw xmm5, xmm6
movdqu xmm6, xmmword [esp + 0x90]
psrlw xmm5, 1
paddw xmm4, xmm5
psrlw xmm4, 1
pand xmm6, xmm2
por xmm6, xmm3
paddw xmm6, xmm7
movdqu xmm7, xmmword [esp + 0xb0]
psrlw xmm6, 1
por xmm6, xmm3
pand xmm7, xmm2
por xmm7, xmm3
paddw xmm7, xmm1
movdqa xmm1, xmmword [0x101e0b60]
psrlw xmm7, 1
paddw xmm6, xmm7
psrlw xmm6, 1
pavgw xmm6, xmm4
pand xmm0, xmm1
pand xmm6, xmm2
pxor xmm2, xmm2
por xmm6, xmm0
movdqa xmmword [eax + edi*2], xmm6
add edi, 8
cmp edi, esi
jl 0x100c99d5
mov ecx, dword [esp + 0x1c]
add eax, ecx
add edx, ecx
add ebp, ecx
add ebx, ecx
add dword [esp + 0xc], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x18], ecx
mov dword [esp], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x14], ebp
inc eax
add edx, ecx
cmp eax, dword [esp + 4]
mov dword [esp + 0xf0], eax
jne 0x100c99ac
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x14c], 0
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], edx
mov eax, dword [esp]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
movdqa xmm1, xmmword [0x101e0b60]
pxor xmm5, xmm5
test ecx, ecx
jle 0x100ca7fb
xor edi, edi
movdqa xmm4, xmmword [ebx + edi*2]
movdqa xmm0, xmmword [eax + edi*2]
movdqa xmm3, xmmword [edx + edi*2]
movdqa xmm2, xmmword [ebp + edi*2]
mov esi, dword [esp + 0xc]
movdqu xmmword [esp + 0x180], xmm4
pand xmm4, xmmword [0x101e0b60]
movdqu xmmword [esp + 0x130], xmm0
pand xmm0, xmm1
movdqu xmmword [esp + 0x170], xmm2
pand xmm2, xmmword [0x101e0b60]
movdqu xmmword [esp + 0x20], xmm3
movdqa xmm1, xmm0
punpcklbw xmm0, xmm5
punpckhbw xmm1, xmm5
movdqa xmm6, xmm4
punpcklbw xmm4, xmm5
paddw xmm4, xmm0
movdqa xmm0, xmm3
punpckhbw xmm6, xmm5
movdqa xmm3, xmm2
punpcklbw xmm2, xmm5
pand xmm0, xmmword [0x101e0b60]
paddw xmm6, xmm1
punpckhbw xmm3, xmm5
movdqu xmmword [esp + 0x1f0], xmm4
movdqu xmmword [esp + 0x1e0], xmm6
movdqa xmm1, xmm0
punpcklbw xmm0, xmm5
paddw xmm2, xmm0
movdqa xmm0, xmmword [esi + edi*2]
mov esi, ecx
mov ecx, dword [esp + 0x40]
punpckhbw xmm1, xmm5
movdqu xmmword [esp + 0x110], xmm2
paddw xmm3, xmm1
movdqu xmmword [esp + 0x100], xmm3
movdqa xmm2, xmmword [ecx + edi*2]
movdqu xmmword [esp + 0x160], xmm0
pand xmm0, xmmword [0x101e0b60]
mov ecx, dword [esp + 0x30]
movdqu xmmword [esp + 0x150], xmm2
pand xmm2, xmmword [0x101e0b60]
movdqa xmm1, xmm0
punpcklbw xmm0, xmm5
punpckhbw xmm1, xmm5
movdqa xmm3, xmm2
punpcklbw xmm2, xmm5
punpckhbw xmm3, xmm5
paddw xmm2, xmm0
paddw xmm3, xmm1
movdqa xmm1, xmmword [ecx + edi*2]
mov ecx, dword [esp + 0x18]
movdqu xmmword [esp + 0x1d0], xmm2
movdqu xmmword [esp + 0x1c0], xmm3
movdqa xmm3, xmmword [ecx + edi*2]
movdqu xmmword [esp + 0x50], xmm1
pand xmm1, xmmword [0x101e0b60]
mov ecx, dword [esp + 0x70]
movdqu xmmword [esp + 0x260], xmm3
pand xmm3, xmmword [0x101e0b60]
movdqa xmm2, xmm1
punpcklbw xmm1, xmm5
punpckhbw xmm2, xmm5
movdqa xmm6, xmm3
punpcklbw xmm3, xmm5
paddw xmm3, xmm1
movdqa xmm1, xmmword [ecx + edi*2]
mov ecx, dword [esp + 0x60]
punpckhbw xmm6, xmm5
paddw xmm6, xmm2
movdqa xmm0, xmmword [ecx + edi*2]
movdqu xmmword [esp + 0x250], xmm1
pand xmm1, xmmword [0x101e0b60]
mov ecx, dword [esp + 0x90]
movdqu xmmword [esp + 0x240], xmm0
pand xmm0, xmmword [0x101e0b60]
movdqa xmm2, xmm1
punpcklbw xmm1, xmm5
punpckhbw xmm2, xmm5
movdqa xmm4, xmm0
punpcklbw xmm0, xmm5
punpckhbw xmm4, xmm5
paddw xmm0, xmm1
paddw xmm4, xmm2
movdqa xmm2, xmmword [ecx + edi*2]
mov ecx, dword [esp + 0xa0]
movdqu xmmword [esp + 0x1b0], xmm0
movdqu xmmword [esp + 0x1a0], xmm4
movdqa xmm1, xmmword [ecx + edi*2]
movdqu xmmword [esp + 0x80], xmm2
pand xmm2, xmmword [0x101e0b60]
mov ecx, dword [esp + 0xb0]
movdqu xmmword [esp + 0x230], xmm1
pand xmm1, xmmword [0x101e0b60]
movdqa xmm4, xmm2
punpcklbw xmm2, xmm5
punpckhbw xmm4, xmm5
movdqa xmm0, xmm1
punpcklbw xmm1, xmm5
punpckhbw xmm0, xmm5
paddw xmm1, xmm2
paddw xmm0, xmm4
movdqa xmm4, xmmword [ecx + edi*2]
movdqu xmmword [esp + 0x120], xmm0
movdqu xmmword [esp + 0xf0], xmm4
pand xmm4, xmmword [0x101e0b60]
movdqa xmm5, xmm4
punpckhbw xmm5, xmmword [0x101d6860]
mov ecx, dword [esp + 0xe0]
movdqa xmm2, xmmword [ecx + edi*2]
movdqu xmmword [esp + 0x220], xmm2
pand xmm2, xmmword [0x101e0b60]
movdqa xmm0, xmm2
punpckhbw xmm0, xmmword [0x101d6860]
paddw xmm0, xmm5
movdqu xmmword [esp + 0x190], xmm0
punpcklbw xmm4, xmmword [0x101d6860]
punpcklbw xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0xd0]
movdqa xmm7, xmmword [ecx + edi*2]
paddw xmm2, xmm4
movdqu xmmword [esp + 0x210], xmm7
pand xmm7, xmmword [0x101e0b60]
movdqa xmm0, xmm7
punpckhbw xmm0, xmmword [0x101d6860]
mov ecx, dword [esp + 0xc0]
movdqa xmm4, xmmword [ecx + edi*2]
mov ecx, esi
movdqu xmmword [esp + 0x200], xmm4
pand xmm4, xmmword [0x101e0b60]
movdqa xmm5, xmm4
punpckhbw xmm5, xmmword [0x101d6860]
punpcklbw xmm7, xmmword [0x101d6860]
punpcklbw xmm4, xmmword [0x101d6860]
paddw xmm4, xmm7
movdqu xmm7, xmmword [esp + 0x1e0]
paddw xmm5, xmm0
pcmpeqd xmm0, xmm0
psubw xmm7, xmm0
psrlw xmm7, 1
movdqa xmm0, xmm7
movdqu xmm7, xmmword [esp + 0x100]
pand xmm0, xmmword [0x101e0b70]
psubw xmm7, xmmword [0x101e0bf0]
psrlw xmm7, 1
pand xmm7, xmmword [0x101e0b70]
paddw xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x1f0]
movdqu xmmword [esp + 0x100], xmm7
psubw xmm0, xmmword [0x101e0bf0]
movdqu xmm7, xmmword [esp + 0x110]
psubw xmm7, xmmword [0x101e0bf0]
psrlw xmm0, 1
pand xmm0, xmmword [0x101e0b70]
psrlw xmm7, 1
pand xmm7, xmmword [0x101e0b70]
paddw xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x1c0]
movdqu xmmword [esp + 0x110], xmm7
pcmpeqd xmm7, xmm7
psubw xmm6, xmm7
psubw xmm3, xmm7
psrlw xmm6, 1
psrlw xmm3, 1
psubw xmm0, xmm7
pand xmm6, xmmword [0x101e0b70]
pand xmm3, xmmword [0x101e0b70]
psrlw xmm0, 1
pand xmm0, xmmword [0x101e0b70]
paddw xmm6, xmm0
movdqu xmm0, xmmword [esp + 0x1d0]
psubw xmm0, xmm7
psrlw xmm0, 1
pand xmm0, xmmword [0x101e0b70]
paddw xmm3, xmm0
movdqu xmm0, xmmword [esp + 0x1a0]
psubw xmm0, xmm7
psrlw xmm0, 1
movdqa xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x120]
pand xmm7, xmmword [0x101e0b70]
psubw xmm0, xmmword [0x101e0bf0]
psrlw xmm0, 1
pand xmm0, xmmword [0x101e0b70]
paddw xmm0, xmm7
movdqu xmm7, xmmword [esp + 0x1b0]
movdqu xmmword [esp + 0x120], xmm0
pcmpeqd xmm0, xmm0
psubw xmm1, xmm0
psubw xmm5, xmm0
psrlw xmm1, 1
psrlw xmm5, 1
psubw xmm7, xmm0
pand xmm1, xmmword [0x101e0b70]
pand xmm5, xmmword [0x101e0b70]
psrlw xmm7, 1
pand xmm7, xmmword [0x101e0b70]
paddw xmm1, xmm7
movdqu xmm7, xmmword [esp + 0x190]
psubw xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x120]
psrlw xmm7, 1
pand xmm7, xmmword [0x101e0b70]
paddw xmm5, xmm7
pcmpeqd xmm7, xmm7
psubw xmm2, xmm7
psubw xmm4, xmm7
psubw xmm6, xmm7
psrlw xmm2, 1
psrlw xmm4, 1
psrlw xmm6, 1
pand xmm2, xmmword [0x101e0b70]
pand xmm4, xmmword [0x101e0b70]
pand xmm6, xmmword [0x101e0b70]
paddw xmm4, xmm2
movdqu xmm2, xmmword [esp + 0x100]
psubw xmm2, xmm7
pcmpeqd xmm7, xmm7
psrlw xmm2, 1
psubw xmm0, xmm7
psubw xmm5, xmm7
psubw xmm3, xmm7
pand xmm2, xmmword [0x101e0b70]
psrlw xmm0, 1
psrlw xmm5, 1
psrlw xmm3, 1
pand xmm0, xmmword [0x101e0b70]
pand xmm5, xmmword [0x101e0b70]
pand xmm3, xmmword [0x101e0b70]
paddw xmm6, xmm2
movdqu xmm2, xmmword [esp + 0x110]
paddw xmm5, xmm0
pcmpeqd xmm0, xmm0
psubw xmm1, xmm0
psubw xmm4, xmm0
psubw xmm6, xmm0
psubw xmm5, xmm0
pcmpeqd xmm0, xmm0
psrlw xmm1, 1
psrlw xmm4, 1
psrlw xmm6, 1
psrlw xmm5, 1
psubw xmm2, xmm7
pand xmm1, xmmword [0x101e0b70]
pand xmm4, xmmword [0x101e0b70]
pand xmm6, xmmword [0x101e0b70]
pand xmm5, xmmword [0x101e0b70]
movdqu xmm7, xmmword [esp + 0x230]
psrlw xmm2, 1
pand xmm2, xmmword [0x101e0b70]
paddw xmm4, xmm1
paddw xmm5, xmm6
movdqa xmm6, xmmword [0x101e0b80]
movdqu xmm1, xmmword [esp + 0x130]
psubw xmm4, xmm0
psubw xmm5, xmm0
paddw xmm3, xmm2
psrlw xmm4, 1
psrlw xmm5, 1
movdqu xmm2, xmmword [esp + 0x180]
psubw xmm3, xmm0
pand xmm4, xmmword [0x101e0b70]
pand xmm5, xmmword [0x101e0b70]
psrlw xmm3, 1
pand xmm1, xmm6
pand xmm3, xmmword [0x101e0b70]
pand xmm2, xmm6
paddw xmm4, xmm3
movdqu xmm3, xmmword [esp + 0x170]
psubw xmm4, xmm0
movdqu xmm0, xmmword [esp + 0x20]
psrlw xmm4, 1
pand xmm4, xmmword [0x101e0b70]
packuswb xmm4, xmm5
movdqa xmm5, xmm6
movdqa xmm6, xmmword [0x101e0b90]
pand xmm0, xmm5
pand xmm3, xmm5
movdqu xmmword [esp + 0x110], xmm4
movdqu xmm4, xmmword [esp + 0x50]
por xmm1, xmm6
por xmm0, xmm6
paddw xmm1, xmm2
paddw xmm0, xmm3
movdqu xmm3, xmmword [esp + 0x150]
pand xmm4, xmm5
movdqa xmm2, xmm1
movdqu xmm1, xmmword [esp + 0x160]
movdqu xmmword [esp + 0x20], xmm0
movdqa xmm0, xmm5
por xmm4, xmm6
pand xmm7, xmm0
psrlw xmm2, 1
pand xmm3, xmm5
pand xmm1, xmm5
movdqu xmm5, xmmword [esp + 0x260]
por xmm1, xmm6
paddw xmm1, xmm3
movdqa xmm3, xmm1
movdqu xmm1, xmmword [esp + 0x250]
pand xmm5, xmm0
psrlw xmm3, 1
paddw xmm4, xmm5
movdqu xmm5, xmmword [esp + 0x240]
psrlw xmm4, 1
pand xmm1, xmm0
por xmm1, xmm6
pand xmm5, xmm0
paddw xmm1, xmm5
movdqa xmm5, xmm1
movdqu xmm1, xmmword [esp + 0x80]
psrlw xmm5, 1
pand xmm1, xmm0
por xmm1, xmm6
paddw xmm1, xmm7
movdqu xmm7, xmmword [esp + 0x220]
movdqu xmmword [esp + 0x80], xmm1
movdqu xmm1, xmmword [esp + 0xf0]
pand xmm7, xmm0
pand xmm1, xmm0
por xmm1, xmm6
paddw xmm1, xmm7
movdqu xmm7, xmmword [esp + 0x200]
movdqu xmmword [esp + 0xf0], xmm1
movdqu xmm1, xmmword [esp + 0x210]
pand xmm7, xmm0
pand xmm1, xmm0
movdqa xmm0, xmm2
por xmm1, xmm6
paddw xmm1, xmm7
movdqa xmm7, xmm1
movdqu xmm1, xmmword [esp + 0x20]
punpckhbw xmm0, xmmword [0x101d6860]
psrlw xmm7, 1
psrlw xmm1, 1
movdqa xmm6, xmm1
punpckhbw xmm6, xmmword [0x101d6860]
punpcklbw xmm2, xmmword [0x101d6860]
punpcklbw xmm1, xmmword [0x101d6860]
paddw xmm1, xmm2
paddw xmm6, xmm0
movdqa xmm2, xmm3
movdqa xmm0, xmm4
movdqu xmmword [esp + 0x20], xmm1
punpckhbw xmm2, xmmword [0x101d6860]
punpckhbw xmm0, xmmword [0x101d6860]
punpcklbw xmm3, xmmword [0x101d6860]
punpcklbw xmm4, xmmword [0x101d6860]
movdqu xmm1, xmmword [esp + 0x80]
paddw xmm4, xmm3
psrlw xmm1, 1
paddw xmm0, xmm2
movdqa xmm2, xmm5
movdqu xmmword [esp + 0x50], xmm4
movdqa xmm3, xmm1
pcmpeqd xmm4, xmm4
punpckhbw xmm2, xmmword [0x101d6860]
punpckhbw xmm3, xmmword [0x101d6860]
punpcklbw xmm5, xmmword [0x101d6860]
punpcklbw xmm1, xmmword [0x101d6860]
paddw xmm1, xmm5
paddw xmm3, xmm2
movdqa xmm2, xmm7
movdqu xmmword [esp + 0x80], xmm1
movdqu xmm1, xmmword [esp + 0xf0]
psrlw xmm1, 1
movdqa xmm5, xmm1
punpckhbw xmm5, xmmword [0x101d6860]
punpckhbw xmm2, xmmword [0x101d6860]
paddw xmm2, xmm5
pxor xmm5, xmm5
punpcklbw xmm1, xmm5
punpcklbw xmm7, xmm5
paddw xmm7, xmm1
pcmpeqd xmm1, xmm1
psubw xmm6, xmm1
psubw xmm0, xmm1
pcmpeqd xmm1, xmm1
psrlw xmm6, 1
psrlw xmm0, 1
pand xmm6, xmmword [0x101e0b70]
pand xmm0, xmmword [0x101e0b70]
paddw xmm0, xmm6
movdqu xmm6, xmmword [esp + 0x20]
psubw xmm6, xmm1
movdqu xmm1, xmmword [esp + 0x50]
psrlw xmm6, 1
pand xmm6, xmmword [0x101e0b70]
psubw xmm1, xmm4
movdqa xmm4, xmmword [0x101e0b70]
psrlw xmm1, 1
pand xmm1, xmmword [0x101e0b70]
paddw xmm1, xmm6
pcmpeqd xmm6, xmm6
movdqu xmmword [esp + 0x50], xmm1
pcmpeqd xmm1, xmm1
psubw xmm7, xmm6
psubw xmm3, xmm1
psubw xmm2, xmm1
movdqu xmm1, xmmword [esp + 0x80]
psrlw xmm7, 1
psrlw xmm3, 1
psrlw xmm2, 1
pand xmm7, xmm4
pand xmm3, xmmword [0x101e0b70]
pand xmm2, xmmword [0x101e0b70]
psubw xmm1, xmm6
psrlw xmm1, 1
pand xmm1, xmm4
paddw xmm2, xmm3
paddw xmm7, xmm1
pcmpeqd xmm1, xmm1
psubw xmm0, xmm1
psubw xmm2, xmm1
psubw xmm7, xmm1
psrlw xmm0, 1
psrlw xmm2, 1
psrlw xmm7, 1
pand xmm0, xmm4
pand xmm2, xmm4
pand xmm7, xmm4
paddw xmm2, xmm0
movdqu xmm0, xmmword [esp + 0x50]
psubw xmm2, xmm1
psrlw xmm2, 1
pand xmm2, xmm4
psubw xmm0, xmm1
movdqa xmm1, xmmword [0x101e0b60]
psrlw xmm0, 1
pand xmm0, xmm4
paddw xmm7, xmm0
pcmpeqd xmm0, xmm0
psubw xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x110]
psrlw xmm7, 1
pand xmm7, xmm4
packuswb xmm7, xmm2
pand xmm7, xmmword [0x101e0b80]
pand xmm0, xmm1
por xmm7, xmm0
movdqa xmmword [eax + edi*2], xmm7
add edi, 8
cmp edi, esi
jl 0x100c9e1e
mov ecx, dword [esp + 0x1c]
add eax, ecx
add edx, ecx
add ebp, ecx
add ebx, ecx
add dword [esp + 0xc], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x18], ecx
add dword [esp + 0x70], ecx
add dword [esp + 0x60], ecx
add dword [esp + 0x90], ecx
add dword [esp + 0xa0], ecx
add dword [esp + 0xb0], ecx
add dword [esp + 0xe0], ecx
add dword [esp + 0xd0], ecx
add dword [esp + 0xc0], ecx
mov dword [esp], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x14], ebp
inc eax
add edx, ecx
cmp eax, dword [esp + 4]
mov dword [esp + 0x14c], eax
jne 0x100c9df5
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
movaps xmm0, xmmword [0x101e0bd0]
xor edx, edx
lea ecx, [eax + eax]
lea eax, [eax + eax*2]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
test ecx, ecx
jle 0x100ca8e1
mov eax, dword [esp + 0x20]
mov edi, dword [esp]
lea esi, [edi + eax]
mov eax, dword [esp + 0x40]
lea ebx, [edi + eax]
mov eax, dword [esp + 0x30]
lea ebp, [edi + eax]
xor eax, eax
mov edi, dword [esp]
movaps xmm2, xmmword [ebx + eax*4]
movaps xmm1, xmmword [edi + eax*4]
addps xmm2, xmmword [ebp + eax*4]
addps xmm1, xmmword [esi + eax*4]
addps xmm2, xmm1
mulps xmm2, xmm0
movaps xmmword [edi + eax*4], xmm2
add eax, 4
cmp eax, ecx
jl 0x100ca8bc
mov eax, dword [esp]
inc edx
add eax, dword [esp + 0x1c]
cmp edx, dword [esp + 4]
mov dword [esp], eax
jne 0x100ca89a
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movaps xmm0, xmmword [0x101e0bc0]
mov dword [esp + 0x20], 0
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], ecx
test edi, edi
jle 0x100ca992
xor ecx, ecx
mov dword [esp + 0x10], esi
mov edi, dword [esp]
movaps xmm2, xmmword [esi + ecx*4]
mov esi, edx
movaps xmm3, xmmword [ebx + ecx*4]
mov edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
movaps xmm4, xmmword [eax + ecx*4]
movaps xmm1, xmmword [edi + ecx*4]
mov edi, dword [esp + 0x50]
mov eax, ebx
mov ebx, edx
mov edx, esi
mov esi, dword [esp + 0x10]
addps xmm2, xmmword [edx + ecx*4]
addps xmm3, xmmword [eax + ecx*4]
addps xmm4, xmmword [ebp + ecx*4]
addps xmm1, xmmword [edi + ecx*4]
mov ebp, dword [esp]
mov edi, dword [esp + 8]
addps xmm2, xmm1
addps xmm4, xmm3
addps xmm4, xmm2
mulps xmm4, xmm0
movaps xmmword [ebp + ecx*4], xmm4
add ecx, 4
cmp ecx, edi
jl 0x100ca933
mov ecx, dword [esp + 0x1c]
add edx, ecx
add esi, ecx
add ebx, ecx
add eax, ecx
add dword [esp], ecx
add dword [esp + 0x50], ecx
add dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x40], eax
add edx, ecx
mov ecx, dword [esp + 0x20]
inc ecx
cmp ecx, dword [esp + 4]
mov dword [esp + 0x20], ecx
mov ecx, edx
jne 0x100ca911
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movaps xmm0, xmmword [0x101e0bb0]
mov dword [esp + 0x20], 0
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x30], ecx
test edx, edx
jle 0x100caabe
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edi, dword [esp]
movaps xmm3, xmmword [ebx + eax*4]
movaps xmm4, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0x30]
movaps xmm2, xmmword [edi + eax*4]
addps xmm3, xmmword [ebp + eax*4]
movaps xmm1, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0x70]
addps xmm2, xmmword [esi + eax*4]
movaps xmm7, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0x40]
addps xmm3, xmm2
addps xmm4, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0x18]
addps xmm1, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0x90]
movaps xmm6, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0xb0]
addps xmm1, xmm4
addps xmm1, xmm3
movaps xmm3, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0x60]
addps xmm7, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0xa0]
addps xmm6, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0xd0]
movaps xmm5, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0xe0]
addps xmm6, xmm7
addps xmm3, xmmword [ecx + eax*4]
mov ecx, dword [esp + 0xc0]
addps xmm5, xmmword [ecx + eax*4]
addps xmm5, xmm3
addps xmm5, xmm6
addps xmm5, xmm1
mulps xmm5, xmm0
movaps xmmword [edi + eax*4], xmm5
add eax, 4
cmp eax, edx
jl 0x100caa11
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
inc edx
add esi, eax
add ebx, eax
add ebp, eax
add dword [esp], eax
add dword [esp + 0xc], eax
add dword [esp + 0x40], eax
add ecx, eax
add dword [esp + 0x18], eax
add dword [esp + 0x70], eax
add dword [esp + 0x60], eax
add dword [esp + 0x90], eax
add dword [esp + 0xa0], eax
add dword [esp + 0xb0], eax
add dword [esp + 0xe0], eax
add dword [esp + 0xd0], eax
add dword [esp + 0xc0], eax
cmp edx, dword [esp + 4]
mov dword [esp + 0x50], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], edx
jne 0x100ca9f3
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
xor esi, esi
pxor xmm0, xmm0
lea ecx, [eax + eax]
lea eax, [eax + eax*2]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], eax
mov edx, dword [esp + 8]
movdqa xmm2, xmmword [0x101e0be0]
test edx, edx
jle 0x100cac5e
mov edi, dword [esp]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
lea ebx, [edi + ecx]
mov ecx, dword [esp + 0x30]
lea eax, [edi + eax]
lea ebp, [edi + ecx]
xor ecx, ecx
mov edi, dword [esp]
movdqa xmm4, xmmword [eax + ecx*4]
movdqa xmm7, xmmword [ebx + ecx*4]
movdqa xmm3, xmmword [ebp + ecx*4]
movdqa xmm1, xmm2
movdqa xmm5, xmmword [edi + ecx*4]
movdqa xmm6, xmm4
punpcklwd xmm4, xmm0
punpckhwd xmm6, xmm0
movdqa xmm2, xmm5
punpcklwd xmm5, xmm0
punpckhwd xmm2, xmm0
paddd xmm4, xmm5
movdqa xmm5, xmm3
punpcklwd xmm3, xmm0
paddd xmm6, xmm2
movdqa xmm2, xmm7
punpcklwd xmm7, xmm0
punpckhwd xmm5, xmm0
punpckhwd xmm2, xmm0
paddd xmm3, xmm7
paddd xmm5, xmm2
movdqa xmm2, xmm1
pcmpeqd xmm1, xmm1
psubd xmm6, xmm1
psubd xmm5, xmm1
psubd xmm4, xmm1
psubd xmm3, xmm1
psrld xmm6, 1
psrld xmm5, 1
psrld xmm4, 1
psrld xmm3, 1
pand xmm6, xmm2
pand xmm5, xmm2
pand xmm4, xmm2
pand xmm3, xmm2
paddd xmm5, xmm6
paddd xmm3, xmm4
psubd xmm5, xmm1
psubd xmm3, xmm1
psrld xmm3, 1
psrld xmm5, 1
pslld xmm5, 0x10
pslld xmm3, 0x10
psrad xmm5, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm5
movdqa xmmword [edi + ecx*4], xmm3
add ecx, 4
cmp ecx, edx
jl 0x100cab84
mov eax, dword [esp]
inc esi
add eax, dword [esp + 0x1c]
cmp esi, dword [esp + 4]
mov dword [esp], eax
jne 0x100cab56
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x60], 0
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test eax, eax
jle 0x100caee9
xor ecx, ecx
mov esi, dword [esp + 0xc]
mov edi, dword [esp]
movdqa xmm1, xmmword [edx + ecx*4]
movdqa xmm4, xmmword [ebx + ecx*4]
movdqa xmm3, xmmword [ebp + ecx*4]
pxor xmm0, xmm0
movdqa xmm2, xmmword [esi + ecx*4]
mov esi, eax
mov eax, dword [esp + 0x40]
movdqa xmm5, xmmword [edi + ecx*4]
movaps xmm6, xmmword [eax + ecx*4]
movdqa xmm7, xmm5
punpcklwd xmm5, xmm0
punpckhwd xmm7, xmm0
movups xmmword [esp + 0x20], xmm6
movdqa xmm6, xmm1
punpcklwd xmm1, xmm0
punpckhwd xmm6, xmm0
paddd xmm1, xmm5
movdqa xmm5, xmm3
punpcklwd xmm3, xmm0
paddd xmm6, xmm7
movdqa xmm7, xmm4
punpckhwd xmm5, xmm0
punpcklwd xmm4, xmm0
movdqu xmmword [esp + 0x70], xmm1
pxor xmm1, xmm1
punpckhwd xmm7, xmm0
paddd xmm3, xmm4
paddd xmm5, xmm7
movdqa xmm7, xmm2
punpckhwd xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x20]
movdqa xmm4, xmm0
punpckhwd xmm4, xmmword [0x101d6860]
mov eax, dword [esp + 0x30]
paddd xmm4, xmm7
movaps xmm7, xmmword [eax + ecx*4]
movups xmmword [esp + 0x50], xmm7
punpcklwd xmm2, xmmword [0x101d6860]
punpcklwd xmm0, xmmword [0x101d6860]
paddd xmm0, xmm2
movdqu xmmword [esp + 0x20], xmm0
movdqu xmm0, xmmword [esp + 0x50]
punpckhwd xmm0, xmmword [0x101d6860]
mov eax, dword [esp + 0x18]
movdqa xmm7, xmmword [eax + ecx*4]
mov eax, esi
movdqa xmm2, xmm7
punpcklwd xmm7, xmm1
movdqa xmm1, xmmword [0x101e0be0]
punpckhwd xmm2, xmmword [0x101d6860]
paddd xmm2, xmm0
movdqu xmm0, xmmword [esp + 0x50]
punpcklwd xmm0, xmmword [0x101d6860]
psubd xmm6, xmmword [0x101e0bf0]
psubd xmm5, xmmword [0x101e0bf0]
paddd xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x70]
psrld xmm6, 1
psrld xmm5, 1
pand xmm6, xmmword [0x101e0be0]
pand xmm5, xmmword [0x101e0be0]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm3, xmmword [0x101e0bf0]
psubd xmm4, xmmword [0x101e0bf0]
psubd xmm2, xmmword [0x101e0bf0]
paddd xmm5, xmm6
psrld xmm0, 1
psrld xmm3, 1
psrld xmm4, 1
psrld xmm2, 1
pand xmm0, xmmword [0x101e0be0]
pand xmm3, xmmword [0x101e0be0]
pand xmm4, xmm1
pand xmm2, xmm1
paddd xmm2, xmm4
paddd xmm3, xmm0
movdqu xmm0, xmmword [esp + 0x20]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm7, xmmword [0x101e0bf0]
psubd xmm5, xmmword [0x101e0bf0]
psubd xmm2, xmmword [0x101e0bf0]
psubd xmm3, xmmword [0x101e0bf0]
psrld xmm0, 1
psrld xmm7, 1
psrld xmm5, 1
psrld xmm2, 1
psrld xmm3, 1
pand xmm0, xmm1
pand xmm7, xmm1
pand xmm5, xmm1
pand xmm2, xmm1
pand xmm3, xmm1
paddd xmm7, xmm0
paddd xmm2, xmm5
psubd xmm7, xmmword [0x101e0bf0]
psrld xmm7, 1
pand xmm7, xmm1
pcmpeqd xmm1, xmm1
paddd xmm7, xmm3
psubd xmm2, xmm1
psubd xmm7, xmm1
psrld xmm2, 1
psrld xmm7, 1
pslld xmm2, 0x10
pslld xmm7, 0x10
psrad xmm2, 0x10
psrad xmm7, 0x10
packssdw xmm7, xmm2
movdqa xmmword [edi + ecx*4], xmm7
add ecx, 4
cmp ecx, esi
jl 0x100caca1
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x1c]
inc ecx
add ebx, eax
add ebp, eax
add dword [esp], eax
add edx, eax
add dword [esp + 0xc], eax
add dword [esp + 0x40], eax
add dword [esp + 0x30], eax
add dword [esp + 0x18], eax
cmp ecx, dword [esp + 4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x60], ecx
jne 0x100cac8b
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x150], 0
mov ecx, dword [esp + 8]
mov eax, dword [esp]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test ecx, ecx
jle 0x100cb48c
xor edi, edi
mov esi, dword [esp + 0xc]
movdqa xmm2, xmmword [eax + edi*4]
movdqa xmm6, xmmword [edx + edi*4]
movdqa xmm1, xmmword [ebx + edi*4]
movdqa xmm4, xmmword [ebp + edi*4]
movdqa xmm0, xmmword [esi + edi*4]
mov esi, ecx
mov ecx, dword [esp + 0x40]
movdqa xmm3, xmm2
movdqa xmm7, xmm6
movdqa xmm5, xmmword [ecx + edi*4]
punpckhwd xmm3, xmmword [0x101d6860]
punpcklwd xmm2, xmmword [0x101d6860]
punpckhwd xmm7, xmmword [0x101d6860]
paddd xmm7, xmm3
movdqa xmm3, xmm4
movdqu xmmword [esp + 0xf0], xmm7
punpcklwd xmm6, xmmword [0x101d6860]
paddd xmm6, xmm2
movdqa xmm2, xmm1
movdqu xmmword [esp + 0x80], xmm6
punpckhwd xmm2, xmmword [0x101d6860]
punpcklwd xmm1, xmmword [0x101d6860]
punpckhwd xmm3, xmmword [0x101d6860]
paddd xmm3, xmm2
movdqa xmm2, xmm5
movdqu xmmword [esp + 0x50], xmm3
punpcklwd xmm4, xmmword [0x101d6860]
paddd xmm4, xmm1
movdqa xmm1, xmm0
movdqu xmmword [esp + 0x20], xmm4
punpckhwd xmm1, xmmword [0x101d6860]
punpckhwd xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0x30]
paddd xmm2, xmm1
movdqa xmm1, xmmword [ecx + edi*4]
movdqu xmmword [esp + 0x100], xmm2
punpcklwd xmm0, xmmword [0x101d6860]
punpcklwd xmm5, xmmword [0x101d6860]
paddd xmm5, xmm0
movdqa xmm0, xmm1
movdqu xmmword [esp + 0x110], xmm5
punpckhwd xmm0, xmmword [0x101d6860]
mov ecx, dword [esp + 0x18]
movdqa xmm4, xmmword [ecx + edi*4]
movdqa xmm6, xmm4
punpckhwd xmm6, xmmword [0x101d6860]
punpcklwd xmm1, xmmword [0x101d6860]
punpcklwd xmm4, xmmword [0x101d6860]
mov ecx, dword [esp + 0x70]
paddd xmm6, xmm0
movdqa xmm0, xmmword [ecx + edi*4]
paddd xmm4, xmm1
movdqa xmm1, xmm0
punpckhwd xmm1, xmmword [0x101d6860]
mov ecx, dword [esp + 0x60]
movdqa xmm2, xmmword [ecx + edi*4]
movdqa xmm3, xmm2
punpckhwd xmm3, xmmword [0x101d6860]
paddd xmm3, xmm1
movdqu xmmword [esp + 0x130], xmm3
punpcklwd xmm0, xmmword [0x101d6860]
punpcklwd xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0x90]
paddd xmm2, xmm0
movdqa xmm0, xmmword [ecx + edi*4]
movdqu xmmword [esp + 0x120], xmm2
movdqa xmm1, xmm0
punpckhwd xmm1, xmmword [0x101d6860]
mov ecx, dword [esp + 0xa0]
movdqa xmm5, xmmword [ecx + edi*4]
movdqa xmm2, xmm5
punpckhwd xmm2, xmmword [0x101d6860]
paddd xmm2, xmm1
movdqu xmmword [esp + 0x160], xmm2
punpcklwd xmm0, xmmword [0x101d6860]
punpcklwd xmm5, xmmword [0x101d6860]
mov ecx, dword [esp + 0xb0]
paddd xmm5, xmm0
movdqa xmm0, xmmword [ecx + edi*4]
movdqa xmm1, xmm0
punpckhwd xmm1, xmmword [0x101d6860]
mov ecx, dword [esp + 0xe0]
movdqa xmm2, xmmword [ecx + edi*4]
movdqa xmm3, xmm2
punpckhwd xmm3, xmmword [0x101d6860]
paddd xmm3, xmm1
movdqu xmmword [esp + 0x170], xmm3
punpcklwd xmm0, xmmword [0x101d6860]
punpcklwd xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0xd0]
paddd xmm2, xmm0
movdqa xmm0, xmmword [ecx + edi*4]
movdqu xmmword [esp + 0x180], xmm2
movdqa xmm2, xmm0
punpckhwd xmm2, xmmword [0x101d6860]
mov ecx, dword [esp + 0xc0]
movdqa xmm1, xmmword [ecx + edi*4]
mov ecx, esi
movdqa xmm3, xmm1
punpckhwd xmm3, xmmword [0x101d6860]
paddd xmm3, xmm2
pxor xmm2, xmm2
punpcklwd xmm0, xmm2
punpcklwd xmm1, xmm2
pcmpeqd xmm2, xmm2
paddd xmm1, xmm0
movdqu xmm0, xmmword [esp + 0xf0]
psubd xmm0, xmm2
pcmpeqd xmm2, xmm2
psrld xmm0, 1
movdqa xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x50]
psubd xmm0, xmm2
movdqa xmm2, xmm7
movdqa xmm7, xmmword [0x101e0be0]
pand xmm2, xmmword [0x101e0be0]
psrld xmm0, 1
pand xmm0, xmm7
paddd xmm0, xmm2
movdqu xmm2, xmmword [esp + 0x80]
movdqu xmmword [esp + 0x50], xmm0
psubd xmm2, xmmword [0x101e0bf0]
movdqu xmm0, xmmword [esp + 0x20]
psubd xmm0, xmmword [0x101e0bf0]
psrld xmm2, 1
pand xmm2, xmm7
psrld xmm0, 1
pand xmm0, xmm7
pcmpeqd xmm7, xmm7
paddd xmm0, xmm2
pcmpeqd xmm2, xmm2
psubd xmm4, xmm7
movdqu xmmword [esp + 0x20], xmm0
movdqu xmm0, xmmword [esp + 0x100]
psubd xmm6, xmm2
psrld xmm4, 1
psrld xmm6, 1
psubd xmm0, xmm2
movdqa xmm2, xmmword [0x101e0be0]
psrld xmm0, 1
pand xmm0, xmm2
pand xmm6, xmm2
pand xmm4, xmm2
paddd xmm6, xmm0
movdqu xmm0, xmmword [esp + 0x110]
psubd xmm0, xmm7
psrld xmm0, 1
pand xmm0, xmm2
paddd xmm4, xmm0
movdqu xmm0, xmmword [esp + 0x130]
psubd xmm0, xmm7
movdqu xmm7, xmmword [esp + 0x160]
psrld xmm0, 1
pand xmm0, xmm2
psubd xmm7, xmmword [0x101e0bf0]
psrld xmm7, 1
pand xmm7, xmm2
paddd xmm7, xmm0
movdqu xmm0, xmmword [esp + 0x120]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm5, xmmword [0x101e0bf0]
psrld xmm0, 1
psrld xmm5, 1
pand xmm0, xmm2
pand xmm5, xmm2
paddd xmm5, xmm0
movdqu xmm0, xmmword [esp + 0x170]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm3, xmmword [0x101e0bf0]
psrld xmm0, 1
psrld xmm3, 1
pand xmm0, xmm2
pand xmm3, xmm2
pcmpeqd xmm2, xmm2
paddd xmm3, xmm0
movdqu xmm0, xmmword [esp + 0x180]
psubd xmm0, xmm2
pcmpeqd xmm2, xmm2
psubd xmm1, xmm2
movdqa xmm2, xmmword [0x101e0be0]
psrld xmm0, 1
psrld xmm1, 1
pand xmm0, xmm2
pand xmm1, xmm2
paddd xmm1, xmm0
movdqu xmm0, xmmword [esp + 0x50]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm6, xmmword [0x101e0bf0]
psrld xmm0, 1
psrld xmm6, 1
pand xmm0, xmm2
pand xmm6, xmm2
paddd xmm6, xmm0
movdqu xmm0, xmmword [esp + 0x20]
psubd xmm0, xmmword [0x101e0bf0]
psubd xmm4, xmmword [0x101e0bf0]
psrld xmm0, 1
psrld xmm4, 1
pand xmm0, xmm2
pand xmm4, xmm2
paddd xmm4, xmm0
pcmpeqd xmm0, xmm0
psubd xmm7, xmm0
psubd xmm3, xmm0
pcmpeqd xmm0, xmm0
psrld xmm7, 1
psrld xmm3, 1
psubd xmm5, xmm0
psubd xmm1, xmm0
psubd xmm6, xmm0
psrld xmm5, 1
psrld xmm1, 1
pand xmm7, xmm2
pand xmm3, xmm2
psrld xmm6, 1
paddd xmm3, xmm7
pand xmm5, xmm2
pand xmm1, xmm2
pand xmm6, xmm2
psubd xmm3, xmm0
pcmpeqd xmm0, xmm0
paddd xmm1, xmm5
psubd xmm4, xmm0
psubd xmm1, xmm0
psrld xmm3, 1
psrld xmm4, 1
psrld xmm1, 1
pand xmm3, xmm2
pand xmm4, xmm2
pand xmm1, xmm2
paddd xmm3, xmm6
paddd xmm1, xmm4
psubd xmm3, xmm0
psubd xmm1, xmm0
psrld xmm3, 1
psrld xmm1, 1
pslld xmm3, 0x10
pslld xmm1, 0x10
psrad xmm3, 0x10
psrad xmm1, 0x10
packssdw xmm1, xmm3
movdqa xmmword [eax + edi*4], xmm1
add edi, 4
cmp edi, esi
jl 0x100caf55
mov ecx, dword [esp + 0x1c]
add eax, ecx
add ebx, ecx
add ebp, ecx
add edx, ecx
add dword [esp + 0xc], ecx
add dword [esp + 0x40], ecx
add dword [esp + 0x30], ecx
add dword [esp + 0x18], ecx
add dword [esp + 0x70], ecx
add dword [esp + 0x60], ecx
add dword [esp + 0x90], ecx
add dword [esp + 0xa0], ecx
add dword [esp + 0xb0], ecx
add dword [esp + 0xe0], ecx
add dword [esp + 0xd0], ecx
add dword [esp + 0xc0], ecx
mov dword [esp], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
inc eax
cmp eax, dword [esp + 4]
mov dword [esp + 0x150], eax
jne 0x100caf3c
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
movss xmm0, dword [0x101e0ba8]
xor esi, esi
lea edx, [ecx + ecx]
lea eax, [eax + eax]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x40], edx
mov dword [esp + 0x30], ecx
cmp dword [esp + 8], 0
jle 0x100cb57c
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
lea ebx, [edx + ecx]
mov ecx, dword [esp + 0x40]
lea ebp, [edx + ecx]
mov ecx, dword [esp + 0x30]
lea ecx, [edx + ecx]
xor edx, edx
mov edi, dword [esp]
movss xmm2, dword [ebp + edx*4]
movss xmm1, dword [edi + edx*4]
addss xmm2, dword [ecx + edx*4]
addss xmm1, dword [ebx + edx*4]
addss xmm2, xmm1
mulss xmm2, xmm0
movss dword [edi + edx*4], xmm2
inc edx
cmp edx, eax
jl 0x100cb552
mov ecx, dword [esp]
inc esi
add ecx, dword [esp + 0x1c]
cmp esi, dword [esp + 4]
mov dword [esp], ecx
jne 0x100cb531
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
movss xmm0, dword [0x101e0ba4]
mov dword [esp + 0x20], 0
lea eax, [eax + eax]
mov dword [esp + 0x70], eax
cmp dword [esp + 8], 0
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x30], edx
jle 0x100cb62b
xor edx, edx
mov ecx, dword [esp + 0xc]
mov edi, dword [esp]
movss xmm2, dword [esi + edx*4]
movss xmm3, dword [ecx + edx*4]
mov ecx, dword [esp + 0x30]
movss xmm1, dword [edi + edx*4]
addss xmm2, dword [ebp + edx*4]
movss xmm4, dword [ecx + edx*4]
mov ecx, dword [esp + 0x40]
addss xmm1, dword [eax + edx*4]
addss xmm3, dword [ecx + edx*4]
mov ecx, dword [esp + 0x18]
addss xmm2, xmm1
addss xmm4, dword [ecx + edx*4]
addss xmm4, xmm3
addss xmm4, xmm2
mulss xmm4, xmm0
movss dword [edi + edx*4], xmm4
inc edx
cmp edx, ebx
jl 0x100cb5d5
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
add eax, edx
add esi, edx
add ebp, edx
add dword [esp], edx
add dword [esp + 0xc], edx
add dword [esp + 0x40], edx
add ecx, edx
add dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
inc edx
cmp edx, dword [esp + 4]
mov dword [esp + 0x20], edx
mov edx, ecx
jne 0x100cb5b8
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
movss xmm0, dword [0x101e0ba0]
mov dword [esp + 0x80], 0
lea eax, [eax + eax]
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], edx
cmp dword [esp + 8], 0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xe0]
mov edi, dword [esp + 0x50]
jle 0x100cb794
xor eax, eax
mov dword [esp + 0xc], ecx
mov esi, dword [esp]
movss xmm4, dword [ecx + eax*4]
mov ecx, edx
mov edx, ebx
mov ebp, dword [esp + 0xd0]
mov edx, ecx
mov ecx, dword [esp + 0x14]
movss xmm2, dword [esi + eax*4]
mov esi, edi
mov edi, dword [esp + 0x10]
movss xmm5, dword [ebp + eax*4]
mov ebp, dword [esp]
movss xmm3, dword [edi + eax*4]
mov edi, esi
mov esi, dword [esp + 0x30]
addss xmm2, dword [edi + eax*4]
addss xmm3, dword [ecx + eax*4]
mov ecx, dword [esp + 0x70]
movss xmm1, dword [esi + eax*4]
mov esi, dword [esp + 0xc0]
movss xmm7, dword [ecx + eax*4]
mov ecx, dword [esp + 0x40]
addss xmm3, xmm2
addss xmm5, dword [esi + eax*4]
mov esi, dword [esp + 0x20]
addss xmm4, dword [ecx + eax*4]
mov ecx, dword [esp + 0x18]
addss xmm1, dword [ecx + eax*4]
mov ecx, dword [esp + 0x90]
movss xmm6, dword [ecx + eax*4]
mov ecx, dword [esp + 0x60]
addss xmm1, xmm4
addss xmm1, xmm3
movss xmm3, dword [edx + eax*4]
addss xmm7, dword [ecx + eax*4]
mov ecx, dword [esp + 0xa0]
addss xmm3, dword [ebx + eax*4]
addss xmm6, dword [ecx + eax*4]
mov ecx, dword [esp + 0xc]
addss xmm5, xmm3
addss xmm6, xmm7
addss xmm5, xmm6
addss xmm5, xmm1
mulss xmm5, xmm0
movss dword [ebp + eax*4], xmm5
inc eax
cmp eax, esi
jl 0x100cb6c4
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
add edx, eax
add edi, eax
add ecx, eax
add ebx, eax
add dword [esp], eax
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
add dword [esp + 0x40], eax
add esi, eax
add dword [esp + 0x18], eax
add dword [esp + 0x70], eax
add dword [esp + 0x60], eax
add dword [esp + 0x90], eax
add dword [esp + 0xa0], eax
add dword [esp + 0xd0], eax
add dword [esp + 0xc0], eax
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x50], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0xe0], ebx
inc edx
cmp edx, dword [esp + 4]
mov dword [esp + 0x80], edx
mov edx, esi
jne 0x100cb699
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
mov dword [esp + 0xc], 0
lea eax, [eax + eax]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
lea ecx, [eax + eax]
lea eax, [eax + eax*2]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x50], eax
cmp dword [esp + 8], 0
mov esi, dword [esp + 0x10]
jle 0x100cb8ee
mov eax, dword [esp + 0x20]
mov ecx, dword [esp]
xor edx, edx
lea eax, [ecx + eax]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x14]
lea eax, [ecx + eax]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x50]
lea eax, [ecx + eax]
mov dword [esp + 0x18], eax
mov ebp, dword [esp]
mov eax, dword [esp + 0x40]
mov ecx, esi
mov esi, dword [eax + edx*4]
mov edi, dword [ebp + edx*4]
mov eax, dword [esp + 0x30]
mov ebx, esi
xor esi, edi
mov eax, dword [eax + edx*4]
and ebx, edi
mov edi, esi
and esi, 0x10001
add esi, ebx
mov ebx, dword [esp + 0x18]
shr edi, 1
and edi, 0x7fff7fff
add esi, edi
mov ebx, dword [ebx + edx*4]
mov edi, ebx
xor ebx, eax
and edi, eax
mov eax, ebx
and ebx, 0x10001
shr eax, 1
add ebx, edi
and eax, 0x7fff7fff
add ebx, eax
mov eax, ebx
xor ebx, esi
and eax, esi
mov esi, ebx
and ebx, 0x10001
shr esi, 1
add ebx, eax
and esi, 0x7fff7fff
add ebx, esi
mov esi, ecx
mov dword [ebp + edx*4], ebx
inc edx
cmp edx, ecx
jl 0x100cb878
mov ecx, dword [esp + 0xc]
mov eax, dword [esp]
inc ecx
add eax, dword [esp + 0x1c]
cmp ecx, dword [esp + 4]
mov dword [esp + 0xc], ecx
mov dword [esp], eax
jne 0x100cb843
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
mov dword [esp + 0xa0], 0
lea eax, [eax + eax]
mov dword [esp + 0x90], eax
cmp dword [esp + 8], 0
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x30], ebp
jle 0x100cba7b
xor ebx, ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov eax, dword [esp]
mov ecx, dword [edx + ebx*4]
mov edx, dword [esi + ebx*4]
mov dword [esp + 0x20], ebx
mov edi, dword [eax + ebx*4]
mov eax, dword [esp + 0x10]
mov esi, ecx
mov dword [esp + 0x70], edx
mov ebp, dword [eax + ebx*4]
mov eax, dword [esp + 0x14]
xor ecx, edi
and esi, edi
mov edx, ecx
and ecx, 0x10001
add ecx, esi
mov esi, dword [esp + 0x40]
shr edx, 1
and edx, 0x7fff7fff
mov eax, dword [eax + ebx*4]
add ecx, edx
mov edi, dword [esi + ebx*4]
mov edx, eax
xor eax, ebp
mov esi, eax
and edx, ebp
and eax, 0x10001
add eax, edx
mov edx, dword [esp + 0x30]
shr esi, 1
and esi, 0x7fff7fff
add eax, esi
mov esi, edi
mov edx, dword [edx + ebx*4]
mov dword [esp + 0x60], edx
mov edx, ebx
mov ebx, dword [esp + 0x70]
xor edi, ebx
and esi, ebx
mov ebx, edi
and edi, 0x10001
add edi, esi
mov esi, dword [esp + 0x18]
shr ebx, 1
and ebx, 0x7fff7fff
add edi, ebx
mov ebp, dword [esi + edx*4]
mov edx, dword [esp + 0x60]
mov esi, ebp
xor ebp, edx
and esi, edx
mov edx, ebp
and ebp, 0x10001
shr edx, 1
add ebp, esi
mov esi, dword [esp + 0xc]
and edx, 0x7fff7fff
add ebp, edx
mov edx, eax
xor eax, ecx
and edx, ecx
mov ecx, eax
and eax, 0x10001
shr ecx, 1
add eax, edx
and ecx, 0x7fff7fff
add eax, ecx
mov ecx, ebp
xor ebp, edi
mov edx, ebp
and ecx, edi
and ebp, 0x10001
mov edi, dword [esp + 0x20]
shr edx, 1
add ebp, ecx
and edx, 0x7fff7fff
add ebp, edx
mov edx, dword [esp + 0x50]
mov ecx, ebp
xor ebp, eax
and ecx, eax
mov eax, ebp
and ebp, 0x10001
add ebp, ecx
mov ecx, dword [esp]
shr eax, 1
and eax, 0x7fff7fff
add ebp, eax
mov eax, dword [esp + 0x90]
mov dword [ecx + edi*4], ebp
mov ecx, dword [esp + 0x10]
mov ebp, edi
inc ebp
mov ebx, ebp
cmp ebp, eax
jl 0x100cb959
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x30]
add ecx, eax
add esi, eax
add dword [esp], eax
add edx, eax
add dword [esp + 0x14], eax
add dword [esp + 0x40], eax
add ebp, eax
add dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xc], esi
inc ecx
cmp ecx, dword [esp + 4]
mov dword [esp + 0xa0], ecx
jne 0x100cb934
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 8]
mov dword [esp + 0x130], 0
lea eax, [eax + eax]
mov dword [esp + 0x120], eax
cmp dword [esp + 8], 0
mov ebx, dword [esp + 0x10]
mov esi, edx
jle 0x100cbda7
xor ecx, ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x10], ebx
mov eax, dword [esp]
mov edi, dword [esi + ecx*4]
mov esi, dword [esp + 0x40]
mov edx, dword [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xf0], eax
mov eax, dword [esi + ecx*4]
mov esi, ecx
mov ebp, dword [ebp + esi*4]
mov dword [esp + 0x110], esi
mov dword [esp + 0x20], eax
mov eax, edi
xor edi, edx
mov ecx, edi
and eax, edx
and edi, 0x10001
mov edx, dword [esp + 0x70]
add edi, eax
mov eax, dword [esp + 0x80]
shr ecx, 1
and ecx, 0x7fff7fff
add edi, ecx
mov dword [esp + 0x100], edi
mov edi, dword [esp + 0x20]
mov ecx, eax
xor eax, ebx
and ecx, ebx
mov ebx, eax
and eax, 0x10001
shr ebx, 1
add eax, ecx
mov ecx, dword [esp + 0x18]
and ebx, 0x7fff7fff
add eax, ebx
mov ebx, edi
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xf0]
mov ecx, dword [ecx + esi*4]
xor edi, eax
and ebx, eax
mov eax, edi
and edi, 0x10001
shr eax, 1
add edi, ebx
mov ebx, dword [edx + esi*4]
and eax, 0x7fff7fff
add edi, eax
mov eax, ecx
xor ecx, ebp
mov dword [esp + 0x20], edi
mov edi, ecx
and eax, ebp
and ecx, 0x10001
add ecx, eax
mov eax, dword [esp + 0x60]
shr edi, 1
and edi, 0x7fff7fff
add ecx, edi
mov edx, dword [eax + esi*4]
mov eax, dword [esp + 0x90]
mov edi, edx
xor edx, ebx
and edi, ebx
mov ebx, edx
and edx, 0x10001
add edx, edi
mov edi, dword [eax + esi*4]
mov eax, dword [esp + 0xa0]
shr ebx, 1
and ebx, 0x7fff7fff
add edx, ebx
mov ebx, dword [eax + esi*4]
mov eax, dword [esp + 0xb0]
mov ebp, ebx
xor ebx, edi
and ebp, edi
mov edi, ebx
and ebx, 0x10001
shr edi, 1
add ebx, ebp
and edi, 0x7fff7fff
add ebx, edi
mov edi, dword [eax + esi*4]
mov eax, dword [esp + 0xe0]
mov ebp, dword [eax + esi*4]
mov eax, ebp
xor ebp, edi
and eax, edi
mov edi, ebp
and ebp, 0x10001
add ebp, eax
mov eax, dword [esp + 0xd0]
shr edi, 1
and edi, 0x7fff7fff
add ebp, edi
mov eax, dword [eax + esi*4]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xc0]
mov edi, dword [eax + esi*4]
mov eax, dword [esp + 0xf0]
mov esi, edi
xor edi, eax
and esi, eax
mov eax, edi
and edi, 0x10001
shr eax, 1
add edi, esi
mov esi, dword [esp + 0x100]
and eax, 0x7fff7fff
add edi, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x80], ecx
mov dword [esp + 0xf0], eax
xor eax, esi
and dword [esp + 0xf0], esi
mov esi, eax
and eax, 0x10001
add eax, dword [esp + 0xf0]
shr esi, 1
and esi, 0x7fff7fff
add eax, esi
mov esi, dword [esp + 0x20]
xor ecx, esi
and dword [esp + 0x80], esi
mov esi, ecx
and ecx, 0x10001
add ecx, dword [esp + 0x80]
shr esi, 1
and esi, 0x7fff7fff
add ecx, esi
mov esi, ebx
xor ebx, edx
and esi, edx
mov edx, ebx
and ebx, 0x10001
shr edx, 1
add ebx, esi
mov esi, edi
xor edi, ebp
and edx, 0x7fff7fff
and esi, ebp
mov ebp, dword [esp + 0x30]
add ebx, edx
mov edx, edi
and edi, 0x10001
shr edx, 1
add edi, esi
mov esi, ecx
xor ecx, eax
and edx, 0x7fff7fff
and esi, eax
add edi, edx
mov edx, ecx
and ecx, 0x10001
shr edx, 1
mov eax, edi
add ecx, esi
xor edi, ebx
mov esi, dword [esp + 0x50]
and edx, 0x7fff7fff
and eax, ebx
mov ebx, dword [esp + 0x10]
add ecx, edx
mov edx, edi
and edi, 0x10001
shr edx, 1
add edi, eax
and edx, 0x7fff7fff
add edi, edx
mov edx, dword [esp + 0x110]
mov eax, edi
xor edi, ecx
and eax, ecx
mov ecx, edi
and edi, 0x10001
shr ecx, 1
add edi, eax
and ecx, 0x7fff7fff
add edi, ecx
mov ecx, dword [esp]
mov dword [ecx + edx*4], edi
mov edi, dword [esp + 0x120]
inc edx
mov ecx, edx
cmp edx, edi
jl 0x100cbb03
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x1c]
inc ecx
add esi, eax
add ebx, eax
add dword [esp], eax
add dword [esp + 0x14], eax
add dword [esp + 0xc], eax
add dword [esp + 0x40], eax
add ebp, eax
add dword [esp + 0x18], eax
add dword [esp + 0x70], eax
add dword [esp + 0x60], eax
add dword [esp + 0x90], eax
add dword [esp + 0xa0], eax
add dword [esp + 0xb0], eax
add dword [esp + 0xe0], eax
add dword [esp + 0xd0], eax
add dword [esp + 0xc0], eax
cmp ecx, dword [esp + 4]
mov edx, esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x130], ecx
jne 0x100cbae4
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], 0
lea eax, [eax + eax*2]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov eax, dword [esp + 0x20]
test ecx, ecx
mov esi, ecx
jle 0x100cbeb3
movzx ebp, word [edx + eax]
movzx edi, word [edx]
movzx ecx, word [edx + eax*2]
mov ebx, ebp
and ebp, edi
xor ebx, edi
mov edi, ebx
and ebx, 0x821
add ebx, ebp
mov ebp, dword [esp + 0x40]
shr edi, 1
and edi, 0x7bef
add ebx, edi
movzx ebp, word [edx + ebp]
mov edi, ebp
and ebp, ecx
xor edi, ecx
mov ecx, edi
and edi, 0x821
shr ecx, 1
add edi, ebp
and ecx, 0x7bef
add edi, ecx
mov ecx, edi
xor edi, ebx
mov ebp, edi
and ecx, ebx
and edi, 0x821
shr ebp, 1
add edi, ecx
and ebp, 0x7bef
add edi, ebp
mov word [edx], di
add edx, 2
dec esi
jne 0x100cbe49
mov ecx, dword [esp + 0x30]
mov eax, dword [esp]
inc ecx
add eax, dword [esp + 0x1c]
cmp ecx, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
jne 0x100cbe38
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x60], 0
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x30], edx
test eax, eax
jle 0x100cc030
xor ebp, ebp
mov dword [esp + 0x50], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x14], esi
mov eax, dword [esp]
movzx edi, word [eax + ebp*2]
mov eax, dword [esp + 0x50]
movzx ebx, word [eax + ebp*2]
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + ebp*2]
mov eax, dword [esp + 0x14]
mov edx, ebx
and ebx, edi
xor edx, edi
mov edi, edx
and edx, 0x821
add edx, ebx
mov ebx, dword [esp + 0xc]
shr edi, 1
movzx esi, word [eax + ebp*2]
and edi, 0x7bef
add edx, edi
mov edi, dword [esp + 0x40]
movzx ebx, word [ebx + ebp*2]
mov eax, esi
and esi, ecx
xor eax, ecx
movzx edi, word [edi + ebp*2]
mov ecx, eax
and eax, 0x821
shr ecx, 1
add eax, esi
mov dword [esp + 0x20], ebx
and ecx, 0x7bef
mov esi, dword [esp + 0x20]
add eax, ecx
mov ecx, dword [esp + 0x30]
mov ebx, edi
xor ebx, esi
and edi, esi
movzx ecx, word [ecx + ebp*2]
mov esi, ebx
and ebx, 0x821
shr esi, 1
add ebx, edi
and esi, 0x7bef
add ebx, esi
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x70]
movzx ecx, word [ecx + ebp*2]
mov edi, ecx
and ecx, esi
xor edi, esi
mov esi, edi
and edi, 0x821
shr esi, 1
add edi, ecx
mov ecx, eax
xor eax, edx
and esi, 0x7bef
and ecx, edx
mov edx, eax
and eax, 0x821
shr edx, 1
add edi, esi
add eax, ecx
mov esi, dword [esp + 0x14]
mov ecx, edi
and edx, 0x7bef
xor edi, ebx
add eax, edx
mov edx, edi
and ecx, ebx
and edi, 0x821
mov ebx, dword [esp + 0x50]
shr edx, 1
add edi, ecx
and edx, 0x7bef
add edi, edx
mov edx, dword [esp + 8]
mov ecx, edi
xor edi, eax
and ecx, eax
mov eax, edi
and edi, 0x821
shr eax, 1
add edi, ecx
mov ecx, dword [esp + 0x40]
and eax, 0x7bef
add edi, eax
mov eax, dword [esp]
mov word [eax + ebp*2], di
inc ebp
cmp edx, ebp
jne 0x100cbf0e
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
add esi, eax
inc edx
add ecx, eax
add dword [esp], eax
add ebx, eax
add dword [esp + 0x10], eax
add dword [esp + 0xc], eax
add dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x60], edx
mov dword [esp + 0x40], ecx
add esi, eax
cmp edx, dword [esp + 4]
mov edx, esi
jne 0x100cbee8
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x130], 0
mov eax, dword [esp + 8]
mov ecx, ebx
mov esi, edx
test eax, eax
jle 0x100cc359
xor edx, edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x30], esi
mov eax, dword [esp]
movzx edi, word [ecx + edx*2]
mov dword [esp + 0x20], edx
movzx ebx, word [eax + edx*2]
mov eax, dword [esp + 0x10]
mov ecx, edi
movzx esi, word [eax + edx*2]
mov eax, dword [esp + 0x14]
xor ecx, ebx
and edi, ebx
mov ebx, ecx
and ecx, 0x821
add ecx, edi
mov edi, dword [esp + 0x40]
shr ebx, 1
and ebx, 0x7bef
movzx ebp, word [eax + edx*2]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x110], esi
add ecx, ebx
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x80], ebp
xor ebp, esi
movzx esi, word [edi + edx*2]
movzx eax, word [eax + edx*2]
mov edx, ebp
and ebp, 0x821
shr edx, 1
and edx, 0x7bef
mov edi, esi
mov dword [esp + 0x120], eax
xor edi, eax
mov eax, dword [esp + 0x80]
and esi, dword [esp + 0x120]
and eax, dword [esp + 0x110]
add ebp, eax
mov eax, dword [esp + 0x20]
add ebp, edx
mov dword [esp + 0x100], ebp
movzx ebx, word [ecx + eax*2]
mov ecx, dword [esp + 0x18]
mov ebp, eax
movzx edx, word [ecx + eax*2]
mov eax, edi
and edi, 0x821
shr eax, 1
add edi, esi
mov esi, ebp
and eax, 0x7bef
add edi, eax
mov eax, dword [esp + 0x70]
mov ecx, edx
mov dword [esp + 0x110], edi
and edx, ebx
xor ecx, ebx
mov edi, ecx
and ecx, 0x821
add ecx, edx
mov edx, dword [esp + 0x60]
movzx eax, word [eax + ebp*2]
shr edi, 1
and edi, 0x7bef
add ecx, edi
movzx ebx, word [edx + ebp*2]
mov edx, dword [esp + 0x90]
mov ebp, ebx
and ebx, eax
movzx edi, word [edx + esi*2]
mov edx, dword [esp + 0xe0]
xor ebp, eax
mov eax, ebp
and ebp, 0x821
shr eax, 1
add ebp, ebx
and eax, 0x7bef
add ebp, eax
mov eax, dword [esp + 0xa0]
movzx eax, word [eax + esi*2]
mov ebx, eax
and eax, edi
xor ebx, edi
mov edi, ebx
and ebx, 0x821
add ebx, eax
mov eax, dword [esp + 0xb0]
shr edi, 1
and edi, 0x7bef
add ebx, edi
movzx edi, word [edx + esi*2]
mov edx, esi
movzx eax, word [eax + esi*2]
mov esi, edi
xor esi, eax
and edi, eax
mov eax, esi
and esi, 0x821
shr eax, 1
add esi, edi
and eax, 0x7bef
add esi, eax
mov eax, dword [esp + 0xd0]
movzx edi, word [eax + edx*2]
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0x20]
movzx edx, word [eax + edx*2]
mov eax, edx
and edx, edi
xor eax, edi
mov edi, eax
and eax, 0x821
shr edi, 1
add eax, edx
mov edx, dword [esp + 0x100]
and edi, 0x7bef
add eax, edi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x80], edx
xor edx, edi
and dword [esp + 0x80], edi
mov edi, edx
and edx, 0x821
add edx, dword [esp + 0x80]
shr edi, 1
mov dword [esp + 0x80], ecx
and edi, 0x7bef
add edx, edi
mov edi, dword [esp + 0x110]
xor ecx, edi
and dword [esp + 0x80], edi
mov edi, ecx
and ecx, 0x821
add ecx, dword [esp + 0x80]
shr edi, 1
and edi, 0x7bef
add ecx, edi
mov edi, ebx
xor ebx, ebp
and edi, ebp
mov ebp, eax
xor eax, esi
mov dword [esp + 0x80], edi
mov edi, ebx
and ebx, 0x821
and ebp, esi
mov esi, eax
and eax, 0x821
add ebx, dword [esp + 0x80]
shr esi, 1
shr edi, 1
add eax, ebp
mov ebp, ecx
xor ecx, edx
and esi, 0x7bef
and edi, 0x7bef
and ebp, edx
add eax, esi
mov esi, ecx
and ecx, 0x821
shr esi, 1
add ecx, ebp
mov edx, eax
add ebx, edi
and esi, 0x7bef
mov edi, dword [esp + 8]
xor eax, ebx
add ecx, esi
and edx, ebx
mov ebx, dword [esp + 0x20]
mov esi, eax
and eax, 0x821
shr esi, 1
add eax, edx
and esi, 0x7bef
add eax, esi
mov esi, dword [esp + 0x30]
mov edx, eax
xor eax, ecx
and edx, ecx
mov ecx, eax
and eax, 0x821
shr ecx, 1
add eax, edx
mov edx, dword [esp]
and ecx, 0x7bef
add eax, ecx
mov ecx, dword [esp + 0x50]
mov word [edx + ebx*2], ax
inc ebx
mov edx, ebx
cmp edi, ebx
jne 0x100cc0a1
mov edx, dword [esp + 0x130]
mov eax, dword [esp + 0x1c]
inc edx
add ecx, eax
add dword [esp], eax
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
add dword [esp + 0xc], eax
add dword [esp + 0x40], eax
add esi, eax
add dword [esp + 0x18], eax
add dword [esp + 0x70], eax
add dword [esp + 0x60], eax
add dword [esp + 0x90], eax
add dword [esp + 0xa0], eax
add dword [esp + 0xb0], eax
add dword [esp + 0xe0], eax
add dword [esp + 0xd0], eax
add dword [esp + 0xc0], eax
cmp edx, dword [esp + 4]
mov dword [esp + 0x130], edx
mov ebx, ecx
mov edx, esi
jne 0x100cc087
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
movss xmm0, dword [0x101e0ba8]
xor ecx, ecx
lea eax, [eax + eax*2]
mov esi, dword [esp + 8]
mov edx, dword [esp]
mov ebx, dword [esp + 0x20]
test esi, esi
jle 0x100cc41c
movss xmm1, dword [edx]
movss xmm2, dword [edx + ebx*2]
addss xmm1, dword [edx + ebx]
addss xmm2, dword [edx + eax]
addss xmm2, xmm1
mulss xmm2, xmm0
movss dword [edx], xmm2
add edx, 4
dec esi
jne 0x100cc3f7
mov edx, dword [esp]
inc ecx
add edx, dword [esp + 0x1c]
cmp ecx, dword [esp + 4]
mov dword [esp], edx
jne 0x100cc3e8
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movss xmm0, dword [0x101e0ba4]
mov dword [esp + 0x20], 0
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], ecx
test edi, edi
jle 0x100cc4d9
xor ecx, ecx
mov dword [esp + 0x10], esi
mov edi, dword [esp]
movss xmm2, dword [esi + ecx*4]
mov esi, edx
movss xmm3, dword [ebx + ecx*4]
mov edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
movss xmm4, dword [eax + ecx*4]
movss xmm1, dword [edi + ecx*4]
mov edi, dword [esp + 0x50]
mov eax, ebx
mov ebx, edx
mov edx, esi
mov esi, dword [esp + 0x10]
addss xmm2, dword [edx + ecx*4]
addss xmm3, dword [eax + ecx*4]
addss xmm4, dword [ebp + ecx*4]
addss xmm1, dword [edi + ecx*4]
mov ebp, dword [esp]
mov edi, dword [esp + 8]
addss xmm2, xmm1
addss xmm4, xmm3
addss xmm4, xmm2
mulss xmm4, xmm0
movss dword [ebp + ecx*4], xmm4
inc ecx
cmp edi, ecx
jne 0x100cc46f
mov ecx, dword [esp + 0x1c]
add edx, ecx
add esi, ecx
add ebx, ecx
add eax, ecx
add dword [esp], ecx
add dword [esp + 0x50], ecx
add dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x40], eax
add edx, ecx
mov ecx, dword [esp + 0x20]
inc ecx
cmp ecx, dword [esp + 4]
mov dword [esp + 0x20], ecx
mov ecx, edx
jne 0x100cc44d
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
movss xmm0, dword [0x101e0ba0]
mov dword [esp + 0x20], 0
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x30], ecx
test edx, edx
jle 0x100cc61d
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edi, dword [esp]
movss xmm3, dword [ebx + eax*4]
movss xmm4, dword [ecx + eax*4]
mov ecx, dword [esp + 0x30]
movss xmm2, dword [edi + eax*4]
addss xmm3, dword [ebp + eax*4]
movss xmm1, dword [ecx + eax*4]
mov ecx, dword [esp + 0x70]
addss xmm2, dword [esi + eax*4]
movss xmm7, dword [ecx + eax*4]
mov ecx, dword [esp + 0x40]
addss xmm3, xmm2
addss xmm4, dword [ecx + eax*4]
mov ecx, dword [esp + 0x18]
addss xmm1, dword [ecx + eax*4]
mov ecx, dword [esp + 0x90]
movss xmm6, dword [ecx + eax*4]
mov ecx, dword [esp + 0xb0]
addss xmm1, xmm4
addss xmm1, xmm3
movss xmm3, dword [ecx + eax*4]
mov ecx, dword [esp + 0x60]
addss xmm7, dword [ecx + eax*4]
mov ecx, dword [esp + 0xa0]
addss xmm6, dword [ecx + eax*4]
mov ecx, dword [esp + 0xd0]
movss xmm5, dword [ecx + eax*4]
mov ecx, dword [esp + 0xe0]
addss xmm6, xmm7
addss xmm3, dword [ecx + eax*4]
mov ecx, dword [esp + 0xc0]
addss xmm5, dword [ecx + eax*4]
addss xmm5, xmm3
addss xmm5, xmm6
addss xmm5, xmm1
mulss xmm5, xmm0
movss dword [edi + eax*4], xmm5
inc eax
cmp edx, eax
jne 0x100cc559
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
inc edx
add esi, eax
add ebx, eax
add ebp, eax
add dword [esp], eax
add dword [esp + 0xc], eax
add dword [esp + 0x40], eax
add ecx, eax
add dword [esp + 0x18], eax
add dword [esp + 0x70], eax
add dword [esp + 0x60], eax
add dword [esp + 0x90], eax
add dword [esp + 0xa0], eax
add dword [esp + 0xb0], eax
add dword [esp + 0xe0], eax
add dword [esp + 0xd0], eax
add dword [esp + 0xc0], eax
cmp edx, dword [esp + 4]
mov dword [esp + 0x50], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], edx
jne 0x100cc53b
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov eax, dword [esp + 0x20]
mov dword [esp + 0x30], 0
lea eax, [eax + eax*2]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov eax, dword [esp + 0x20]
test ecx, ecx
mov esi, ecx
jle 0x100cc726
mov ebx, dword [edx + eax]
mov edi, dword [edx]
mov ebp, dword [edx + eax*2]
mov ecx, ebx
xor ebx, edi
and ecx, edi
mov edi, ebx
and ebx, 0x10001
add ebx, ecx
mov ecx, dword [esp + 0x40]
shr edi, 1
and edi, 0x7fff7fff
add ebx, edi
mov ecx, dword [edx + ecx]
mov edi, ecx
xor ecx, ebp
and edi, ebp
mov ebp, ecx
and ecx, 0x10001
shr ebp, 1
add ecx, edi
and ebp, 0x7fff7fff
add ecx, ebp
mov edi, ecx
xor ecx, ebx
mov ebp, ecx
and edi, ebx
and ecx, 0x10001
shr ebp, 1
add ecx, edi
and ebp, 0x7fff7fff
add ecx, ebp
mov dword [edx], ecx
add edx, 4
dec esi
jne 0x100cc6c1
mov ecx, dword [esp + 0x30]
mov eax, dword [esp]
inc ecx
add eax, dword [esp + 0x1c]
cmp ecx, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
jne 0x100cc6b0
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x90], 0
mov eax, dword [esp + 8]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x40]
test eax, eax
jle 0x100cc8b0
xor ecx, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], ebp
mov eax, dword [esp]
mov esi, ecx
mov edx, dword [edx + esi*4]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebx + ecx*4]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], edx
mov ebx, dword [eax + esi*4]
mov eax, dword [ebp + esi*4]
mov ebp, esi
mov esi, ecx
xor ecx, edi
mov edx, ecx
and esi, edi
and ecx, 0x10001
mov edi, ebp
add ecx, esi
mov esi, dword [esp + 0x40]
shr edx, 1
mov dword [esp + 0x20], edi
and edx, 0x7fff7fff
add ecx, edx
mov edx, eax
xor eax, ebx
and edx, ebx
mov ebp, dword [esi + ebp*4]
mov esi, eax
and eax, 0x10001
add eax, edx
mov edx, dword [esp + 0x30]
shr esi, 1
and esi, 0x7fff7fff
add eax, esi
mov esi, ebp
mov edx, dword [edx + edi*4]
mov dword [esp + 0x60], edx
mov edx, edi
mov edi, dword [esp + 0x70]
xor ebp, edi
and esi, edi
mov edi, ebp
and ebp, 0x10001
add ebp, esi
mov esi, dword [esp + 0x18]
shr edi, 1
and edi, 0x7fff7fff
add ebp, edi
mov edi, dword [esp + 0x20]
mov ebx, dword [esi + edx*4]
mov edx, dword [esp + 0x60]
mov esi, ebx
xor ebx, edx
and esi, edx
mov edx, ebx
and ebx, 0x10001
shr edx, 1
add ebx, esi
mov esi, dword [esp + 0x40]
and edx, 0x7fff7fff
add ebx, edx
mov edx, eax
xor eax, ecx
and edx, ecx
mov ecx, eax
and eax, 0x10001
shr ecx, 1
add eax, edx
and ecx, 0x7fff7fff
add eax, ecx
mov ecx, ebx
xor ebx, ebp
mov edx, ebx
and ecx, ebp
and ebx, 0x10001
mov ebp, dword [esp + 0x14]
shr edx, 1
add ebx, ecx
and edx, 0x7fff7fff
add ebx, edx
mov edx, dword [esp + 0xc]
mov ecx, ebx
xor ebx, eax
and ecx, eax
mov eax, ebx
and ebx, 0x10001
add ebx, ecx
mov ecx, dword [esp]
shr eax, 1
and eax, 0x7fff7fff
add ebx, eax
mov eax, dword [esp + 8]
mov dword [ecx + edi*4], ebx
mov ebx, dword [esp + 0x50]
inc edi
mov ecx, edi
cmp eax, edi
jne 0x100cc78c
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
add ebp, eax
inc ecx
add edx, eax
add esi, eax
add dword [esp], eax
add ebx, eax
add dword [esp + 0x10], eax
add dword [esp + 0x18], eax
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0xc], edx
mov dword [esp + 0x40], esi
mov dword [esp + 0x90], ecx
add ebp, eax
cmp ecx, dword [esp + 4]
jne 0x100cc75e
jmp case.0x100c87e1.2
cmp dword [esp + 4], 0
jle case.0x100c87e1.2
mov dword [esp + 0x120], 0
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x40]
test eax, eax
jle 0x100ccbb6
xor ecx, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x40], edx
mov eax, dword [esp]
mov esi, ebp
mov ebx, dword [ebx + ecx*4]
mov ebp, dword [eax + ecx*4]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x100], eax
mov eax, dword [edx + ecx*4]
mov edx, ebx
xor ebx, ebp
and edx, ebp
mov dword [esp + 0x80], eax
mov eax, ecx
mov ecx, ebx
and ebx, 0x10001
add ebx, edx
mov edx, dword [esi + eax*4]
mov ebp, eax
mov eax, dword [esp + 0x20]
shr ecx, 1
mov esi, dword [esp + 0x70]
and ecx, 0x7fff7fff
add ebx, ecx
mov dword [esp + 0xf0], ebx
mov ebx, dword [esp + 0x80]
mov ecx, eax
xor eax, edi
and ecx, edi
mov edi, eax
and eax, 0x10001
shr edi, 1
add eax, ecx
mov ecx, dword [esp + 0x18]
and edi, 0x7fff7fff
add eax, edi
mov edi, ebx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x100]
mov ecx, dword [ecx + ebp*4]
xor ebx, eax
and edi, eax
mov eax, ebx
and ebx, 0x10001
shr eax, 1
add ebx, edi
mov edi, dword [esi + ebp*4]
mov esi, dword [esp + 0xa0]
and eax, 0x7fff7fff
add ebx, eax
mov eax, ecx
xor ecx, edx
mov dword [esp + 0x80], ebx
mov ebx, ecx
and eax, edx
and ecx, 0x10001
add ecx, eax
mov eax, dword [esp + 0x60]
shr ebx, 1
and ebx, 0x7fff7fff
add ecx, ebx
mov ebx, dword [esi + ebp*4]
mov esi, dword [esp + 0xe0]
mov dword [esp + 0x100], ecx
mov edx, dword [eax + ebp*4]
mov eax, edx
xor edx, edi
and eax, edi
mov edi, edx
and edx, 0x10001
add edx, eax
mov eax, dword [esp + 0x90]
shr edi, 1
and edi, 0x7fff7fff
add edx, edi
mov edi, ebx
mov eax, dword [eax + ebp*4]
xor ebx, eax
and edi, eax
mov eax, ebx
and ebx, 0x10001
shr eax, 1
add ebx, edi
mov edi, dword [esi + ebp*4]
mov esi, ebp
and eax, 0x7fff7fff
mov dword [esp + 0x110], esi
add ebx, eax
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + ebp*4]
mov ebp, edi
xor edi, eax
and ebp, eax
mov eax, edi
and edi, 0x10001
shr eax, 1
add edi, ebp
and eax, 0x7fff7fff
add edi, eax
mov eax, dword [esp + 0xd0]
mov ebp, dword [eax + esi*4]
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*4]
mov esi, eax
xor eax, ebp
and esi, ebp
mov ebp, eax
and eax, 0x10001
shr ebp, 1
add eax, esi
and ebp, 0x7fff7fff
add eax, ebp
mov ebp, dword [esp + 0x20]
mov esi, ebp
xor ebp, dword [esp + 0xf0]
and esi, dword [esp + 0xf0]
mov ecx, ebp
and ebp, 0x10001
shr ecx, 1
add ebp, esi
and ecx, 0x7fff7fff
add ebp, ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x80]
mov esi, ecx
xor ecx, ebp
and esi, ebp
mov ebp, ecx
and ecx, 0x10001
add ecx, esi
mov esi, ebx
xor ebx, edx
shr ebp, 1
and esi, edx
mov edx, ebx
and ebx, 0x10001
and ebp, 0x7fff7fff
shr edx, 1
add ebx, esi
add ecx, ebp
mov ebp, dword [esp + 0x30]
and edx, 0x7fff7fff
add ebx, edx
mov edx, eax
xor eax, edi
mov esi, eax
and edx, edi
and eax, 0x10001
mov edi, dword [esp + 8]
shr esi, 1
add eax, edx
mov edx, ecx
and esi, 0x7fff7fff
add eax, esi
mov esi, dword [esp + 0x20]
xor ecx, esi
and edx, esi
mov esi, ecx
and ecx, 0x10001
shr esi, 1
add ecx, edx
mov edx, eax
xor eax, ebx
and esi, 0x7fff7fff
and edx, ebx
mov ebx, dword [esp + 0x50]
add ecx, esi
mov esi, eax
and eax, 0x10001
shr esi, 1
add eax, edx
and esi, 0x7fff7fff
add eax, esi
mov esi, dword [esp + 0x110]
mov edx, eax
xor eax, ecx
and edx, ecx
mov ecx, eax
and eax, 0x10001
shr ecx, 1
add eax, edx
mov edx, dword [esp + 0x40]
and ecx, 0x7fff7fff
add eax, ecx
mov ecx, dword [esp]
mov dword [ecx + esi*4], eax
inc esi
mov ecx, esi
cmp edi, esi
jne 0x100cc92b
mov ecx, dword [esp + 0x120]
mov eax, dword [esp + 0x1c]
inc ecx
add edx, eax
add dword [esp], eax
add ebx, eax
add dword [esp + 0x10], eax
add dword [esp + 0x14], eax
add dword [esp + 0xc], eax
add ebp, eax
add dword [esp + 0x18], eax
add dword [esp + 0x70], eax
add dword [esp + 0x60], eax
add dword [esp + 0x90], eax
add dword [esp + 0xa0], eax
add dword [esp + 0xb0], eax
add dword [esp + 0xe0], eax
add dword [esp + 0xd0], eax
add dword [esp + 0xc0], eax
cmp ecx, dword [esp + 4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x120], ecx
jne 0x100cc90d
add esp, 0x27c
pop esi
pop edi
pop ebx
pop ebp
ret