Function at 0x18000e760
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, 0x2d0
mov rax, qword [0x18003a008]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
mov rax, qword [rcx + 0x18]
lea r8, [rsp + 0x48]
mov r12, qword [rcx + 8]
lea r9, [rsp + 0x50]
mov r13, qword [rcx + 0x10]
lea r10, [rsp + 0x46]
mov qword [rsp], rax
lea r11, [rsp + 0x4e]
mov rax, qword [rcx + 0x20]
lea rbx, [rsp + 0x56]
mov qword [rsp + 8], rax
lea rdi, [rsp + 0x5e]
mov rax, qword [rcx + 0x28]
lea rsi, [rsp + 0x66]
mov qword [rsp + 0x10], rax
lea r15, [rsp + 0x40]
mov rax, qword [rcx + 0x30]
sub r8, rdx
mov qword [rsp + 0x18], rax
sub r9, rdx
mov rax, qword [rcx + 0x38]
sub r10, rdx
mov qword [rsp + 0x20], rax
sub r11, rdx
mov rax, qword [rcx + 0x40]
sub rbx, rdx
sub rdi, rdx
mov qword [rsp + 0x28], rax
sub rsi, rdx
mov qword [rsp + 0x30], rcx
lea rax, [rdx + 0x12]
sub r15, rdx
mov ebp, 2
nop dword [rax]
movzx ecx, byte [rax - 0x11]
movzx edx, byte [rax - 0x12]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x10]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xf]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xe]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xd]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xc]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0xb]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 9]
mov qword [rax + r15 - 0x12], rdx
movzx edx, byte [rax - 0xa]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 8]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 7]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 6]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 5]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 3]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 1]
mov qword [r8 + rax - 0x12], rdx
movzx edx, byte [rax - 2]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 1]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 2]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 3]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 5]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 7]
mov qword [r9 + rax - 0x12], rdx
movzx edx, byte [rax + 6]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 8]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 9]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xa]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xb]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xc]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xd]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0xf]
mov qword [rax + r10], rdx
movzx edx, byte [rax + 0xe]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x10]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x11]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x12]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x13]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x14]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x15]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x17]
mov qword [rax + r11], rdx
movzx edx, byte [rax + 0x16]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x18]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x19]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1a]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1b]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1c]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1d]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x1f]
mov qword [rax + rbx], rdx
movzx edx, byte [rax + 0x1e]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x20]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x21]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x22]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x23]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x24]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax + 0x25]
shl rdx, 8
or rdx, rcx
mov qword [rax + rdi], rdx
movzx edx, byte [rax + 0x26]
movzx ecx, byte [rax + 0x27]
lea rax, [rax + 0x40]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x18]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x17]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x16]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x15]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x14]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [rax - 0x13]
shl rdx, 8
or rdx, rcx
mov qword [rax + rsi - 0x40], rdx
sub rbp, 1
jne 0x18000e820
mov r9, qword [rsp + 0xb0]
lea r11, [rsp + 0xb0]
lea ebx, [rbp + 0x10]
nop dword [rax]
mov r10, qword [r11 - 0x68]
lea r11, [r11 + 0x20]
mov rcx, r9
mov rdx, r10
ror rcx, 0x13
mov rax, r10
ror rax, 1
ror rdx, 8
xor rdx, rax
mov rax, r10
shr rax, 7
xor rdx, rax
mov rax, r9
rol rax, 3
xor rcx, rax
shr r9, 6
xor r9, rcx
add r9, rdx
add r9, qword [r11 - 0x90]
add r9, qword [r11 - 0x48]
mov qword [r11 - 0x10], r9
mov rcx, qword [r11 - 0x80]
mov rdx, qword [r11 - 0x18]
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
mov rax, r9
xor rcx, rdx
rol rax, 3
add r8, rcx
add r8, qword [r11 - 0x40]
add r10, r8
mov r8, r9
mov qword [r11 - 8], r10
mov rdx, qword [r11 - 0x78]
mov rcx, rdx
shr r9, 6
ror rcx, 8
ror r8, 0x13
xor r8, rax
mov rax, rdx
shr rdx, 7
xor r9, r8
ror rax, 1
xor rcx, rax
xor rcx, rdx
add r9, rcx
add r9, qword [r11 - 0x38]
add r9, qword [r11 - 0x80]
mov qword [r11], r9
mov rcx, qword [r11 - 0x70]
mov rdx, rcx
mov rax, rcx
ror rdx, 8
shr rcx, 7
ror rax, 1
xor rdx, rax
mov rax, r10
xor rdx, rcx
rol rax, 3
mov rcx, r10
shr r10, 6
ror rcx, 0x13
xor rcx, rax
xor rcx, r10
add rdx, rcx
add rdx, qword [r11 - 0x30]
add rdx, qword [r11 - 0x78]
mov qword [r11 + 8], rdx
sub rbx, 1
jne 0x18000eaf0
mov r9, qword [rsp]
lea r14, [0x180035530]
mov rbx, qword [rsp + 8]
xor r15d, r15d
mov r11, qword [rsp + 0x10]
mov r10, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
nop word [rax + rax]
mov r8, r11
mov rax, r11
ror rax, 0x12
mov rdx, r12
rol r8, 0x17
xor r8, rax
rol rdx, 0x1e
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r10
xor rax, rdi
and rax, r11
xor rax, rdi
add r8, rax
mov rax, r12
add r8, qword [r15 + r14]
add r8, qword [rsp + r15 + 0x40]
ror rax, 0x1c
add r8, rbp
xor rdx, rax
mov rax, r12
rol rax, 0x19
xor rdx, rax
mov rax, r13
and rax, r12
lea rbp, [rbx + r8]
mov rbx, r13
or rbx, r12
and rbx, r9
or rbx, rax
lea rax, [r8 + rdx]
add rbx, rax
mov r8, rbp
rol r8, 0x17
mov rax, rbp
ror rax, 0x12
mov rdx, rbx
xor r8, rax
rol rdx, 0x1e
mov rax, rbp
ror rax, 0xe
xor r8, rax
mov rax, r10
xor rax, r11
and rax, rbp
xor rax, r10
add r8, rax
mov rax, rbx
add r8, qword [r15 + r14 + 8]
add r8, qword [rsp + r15 + 0x48]
ror rax, 0x1c
add r8, rdi
xor rdx, rax
mov rax, rbx
rol rax, 0x19
xor rdx, rax
mov rax, rbx
lea rdi, [r9 + r8]
and rax, r12
mov r9, rbx
or r9, r12
and r9, r13
or r9, rax
lea rax, [r8 + rdx]
add r9, rax
mov r8, rdi
rol r8, 0x17
mov rax, rdi
ror rax, 0x12
xor r8, rax
mov rax, rdi
ror rax, 0xe
xor r8, rax
mov rax, rbp
xor rax, r11
and rax, rdi
xor rax, r11
add r8, rax
add r8, qword [r15 + r14 + 0x10]
add r8, qword [rsp + r15 + 0x50]
add r8, r10
mov rdx, r9
rol rdx, 0x1e
mov rax, r9
ror rax, 0x1c
mov r10, r9
xor rdx, rax
or r10, rbx
lea rsi, [r8 + r13]
and r10, r12
mov rax, r9
rol rax, 0x19
xor rdx, rax
mov rax, r9
and rax, rbx
or r10, rax
lea rax, [r8 + rdx]
mov r8, rsi
add r10, rax
rol r8, 0x17
mov rax, rsi
mov rdx, r10
ror rax, 0x12
xor r8, rax
rol rdx, 0x1e
mov rax, rsi
ror rax, 0xe
xor r8, rax
mov rax, rbp
xor rax, rdi
and rax, rsi
xor rax, rbp
add r8, rax
mov rax, r10
add r8, qword [r15 + r14 + 0x18]
add r8, qword [rsp + r15 + 0x58]
ror rax, 0x1c
add r8, r11
xor rdx, rax
add r12, r8
mov rax, r10
mov r11, r10
rol rax, 0x19
or r11, r9
xor rdx, rax
and r11, rbx
mov rax, r10
and rax, r9
or r11, rax
lea rax, [r8 + rdx]
mov r8, r12
add r11, rax
rol r8, 0x17
mov rax, r12
mov rdx, r11
ror rax, 0x12
xor r8, rax
rol rdx, 0x1e
mov rax, r12
ror rax, 0xe
xor r8, rax
mov rax, rsi
xor rax, rdi
and rax, r12
xor rax, rdi
add r8, rax
mov rax, r11
add r8, qword [r15 + r14 + 0x20]
add r8, qword [rsp + r15 + 0x60]
ror rax, 0x1c
add r8, rbp
xor rdx, rax
mov rax, r11
rol rax, 0x19
xor rdx, rax
mov rax, r11
lea rbp, [rbx + r8]
mov rbx, r11
or rbx, r10
and rbx, r9
and rax, r10
or rbx, rax
lea rax, [r8 + rdx]
add rbx, rax
mov r8, rbp
rol r8, 0x17
mov rax, rbp
ror rax, 0x12
mov rdx, rbx
xor r8, rax
rol rdx, 0x1e
mov rax, rbp
ror rax, 0xe
xor r8, rax
mov rax, rsi
xor rax, r12
and rax, rbp
xor rax, rsi
add r8, rax
mov rax, rbx
add r8, qword [r15 + r14 + 0x28]
add r8, qword [rsp + r15 + 0x68]
ror rax, 0x1c
add r8, rdi
xor rdx, rax
mov rax, rbx
rol rax, 0x19
xor rdx, rax
mov rax, rbx
and rax, r11
lea rdi, [r9 + r8]
mov r9, rbx
or r9, r11
and r9, r10
or r9, rax
lea rax, [r8 + rdx]
add r9, rax
mov r8, rdi
rol r8, 0x17
mov rax, rdi
ror rax, 0x12
mov rdx, r9
xor r8, rax
rol rdx, 0x1e
mov rax, rdi
mov r13, r9
ror rax, 0xe
or r13, rbx
xor r8, rax
and r13, r11
mov rax, r12
xor rax, rbp
and rax, rdi
xor rax, r12
add r8, rax
mov rax, r9
add r8, qword [r15 + r14 + 0x30]
add r8, qword [rsp + r15 + 0x70]
ror rax, 0x1c
add r8, rsi
xor rdx, rax
add r10, r8
mov rax, r9
rol rax, 0x19
xor rdx, rax
mov rax, r9
and rax, rbx
or r13, rax
lea rax, [r8 + rdx]
mov r8, r10
add r13, rax
rol r8, 0x17
mov rax, r10
ror rax, 0x12
xor r8, rax
mov rax, r10
ror rax, 0xe
xor r8, rax
mov rax, rbp
xor rax, rdi
and rax, r10
xor rax, rbp
add r8, rax
mov rdx, r13
add r8, qword [r15 + r14 + 0x38]
mov rax, r13
add r8, qword [rsp + r15 + 0x78]
add r15, 0x40
add r8, r12
ror rax, 0x1c
rol rdx, 0x1e
mov r12, r9
xor rdx, rax
or r12, r13
and r12, rbx
mov rax, r13
rol rax, 0x19
add r11, r8
xor rdx, rax
mov rax, r9
and rax, r13
or r12, rax
lea rax, [r8 + rdx]
add r12, rax
cmp r15, 0x280
jl 0x18000ec40
mov r14, qword [rsp + 0x30]
add qword [r14 + 8], r12
add qword [r14 + 0x10], r13
add qword [r14 + 0x18], r9
add qword [r14 + 0x20], rbx
add qword [r14 + 0x28], r11
add qword [r14 + 0x30], r10
add qword [r14 + 0x38], rdi
add qword [r14 + 0x40], rbp
xor eax, eax
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.180013d10
lea r11, [rsp + 0x2d0]
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