Function at 0x6e6c5100
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
test r9, r9
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1c8], r9
jle 0x6e6c5d3e
lea rcx, [rsp + 0x130]
mov rax, r9
mov qword [rsp + 0x60], rdx
movabs rbp, 0xf000000000000000
sub rax, 1
mov qword [rsp + 0xc0], r8
movabs r13, 0xfff000000000000
and rax, 0xfffffffffffffff0
mov qword [rsp + 0x90], rcx
lea rax, [rdx + rax + 0x10]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0xc8], rax
nop dword [rax]
nop word cs:[rax + rax]
mov rdi, qword [rsp + 0x58]
xor eax, eax
mov ecx, 8
mov rbx, qword [rsp + 0xd0]
rep stosq qword [rdi], rax
mov rdi, qword [rsp + 0x90]
mov ecx, 6
mov r8, rbx
rep stosq qword [rdi], rax
mov rax, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
movdqu xmm4, xmmword [rax]
lea rdx, [rdi + 0x20]
mov rcx, rdi
movaps xmmword [rsp + 0x20], xmm4
movaps xmmword [rsp + 0x120], xmm4
call fcn.6e6c15b0
mov r8, qword [rsp + 0x90]
lea rdx, [rdi + 0x28]
lea rcx, [rdi + 8]
call fcn.6e6c15b0
mov r8, qword [rsp + 0xc8]
lea rdx, [rdi + 0x30]
lea rcx, [rdi + 0x10]
call fcn.6e6c15b0
lea rdx, [rdi + 0x38]
lea r8, [rbx + 0x30]
lea rcx, [rdi + 0x18]
call fcn.6e6c15b0
mov rcx, rdi
call fcn.6e6c3f10
mov rax, qword [rsp + 0x1b0]
mov rdi, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xe0]
mov r15, qword [rsp + 0x100]
mov rdx, qword [rax + 0x3c0]
mov r14, qword [rsp + 0x108]
mov r12, qword [rsp + 0x110]
mov r8, qword [rsp + 0x118]
mov rax, rdx
shl rax, 6
add rax, qword [rsp + 0x1b0]
xor rdi, qword [rax + 8]
mov qword [rsp + 0x50], rax
xor rcx, qword [rax]
mov rbx, qword [rax + 0x10]
xor r15, qword [rax + 0x20]
mov r11, rdi
mov rdi, qword [rsp + 0xf0]
mov r10, rcx
xor r14, qword [rax + 0x28]
xor r12, qword [rax + 0x30]
xor r8, qword [rax + 0x38]
xor rbx, rdi
mov rdi, qword [rsp + 0xf8]
lea rcx, [rdx - 1]
xor rdi, qword [rax + 0x18]
test rcx, rcx
mov qword [rsp + 0xb8], rcx
jle 0x6e6c5901
mov rdx, rdi
mov rax, r14
mov rcx, r12
nop dword [rax]
movabs rdi, 0xff0000000000
mov r9, r10
mov rsi, r10
shl r9, 4
shr rsi, 0xc
movabs r14, 0xff00000000
and esi, 0xf0000
and r9d, 0xfff00000
or r9, rsi
movzx esi, r10w
or r9, rsi
mov rsi, r10
shl rsi, 8
and rsi, rdi
or r9, rsi
mov rsi, r10
shr rsi, 8
and rsi, r14
or r9, rsi
mov rsi, r10
shr r10, 4
shl rsi, 0xc
and r10, r13
and rsi, rbp
or r9, rsi
mov rsi, r14
or r10, r9
mov r9, r11
mov qword [rsp + 0xe0], r10
mov r10, r11
shr r9, 0xc
shl r10, 4
and r9d, 0xf0000
and r10d, 0xfff00000
or r10, r9
movzx r9d, r11w
or r10, r9
mov r9, r11
shl r9, 8
and r9, rdi
or r10, r9
mov r9, r11
shr r9, 8
and r9, r14
or r10, r9
mov r9, r11
shl r9, 0xc
and r9, rbp
or r10, r9
shr r11, 4
mov r9, rbx
and r11, r13
shr r9, 0xc
or r11, r10
mov r10, rbx
and r9d, 0xf0000
shl r10, 4
mov qword [rsp + 0xe8], r11
and r10d, 0xfff00000
or r10, r9
movzx r9d, bx
or r10, r9
mov r9, rbx
shl r9, 8
and r9, rdi
or r10, r9
mov r9, rbx
shr r9, 8
and r9, r14
or r10, r9
mov r9, rbx
shr rbx, 4
shl r9, 0xc
and rbx, r13
and r9, rbp
or r10, r9
mov r9, rdx
or rbx, r10
mov r10, rdx
shr r9, 0xc
shl r10, 4
and r9d, 0xf0000
mov qword [rsp + 0xf0], rbx
and r10d, 0xfff00000
or r10, r9
movzx r9d, dx
or r10, r9
mov r9, rdx
shl r9, 8
and r9, rdi
or r10, r9
mov r9, rdx
shr r9, 8
and r9, r14
or r10, r9
mov r9, rdx
shr rdx, 4
shl r9, 0xc
and rdx, r13
and r9, rbp
or r10, r9
mov r9, r15
or rdx, r10
shr r9, 0xc
mov qword [rsp + 0xf8], rdx
mov rdx, r15
and r9d, 0xf0000
shl rdx, 4
and edx, 0xfff00000
or rdx, r9
movzx r9d, r15w
or rdx, r9
mov r9, r15
shl r9, 8
and r9, rdi
or rdx, r9
mov r9, r15
shr r9, 8
and r9, r14
or rdx, r9
mov r9, r15
shr r15, 4
shl r9, 0xc
and r15, r13
and r9, rbp
or rdx, r9
mov r9, rax
or r15, rdx
mov rdx, rax
shr r9, 0xc
shl rdx, 4
and r9d, 0xf0000
mov qword [rsp + 0x100], r15
and edx, 0xfff00000
or rdx, r9
movzx r9d, ax
or rdx, r9
mov r9, rax
shl r9, 8
and r9, rdi
or rdx, r9
mov r9, rax
shr r9, 8
and r9, r14
mov r14, rcx
or rdx, r9
mov r9, rax
shr rax, 4
shl r9, 0xc
and rax, r13
shr r14, 8
and r9, rbp
and r14, rsi
or rdx, r9
or rax, rdx
mov rdx, rcx
mov qword [rsp + 0x108], rax
mov rax, rcx
shr rdx, 0xc
shl rax, 4
and edx, 0xf0000
and eax, 0xfff00000
or rax, rdx
movzx edx, cx
or rax, rdx
mov rdx, rcx
shl rdx, 8
and rdx, rdi
or rax, rdx
mov rdx, r8
or rax, r14
mov r14, rcx
shr rcx, 4
shl r14, 0xc
and rcx, r13
and r14, rbp
or rax, r14
or rcx, rax
mov rax, r8
shl rax, 4
mov qword [rsp + 0x110], rcx
mov rcx, qword [rsp + 0x58]
and eax, 0xfff00000
shr rdx, 0xc
and edx, 0xf0000
or rax, rdx
movzx edx, r8w
or rax, rdx
mov rdx, r8
shl rdx, 8
and rdx, rdi
or rax, rdx
mov rdx, r8
shr rdx, 8
and rdx, rsi
or rax, rdx
mov rdx, r8
shr r8, 4
shl rdx, 0xc
and r8, r13
and rdx, rbp
or rax, rdx
or r8, rax
mov qword [rsp + 0x118], r8
call fcn.6e6c1970
mov r14, qword [rsp + 0x50]
mov rsi, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x118]
mov r10, qword [rsp + 0xf8]
xor rsi, qword [r14 - 0x30]
xor rdi, qword [r14 - 8]
xor r10, qword [r14 - 0x28]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov rdx, rsi
xor rcx, qword [r14 - 0x18]
mov rsi, rdi
mov rdi, rdx
xor rax, qword [r14 - 0x20]
ror rdi, 0x10
mov r8, r10
mov rbx, qword [rsp + 0xe0]
mov qword [rsp + 0x20], rdi
ror r8, 0x10
xor rbx, qword [r14 - 0x40]
mov qword [rsp + 0x30], r8
mov r11, qword [rsp + 0xe8]
mov r12, qword [rsp + 0x110]
mov qword [rsp + 0x40], rax
mov rdi, rax
mov rax, rcx
xor r12, qword [r14 - 0x10]
ror rax, 0x10
ror rdi, 0x10
xor r11, qword [r14 - 0x38]
mov r9, rbx
mov r14, rax
mov qword [rsp + 0x38], rdi
mov rax, rsi
ror r9, 0x10
mov qword [rsp + 0x68], r9
mov r8, r12
mov r15, r11
ror r8, 0x10
ror r15, 0x10
ror rax, 0x10
xor r9, r14
mov rdi, rax
mov rax, rbx
xor rax, rcx
mov qword [rsp + 0x98], rax
mov rax, rbx
xor rbx, rdx
xor rax, r11
mov qword [rsp + 0x48], rax
mov rax, r10
xor rax, rcx
mov qword [rsp + 0xb0], rax
mov rax, r12
xor rax, rsi
mov qword [rsp + 0x88], rax
mov rax, r11
xor r11, rcx
xor rax, rdx
xor r11, rsi
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x40]
xor r11, r15
xor r11, r14
xor r11, r8
rol r11, 0x20
xor rax, rcx
mov qword [rsp + 0x80], rax
mov rax, rdx
xor rax, r10
xor r10, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
mov rax, rcx
xor rax, r12
mov qword [rsp + 0x78], r10
mov r10, rsi
xor r10, r9
mov qword [rsp + 0xa8], rax
xor r9, r12
xor r10, rdi
xor r10, rax
mov rax, qword [rsp + 0x98]
xor r9, rax
rol r9, 0x20
xor r10, r9
mov r9, qword [rsp + 0x68]
xor r9, r15
xor r9, r14
xor r9, r8
xor r9, rdi
xor r9, rax
mov rax, qword [rsp + 0x48]
xor r11, r9
mov r9, rbx
mov rbx, qword [rsp + 0x20]
xor r9, r12
xor r9, rbx
xor rbx, r15
xor rdx, rcx
xor rbx, r12
xor r9, r8
xor rbx, r8
xor r9, rdi
xor rbx, rdi
rol r9, 0x20
xor rbx, rax
xor rbx, r9
mov r9, rdx
mov rdx, qword [rsp + 0x68]
xor r9, r12
xor r9, rdx
xor rdx, qword [rsp + 0x88]
xor rdx, qword [rsp + 0x30]
xor r9, qword [rsp + 0x20]
xor r9, qword [rsp + 0x30]
xor rdx, r14
xor rdx, rdi
xor r9, r14
xor rdx, rax
xor r9, rax
mov rax, qword [rsp + 0xb0]
xor rdx, rax
rol rdx, 0x20
xor rdx, r9
mov r9, qword [rsp + 0x30]
xor r9, r15
xor r9, qword [rsp + 0x38]
xor r9, r14
xor r9, r8
xor r9, rdi
xor r9, rax
mov rax, qword [rsp + 0xa0]
xor r9, rax
xor r15, qword [rsp + 0x38]
xor rcx, rsi
xor r15, rsi
xor r15, r14
xor r15, r8
xor r15, rax
xor r15, qword [rsp + 0x80]
mov rax, qword [rsp + 0x40]
rol r15, 0x20
xor r15, r9
mov r9, qword [rsp + 0x20]
xor rax, r12
xor rax, r9
xor rax, qword [rsp + 0x38]
xor r9, r14
xor r9, r8
xor r9, rdi
xor r9, qword [rsp + 0x70]
xor r9, qword [rsp + 0xa8]
xor rax, r14
xor rax, r8
xor rax, rdi
xor rax, qword [rsp + 0x70]
rol r9, 0x20
xor rax, r9
mov r9, qword [rsp + 0x30]
xor rcx, r9
xor r9, qword [rsp + 0x88]
xor rcx, r14
xor rcx, r8
xor rcx, rdi
xor rcx, qword [rsp + 0x78]
mov r14, r9
mov r9, qword [rsp + 0x38]
xor r14, r8
xor r14, rdi
xor r14, qword [rsp + 0x78]
rol r14, 0x20
xor r8, r9
sub qword [rsp + 0x50], 0x40
xor r8, r12
xor rcx, r14
mov r12, qword [rsp + 0x80]
xor r8, rdi
xor rdi, r9
xor rdi, rsi
xor rdi, r12
xor r8, r12
rol rdi, 0x20
xor r8, rdi
sub qword [rsp + 0xb8], 1
jne 0x6e6c52f0
mov rdi, rdx
mov r14, rax
mov r12, rcx
movabs rcx, 0xff0000000000
mov rax, r10
movabs rsi, 0xff00000000
shl rax, 4
and eax, 0xfff00000
mov rdx, rax
mov rax, r10
shr rax, 0xc
and eax, 0xf0000
or rax, rdx
movzx edx, r10w
or rax, rdx
mov rdx, r10
shl rdx, 8
and rdx, rcx
or rax, rdx
mov rdx, r10
shr rdx, 8
and rdx, rsi
or rax, rdx
mov rdx, r10
shl rdx, 0xc
and rdx, rbp
or rax, rdx
mov rdx, r10
shr rdx, 4
and rdx, r13
or rax, rdx
mov qword [rsp + 0xe0], rax
mov rax, r11
shl rax, 4
and eax, 0xfff00000
mov rdx, rax
mov rax, r11
shr rax, 0xc
and eax, 0xf0000
or rax, rdx
movzx edx, r11w
or rax, rdx
mov rdx, r11
shl rdx, 8
and rdx, rcx
or rax, rdx
mov rdx, r11
shr rdx, 8
and rdx, rsi
or rax, rdx
mov rdx, r11
shl rdx, 0xc
and rdx, rbp
or rax, rdx
mov rdx, r11
mov r11, rsi
shr rdx, 4
and rdx, r13
or rax, rdx
mov qword [rsp + 0xe8], rax
mov rax, rbx
shl rax, 4
and eax, 0xfff00000
mov rdx, rax
mov rax, rbx
shr rax, 0xc
and eax, 0xf0000
or rax, rdx
movzx edx, bx
or rax, rdx
mov rdx, rbx
shl rdx, 8
and rdx, rcx
or rax, rdx
mov rdx, rbx
shr rdx, 8
and rdx, rsi
mov rsi, rdi
or rax, rdx
mov rdx, rbx
shr rbx, 4
shl rdx, 0xc
shl rsi, 4
and rdx, rbp
and esi, 0xfff00000
or rax, rdx
mov rdx, rbx
mov rbx, rcx
and rdx, r13
or rax, rdx
mov rdx, r15
mov qword [rsp + 0xf0], rax
mov rax, rdi
shr rax, 0xc
and eax, 0xf0000
or rsi, rax
movzx eax, di
or rsi, rax
mov rax, rdi
shl rax, 8
and rax, rcx
or rsi, rax
mov rax, rdi
shr rax, 8
and rax, r11
shr rdx, 0xc
or rsi, rax
mov rax, rdi
and edx, 0xf0000
shl rax, 0xc
shr rdi, 4
and rax, rbp
and rdi, r13
or rsi, rax
mov rax, r15
shl rax, 4
or rsi, rdi
and eax, 0xfff00000
mov qword [rsp + 0xf8], rsi
mov rsi, r15
or rax, rdx
movzx edx, r15w
shr rsi, 8
or rax, rdx
mov rdx, r15
and rsi, r11
shl rdx, 8
and rdx, rcx
or rax, rdx
mov rdx, r14
or rax, rsi
mov rsi, r15
shr r15, 4
shl rsi, 0xc
and r15, r13
shr rdx, 0xc
and rsi, rbp
and edx, 0xf0000
or rax, rsi
mov rsi, r14
or r15, rax
mov rax, r14
shl rax, 4
mov qword [rsp + 0x100], r15
and eax, 0xfff00000
or rax, rdx
movzx edx, r14w
or rax, rdx
mov rdx, r14
shl rdx, 8
shr rsi, 8
and rdx, rcx
and rsi, r11
or rax, rdx
mov rdx, r12
or rax, rsi
mov rsi, r14
shr r14, 4
shl rsi, 0xc
and r14, r13
shl rdx, 4
and rsi, rbp
and edx, 0xfff00000
or rax, rsi
or r14, rax
mov rax, r12
shr rax, 0xc
mov qword [rsp + 0x108], r14
and eax, 0xf0000
or rdx, rax
movzx eax, r12w
or rdx, rax
mov rax, r12
shl rax, 8
and rax, rcx
mov rcx, r12
shr rcx, 8
or rdx, rax
mov rax, r8
and rcx, r11
shl rax, 4
or rdx, rcx
mov rcx, r12
shr r12, 4
shl rcx, 0xc
and r12, r13
and eax, 0xfff00000
and rcx, rbp
or rdx, rcx
or r12, rdx
mov rdx, r8
shr rdx, 0xc
mov qword [rsp + 0x110], r12
and edx, 0xf0000
or rax, rdx
movzx edx, r8w
or rax, rdx
mov rdx, r8
shl rdx, 8
and rdx, rbx
mov rbx, qword [rsp + 0x58]
or rax, rdx
mov rdx, r8
shr rdx, 8
and rdx, r11
or rax, rdx
mov rdx, r8
shr r8, 4
shl rdx, 0xc
and r8, r13
mov rcx, rbx
and rdx, rbp
or rax, rdx
or r8, rax
mov qword [rsp + 0x118], r8
call fcn.6e6c1970
mov rax, qword [rsp + 0x1b0]
mov rcx, rbx
movdqa xmm2, xmmword [rsp + 0xf0]
movdqa xmm1, xmmword [rsp + 0x100]
movdqa xmm0, xmmword [rsp + 0x110]
movdqu xmm4, xmmword [rax + 0x10]
movdqu xmm5, xmmword [rax + 0x20]
movdqa xmm3, xmmword [rsp + 0xe0]
pxor xmm2, xmm4
movaps xmmword [rsp + 0xf0], xmm2
pxor xmm1, xmm5
movdqu xmm5, xmmword [rax]
movaps xmmword [rsp + 0x100], xmm1
movdqu xmm4, xmmword [rax + 0x30]
pxor xmm3, xmm5
movaps xmmword [rsp + 0x20], xmm5
pxor xmm0, xmm4
movaps xmmword [rsp + 0xe0], xmm3
movaps xmmword [rsp + 0x110], xmm0
call fcn.6e6c3f10
mov rbx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xe0]
mov rcx, rbx
call fcn.6e6c1510
mov r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x90]
call fcn.6e6c1510
mov r8, qword [rsp + 0x110]
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xc8]
call fcn.6e6c1510
mov r8, qword [rsp + 0x118]
lea rcx, [rbx + 0x30]
mov rdx, qword [rsp + 0xf8]
call fcn.6e6c1510
mov rax, qword [rsp + 0xc0]
movdqa xmm0, xmmword [rsp + 0x120]
add qword [rsp + 0x60], 0x10
mov rcx, qword [rsp + 0x60]
add rax, 0x10
movups xmmword [rax - 0x10], xmm0
cmp rcx, qword [rsp + 0xd8]
mov qword [rsp + 0xc0], rax
jne 0x6e6c51b0
mov rax, qword [rsp + 0x1c8]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret