Function at 0x18005cd20
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2a0
xor r13d, r13d
lea rsi, [rsp + 0x26]
lea rbp, [rsp + 0x2e]
lea r12, [rsp + 0x36]
sub rsi, rdx
sub rbp, rdx
mov rdi, rdx
mov r10, rcx
mov r11d, r13d
sub r12, rdx
lea rbx, [rsp + 0x20]
lea r8, [rdx + 2]
lea r9, [rdx + 0x10]
nop dword [rax + rax]
lea eax, [r11*8]
movsxd rcx, eax
movzx eax, byte [r8 - 1]
movzx edx, byte [rcx + rdi]
movzx ecx, byte [r9 - 8]
shl rcx, 8
shl rdx, 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
movzx eax, byte [r8 + 8]
mov qword [rbx], rdx
shl rcx, 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 [r9]
mov qword [rsi + r8], rcx
movzx ecx, byte [r8 + 0xf]
shl rax, 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 [r8 + rbp], rcx
movzx ecx, byte [r9 + 8]
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
add r11d, 4
or rcx, rax
movzx eax, byte [r8 + 0x1b]
add r8, 0x20
shl rcx, 8
add r9, 0x20
add rbx, 0x20
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
cmp r11d, 0x10
mov qword [r12 + r8 - 0x20], rcx
jl 0x18005cd70
movsxd rax, r11d
cmp rax, 0x50
jge 0x18005cf6f
mov r11d, 0x50
lea r9, [rsp + rax*8 + 0x10]
sub r11, rax
nop dword [rax]
mov rcx, qword [r9]
mov rdx, qword [r9 - 0x68]
add r9, 8
mov r8, rcx
mov rax, rcx
shr rcx, 6
ror r8, 0x13
rol rax, 3
xor r8, rax
mov rax, rdx
xor r8, rcx
mov rcx, rdx
shr rdx, 7
ror rcx, 8
ror rax, 1
xor rcx, rax
xor rcx, rdx
add r8, rcx
add r8, qword [r9 - 0x78]
add r8, qword [r9 - 0x30]
sub r11, 1
mov qword [r9 + 8], r8
jne 0x18005cf20
mov r12, qword [r10 + 0x48]
mov r14, qword [r10 + 0x10]
mov r15, qword [r10 + 0x18]
mov r8, qword [r10 + 0x20]
mov r9, qword [r10 + 0x28]
mov r11, qword [r10 + 0x30]
mov rbx, qword [r10 + 0x38]
mov rdi, qword [r10 + 0x40]
mov rsi, r12
lea rbp, [0x180126110]
nop dword [rax]
movsxd rcx, r13d
inc r13d
mov rdx, r11
rol rdx, 0x17
mov rax, r11
ror rax, 0x12
xor rdx, rax
mov rax, r11
ror rax, 0xe
xor rdx, rax
mov rax, rdi
xor rax, rbx
and rax, r11
xor rax, rdi
add rdx, rax
mov rax, r14
add rdx, qword [rbp + rcx*8]
add rdx, qword [rsp + rcx*8 + 0x20]
mov rcx, r14
add rdx, rsi
mov rsi, r15
add r9, rdx
rol rcx, 0x1e
ror rax, 0x1c
xor rcx, rax
or rsi, r14
mov rax, r14
rol rax, 0x19
and rsi, r8
xor rcx, rax
mov rax, r15
and rax, r14
or rsi, rax
lea rax, [rdx + rcx]
movsxd rcx, r13d
add rsi, rax
inc r13d
mov rdx, r9
rol rdx, 0x17
mov rax, r9
ror rax, 0x12
xor rdx, rax
mov rax, r9
ror rax, 0xe
xor rdx, rax
mov rax, rbx
xor rax, r11
and rax, r9
xor rax, rbx
add rdx, rax
mov rax, rsi
add rdx, qword [rbp + rcx*8]
add rdx, qword [rsp + rcx*8 + 0x20]
mov rcx, rsi
add rdx, rdi
mov rdi, rsi
add r8, rdx
rol rcx, 0x1e
ror rax, 0x1c
xor rcx, rax
or rdi, r14
mov rax, rsi
rol rax, 0x19
and rdi, r15
xor rcx, rax
mov rax, rsi
and rax, r14
or rdi, rax
lea rax, [rdx + rcx]
mov rdx, r8
add rdi, rax
rol rdx, 0x17
mov rax, r8
ror rax, 0x12
movsxd rcx, r13d
xor rdx, rax
mov rax, r8
ror rax, 0xe
xor rdx, rax
mov rax, r11
xor rax, r9
and rax, r8
inc r13d
xor rax, r11
add rdx, rax
mov rax, rdi
add rdx, qword [rbp + rcx*8]
add rdx, qword [rsp + rcx*8 + 0x20]
mov rcx, rdi
add rdx, rbx
mov rbx, rsi
add r15, rdx
rol rcx, 0x1e
ror rax, 0x1c
xor rcx, rax
or rbx, rdi
mov rax, rdi
rol rax, 0x19
and rbx, r14
xor rcx, rax
mov rax, rsi
and rax, rdi
or rbx, rax
lea rax, [rdx + rcx]
movsxd rcx, r13d
add rbx, rax
inc r13d
mov rdx, r15
rol rdx, 0x17
mov rax, r15
ror rax, 0x12
xor rdx, rax
mov rax, r15
ror rax, 0xe
xor rdx, rax
mov rax, r9
xor rax, r8
and rax, r15
xor rax, r9
add rdx, rax
mov rax, rbx
add rdx, qword [rbp + rcx*8]
add rdx, qword [rsp + rcx*8 + 0x20]
mov rcx, rbx
add rdx, r11
mov r11, rdi
add r14, rdx
rol rcx, 0x1e
ror rax, 0x1c
xor rcx, rax
or r11, rbx
mov rax, rbx
rol rax, 0x19
and r11, rsi
xor rcx, rax
mov rax, rdi
and rax, rbx
or r11, rax
lea rax, [rdx + rcx]
movsxd rcx, r13d
add r11, rax
mov rdx, r14
mov rax, r14
rol rdx, 0x17
ror rax, 0x12
xor rdx, rax
mov rax, r14
ror rax, 0xe
xor rdx, rax
mov rax, r8
xor rax, r15
and rax, r14
xor rax, r8
add rdx, rax
mov rax, r11
add rdx, qword [rbp + rcx*8]
add rdx, qword [rsp + rcx*8 + 0x20]
mov rcx, r11
add rdx, r9
add rsi, rdx
rol rcx, 0x1e
ror rax, 0x1c
xor rcx, rax
inc r13d
mov r9, rbx
or r9, r11
mov rax, r11
rol rax, 0x19
and r9, rdi
xor rcx, rax
mov rax, rbx
and rax, r11
or r9, rax
lea rax, [rdx + rcx]
movsxd rcx, r13d
add r9, rax
inc r13d
mov rdx, rsi
rol rdx, 0x17
mov rax, rsi
ror rax, 0x12
xor rdx, rax
mov rax, rsi
ror rax, 0xe
xor rdx, rax
mov rax, r15
xor rax, r14
and rax, rsi
xor rax, r15
add rdx, rax
mov rax, r9
add rdx, qword [rbp + rcx*8]
add rdx, qword [rsp + rcx*8 + 0x20]
mov rcx, r9
add rdx, r8
mov r8, r11
add rdi, rdx
rol rcx, 0x1e
ror rax, 0x1c
xor rcx, rax
or r8, r9
mov rax, r9
rol rax, 0x19
and r8, rbx
xor rcx, rax
mov rax, r11
and rax, r9
or r8, rax
lea rax, [rdx + rcx]
movsxd rcx, r13d
add r8, rax
mov rdx, rdi
mov rax, rdi
rol rdx, 0x17
ror rax, 0x12
xor rdx, rax
mov rax, rdi
ror rax, 0xe
xor rdx, rax
mov rax, rsi
xor rax, r14
and rax, rdi
xor rax, r14
add rdx, rax
mov rax, r8
add rdx, qword [rbp + rcx*8]
add rdx, qword [rsp + rcx*8 + 0x20]
mov rcx, r8
add rdx, r15
mov r15, r9
add rbx, rdx
rol rcx, 0x1e
ror rax, 0x1c
xor rcx, rax
or r15, r8
mov rax, r8
rol rax, 0x19
and r15, r11
xor rcx, rax
mov rax, r9
and rax, r8
or r15, rax
lea rax, [rdx + rcx]
add r15, rax
inc r13d
mov rdx, rbx
rol rdx, 0x17
movsxd rcx, r13d
mov rax, rbx
ror rax, 0x12
inc r13d
xor rdx, rax
mov rax, rbx
ror rax, 0xe
xor rdx, rax
mov rax, rsi
xor rax, rdi
and rax, rbx
xor rax, rsi
add rdx, rax
mov rax, r15
add rdx, qword [rbp + rcx*8]
add rdx, qword [rsp + rcx*8 + 0x20]
mov rcx, r15
add rdx, r14
mov r14, r8
add r11, rdx
rol rcx, 0x1e
ror rax, 0x1c
xor rcx, rax
or r14, r15
mov rax, r15
rol rax, 0x19
and r14, r9
xor rcx, rax
mov rax, r8
and rax, r15
or r14, rax
lea rax, [rdx + rcx]
add r14, rax
cmp r13d, 0x50
jl 0x18005cfa0
mov rax, qword [r10 + 0x10]
add rax, r14
mov qword [r10 + 0x10], rax
mov rax, qword [r10 + 0x18]
add rax, r15
mov qword [r10 + 0x18], rax
mov rax, r8
add rax, qword [r10 + 0x20]
mov qword [r10 + 0x20], rax
mov rax, r9
add rax, qword [r10 + 0x28]
mov qword [r10 + 0x28], rax
mov rax, r11
add rax, qword [r10 + 0x30]
mov qword [r10 + 0x30], rax
mov rax, rbx
mov rbx, qword [rsp + 0x2e8]
add rax, qword [r10 + 0x38]
mov qword [r10 + 0x38], rax
mov rax, rdi
add rax, qword [r10 + 0x40]
mov qword [r10 + 0x40], rax
mov rax, rsi
add rax, r12
mov qword [r10 + 0x48], rax
xor eax, eax
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret