Function at 0x1400e0efb
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, r14
mov qword [rsp + 0x10], r14
xchg r14, rbx
nop
sub rsp, 8
mov qword [rsp], rdi
nop
add rsp, 0x5cda6b8d
sub rsp, 0x5cda6bad
mov rdi, rdx
mov r10, r10
xchg rsi, rbx
mov rsi, rcx
xchg rbx, rsi
test rcx, rcx
je 0x1400e1338
xchg r10, r10
test rdx, rdx
je 0x1400e1338
mov rcx, qword [rcx + 0x48]
mov dword [rsp - 0x40], 0x71cc6335
cmp rcx, 0x80
jae 0x1400e1338
lea rax, [rcx*8]
xchg rsi, rsi
xchg rsi, r11
mov qword [rsp + 0x30], r11
xchg r11, rsi
add qword [rbx], rax
mov rsp, rsp
mov byte [rcx + rbx + 0x50], 0x79
sub byte [rcx + rbx + 0x50], 0x1b
add byte [rcx + rbx + 0x50], 0x19
sub byte [rcx + rbx + 0x50], 0x1d
add byte [rcx + rbx + 0x50], 0x26
xchg r12, rax
mov r12, qword [rbx + 0x48]
xchg r12, rax
inc rax
mov qword [rbx + 0x48], rax
mov dword [rsp - 0x30], ecx
cmp rax, 0x70
jbe 0x1400e0ff3
cmp rax, 0x80
mov dword [rsp - 0x18], edx
jae 0x1400e0fcb
nop dword [rax]
nop word [rax + rax]
mov rsi, rsi
mov byte [rax + rbx + 0x50], 0x38
add byte [rax + rbx + 0x50], 0x32
sub byte [rax + rbx + 0x50], 0x2a
xor byte [rax + rbx + 0x50], 0xe
sub byte [rax + rbx + 0x50], 0x4e
xchg r8, rax
mov r8, qword [rbx + 0x48]
xchg r8, rax
inc rax
mov qword [rbx + 0x48], rax
cmp rax, 0x80
mov r14, r14
jb 0x1400e0f94
lea rsi, [rbx + 0x50]
xchg rcx, r15
mov r15, rbx
xchg r15, rcx
mov rdx, rsi
mov dword [rsp - 0xc], esp
call fcn.1400df9f0
xor eax, eax
xchg rbp, rax
mov qword [rbx + 0x48], rbp
xchg rbp, rax
jmp 0x1400e1008
lea rsi, [rbx + 0x50]
nop dword [rax]
mov dword [rsp - 0x1c], ebx
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 6
xor byte [rax + rbx + 0x50], 0x7c
xor byte [rax + rbx + 0x50], 0x5c
sub byte [rax + rbx + 0x50], 0x12
sub byte [rax + rbx + 0x50], 0x14
mov rax, qword [rbx + 0x48]
mov dword [rsp - 0x38], 0x4e9c11ab
inc rax
mov qword [rbx + 0x48], rax
cmp rax, 0x78
mov dword [rsp - 0x10], esp
jb 0x1400e1008
movzx eax, byte [rbx + 7]
mov rdx, rsi
mov r10, r10
mov byte [rbx + 0xc8], al
mov rcx, rbx
movzx eax, byte [rbx + 6]
mov r10, r10
mov byte [rbx + 0xc9], al
movzx eax, byte [rbx + 5]
mov byte [rbx + 0xca], al
movzx eax, byte [rbx + 4]
mov dword [rsp - 0x10], 0x71789039
mov byte [rbx + 0xcb], al
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xcc], al
movzx eax, byte [rbx + 2]
mov rsp, rsp
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
xchg rdx, rdx
mov byte [rbx + 0xcf], al
call fcn.1400df9f0
movzx eax, byte [rbx + 0xf]
xchg rbx, rbx
mov byte [rdi], al
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
mov dword [rsp - 0x18], 0x3ab09b72
movzx eax, byte [rbx + 0xd]
mov byte [rdi + 2], al
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
mov dword [rsp - 0x10], 0x4c406ee4
movzx eax, byte [rbx + 0xb]
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov dword [rsp - 0x28], ebx
mov byte [rdi + 5], al
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
xchg rbx, rbx
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
mov r12, r12
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x15]
mov dword [rsp - 0x38], 0x435e1fb8
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xb], al
xchg rcx, rcx
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 0x12]
xchg rcx, rcx
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xe], al
mov dword [rsp - 0x24], 0x760de58
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x10], al
mov r9, r9
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov dword [rsp - 0x20], 0x65f096df
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x13], al
mov dword [rsp - 0x30], 0x201373fc
movzx eax, byte [rbx + 0x1b]
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1a]
xchg rbx, rbx
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov dword [rsp - 0x1c], 0x29af415d
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x18], al
mov dword [rsp - 0x28], esp
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
mov dword [rsp - 0x18], ebp
movzx eax, byte [rbx + 0x24]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov rsi, rsi
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov dword [rsp - 0x28], esp
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1f], al
mov dword [rsp - 0x30], ebx
movzx eax, byte [rbx + 0x2f]
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov rsp, rsp
mov byte [rdi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
xchg r13, r13
movzx eax, byte [rbx + 0x2c]
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
mov r14, r14
movzx eax, byte [rbx + 0x2a]
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
mov dword [rsp - 0x14], ebx
movzx eax, byte [rbx + 0x28]
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov byte [rdi + 0x28], al
xchg rsi, rsi
movzx eax, byte [rbx + 0x36]
mov byte [rdi + 0x29], al
movzx eax, byte [rbx + 0x35]
mov byte [rdi + 0x2a], al
mov dword [rsp - 0x40], esp
movzx eax, byte [rbx + 0x34]
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x2c], al
xchg r11, r11
movzx eax, byte [rbx + 0x32]
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
mov byte [rdi + 0x2e], al
mov dword [rsp - 0xc], edi
movzx eax, byte [rbx + 0x30]
mov byte [rdi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
xchg r15, rsi
mov r15, qword [rsp + 0x30]
xchg rsi, r15
mov byte [rdi + 0x30], al
mov rdi, rdi
movzx eax, byte [rbx + 0x3e]
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
xchg rdi, rdi
mov byte [rdi + 0x32], al
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
xchg rbp, rbp
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
movzx eax, byte [rbx + 0x39]
mov dword [rsp - 0x28], ecx
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rdi + 0x37], al
movzx eax, byte [rbx + 0x47]
mov dword [rsp - 0x24], 0x2d773614
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov byte [rdi + 0x39], al
mov dword [rsp - 0x18], edi
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov byte [rdi + 0x3b], al
mov dword [rsp - 0x3c], esp
movzx eax, byte [rbx + 0x43]
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
xchg rsp, rsp
mov byte [rdi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
mov dword [rsp - 0x24], esp
mov byte [rdi + 0x3f], al
xor eax, eax
mov rbx, qword [rsp + 0x38]
neg rsp
add rsp, 0xffffffffffffffe0
neg rsp
nop
mov rdi, qword [rsp]
add rsp, 8
ret
mov rbx, qword [rsp + 0x38]
mov eax, 0x248b50ef
add eax, 0x22b13cff
add eax, 0x1f5dadbb
sub eax, 0x669a3ba8
add rsp, 0x20
mov dword [rsp - 0x34], 0x5b5ff069
nop
mov rdi, qword [rsp]
add rsp, 8
ret