Function at 0x1400ad510
Capabilities:
Encode data using xor

Disassembly:
xchg r10, rbx
mov qword [rsp + 0x10], r10
xchg r10, rbx
push rdi
mov dword [rsp - 0x14], ebp
nop
sub rsp, 0x2a163655
add rsp, 0x2a163635
xchg r14, rdi
mov r14, rdx
xchg rdi, r14
xchg r10, rcx
mov rbx, r10
xchg r10, rcx
test rcx, rcx
mov dword [rsp - 0x28], 0x491fc270
je 0x1400ad99b
test rdx, rdx
je 0x1400ad99b
mov rcx, qword [rcx + 0x48]
mov dword [rsp - 0x20], 0x393e5fce
cmp rcx, 0x80
jae 0x1400ad99b
lea rax, [rcx*8]
xchg r11, r11
mov qword [rsp + 0x30], rsi
add qword [rbx], rax
mov byte [rcx + rbx + 0x50], 0x4d
xor byte [rcx + rbx + 0x50], 2
sub byte [rcx + rbx + 0x50], 0x42
add byte [rcx + rbx + 0x50], 0x73
mov rax, qword [rbx + 0x48]
inc rax
mov dword [rsp - 0x38], 0x7c04b695
xchg r10, rax
mov qword [rbx + 0x48], r10
xchg r10, rax
cmp rax, 0x70
jbe 0x1400ad64d
cmp rax, 0x80
mov dword [rsp - 0x14], 0x5f4ab319
jae 0x1400ad623
nop dword [rax]
nop word [rax + rax]
mov byte [rax + rbx + 0x50], 0x1e
add byte [rax + rbx + 0x50], 0x22
xor byte [rax + rbx + 0x50], 0x45
add byte [rax + rbx + 0x50], 2
sub byte [rax + rbx + 0x50], 7
mov rax, qword [rbx + 0x48]
mov dword [rsp - 0x38], 0x7b74c0c7
inc rax
xchg r11, rax
mov qword [rbx + 0x48], r11
xchg r11, rax
cmp rax, 0x80
jb 0x1400ad5df
mov dword [rsp - 0x18], 0xd7b74a4
lea rsi, [rbx + 0x50]
xchg r11, rbx
mov rcx, r11
xchg r11, rbx
xchg rsi, r12
mov rdx, r12
xchg rsi, r12
call fcn.1400ac0a0
xor eax, eax
mov dword [rsp - 0x2c], esp
mov qword [rbx + 0x48], rax
jmp 0x1400ad661
lea rsi, [rbx + 0x50]
nop dword [rax]
nop word [rax + rax]
mov r15, r15
mov byte [rax + rbx + 0x50], 0x1b
xor byte [rax + rbx + 0x50], 0x1a
xor byte [rax + rbx + 0x50], 0x66
sub byte [rax + rbx + 0x50], 1
xor byte [rax + rbx + 0x50], 0x66
mov rax, qword [rbx + 0x48]
xchg r12, r12
inc rax
mov qword [rbx + 0x48], rax
cmp rax, 0x78
jb 0x1400ad661
mov dword [rsp - 0x24], edi
movzx eax, byte [rbx + 7]
xchg r10, rsi
mov rdx, r10
xchg rsi, r10
mov byte [rbx + 0xc8], al
mov dword [rsp - 0x18], 0x65c2929
xchg r8, rbx
mov rcx, r8
xchg r8, rbx
movzx eax, byte [rbx + 6]
mov byte [rbx + 0xc9], al
movzx eax, byte [rbx + 5]
xchg rdx, rdx
mov byte [rbx + 0xca], al
movzx eax, byte [rbx + 4]
mov byte [rbx + 0xcb], al
mov r15, r15
movzx eax, byte [rbx + 3]
mov byte [rbx + 0xcc], al
movzx eax, byte [rbx + 2]
mov dword [rsp - 0x1c], ebx
mov byte [rbx + 0xcd], al
movzx eax, byte [rbx + 1]
mov byte [rbx + 0xce], al
xchg r8, r8
movzx eax, byte [rbx]
mov byte [rbx + 0xcf], al
call fcn.1400ac0a0
mov dword [rsp - 0x40], 0x370d907f
movzx eax, byte [rbx + 0xf]
mov byte [rdi], al
movzx eax, byte [rbx + 0xe]
mov byte [rdi + 1], al
mov dword [rsp - 0x34], ebp
movzx eax, byte [rbx + 0xd]
mov byte [rdi + 2], al
movzx eax, byte [rbx + 0xc]
mov byte [rdi + 3], al
xchg r14, r14
movzx eax, byte [rbx + 0xb]
mov byte [rdi + 4], al
movzx eax, byte [rbx + 0xa]
mov dword [rsp - 0xc], 0x50b69aef
mov byte [rdi + 5], al
movzx eax, byte [rbx + 9]
mov byte [rdi + 6], al
movzx eax, byte [rbx + 8]
mov dword [rsp - 0x44], 0x4f575142
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x17]
mov byte [rdi + 8], al
movzx eax, byte [rbx + 0x16]
xchg r9, r9
mov byte [rdi + 9], al
movzx eax, byte [rbx + 0x15]
mov byte [rdi + 0xa], al
movzx eax, byte [rbx + 0x14]
mov dword [rsp - 0x10], 0x2f964ff
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x13]
mov byte [rdi + 0xc], al
movzx eax, byte [rbx + 0x12]
mov r9, r9
mov byte [rdi + 0xd], al
movzx eax, byte [rbx + 0x11]
mov byte [rdi + 0xe], al
movzx eax, byte [rbx + 0x10]
mov dword [rsp - 0xc], ebx
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x1f]
mov byte [rdi + 0x10], al
movzx eax, byte [rbx + 0x1e]
mov r10, r10
mov byte [rdi + 0x11], al
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x12], al
mov rsi, rsi
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x1b]
mov byte [rdi + 0x14], al
mov rsi, rsi
movzx eax, byte [rbx + 0x1a]
mov byte [rdi + 0x15], al
movzx eax, byte [rbx + 0x19]
mov dword [rsp - 0x14], 0x4894f40d
mov byte [rdi + 0x16], al
movzx eax, byte [rbx + 0x18]
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x27]
mov dword [rsp - 0x44], ebx
mov byte [rdi + 0x18], al
movzx eax, byte [rbx + 0x26]
mov byte [rdi + 0x19], al
mov dword [rsp - 0x34], edx
movzx eax, byte [rbx + 0x25]
mov byte [rdi + 0x1a], al
movzx eax, byte [rbx + 0x24]
mov byte [rdi + 0x1b], al
mov dword [rsp - 0x10], ebx
movzx eax, byte [rbx + 0x23]
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x22]
mov byte [rdi + 0x1d], al
mov dword [rsp - 0x2c], esi
movzx eax, byte [rbx + 0x21]
mov byte [rdi + 0x1e], al
movzx eax, byte [rbx + 0x20]
mov byte [rdi + 0x1f], al
mov dword [rsp - 0x20], edx
movzx eax, byte [rbx + 0x2f]
mov byte [rdi + 0x20], al
movzx eax, byte [rbx + 0x2e]
mov r10, r10
mov byte [rdi + 0x21], al
movzx eax, byte [rbx + 0x2d]
mov byte [rdi + 0x22], al
mov rsi, rsi
movzx eax, byte [rbx + 0x2c]
mov byte [rdi + 0x23], al
movzx eax, byte [rbx + 0x2b]
mov byte [rdi + 0x24], al
mov dword [rsp - 0x2c], 0x9d5a0cd
movzx eax, byte [rbx + 0x2a]
mov byte [rdi + 0x25], al
movzx eax, byte [rbx + 0x29]
mov byte [rdi + 0x26], al
mov r12, r12
movzx eax, byte [rbx + 0x28]
mov byte [rdi + 0x27], al
movzx eax, byte [rbx + 0x37]
mov r10, r10
mov byte [rdi + 0x28], al
movzx eax, byte [rbx + 0x36]
mov byte [rdi + 0x29], al
mov dword [rsp - 0x34], 0x4dce62ad
movzx eax, byte [rbx + 0x35]
mov byte [rdi + 0x2a], al
movzx eax, byte [rbx + 0x34]
xchg r11, r11
mov byte [rdi + 0x2b], al
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x2c], al
movzx eax, byte [rbx + 0x32]
mov dword [rsp - 0x24], edx
mov byte [rdi + 0x2d], al
movzx eax, byte [rbx + 0x31]
mov byte [rdi + 0x2e], al
movzx eax, byte [rbx + 0x30]
mov r14, r14
mov byte [rdi + 0x2f], al
movzx eax, byte [rbx + 0x3f]
xchg rsi, rcx
mov rcx, qword [rsp + 0x30]
xchg rsi, rcx
mov byte [rdi + 0x30], al
movzx eax, byte [rbx + 0x3e]
mov dword [rsp - 0x18], 0x6b9b6d9
mov byte [rdi + 0x31], al
movzx eax, byte [rbx + 0x3d]
mov byte [rdi + 0x32], al
xchg r11, r11
movzx eax, byte [rbx + 0x3c]
mov byte [rdi + 0x33], al
movzx eax, byte [rbx + 0x3b]
mov byte [rdi + 0x34], al
xchg rdx, rdx
movzx eax, byte [rbx + 0x3a]
mov byte [rdi + 0x35], al
movzx eax, byte [rbx + 0x39]
xchg r12, r12
mov byte [rdi + 0x36], al
movzx eax, byte [rbx + 0x38]
mov byte [rdi + 0x37], al
xchg rsi, rsi
movzx eax, byte [rbx + 0x47]
mov byte [rdi + 0x38], al
movzx eax, byte [rbx + 0x46]
mov byte [rdi + 0x39], al
mov dword [rsp - 0x30], 0x7c64cb85
movzx eax, byte [rbx + 0x45]
mov byte [rdi + 0x3a], al
movzx eax, byte [rbx + 0x44]
xchg r15, r15
mov byte [rdi + 0x3b], al
movzx eax, byte [rbx + 0x43]
mov byte [rdi + 0x3c], al
movzx eax, byte [rbx + 0x42]
mov r10, r10
mov byte [rdi + 0x3d], al
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x3e], al
movzx eax, byte [rbx + 0x40]
mov dword [rsp - 0x1c], esi
mov byte [rdi + 0x3f], al
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
mov dword [rsp - 0x40], 0x6fdd8f4c
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret
mov rbx, qword [rsp + 0x38]
mov eax, 0x477b84b2
xor eax, 0x4abac95b
add eax, 0x482e369b
sub eax, 0x16f0d926
xor eax, 0x3efeab5f
neg rsp
add rsp, 0xffffffffffffffe0
neg rsp
nop
mov rdi, qword [rsp]
add rsp, 8
ret