Function at 0x1400e1ceb
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
neg rsp
sub rsp, 0xffffffffffffffe0
neg rsp
xchg rdi, rdx
mov rdx, rdi
xchg rdi, rdx
xchg rbx, r10
mov r10, rcx
xchg r10, rbx
test rcx, rcx
xchg rsp, rsp
je 0x1400e2128
test rdx, rdx
je 0x1400e2128
mov rcx, qword [rcx + 0x48]
xchg rbp, rbp
cmp rcx, 0x80
jae 0x1400e2128
lea rax, [rcx*8]
xchg r13, r13
xchg r15, rsi
mov qword [rsp + 0x30], r15
xchg rsi, r15
add qword [rbx], rax
xchg r11, r11
mov byte [rcx + rbx + 0x50], 0x40
xor byte [rcx + rbx + 0x50], 0x76
xor byte [rcx + rbx + 0x50], 0x73
sub byte [rcx + rbx + 0x50], 8
add byte [rcx + rbx + 0x50], 0x43
xchg rsp, rax
mov rsp, qword [rbx + 0x48]
xchg rsp, rax
inc rax
mov dword [rsp - 0x30], esp
xchg r10, rax
mov qword [rbx + 0x48], r10
xchg r10, rax
cmp rax, 0x70
mov dword [rsp - 0x24], 0x2fef22ee
jbe 0x1400e1ddb
cmp rax, 0x80
jae 0x1400e1da6
nop dword [rax]
mov dword [rsp - 0x40], edi
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x30
sub byte [rax + rbx + 0x50], 0x23
add byte [rax + rbx + 0x50], 1
sub byte [rax + rbx + 0x50], 0xe
mov rax, qword [rbx + 0x48]
inc rax
mov r13, r13
mov qword [rbx + 0x48], rax
cmp rax, 0x80
jb 0x1400e1d78
lea rsi, [rbx + 0x50]
mov r14, r14
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
xchg rdx, rsi
mov rsi, rdx
xchg rsi, rdx
call fcn.1400e0850
mov dword [rsp - 0x24], 0x15418592
xor eax, eax
xchg r11, rax
mov qword [rbx + 0x48], r11
xchg r11, rax
jmp 0x1400e1def
lea rsi, [rbx + 0x50]
nop dword [rax]
nop word [rax + rax]
mov rcx, rcx
mov byte [rax + rbx + 0x50], 0x6e
sub byte [rax + rbx + 0x50], 0xc
xor byte [rax + rbx + 0x50], 0x13
sub byte [rax + rbx + 0x50], 0x71
mov rax, qword [rbx + 0x48]
inc rax
mov dword [rsp - 0xc], 0x7673015f
mov qword [rbx + 0x48], rax
cmp rax, 0x78
jb 0x1400e1def
movzx eax, byte [rbx + 7]
mov r8, r8
xchg rsi, r15
mov rdx, r15
xchg rsi, r15
mov byte [rbx + 0xc8], al
mov r9, r9
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
movzx eax, byte [rbx + 6]
mov byte [rbx + 0xc9], al
movzx eax, byte [rbx + 5]
mov rdi, rdi
mov byte [rbx + 0xca], al
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
movzx eax, byte [rbx + 3]
mov dword [rsp - 0x14], esi
mov byte [rbx + 0xcc], al
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov dword [rsp - 0x20], 0x3a543e5b
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
mov byte [rbx + 0xcf], al
mov dword [rsp - 0x24], ebx
call fcn.1400e0850
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
movzx eax, byte [rbx + 0xe]
xchg r13, r13
mov byte [rdi + 1], al
movzx eax, byte [rbx + 0xd]
mov byte [rdi + 2], al
mov rsp, rsp
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0xb]
mov byte [rdi + 4], al
mov dword [rsp - 0x24], 0x5dd50513
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 5], al
movzx eax, byte [rbx + 9]
mov dword [rsp - 0x44], 0x327f096a
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x17]
mov dword [rsp - 0x2c], ecx
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 9], al
mov dword [rsp - 0x24], esi
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xb], al
mov dword [rsp - 0xc], esi
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 0x12]
mov dword [rsp - 0x38], edx
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xe], al
mov dword [rsp - 0x44], 0x16ae4d5b
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x10], al
xchg rdi, rdi
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
xchg rsp, rsp
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov rcx, rcx
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x19]
xchg r10, r10
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov byte [rdi + 0x17], al
mov dword [rsp - 0x44], edx
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x18], al
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
xchg r14, r14
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov r12, r12
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov dword [rsp - 0x1c], 0x13c0265
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov rsi, rsi
mov byte [rdi + 0x1f], al
movzx eax, byte [rbx + 0x2f]
mov byte [rdi + 0x20], al
mov r9, r9
movzx eax, byte [rbx + 0x2e]
mov byte [rdi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov dword [rsp - 0x34], 0x3f0c6f47
mov byte [rdi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov byte [rdi + 0x23], al
xchg r8, r8
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
movzx eax, byte [rbx + 0x2a]
mov dword [rsp - 0x40], ecx
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
movzx eax, byte [rbx + 0x28]
mov rdi, rdi
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov byte [rdi + 0x28], al
xchg rbp, rbp
movzx eax, byte [rbx + 0x36]
mov byte [rdi + 0x29], al
movzx eax, byte [rbx + 0x35]
xchg rcx, rcx
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
mov byte [rdi + 0x2b], al
mov dword [rsp - 0x10], 0x3e7e5eda
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x2c], al
movzx eax, byte [rbx + 0x32]
mov rsp, rsp
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
xchg r11, r11
mov byte [rdi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
mov rsi, qword [rsp + 0x30]
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 - 0xc], 0x7c1d3820
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov byte [rdi + 0x34], al
mov r11, r11
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
movzx eax, byte [rbx + 0x39]
mov dword [rsp - 0x40], 0x332cdc9
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rdi + 0x37], al
mov dword [rsp - 0x3c], 0x63de6d53
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov byte [rdi + 0x39], al
mov dword [rsp - 0x30], edi
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov byte [rdi + 0x3b], al
xchg r12, r12
movzx eax, byte [rbx + 0x43]
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov r14, r14
mov byte [rdi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
mov rbp, rbp
movzx eax, byte [rbx + 0x40]
mov byte [rdi + 0x3f], al
xor eax, eax
xchg r12, r12
xchg r11, rbx
mov r11, qword [rsp + 0x38]
xchg r11, rbx
sub rsp, 0xffffffffffffffe0
mov rbx, rbx
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret
xchg rbx, r9
mov r9, qword [rsp + 0x38]
xchg rbx, r9
mov eax, 0x6ec6db4b
sub eax, 0x67780ad6
add eax, 0x49d94856
sub eax, 0x512818ca
add rsp, 0x20
mov dword [rsp - 0x38], 0x4f988dcc
pop rdi
ret