Function at 0x180020460
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x290
mov rax, qword [0x180068020]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rdi, rcx
lea r8, [rcx + 0x54]
lea r10, [rcx + 0x52]
mov r11d, 2
lea r9, [rsp + 0x10]
nop word [rax + rax]
movzx eax, byte [r10]
movzx edx, byte [r8 - 1]
movzx ecx, byte [r8 + 6]
shl rcx, 8
shl rax, 8
or rdx, rax
movzx eax, byte [r8]
shl rdx, 8
or rdx, rax
movzx eax, byte [r8 + 1]
shl rdx, 8
or rdx, rax
movzx eax, byte [r8 + 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [r8 + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [r8 + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [r8 + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [r8 + 7]
or rcx, rax
mov qword [r9 - 0x10], rdx
shl rcx, 8
movzx eax, byte [r8 + 8]
or rcx, rax
movzx eax, byte [r8 + 9]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0xa]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0xb]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0xc]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0xd]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0xf]
mov qword [r9 - 8], rcx
movzx ecx, byte [r8 + 0xe]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x10]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x11]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x12]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x13]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x14]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x15]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x17]
mov qword [r9], rcx
movzx ecx, byte [r8 + 0x16]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x18]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x19]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x1a]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x1b]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x1c]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x1d]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x1f]
mov qword [r9 + 8], rcx
movzx ecx, byte [r8 + 0x1e]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x20]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x21]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x22]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x23]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x24]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x25]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x27]
mov qword [r9 + 0x10], rcx
movzx ecx, byte [r8 + 0x26]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x28]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x29]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x2a]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x2b]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x2c]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x2d]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x2f]
mov qword [r9 + 0x18], rcx
movzx ecx, byte [r8 + 0x2e]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x30]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x31]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x32]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x33]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x34]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 0x35]
shl rcx, 8
or rcx, rax
mov qword [r9 + 0x20], rcx
movzx ecx, byte [r8 + 0x36]
movzx eax, byte [r8 + 0x37]
lea r9, [r9 + 0x40]
shl rcx, 8
lea r10, [r10 + 0x40]
or rcx, rax
movzx eax, byte [r8 + 0x38]
shl rcx, 8
lea r8, [r8 + 0x40]
or rcx, rax
movzx eax, byte [r8 - 7]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 - 6]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 - 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 - 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 - 3]
shl rcx, 8
or rcx, rax
mov qword [r9 - 0x18], rcx
sub r11, 1
jne 0x1800204b0
mov rbx, qword [rsp + 0x70]
lea rax, [rsp + 0x70]
lea esi, [r11 + 0x10]
nop dword [rax]
mov r11, qword [rax - 0x68]
lea rax, [rax + 0x20]
mov rdx, rbx
mov r10, r11
ror rdx, 0x13
mov rcx, r11
ror rcx, 1
ror r10, 8
xor r10, rcx
mov rcx, r11
shr rcx, 7
xor r10, rcx
mov rcx, rbx
rol rcx, 3
xor rdx, rcx
shr rbx, 6
xor rdx, rbx
add r10, rdx
add r10, qword [rax - 0x90]
add r10, qword [rax - 0x48]
mov qword [rax - 0x10], r10
mov rbx, r10
mov rdx, qword [rax - 0x80]
mov r8, qword [rax - 0x18]
mov r9, rdx
mov rcx, rdx
ror r9, 8
shr rdx, 7
ror rcx, 1
xor r9, rcx
ror rbx, 0x13
xor r9, rdx
mov rcx, r8
rol rcx, 3
mov rdx, r8
ror rdx, 0x13
xor rdx, rcx
shr r8, 6
xor rdx, r8
mov rcx, r10
add r9, rdx
rol rcx, 3
add r9, qword [rax - 0x40]
xor rbx, rcx
add r11, r9
shr r10, 6
mov qword [rax - 8], r11
xor rbx, r10
mov r8, qword [rax - 0x78]
mov r9, r11
ror r9, 0x13
mov rdx, r8
ror rdx, 8
mov rcx, r8
ror rcx, 1
xor rdx, rcx
shr r8, 7
xor rdx, r8
mov rcx, r11
add rbx, rdx
rol rcx, 3
add rbx, qword [rax - 0x38]
xor r9, rcx
add rbx, qword [rax - 0x80]
mov qword [rax], rbx
mov r8, qword [rax - 0x70]
mov rdx, r8
shr r11, 6
xor r9, r11
ror rdx, 8
mov rcx, r8
shr r8, 7
ror rcx, 1
xor rdx, rcx
xor rdx, r8
add r9, rdx
add r9, qword [rax - 0x30]
add r9, qword [rax - 0x78]
mov qword [rax + 8], r9
sub rsi, 1
jne 0x1800207c0
mov r9, qword [rdi]
lea r13, [0x18004cd90]
mov rbx, qword [rdi + 8]
xor eax, eax
mov rsi, qword [rdi + 0x10]
mov r11d, eax
mov r15, qword [rdi + 0x18]
mov r10, qword [rdi + 0x20]
mov rbp, qword [rdi + 0x28]
mov r14, qword [rdi + 0x30]
mov r12, qword [rdi + 0x38]
nop dword [rax]
mov r8, r10
mov rax, r10
ror rax, 0x12
mov rcx, r10
rol r8, 0x17
not rcx
xor r8, rax
and rcx, r14
mov rax, r10
mov rdx, r9
ror rax, 0xe
xor r8, rax
rol rdx, 0x1e
mov rax, rbp
and rax, r10
xor rcx, rax
mov rax, r9
add r8, rcx
ror rax, 0x1c
add r8, qword [r11 + r13]
xor rdx, rax
add r8, qword [rsp + r11]
mov rax, r9
rol rax, 0x19
add r8, r12
xor rdx, rax
mov rcx, rbx
xor rcx, r9
mov rax, rbx
and rax, r9
and rcx, rsi
xor rcx, rax
mov r12, r14
add rdx, rcx
mov r14, rbp
mov rbp, r10
add r11, 8
lea r10, [r8 + r15]
mov r15, rsi
mov rsi, rbx
mov rbx, r9
lea r9, [rdx + r8]
cmp r11, 0x280
jl 0x180020910
add qword [rdi], r9
add qword [rdi + 8], rbx
add qword [rdi + 0x10], rsi
add qword [rdi + 0x18], r15
add qword [rdi + 0x20], r10
add qword [rdi + 0x28], rbp
add qword [rdi + 0x30], r14
add qword [rdi + 0x38], r12
xor eax, eax
mov word [rdi + 0x50], ax
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.180010bf0
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret