Function at 0x1800316a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x280
xor edi, edi
lea rbx, [rsp]
mov r10d, edi
lea rax, [rdx + 2]
sub rbx, rdx
mov r11, rcx
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax - 1]
lea r8d, [r10*8]
movsxd r9, r8d
lea rax, [rax + 8]
inc r10d
movzx r8d, byte [r9 + rdx]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax - 8]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax - 7]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax - 6]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax - 5]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax - 4]
shl r8, 8
or r8, rcx
movzx ecx, byte [rax - 3]
shl r8, 8
or r8, rcx
mov qword [rbx + rax - 0xa], r8
cmp r10d, 0x10
jl 0x1800316e0
movsxd rax, r10d
cmp rax, 0x50
jge 0x1800317bf
mov r10d, 0x50
lea r9, [rsp + rax*8 - 0x10]
sub r10, rax
nop word [rax + rax]
mov rcx, qword [r9 - 0x68]
mov rdx, qword [r9]
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 - 0x78]
add r8, qword [r9 - 0x30]
mov qword [r9 + 8], r8
sub r10, 1
jne 0x180031770
mov r13, qword [r11 + 0x18]
lea r12, [0x180064cc0]
mov r8, qword [r11 + 0x10]
mov r9, r13
mov r10, qword [r11 + 0x20]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov r14, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov r15, qword [r11 + 0x48]
nop dword [rax]
movsxd rax, edi
mov rdx, rsi
rol rdx, 0x17
inc edi
lea rcx, [rax*8]
mov rax, rsi
ror rax, 0x12
xor rdx, rax
mov rax, rsi
ror rax, 0xe
xor rdx, rax
mov rax, rbp
xor rax, r14
and rax, rsi
xor rax, rbp
add rdx, rax
mov rax, r8
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, r8
ror rax, 0x1c
add rdx, r15
add rbx, rdx
rol rcx, 0x1e
xor rcx, rax
mov r15, r9
or r15, r8
mov rax, r8
rol rax, 0x19
and r15, r10
xor rcx, rax
mov rax, r9
and rax, r8
or r15, rax
lea rax, [rdx + rcx]
mov rdx, rbx
add r15, rax
rol rdx, 0x17
movsxd rax, edi
inc edi
lea rcx, [rax*8]
mov rax, rbx
ror rax, 0x12
xor rdx, rax
mov rax, rbx
ror rax, 0xe
xor rdx, rax
mov rax, r14
xor rax, rsi
and rax, rbx
xor rax, r14
add rdx, rax
mov rax, r15
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, r15
ror rax, 0x1c
add rdx, rbp
add r10, rdx
rol rcx, 0x1e
xor rcx, rax
mov rbp, r15
or rbp, r8
mov rax, r15
rol rax, 0x19
and rbp, r9
xor rcx, rax
mov rax, r15
and rax, r8
or rbp, rax
lea rax, [rdx + rcx]
mov rdx, r10
add rbp, rax
rol rdx, 0x17
movsxd rax, edi
lea rcx, [rax*8]
mov rax, r10
ror rax, 0x12
xor rdx, rax
mov rax, r10
ror rax, 0xe
xor rdx, rax
inc edi
mov rax, rsi
xor rax, rbx
and rax, r10
xor rax, rsi
add rdx, rax
mov rax, rbp
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, rbp
ror rax, 0x1c
add rdx, r14
add r9, rdx
rol rcx, 0x1e
xor rcx, rax
mov r14, r15
or r14, rbp
mov rax, rbp
rol rax, 0x19
and r14, r8
xor rcx, rax
mov rax, r15
and rax, rbp
or r14, rax
lea rax, [rdx + rcx]
mov rdx, r9
add r14, rax
rol rdx, 0x17
movsxd rax, edi
inc edi
lea rcx, [rax*8]
mov rax, r9
ror rax, 0x12
xor rdx, rax
mov rax, r9
ror rax, 0xe
xor rdx, rax
mov rax, rbx
xor rax, r10
and rax, r9
xor rax, rbx
add rdx, rax
mov rax, r14
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, r14
ror rax, 0x1c
add rdx, rsi
add r8, rdx
rol rcx, 0x1e
xor rcx, rax
mov rsi, rbp
or rsi, r14
mov rax, r14
rol rax, 0x19
and rsi, r15
xor rcx, rax
mov rax, rbp
and rax, r14
or rsi, rax
lea rax, [rdx + rcx]
mov rdx, r8
add rsi, rax
rol rdx, 0x17
movsxd rax, edi
lea rcx, [rax*8]
mov rax, r8
ror rax, 0x12
xor rdx, rax
mov rax, r8
ror rax, 0xe
xor rdx, rax
mov rax, r10
xor rax, r9
and rax, r8
xor rax, r10
add rdx, rax
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
add rdx, rbx
add r15, rdx
inc edi
mov rbx, r14
mov rcx, rsi
rol rcx, 0x1e
or rbx, rsi
and rbx, rbp
mov rax, rsi
ror rax, 0x1c
xor rcx, rax
mov rax, rsi
rol rax, 0x19
xor rcx, rax
mov rax, r14
and rax, rsi
or rbx, rax
lea rax, [rdx + rcx]
mov rdx, r15
add rbx, rax
rol rdx, 0x17
movsxd rax, edi
inc edi
lea rcx, [rax*8]
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 [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, rbx
ror rax, 0x1c
add rdx, r10
add rbp, rdx
rol rcx, 0x1e
xor rcx, rax
mov r10, rsi
or r10, rbx
mov rax, rbx
rol rax, 0x19
and r10, r14
xor rcx, rax
mov rax, rsi
and rax, rbx
or r10, rax
lea rax, [rdx + rcx]
mov rdx, rbp
add r10, rax
rol rdx, 0x17
movsxd rax, edi
lea rcx, [rax*8]
mov rax, rbp
ror rax, 0x12
xor rdx, rax
mov rax, rbp
ror rax, 0xe
xor rdx, rax
mov rax, r15
xor rax, r8
and rax, rbp
xor rax, r8
add rdx, rax
mov rax, r10
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, r10
ror rax, 0x1c
add rdx, r9
rol rcx, 0x1e
add r14, rdx
xor rcx, rax
mov rax, r10
rol rax, 0x19
xor rcx, rax
inc edi
mov r9, rbx
or r9, r10
mov rax, rbx
and rax, r10
and r9, rsi
or r9, rax
lea rax, [rdx + rcx]
add r9, rax
mov rdx, r14
rol rdx, 0x17
movsxd rax, edi
inc edi
lea rcx, [rax*8]
mov rax, r14
ror rax, 0x12
xor rdx, rax
mov rax, r14
ror rax, 0xe
xor rdx, rax
mov rax, r15
xor rax, rbp
and rax, r14
xor rax, r15
add rdx, rax
mov rax, r9
add rdx, qword [rcx + r12]
add rdx, qword [rsp + rcx]
mov rcx, r9
add rdx, r8
ror rax, 0x1c
rol rcx, 0x1e
mov r8, r10
xor rcx, rax
or r8, r9
and r8, rbx
mov rax, r9
rol rax, 0x19
add rsi, rdx
xor rcx, rax
mov rax, r10
and rax, r9
or r8, rax
lea rax, [rdx + rcx]
add r8, rax
cmp edi, 0x50
jl 0x1800317f0
add qword [r11 + 0x28], rbx
lea rax, [r9 + r13]
add qword [r11 + 0x30], rsi
add qword [r11 + 0x40], rbp
add qword [r11 + 0x10], r8
add qword [r11 + 0x20], r10
add qword [r11 + 0x38], r14
add qword [r11 + 0x48], r15
mov qword [r11 + 0x18], rax
lea r11, [rsp + 0x280]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret