Function at 0x14008bbb0
Capabilities:
Encode data using xor

Disassembly:
test r8d, r8d
jle 0x14008c5b0
mov r11, rsp
mov dword [r11 + 0x18], r8d
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
sub rsp, 0x318
mov qword [r11 - 8], rbx
xor eax, eax
mov qword [r11 - 0x10], rbp
mov qword [r11 - 0x18], rsi
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r14
mov qword [r11 - 0x40], r15
mov dword [rsp + 0x338], eax
nop dword [rax + rax]
shl eax, 7
lea rbx, [rsp + 0x58]
movsxd r11, eax
lea rdi, [rsp + 0x60]
lea rsi, [rsp + 0x56]
xor ecx, ecx
lea r14, [rsp + 0x5e]
lea r15, [rsp + 0x66]
lea r9, [r11 + rdx]
sub r11, r9
lea r12, [rsp + 0x6e]
lea rbp, [rsp + 0x76]
add r11, rdx
sub rbx, r9
lea r13, [rsp + 0x50]
sub rdi, r9
lea r10, [r9 + 0x12]
sub rsi, r9
sub r14, r9
sub r15, r9
sub r12, r9
sub rbp, r9
sub r13, r9
nop word [rax + rax]
lea eax, [rcx*8]
movsxd rdx, eax
movzx eax, byte [rdx + r9]
movzx r8d, byte [rdx + r9 + 1]
shl rax, 8
or r8, rax
movzx eax, byte [rdx + r9 + 2]
shl r8, 8
or r8, rax
movzx eax, byte [rdx + r9 + 3]
shl r8, 8
or r8, rax
movzx eax, byte [rdx + r9 + 4]
shl r8, 8
or r8, rax
movzx eax, byte [rdx + r9 + 5]
shl r8, 8
or r8, rax
movzx eax, byte [rdx + r9 + 6]
shl r8, 8
or r8, rax
movzx eax, byte [rdx + r9 + 7]
movzx edx, byte [r11 + r10 - 0xa]
shl rdx, 8
shl r8, 8
or r8, rax
movzx eax, byte [r11 + r10 - 9]
or rdx, rax
mov qword [r10 + r13 - 0x12], r8
movzx eax, byte [r11 + r10 - 8]
shl rdx, 8
or rdx, rax
movzx eax, byte [r11 + r10 - 7]
shl rdx, 8
or rdx, rax
movzx eax, byte [r11 + r10 - 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [r11 + r10 - 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [r11 + r10 - 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [r11 + r10 - 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 - 1]
mov qword [rbx + r10 - 0x12], rdx
movzx edx, byte [r10 - 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 1]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 2]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 3]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 4]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 5]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 7]
mov qword [rdi + r10 - 0x12], rdx
movzx edx, byte [r10 + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 8]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 9]
shl rdx, 8
or rdx, rax
shl rdx, 8
movzx eax, byte [r10 + 0xa]
or rdx, rax
movzx eax, byte [r10 + 0xb]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0xc]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0xd]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0xf]
mov qword [rsi + r10], rdx
movzx edx, byte [r10 + 0xe]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x10]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x11]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x12]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x13]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x14]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x15]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x17]
mov qword [r14 + r10], rdx
movzx edx, byte [r10 + 0x16]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x18]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x19]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x1a]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x1b]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x1c]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x1d]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x1f]
mov qword [r15 + r10], rdx
movzx edx, byte [r10 + 0x1e]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x20]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x21]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x22]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x23]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x24]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x25]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x27]
add ecx, 8
mov qword [r12 + r10], rdx
movzx edx, byte [r10 + 0x26]
lea r10, [r10 + 0x40]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 - 0x18]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 - 0x17]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 - 0x16]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 - 0x15]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 - 0x14]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 - 0x13]
shl rdx, 8
or rdx, rax
mov qword [r10 + rbp - 0x40], rdx
cmp ecx, 0x10
jl 0x14008bc60
mov r15, qword [rsp + 0xc0]
lea r9, [rsp + 0xc0]
mov rcx, qword [rsp + 0x320]
mov r12d, 8
mov r10, qword [r9 - 0x60]
lea rbp, [r9]
mov r9, qword [r9 - 0x68]
mov rdx, r15
mov rsi, qword [rbp + 8]
mov r14, r9
mov r11, qword [rbp - 0x58]
mov rax, r9
mov rdi, qword [rbp - 0x50]
mov r8, rsi
ror rax, 1
ror r8, 0x3d
ror rdx, 0x3d
ror r14, 8
xor r14, rax
mov rax, r9
shr rax, 7
xor r14, rax
mov rax, r15
ror rax, 0x13
xor rdx, rax
mov rax, r15
shr rax, 6
xor rdx, rax
mov rax, rsi
ror rax, 0x13
add r14, rdx
xor r8, rax
add r14, qword [rbp - 0x70]
add r14, qword [rbp - 0x28]
mov rdx, r10
ror rdx, 8
mov rax, rsi
shr rax, 6
xor r8, rax
mov qword [rbp + 0x10], r14
mov rax, r10
ror rax, 1
xor rdx, rax
mov rax, r10
shr rax, 7
xor rdx, rax
mov rax, r11
add r8, rdx
ror rax, 1
add r8, qword [rbp - 0x20]
mov rdx, r14
add r9, r8
ror rdx, 0x3d
mov r8, r11
mov qword [rbp + 0x18], r9
ror r8, 8
xor r8, rax
mov rax, r11
shr rax, 7
xor r8, rax
mov rax, r14
ror rax, 0x13
xor rdx, rax
mov rax, r14
shr rax, 6
xor rdx, rax
mov rax, rdi
add r8, rdx
ror rax, 1
add r8, qword [rbp - 0x18]
mov rdx, r9
add r10, r8
ror rdx, 0x3d
mov r8, rdi
mov qword [rbp + 0x20], r10
ror r8, 8
xor r8, rax
mov rax, rdi
shr rax, 7
xor r8, rax
mov rax, r9
ror rax, 0x13
xor rdx, rax
shr r9, 6
xor rdx, r9
mov rbx, qword [rbp - 0x48]
add r8, rdx
add r8, qword [rbp - 0x10]
mov rdx, r10
mov r9, qword [rbp - 0x40]
add r11, r8
ror rdx, 0x3d
mov r8, rbx
ror r8, 8
mov rax, rbx
ror rax, 1
xor r8, rax
mov qword [rbp + 0x28], r11
mov rax, rbx
shr rax, 7
xor r8, rax
mov rax, r10
ror rax, 0x13
xor rdx, rax
shr r10, 6
xor r10, rdx
mov rax, r9
ror rax, 1
add r10, r8
add r10, qword [rbp - 8]
mov rdx, r11
ror rdx, 0x3d
add r10, rdi
mov r8, r9
mov qword [rbp + 0x30], r10
ror r8, 8
xor r8, rax
mov rax, r9
shr rax, 7
xor r8, rax
mov rax, r11
ror rax, 0x13
xor rdx, rax
shr r11, 6
xor r11, rdx
mov rdx, qword [rbp - 0x30]
lea rax, [r15 + r8]
mov r15, r10
add r11, rax
ror r15, 0x3d
add r11, rbx
mov rbx, qword [rbp - 0x38]
mov r8, rbx
mov qword [rbp + 0x38], r11
ror r8, 8
mov rax, rbx
ror rax, 1
xor r8, rax
mov rax, rbx
shr rax, 7
xor r8, rax
mov rax, r10
ror rax, 0x13
xor r15, rax
shr r10, 6
xor r15, r10
lea rax, [r9 + r8]
mov r8, rdx
add r15, rax
ror r8, 8
mov rax, rdx
lea r9, [rbp + 0x40]
ror rax, 1
add r15, rsi
xor r8, rax
shr rdx, 7
xor r8, rdx
mov qword [r9], r15
mov rdx, r11
mov rax, r11
ror rax, 0x13
ror rdx, 0x3d
xor rdx, rax
shr r11, 6
xor rdx, r11
lea rax, [r14 + r8]
add rdx, rax
add rdx, rbx
mov qword [rbp + 0x48], rdx
sub r12, 1
jne 0x14008bf92
mov rax, qword [rcx + 0x108]
xor esi, esi
mov qword [rsp], rax
mov r14, rax
mov rax, qword [rcx + 0x110]
mov qword [rsp + 8], rax
mov r15, rax
mov rax, qword [rcx + 0x118]
mov qword [rsp + 0x10], rax
mov rbx, rax
mov rax, qword [rcx + 0x120]
mov qword [rsp + 0x18], rax
mov rdi, rax
mov rax, qword [rcx + 0x128]
mov qword [rsp + 0x20], rax
mov r12, rax
mov rax, qword [rcx + 0x130]
mov qword [rsp + 0x28], rax
mov rbp, rax
mov rax, qword [rcx + 0x138]
mov qword [rsp + 0x30], rax
mov r13, rax
mov rax, qword [rcx + 0x140]
mov qword [rsp + 0x40], rax
mov rcx, rax
nop word [rax + rax]
lea r9, [0x140131eb0]
mov r8, r12
ror r8, 0x29
mov rax, r12
ror rax, 0x12
mov rdx, r12
xor r8, rax
not rdx
and rdx, r13
mov rax, r12
ror rax, 0xe
mov r10, r15
xor r8, rax
xor r10, rbx
and r10, r14
mov rax, rbp
and rax, r12
xor rdx, rax
mov rax, r14
add r8, rdx
ror rax, 0x22
add r8, qword [rsi + r9]
mov rdx, r14
add r8, qword [rsp + rsi + 0x50]
add r8, rcx
ror rdx, 0x27
xor rdx, rax
mov rax, r14
ror rax, 0x1c
xor rdx, rax
mov rax, r15
lea r11, [rdi + r8]
and rax, rbx
xor r10, rax
mov rdi, r15
xor rdi, r14
lea rax, [r8 + rdx]
mov r8, r11
add r10, rax
ror r8, 0x29
and rdi, r10
mov rax, r11
ror rax, 0x12
mov rdx, r11
xor r8, rax
not rdx
and rdx, rbp
mov rax, r11
ror rax, 0xe
xor r8, rax
mov rax, r11
and rax, r12
xor rdx, rax
mov rax, r10
add r8, rdx
ror rax, 0x22
add r8, qword [rsi + r9 + 8]
mov rdx, r10
add r8, qword [rsp + rsi + 0x58]
add r8, r13
ror rdx, 0x27
xor rdx, rax
mov rax, r10
ror rax, 0x1c
xor rdx, rax
mov rax, r15
and rax, r14
lea rcx, [rbx + r8]
xor rdi, rax
lea rax, [r8 + rdx]
mov r8, rcx
add rdi, rax
ror r8, 0x29
mov rax, rcx
mov rdx, rcx
ror rax, 0x12
not rdx
xor r8, rax
mov rax, rcx
ror rax, 0xe
xor r8, rax
and rdx, r12
mov rax, r11
and rax, rcx
mov rbx, r10
xor rdx, rax
xor rbx, r14
add r8, rdx
and rbx, rdi
add r8, qword [rsi + r9 + 0x10]
mov rdx, rdi
add r8, qword [rsp + rsi + 0x60]
mov rax, rdi
ror rax, 0x22
add r8, rbp
ror rdx, 0x27
xor rdx, rax
mov rax, rdi
ror rax, 0x1c
xor rdx, rax
lea r13, [r15 + r8]
mov rax, r10
mov r9, r13
and rax, r14
ror r9, 0x29
xor rbx, rax
mov r15, rdi
lea rax, [r8 + rdx]
xor r15, r10
add rbx, rax
mov rdx, r13
not rdx
and r15, rbx
and rdx, r11
mov rax, r13
ror rax, 0x12
mov r8, rbx
xor r9, rax
ror r8, 0x27
mov rax, r13
ror rax, 0xe
xor r9, rax
mov rax, rcx
and rax, r13
xor rdx, rax
lea rax, [0x140131eb0]
add r9, rdx
add r9, qword [rsi + rax + 0x18]
mov rax, rbx
add r9, qword [rsp + rsi + 0x68]
ror rax, 0x22
add r9, r12
xor r8, rax
mov rax, rbx
ror rax, 0x1c
xor r8, rax
mov rax, rdi
lea rbp, [r14 + r9]
and rax, r10
xor r15, rax
mov rdx, rbp
not rdx
lea rax, [r9 + r8]
and rdx, rcx
add r15, rax
mov r9, rbp
ror r9, 0x29
mov rax, rbp
ror rax, 0x12
xor r9, rax
mov rax, rbp
ror rax, 0xe
xor r9, rax
mov rax, rbp
and rax, r13
xor rdx, rax
lea rax, [0x140131eb0]
add r9, rdx
add r9, qword [rsi + rax + 0x20]
add r9, qword [rsp + rsi + 0x70]
add r9, r11
lea r12, [r10 + r9]
mov r8, r15
mov rax, r15
ror rax, 0x22
mov r14, rbx
xor r14, rdi
ror r8, 0x27
xor r8, rax
and r14, r15
mov rax, r15
add rsi, 0x28
ror rax, 0x1c
xor r8, rax
mov rax, rbx
and rax, rdi
xor r14, rax
lea rax, [r9 + r8]
add r14, rax
cmp rsi, 0x280
jl 0x14008c250
mov rax, qword [rsp]
mov rdx, qword [rsp + 0x328]
add rax, r14
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x320]
mov qword [rcx + 0x108], rax
mov rax, qword [rsp + 8]
add rax, r15
mov qword [rcx + 0x110], rax
mov rax, qword [rsp + 0x10]
add rax, rbx
mov qword [rcx + 0x118], rax
mov rax, qword [rsp + 0x18]
add rax, rdi
mov qword [rcx + 0x120], rax
mov rax, qword [rsp + 0x20]
add rax, r12
mov qword [rcx + 0x128], rax
mov rax, qword [rsp + 0x28]
add rax, rbp
mov qword [rcx + 0x130], rax
mov rax, qword [rsp + 0x30]
add rax, r13
mov qword [rcx + 0x138], rax
mov rax, qword [rsp + 0x38]
add rax, qword [rsp + 0x40]
mov qword [rcx + 0x140], rax
mov eax, dword [rsp + 0x338]
inc eax
mov dword [rsp + 0x338], eax
cmp eax, dword [rsp + 0x330]
jl 0x14008bc00
mov r15, qword [rsp + 0x2d8]
mov r14, qword [rsp + 0x2e0]
mov r13, qword [rsp + 0x2e8]
mov r12, qword [rsp + 0x2f0]
mov rdi, qword [rsp + 0x2f8]
mov rsi, qword [rsp + 0x300]
mov rbp, qword [rsp + 0x308]
mov rbx, qword [rsp + 0x310]
add rsp, 0x318
ret