Function at 0x180008830
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
push r15
lea rbx, [0x180068d00]
mov byte [0x180066ad7], 0
mov r9, rbx
lea rdi, [0x180000000]
xor r8d, r8d
mov dl, 1
mov r11d, 0x100
nop
movzx eax, dl
movzx ecx, dl
sar cl, 7
mov byte [r9], dl
lea r9, [r9 + 1]
and cl, 0x1b
mov byte [rax + rdi + 0x66ad0], r8b
movzx eax, dl
add al, al
inc r8d
xor cl, al
xor dl, cl
cmp r8d, r11d
jb 0x180008870
mov byte [0x180066ad1], 0
lea r8, [0x180066cd0]
mov dl, 1
mov r9d, 0xa
nop dword [rax]
nop word [rax + rax]
movzx eax, dl
movzx ecx, dl
mov dword [r8], eax
lea r8, [r8 + 4]
movzx eax, dl
sar cl, 7
and cl, 0x1b
add al, al
movzx edx, cl
xor dl, al
sub r9, 1
jne 0x1800088c0
xor r8d, r8d
lea r10, [0x180068dff]
nop dword [rax]
test r8d, r8d
je 0x180008909
movzx eax, byte [r8 + rdi + 0x66ad0]
mov rcx, r10
sub rcx, rax
movzx edx, byte [rcx]
jmp 0x18000890b
xor dl, dl
movzx ecx, dl
rol cl, 1
xor dl, cl
rol cl, 1
sal dword [rdx], 0xd1
rol cl, 1
movzx eax, cl
rol al, 1
xor al, cl
xor al, dl
xor al, 0x63
mov byte [r8 + rdi + 0x69e00], al
movzx eax, al
mov byte [rax + rdi + 0x66bd0], r8b
inc r8d
cmp r8d, r11d
jb 0x1800088f0
movzx r14d, byte [0x180066ade]
xor r10d, r10d
movzx r15d, byte [0x180066add]
movzx r12d, byte [0x180066adb]
movzx r13d, byte [0x180066ad9]
movzx esi, byte [0x180066ad3]
movzx ebp, byte [0x180066ad2]
nop
movzx ecx, byte [r10 + rdi + 0x69e00]
mov eax, ecx
mov dword [rdi + r10*4 + 0x66d00], ecx
rol eax, 8
mov r9d, ecx
mov dword [rdi + r10*4 + 0x67100], eax
mov eax, ecx
rol eax, 0x10
mov dword [rdi + r10*4 + 0x67500], eax
mov eax, ecx
rol eax, 0x18
mov dword [rdi + r10*4 + 0x67900], eax
test cl, cl
je 0x180008a04
movzx eax, cl
movzx ecx, bpl
movzx r8d, byte [rax + rdi + 0x66ad0]
mov eax, 0x80808081
add ecx, r8d
mul ecx
shr edx, 7
imul eax, edx, 0xff
sub ecx, eax
movsxd rax, ecx
movzx ecx, sil
add ecx, r8d
movzx ebx, byte [rax + rbx]
mov eax, 0x80808081
mul ecx
shr edx, 7
imul eax, edx, 0xff
sub ecx, eax
movsxd rax, ecx
lea rcx, [0x180068d00]
movzx ecx, byte [rax + rcx]
jmp 0x180008a08
xor ebx, ebx
xor ecx, ecx
movzx edx, byte [r10 + rdi + 0x66bd0]
shl ecx, 8
or ecx, r9d
mov dword [rdi + r10*4 + 0x68e00], edx
shl ecx, 8
or ecx, r9d
shl ecx, 8
or ecx, ebx
mov eax, ecx
mov dword [rdi + r10*4 + 0x65ad0], ecx
rol eax, 8
mov dword [rdi + r10*4 + 0x65ed0], eax
mov eax, ecx
rol eax, 0x10
mov dword [rdi + r10*4 + 0x662d0], eax
mov eax, edx
rol eax, 8
rol ecx, 0x18
mov dword [rdi + r10*4 + 0x69200], eax
mov eax, edx
mov dword [rdi + r10*4 + 0x666d0], ecx
mov ecx, edx
rol eax, 0x10
rol ecx, 0x18
mov dword [rdi + r10*4 + 0x69600], eax
mov dword [rdi + r10*4 + 0x69a00], ecx
test dl, dl
je 0x180008b23
movzx eax, dl
movzx ecx, r14b
movzx r8d, byte [rax + rdi + 0x66ad0]
lea rdi, [0x180068d00]
add ecx, r8d
mov eax, 0x80808081
mul ecx
shr edx, 7
imul eax, edx, 0xff
sub ecx, eax
movsxd rax, ecx
movzx ecx, r13b
add ecx, r8d
movzx r9d, byte [rax + rdi]
mov eax, 0x80808081
mul ecx
shr edx, 7
imul eax, edx, 0xff
sub ecx, eax
movsxd rax, ecx
movzx ecx, r15b
add ecx, r8d
movzx ebx, byte [rax + rdi]
mov eax, 0x80808081
mul ecx
shr edx, 7
imul eax, edx, 0xff
sub ecx, eax
movsxd rax, ecx
movzx ecx, r12b
add ecx, r8d
movzx edi, byte [rax + rdi]
mov eax, 0x80808081
mul ecx
shr edx, 7
imul eax, edx, 0xff
sub ecx, eax
movsxd rax, ecx
lea rcx, [0x180068d00]
movzx eax, byte [rax + rcx]
jmp 0x180008b2c
xor r9d, r9d
xor ebx, ebx
xor edi, edi
xor eax, eax
shl eax, 8
or eax, edi
lea rdi, [0x180000000]
shl eax, 8
or eax, ebx
lea rbx, [0x180068d00]
shl eax, 8
or eax, r9d
mov ecx, eax
mov dword [rdi + r10*4 + 0x67d00], eax
rol ecx, 8
mov dword [rdi + r10*4 + 0x68100], ecx
mov ecx, eax
rol ecx, 0x10
rol eax, 0x18
mov dword [rdi + r10*4 + 0x68500], ecx
mov dword [rdi + r10*4 + 0x68900], eax
inc r10
sub r11, 1
jne 0x180008970
mov rbx, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov dword [0x180066cf8], 1
pop r15
pop r14
pop r13
pop r12
ret