Function at 0x1401501e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xde8
movdqa xmmword [rsp + 0xdd0], xmm6
mov rsi, r8
mov rbx, rdx
mov r15, rcx
mov rax, qword [0x1401ea088]
xor rax, rsp
mov qword [rsp + 0xdc8], rax
mov ecx, 0x2bdf
call fcn.1400c0960
test rax, rax
je 0x14015029e
mov r14, rax
mov ebp, r14d
neg ebp
and ebp, 0x1f
mov r12, rax
add r12, rbp
je 0x14015029e
mov r8, r15
mov eax, r8d
neg eax
and eax, 0xf
mov r15d, ebx
neg r15d
and r15d, 0xf
add r15, rbx
movdqu xmm0, xmmword [rsi + 0x578]
movdqu xmm1, xmmword [rsi + 0x588]
movdqu xmmword [r15 + 0x6f0], xmm1
movdqu xmmword [r15 + 0x6e0], xmm0
lea r13, [r12 + 0x15c0]
lea rdi, [rsi + 0x2bc]
cmp r13, rdi
jae 0x1401502c2
lea rcx, [r14 + rbp]
add rcx, 0x1b38
cmp rcx, rsi
jbe 0x1401502c2
xor ecx, ecx
jmp 0x14015034c
xor edi, edi
mov r8d, 0x590
mov rcx, r15
xor edx, edx
call fcn.1401615d0
mov edx, 0x710
mov rcx, rbx
call fcn.1400734f0
jmp 0x1401523ac
xor ecx, ecx
pxor xmm0, xmm0
movdqa xmm1, xmmword [str.UUUUUUUUUUUUUUUU3333333333333333]
movdqa xmm2, xmmword [0x1401d0e80]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x140199610]
nop word cs:[rax + rax]
movq xmm5, qword [rsi + rcx]
punpcklbw xmm5, xmm0
movdqa xmm6, xmm5
pmulhw xmm6, xmm1
pmullw xmm6, xmm2
paddw xmm6, xmm5
movdqa xmm5, xmm6
psraw xmm5, 1
pand xmm5, xmm6
paddw xmm5, xmm3
pand xmm5, xmm6
movdqa xmm6, xmm5
psrlw xmm6, 1
pxor xmm6, xmm4
paddw xmm6, xmm3
por xmm6, xmm5
movdqu xmmword [r13 + rcx*2], xmm6
add rcx, 8
cmp rcx, 0x2b8
jne 0x1401502f0
mov ecx, 0x2b8
add r8, rax
nop
movzx eax, byte [rsi + rcx]
imul edx, eax, 0x5555
shr edx, 0x10
lea edx, [rdx + rdx*2]
sub eax, edx
movsx edx, ax
sar edx, 1
and edx, eax
dec edx
and edx, eax
movzx eax, dx
shr eax, 1
xor eax, 1
dec eax
or eax, edx
mov word [r13 + rcx*2], ax
inc rcx
cmp rcx, 0x2bc
jne 0x140150350
mov qword [rsp + 0xd8], r8
mov qword [r14 + rbp + 0x1b38], 0
movzx eax, word [r14 + rbp + 0x15c0]
movd xmm2, eax
pslldq xmm2, 0xe
lea rax, [r14 + rbp]
add rax, 0x15d2
pxor xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm3, xmmword [rax + rcx*2 - 0x10]
movdqa xmm4, xmm3
pslldq xmm4, 2
psrldq xmm2, 0xe
por xmm2, xmm4
pmullw xmm2, xmm3
paddw xmm0, xmm2
movdqu xmm2, xmmword [rax + rcx*2]
psrldq xmm3, 0xe
movdqa xmm4, xmm2
pslldq xmm4, 2
por xmm4, xmm3
pmullw xmm4, xmm2
paddw xmm1, xmm4
add rcx, 0x10
cmp rcx, 0x2b0
jne 0x1401503d0
pextrw ecx, xmm2, 7
paddw xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddw xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddw xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
paddw xmm0, xmm1
movd eax, xmm0
movzx edx, word [r14 + rbp + 0x1b22]
imul ecx, edx
movzx r8d, word [r14 + rbp + 0x1b24]
imul edx, r8d
add edx, ecx
movzx ecx, word [r14 + rbp + 0x1b26]
imul r8d, ecx
add r8d, edx
movzx edx, word [r14 + rbp + 0x1b28]
imul ecx, edx
add ecx, r8d
movzx r8d, word [r14 + rbp + 0x1b2a]
imul edx, r8d
add edx, ecx
movzx ecx, word [r14 + rbp + 0x1b2c]
imul r8d, ecx
add r8d, edx
movzx edx, word [r14 + rbp + 0x1b2e]
imul ecx, edx
add ecx, r8d
movzx r8d, word [r14 + rbp + 0x1b30]
imul edx, r8d
add edx, ecx
movzx ecx, word [r14 + rbp + 0x1b32]
imul r8d, ecx
add r8d, edx
movzx edx, word [r14 + rbp + 0x1b34]
movzx r9d, word [r14 + rbp + 0x1b36]
imul r9w, dx
imul edx, ecx
add edx, r8d
add r9d, edx
add r9d, eax
movsx eax, r9w
sar eax, 0xf
or eax, 1
lea rcx, [r14 + rbp]
add rcx, 0x15c8
mov rdx, 0xfffffffffffffffa
nop
movzx r8d, word [rcx + rdx*2 + 4]
imul r8w, ax
mov word [rcx + rdx*2 + 4], r8w
movzx r8d, word [rcx + rdx*2 + 8]
imul r8w, ax
mov word [rcx + rdx*2 + 8], r8w
movzx r8d, word [rcx + rdx*2 + 0xc]
imul r8w, ax
mov word [rcx + rdx*2 + 0xc], r8w
add rdx, 6
cmp rdx, 0x2b7
jb 0x140150510
lea rax, [r15 + 0x58]
xor r8d, r8d
mov rdx, r15
xor ecx, ecx
xor r9d, r9d
xor r10d, r10d
jmp 0x14015057c
inc r8
cmp r8, 0x2bd
je 0x1401505eb
movzx r11d, word [r13 + r8*2]
shl r11d, 3
movsx r11d, r11w
mov ebx, r11d
shr ebx, 3
sar r11d, 3
imul r11d, r11d, 0x5555
shr r11d, 0x10
lea r11d, [r11 + r11*2]
sub ebx, r11d
movsx r11d, bx
sar r11d, 1
and r11d, ebx
dec r11d
and r11d, ebx
shrd r9, r11, 1
shr r10, 1
and r11d, 2
shl r11, 0x3e
or r10, r11
or r9, r11
inc ecx
cmp ecx, 0x40
jne 0x140150570
mov qword [rdx], r10
add rdx, 8
mov qword [rax], r9
add rax, 8
xor r10d, r10d
xor r9d, r9d
xor ecx, ecx
jmp 0x140150570
neg cl
shr r10, cl
shr r9, cl
mov qword [rdx], r10
mov qword [rax], r9
lea rcx, [r15 + 0xb0]
mov rdx, r15
call fcn.14014e2d0
lea rbx, [r12 + 0x1b40]
add rsi, 0x578
cmp rbx, rsi
jae 0x140150632
lea rax, [r14 + rbp]
add rax, 0x20b8
cmp rdi, rax
jae 0x140150632
xor eax, eax
jmp 0x1401506c0
xor eax, eax
pxor xmm0, xmm0
movdqa xmm1, xmmword [str.UUUUUUUUUUUUUUUU3333333333333333]
movdqa xmm2, xmmword [0x1401d0e80]
pcmpeqd xmm3, xmm3
movdqa xmm4, xmmword [0x140199610]
nop word cs:[rax + rax]
movq xmm5, qword [rdi + rax]
punpcklbw xmm5, xmm0
movdqa xmm6, xmm5
pmulhw xmm6, xmm1
pmullw xmm6, xmm2
paddw xmm6, xmm5
movdqa xmm5, xmm6
psraw xmm5, 1
pand xmm5, xmm6
paddw xmm5, xmm3
pand xmm5, xmm6
movdqa xmm6, xmm5
psrlw xmm6, 1
pxor xmm6, xmm4
paddw xmm6, xmm3
por xmm6, xmm5
movdqu xmmword [rbx + rax*2], xmm6
add rax, 8
cmp rax, 0x2b8
jne 0x140150660
mov eax, 0x2b8
nop dword [rax]
movzx ecx, byte [rdi + rax]
imul edx, ecx, 0x5555
shr edx, 0x10
lea edx, [rdx + rdx*2]
sub ecx, edx
movsx edx, cx
sar edx, 1
and edx, ecx
dec edx
and edx, ecx
movzx ecx, dx
shr ecx, 1
xor ecx, 1
dec ecx
or ecx, edx
mov word [rbx + rax*2], cx
inc rax
cmp rax, 0x2bc
jne 0x1401506c0
mov qword [r14 + rbp + 0x20b8], 0
movzx eax, word [r14 + rbp + 0x1b40]
movd xmm2, eax
pslldq xmm2, 0xe
lea rax, [r14 + rbp]
add rax, 0x1b52
pxor xmm0, xmm0
xor ecx, ecx
pxor xmm1, xmm1
nop word [rax + rax]
movdqu xmm3, xmmword [rax + rcx*2 - 0x10]
movdqa xmm4, xmm3
pslldq xmm4, 2
psrldq xmm2, 0xe
por xmm2, xmm4
pmullw xmm2, xmm3
paddw xmm0, xmm2
movdqu xmm2, xmmword [rax + rcx*2]
psrldq xmm3, 0xe
movdqa xmm4, xmm2
pslldq xmm4, 2
por xmm4, xmm3
pmullw xmm4, xmm2
paddw xmm1, xmm4
add rcx, 0x10
cmp rcx, 0x2b0
jne 0x140150730
pextrw ecx, xmm2, 7
paddw xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddw xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddw xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
paddw xmm0, xmm1
movd eax, xmm0
movzx edx, word [r14 + rbp + 0x20a2]
imul ecx, edx
movzx r8d, word [r14 + rbp + 0x20a4]
imul edx, r8d
add edx, ecx
movzx ecx, word [r14 + rbp + 0x20a6]
imul r8d, ecx
add r8d, edx
movzx edx, word [r14 + rbp + 0x20a8]
imul ecx, edx
add ecx, r8d
movzx r8d, word [r14 + rbp + 0x20aa]
imul edx, r8d
add edx, ecx
movzx ecx, word [r14 + rbp + 0x20ac]
imul r8d, ecx
add r8d, edx
movzx edx, word [r14 + rbp + 0x20ae]
imul ecx, edx
add ecx, r8d
movzx r8d, word [r14 + rbp + 0x20b0]
imul edx, r8d
add edx, ecx
movzx ecx, word [r14 + rbp + 0x20b2]
imul r8d, ecx
add r8d, edx
movzx edx, word [r14 + rbp + 0x20b4]
movzx r9d, word [r14 + rbp + 0x20b6]
imul r9w, dx
imul edx, ecx
add edx, r8d
add r9d, edx
add r9d, eax
movsx eax, r9w
sar eax, 0xf
or eax, 1
lea rcx, [r14 + rbp]
add rcx, 0x1b48
mov rdx, 0xfffffffffffffffa
nop
movzx r8d, word [rcx + rdx*2 + 4]
imul r8w, ax
mov word [rcx + rdx*2 + 4], r8w
movzx r8d, word [rcx + rdx*2 + 8]
imul r8w, ax
mov word [rcx + rdx*2 + 8], r8w
movzx r8d, word [rcx + rdx*2 + 0xc]
imul r8w, ax
mov word [rcx + rdx*2 + 0xc], r8w
add rdx, 6
cmp rdx, 0x2b7
jb 0x140150870
lea rax, [r14 + rbp]
add rax, 0x1b70
xor ecx, ecx
movdqa xmm0, xmmword [0x1401d0e90]
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rax + rcx*2 - 0x30]
movdqu xmm2, xmmword [rax + rcx*2 - 0x20]
pmullw xmm1, xmm0
pmullw xmm2, xmm0
movdqu xmmword [rax + rcx*2 - 0x30], xmm1
movdqu xmmword [rax + rcx*2 - 0x20], xmm2
cmp rcx, 0x2a0
je 0x14015091d
movdqu xmm1, xmmword [rax + rcx*2 - 0x10]
movdqu xmm2, xmmword [rax + rcx*2]
pmullw xmm1, xmm0
pmullw xmm2, xmm0
movdqu xmmword [rax + rcx*2 - 0x10], xmm1
movdqu xmmword [rax + rcx*2], xmm2
add rcx, 0x20
jmp 0x1401508d0
movzx eax, word [r14 + rbp + 0x20a0]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20a0], ax
movzx eax, word [r14 + rbp + 0x20a2]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20a2], ax
movzx eax, word [r14 + rbp + 0x20a4]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20a4], ax
movzx eax, word [r14 + rbp + 0x20a6]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20a6], ax
movzx eax, word [r14 + rbp + 0x20a8]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20a8], ax
movzx eax, word [r14 + rbp + 0x20aa]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20aa], ax
movzx eax, word [r14 + rbp + 0x20ac]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20ac], ax
movzx eax, word [r14 + rbp + 0x20ae]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20ae], ax
movzx eax, word [r14 + rbp + 0x20b0]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20b0], ax
movzx eax, word [r14 + rbp + 0x20b2]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20b2], ax
movzx eax, word [r14 + rbp + 0x20b4]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20b4], ax
movzx eax, word [r14 + rbp + 0x20b6]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20b6], ax
lea rcx, [r14 + rbp + 0x20b8]
movzx eax, word [r14 + rbp + 0x20b8]
lea eax, [rax + rax*2]
mov word [r14 + rbp + 0x20b8], ax
xor edx, edx
mov r8d, eax
nop dword [rax + rax]
movzx r9d, word [rcx + rdx*2 - 2]
mov r10d, r9d
sub r10d, r8d
mov word [rcx + rdx*2], r10w
movzx r8d, word [rcx + rdx*2 - 4]
mov r10d, r8d
sub r10d, r9d
mov word [rcx + rdx*2 - 2], r10w
movzx r9d, word [rcx + rdx*2 - 6]
mov r10d, r9d
sub r10d, r8d
mov word [rcx + rdx*2 - 4], r10w
movzx r10d, word [rcx + rdx*2 - 8]
mov r8d, r10d
sub r8d, r9d
mov word [rcx + rdx*2 - 6], r8w
movzx r8d, word [rcx + rdx*2 - 0xa]
mov r9d, r8d
sub r9d, r10d
mov word [rcx + rdx*2 - 8], r9w
add rdx, 0xfffffffffffffffb
cmp rdx, 0xfffffffffffffd44
jne 0x140150a40
sub ax, word [r12 + 0x1b40]
mov word [r12 + 0x1b40], ax
lea rsi, [r12 + 0x20c0]
lea rdx, [r12 + 0xb00]
mov qword [rsp + 0x20], 0x58
mov rcx, r12
mov qword [rsp + 0x30], rdx
mov r8, r13
mov r9, rbx
call fcn.140154690
movdqa xmm0, xmmword [r12 + 0x570]
xor eax, eax
movdqa xmm1, xmmword [r12 + rax + 0x580]
movdqa xmm2, xmm1
pslldq xmm2, 6
psrldq xmm0, 0xa
por xmm0, xmm2
paddw xmm0, xmmword [r12 + rax]
movdqa xmmword [r12 + rax + 0x20c0], xmm0
add rax, 0x10
movdqa xmm0, xmm1
cmp rax, 0x580
jne 0x140150af0
mov word [rsi + 0x57e], 0
mov dword [rsi + 0x57a], 0
lea rcx, [rsp + 0x790]
mov r8d, 0x580
mov dl, 0xaa
call fcn.1401615d0
lea rcx, [rsp + 0x210]
mov r8d, 0x580
mov dl, 0xaa
call fcn.1401615d0
mov rax, r12
neg rax
add rax, rsp
add rax, 0xffffffffffffe6d0
cmp rax, 0x20
jae 0x140150b82
xor eax, eax
jmp 0x140150bff
lea rax, [r14 + rbp]
add rax, 0x20f0
xor ecx, ecx
nop
movdqu xmm0, xmmword [rax + rcx*2 - 0x30]
movdqu xmm1, xmmword [rax + rcx*2 - 0x20]
pxor xmm2, xmm2
psubw xmm2, xmm0
pxor xmm0, xmm0
psubw xmm0, xmm1
movdqa xmmword [rsp + rcx*2 + 0x790], xmm2
movdqa xmmword [rsp + rcx*2 + 0x7a0], xmm0
cmp rcx, 0x2a0
je 0x140150bfa
movdqu xmm0, xmmword [rax + rcx*2 - 0x10]
movdqu xmm1, xmmword [rax + rcx*2]
pxor xmm2, xmm2
psubw xmm2, xmm0
pxor xmm0, xmm0
psubw xmm0, xmm1
movdqa xmmword [rsp + rcx*2 + 0x7b0], xmm2
movdqa xmmword [rsp + rcx*2 + 0x7c0], xmm0
add rcx, 0x20
jmp 0x140150b90
mov eax, 0x2b0
add rax, 0x1063
mov ecx, 1
nop word [rax + rax]
xor edx, edx
sub dx, word [r12 + rax*2 - 6]
mov word [rsp + rax*2 - 0x1936], dx
inc rax
dec rcx
jne 0x140150c10
nop dword [rax + rax]
xor ecx, ecx
sub cx, word [r12 + rax*2 - 6]
mov word [rsp + rax*2 - 0x1936], cx
xor ecx, ecx
sub cx, word [r12 + rax*2 - 4]
mov word [rsp + rax*2 - 0x1934], cx
xor ecx, ecx
sub cx, word [r12 + rax*2 - 2]
mov word [rsp + rax*2 - 0x1932], cx
xor ecx, ecx
sub cx, word [r12 + rax*2]
mov word [rsp + rax*2 - 0x1930], cx
add rax, 4
cmp rax, 0x1320
jne 0x140150c30
mov word [rsp + 0xd0e], 0
mov dword [rsp + 0xd0a], 0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xd60], rax
movdqa xmm0, xmmword [section..rdata]
movdqa xmmword [rsp + 0xd50], xmm0
movdqa xmmword [rsp + 0xd40], xmm0
movdqa xmmword [rsp + 0xd30], xmm0
movdqa xmmword [rsp + 0xd20], xmm0
movdqa xmmword [rsp + 0xd10], xmm0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xd70], xmm0
movdqa xmmword [rsp + 0xd80], xmm0
movdqa xmmword [rsp + 0xd90], xmm0
movdqa xmmword [rsp + 0xda0], xmm0
movdqa xmmword [rsp + 0xdb0], xmm0
mov qword [rsp + 0xdc0], 0
lea rdx, [r14 + rbp]
add rdx, 0x20c2
lea rax, [rsp + 0xd10]
xor r8d, r8d
xor r9d, r9d
xor ecx, ecx
mov qword [rsp + 0x1d8], r12
jmp 0x140150d44
add r8, 2
movzx r10d, word [rdx + r8*2 - 2]
shld r10, r9, 0x3f
inc ecx
cmp ecx, 0x40
jne 0x140150d62
mov qword [rax], r10
add rax, 8
xor ecx, ecx
xor r10d, r10d
cmp r8, 0x2bc
je 0x140150d8a
movzx r9d, word [rdx + r8*2]
shld r9, r10, 0x3f
inc ecx
cmp ecx, 0x40
jne 0x140150d40
mov qword [rax], r9
add rax, 8
xor ecx, ecx
xor r9d, r9d
jmp 0x140150d40
mov qword [rsp + 0x1c8], rbx
mov qword [rsp + 0x1a8], rbp
mov qword [rsp + 0x1d0], r13
mov qword [rsp + 0x1e0], r15
mov qword [rsp + 0x1b0], r14
neg cl
shr r10, cl
mov qword [rax], r10
mov r15, qword [rsp + 0xd60]
lea rax, [r15*8]
sar rax, 0x3f
mov r14, qword [rsp + 0xd10]
xor r14, rax
mov rbx, qword [rsp + 0xd18]
xor rbx, rax
mov rsi, qword [rsp + 0xd20]
xor rsi, rax
mov rdi, qword [rsp + 0xd28]
xor rdi, rax
mov r11, qword [rsp + 0xd30]
xor r11, rax
mov r10, qword [rsp + 0xd38]
xor r10, rax
mov r9, qword [rsp + 0xd40]
xor r9, rax
mov rcx, qword [rsp + 0xd48]
xor rcx, rax
mov rdx, qword [rsp + 0xd50]
xor rdx, rax
mov r13, qword [rsp + 0xd58]
xor r13, rax
xor rax, r15
bswap r14
mov r15, r14
shr r15, 4
movabs r12, 0xf0f0f0f0f0f0f0f
and r15, r12
and r14, r12
shl r14, 4
or r14, r15
movabs r8, 0x3333333333333333
mov r15, r14
and r15, r8
shr r14, 2
and r14, r8
lea r14, [r14 + r15*4]
movabs rbp, 0x5555555555555555
mov r15, r14
and r15, rbp
shr r14, 1
and r14, rbp
bswap rbx
lea r14, [r14 + r15*2]
mov qword [rsp + 0xe0], r14
mov r14, rbx
shr r14, 4
and r14, r12
and rbx, r12
shl rbx, 4
or rbx, r14
mov r14, rbx
and r14, r8
shr rbx, 2
and rbx, r8
lea rbx, [rbx + r14*4]
mov r14, rbx
and r14, rbp
shr rbx, 1
and rbx, rbp
lea rbx, [rbx + r14*2]
mov qword [rsp + 0x98], rbx
bswap rsi
mov rbx, rsi
shr rbx, 4
and rbx, r12
and rsi, r12
shl rsi, 4
or rsi, rbx
mov rbx, rsi
and rbx, r8
shr rsi, 2
and rsi, r8
lea rsi, [rsi + rbx*4]
mov rbx, rsi
and rbx, rbp
shr rsi, 1
and rsi, rbp
bswap rdi
lea rsi, [rsi + rbx*2]
mov qword [rsp + 0x90], rsi
mov rsi, rdi
shr rsi, 4
and rsi, r12
and rdi, r12
shl rdi, 4
or rdi, rsi
mov rsi, rdi
and rsi, r8
shr rdi, 2
and rdi, r8
lea rsi, [rdi + rsi*4]
mov rdi, rsi
and rdi, rbp
shr rsi, 1
and rsi, rbp
lea rsi, [rsi + rdi*2]
mov qword [rsp + 0x88], rsi
bswap r11
mov rsi, r11
shr rsi, 4
and rsi, r12
and r11, r12
shl r11, 4
or r11, rsi
mov rsi, r11
and rsi, r8
shr r11, 2
and r11, r8
lea r11, [r11 + rsi*4]
mov rsi, r11
and rsi, rbp
shr r11, 1
and r11, rbp
bswap r10
lea r14, [r11 + rsi*2]
mov r11, r10
shr r11, 4
and r11, r12
and r10, r12
shl r10, 4
or r10, r11
mov r11, r10
and r11, r8
shr r10, 2
and r10, r8
lea r10, [r10 + r11*4]
mov r11, r10
and r11, rbp
shr r10, 1
and r10, rbp
lea rbx, [r10 + r11*2]
bswap r9
mov r10, r9
shr r10, 4
and r10, r12
and r9, r12
shl r9, 4
or r9, r10
mov r10, r9
and r10, r8
shr r9, 2
and r9, r8
lea r9, [r9 + r10*4]
mov r10, r9
and r10, rbp
shr r9, 1
and r9, rbp
bswap rcx
lea rdi, [r9 + r10*2]
mov r9, rcx
shr r9, 4
and r9, r12
and rcx, r12
shl rcx, 4
or rcx, r9
mov r9, rcx
and r9, r8
shr rcx, 2
and rcx, r8
lea rcx, [rcx + r9*4]
mov r9, rcx
and r9, rbp
shr rcx, 1
and rcx, rbp
lea r15, [rcx + r9*2]
bswap rdx
mov rcx, rdx
shr rcx, 4
and rcx, r12
and rdx, r12
shl rdx, 4
or rdx, rcx
mov rcx, rdx
and rcx, r8
shr rdx, 2
and rdx, r8
lea rdx, [rdx + rcx*4]
mov rcx, rdx
and rcx, rbp
shr rdx, 1
and rdx, rbp
bswap r13
lea r10, [rdx + rcx*2]
mov rdx, r13
shr rdx, 4
and rdx, r12
and r13, r12
shl r13, 4
or r13, rdx
mov rdx, r13
and rdx, r8
shr r13, 2
and r13, r8
lea rcx, [rdx*4]
add rcx, r13
mov rdx, rcx
and rdx, rbp
shr rcx, 1
and rcx, rbp
lea rsi, [rcx + rdx*2]
bswap rax
mov rcx, rax
shr rcx, 4
and rcx, r12
and rax, r12
shl rax, 4
or rax, rcx
mov rcx, rax
and rcx, r8
shr rax, 2
and rax, r8
lea rax, [rax + rcx*4]
movabs rdx, 0x5555555555555550
mov rcx, rax
and rcx, rdx
shr rax, 1
and rax, rdx
mov r9, qword [rsp + 0xe0]
lea r11, [rax + rcx*2]
shrd r11, rsi, 4
shrd rsi, r10, 4
mov qword [rsp + 0x48], rsi
shrd r10, r15, 4
mov qword [rsp + 0x40], r10
shrd r15, rdi, 4
mov qword [rsp + 0x38], r15
shrd rdi, rbx, 4
mov rsi, rdi
shrd rbx, r14, 4
mov rax, qword [rsp + 0x88]
shrd r14, rax, 4
mov qword [rsp + 0x80], r14
mov rcx, qword [rsp + 0x90]
shrd rax, rcx, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x98]
shrd rcx, rax, 4
mov qword [rsp + 0x90], rcx
shrd rax, r9, 4
mov qword [rsp + 0x98], rax
shr r9, 4
mov rax, qword [rsp + 0xd70]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xd78]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xd80]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xd88]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xd90]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xd98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0xda0]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xda8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xdb0]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0xdb8]
mov qword [rsp + 0x78], rax
mov eax, 1
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x140], 0xffffffffffffffff
movabs rax, 0x1fffffffffffffff
mov qword [rsp + 0x138], rax
mov ebp, 1
mov ecx, 0x577
xor eax, eax
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0xdc0]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x130], 0xffffffffffffffff
mov qword [rsp + 0x128], 0xffffffffffffffff
mov qword [rsp + 0x120], 0xffffffffffffffff
mov qword [rsp + 0x118], 0xffffffffffffffff
mov qword [rsp + 0x110], 0xffffffffffffffff
mov qword [rsp + 0x108], 0xffffffffffffffff
mov qword [rsp + 0x100], 0xffffffffffffffff
mov qword [rsp + 0xf8], 0xffffffffffffffff
mov qword [rsp + 0xf0], 0xffffffffffffffff
mov eax, 0
mov qword [rsp + 0x198], rax
mov eax, 0
mov r10d, 0
mov qword [rsp + 0x190], r10
mov r8d, 0
mov qword [rsp + 0x160], r8
mov r13d, 0
mov qword [rsp + 0x188], r13
mov r14d, 0
mov qword [rsp + 0x180], r14
mov r14d, 0
mov qword [rsp + 0x178], r14
mov r8d, 0
mov qword [rsp + 0x170], r8
mov r8d, 0
mov qword [rsp + 0x168], r8
nop dword [rax + rax]
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x208], rcx
mov eax, ebp
mov dword [rsp + 0x1a4], ebp
shr eax, 0x1f
dec rax
mov ecx, r11d
and ecx, 1
neg rcx
and rcx, rax
mov r12, qword [rsp + 0x78]
shld qword [rsp + 0xc0], r12, 1
mov rax, qword [rsp + 0x70]
shld r12, rax, 1
mov qword [rsp + 0x78], r12
mov r8, qword [rsp + 0x68]
shld rax, r8, 1
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x60]
shld r8, rax, 1
mov qword [rsp + 0x68], r8
mov r8, qword [rsp + 0x58]
shld rax, r8, 1
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x50]
shld r8, rax, 1
mov qword [rsp + 0x58], r8
mov r13, qword [rsp + 0xb8]
shld rax, r13, 1
mov qword [rsp + 0x50], rax
mov r14, qword [rsp + 0xb0]
shld r13, r14, 1
mov qword [rsp + 0xb8], r13
mov rdi, qword [rsp + 0xa8]
shld r14, rdi, 1
mov qword [rsp + 0xb0], r14
mov rdx, qword [rsp + 0xa0]
shld rdi, rdx, 1
mov qword [rsp + 0xa8], rdi
add rdx, rdx
mov qword [rsp + 0xa0], rdx
mov r8, r9
mov qword [rsp + 0xe0], r9
mov r12, qword [rsp + 0xf0]
mov r9d, r12d
and r9d, r11d
test ebp, ebp
mov eax, 0
cmovne rax, rcx
mov rcx, r11
xor rcx, r12
and rcx, rax
xor r12, rcx
mov qword [rsp + 0xf0], r12
xor rcx, r11
mov qword [rsp + 0x1b8], rcx
mov rcx, qword [rsp + 0x48]
mov r11, rcx
mov r10, qword [rsp + 0xf8]
xor r11, r10
and r11, rax
xor r10, r11
mov qword [rsp + 0xf8], r10
xor r11, rcx
mov qword [rsp + 0xd0], r11
mov rcx, qword [rsp + 0x40]
mov r11, rcx
mov r10, qword [rsp + 0x100]
xor r11, r10
and r11, rax
xor r10, r11
mov qword [rsp + 0x100], r10
xor r11, rcx
mov qword [rsp + 0x48], r11
mov r15, qword [rsp + 0x38]
mov rcx, r15
mov r11, qword [rsp + 0x108]
xor rcx, r11
and rcx, rax
xor r11, rcx
mov qword [rsp + 0x108], r11
xor rcx, r15
mov qword [rsp + 0x200], rcx
mov rcx, rsi
mov r10, qword [rsp + 0x110]
xor rcx, r10
and rcx, rax
xor r10, rcx
mov qword [rsp + 0x110], r10
xor rcx, rsi
mov qword [rsp + 0x40], rcx
mov rcx, rbx
mov r10, qword [rsp + 0x118]
xor rcx, r10
and rcx, rax
xor r10, rcx
mov qword [rsp + 0x118], r10
xor rcx, rbx
mov qword [rsp + 0x38], rcx
mov rbp, qword [rsp + 0x160]
mov r15, qword [rsp + 0x80]
mov r10, r15
mov rcx, qword [rsp + 0x120]
xor r10, rcx
and r10, rax
xor rcx, r10
mov qword [rsp + 0x120], rcx
xor r10, r15
mov qword [rsp + 0x80], r10
mov rcx, qword [rsp + 0x88]
mov rbx, rcx
mov r11, qword [rsp + 0x128]
xor rbx, r11
and rbx, rax
xor r11, rbx
mov qword [rsp + 0x128], r11
xor rbx, rcx
mov rcx, qword [rsp + 0x90]
mov r12, rcx
mov r11, qword [rsp + 0x130]
xor r12, r11
and r12, rax
xor r11, r12
mov qword [rsp + 0x130], r11
xor r12, rcx
mov rcx, qword [rsp + 0x98]
mov rsi, rcx
mov r11, qword [rsp + 0x140]
xor rsi, r11
and rsi, rax
xor r11, rsi
mov qword [rsp + 0x140], r11
xor rsi, rcx
xor r8, qword [rsp + 0x138]
and r8, rax
mov qword [rsp + 0x148], r8
xor rdx, qword [rsp + 0xe8]
and rdx, rax
mov qword [rsp + 0x150], rdx
mov rcx, qword [rsp + 0x168]
xor rdi, rcx
and rdi, rax
mov qword [rsp + 0x158], rdi
mov rcx, qword [rsp + 0x170]
xor r14, rcx
and r14, rax
mov qword [rsp + 0x1f8], r14
mov rcx, qword [rsp + 0x178]
xor r13, rcx
and r13, rax
mov qword [rsp + 0x1f0], r13
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x180]
xor rdx, rcx
and rdx, rax
mov qword [rsp + 0x1e8], rdx
mov r14, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x188]
xor r14, rcx
and r14, rax
mov rdi, qword [rsp + 0x60]
xor rdi, rbp
and rdi, rax
mov rcx, qword [rsp + 0x190]
mov r13, qword [rsp + 0x68]
xor r13, rcx
and r13, rax
mov r11, qword [rsp + 0x70]
xor r11, qword [rsp + 0x1c0]
and r11, rax
mov rcx, qword [rsp + 0x198]
mov r8, qword [rsp + 0x78]
xor r8, rcx
and r8, rax
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rcx
xor rdx, rcx
and rdx, rax
mov rbp, rax
mov rcx, rax
not rbp
mov r15d, dword [rsp + 0x1a4]
and ebp, r15d
neg r15d
and ecx, r15d
and r9d, 1
neg r9
mov r15, qword [rsp + 0xf0]
and r15, r9
xor qword [rsp + 0x1b8], r15
mov r15, qword [rsp + 0xf8]
and r15, r9
xor qword [rsp + 0xd0], r15
mov r15, qword [rsp + 0x100]
and r15, r9
xor qword [rsp + 0x48], r15
mov r15, qword [rsp + 0x110]
and r15, r9
xor qword [rsp + 0x40], r15
mov r15, qword [rsp + 0x118]
and r15, r9
xor qword [rsp + 0x38], r15
mov r15, qword [rsp + 0x128]
and r15, r9
xor rbx, r15
mov r15, qword [rsp + 0x130]
and r15, r9
xor r12, r15
mov r15, qword [rsp + 0x140]
and r15, r9
xor rsi, r15
mov r10, qword [rsp + 0x148]
mov rax, qword [rsp + 0x138]
xor rax, r10
xor r10, qword [rsp + 0xe0]
mov qword [rsp + 0x138], rax
mov r15, rax
and r15, r9
xor r10, r15
mov qword [rsp + 0x148], r10
shld r10, rsi, 0x3f
mov qword [rsp + 0x98], r10
shld rsi, r12, 0x3f
mov qword [rsp + 0x90], rsi
mov rsi, qword [rsp + 0x120]
and rsi, r9
shld r12, rbx, 0x3f
mov qword [rsp + 0x88], r12
mov rax, qword [rsp + 0x80]
xor rax, rsi
shld rbx, rax, 0x3f
mov qword [rsp + 0x80], rbx
mov rbx, rax
mov rsi, qword [rsp + 0x38]
shld rbx, rsi, 0x3f
mov r10, qword [rsp + 0x108]
and r10, r9
mov r12, qword [rsp + 0x40]
shld rsi, r12, 0x3f
mov r15, qword [rsp + 0x200]
xor r15, r10
mov r10, r12
shld r10, r15, 0x3f
mov qword [rsp + 0x38], r10
mov r12, qword [rsp + 0x48]
shld r15, r12, 0x3f
mov qword [rsp + 0x40], r15
mov r15, r12
mov rax, qword [rsp + 0xd0]
shld r15, rax, 0x3f
mov qword [rsp + 0x48], r15
mov r15, qword [rsp + 0x1b8]
shld rax, r15, 0x3f
mov qword [rsp + 0xd0], rax
or ebp, ecx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x150]
xor rax, rcx
xor rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xa0], rax
and rax, r9
xor rcx, rax
mov qword [rsp + 0x150], rcx
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x158]
xor rax, rcx
xor rcx, qword [rsp + 0x168]
mov qword [rsp + 0xa8], rax
and rax, r9
xor rcx, rax
mov qword [rsp + 0x158], rcx
mov rax, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x1f8]
xor rax, r12
xor r12, qword [rsp + 0x170]
mov qword [rsp + 0xb0], rax
and rax, r9
xor r12, rax
mov rax, qword [rsp + 0xb8]
mov r15, qword [rsp + 0x1f0]
xor rax, r15
xor r15, qword [rsp + 0x178]
mov qword [rsp + 0xb8], rax
and rax, r9
xor r15, rax
mov rax, qword [rsp + 0x50]
mov r10, qword [rsp + 0x1e8]
xor rax, r10
xor r10, qword [rsp + 0x180]
mov qword [rsp + 0x50], rax
and rax, r9
xor r10, rax
mov rax, qword [rsp + 0x58]
xor rax, r14
xor r14, qword [rsp + 0x188]
mov qword [rsp + 0x58], rax
and rax, r9
xor r14, rax
mov rax, qword [rsp + 0x60]
xor rax, rdi
xor rdi, qword [rsp + 0x160]
mov qword [rsp + 0x60], rax
and rax, r9
xor rdi, rax
mov rax, qword [rsp + 0x68]
xor rax, r13
xor r13, qword [rsp + 0x190]
mov qword [rsp + 0x68], rax
and rax, r9
xor r13, rax
mov rax, qword [rsp + 0x70]
xor rax, r11
xor r11, qword [rsp + 0x1c0]
mov qword [rsp + 0x70], rax
and rax, r9
xor r11, rax
mov rax, qword [rsp + 0x78]
xor rax, r8
xor r8, qword [rsp + 0x198]
mov qword [rsp + 0x78], rax
and rax, r9
xor r8, rax
mov rax, qword [rsp + 0xc0]
xor rax, rdx
xor rdx, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], rax
and r9, rax
xor rdx, r9
mov r9, qword [rsp + 0x148]
inc ebp
shr r9, 1
mov qword [rsp + 0xc8], rdx
mov rcx, qword [rsp + 0x208]
mov qword [rsp + 0x198], r8
mov rax, r11
mov qword [rsp + 0x190], r13
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x188], r14
mov qword [rsp + 0x180], r10
mov qword [rsp + 0x178], r15
mov qword [rsp + 0x170], r12
mov r8, qword [rsp + 0x158]
mov qword [rsp + 0x168], r8
mov rdx, qword [rsp + 0x150]
mov qword [rsp + 0xe8], rdx
mov r11, qword [rsp + 0xd0]
dec rcx
jne 0x140151340
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xd18], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xd20], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0xd28], rax
mov qword [rsp + 0xd30], rsi
mov qword [rsp + 0xd38], rbx
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xd40], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xd48], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xd50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xd58], rax
mov qword [rsp + 0xd60], r9
mov rcx, qword [rsp + 0xa0]
bswap rcx
mov rax, rcx
shr rax, 4
movabs r12, 0xf0f0f0f0f0f0f0f
and rax, r12
and rcx, r12
shl rcx, 4
or rcx, rax
mov rax, rcx
movabs r15, 0x3333333333333333
and rax, r15
shr rcx, 2
and rcx, r15
lea rax, [rcx + rax*4]
mov rcx, rax
movabs r13, 0x5555555555555555
and rcx, r13
shr rax, 1
and rax, r13
lea r10, [rax + rcx*2]
mov rcx, qword [rsp + 0xa8]
bswap rcx
mov rax, rcx
shr rax, 4
and rax, r12
and rcx, r12
shl rcx, 4
or rcx, rax
mov rax, rcx
and rax, r15
shr rcx, 2
and rcx, r15
lea rax, [rcx + rax*4]
mov rdx, rax
and rdx, r13
shr rax, 1
and rax, r13
lea rdx, [rax + rdx*2]
mov rcx, qword [rsp + 0xb0]
bswap rcx
mov rax, rcx
shr rax, 4
and rax, r12
and rcx, r12
shl rcx, 4
or rcx, rax
mov rax, rcx
and rax, r15
shr rcx, 2
and rcx, r15
lea rax, [rcx + rax*4]
mov r8, rax
and r8, r13
shr rax, 1
and rax, r13
lea r9, [rax + r8*2]
mov rcx, qword [rsp + 0xb8]
bswap rcx
mov rax, rcx
shr rax, 4
and rax, r12
and rcx, r12
shl rcx, 4
or rcx, rax
mov rax, rcx
and rax, r15
shr rcx, 2
and rcx, r15
lea rax, [rcx + rax*4]
mov r8, rax
and r8, r13
shr rax, 1
and rax, r13
lea rcx, [rax + r8*2]
mov r8, qword [rsp + 0x50]
bswap r8
mov rax, r8
shr rax, 4
and rax, r12
and r8, r12
shl r8, 4
or r8, rax
mov rax, r8
and rax, r15
shr r8, 2
and r8, r15
lea rax, [r8 + rax*4]
mov r8, rax
and r8, r13
shr rax, 1
and rax, r13
lea rax, [rax + r8*2]
mov r11, qword [rsp + 0x58]
bswap r11
mov r8, r11
shr r8, 4
and r8, r12
and r11, r12
shl r11, 4
or r11, r8
mov r8, r11
and r8, r15
shr r11, 2
and r11, r15
lea r8, [r11 + r8*4]
mov r11, r8
and r11, r13
shr r8, 1
and r8, r13
lea r8, [r8 + r11*2]
mov rsi, qword [rsp + 0x60]
bswap rsi
mov r11, rsi
shr r11, 4
and r11, r12
and rsi, r12
shl rsi, 4
or rsi, r11
mov r11, rsi
and r11, r15
shr rsi, 2
and rsi, r15
lea r11, [rsi + r11*4]
mov rsi, r11
and rsi, r13
shr r11, 1
and r11, r13
lea r11, [r11 + rsi*2]
mov rdi, qword [rsp + 0x68]
bswap rdi
mov rsi, rdi
shr rsi, 4
and rsi, r12
and rdi, r12
shl rdi, 4
or rdi, rsi
mov rsi, rdi
and rsi, r15
shr rdi, 2
and rdi, r15
lea rsi, [rdi + rsi*4]
mov rdi, rsi
and rdi, r13
shr rsi, 1
and rsi, r13
lea rdi, [rsi + rdi*2]
mov rbx, qword [rsp + 0x70]
bswap rbx
mov rsi, rbx
shr rsi, 4
and rsi, r12
and rbx, r12
shl rbx, 4
or rbx, rsi
mov rsi, rbx
and rsi, r15
shr rbx, 2
and rbx, r15
lea rsi, [rbx + rsi*4]
mov rbx, rsi
and rbx, r13
shr rsi, 1
and rsi, r13
lea rbx, [rsi + rbx*2]
mov r14, qword [rsp + 0x78]
bswap r14
mov rsi, r14
shr rsi, 4
and rsi, r12
and r14, r12
shl r14, 4
or r14, rsi
mov rsi, r14
and rsi, r15
shr r14, 2
and r14, r15
lea rsi, [r14 + rsi*4]
mov r14, rsi
and r14, r13
shr rsi, 1
and rsi, r13
lea r14, [rsi + r14*2]
mov r13, qword [rsp + 0xc0]
bswap r13
mov rsi, r13
shr rsi, 4
and rsi, r12
and r13, r12
shl r13, 4
or r13, rsi
mov rsi, r13
and rsi, r15
shr r13, 2
and r13, r15
lea rsi, [rsi*4]
add rsi, r13
mov r15, rsi
movabs r12, 0x5555555555555550
and r15, r12
shr rsi, 1
and rsi, r12
lea rsi, [rsi + r15*2]
shrd rsi, r14, 4
shrd r14, rbx, 4
mov qword [rsp + 0xd78], r14
shrd rbx, rdi, 4
mov qword [rsp + 0xd80], rbx
shrd rdi, r11, 4
shrd r11, r8, 4
mov qword [rsp + 0xd88], rdi
mov qword [rsp + 0xd90], r11
shrd r8, rax, 4
mov qword [rsp + 0xd98], r8
shrd rax, rcx, 4
mov qword [rsp + 0xda0], rax
mov r12, qword [rsp + 0x1d8]
lea rbp, [r12 + 0x2640]
shrd rcx, r9, 4
mov qword [rsp + 0xda8], rcx
shrd r9, rdx, 4
shrd rdx, r10, 4
mov qword [rsp + 0xdb0], r9
mov qword [rsp + 0xdb8], rdx
shr r10, 4
mov qword [rsp + 0xdc0], r10
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x1a8]
add rax, rcx
add rax, 0x2642
lea rcx, [rsp + 0xd70]
xor edx, edx
xor r8d, r8d
mov r13, qword [rsp + 0x1d0]
jmp 0x140151e97
shr rsi, 1
add rdx, 2
mov r9d, esi
and r9d, 1
mov word [rax + rdx*2 - 2], r9w
inc r8d
cmp r8d, 0x40
jne 0x140151ed0
mov rsi, qword [rcx + 8]
add rcx, 8
xor r8d, r8d
cmp rdx, 0x2bc
jne 0x140151edc
jmp 0x140151f02
shr rsi, 1
cmp rdx, 0x2bc
je 0x140151f02
mov r9d, esi
and r9d, 1
mov word [rax + rdx*2], r9w
inc r8d
cmp r8d, 0x40
jne 0x140151e90
mov rsi, qword [rcx + 8]
add rcx, 8
xor r8d, r8d
add rdx, 2
jmp 0x140151e97
lea rsi, [rbp + 0x57a]
mov word [rbp + 0x57e], 0
mov dword [rbp + 0x57a], 0
xor r14d, r14d
lea r15, [rsp + 0x78a]
lea rbx, [rsp + 0x790]
lea rdi, [rsp + 0x210]
nop word [rax + rax]
mov qword [rsp + 0x20], 0x58
mov rcx, r12
mov rdx, qword [rsp + 0x30]
mov r8, rbx
mov r9, rbp
call fcn.140154690
movdqa xmm0, xmmword [r12 + 0x570]
xor eax, eax
nop dword [rax + rax]
movdqa xmm1, xmmword [r12 + rax + 0x580]
movdqa xmm2, xmm1
pslldq xmm2, 6
psrldq xmm0, 0xa
por xmm0, xmm2
paddw xmm0, xmmword [r12 + rax]
movdqa xmmword [rsp + rax + 0x210], xmm0
add rax, 0x10
movdqa xmm0, xmm1
cmp rax, 0x580
jne 0x140151f70
mov word [r15 + 4], 0
mov dword [r15], 0
add word [rsp + 0x210], 2
mov qword [rsp + 0x20], 0x58
mov rcx, r12
mov rdx, qword [rsp + 0x30]
mov r8, rbp
mov r9, rdi
call fcn.140154690
movdqa xmm0, xmmword [r12 + 0x570]
xor eax, eax
nop word [rax + rax]
movdqa xmm1, xmmword [r12 + rax + 0x580]
movdqa xmm2, xmm1
pslldq xmm2, 6
psrldq xmm0, 0xa
por xmm0, xmm2
paddw xmm0, xmmword [r12 + rax]
movdqa xmmword [r12 + rax + 0x2640], xmm0
add rax, 0x10
movdqa xmm0, xmm1
cmp rax, 0x580
jne 0x140151ff0
mov word [rsi + 4], 0
mov dword [rsi], 0
inc r14d
cmp r14d, 4
jne 0x140151f40
mov qword [rsp + 0x20], 0x58
mov rcx, r12
mov rdx, qword [rsp + 0x30]
mov r8, rbp
mov rbx, qword [rsp + 0x1c8]
mov r9, rbx
call fcn.140154690
mov r14, qword [rsp + 0x1b0]
mov rax, qword [rsp + 0x1a8]
lea rdi, [rax + r14]
add rdi, 0x580
xor eax, eax
mov rcx, qword [rsp + 0xd8]
nop
movdqa xmm0, xmmword [rdi + rax - 0x10]
movdqa xmm1, xmmword [rdi + rax]
psrldq xmm0, 0xa
pslldq xmm1, 6
por xmm1, xmm0
paddw xmm1, xmmword [rdi + rax - 0x580]
movdqa xmmword [rcx + rax], xmm1
add rax, 0x10
cmp rax, 0x580
jne 0x140152090
lea rsi, [rcx + 0x57a]
mov word [rcx + 0x57e], 0
mov dword [rcx + 0x57a], 0
mov qword [rsp + 0x20], 0x58
mov rcx, r12
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0xd8]
mov r9, rbx
call fcn.140154690
mov rcx, qword [rsp + 0xd8]
xor eax, eax
mov r15, qword [rsp + 0x1e0]
movdqa xmm0, xmmword [rdi + rax - 0x10]
movdqa xmm1, xmmword [rdi + rax]
psrldq xmm0, 0xa
pslldq xmm1, 6
por xmm1, xmm0
paddw xmm1, xmmword [rdi + rax - 0x580]
movdqa xmmword [rcx + rax], xmm1
add rax, 0x10
cmp rax, 0x580
jne 0x140152110
mov word [rsi + 4], 0
mov dword [rsi], 0
mov eax, 0x18
movdqa xmm6, xmmword [0x1401d0ea0]
nop dword [rax]
movdqu xmm0, xmmword [rcx + rax*2 - 0x30]
movdqu xmm1, xmmword [rcx + rax*2 - 0x20]
pand xmm0, xmm6
pand xmm1, xmm6
movdqu xmmword [rcx + rax*2 - 0x30], xmm0
movdqu xmmword [rcx + rax*2 - 0x20], xmm1
cmp rax, 0x2b8
je 0x1401521ac
movdqu xmm0, xmmword [rcx + rax*2 - 0x10]
movdqu xmm1, xmmword [rcx + rax*2]
pand xmm0, xmm6
pand xmm1, xmm6
movdqu xmmword [rcx + rax*2 - 0x10], xmm0
movdqu xmmword [rcx + rax*2], xmm1
add rax, 0x20
jmp 0x140152160
and byte [rcx + 0x561], 0x1f
and byte [rcx + 0x563], 0x1f
and byte [rcx + 0x565], 0x1f
and byte [rcx + 0x567], 0x1f
and byte [rcx + 0x569], 0x1f
and byte [rcx + 0x56b], 0x1f
and byte [rcx + 0x56d], 0x1f
and byte [rcx + 0x56f], 0x1f
and byte [rcx + 0x571], 0x1f
and byte [rcx + 0x573], 0x1f
and byte [rcx + 0x575], 0x1f
and byte [rcx + 0x577], 0x1f
and byte [rcx + 0x579], 0x1f
lea rbx, [r15 + 0x160]
mov qword [rsp + 0x20], 0x58
mov rcx, r12
mov rdx, qword [rsp + 0x30]
mov r8, rbp
mov r9, r13
call fcn.140154690
xor eax, eax
nop dword [rax]
movdqa xmm0, xmmword [rdi + rax - 0x10]
movdqa xmm1, xmmword [rdi + rax]
psrldq xmm0, 0xa
pslldq xmm1, 6
por xmm1, xmm0
paddw xmm1, xmmword [rdi + rax - 0x580]
movdqa xmmword [rbx + rax], xmm1
add rax, 0x10
cmp rax, 0x580
jne 0x140152230
lea rsi, [rbx + 0x57a]
mov word [rbx + 0x57e], 0
mov dword [rbx + 0x57a], 0
mov qword [rsp + 0x20], 0x58
mov rcx, r12
mov rdx, qword [rsp + 0x30]
mov r8, rbx
mov r9, r13
call fcn.140154690
xor eax, eax
nop dword [rax + rax]
movdqa xmm0, xmmword [rdi + rax - 0x10]
movdqa xmm1, xmmword [rdi + rax]
psrldq xmm0, 0xa
pslldq xmm1, 6
por xmm1, xmm0
paddw xmm1, xmmword [rdi + rax - 0x580]
movdqa xmmword [rbx + rax], xmm1
add rax, 0x10
cmp rax, 0x580
jne 0x1401522a0
mov word [rsi + 4], 0
mov dword [rsi], 0
mov eax, 0xc8
nop word cs:[rax + rax]
movdqu xmm0, xmmword [r15 + rax*2 - 0x30]
movdqu xmm1, xmmword [r15 + rax*2 - 0x20]
pand xmm0, xmm6
pand xmm1, xmm6
movdqu xmmword [r15 + rax*2 - 0x30], xmm0
movdqu xmmword [r15 + rax*2 - 0x20], xmm1
cmp rax, 0x368
je 0x140152344
movdqu xmm0, xmmword [r15 + rax*2 - 0x10]
movdqu xmm1, xmmword [r15 + rax*2]
pand xmm0, xmm6
pand xmm1, xmm6
movdqu xmmword [r15 + rax*2 - 0x10], xmm0
movdqu xmmword [r15 + rax*2], xmm1
add rax, 0x20
jmp 0x1401522f0
and byte [rbx + 0x561], 0x1f
and byte [rbx + 0x563], 0x1f
and byte [rbx + 0x565], 0x1f
and byte [rbx + 0x567], 0x1f
and byte [rbx + 0x569], 0x1f
and byte [rbx + 0x56b], 0x1f
and byte [rbx + 0x56d], 0x1f
and byte [rbx + 0x56f], 0x1f
and byte [rbx + 0x571], 0x1f
and byte [rbx + 0x573], 0x1f
and byte [rbx + 0x575], 0x1f
and byte [rbx + 0x577], 0x1f
and byte [rbx + 0x579], 0x1f
mov rcx, r14
call fcn.1400c09c0
mov edi, 1
mov rcx, qword [rsp + 0xdc8]
xor rcx, rsp
call fcn.14015c2e0
mov eax, edi
movaps xmm6, xmmword [rsp + 0xdd0]
add rsp, 0xde8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret