Function at 0x14008f150
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov r15, r15
xchg rcx, rdi
mov rcx, rdx
xchg rdi, rcx
mov rbx, rcx
mov r14, r14
test rcx, rcx
je 0x14008f5af
test rdx, rdx
mov dword [rsp - 0x28], 0x74c00e49
je 0x14008f5af
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
jae 0x14008f5af
mov rsi, rsi
lea rax, [rcx*8]
xchg rsi, r14
mov qword [rsp + 0x30], r14
xchg rsi, r14
add qword [rbx], rax
mov byte [rcx + rbx + 0x50], 0x20
add byte [rcx + rbx + 0x50], 0x27
xor byte [rcx + rbx + 0x50], 0x25
sub byte [rcx + rbx + 0x50], 0x37
xor byte [rcx + rbx + 0x50], 0xab
xchg rcx, rax
mov rcx, qword [rbx + 0x48]
xchg rcx, rax
inc rax
mov dword [rsp - 0x34], ebx
xchg rsp, rax
mov qword [rbx + 0x48], rsp
xchg rsp, rax
cmp rax, 0x70
mov dword [rsp - 0x10], 0x1e5b202b
jbe 0x14008f26c
cmp rax, 0x80
jae 0x14008f242
nop dword [rax]
mov r14, r14
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x40
sub byte [rax + rbx + 0x50], 8
sub byte [rax + rbx + 0x50], 0x14
sub byte [rax + rbx + 0x50], 0x24
xchg r9, rax
mov r9, qword [rbx + 0x48]
xchg r9, rax
inc rax
mov qword [rbx + 0x48], rax
xchg rsp, rsp
cmp rax, 0x80
jb 0x14008f210
lea rsi, [rbx + 0x50]
mov r15, r15
mov rcx, rbx
xchg rdx, rsi
mov rsi, rdx
xchg rdx, rsi
call fcn.14008dbf0
xor eax, eax
xchg rbx, rbx
xchg rsp, rax
mov qword [rbx + 0x48], rsp
xchg rsp, rax
jmp 0x14008f285
lea rsi, [rbx + 0x50]
nop dword [rax]
nop word [rax + rax]
mov dword [rsp - 0x18], 0x73264b54
mov byte [rax + rbx + 0x50], 0x4c
xor byte [rax + rbx + 0x50], 0x79
add byte [rax + rbx + 0x50], 0x3f
sub byte [rax + rbx + 0x50], 0x57
sub byte [rax + rbx + 0x50], 0x1d
xchg r13, rax
mov r13, qword [rbx + 0x48]
xchg r13, rax
inc rax
xchg r8, r8
mov qword [rbx + 0x48], rax
cmp rax, 0x78
jb 0x14008f285
movzx eax, byte [rbx + 7]
mov dword [rsp - 0x44], edi
xchg r14, rdx
mov r14, rsi
xchg rdx, r14
mov byte [rbx + 0xc8], al
xchg r14, r14
mov rcx, rbx
movzx eax, byte [rbx + 6]
mov byte [rbx + 0xc9], al
mov dword [rsp - 0x44], ebp
movzx eax, byte [rbx + 5]
mov byte [rbx + 0xca], al
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
mov dword [rsp - 0x38], 0x3c1f87c6
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xcc], al
movzx eax, byte [rbx + 2]
mov rcx, rcx
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
mov dword [rsp - 0x38], 0x590ee078
mov byte [rbx + 0xcf], al
call fcn.14008dbf0
movzx eax, byte [rbx + 0xf]
xchg rsi, rsi
mov byte [rdi], al
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
movzx eax, byte [rbx + 0xd]
xchg r9, r9
mov byte [rdi + 2], al
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0xb]
mov dword [rsp - 0x1c], ebx
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 5], al
mov rsp, rsp
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
mov r8, r8
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x16]
mov r12, r12
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov dword [rsp - 0xc], 0x49905623
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
xchg rdi, rdi
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xe], al
xchg r11, r11
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x10], al
mov rsp, rsp
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
xchg rsp, rsp
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1b]
xchg r9, r9
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x19]
mov dword [rsp - 0x2c], 0x49e0b4a0
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov byte [rdi + 0x17], al
mov dword [rsp - 0x14], ebp
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x18], al
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
xchg rbx, rbx
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov byte [rdi + 0x1b], al
mov rcx, rcx
movzx eax, byte [rbx + 0x23]
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov rsp, rsp
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov dword [rsp - 0x24], ecx
mov byte [rdi + 0x1f], al
movzx eax, byte [rbx + 0x2f]
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
xchg r14, r14
mov byte [rdi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov dword [rsp - 0x28], 0x24bf0c86
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
mov dword [rsp - 0x28], 0x220605e8
movzx eax, byte [rbx + 0x2a]
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
mov dword [rsp - 0x18], esi
movzx eax, byte [rbx + 0x28]
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov dword [rsp - 0x3c], ebx
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov byte [rdi + 0x29], al
mov dword [rsp - 0x34], esi
movzx eax, byte [rbx + 0x35]
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
xchg r9, r9
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x2c], al
movzx eax, byte [rbx + 0x32]
mov dword [rsp - 0x10], ebx
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
xchg r15, r15
mov byte [rdi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
mov rsi, qword [rsp + 0x30]
mov byte [rdi + 0x30], al
mov dword [rsp - 0x40], 0x2c113252
movzx eax, byte [rbx + 0x3e]
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov byte [rdi + 0x32], al
mov dword [rsp - 0x30], edi
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov dword [rsp - 0x34], edx
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
mov r9, r9
movzx eax, byte [rbx + 0x39]
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rdi + 0x37], al
xchg rbp, rbp
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov byte [rdi + 0x39], al
xchg r10, r10
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
xchg r12, r12
mov byte [rdi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
xchg r12, r12
mov byte [rdi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
mov dword [rsp - 0x28], edi
mov byte [rdi + 0x3f], al
xor eax, eax
mov rbx, qword [rsp + 0x38]
xchg r15, r15
nop
add rsp, 0x5929f922
sub rsp, 0x5929f902
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret
mov rbx, qword [rsp + 0x38]
mov eax, 0x4225ad84
xor eax, 0x3d62ed7c
sub eax, 0x3ef2899b
xor eax, 0x4054b75c
neg rsp
add rsp, 0xffffffffffffffe0
neg rsp
nop
mov rdi, qword [rsp]
add rsp, 8
ret