Function at 0x1400e0d1b
Capabilities:
Encode data using xor

Disassembly:
xchg r8, rbx
mov qword [rsp + 0x10], r8
xchg rbx, r8
nop
sub rsp, 8
mov qword [rsp], rdi
neg rsp
sub rsp, 0xffffffffffffffe0
neg rsp
xchg rdx, r13
mov rdi, r13
xchg r13, rdx
xchg r8, rbx
mov r8, rcx
xchg rbx, r8
test rcx, rcx
je 0x1400e1168
test rdx, rdx
mov dword [rsp - 0x14], ecx
je 0x1400e1168
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
mov dword [rsp - 0x2c], edx
jae 0x1400e1168
lea rax, [rcx*8]
xchg r11, rsi
mov qword [rsp + 0x30], r11
xchg r11, rsi
add qword [rbx], rax
mov r14, r14
mov byte [rcx + rbx + 0x50], 0x15
add byte [rcx + rbx + 0x50], 0x3c
add byte [rcx + rbx + 0x50], 0x23
xor byte [rcx + rbx + 0x50], 0x33
xor byte [rcx + rbx + 0x50], 0xc7
mov rax, qword [rbx + 0x48]
inc rax
mov r10, r10
xchg rcx, rax
mov qword [rbx + 0x48], rcx
xchg rcx, rax
cmp rax, 0x70
mov r13, r13
jbe 0x1400e0e09
cmp rax, 0x80
jae 0x1400e0ddd
nop dword [rax]
mov rsi, rsi
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x76
add byte [rax + rbx + 0x50], 8
xor byte [rax + rbx + 0x50], 0x64
xor byte [rax + rbx + 0x50], 0x1a
xchg rbp, rax
mov rbp, qword [rbx + 0x48]
xchg rbp, rax
inc rax
xchg rcx, rax
mov qword [rbx + 0x48], rcx
xchg rcx, rax
cmp rax, 0x80
jb 0x1400e0daa
lea rsi, [rbx + 0x50]
xchg r10, r10
xchg r15, rbx
mov rcx, r15
xchg r15, rbx
xchg rdx, rsi
mov rsi, rdx
xchg rdx, rsi
call fcn.1400df860
mov r10, r10
xor eax, eax
mov qword [rbx + 0x48], rax
jmp 0x1400e0e1d
lea rsi, [rbx + 0x50]
nop dword [rax]
nop word [rax + rax]
xchg rdx, rdx
mov byte [rax + rbx + 0x50], 0x2a
add byte [rax + rbx + 0x50], 0x31
sub byte [rax + rbx + 0x50], 0x43
add byte [rax + rbx + 0x50], 3
xor byte [rax + rbx + 0x50], 0x1b
mov rax, qword [rbx + 0x48]
mov dword [rsp - 0x2c], 0x3b2826b1
inc rax
mov qword [rbx + 0x48], rax
cmp rax, 0x78
mov rsp, rsp
jb 0x1400e0e1d
movzx eax, byte [rbx + 7]
xchg rsi, r15
mov rdx, r15
xchg rsi, r15
mov byte [rbx + 0xc8], al
xchg rdx, rdx
mov rcx, rbx
movzx eax, byte [rbx + 6]
mov byte [rbx + 0xc9], al
xchg r13, r13
movzx eax, byte [rbx + 5]
mov byte [rbx + 0xca], al
movzx eax, byte [rbx + 4]
mov dword [rsp - 0x10], edi
mov byte [rbx + 0xcb], al
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xcc], al
movzx eax, byte [rbx + 2]
xchg rsi, rsi
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov byte [rbx + 0xce], al
mov r14, r14
movzx eax, byte [rbx]
mov byte [rbx + 0xcf], al
call fcn.1400df860
mov dword [rsp - 0x24], 0x22cb25b9
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
mov dword [rsp - 0x34], esp
movzx eax, byte [rbx + 0xd]
mov byte [rdi + 2], al
movzx eax, byte [rbx + 0xc]
mov dword [rsp - 0x30], esi
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0xb]
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov rsp, rsp
mov byte [rdi + 5], al
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
mov dword [rsp - 0x44], 0x7730569c
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x17]
xchg rdx, rdx
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 9], al
mov dword [rsp - 0x30], 0x2807d177
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov dword [rsp - 0xc], 0x21691d17
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
mov dword [rsp - 0x30], 0x64a61ea2
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov dword [rsp - 0x2c], esp
mov byte [rdi + 0xe], al
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
xchg r8, r8
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x10], al
movzx eax, byte [rbx + 0x1e]
mov dword [rsp - 0x24], 0x214715c5
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x1c]
mov rdi, rdi
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov byte [rdi + 0x14], al
mov dword [rsp - 0xc], 0x6d609b3a
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x16], al
mov dword [rsp - 0xc], ecx
movzx eax, byte [rbx + 0x18]
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x27]
mov r9, r9
mov byte [rdi + 0x18], al
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
mov dword [rsp - 0x44], ebx
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov dword [rsp - 0x34], 0x197d95f2
mov byte [rdi + 0x1b], al
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 r8, r8
mov byte [rdi + 0x1f], al
movzx eax, byte [rbx + 0x2f]
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov dword [rsp - 0x10], 0x5eadd0d1
mov byte [rdi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
movzx eax, byte [rbx + 0x2c]
xchg r14, r14
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
mov dword [rsp - 0x1c], 0x71e110fa
movzx eax, byte [rbx + 0x2a]
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov dword [rsp - 0x18], 0x22556df3
mov byte [rdi + 0x26], al
movzx eax, byte [rbx + 0x28]
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov r8, r8
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov byte [rdi + 0x29], al
movzx eax, byte [rbx + 0x35]
mov rbx, rbx
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov dword [rsp - 0x38], ebx
mov byte [rdi + 0x2c], al
movzx eax, byte [rbx + 0x32]
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
mov dword [rsp - 0x20], edx
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov byte [rdi + 0x2f], al
mov dword [rsp - 0x24], 0x27739adc
movzx eax, byte [rbx + 0x3f]
mov rsi, qword [rsp + 0x30]
mov byte [rdi + 0x30], al
movzx eax, byte [rbx + 0x3e]
mov rsp, rsp
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov byte [rdi + 0x32], al
movzx eax, byte [rbx + 0x3c]
mov dword [rsp - 0x30], esp
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov dword [rsp - 0xc], 0x15f108d9
mov byte [rdi + 0x35], al
movzx eax, byte [rbx + 0x39]
mov byte [rdi + 0x36], al
mov r11, r11
movzx eax, byte [rbx + 0x38]
mov byte [rdi + 0x37], al
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
mov rsp, rsp
movzx eax, byte [rbx + 0x46]
mov byte [rdi + 0x39], al
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
mov dword [rsp - 0x18], ecx
movzx eax, byte [rbx + 0x44]
mov byte [rdi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov r15, r15
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov byte [rdi + 0x3d], al
mov dword [rsp - 0x2c], ebx
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
mov byte [rdi + 0x3f], al
mov dword [rsp - 0x14], 0x5fe5be7e
xor eax, eax
xchg rbx, rdx
mov rdx, qword [rsp + 0x38]
xchg rdx, rbx
add rsp, 0x20
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret
xchg rbx, r8
mov r8, qword [rsp + 0x38]
xchg r8, rbx
mov eax, 0x634c5a8
add eax, 0x4d138a99
add eax, 0x1fed333e
sub eax, 0x7335837e
nop
add rsp, 0x75521a6a
sub rsp, 0x75521a4a
pop rdi
xchg rbp, rbp
ret