Function at 0x18000b558
Capabilities:
Encode data using xor

Disassembly:
test r8, r8
je 0x18000b840
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x380
mov rdi, rdx
lea rax, [rsp + 0x80]
sub rdi, rax
mov rsi, r8
mov rbx, rcx
xor r9d, r9d
lea rax, [rdi + r9*8]
movabs rcx, 0xff0000000000
mov rdx, qword [rsp + rax + 0x80]
movabs rax, 0xff000000000000
mov r8, rdx
and r8, rax
mov rax, rdx
shr rax, 0x10
or r8, rax
mov rax, rdx
and rax, rcx
shr r8, 0x10
or r8, rax
movabs rcx, 0xff00000000
shr r8, 0x10
mov rax, rdx
and rax, rcx
mov rcx, rdx
or r8, rax
shl rcx, 0x10
mov rax, rdx
shr r8, 8
and eax, 0xff00
or rcx, rax
mov rax, rdx
shl rcx, 0x10
and eax, 0xff0000
or rcx, rax
mov eax, 0xff000000
shl rcx, 0x10
and rdx, rax
or rcx, rdx
shl rcx, 8
or r8, rcx
mov qword [rsp + r9*8 + 0x80], r8
inc r9
cmp r9, 0x10
jl 0x18000b594
mov r8d, 0x80
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x100]
call fcn.18002bd80
lea r9, [rsp + 0x108]
mov r10d, 0x40
mov rcx, qword [r9]
mov rdx, qword [r9 + 0x68]
lea r9, [r9 + 8]
mov r8, rcx
mov rax, rcx
ror r8, 8
shr rcx, 7
ror rax, 1
xor r8, rax
mov rax, rdx
xor r8, rcx
rol rax, 3
mov rcx, rdx
shr rdx, 6
ror rcx, 0x13
xor rcx, rax
xor rcx, rdx
add r8, rcx
add r8, qword [r9 + 0x38]
add r8, qword [r9 - 0x10]
mov qword [r9 + 0x70], r8
sub r10, 1
jne 0x18000b661
mov r14, qword [rbx + 0x20]
mov r11, qword [rbx + 0x18]
mov r12, qword [rbx + 0x30]
mov r15, qword [rbx + 0x28]
mov rbp, qword [rbx + 0x38]
mov r9, qword [rbx + 8]
mov r10, qword [rbx + 0x10]
mov r13, qword [rbx]
mov qword [rsp + 0x28], r14
mov rbx, qword [rsp + 0x28]
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x50], r14
mov r14, r12
mov qword [rsp + 0x48], r11
mov r11, r15
mov qword [rsp + 0x60], r12
mov r12, rbp
mov qword [rsp + 0x58], r15
mov r15, qword [rsp + 0x30]
mov qword [rsp + 0x70], rbp
xor ebp, ebp
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
mov r8, rbx
mov rax, rbx
ror rax, 0x12
mov rcx, rbx
rol r8, 0x17
not rcx
xor r8, rax
and rcx, r14
mov rax, rbx
mov rdx, r13
ror rax, 0xe
xor r8, rax
rol rdx, 0x1e
mov rax, r11
and rax, rbx
xor rcx, rax
lea rax, [0x18005b4c0]
add r8, rcx
mov rcx, r9
add r8, qword [rax + rbp]
xor rcx, r13
add r8, qword [rsp + rbp + 0x100]
and rcx, r10
add r8, r12
mov rax, r13
ror rax, 0x1c
mov r12, r14
xor rdx, rax
mov r14, r11
mov rax, r13
mov r11, rbx
rol rax, 0x19
lea rbx, [r8 + r15]
xor rdx, rax
mov r15, r10
mov rax, r9
add rbp, 8
and rax, r13
mov r10, r9
xor rcx, rax
mov r9, r13
add rdx, rcx
lea r13, [rdx + r8]
cmp rbp, 0x280
jl 0x18000b711
mov qword [rsp + 0x28], rbx
mov rax, r9
add rax, qword [rsp + 0x38]
sub rdi, 0xffffffffffffff80
mov rbx, qword [rsp + 0x3c0]
add qword [rbx], r13
mov qword [rbx + 8], rax
mov rax, r10
add rax, qword [rsp + 0x40]
mov qword [rbx + 0x10], rax
mov rax, qword [rsp + 0x48]
add rax, r15
mov qword [rbx + 0x18], rax
mov rax, qword [rsp + 0x28]
add rax, qword [rsp + 0x50]
mov qword [rbx + 0x20], rax
mov rax, r11
add rax, qword [rsp + 0x58]
mov qword [rbx + 0x28], rax
mov rax, r14
add rax, qword [rsp + 0x60]
mov qword [rbx + 0x30], rax
mov rax, r12
add rax, qword [rsp + 0x70]
mov qword [rbx + 0x38], rax
sub rsi, 1
jne 0x18000b591
mov rbx, qword [rsp + 0x3c8]
add rsp, 0x380
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret