Function at 0x1400defbb
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
sub rsp, 0x43d292ce
add rsp, 0x43d292ae
xchg rdx, rcx
mov rdi, rcx
xchg rdx, rcx
mov rbx, rcx
mov r10, r10
test rcx, rcx
je 0x1400df3fa
test rdx, rdx
je 0x1400df3fa
mov dword [rsp - 0x18], esp
mov rcx, qword [rcx + 0x48]
cmp rcx, 0x80
jae 0x1400df3fa
mov dword [rsp - 0x18], edx
lea rax, [rcx*8]
xchg r14, rsi
mov qword [rsp + 0x30], r14
xchg rsi, r14
add qword [rbx], rax
xchg rsi, rsi
mov byte [rcx + rbx + 0x50], 0x46
xor byte [rcx + rbx + 0x50], 3
sub byte [rcx + rbx + 0x50], 0x26
add byte [rcx + rbx + 0x50], 0x61
mov rax, qword [rbx + 0x48]
mov dword [rsp - 0x30], edx
inc rax
mov qword [rbx + 0x48], rax
cmp rax, 0x70
jbe 0x1400df0a5
mov dword [rsp - 0xc], ecx
cmp rax, 0x80
jae 0x1400df07c
nop dword [rax]
mov dword [rsp - 0x34], ecx
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x77
sub byte [rax + rbx + 0x50], 0x12
xor byte [rax + rbx + 0x50], 0x61
xor byte [rax + rbx + 0x50], 0x51
xor byte [rax + rbx + 0x50], 0x55
mov rax, qword [rbx + 0x48]
inc rax
mov dword [rsp - 0x1c], 0x62d6a7ed
mov qword [rbx + 0x48], rax
cmp rax, 0x80
jb 0x1400df041
xchg rdi, rdi
lea rsi, [rbx + 0x50]
xchg r11, rcx
mov r11, rbx
xchg r11, rcx
xchg rsi, r13
mov rdx, r13
xchg rsi, r13
call fcn.1400ddb00
xor eax, eax
mov r15, r15
mov qword [rbx + 0x48], rax
jmp 0x1400df0b9
lea rsi, [rbx + 0x50]
nop dword [rax]
mov rbx, rbx
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x51
xor byte [rax + rbx + 0x50], 0x43
add byte [rax + rbx + 0x50], 0x4b
sub byte [rax + rbx + 0x50], 0x5d
mov rax, qword [rbx + 0x48]
mov dword [rsp - 0x3c], esi
inc rax
mov qword [rbx + 0x48], rax
cmp rax, 0x78
xchg rsp, rsp
jb 0x1400df0b9
movzx eax, byte [rbx + 7]
xchg r14, rsi
mov rdx, r14
xchg rsi, r14
mov byte [rbx + 0xc8], al
xchg r8, rbx
mov rcx, r8
xchg r8, rbx
movzx eax, byte [rbx + 6]
mov byte [rbx + 0xc9], al
mov dword [rsp - 0x28], 0x16280a1e
movzx eax, byte [rbx + 5]
mov byte [rbx + 0xca], al
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
xchg rcx, rcx
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xcc], al
movzx eax, byte [rbx + 2]
mov byte [rbx + 0xcd], al
mov dword [rsp - 0x3c], edi
movzx eax, byte [rbx + 1]
mov byte [rbx + 0xce], al
movzx eax, byte [rbx]
xchg rbp, rbp
mov byte [rbx + 0xcf], al
call fcn.1400ddb00
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
mov dword [rsp - 0x28], ebp
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
movzx eax, byte [rbx + 0xd]
mov r14, r14
mov byte [rdi + 2], al
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
movzx eax, byte [rbx + 9]
xchg rsp, rsp
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
mov byte [rdi + 7], al
mov r14, r14
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x16]
mov r11, r11
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
xchg r9, r9
movzx eax, byte [rbx + 0x14]
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
mov dword [rsp - 0x24], 0x12dae501
movzx eax, byte [rbx + 0x12]
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xe], al
mov r9, r9
movzx eax, byte [rbx + 0x10]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov dword [rsp - 0x18], 0x69703975
mov byte [rdi + 0x10], al
movzx eax, byte [rbx + 0x1e]
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov dword [rsp - 0x34], 0x72ed2ede
mov byte [rdi + 0x12], al
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov dword [rsp - 0x18], 0x3390a26e
mov byte [rdi + 0x14], al
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x15], al
mov dword [rsp - 0x14], 0x4525f180
movzx eax, byte [rbx + 0x19]
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov dword [rsp - 0x30], 0x4ed93881
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x27]
mov byte [rdi + 0x18], al
movzx eax, byte [rbx + 0x26]
mov dword [rsp - 0xc], ecx
mov byte [rdi + 0x19], al
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov dword [rsp - 0x34], 0x34a5f0fb
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x23]
mov byte [rdi + 0x1c], al
mov r10, r10
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x1d], al
movzx eax, byte [rbx + 0x21]
mov byte [rdi + 0x1e], al
mov rdx, rdx
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1f], al
movzx eax, byte [rbx + 0x2f]
mov dword [rsp - 0x10], edx
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov byte [rdi + 0x21], al
mov rbp, rbp
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
movzx eax, byte [rbx + 0x2c]
mov byte [rdi + 0x23], al
xchg r10, r10
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
movzx eax, byte [rbx + 0x2a]
mov dword [rsp - 0x34], 0x7bcd53de
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
movzx eax, byte [rbx + 0x28]
mov dword [rsp - 0x34], 0x26202ade
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov dword [rsp - 0x44], 0x26b8de13
mov byte [rdi + 0x29], al
movzx eax, byte [rbx + 0x35]
mov byte [rdi + 0x2a], al
xchg r9, r9
movzx eax, byte [rbx + 0x34]
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov r9, r9
mov byte [rdi + 0x2c], al
movzx eax, byte [rbx + 0x32]
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
xchg r11, r11
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov byte [rdi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
xchg rbp, rbp
mov rsi, qword [rsp + 0x30]
mov byte [rdi + 0x30], al
movzx eax, byte [rbx + 0x3e]
mov dword [rsp - 0x30], 0x31e04701
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov byte [rdi + 0x32], al
mov dword [rsp - 0x14], edx
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov dword [rsp - 0x38], 0x26d1fe51
mov byte [rdi + 0x34], al
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
movzx eax, byte [rbx + 0x39]
xchg r10, r10
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rdi + 0x37], al
mov r10, r10
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov byte [rdi + 0x39], al
mov dword [rsp - 0x20], ecx
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
mov byte [rdi + 0x3b], al
mov dword [rsp - 0x10], ebx
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
movzx eax, byte [rbx + 0x40]
xchg rsp, rsp
mov byte [rdi + 0x3f], al
xor eax, eax
mov rbx, qword [rsp + 0x38]
mov dword [rsp - 0x44], esi
nop
sub rsp, 0x26fe8254
add rsp, 0x26fe8274
nop
mov rdi, qword [rsp]
add rsp, 8
ret
mov rbx, qword [rsp + 0x38]
mov eax, 0xba5b3f8
add eax, 0x2bc4ae3f
sub eax, 0x31050897
xor eax, 0x117baaa7
sub eax, 0x171ef306
nop
sub rsp, 0x4ef7229b
add rsp, 0x4ef722bb
pop rdi
ret