Function at 0x14008c900
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
mov dword [rsp - 0x34], edx
add rsp, 0xffffffffffffffe0
xchg rdx, rsp
mov rdi, rsp
xchg rdx, rsp
xchg rbx, rcx
mov rcx, rbx
xchg rbx, rcx
test rcx, rcx
mov dword [rsp - 0xc], ebp
je 0x14008cd80
test rdx, rdx
je 0x14008cd80
xchg r8, r8
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
jae 0x14008cd80
lea rax, [rcx*8]
mov dword [rsp - 0x10], 0x118873d8
xchg rsi, r15
mov qword [rsp + 0x30], r15
xchg r15, rsi
add qword [rbx], rax
mov dword [rsp - 0x30], ecx
mov byte [rcx + rbx + 0x50], 0x11
add byte [rcx + rbx + 0x50], 0
add byte [rcx + rbx + 0x50], 0x4e
xor byte [rcx + rbx + 0x50], 0x29
add byte [rcx + rbx + 0x50], 0xa
xchg r9, rax
mov r9, qword [rbx + 0x48]
xchg r9, rax
inc rax
mov dword [rsp - 0x1c], 0x6dc39ceb
mov qword [rbx + 0x48], rax
cmp rax, 0x70
jbe 0x14008ca31
mov dword [rsp - 0x38], edi
cmp rax, 0x80
jae 0x14008ca00
nop dword [rax]
nop word [rax + rax]
xchg r9, r9
mov byte [rax + rbx + 0x50], 0x4f
add byte [rax + rbx + 0x50], 0xf
sub byte [rax + rbx + 0x50], 0x59
add byte [rax + rbx + 0x50], 0x49
sub byte [rax + rbx + 0x50], 0x4e
xchg r8, rax
mov r8, qword [rbx + 0x48]
xchg r8, rax
inc rax
xchg rsp, rax
mov qword [rbx + 0x48], rsp
xchg rsp, rax
cmp rax, 0x80
jb 0x14008c9c8
lea rsi, [rbx + 0x50]
xchg r14, r14
xchg rcx, rdi
mov rdi, rbx
xchg rdi, rcx
xchg r11, rdx
mov r11, rsi
xchg rdx, r11
call fcn.14008b480
mov dword [rsp - 0x38], 0x476e176d
xor eax, eax
mov qword [rbx + 0x48], rax
jmp 0x14008ca45
lea rsi, [rbx + 0x50]
nop dword [rax]
nop word [rax + rax]
xchg rdx, rdx
mov byte [rax + rbx + 0x50], 0x11
sub byte [rax + rbx + 0x50], 2
add byte [rax + rbx + 0x50], 0x1b
xor byte [rax + rbx + 0x50], 0x2a
mov rax, qword [rbx + 0x48]
inc rax
mov r12, r12
mov qword [rbx + 0x48], rax
cmp rax, 0x78
jb 0x14008ca45
movzx eax, byte [rbx + 7]
mov dword [rsp - 0x20], esp
mov rdx, rsi
mov byte [rbx + 0xc8], al
xchg rcx, rsi
mov rsi, rbx
xchg rsi, rcx
movzx eax, byte [rbx + 6]
mov byte [rbx + 0xc9], al
movzx eax, byte [rbx + 5]
mov r9, r9
mov byte [rbx + 0xca], al
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
movzx eax, byte [rbx + 3]
mov dword [rsp - 0x1c], 0xaff7701
mov byte [rbx + 0xcc], al
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov dword [rsp - 0x38], 0x17f23ab5
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
mov byte [rbx + 0xcf], al
mov rsp, rsp
call fcn.14008b480
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
mov dword [rsp - 0x34], 0x59a0b762
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
movzx eax, byte [rbx + 0xd]
mov dword [rsp - 0x28], 0x58f6a974
mov byte [rdi + 2], al
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
mov dword [rsp - 0x30], edi
movzx eax, byte [rbx + 0xb]
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 5], al
mov r14, r14
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
mov r9, r9
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
mov dword [rsp - 0x20], 0x2a173045
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
mov rsi, rsi
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
mov dword [rsp - 0x28], ebp
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xe], al
mov rsp, rsp
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x10], al
mov dword [rsp - 0x40], ebx
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x12], al
mov r14, r14
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
mov dword [rsp - 0x20], 0x43e3f22f
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov byte [rdi + 0x17], al
mov rbx, rbx
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x18], al
movzx eax, byte [rbx + 0x26]
mov rcx, rcx
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov dword [rsp - 0x30], esp
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov r15, r15
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov dword [rsp - 0x2c], 0x5a11253a
mov byte [rdi + 0x1f], al
movzx eax, byte [rbx + 0x2f]
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov dword [rsp - 0x10], edx
mov byte [rdi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov rcx, rcx
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
movzx eax, byte [rbx + 0x2a]
mov dword [rsp - 0x34], ebx
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
mov r13, r13
movzx eax, byte [rbx + 0x28]
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov r10, r10
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov byte [rdi + 0x29], al
movzx eax, byte [rbx + 0x35]
mov dword [rsp - 0xc], 0x28ee5eca
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
mov byte [rdi + 0x2b], al
mov rcx, rcx
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x2c], al
movzx eax, byte [rbx + 0x32]
mov byte [rdi + 0x2d], al
mov r13, r13
movzx eax, byte [rbx + 0x31]
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov dword [rsp - 0x44], 0x38e24ba8
mov byte [rdi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
xchg r10, rsi
mov r10, qword [rsp + 0x30]
xchg r10, rsi
mov byte [rdi + 0x30], al
mov rdi, rdi
movzx eax, byte [rbx + 0x3e]
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov byte [rdi + 0x32], al
mov dword [rsp - 0x2c], esp
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov r10, r10
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
movzx eax, byte [rbx + 0x39]
mov dword [rsp - 0x14], 0x4eabc0f9
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rdi + 0x37], al
mov dword [rsp - 0x20], 0x5fbee3b
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov dword [rsp - 0x10], 0x58a50f5c
mov byte [rdi + 0x39], al
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov dword [rsp - 0x40], edx
mov byte [rdi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov dword [rsp - 0x40], ecx
mov byte [rdi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
xchg rsp, rsp
mov byte [rdi + 0x3f], al
xor eax, eax
mov rbx, qword [rsp + 0x38]
mov r11, r11
nop
add rsp, 0x5fae864a
sub rsp, 0x5fae862a
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret
mov rbx, qword [rsp + 0x38]
mov eax, 0x675a8668
sub eax, 0x4665cb6e
xor eax, 0x28f3b323
sub eax, 0x80709d8
nop
add rsp, 0x5914e34f
sub rsp, 0x5914e32f
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret