Function at 0x14008f330
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x19f8
call fcn.14025d030
sub rsp, rax
movapd xmmword [rsp + 0x19e0], xmm15
movdqa xmmword [rsp + 0x19d0], xmm14
movdqa xmmword [rsp + 0x19c0], xmm13
movdqa xmmword [rsp + 0x19b0], xmm12
movdqa xmmword [rsp + 0x19a0], xmm11
movdqa xmmword [rsp + 0x1990], xmm10
movaps xmmword [rsp + 0x1980], xmm9
movaps xmmword [rsp + 0x1970], xmm8
movaps xmmword [rsp + 0x1960], xmm7
movaps xmmword [rsp + 0x1950], xmm6
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xc8], rcx
mov rax, qword [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0x1948], rax
movdqu xmm0, xmmword [r9]
mov qword [rsp + 0xb0], r9
movdqu xmm1, xmmword [r9 + 0x10]
movdqa xmmword [rsp + 0xb50], xmm1
movdqa xmmword [rsp + 0xb40], xmm0
mov byte [rsp + 0xb60], 0
lea rcx, [rsp + 0x1148]
lea r12, [rsp + 0xb40]
mov qword [rsp + 0x48], rcx
mov rdx, r12
call fcn.140091d50
mov byte [rsp + 0xb60], 1
lea rcx, [rsp + 0x1348]
mov rdx, r12
call fcn.140091d50
mov byte [rsp + 0xb60], 2
lea rcx, [rsp + 0x1548]
mov rdx, r12
call fcn.140091d50
xor eax, eax
movdqa xmm6, xmmword [0x1402ae5d0]
movdqa xmm7, xmmword [0x1402ae5e0]
movdqa xmm8, xmmword [0x1402ae5f0]
pxor xmm0, xmm0
movdqa xmm9, xmmword [0x1402ae600]
xor ecx, ecx
jmp 0x14008f49e
mov rcx, qword [rsp + 0xd0]
inc rcx
add qword [rsp + 0x48], 0x200
cmp rcx, 3
je 0x14008f950
mov qword [rsp + 0xd0], rcx
shl rcx, 9
lea rdx, [rsp + rcx]
add rdx, 0x114a
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0xd8], rcx
lea rcx, [rsp + rcx + 0x1148]
mov qword [rsp + 0xe8], rcx
mov ecx, 1
mov r8d, 0x100
mov edx, 0x100
jmp 0x14008f50a
mov ecx, dword [rsp + 0x2c]
add ecx, ecx
mov rdx, qword [rsp + 0x68]
mov r8d, edx
cmp ecx, 0x80
jge 0x14008f480
shr edx, 1
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x2c], ecx
test ecx, ecx
jle 0x14008f4f0
and r8d, 0x1fe
mov rcx, qword [rsp + 0x68]
mov r9d, ecx
mov r10d, dword [rsp + 0x2c]
lea rdx, [r9*4]
mov qword [rsp + 0x80], rdx
add ecx, ecx
neg rcx
mov qword [rsp + 0xf8], rcx
mov rcx, qword [rsp + 0xd8]
or rcx, r8
mov rdx, qword [rsp + 0x70]
add rdx, r8
mov qword [rsp + 0xf0], rdx
lea rcx, [rsp + rcx + 0x1148]
mov qword [rsp + 0xe0], rcx
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x88], r8
add r8, r15
mov r12d, 1
xor ecx, ecx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x108], r9
xor esi, esi
xor edi, edi
mov qword [rsp + 0x100], r10
jmp 0x14008f602
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x30]
add rdi, rcx
mov rsi, qword [rsp + 0x50]
inc rsi
mov r9, qword [rsp + 0x90]
add r9, rcx
mov r12, qword [rsp + 0xa0]
add r12, rcx
sub qword [rsp + 0x78], rcx
mov rcx, qword [rsp + 0x80]
add r8, rcx
add r15, rcx
mov r10, qword [rsp + 0x100]
cmp rsi, r10
je 0x14008f4f0
cmp r9, r12
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0x90], r9
cmova r12, r9
mov rcx, qword [rsp + 0x108]
lea rdx, [rdi + rcx]
mov r14, rdi
or r14, 1
cmp rdx, r14
mov rbx, r14
cmova rbx, rdx
mov r11, qword [rsp + 0xf8]
imul r11, rsi
add rbx, r11
mov qword [rsp + 0x50], rsi
add r10, rsi
lea rcx, [0x1402ae720]
movzx esi, word [rcx + r10*2]
mov qword [rsp + 0x30], rdi
mov r10, rdi
cmp rbx, 8
jb 0x14008f880
mov r10, qword [rsp + 0x80]
imul r10, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xf0]
lea r13, [rcx + r10]
cmp rdx, r14
cmova r14, rdx
add r11, r14
lea r14, [r11*2 - 2]
add r14, r13
mov rcx, qword [rsp + 0xe8]
lea r13, [rcx + r10]
cmp r13, r14
jae 0x14008f6d2
mov rcx, qword [rsp + 0xe0]
lea r14, [rcx + r10]
add r10, qword [rsp + 0x70]
lea r11, [r10 + r11*2]
add r11, 0xfffffffffffffffe
mov r10, qword [rsp + 0x30]
cmp r14, r11
jb 0x14008f880
add r12, qword [rsp + 0x78]
and r12, 0xfffffffffffffff8
mov r9, rbx
and r9, 0xfffffffffffffff8
mov rcx, qword [rsp + 0x30]
lea r10, [rcx + r9]
movd xmm1, esi
pshufd xmm1, xmm1, 0
pslld xmm1, 0x10
psrad xmm1, 0x10
packssdw xmm1, xmm1
xor r14d, r14d
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r8 + r14*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 + r14*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 + r14*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 + r14*2], xmm3
add r14, 8
cmp r12, r14
jne 0x14008f710
cmp rbx, r9
je 0x14008f5b0
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x48]
lea rbx, [rcx + r10*2]
mov rcx, qword [rsp + 0x88]
lea r14, [rbx + rcx]
xor r12d, r12d
nop dword [rax + rax]
movzx r11d, word [r14 + r12*2]
mov r13d, esi
imul r13, r11
imul r11, r13, 0x13af
shr r11, 0x18
imul r11d, r11d, 0xf2ff
lea edi, [r11 + r13]
add r11d, r13d
add r11d, 0xfffff2ff
movsx ebp, r11w
mov r13d, ebp
sar r13d, 0xf
and r13d, edi
test bp, bp
cmovle r11d, eax
or r11d, r13d
movzx r13d, word [rbx + r12*2]
lea edi, [r11 + r13]
lea ebp, [r11 + r13]
add ebp, 0xfffff2ff
movsx r9d, bp
mov ecx, r9d
sar ecx, 0xf
and ecx, edi
test r9w, r9w
cmovle ebp, eax
or ebp, ecx
mov word [rbx + r12*2], bp
sub r13d, r11d
movsx ecx, r13w
lea r9d, [r13 + 0xd01]
mov r11d, ecx
sar r11d, 0xf
and r11d, r9d
test cx, cx
cmovle r13d, eax
or r13d, r11d
mov word [r14 + r12*2], r13w
lea rcx, [r10 + r12]
inc rcx
inc r12
cmp rcx, rdx
jb 0x14008f8a0
jmp 0x14008f5b0
mov rsi, qword [rsp + 0xb0]
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x320], xmm1
movaps xmmword [rsp + 0x310], xmm0
mov byte [rsp + 0x330], 3
lea rcx, [rsp + 0xb40]
lea r15, [rsp + 0x310]
mov rdx, r15
call fcn.140091d50
mov byte [rsp + 0x330], 4
lea rcx, [rsp + 0xd40]
mov rdx, r15
call fcn.140091d50
mov byte [rsp + 0x330], 5
lea rcx, [rsp + 0xf40]
mov rdx, r15
call fcn.140091d50
movups xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqa xmmword [rsp + 0xb20], xmm1
movaps xmmword [rsp + 0xb10], xmm0
mov byte [rsp + 0xb30], 6
lea rcx, [rsp + 0x910]
lea rdx, [rsp + 0xb10]
call fcn.140091d50
mov r12, qword [rsp + 0xb8]
lea rsi, [r12 + 0x640]
xor edi, edi
mov r8d, 0x600
mov rcx, r15
xor edx, edx
call fcn.140260660
lea rax, [rsp + 0x1148]
movdqa xmm0, xmmword [0x1402ae610]
pxor xmm1, xmm1
lea rcx, [0x1402ae820]
mov rbx, qword [rsp + 0xc8]
nop word [rax + rax]
mov rdx, rsi
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 + 0x1748], xmm3
add r10, 8
cmp r10, 0x100
jne 0x14008fa60
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 + 0x1738]
paddw xmm4, xmm2
movdqu xmm2, xmmword [rsp + r10*2 + 0x1748]
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 0x14008fcc0
inc r9
add r8, 0x200
add rdx, 0x200
cmp r9, 3
jne 0x14008fa50
inc rdi
add rsi, 0x600
add r15, 0x200
cmp rdi, 3
jne 0x14008fa40
lea rcx, [rsp + 0x310]
call fcn.140092460
lea rcx, [rsp + 0x510]
call fcn.140092460
lea rcx, [rsp + 0x710]
call fcn.140092460
mov eax, 8
pxor xmm0, xmm0
nop dword [rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x300]
movdqu xmm2, xmmword [rsp + rax*2 + 0x310]
movdqu xmm3, xmmword [rsp + rax*2 + 0xb30]
paddw xmm3, xmm1
movdqu xmm1, xmmword [rsp + rax*2 + 0xb40]
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 + 0x300], xmm2
movdqu xmmword [rsp + rax*2 + 0x310], xmm4
add rax, 0x10
cmp rax, 0x108
jne 0x14008fdb0
mov eax, 0x108
pxor xmm0, xmm0
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x300]
movdqu xmm2, xmmword [rsp + rax*2 + 0x310]
movdqu xmm3, xmmword [rsp + rax*2 + 0xb30]
paddw xmm3, xmm1
movdqu xmm1, xmmword [rsp + rax*2 + 0xb40]
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 + 0x300], xmm2
movdqu xmmword [rsp + rax*2 + 0x310], xmm4
add rax, 0x10
cmp rax, 0x208
jne 0x14008fe50
mov eax, 0x208
pxor xmm0, xmm0
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x300]
movdqu xmm2, xmmword [rsp + rax*2 + 0x310]
movdqu xmm3, xmmword [rsp + rax*2 + 0xb30]
paddw xmm3, xmm1
movdqu xmm1, xmmword [rsp + rax*2 + 0xb40]
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 + 0x300], xmm2
movdqu xmmword [rsp + rax*2 + 0x310], xmm4
add rax, 0x10
cmp rax, 0x308
jne 0x14008fef0
lea r14, [rsp + 0x1748]
lea r8, [rsp + 0x1148]
mov rcx, r14
mov rdx, r12
call fcn.140092020
mov rcx, r14
call fcn.140092460
mov eax, 8
pxor xmm0, xmm0
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x1738]
movdqu xmm2, xmmword [rsp + rax*2 + 0x1748]
movdqu xmm3, xmmword [rsp + rax*2 + 0x900]
paddw xmm3, xmm1
movdqu xmm1, xmmword [rsp + rax*2 + 0x910]
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 + 0x1738], xmm2
movdqu xmmword [rsp + rax*2 + 0x1748], xmm4
add rax, 0x10
cmp rax, 0x108
jne 0x14008ffb0
xor eax, eax
mov rcx, qword [rsp + 0xc0]
nop word cs:[rax + rax]
movq xmm10, qword [rcx]
movdqa xmm14, xmm10
movdqa xmm3, xmmword [0x1402a9190]
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 + 0xa0], 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 + 0x90], 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 [0x1402abdd0]
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 + 0x90]
punpckhwd xmm14, xmmword [rsp + 0xa0]
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 + 0x180], xmm3
movupd xmmword [rsp + rax + 0x170], xmm4
movups xmmword [rsp + rax + 0x160], xmm5
movupd xmmword [rsp + rax + 0x150], xmm2
movups xmmword [rsp + rax + 0x140], xmm13
movupd xmmword [rsp + rax + 0x130], xmm15
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rsp + rax + 0x120], xmm0
movdqa xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rsp + rax + 0x110], xmm0
sub rax, 0xffffffffffffff80
add rcx, 8
cmp rax, 0x200
jne 0x140090050
xor eax, eax
movdqa xmm0, xmmword [0x1402ae620]
nop dword [rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x110]
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 + 0x110], xmm3
add rax, 8
cmp rax, 0x100
jne 0x1400902c0
mov eax, 8
pxor xmm0, xmm0
nop dword [rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x1738]
movdqu xmm2, xmmword [rsp + rax*2 + 0x1748]
movdqu xmm3, xmmword [rsp + rax*2 + 0x100]
paddw xmm3, xmm1
movdqu xmm1, xmmword [rsp + rax*2 + 0x110]
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 + 0x1738], xmm2
movdqu xmmword [rsp + rax*2 + 0x1748], xmm4
add rax, 0x10
cmp rax, 0x108
jne 0x140090340
xor eax, eax
pxor xmm1, xmm1
movdqa xmm8, xmmword [0x1402ae630]
movdqa xmm9, xmmword [0x1402ae640]
movdqa xmm10, xmmword [0x1402ae650]
movdqa xmm11, xmmword [0x1402ae660]
movdqa xmm0, xmmword [0x1402ae670]
nop dword [rax]
movq xmm2, qword [rsp + rax*2 + 0x310]
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 + 0x310], xmm3
add rax, 4
cmp rax, 0x100
jne 0x140090400
mov eax, 0x200
pxor xmm1, xmm1
nop word cs:[rax + rax]
movq xmm2, qword [rsp + rax + 0x310]
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 + 0x310], xmm3
add rax, 8
cmp rax, 0x400
jne 0x1400904d0
mov eax, 0x200
pxor xmm1, xmm1
nop word cs:[rax + rax]
movq xmm2, qword [rsp + rax*2 + 0x310]
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 + 0x310], xmm3
add rax, 4
cmp rax, 0x300
jne 0x1400905a0
lea rdx, [rsp + 0x310]
mov rcx, rbx
mov r8d, 0xa
call fcn.1400918f0
xor eax, eax
pxor xmm0, xmm0
movdqa xmm1, xmmword [0x1402ae680]
nop
movq xmm2, qword [rsp + rax*2 + 0x1748]
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 + 0x1748], xmm3
add rax, 4
cmp rax, 0x100
jne 0x140090680
add rbx, 0x3c0
xor r8d, r8d
lea r9, [0x1402aea20]
xor eax, eax
xor r10d, r10d
jmp 0x14009076c
inc r8
cmp r8, 0x100
je 0x1400907e2
movzx r11d, word [rsp + r8*2 + 0x1748]
xor esi, esi
jmp 0x1400907aa
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 0x140090760
mov edi, 4
sub edi, esi
mov edx, 8
sub edx, eax
cmp edi, edx
jl 0x140090780
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 0x14009079a
test eax, eax
jle 0x1400907e9
mov byte [rbx], r10b
mov rcx, qword [rsp + 0x1948]
xor rcx, rsp
call fcn.14025cd50
movaps xmm6, xmmword [rsp + 0x1950]
movaps xmm7, xmmword [rsp + 0x1960]
movaps xmm8, xmmword [rsp + 0x1970]
movaps xmm9, xmmword [rsp + 0x1980]
movaps xmm10, xmmword [rsp + 0x1990]
movaps xmm11, xmmword [rsp + 0x19a0]
movaps xmm12, xmmword [rsp + 0x19b0]
movaps xmm13, xmmword [rsp + 0x19c0]
movaps xmm14, xmmword [rsp + 0x19d0]
movaps xmm15, xmmword [rsp + 0x19e0]
add rsp, 0x19f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret