Function at 0x18008abc0
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
movzx eax, byte [rcx + 0xf]
lea rsi, [r8 + 0xd]
mov rdi, rcx
lea r13, [0x180120970]
sub rdi, r8
mov r15, r9
sub rdi, 2
mov rbp, rdx
mov rbx, rcx
nop
movzx edx, byte [rsi + 2]
mov r14, rsi
movzx ecx, al
mov r12d, 3
xor rdx, rcx
mov r8, rdx
and edx, 0xf
add rdx, rdx
and r8, 0xfffffffffffffff0
mov r9, qword [rbp + rdx*8]
mov rax, qword [rbp + rdx*8 + 8]
mov rcx, r9
mov rdx, rax
shr rcx, 4
and edx, 0xf
shr rax, 4
shl r9, 0x3c
or rax, r9
mov r11, qword [r13 + rdx*8]
xor r11, rcx
xor r11, qword [r8 + rbp]
xor rax, qword [r8 + rbp + 8]
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r14 + 1]
movzx edx, byte [r14 + rdi + 3]
xor rdx, rcx
mov rcx, r11
mov r9, rdx
shr rcx, 4
and edx, 0xf
shl r11, 0x3c
add rdx, rdx
and r9, 0xfffffffffffffff0
lea r8, [rdx*8]
mov rdx, rax
and edx, 0xf
mov r10, qword [r13 + rdx*8]
xor r10, rcx
mov rcx, rax
xor r10, qword [r8 + rbp]
mov rax, r11
shr rcx, 4
or rax, rcx
mov rcx, r10
xor rax, qword [r8 + rbp + 8]
mov rdx, rax
shr rcx, 4
and edx, 0xf
shr rax, 4
shl r10, 0x3c
or rax, r10
xor rax, qword [r9 + rbp + 8]
mov r11, qword [r13 + rdx*8]
movzx edx, byte [r14 + rdi + 2]
xor r11, rcx
xor r11, qword [r9 + rbp]
movzx ecx, byte [r14]
xor rdx, rcx
mov rcx, r11
mov r9, rdx
shr rcx, 4
and edx, 0xf
shl r11, 0x3c
add rdx, rdx
and r9, 0xfffffffffffffff0
lea r8, [rdx*8]
mov rdx, rax
and edx, 0xf
shr rax, 4
or rax, r11
xor rax, qword [r8 + rbp + 8]
mov r10, qword [r13 + rdx*8]
mov rdx, rax
xor r10, rcx
shr rax, 4
xor r10, qword [r8 + rbp]
and edx, 0xf
mov rcx, r10
shl r10, 0x3c
or rax, r10
shr rcx, 4
xor rax, qword [r9 + rbp + 8]
mov r11, qword [r13 + rdx*8]
movzx edx, byte [r14 + rdi + 1]
xor r11, rcx
xor r11, qword [r9 + rbp]
movzx ecx, byte [r14 - 1]
xor rdx, rcx
mov rcx, r11
mov r9, rdx
shr rcx, 4
and edx, 0xf
shl r11, 0x3c
add rdx, rdx
lea r8, [rdx*8]
mov rdx, rax
shr rax, 4
and edx, 0xf
or rax, r11
xor rax, qword [r8 + rbp + 8]
mov r10, qword [r13 + rdx*8]
xor r10, rcx
xor r10, qword [r8 + rbp]
and r9, 0xfffffffffffffff0
mov rdx, rax
lea r14, [r14 - 5]
and edx, 0xf
shr rax, 4
mov rcx, r10
shl r10, 0x3c
or rax, r10
shr rcx, 4
xor rax, qword [r9 + rbp + 8]
mov r11, qword [r13 + rdx*8]
movzx edx, byte [r14 + rdi + 5]
xor r11, rcx
xor r11, qword [r9 + rbp]
movzx ecx, byte [r14 + 3]
xor rdx, rcx
mov rcx, r11
mov r9, rdx
shl r11, 0x3c
and edx, 0xf
shr rcx, 4
add rdx, rdx
and r9, 0xfffffffffffffff0
lea r8, [rdx*8]
mov rdx, rax
and edx, 0xf
shr rax, 4
or rax, r11
xor rax, qword [r8 + rbp + 8]
mov r10, qword [r13 + rdx*8]
mov rdx, rax
xor r10, rcx
shr rax, 4
xor r10, qword [r8 + rbp]
and edx, 0xf
mov rcx, r10
shl r10, 0x3c
or rax, r10
shr rcx, 4
xor rax, qword [r9 + rbp + 8]
mov r11, qword [r13 + rdx*8]
movzx edx, byte [r14 + rdi + 4]
xor r11, rcx
xor r11, qword [r9 + rbp]
movzx ecx, byte [r14 + 2]
xor rdx, rcx
mov rcx, r11
mov r9, rdx
shl r11, 0x3c
and edx, 0xf
shr rcx, 4
add rdx, rdx
and r9, 0xfffffffffffffff0
lea r8, [rdx*8]
mov rdx, rax
shr rax, 4
and edx, 0xf
or rax, r11
xor rax, qword [r8 + rbp + 8]
mov r10, qword [r13 + rdx*8]
mov rdx, rax
xor r10, rcx
shr rax, 4
xor r10, qword [r8 + rbp]
and edx, 0xf
mov rcx, r10
shl r10, 0x3c
shr rcx, 4
or rax, r10
xor rax, qword [r9 + rbp + 8]
mov r11, qword [r13 + rdx*8]
xor r11, rcx
xor r11, qword [r9 + rbp]
sub r12, 1
jne 0x18008ac60
mov rdx, r11
mov byte [rbx + 7], r11b
shr rdx, 0x20
add rsi, 0x10
mov ecx, edx
mov byte [rbx + 3], dl
shr ecx, 0x18
sub rdi, 0x10
mov byte [rbx], cl
mov ecx, edx
shr ecx, 0x10
mov byte [rbx + 1], cl
mov ecx, edx
shr ecx, 8
mov rdx, rax
mov byte [rbx + 2], cl
mov ecx, r11d
shr ecx, 0x18
mov byte [rbx + 4], cl
mov ecx, r11d
shr ecx, 0x10
mov byte [rbx + 5], cl
mov ecx, r11d
shr ecx, 8
mov byte [rbx + 6], cl
shr rdx, 0x20
mov ecx, edx
mov byte [rbx + 0xb], dl
shr ecx, 0x18
mov byte [rbx + 8], cl
mov ecx, edx
shr ecx, 0x10
mov byte [rbx + 9], cl
mov ecx, edx
shr ecx, 8
mov byte [rbx + 0xa], cl
mov ecx, eax
shr ecx, 0x18
mov byte [rbx + 0xc], cl
mov ecx, eax
shr ecx, 0x10
mov byte [rbx + 0xd], cl
mov ecx, eax
shr ecx, 8
mov byte [rbx + 0xe], cl
mov byte [rbx + 0xf], al
sub r15, 0x10
jne 0x18008ac00
mov rbx, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
pop r15
pop r14
pop r13
pop r12
ret