Function at 0x1400e1980
Capabilities:
Encode data using xor

Disassembly:
xchg r11, rbx
mov qword [rsp + 0x10], r11
xchg r11, rbx
push rdi
mov dword [rsp - 0x40], esi
nop
add rsp, 0x18bde214
sub rsp, 0x18bde234
xchg rdx, rdi
mov rdx, rdi
xchg rdi, rdx
xchg rcx, rsi
mov rbx, rsi
xchg rsi, rcx
test rcx, rcx
je 0x1400e1e08
mov rcx, rcx
test rdx, rdx
je 0x1400e1e08
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
mov dword [rsp - 0x44], ebx
jae 0x1400e1e08
lea rax, [rcx*8]
mov qword [rsp + 0x30], rsi
add qword [rbx], rax
mov dword [rsp - 0x44], edi
mov byte [rcx + rbx + 0x50], 0x79
xor byte [rcx + rbx + 0x50], 0x23
add byte [rcx + rbx + 0x50], 0x24
add byte [rcx + rbx + 0x50], 2
xchg rbp, rax
mov rbp, qword [rbx + 0x48]
xchg rbp, rax
inc rax
mov qword [rbx + 0x48], rax
mov dword [rsp - 0x1c], ebx
cmp rax, 0x70
jbe 0x1400e1aa0
cmp rax, 0x80
jae 0x1400e1a71
xchg r10, r10
nop dword [rax]
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0
add byte [rax + rbx + 0x50], 0x4a
sub byte [rax + rbx + 0x50], 9
xor byte [rax + rbx + 0x50], 0x55
sub byte [rax + rbx + 0x50], 0x14
mov rax, qword [rbx + 0x48]
inc rax
mov qword [rbx + 0x48], rax
xchg rsi, rsi
cmp rax, 0x80
jb 0x1400e1a3e
lea rsi, [rbx + 0x50]
mov rcx, rbx
xchg rsp, rsp
xchg rdx, rsi
mov rsi, rdx
xchg rsi, rdx
call fcn.1400e0500
mov dword [rsp - 0x10], 0xcca8f0f
xor eax, eax
xchg r12, rax
mov qword [rbx + 0x48], r12
xchg r12, rax
jmp 0x1400e1ab5
lea rsi, [rbx + 0x50]
nop dword [rax]
mov dword [rsp - 0x44], ebp
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x3d
add byte [rax + rbx + 0x50], 0x25
sub byte [rax + rbx + 0x50], 0xc
xor byte [rax + rbx + 0x50], 0x56
xchg rsp, rax
mov rsp, qword [rbx + 0x48]
xchg rsp, rax
inc rax
mov rcx, rcx
mov qword [rbx + 0x48], rax
cmp rax, 0x78
jb 0x1400e1ab5
movzx eax, byte [rbx + 7]
mov dword [rsp - 0x34], ebx
xchg rsi, rdx
mov rsi, rdx
xchg rsi, rdx
mov byte [rbx + 0xc8], al
xchg rdx, rdx
xchg rbx, r8
mov rcx, r8
xchg rbx, r8
movzx eax, byte [rbx + 6]
mov dword [rsp - 0x38], ebx
mov byte [rbx + 0xc9], al
movzx eax, byte [rbx + 5]
mov byte [rbx + 0xca], al
mov dword [rsp - 0x30], 0x1046d1ee
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xcc], al
mov dword [rsp - 0x34], ecx
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov dword [rsp - 0x38], 0x256a3a1
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
mov byte [rbx + 0xcf], al
mov dword [rsp - 0x14], 0x599a947f
call fcn.1400e0500
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
mov r9, r9
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
movzx eax, byte [rbx + 0xd]
mov byte [rdi + 2], al
mov dword [rsp - 0x14], esi
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0xb]
mov rsp, rsp
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 5], al
xchg r15, r15
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
mov r11, r11
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 9], al
mov rsp, rsp
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xb], al
xchg r12, r12
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 0x12]
mov dword [rsp - 0x2c], 0x3733242e
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xe], al
mov dword [rsp - 0x10], esp
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov dword [rsp - 0x2c], 0x765562ff
mov byte [rdi + 0x10], al
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
mov dword [rsp - 0x10], 0x2350d8ff
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x1c]
xchg r9, r9
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1a]
mov rdi, rdi
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]
mov byte [rdi + 0x18], al
xchg rsp, rsp
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
mov dword [rsp - 0x24], ebx
movzx eax, byte [rbx + 0x24]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov dword [rsp - 0x28], 0x575ab8d3
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x1d], al
mov dword [rsp - 0x30], 0x453c2b10
movzx eax, byte [rbx + 0x21]
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
xchg r15, r15
mov byte [rdi + 0x1f], al
movzx eax, byte [rbx + 0x2f]
mov byte [rdi + 0x20], al
xchg r14, r14
movzx eax, byte [rbx + 0x2e]
mov byte [rdi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
mov dword [rsp - 0x38], 0x7f847025
movzx eax, byte [rbx + 0x2c]
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
xchg rbp, rbp
movzx eax, byte [rbx + 0x2a]
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
xchg rsi, rsi
mov byte [rdi + 0x26], al
movzx eax, byte [rbx + 0x28]
mov byte [rdi + 0x27], al
xchg r10, r10
movzx eax, byte [rbx + 0x37]
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov byte [rdi + 0x29], al
mov dword [rsp - 0x28], 0xc0c01ea
movzx eax, byte [rbx + 0x35]
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
mov 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
xchg r8, r8
movzx eax, byte [rbx + 0x30]
mov byte [rdi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
mov dword [rsp - 0xc], ebp
xchg rbp, rsi
mov rbp, qword [rsp + 0x30]
xchg rbp, rsi
mov byte [rdi + 0x30], al
xchg r11, r11
movzx eax, byte [rbx + 0x3e]
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov dword [rsp - 0xc], edi
mov byte [rdi + 0x32], al
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov dword [rsp - 0x38], ecx
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
mov r10, r10
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
mov dword [rsp - 0x14], 0x7d0c72f6
movzx eax, byte [rbx + 0x46]
mov byte [rdi + 0x39], al
movzx eax, byte [rbx + 0x45]
xchg r8, r8
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov byte [rdi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov dword [rsp - 0x34], 0x3b740219
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov byte [rdi + 0x3d], al
mov dword [rsp - 0x2c], ebp
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
xchg r15, r15
mov byte [rdi + 0x3f], al
xor eax, eax
xchg rbx, rsi
mov rsi, qword [rsp + 0x38]
xchg rbx, rsi
neg rsp
add rsp, 0xffffffffffffffe0
neg rsp
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret
xchg rbx, r8
mov r8, qword [rsp + 0x38]
xchg rbx, r8
mov eax, 0x3a0b0283
xor eax, 0x2ba641ca
add eax, 0x4d01b7f2
sub eax, 0x154e9be2
sub eax, 0x49605f58
nop
add rsp, 0x2b16b3d7
sub rsp, 0x2b16b3b7
nop
mov rdi, qword [rsp]
add rsp, 8
ret