Function at 0x14008f020
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x19e8
call fcn.140259c60
sub rsp, rax
movapd xmmword [rsp + 0x19d0], xmm15
movdqa xmmword [rsp + 0x19c0], xmm14
movdqa xmmword [rsp + 0x19b0], xmm13
movdqa xmmword [rsp + 0x19a0], xmm12
movdqa xmmword [rsp + 0x1990], xmm11
movdqa xmmword [rsp + 0x1980], xmm10
movaps xmmword [rsp + 0x1970], xmm9
movaps xmmword [rsp + 0x1960], xmm8
movaps xmmword [rsp + 0x1950], xmm7
movaps xmmword [rsp + 0x1940], xmm6
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xb0], rcx
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x1938], rax
movdqu xmm0, xmmword [r9]
mov qword [rsp + 0x98], r9
movdqu xmm1, xmmword [r9 + 0x10]
movdqa xmmword [rsp + 0xb40], xmm1
movdqa xmmword [rsp + 0xb30], xmm0
mov byte [rsp + 0xb50], 0
lea rcx, [rsp + 0x1138]
lea r12, [rsp + 0xb30]
mov qword [rsp + 0x48], rcx
mov rdx, r12
call fcn.1400919c0
mov byte [rsp + 0xb50], 1
lea rcx, [rsp + 0x1338]
mov rdx, r12
call fcn.1400919c0
mov byte [rsp + 0xb50], 2
lea rcx, [rsp + 0x1538]
mov rdx, r12
call fcn.1400919c0
xor eax, eax
movdqa xmm6, xmmword [0x1402ab600]
movdqa xmm7, xmmword [0x1402ab610]
movdqa xmm8, xmmword [0x1402ab620]
pxor xmm0, xmm0
movdqa xmm9, xmmword [0x1402ab630]
xor ecx, ecx
jmp 0x14008f18e
mov rcx, qword [rsp + 0xb8]
inc rcx
add qword [rsp + 0x48], 0x200
cmp rcx, 3
je 0x14008f5fc
mov qword [rsp + 0xb8], rcx
shl rcx, 9
lea rdx, [rsp + rcx]
add rdx, 0x113a
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0xc0], rcx
lea rcx, [rsp + rcx + 0x1138]
mov qword [rsp + 0xd8], rcx
mov ecx, 1
mov r8d, 0x100
mov edx, 0x100
jmp 0x14008f1fa
mov ecx, dword [rsp + 0x2c]
add ecx, ecx
mov rdx, qword [rsp + 0x60]
mov r8d, edx
cmp ecx, 0x80
jge 0x14008f170
shr edx, 1
mov qword [rsp + 0x60], rdx
mov dword [rsp + 0x2c], ecx
test ecx, ecx
jle 0x14008f1e0
mov r9, r8
and r9d, 0x1fe
mov r8, qword [rsp + 0x60]
mov ecx, r8d
mov r10d, dword [rsp + 0x2c]
mov qword [rsp + 0xf8], rcx
lea rcx, [rcx*4]
mov qword [rsp + 0x70], rcx
lea ecx, [r8 + r8]
neg rcx
mov qword [rsp + 0xe8], rcx
mov rcx, qword [rsp + 0xc0]
or rcx, r9
mov rdx, qword [rsp + 0x68]
add rdx, r9
mov qword [rsp + 0xe0], rdx
add rcx, rsp
add rcx, 0x1138
mov qword [rsp + 0xd0], rcx
and r8d, 0xfffffff8
mov qword [rsp + 0xc8], r8
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x80], r9
lea r8, [r15 + r9]
xor edx, edx
xor r11d, r11d
mov qword [rsp + 0xf0], r10
jmp 0x14008f2d1
mov r11, qword [rsp + 0x30]
add r11, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x50]
inc rdx
mov rcx, qword [rsp + 0x70]
add r8, rcx
add r15, rcx
mov r10, qword [rsp + 0xf0]
cmp rdx, r10
je 0x14008f1e0
mov rcx, qword [rsp + 0xf8]
add rcx, r11
mov rbx, r11
or rbx, 1
cmp rcx, rbx
mov rsi, rbx
cmova rsi, rcx
mov rdi, qword [rsp + 0xe8]
imul rdi, rdx
add rsi, rdi
mov qword [rsp + 0x50], rdx
lea r9, [rdx + r10]
lea rdx, [0x1402ab750]
movzx r10d, word [rdx + r9*2]
mov qword [rsp + 0x30], r11
mov r9, r11
cmp rsi, 8
jb 0x14008f530
mov r9, qword [rsp + 0x70]
imul r9, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xe0]
lea r13, [rdx + r9]
cmp rcx, rbx
cmova rbx, rcx
add rdi, rbx
lea rbx, [rdi*2 - 2]
add rbx, r13
mov rdx, qword [rsp + 0xd8]
lea r13, [rdx + r9]
cmp r13, rbx
jae 0x14008f387
mov rdx, qword [rsp + 0xd0]
lea rbx, [rdx + r9]
add r9, qword [rsp + 0x68]
lea rdi, [r9 + rdi*2]
add rdi, 0xfffffffffffffffe
mov r9, qword [rsp + 0x30]
cmp rbx, rdi
jb 0x14008f530
mov rbp, rsi
and rbp, 0xfffffffffffffff8
mov rdx, qword [rsp + 0x30]
lea r9, [rdx + rbp]
movd xmm1, r10d
pshufd xmm1, xmm1, 0
pslld xmm1, 0x10
psrad xmm1, 0x10
packssdw xmm1, xmm1
xor edi, edi
mov rdx, qword [rsp + 0xc8]
nop dword [rax]
movdqu xmm2, xmmword [r8 + rdi*2]
movdqa xmm4, xmm1
pmulhuw xmm4, xmm2
pmullw xmm2, xmm1
movdqa xmm3, xmm2
punpcklwd xmm3, xmm4
punpckhwd xmm2, xmm4
pshufd xmm10, xmm2, 0xf6
pshufd xmm11, xmm2, 0xd4
pshufd xmm5, xmm3, 0xf6
pshufd xmm4, xmm3, 0xd4
pmuludq xmm4, xmm6
pmuludq xmm5, xmm6
pmuludq xmm11, xmm6
pmuludq xmm10, xmm6
psrlq xmm10, 0x18
psrlq xmm11, 0x18
psrlq xmm5, 0x18
psrlq xmm4, 0x18
movdqa xmm12, xmm4
punpcklqdq xmm12, xmm5
movdqa xmm13, xmm11
punpcklqdq xmm13, xmm10
punpckhqdq xmm11, xmm10
pmuludq xmm11, xmm7
pshufd xmm10, xmm11, 0xe8
pmuludq xmm13, xmm7
pshufd xmm11, xmm13, 0xe8
punpckldq xmm11, xmm10
punpckhqdq xmm4, xmm5
pmuludq xmm4, xmm7
pshufd xmm4, xmm4, 0xe8
pmuludq xmm12, xmm7
pshufd xmm5, xmm12, 0xe8
punpckldq xmm5, xmm4
paddd xmm5, xmm3
paddd xmm11, xmm2
pslld xmm11, 0x10
psrad xmm11, 0x10
pslld xmm5, 0x10
psrad xmm5, 0x10
packssdw xmm5, xmm11
movdqa xmm2, xmm5
paddw xmm2, xmm8
movdqa xmm3, xmm2
psraw xmm3, 0xf
pand xmm3, xmm5
pmaxsw xmm2, xmm0
por xmm2, xmm3
movdqu xmm3, xmmword [r15 + rdi*2]
movdqa xmm4, xmm2
paddw xmm4, xmm3
movdqa xmm5, xmm4
paddw xmm5, xmm8
movdqa xmm10, xmm5
psraw xmm10, 0xf
pand xmm10, xmm4
pmaxsw xmm5, xmm0
por xmm5, xmm10
movdqu xmmword [r15 + rdi*2], xmm5
psubw xmm3, xmm2
movdqa xmm2, xmm3
paddw xmm2, xmm9
movdqa xmm4, xmm3
psraw xmm4, 0xf
pand xmm4, xmm2
pmaxsw xmm3, xmm0
por xmm3, xmm4
movdqu xmmword [r8 + rdi*2], xmm3
add rdi, 8
cmp rdx, rdi
jne 0x14008f3c0
cmp rsi, rbp
je 0x14008f2a0
nop word cs:[rax + rax]
mov rdx, qword [rsp + 0x48]
lea rsi, [rdx + r9*2]
mov rdx, qword [rsp + 0x80]
lea rdi, [rsi + rdx]
xor ebp, ebp
nop word [rax + rax]
movzx ebx, word [rdi + rbp*2]
imul ebx, r10d
imul r13, rbx, 0x13af
shr r13, 0x18
imul r13d, r13d, 0xf2ff
lea r14d, [rbx + r13]
add r13d, ebx
add r13d, 0xfffff2ff
movsx r12d, r13w
mov ebx, r12d
sar ebx, 0xf
and ebx, r14d
test r12w, r12w
cmovle r13d, eax
or r13d, ebx
movzx ebx, word [rsi + rbp*2]
lea r14d, [rbx + r13]
lea r12d, [rbx + r13]
add r12d, 0xfffff2ff
movsx edx, r12w
mov r11d, edx
sar r11d, 0xf
and r11d, r14d
test dx, dx
cmovle r12d, eax
or r12d, r11d
mov word [rsi + rbp*2], r12w
sub ebx, r13d
movsx edx, bx
lea r11d, [rbx + 0xd01]
mov r14d, edx
sar r14d, 0xf
and r14d, r11d
test dx, dx
cmovle ebx, eax
or ebx, r14d
mov word [rdi + rbp*2], bx
lea rdx, [r9 + rbp]
inc rdx
inc rbp
cmp rdx, rcx
jb 0x14008f550
jmp 0x14008f2a0
mov rsi, qword [rsp + 0x98]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x310], xmm1
movaps xmmword [rsp + 0x300], xmm0
mov byte [rsp + 0x320], 3
lea rcx, [rsp + 0xb30]
lea r15, [rsp + 0x300]
mov rdx, r15
call fcn.1400919c0
mov byte [rsp + 0x320], 4
lea rcx, [rsp + 0xd30]
mov rdx, r15
call fcn.1400919c0
mov byte [rsp + 0x320], 5
lea rcx, [rsp + 0xf30]
mov rdx, r15
call fcn.1400919c0
movups xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0xb10], xmm1
movaps xmmword [rsp + 0xb00], xmm0
mov byte [rsp + 0xb20], 6
lea rcx, [rsp + 0x900]
lea rdx, [rsp + 0xb00]
call fcn.1400919c0
mov rsi, qword [rsp + 0xa0]
lea rdi, [rsi + 0x640]
xor ebx, ebx
mov r8d, 0x600
mov rcx, r15
xor edx, edx
call fcn.14025d290
lea rax, [rsp + 0x1138]
movdqa xmm0, xmmword [0x1402ab640]
pxor xmm1, xmm1
lea rcx, [0x1402ab850]
nop dword [rax]
mov rdx, rdi
mov r8, rax
xor r9d, r9d
nop dword [rax]
xor r10d, r10d
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rdx + r10*2]
pshuflw xmm3, xmm2, 0xe8
pshufhw xmm3, xmm3, 0xe8
pshufd xmm4, xmm3, 0xe8
pshuflw xmm2, xmm2, 0xe7
pshufhw xmm2, xmm2, 0xe7
pshufd xmm2, xmm2, 0xe8
pshuflw xmm2, xmm2, 0xb1
movdqu xmm3, xmmword [r8 + r10*2]
pshuflw xmm5, xmm3, 0xe8
pshufhw xmm5, xmm5, 0xe8
pshufd xmm10, xmm5, 0xe8
pshuflw xmm3, xmm3, 0xe7
pshufhw xmm3, xmm3, 0xe7
pshufd xmm3, xmm3, 0xe8
pshuflw xmm5, xmm3, 0xb1
movdqa xmm3, xmm10
movdqa xmm11, xmm5
pmulhuw xmm11, xmm2
movdqa xmm12, xmm5
pmullw xmm12, xmm2
movdqa xmm13, xmm2
pmulhuw xmm13, xmm10
pmullw xmm2, xmm10
pmulhuw xmm10, xmm4
pmullw xmm3, xmm4
punpcklwd xmm3, xmm10
punpcklwd xmm12, xmm11
pshufd xmm10, xmm12, 0xee
pshufd xmm11, xmm12, 0xfe
pshufd xmm14, xmm12, 0xd4
punpcklqdq xmm12, xmm10
movdqa xmm10, xmm5
pmulhuw xmm10, xmm4
pmullw xmm5, xmm4
punpcklwd xmm5, xmm10
punpcklwd xmm2, xmm13
paddd xmm2, xmm5
pmuludq xmm14, xmm6
pmuludq xmm11, xmm6
psrlq xmm11, 0x18
psrlq xmm14, 0x18
movdqa xmm4, xmm14
punpcklqdq xmm4, xmm11
punpckhqdq xmm14, xmm11
pmuludq xmm14, xmm7
pshufd xmm5, xmm14, 0xe8
pmuludq xmm4, xmm7
pshufd xmm4, xmm4, 0xe8
punpckldq xmm4, xmm5
paddd xmm4, xmm12
pshuflw xmm4, xmm4, 0xe8
pshufhw xmm4, xmm4, 0xe8
pshufd xmm5, xmm4, 0xe8
movdqa xmm4, xmm5
paddw xmm4, xmm0
pxor xmm10, xmm10
pcmpgtw xmm10, xmm4
pand xmm10, xmm5
pmaxsw xmm4, xmm1
por xmm4, xmm10
movq xmm5, qword [r10 + rcx]
movdqa xmm10, xmm4
pmulhuw xmm10, xmm5
pmullw xmm4, xmm5
punpcklwd xmm4, xmm10
paddd xmm4, xmm3
pshufd xmm3, xmm4, 0xf6
pshufd xmm5, xmm4, 0xd4
pmuludq xmm5, xmm6
pmuludq xmm3, xmm6
psrlq xmm3, 0x18
psrlq xmm5, 0x18
movdqa xmm10, xmm5
punpcklqdq xmm10, xmm3
punpckhqdq xmm5, xmm3
pmuludq xmm5, xmm7
pshufd xmm3, xmm5, 0xe8
pmuludq xmm10, xmm7
pshufd xmm5, xmm10, 0xe8
punpckldq xmm5, xmm3
paddd xmm5, xmm4
pshuflw xmm3, xmm5, 0xe8
pshufhw xmm3, xmm3, 0xe8
pshufd xmm4, xmm3, 0xe8
movdqa xmm3, xmm4
paddw xmm3, xmm0
pxor xmm5, xmm5
pcmpgtw xmm5, xmm3
pand xmm5, xmm4
pmaxsw xmm3, xmm1
por xmm3, xmm5
pshufd xmm4, xmm2, 0xf6
pshufd xmm5, xmm2, 0xd4
pmuludq xmm5, xmm6
pmuludq xmm4, xmm6
psrlq xmm4, 0x18
psrlq xmm5, 0x18
movdqa xmm10, xmm5
punpcklqdq xmm10, xmm4
punpckhqdq xmm5, xmm4
pmuludq xmm5, xmm7
pshufd xmm4, xmm5, 0xe8
pmuludq xmm10, xmm7
pshufd xmm5, xmm10, 0xe8
punpckldq xmm5, xmm4
paddd xmm5, xmm2
pshuflw xmm2, xmm5, 0xe8
pshufhw xmm2, xmm2, 0xe8
pshufd xmm2, xmm2, 0xe8
movdqa xmm4, xmm2
paddw xmm4, xmm0
pxor xmm5, xmm5
pcmpgtw xmm5, xmm4
pand xmm5, xmm2
pmaxsw xmm4, xmm1
por xmm4, xmm5
punpcklwd xmm3, xmm4
movdqu xmmword [rsp + r10*2 + 0x1738], xmm3
add r10, 8
cmp r10, 0x100
jne 0x14008f700
mov r10d, 8
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r15 + r10*2 - 0x10]
movdqu xmm3, xmmword [r15 + r10*2]
movdqu xmm4, xmmword [rsp + r10*2 + 0x1728]
paddw xmm4, xmm2
movdqu xmm2, xmmword [rsp + r10*2 + 0x1738]
paddw xmm2, xmm3
movdqa xmm3, xmm4
paddw xmm3, xmm8
movdqa xmm5, xmm2
paddw xmm5, xmm8
movdqa xmm10, xmm3
psraw xmm10, 0xf
pand xmm10, xmm4
movdqa xmm4, xmm5
psraw xmm4, 0xf
pand xmm4, xmm2
pmaxsw xmm3, xmm1
por xmm3, xmm10
pmaxsw xmm5, xmm1
por xmm5, xmm4
movdqu xmmword [r15 + r10*2 - 0x10], xmm3
movdqu xmmword [r15 + r10*2], xmm5
add r10, 0x10
cmp r10, 0x108
jne 0x14008f960
inc r9
add r8, 0x200
add rdx, 0x200
cmp r9, 3
jne 0x14008f6f0
inc rbx
add rdi, 0x600
add r15, 0x200
cmp rbx, 3
jne 0x14008f6e0
lea rcx, [rsp + 0x300]
call fcn.1400920a0
lea rcx, [rsp + 0x500]
call fcn.1400920a0
lea rcx, [rsp + 0x700]
call fcn.1400920a0
mov eax, 8
pxor xmm0, xmm0
nop dword [rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x2f0]
movdqu xmm2, xmmword [rsp + rax*2 + 0x300]
movdqu xmm3, xmmword [rsp + rax*2 + 0xb20]
paddw xmm3, xmm1
movdqu xmm1, xmmword [rsp + rax*2 + 0xb30]
paddw xmm1, xmm2
movdqa xmm2, xmm3
paddw xmm2, xmm8
movdqa xmm4, xmm1
paddw xmm4, xmm8
movdqa xmm5, xmm2
psraw xmm5, 0xf
pand xmm5, xmm3
movdqa xmm3, xmm4
psraw xmm3, 0xf
pand xmm3, xmm1
pmaxsw xmm2, xmm0
por xmm2, xmm5
pmaxsw xmm4, xmm0
por xmm4, xmm3
movdqu xmmword [rsp + rax*2 + 0x2f0], xmm2
movdqu xmmword [rsp + rax*2 + 0x300], xmm4
add rax, 0x10
cmp rax, 0x108
jne 0x14008fa50
mov eax, 0x108
pxor xmm0, xmm0
mov rbx, qword [rsp + 0xb0]
nop dword [rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x2f0]
movdqu xmm2, xmmword [rsp + rax*2 + 0x300]
movdqu xmm3, xmmword [rsp + rax*2 + 0xb20]
paddw xmm3, xmm1
movdqu xmm1, xmmword [rsp + rax*2 + 0xb30]
paddw xmm1, xmm2
movdqa xmm2, xmm3
paddw xmm2, xmm8
movdqa xmm4, xmm1
paddw xmm4, xmm8
movdqa xmm5, xmm2
psraw xmm5, 0xf
pand xmm5, xmm3
movdqa xmm3, xmm4
psraw xmm3, 0xf
pand xmm3, xmm1
pmaxsw xmm2, xmm0
por xmm2, xmm5
pmaxsw xmm4, xmm0
por xmm4, xmm3
movdqu xmmword [rsp + rax*2 + 0x2f0], xmm2
movdqu xmmword [rsp + rax*2 + 0x300], xmm4
add rax, 0x10
cmp rax, 0x208
jne 0x14008faf0
mov eax, 0x208
pxor xmm0, xmm0
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x2f0]
movdqu xmm2, xmmword [rsp + rax*2 + 0x300]
movdqu xmm3, xmmword [rsp + rax*2 + 0xb20]
paddw xmm3, xmm1
movdqu xmm1, xmmword [rsp + rax*2 + 0xb30]
paddw xmm1, xmm2
movdqa xmm2, xmm3
paddw xmm2, xmm8
movdqa xmm4, xmm1
paddw xmm4, xmm8
movdqa xmm5, xmm2
psraw xmm5, 0xf
pand xmm5, xmm3
movdqa xmm3, xmm4
psraw xmm3, 0xf
pand xmm3, xmm1
pmaxsw xmm2, xmm0
por xmm2, xmm5
pmaxsw xmm4, xmm0
por xmm4, xmm3
movdqu xmmword [rsp + rax*2 + 0x2f0], xmm2
movdqu xmmword [rsp + rax*2 + 0x300], xmm4
add rax, 0x10
cmp rax, 0x308
jne 0x14008fb90
lea r14, [rsp + 0x1738]
lea r8, [rsp + 0x1138]
mov rcx, r14
mov rdx, rsi
call fcn.140091c60
mov rcx, r14
call fcn.1400920a0
mov eax, 8
pxor xmm0, xmm0
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x1728]
movdqu xmm2, xmmword [rsp + rax*2 + 0x1738]
movdqu xmm3, xmmword [rsp + rax*2 + 0x8f0]
paddw xmm3, xmm1
movdqu xmm1, xmmword [rsp + rax*2 + 0x900]
paddw xmm1, xmm2
movdqa xmm2, xmm3
paddw xmm2, xmm8
movdqa xmm4, xmm1
paddw xmm4, xmm8
movdqa xmm5, xmm2
psraw xmm5, 0xf
pand xmm5, xmm3
movdqa xmm3, xmm4
psraw xmm3, 0xf
pand xmm3, xmm1
pmaxsw xmm2, xmm0
por xmm2, xmm5
pmaxsw xmm4, xmm0
por xmm4, xmm3
movdqu xmmword [rsp + rax*2 + 0x1728], xmm2
movdqu xmmword [rsp + rax*2 + 0x1738], xmm4
add rax, 0x10
cmp rax, 0x108
jne 0x14008fc50
xor eax, eax
mov rcx, qword [rsp + 0xa8]
nop word cs:[rax + rax]
movq xmm10, qword [rcx]
movdqa xmm14, xmm10
movdqa xmm3, xmmword [0x1402a61d0]
pand xmm14, xmm3
pxor xmm4, xmm4
punpcklbw xmm14, xmm4
movdqa xmm0, xmm10
psrlw xmm0, 1
pand xmm0, xmm3
punpcklbw xmm0, xmm4
movdqa xmm5, xmm0
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmm12, xmm10
psrlw xmm12, 2
pand xmm12, xmm3
punpcklbw xmm12, xmm4
movdqa xmm0, xmm10
psrlw xmm0, 3
pand xmm0, xmm3
punpcklbw xmm0, xmm4
movdqa xmm11, xmm0
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmm10
psrlw xmm1, 4
pand xmm1, xmm3
punpcklbw xmm1, xmm4
movdqa xmm2, xmm10
psrlw xmm2, 5
pand xmm2, xmm3
punpcklbw xmm2, xmm4
movdqa xmm0, xmm10
psrlw xmm0, 6
pand xmm0, xmm3
punpcklbw xmm0, xmm4
psrlw xmm10, 7
pand xmm10, xmmword [0x1402a8e00]
punpcklbw xmm10, xmm4
movdqa xmm4, xmm12
punpcklwd xmm4, xmm11
movdqa xmm3, xmm14
punpcklwd xmm3, xmm5
movdqa xmm13, xmm3
punpckldq xmm13, xmm4
movdqa xmm11, xmm0
punpcklwd xmm11, xmm10
pshufd xmm5, xmm11, 0
movdqa xmmword [rsp + 0x30], xmm5
movdqa xmm5, xmm1
punpcklwd xmm5, xmm2
pshufd xmm15, xmm5, 0
punpckhdq xmm15, xmmword [rsp + 0x30]
movsd xmm15, xmm13
movapd xmmword [rsp + 0x30], xmm15
movdqa xmm13, xmm5
punpckldq xmm13, xmm11
pshufd xmm15, xmm4, 0x55
movdqa xmmword [rsp + 0x50], xmm15
pshufd xmm15, xmm3, 0x55
punpckldq xmm15, xmmword [rsp + 0x50]
shufps xmm15, xmm13, 0xe4
movaps xmmword [rsp + 0x50], xmm15
pshufd xmm13, xmm11, 0xaa
pshufd xmm15, xmm5, 0xaa
punpckhdq xmm15, xmm13
pshufd xmm13, xmm3, 0xff
punpckhdq xmm3, xmm4
movsd xmm15, xmm3
punpckhdq xmm5, xmm11
pshufd xmm3, xmm4, 0xff
punpckldq xmm13, xmm3
shufps xmm13, xmm5, 0xe4
punpckhwd xmm12, xmmword [rsp + 0x70]
punpckhwd xmm14, xmmword [rsp + 0x80]
movdqa xmm3, xmm14
punpckldq xmm3, xmm12
punpckhwd xmm0, xmm10
pshufd xmm4, xmm0, 0
punpckhwd xmm1, xmm2
pshufd xmm2, xmm1, 0
punpckhdq xmm2, xmm4
movsd xmm2, xmm3
movdqa xmm3, xmm1
punpckldq xmm3, xmm0
pshufd xmm4, xmm12, 0x55
pshufd xmm5, xmm14, 0x55
punpckldq xmm5, xmm4
shufps xmm5, xmm3, 0xe4
pshufd xmm3, xmm0, 0xaa
pshufd xmm4, xmm1, 0xaa
punpckhdq xmm4, xmm3
pshufd xmm3, xmm14, 0xff
punpckhdq xmm14, xmm12
movsd xmm4, xmm14
punpckhdq xmm1, xmm0
pshufd xmm0, xmm12, 0xff
punpckldq xmm3, xmm0
shufps xmm3, xmm1, 0xe4
movups xmmword [rsp + rax + 0x170], xmm3
movupd xmmword [rsp + rax + 0x160], xmm4
movups xmmword [rsp + rax + 0x150], xmm5
movupd xmmword [rsp + rax + 0x140], xmm2
movups xmmword [rsp + rax + 0x130], xmm13
movupd xmmword [rsp + rax + 0x120], xmm15
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rsp + rax + 0x110], xmm0
movdqa xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rsp + rax + 0x100], xmm0
sub rax, 0xffffffffffffff80
add rcx, 8
cmp rax, 0x200
jne 0x14008fcf0
xor eax, eax
movdqa xmm0, xmmword [0x1402ab650]
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x100]
movdqa xmm2, xmm1
pmulhuw xmm2, xmm9
pmullw xmm1, xmm9
movdqa xmm3, xmm1
punpcklwd xmm3, xmm2
punpckhwd xmm1, xmm2
movdqa xmm2, xmm1
pand xmm2, xmm0
movdqa xmm4, xmm3
pand xmm4, xmm0
psrld xmm1, 1
paddd xmm1, xmm2
psrld xmm3, 1
paddd xmm3, xmm4
pslld xmm1, 0x10
psrad xmm1, 0x10
pslld xmm3, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm1
movdqu xmmword [rsp + rax*2 + 0x100], xmm3
add rax, 8
cmp rax, 0x100
jne 0x14008ff60
mov eax, 8
pxor xmm0, xmm0
nop dword [rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x1728]
movdqu xmm2, xmmword [rsp + rax*2 + 0x1738]
movdqu xmm3, xmmword [rsp + rax*2 + 0xf0]
paddw xmm3, xmm1
movdqu xmm1, xmmword [rsp + rax*2 + 0x100]
paddw xmm1, xmm2
movdqa xmm2, xmm3
paddw xmm2, xmm8
movdqa xmm4, xmm1
paddw xmm4, xmm8
movdqa xmm5, xmm2
psraw xmm5, 0xf
pand xmm5, xmm3
movdqa xmm3, xmm4
psraw xmm3, 0xf
pand xmm3, xmm1
pmaxsw xmm2, xmm0
por xmm2, xmm5
pmaxsw xmm4, xmm0
por xmm4, xmm3
movdqu xmmword [rsp + rax*2 + 0x1728], xmm2
movdqu xmmword [rsp + rax*2 + 0x1738], xmm4
add rax, 0x10
cmp rax, 0x108
jne 0x14008ffe0
xor eax, eax
pxor xmm1, xmm1
movdqa xmm8, xmmword [0x1402ab660]
movdqa xmm9, xmmword [0x1402ab670]
movdqa xmm10, xmmword [0x1402ab680]
movdqa xmm11, xmmword [0x1402ab690]
movdqa xmm0, xmmword [0x1402ab6a0]
nop dword [rax]
movq xmm2, qword [rsp + rax*2 + 0x300]
punpcklwd xmm2, xmm1
pslld xmm2, 0xa
pshufd xmm3, xmm2, 0xf6
pshufd xmm4, xmm2, 0xd4
pmuludq xmm4, xmm6
pmuludq xmm3, xmm6
psrlq xmm3, 0x18
psrlq xmm4, 0x18
movdqa xmm5, xmm4
shufps xmm5, xmm3, 0x88
pmaddwd xmm5, xmm7
paddd xmm5, xmm2
pxor xmm5, xmm8
movdqa xmm2, xmm5
pcmpgtd xmm2, xmm9
pshufd xmm12, xmm2, 0xf6
pand xmm12, xmm10
pshufd xmm2, xmm2, 0xd4
pand xmm2, xmm10
paddq xmm2, xmm4
paddq xmm12, xmm3
pcmpgtd xmm5, xmm11
pshufd xmm3, xmm5, 0xd4
pand xmm3, xmm10
paddq xmm3, xmm2
pshufd xmm2, xmm5, 0xf6
pand xmm2, xmm10
paddq xmm2, xmm12
shufps xmm3, xmm2, 0x88
pslld xmm3, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm3
pand xmm3, xmm0
movq qword [rsp + rax*2 + 0x300], xmm3
add rax, 4
cmp rax, 0x100
jne 0x1400900a0
mov eax, 0x200
pxor xmm1, xmm1
nop word cs:[rax + rax]
movq xmm2, qword [rsp + rax + 0x300]
punpcklwd xmm2, xmm1
pslld xmm2, 0xa
pshufd xmm3, xmm2, 0xf6
pshufd xmm4, xmm2, 0xd4
pmuludq xmm4, xmm6
pmuludq xmm3, xmm6
psrlq xmm3, 0x18
psrlq xmm4, 0x18
movdqa xmm5, xmm4
shufps xmm5, xmm3, 0x88
pmaddwd xmm5, xmm7
paddd xmm5, xmm2
pxor xmm5, xmm8
movdqa xmm2, xmm5
pcmpgtd xmm2, xmm9
pshufd xmm12, xmm2, 0xf6
pand xmm12, xmm10
pshufd xmm2, xmm2, 0xd4
pand xmm2, xmm10
paddq xmm2, xmm4
paddq xmm12, xmm3
pcmpgtd xmm5, xmm11
pshufd xmm3, xmm5, 0xd4
pand xmm3, xmm10
paddq xmm3, xmm2
pshufd xmm2, xmm5, 0xf6
pand xmm2, xmm10
paddq xmm2, xmm12
shufps xmm3, xmm2, 0x88
pslld xmm3, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm3
pand xmm3, xmm0
movq qword [rsp + rax + 0x300], xmm3
add rax, 8
cmp rax, 0x400
jne 0x140090170
mov eax, 0x200
pxor xmm1, xmm1
nop word cs:[rax + rax]
movq xmm2, qword [rsp + rax*2 + 0x300]
punpcklwd xmm2, xmm1
pslld xmm2, 0xa
pshufd xmm3, xmm2, 0xf6
pshufd xmm4, xmm2, 0xd4
pmuludq xmm4, xmm6
pmuludq xmm3, xmm6
psrlq xmm3, 0x18
psrlq xmm4, 0x18
movdqa xmm5, xmm4
shufps xmm5, xmm3, 0x88
pmaddwd xmm5, xmm7
paddd xmm5, xmm2
pxor xmm5, xmm8
movdqa xmm2, xmm5
pcmpgtd xmm2, xmm9
pshufd xmm12, xmm2, 0xf6
pand xmm12, xmm10
pshufd xmm2, xmm2, 0xd4
pand xmm2, xmm10
paddq xmm2, xmm4
paddq xmm12, xmm3
pcmpgtd xmm5, xmm11
pshufd xmm3, xmm5, 0xd4
pand xmm3, xmm10
paddq xmm3, xmm2
pshufd xmm2, xmm5, 0xf6
pand xmm2, xmm10
paddq xmm2, xmm12
shufps xmm3, xmm2, 0x88
pslld xmm3, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm3
pand xmm3, xmm0
movq qword [rsp + rax*2 + 0x300], xmm3
add rax, 4
cmp rax, 0x300
jne 0x140090240
lea rdx, [rsp + 0x300]
mov rcx, rbx
mov r8d, 0xa
call fcn.140091560
xor eax, eax
pxor xmm0, xmm0
movdqa xmm1, xmmword [0x1402ab6b0]
nop
movq xmm2, qword [rsp + rax*2 + 0x1738]
punpcklwd xmm2, xmm0
pslld xmm2, 4
pshufd xmm3, xmm2, 0xf6
pshufd xmm4, xmm2, 0xd4
pmuludq xmm4, xmm6
pmuludq xmm3, xmm6
psrlq xmm3, 0x18
psrlq xmm4, 0x18
movdqa xmm5, xmm4
shufps xmm5, xmm3, 0x88
pmaddwd xmm5, xmm7
paddd xmm5, xmm2
pxor xmm5, xmm8
movdqa xmm2, xmm5
pcmpgtd xmm2, xmm9
pshufd xmm12, xmm2, 0xf6
pand xmm12, xmm10
pshufd xmm2, xmm2, 0xd4
pand xmm2, xmm10
paddq xmm2, xmm4
paddq xmm12, xmm3
pcmpgtd xmm5, xmm11
pshufd xmm3, xmm5, 0xd4
pand xmm3, xmm10
paddq xmm3, xmm2
pshufd xmm2, xmm5, 0xf6
pand xmm2, xmm10
paddq xmm2, xmm12
shufps xmm3, xmm2, 0x88
pslld xmm3, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm3
pand xmm3, xmm1
movq qword [rsp + rax*2 + 0x1738], xmm3
add rax, 4
cmp rax, 0x100
jne 0x140090320
add rbx, 0x3c0
xor r8d, r8d
lea r9, [0x1402aba50]
xor eax, eax
xor r10d, r10d
jmp 0x14009040c
inc r8
cmp r8, 0x100
je 0x140090482
movzx r11d, word [rsp + r8*2 + 0x1738]
xor esi, esi
jmp 0x14009044a
mov ecx, 3
sub ecx, esi
movzx edx, byte [rcx + r9]
and edx, r11d
mov ecx, eax
shl edx, cl
or r10b, dl
add eax, edi
mov edx, edi
add esi, edx
movzx r11d, r11w
mov ecx, edx
shr r11d, cl
cmp esi, 4
jge 0x140090400
mov edi, 4
sub edi, esi
mov edx, 8
sub edx, eax
cmp edi, edx
jl 0x140090420
mov ecx, 7
sub ecx, eax
movsxd rcx, ecx
movzx edi, byte [rcx + r9]
and edi, r11d
mov ecx, eax
shl edi, cl
or r10b, dil
mov byte [rbx], r10b
inc rbx
xor r10d, r10d
xor eax, eax
jmp 0x14009043a
test eax, eax
jle 0x140090489
mov byte [rbx], r10b
mov rcx, qword [rsp + 0x1938]
xor rcx, rsp
call fcn.140259980
movaps xmm6, xmmword [rsp + 0x1940]
movaps xmm7, xmmword [rsp + 0x1950]
movaps xmm8, xmmword [rsp + 0x1960]
movaps xmm9, xmmword [rsp + 0x1970]
movaps xmm10, xmmword [rsp + 0x1980]
movaps xmm11, xmmword [rsp + 0x1990]
movaps xmm12, xmmword [rsp + 0x19a0]
movaps xmm13, xmmword [rsp + 0x19b0]
movaps xmm14, xmmword [rsp + 0x19c0]
movaps xmm15, xmmword [rsp + 0x19d0]
add rsp, 0x19e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret