Function at 0x14008f74b
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, rdi
mov qword [rsp + 0x10], rdi
xchg rbx, rdi
push rdi
nop
add rsp, 0x2c0afea3
sub rsp, 0x2c0afec3
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
xchg r14, r14
je 0x14008fb7f
test rdx, rdx
je 0x14008fb7f
xchg rsi, rsi
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
jae 0x14008fb7f
lea rax, [rcx*8]
mov dword [rsp - 0xc], 0x3f4f3c3d
mov qword [rsp + 0x30], rsi
add qword [rbx], rax
mov byte [rcx + rbx + 0x50], 0x38
xor byte [rcx + rbx + 0x50], 2
add byte [rcx + rbx + 0x50], 0x40
sub byte [rcx + rbx + 0x50], 0x31
add byte [rcx + rbx + 0x50], 0x37
xchg rdi, rax
mov rdi, qword [rbx + 0x48]
xchg rdi, rax
inc rax
mov dword [rsp - 0xc], edx
xchg rcx, rax
mov qword [rbx + 0x48], rcx
xchg rcx, rax
cmp rax, 0x70
mov dword [rsp - 0xc], ebx
jbe 0x14008f82d
cmp rax, 0x80
jae 0x14008f80a
xchg rcx, rcx
nop dword [rax]
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x63
xor byte [rax + rbx + 0x50], 0x1d
sub byte [rax + rbx + 0x50], 0x37
xor byte [rax + rbx + 0x50], 0x31
sub byte [rax + rbx + 0x50], 0x76
xchg rbp, rax
mov rbp, qword [rbx + 0x48]
xchg rbp, rax
inc rax
mov dword [rsp - 0x44], ecx
mov qword [rbx + 0x48], rax
cmp rax, 0x80
jb 0x14008f7ce
mov dword [rsp - 0x14], esi
lea rsi, [rbx + 0x50]
mov rcx, rbx
xchg rcx, rdx
mov rcx, rsi
xchg rdx, rcx
call fcn.14008e230
mov r9, r9
xor eax, eax
mov qword [rbx + 0x48], rax
jmp 0x14008f841
lea rsi, [rbx + 0x50]
xchg r13, r13
nop dword [rax]
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x22
add byte [rax + rbx + 0x50], 0x20
add byte [rax + rbx + 0x50], 0x18
xor byte [rax + rbx + 0x50], 0x5a
xchg rcx, rax
mov rcx, qword [rbx + 0x48]
xchg rcx, rax
inc rax
mov qword [rbx + 0x48], rax
cmp rax, 0x78
mov dword [rsp - 0x44], 0x6c816b66
jb 0x14008f841
movzx eax, byte [rbx + 7]
mov rdx, rsi
mov byte [rbx + 0xc8], al
mov r12, r12
xchg r15, rbx
mov rcx, r15
xchg rbx, r15
movzx eax, byte [rbx + 6]
mov r11, r11
mov byte [rbx + 0xc9], al
movzx eax, byte [rbx + 5]
mov byte [rbx + 0xca], al
movzx eax, byte [rbx + 4]
mov dword [rsp - 0x44], 0x7d023d33
mov byte [rbx + 0xcb], al
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xcc], al
mov rdi, rdi
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov dword [rsp - 0x38], esp
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
mov byte [rbx + 0xcf], al
mov rdi, rdi
call fcn.14008e230
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
movzx eax, byte [rbx + 0xe]
mov r12, r12
mov byte [rdi + 1], al
movzx eax, byte [rbx + 0xd]
mov byte [rdi + 2], al
movzx eax, byte [rbx + 0xc]
mov dword [rsp - 0x40], ecx
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0xb]
mov byte [rdi + 4], al
xchg rbp, rbp
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 5], al
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
mov dword [rsp - 0x2c], ecx
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
mov dword [rsp - 0x20], edx
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
mov dword [rsp - 0x14], esp
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
mov dword [rsp - 0x14], 0x7813a529
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xe], al
mov r13, r13
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x10], al
mov r10, r10
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x12], al
mov r10, r10
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov byte [rdi + 0x14], al
mov r15, r15
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x16], al
xchg r10, r10
movzx eax, byte [rbx + 0x18]
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x27]
xchg rdx, rdx
mov byte [rdi + 0x18], al
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov dword [rsp - 0x40], 0x3993a59c
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov dword [rsp - 0x34], ebp
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov dword [rsp - 0x40], 0x4699648
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1f], al
mov rdx, rdx
movzx eax, byte [rbx + 0x2f]
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov byte [rdi + 0x21], al
mov dword [rsp - 0x14], 0x77c32e5d
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov byte [rdi + 0x23], al
xchg r11, r11
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
movzx eax, byte [rbx + 0x2a]
mov byte [rdi + 0x25], al
mov dword [rsp - 0x1c], 0x380fb14c
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
movzx eax, byte [rbx + 0x28]
xchg r11, r11
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
xchg rdi, rdi
mov byte [rdi + 0x29], al
movzx eax, byte [rbx + 0x35]
mov byte [rdi + 0x2a], al
mov dword [rsp - 0xc], esi
movzx eax, byte [rbx + 0x34]
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x2c], al
mov dword [rsp - 0x30], 0x1d459fef
movzx eax, byte [rbx + 0x32]
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
xchg r13, r13
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov byte [rdi + 0x2f], al
mov dword [rsp - 0x2c], esi
movzx eax, byte [rbx + 0x3f]
xchg r10, rsi
mov r10, qword [rsp + 0x30]
xchg r10, rsi
mov byte [rdi + 0x30], al
movzx eax, byte [rbx + 0x3e]
mov dword [rsp - 0x30], ecx
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov byte [rdi + 0x32], al
mov dword [rsp - 0x24], 0x148f8b9f
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov rsi, rsi
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
mov dword [rsp - 0x20], 0x7a3de792
movzx eax, byte [rbx + 0x39]
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
xchg rsi, rsi
mov byte [rdi + 0x37], al
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov rcx, rcx
mov byte [rdi + 0x39], al
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov dword [rsp - 0x40], esp
mov byte [rdi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov byte [rdi + 0x3c], al
mov dword [rsp - 0x14], 0x544bd337
movzx eax, byte [rbx + 0x42]
mov byte [rdi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov dword [rsp - 0x2c], 0x5fd9189a
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
mov byte [rdi + 0x3f], al
xor eax, eax
xchg r8, r8
mov rbx, qword [rsp + 0x38]
nop
sub rsp, 0x79bfc409
add rsp, 0x79bfc429
nop
mov rdi, qword [rsp]
add rsp, 8
ret
mov rbx, qword [rsp + 0x38]
mov eax, 0x702b3e15
xor eax, 0x3900848d
sub eax, 0x109ea516
sub eax, 0x388d1581
nop
add rsp, 0x446458eb
sub rsp, 0x446458cb
nop
mov rdi, qword [rsp]
add rsp, 8
ret