Function at 0x1400df95b
Capabilities:
Encode data using xor

Disassembly:
xchg rbx, rdi
mov qword [rsp + 0x10], rdi
xchg rbx, rdi
push rdi
xchg rsi, rsi
add rsp, 0xffffffffffffffe0
xchg r15, rdi
mov r15, rdx
xchg rdi, r15
xchg rbx, rsp
mov rsp, rcx
xchg rsp, rbx
test rcx, rcx
je 0x1400dfd92
test rdx, rdx
mov dword [rsp - 0x24], edi
je 0x1400dfd92
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
jae 0x1400dfd92
xchg r11, r11
lea rax, [rcx*8]
xchg rsi, rdi
mov qword [rsp + 0x30], rdi
xchg rsi, rdi
add qword [rbx], rax
mov byte [rcx + rbx + 0x50], 0x5a
sub byte [rcx + rbx + 0x50], 0x34
add byte [rcx + rbx + 0x50], 0xb
add byte [rcx + rbx + 0x50], 0x4f
xchg rdx, rax
mov rdx, qword [rbx + 0x48]
xchg rdx, rax
inc rax
mov dword [rsp - 0x1c], 0x436d0135
mov qword [rbx + 0x48], rax
cmp rax, 0x70
jbe 0x1400dfa52
cmp rax, 0x80
xchg r10, r10
jae 0x1400dfa24
nop dword [rax]
nop word [rax + rax]
mov dword [rsp - 0x34], 0x8aa06c5
mov byte [rax + rbx + 0x50], 0x73
xor byte [rax + rbx + 0x50], 0x59
sub byte [rax + rbx + 0x50], 0x22
add byte [rax + rbx + 0x50], 0x1c
sub byte [rax + rbx + 0x50], 0x24
xchg r11, rax
mov r11, qword [rbx + 0x48]
xchg r11, rax
inc rax
mov dword [rsp - 0x18], esi
xchg r13, rax
mov qword [rbx + 0x48], r13
xchg r13, rax
cmp rax, 0x80
mov dword [rsp - 0xc], 0x256c0ba5
jb 0x1400df9e0
lea rsi, [rbx + 0x50]
xchg rbp, rcx
mov rbp, rbx
xchg rbp, rcx
xchg rsi, r12
mov rdx, r12
xchg r12, rsi
call fcn.1400de430
xor eax, eax
mov qword [rbx + 0x48], rax
mov dword [rsp - 0x44], 0x3b4f5e4a
jmp 0x1400dfa66
lea rsi, [rbx + 0x50]
nop dword [rax]
nop word [rax + rax]
xchg rsi, rsi
mov byte [rax + rbx + 0x50], 0x49
sub byte [rax + rbx + 0x50], 0x23
xor byte [rax + rbx + 0x50], 0x2f
xor byte [rax + rbx + 0x50], 0x16
sub byte [rax + rbx + 0x50], 0x1f
mov rax, qword [rbx + 0x48]
inc rax
mov dword [rsp - 0x2c], esp
mov qword [rbx + 0x48], rax
cmp rax, 0x78
jb 0x1400dfa66
movzx eax, byte [rbx + 7]
xchg rdi, rdi
xchg rdx, rsi
mov rsi, rdx
xchg rdx, rsi
mov byte [rbx + 0xc8], al
mov dword [rsp - 0x24], 0x66613271
xchg rcx, rsp
mov rsp, rbx
xchg rcx, rsp
movzx eax, byte [rbx + 6]
mov r14, r14
mov byte [rbx + 0xc9], al
movzx eax, byte [rbx + 5]
mov byte [rbx + 0xca], al
mov dword [rsp - 0x24], 0x292b68e5
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xcc], al
mov dword [rsp - 0x38], 0x4be4257
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
xchg r14, r14
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
mov byte [rbx + 0xcf], al
mov r8, r8
call fcn.1400de430
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
mov dword [rsp - 0x44], esp
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
movzx eax, byte [rbx + 0xd]
mov dword [rsp - 0x24], 0x155b7c8c
mov byte [rdi + 2], al
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0xb]
mov dword [rsp - 0x20], ebp
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov byte [rdi + 5], al
mov dword [rsp - 0x14], edx
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
mov r9, r9
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x16]
mov byte [rdi + 9], al
mov r13, r13
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xb], al
mov rcx, rcx
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 0x12]
mov dword [rsp - 0x1c], ecx
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xe], al
movzx eax, byte [rbx + 0x10]
mov rdi, rdi
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x10], al
mov dword [rsp - 0x2c], 0x139bf735
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x12], al
mov dword [rsp - 0x14], 0x45703798
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov dword [rsp - 0x38], edx
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x19]
mov dword [rsp - 0x40], ebp
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x27]
xchg rsp, rsp
mov byte [rdi + 0x18], al
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov dword [rsp - 0x10], 0x27650c82
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov dword [rsp - 0x18], esp
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov dword [rsp - 0x44], ebp
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1f], al
xchg r15, r15
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
movzx eax, byte [rbx + 0x2c]
mov dword [rsp - 0x44], ebx
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
movzx eax, byte [rbx + 0x2a]
xchg r10, r10
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
movzx eax, byte [rbx + 0x28]
mov r11, r11
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov rbp, rbp
mov byte [rdi + 0x29], al
movzx eax, byte [rbx + 0x35]
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
mov r15, r15
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x2c], al
movzx eax, byte [rbx + 0x32]
xchg r9, r9
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
xchg rsi, rsi
mov byte [rdi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
mov rsi, qword [rsp + 0x30]
mov byte [rdi + 0x30], al
xchg r9, r9
movzx eax, byte [rbx + 0x3e]
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov byte [rdi + 0x32], al
mov rcx, rcx
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov byte [rdi + 0x34], al
mov rsp, rsp
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
movzx eax, byte [rbx + 0x39]
mov rsp, rsp
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rdi + 0x37], al
movzx eax, byte [rbx + 0x47]
mov dword [rsp - 0x10], ebx
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov byte [rdi + 0x39], al
movzx eax, byte [rbx + 0x45]
mov dword [rsp - 0x1c], ecx
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov byte [rdi + 0x3b], al
mov rcx, rcx
movzx eax, byte [rbx + 0x43]
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov rcx, rcx
mov byte [rdi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
mov dword [rsp - 0x3c], 0x28c8d8
movzx eax, byte [rbx + 0x40]
mov byte [rdi + 0x3f], al
xor eax, eax
xchg rbx, rbp
mov rbp, qword [rsp + 0x38]
xchg rbx, rbp
sub rsp, 0xffffffffffffffe0
mov dword [rsp - 0x18], ecx
nop
mov rdi, qword [rsp]
add rsp, 8
ret
mov rbx, qword [rsp + 0x38]
mov dword [rsp - 0x24], esp
mov eax, 0x63f755ab
add eax, 0xba4f930
sub eax, 0x176f550e
sub eax, 0x27637766
xor eax, 0x30c98266
add rsp, 0x20
xchg r10, r10
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret