Function at 0x2016cbbd0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x198
movups xmmword [rsp + 0x120], xmm6
movups xmmword [rsp + 0x130], xmm7
movups xmmword [rsp + 0x140], xmm8
movups xmmword [rsp + 0x150], xmm9
movups xmmword [rsp + 0x160], xmm10
movups xmmword [rsp + 0x170], xmm11
movups xmmword [rsp + 0x180], xmm12
movabs r10, 0xff00ff00ff00ff00
mov r8d, dword [rdx]
mov qword [rsp + 0x1e0], rcx
mov ecx, dword [rdx + 4]
mov rax, rdx
lea rdi, [rsp + 0xa0]
mov edx, dword [rdx + 8]
mov eax, dword [rax + 0xc]
mov qword [rsp + 0x1f8], r9
mov r9, r8
shl r9, 0x10
mov dword [rsp + 0xe0], r8d
or r8, r9
mov r9, rcx
mov dword [rsp + 0xe4], ecx
shl r9, 0x10
mov dword [rsp + 0xe8], edx
or rcx, r9
mov r9, rdx
mov dword [rsp + 0xec], eax
shl r9, 0x10
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa8], 0
or rdx, r9
mov r9, rax
mov qword [rsp + 0xb0], 0
shl r9, 0x10
mov qword [rsp + 0xb8], 0
or rax, r9
movabs r9, 0xffff0000ffff
and r8, r9
and rcx, r9
and rdx, r9
and rax, r9
mov r9, r8
mov r11, rax
mov qword [rsp + 0xc8], 0
shl r9, 8
shl r11, 8
mov qword [rsp + 0xd0], 0
or r8, r9
mov r9, rcx
or rax, r11
mov qword [rsp + 0xd8], 0
shl r9, 8
shl rax, 8
mov qword [rsp + 0xf0], 0
or rcx, r9
mov r9, rdx
and rax, r10
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
shl r9, 8
mov qword [rsp + 0x108], 0
or rdx, r9
movabs r9, 0xff00ff00ff00ff
shl rdx, 8
and r8, r9
and rcx, r9
mov qword [rsp + 0x110], 0
and rdx, r10
or rax, rcx
mov rcx, rdi
mov qword [rsp + 0x118], 0
or rdx, r8
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xa0], rdx
call fcn.2016ca9b0
mov rax, qword [rsp + 0x1e0]
mov r15, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rax + 0x3c0]
mov r14, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xc8]
mov rax, rdx
mov rbx, qword [rsp + 0xd8]
shl rax, 6
add rax, qword [rsp + 0x1e0]
xor r15, qword [rax]
xor r12, qword [rax + 8]
xor rcx, qword [rax + 0x30]
mov rsi, r12
xor r14, qword [rax + 0x18]
mov r10, r15
mov qword [rsp + 0xa8], r12
xor rdi, qword [rax + 0x20]
mov r9, rcx
xor r8, qword [rax + 0x28]
xor rbx, qword [rax + 0x38]
mov qword [rsp + 0xd0], rcx
lea rcx, [rdx - 1]
mov r12, qword [rsp + 0xb0]
xor r12, qword [rax + 0x10]
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0x90], rcx
test rcx, rcx
jle 0x2016cc792
mov qword [rsp + 0x40], rax
mov rbp, r8
mov r11, rbx
mov r8, rdi
mov r15, r9
mov rdi, rsi
mov rbx, r12
nop word [rax + rax]
mov rdx, r10
mov rax, r10
mov r13, rbp
movabs rsi, 0xff0000000000
shr rdx, 0xc
shl rax, 4
movabs rcx, 0xff00000000
movabs r9, 0xf000000000000000
and eax, 0xfff00000
and edx, 0xf0000
movabs r12, 0xfff000000000000
or rdx, rax
movzx eax, r10w
or rdx, rax
mov rax, r10
shl rax, 8
and rax, rsi
or rdx, rax
mov rax, r10
shr rax, 8
and rax, rcx
or rdx, rax
mov rax, r10
shr r10, 4
shl rax, 0xc
and r10, r12
and rax, r9
or rdx, rax
mov rax, rdi
or rdx, r10
mov r10, rdi
shr rax, 0xc
shl r10, 4
and eax, 0xf0000
mov qword [rsp + 0x38], rdx
and r10d, 0xfff00000
or r10, rax
movzx eax, di
or r10, rax
mov rax, rdi
shl rax, 8
and rax, rsi
or r10, rax
mov rax, rdi
shr rax, 8
and rax, rcx
or r10, rax
mov rax, rdi
shl rax, 0xc
and rax, r9
or r10, rax
shr rdi, 4
mov rax, rbx
and rdi, r12
shr rax, 0xc
or r10, rdi
mov rdi, rbx
and eax, 0xf0000
shl rdi, 4
and edi, 0xfff00000
or rdi, rax
movzx eax, bx
or rdi, rax
mov rax, rbx
shl rax, 8
and rax, rsi
or rdi, rax
mov rax, rbx
shr rax, 8
and rax, rcx
or rdi, rax
mov rax, rbx
shr rbx, 4
shl rax, 0xc
and rbx, r12
and rax, r9
or rdi, rax
mov rax, r14
shl rax, 4
or rdi, rbx
mov rbx, r15
mov rdx, rax
mov rax, r14
shr rax, 0xc
and edx, 0xfff00000
and eax, 0xf0000
or rdx, rax
movzx eax, r14w
or rdx, rax
mov rax, r14
shl rax, 8
and rax, rsi
or rdx, rax
mov rax, r14
shr rax, 8
and rax, rcx
shl r13, 4
or rdx, rax
mov rax, r14
shr r14, 4
and r13d, 0xfff00000
shl rax, 0xc
and r14, r12
and rax, r9
or rdx, rax
mov rax, r8
or r14, rdx
mov rdx, r8
shl rax, 4
shr rdx, 0xc
and eax, 0xfff00000
and edx, 0xf0000
or rax, rdx
movzx edx, r8w
or rax, rdx
mov rdx, r8
shl rdx, 8
and rdx, rsi
or rax, rdx
mov rdx, r8
shr rdx, 8
and rdx, rcx
or rax, rdx
mov rdx, r8
shr r8, 4
shl rdx, 0xc
and r8, r12
and rdx, r9
or rax, rdx
or r8, rax
mov rax, rbp
shr rax, 0xc
and eax, 0xf0000
or r13, rax
movzx eax, bp
or r13, rax
mov rax, rbp
shl rax, 8
shl rbx, 4
and rax, rsi
and ebx, 0xfff00000
or r13, rax
mov rax, rbp
shr rax, 8
and rax, rcx
or r13, rax
mov rax, rbp
shr rbp, 4
shl rax, 0xc
and rbp, r12
mov rdx, rax
mov rax, r15
shr rax, 0xc
and rdx, r9
and eax, 0xf0000
or r13, rdx
or rbx, rax
movzx eax, r15w
or r13, rbp
mov rbp, rdi
or rbx, rax
mov rax, r15
shl rax, 8
and rax, rsi
or rbx, rax
mov rax, r15
shr rax, 8
and rax, rcx
or rbx, rax
mov rax, r15
shr r15, 4
shl rax, 0xc
and r15, r12
and rax, r9
or rbx, rax
mov rax, r11
shl rax, 4
or r15, rbx
mov rbx, qword [rsp + 0x38]
mov rdx, rax
mov rax, r11
and edx, 0xfff00000
shr rax, 0xc
xor rbx, r14
xor rbp, r13
and eax, 0xf0000
or rdx, rax
movzx eax, r11w
or rdx, rax
mov rax, r11
shl rax, 8
and rax, rsi
mov rsi, r15
or rdx, rax
mov rax, r11
shr rax, 8
and rax, rcx
mov rcx, r13
or rdx, rax
mov rax, r11
shr r11, 4
xor rcx, rbx
shl rax, 0xc
and rax, r9
or rdx, rax
mov rax, r12
and rax, r11
mov r11, r10
xor r10, r14
xor r14, r8
or rdx, rax
xor r11, r8
xor r10, r15
xor r8, rdi
mov r9, rdx
mov rax, r10
xor r8, rdx
xor rbp, rdx
xor r9, r11
xor rsi, r11
not rbp
mov qword [rsp + 0x28], r14
not r9
mov r12, r11
mov r14, rsi
mov rdx, rsi
xor rax, r9
xor r12, rbx
xor r14, r9
mov qword [rsp + 0x20], rax
mov rax, r8
mov r8, rbp
mov r11, qword [rsp + 0x20]
xor rax, rcx
xor r8, rax
xor rbx, r15
xor rdi, qword [rsp + 0x38]
xor r11, r12
xor rdx, r8
xor rbx, r8
xor rdi, r13
mov r13, qword [rsp + 0x28]
mov r15, rbx
mov qword [rsp + 0x58], rdx
mov rdx, r14
xor r10, r8
xor rdx, r15
mov rbx, r14
mov r14, rax
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x60], rdx
mov rdx, rdi
mov r10, r13
mov rdi, r12
xor rdx, r11
mov qword [rsp + 0x30], r15
mov r15, rbp
xor r9, rdx
xor rdx, rcx
mov rcx, rbp
mov qword [rsp + 0x88], r11
xor r14, r9
xor rcx, r9
xor r10, rdx
mov qword [rsp + 0x68], rcx
mov rcx, r14
xor r15, r10
xor rax, r10
xor rcx, r10
mov qword [rsp + 0x38], r14
and rdi, rax
mov r14, rcx
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x70], r15
mov r15, r11
mov r11, r13
mov qword [rsp + 0x78], r14
and r15, r9
and rcx, r14
and r11, r10
xor rdx, r15
mov r13, rcx
mov rcx, rbx
xor r13, r11
mov qword [rsp + 0x48], rcx
mov r14, r13
mov r13, qword [rsp + 0x38]
and r13, rbx
mov rbx, r13
xor rbx, r11
mov r11, qword [rsp + 0x60]
and r11, qword [rsp + 0x68]
xor r11, rdx
mov rdx, qword [rsp + 0x50]
xor r11, r14
and rdx, rbp
xor rdx, rcx
mov rcx, qword [rsp + 0x30]
xor rdx, qword [rsp + 0x38]
xor rdx, r15
xor rsi, rax
and rcx, r8
xor rdx, rbx
xor rcx, r12
xor rcx, rax
xor rcx, rdi
xor rdi, rsi
mov rsi, qword [rsp + 0x58]
and rsi, qword [rsp + 0x70]
mov r13, rsi
xor rcx, r14
xor r13, rdi
xor r13, rbx
mov rbx, r11
and r11, rcx
xor rbx, rdx
mov rdi, r13
mov r15, rbx
mov rbx, r13
xor rbx, r11
mov rsi, r15
mov r14, rbx
and rsi, rbx
mov rbx, rcx
xor rsi, rdx
xor rbx, r13
xor rdx, r11
and rdx, rbx
xor rdi, rdx
xor rdx, r11
mov r11, rsi
and r13, rdx
xor rcx, rdi
mov rdx, rdi
xor rcx, r13
xor r13, r14
mov rbx, r13
mov r14, rcx
xor rdx, rcx
mov r13, rsi
and rbx, rsi
xor r13, rdi
mov qword [rsp + 0x80], rdx
xor rbx, r15
mov r15, qword [rsp + 0x70]
xor r14, rbx
xor r11, rbx
mov rdx, r14
xor rdx, r13
and r15, rsi
and rax, r11
and r11, r12
mov qword [rsp + 0x70], r15
mov r15, qword [rsp + 0x78]
and r8, rbx
and r10, r13
and rbp, rdi
and r15, rdx
mov qword [rsp + 0x78], r15
mov r15, qword [rsp + 0x60]
and r15, rcx
mov qword [rsp + 0x60], r15
mov r12, qword [rsp + 0x20]
mov r15, r8
and r9, qword [rsp + 0x80]
and rsi, qword [rsp + 0x58]
and r12, rdx
mov rdx, qword [rsp + 0x28]
xor r9, rax
xor rax, r10
mov r10, qword [rsp + 0x38]
and rcx, qword [rsp + 0x68]
mov qword [rsp + 0x20], r12
and rdx, r13
mov r13, qword [rsp + 0x60]
and rbx, qword [rsp + 0x30]
xor rdx, r12
mov r12, rbp
and r10, r14
xor rbx, qword [rsp + 0x70]
xor r15, rdx
xor r12, r11
mov qword [rsp + 0x28], r15
mov r15, qword [rsp + 0x78]
xor r12, r9
xor rsi, r12
xor rax, r15
xor r10, r15
mov r15, qword [rsp + 0x80]
xor r10, qword [rsp + 0x28]
and r15, qword [rsp + 0x88]
xor r8, rax
xor rsi, r10
xor r15, r13
xor r15, qword [rsp + 0x28]
xor rcx, r15
xor r15, rax
mov rax, qword [rsp + 0x70]
xor rdx, r12
xor r11, rbx
xor rbx, rdx
mov rdx, qword [rsp + 0x48]
xor r9, rcx
xor rax, rbp
mov rbp, qword [rsp + 0x50]
xor r11, r10
mov r10, rbx
and rdx, r14
xor rdx, qword [rsp + 0x20]
xor rcx, rax
mov rax, r8
and rbp, rdi
xor rdx, r8
xor r10, rcx
xor rax, r9
xor rbp, r13
mov r13, r15
mov rdi, r10
xor rbp, rsi
xor rsi, rdx
mov rdx, qword [rsp + 0x40]
xor r13, r11
xor rdi, rax
mov r14, qword [rdx - 0x40]
xor r13, qword [rdx - 0x30]
xor rdi, qword [rdx - 0x38]
xor rbx, qword [rdx - 0x28]
xor r14, r15
xor rbx, rbp
xor r14, rbp
xor rbx, rsi
xor r14, rsi
mov r12, r14
mov r14, r13
mov r13, rdx
mov rdx, qword [rdx - 0x20]
xor r14, r9
xor rdx, r11
xor rcx, rdx
mov rdx, r12
xor rcx, rax
xor r15, qword [r13 - 0x18]
xor r8, qword [r13 - 8]
ror rdx, 0x10
xor r8, r11
mov r11, rdi
xor rsi, qword [r13 - 0x10]
xor r15, r9
ror r11, 0x10
xor rsi, r10
mov r10, r12
xor r15, rbp
mov qword [rsp + 0x28], r11
mov r11, rbx
mov r9, r10
mov r12, r8
ror r11, 0x10
mov qword [rsp + 0x20], rcx
ror r12, 0x10
xor r9, r15
mov qword [rsp + 0x30], r11
mov r11, rbx
ror rcx, 0x10
mov rbp, r14
mov qword [rsp + 0x58], r10
xor r10, rdi
xor r11, r15
mov r13, rcx
mov qword [rsp + 0x48], r10
mov r10, rdi
mov rcx, r15
mov rax, rsi
mov qword [rsp + 0x50], r11
xor r10, r14
mov r11, r8
ror rcx, 0x10
mov qword [rsp + 0x68], r10
ror rax, 0x10
xor r11, r12
ror rbp, 0x10
mov r10, qword [rsp + 0x20]
mov qword [rsp + 0x38], r11
xor r11, rsi
mov qword [rsp + 0x60], r11
mov r11, r10
xor r11, r15
mov qword [rsp + 0x80], r11
mov r11, r14
xor r11, rbx
xor rbx, r10
mov qword [rsp + 0x78], rbx
mov rbx, rdx
xor rbx, rcx
mov qword [rsp + 0x70], r11
mov r11, r15
mov r10, rbx
mov rbx, qword [rsp + 0x38]
xor r11, rsi
xor r10, rsi
xor rbx, rdx
xor r10, r9
xor rbx, rcx
rol r10, 0x20
xor rbx, r11
xor r10, rbx
xor rdi, r15
mov rbx, rdi
mov rdi, qword [rsp + 0x28]
xor rbx, r8
xor rbx, qword [rsp + 0x28]
xor rdi, rdx
xor rbx, rcx
xor rdi, r12
xor rbx, rax
xor rdi, rcx
rol rbx, 0x20
xor rdi, rax
xor r9, rdi
mov rdi, rbx
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x58], r11
xor rdi, r9
mov r9, r14
xor r14, r11
mov r11, qword [rsp + 0x30]
xor r9, r12
xor rbx, r9
mov r9, rsi
xor rbx, rsi
xor r9, rbp
xor rbx, rbp
xor r9, r12
xor r9, qword [rsp + 0x28]
xor rbx, rax
xor r9, rax
xor r9, qword [rsp + 0x48]
rol rbx, 0x20
xor rbx, r9
mov r9, r14
mov r14, qword [rsp + 0x48]
xor r9, rbp
xor r9, rdx
xor rdx, qword [rsp + 0x60]
xor r9, r11
xor r9, rcx
xor r9, r14
xor rdx, r11
xor rdx, rcx
xor r14, rdx
mov rdx, r11
mov r11, qword [rsp + 0x28]
xor r14, qword [rsp + 0x50]
rol r14, 0x20
xor rdx, r11
xor r11, r13
xor r14, r9
mov r9, qword [rsp + 0x68]
xor r11, r8
xor rdx, r12
xor rdx, r13
mov r8, r11
mov r11, qword [rsp + 0x70]
xor rdx, rcx
xor r8, rcx
xor rdx, rax
xor r8, rax
xor rdx, qword [rsp + 0x50]
xor rdx, r9
xor r8, r9
mov r9, qword [rsp + 0x80]
xor r8, r9
rol r8, 0x20
xor r8, rdx
mov rdx, qword [rsp + 0x20]
xor rdx, rsi
xor rdx, r12
xor rdx, rbp
xor rbp, r12
xor rdx, r13
xor rbp, rcx
xor rdx, rcx
xor rbp, rax
xor rdx, rax
xor rbp, r11
xor rdx, r11
xor rbp, qword [rsp + 0x58]
xor r15, qword [rsp + 0x38]
xor rsi, r12
rol rbp, 0x20
mov r11, rsi
xor rbp, rdx
mov rdx, qword [rsp + 0x30]
xor r11, r13
xor r11, rax
xor r15, rdx
xor rdx, qword [rsp + 0x60]
xor r11, r9
xor r15, rcx
xor rdx, rax
mov rcx, qword [rsp + 0x78]
xor r15, rax
mov rax, qword [rsp + 0x38]
sub qword [rsp + 0x40], 0x40
xor rdx, rcx
xor r15, rcx
xor rax, r13
rol rdx, 0x20
xor rax, r9
xor r15, rdx
rol rax, 0x20
xor r11, rax
sub qword [rsp + 0x90], 1
jne 0x2016cbea0
mov rax, rdi
movq xmm0, r10
movq xmm6, r11
movq xmm7, rax
punpcklqdq xmm0, xmm7
movq xmm7, r14
movups xmmword [rsp + 0xa0], xmm0
movq xmm0, rbx
punpcklqdq xmm0, xmm7
movq xmm7, rbp
movups xmmword [rsp + 0xb0], xmm0
movq xmm0, r8
punpcklqdq xmm0, xmm7
movups xmmword [rsp + 0xc0], xmm0
movq xmm0, r15
punpcklqdq xmm0, xmm6
movups xmmword [rsp + 0xd0], xmm0
movdqu xmm1, xmmword [rsp + 0xa0]
movdqu xmm10, xmmword [0x2016de770]
movdqu xmm9, xmmword [0x2016de780]
movdqu xmm12, xmmword [0x2016de790]
movdqu xmm5, xmm1
movdqu xmm2, xmm1
movdqu xmm0, xmm1
movdqu xmm11, xmmword [0x2016de7a0]
psllq xmm5, 8
psrlq xmm2, 8
movdqu xmm8, xmmword [0x2016de7b0]
movdqu xmm7, xmmword [0x2016de7c0]
pand xmm2, xmm9
pand xmm5, xmm10
movdqu xmm6, xmmword [0x2016de7d0]
movdqu xmm4, xmmword [rsp + 0xc0]
por xmm5, xmm2
psrlq xmm0, 0xc
movdqu xmm2, xmm1
psllq xmm2, 4
pand xmm0, xmm11
pand xmm2, xmm12
por xmm2, xmm0
movdqu xmm0, xmm1
por xmm2, xmm5
psllq xmm0, 0xc
movdqu xmm5, xmm1
psrlq xmm5, 4
pand xmm0, xmm8
pand xmm1, xmm6
pand xmm5, xmm7
por xmm5, xmm0
por xmm1, xmm5
movdqu xmm5, xmm2
por xmm5, xmm1
movdqu xmm1, xmmword [rsp + 0xb0]
movq r12, xmm5
movdqu xmm2, xmm1
movdqu xmm0, xmm1
movdqu xmm3, xmm1
psllq xmm2, 8
psrlq xmm0, 8
pand xmm0, xmm9
psrlq xmm3, 0xc
pand xmm2, xmm10
por xmm2, xmm0
movdqu xmm0, xmm1
pand xmm3, xmm11
psllq xmm0, 4
pand xmm0, xmm12
por xmm0, xmm3
movdqu xmm3, xmm1
por xmm2, xmm0
psllq xmm3, 0xc
movdqu xmm0, xmm1
psrlq xmm0, 4
pand xmm3, xmm8
pand xmm1, xmm6
pand xmm0, xmm7
por xmm0, xmm3
movdqu xmm3, xmm4
por xmm1, xmm0
psllq xmm3, 8
movdqu xmm0, xmm4
por xmm2, xmm1
movdqu xmm1, xmm4
pand xmm3, xmm10
psrlq xmm1, 0xc
psllq xmm0, 4
movq rsi, xmm2
pand xmm0, xmm12
pand xmm1, xmm11
por xmm1, xmm0
movdqu xmm0, xmm4
psrlq xmm0, 8
pand xmm0, xmm9
por xmm0, xmm3
movdqu xmm3, xmm4
por xmm1, xmm0
psrlq xmm3, 4
movdqu xmm0, xmm4
psllq xmm0, 0xc
pand xmm3, xmm7
pand xmm4, xmm6
pand xmm0, xmm8
por xmm0, xmm3
movdqu xmm3, xmmword [rsp + 0xd0]
por xmm4, xmm0
por xmm1, xmm4
movdqu xmm4, xmm3
movdqu xmm0, xmm3
psrlq xmm4, 0xc
psllq xmm0, 4
movq rcx, xmm1
pand xmm11, xmm4
movdqu xmm4, xmm3
pand xmm0, xmm12
psllq xmm4, 8
por xmm0, xmm11
movq rax, xmm1
pand xmm10, xmm4
movdqu xmm4, xmm3
psrlq xmm4, 8
pand xmm9, xmm4
movdqu xmm4, xmm3
psllq xmm4, 0xc
por xmm9, xmm10
pand xmm4, xmm8
movdqu xmm8, xmm3
pand xmm3, xmm6
psrlq xmm8, 4
movhlps xmm6, xmm5
por xmm0, xmm9
pand xmm7, xmm8
movq r14, xmm6
movhlps xmm6, xmm2
por xmm4, xmm7
movq r9, xmm6
movhlps xmm7, xmm1
xor rcx, r14
por xmm3, xmm4
xor r14, r9
mov r13, rcx
mov r11, r9
por xmm0, xmm3
movq rbp, xmm7
xor r11, r12
mov rbx, rcx
movhlps xmm6, xmm0
movq rdi, xmm0
xor rbp, rsi
mov r10, r11
movq r8, xmm6
xor r14, rdi
movq rdx, xmm7
xor rbx, rdi
xor r13, r8
mov r15, r14
xor rbp, r8
xor r10, rdx
not r13
not rbp
xor rcx, r11
xor r11, rdi
xor r15, r13
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r15
mov r15, r9
mov r9, rbx
xor r15, rax
xor rax, rsi
xor rsi, r12
xor r9, r13
xor rax, r8
mov r8, rbp
xor rsi, rdx
mov rdi, r9
xor rax, r10
xor r8, rax
mov r12, rax
xor r14, r8
xor r11, r8
mov qword [rsp + 0x48], r14
mov r14, qword [rsp + 0x20]
xor r14, rcx
mov rcx, rbx
xor rcx, r8
mov qword [rsp + 0x50], rcx
mov rcx, r11
mov r11, r9
mov r9, rsi
xor r9, r14
mov rsi, rbp
xor rdi, rcx
mov qword [rsp + 0x30], rcx
xor r13, r9
xor r9, r10
mov qword [rsp + 0x58], rdi
mov rdi, r14
xor rsi, r13
xor r12, r13
mov r10, rdi
mov qword [rsp + 0x80], rdi
mov rcx, rsi
mov rsi, r15
xor r15, r9
mov r14, r12
mov rdx, r15
xor r15, rbp
mov qword [rsp + 0x38], r12
mov rdi, qword [rsp + 0x28]
xor r14, rdx
and r10, r13
xor rax, rdx
mov qword [rsp + 0x68], rdx
mov r12, r14
mov r14, r10
mov r10, rsi
mov qword [rsp + 0x78], rsi
and r10, rdx
mov rdx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x38]
xor r9, r14
mov qword [rsp + 0x70], r12
and rdi, rax
xor rbx, rax
and rdx, r12
and rsi, r11
mov qword [rsp + 0x60], rcx
xor rdx, r10
mov r12, rdx
mov rdx, r11
mov r11, rsi
xor r11, r10
mov r10, qword [rsp + 0x58]
mov qword [rsp + 0x40], rdx
and r10, rcx
xor r10, r9
mov r9, qword [rsp + 0x48]
xor r10, r12
and r9, rbp
xor r9, rdx
xor r9, qword [rsp + 0x38]
xor r9, r14
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
xor r9, r11
and r14, r8
mov rdx, r14
xor rdx, rcx
xor rdx, rax
xor rdx, rdi
xor rdi, rbx
mov rbx, qword [rsp + 0x50]
xor rdx, r12
and rbx, r15
mov rsi, rbx
xor rsi, rdi
xor rsi, r11
mov r11, r10
and r10, rdx
xor r11, r9
mov r12, rsi
mov rdi, rsi
xor r12, r10
mov rbx, r11
mov r14, r11
mov r11, rdx
and rbx, r12
xor rbx, r9
xor r11, rsi
xor r9, r10
and r9, r11
and r15, rbx
xor rdi, r9
xor r9, r10
and rsi, r9
xor rdx, rdi
mov r9, rbx
and rbp, rdi
xor rdx, rsi
xor rsi, r12
xor r9, rdi
mov qword [rsp + 0x28], rbp
mov r11, rsi
mov r10, r9
mov r12, rdx
mov r9, rbx
and r11, rbx
mov rsi, rdi
mov rbp, qword [rsp + 0x70]
xor r11, r14
xor rsi, rdx
xor r12, r11
xor r9, r11
mov r14, rsi
and r8, r11
and rax, r9
and rcx, r9
mov rsi, r12
mov r9, qword [rsp + 0x78]
xor rsi, r10
and r13, r14
and r11, qword [rsp + 0x30]
and rbp, rsi
and r9, r10
and rsi, qword [rsp + 0x20]
xor r11, r15
xor r9, rsi
mov qword [rsp + 0x70], rbp
mov rbp, qword [rsp + 0x58]
mov qword [rsp + 0x20], r9
mov r9, r13
mov r13, qword [rsp + 0x28]
and rbp, rdx
xor r9, rax
xor r13, rcx
mov qword [rsp + 0x58], rbp
mov rbp, r13
mov r13, qword [rsp + 0x20]
xor rbp, r9
and r10, qword [rsp + 0x68]
and rbx, qword [rsp + 0x50]
xor rcx, r11
xor rax, r10
mov r10, qword [rsp + 0x38]
xor r13, r8
xor rbx, rbp
and r14, qword [rsp + 0x80]
xor rbp, qword [rsp + 0x20]
xor r14, qword [rsp + 0x58]
xor rax, qword [rsp + 0x70]
xor r11, rbp
and r10, r12
xor r14, r13
xor r10, qword [rsp + 0x70]
and rdx, qword [rsp + 0x60]
xor r8, rax
and r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
xor r10, r13
xor rdx, r14
xor rsi, r12
xor r14, rax
xor r9, rdx
xor rbx, r10
and rdi, qword [rsp + 0x48]
xor rbp, r15
xor rdi, qword [rsp + 0x58]
mov rax, r8
xor rsi, r8
xor rcx, r10
xor rdx, rbp
xor rdi, rbx
xor rax, r9
xor rsi, rbx
mov rbx, qword [rsp + 0x1e0]
mov r10, qword [rbx]
xor r10, r14
xor r10, rdi
xor r10, rsi
mov qword [rsp + 0xa0], r10
mov r10, qword [rbx + 8]
xor r10, r11
xor r10, rdx
xor r10, rax
mov qword [rsp + 0xa8], r10
mov r10, r14
xor r10, rcx
xor r10, qword [rbx + 0x10]
xor r10, r9
mov qword [rsp + 0xb0], r10
mov r10, qword [rbx + 0x18]
xor r8, qword [rbx + 0x38]
xor r14, qword [rbx + 0x28]
xor r10, r11
xor r11, qword [rbx + 0x30]
xor r9, r14
xor r10, rdi
xor rdi, r9
xor r10, rsi
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xb8], r10
mov r10, qword [rbx + 0x20]
xor r10, rcx
xor rcx, r8
xor r10, rdx
mov qword [rsp + 0xd8], rcx
xor rdx, r11
mov rcx, qword [rsp + 0x98]
xor rax, r10
xor rsi, rdx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xd0], rsi
call fcn.2016ca9b0
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xc0]
movabs r9, 0xff00ff00ff00ff
mov rdi, qword [rsp + 0x1f8]
mov r8, rdx
mov rcx, rax
shr rdx, 8
and r8, r9
shr rax, 8
and rcx, r9
and rdx, r9
and rax, r9
mov r9, r8
shr r9, 8
or r8, r9
mov r9, rcx
shr r9, 8
or rcx, r9
mov r9, rdx
shr r9, 8
or rdx, r9
mov r9, rax
shr r9, 8
or rax, r9
movabs r9, 0xffff0000ffff
and r8, r9
and rcx, r9
and rdx, r9
and rax, r9
mov r9, r8
shr r9, 0x10
or r8d, r9d
mov dword [rdi], r8d
mov r8, rcx
shr r8, 0x10
or ecx, r8d
mov dword [rdi + 4], ecx
mov rcx, rdx
shr rcx, 0x10
or edx, ecx
mov dword [rdi + 8], edx
mov rdx, rax
shr rdx, 0x10
or eax, edx
mov dword [rdi + 0xc], eax
movups xmm6, xmmword [rsp + 0x120]
movups xmm7, xmmword [rsp + 0x130]
movups xmm8, xmmword [rsp + 0x140]
movups xmm9, xmmword [rsp + 0x150]
movups xmm10, xmmword [rsp + 0x160]
movups xmm11, xmmword [rsp + 0x170]
movups xmm12, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret