Function at 0x1400a7160
Capabilities:
Encode data using xor

Disassembly:
push rbp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rdi
mov rbp, rsp
nop
sub rsp, 0x2a5609e1
add rsp, 0x2a560969
xor esi, esi
mov qword [rbp + 0x38], 0x37ac53ff
add qword [rbp + 0x38], 0xcc58563
add qword [rbp + 0x38], 0x13f57cb5
xor qword [rbp + 0x38], 0x58675610
xchg rcx, rbx
mov rcx, rbx
xchg rbx, rcx
xchg r15, rsi
mov qword [rsp + 0x20], r15
xchg rsi, r15
mov rcx, qword [rcx + 0x18]
lea r8, [rbp + 0x38]
mov dword [rsp - 0xc], edx
lea r9d, [rsi + 8]
lea edx, [rsi + 0x34]
call fcn.140077810
mov edx, eax
mov dword [rsp - 0x3c], ebp
test eax, eax
js 0x1400a7506
test byte [rbp + 0x3c], 1
mov dword [rsp - 0xc], edi
je 0x1400a7506
lea ecx, [rsi + 0x3c]
mov dword [rbp - 0x38], 0x69d2664f
xor dword [rbp - 0x38], 0x14d0c004
sub dword [rbp - 0x38], 0x63e60916
sub dword [rbp - 0x38], 0x19199cf7
mov word [rbp - 0x28], cx
lea r8d, [rsi + 3]
mov dword [rsp - 0x14], 0x43e5f938
mov dword [rbp - 0x34], 0x4b08d2f8
xor dword [rbp - 0x34], 0x6fe3c79b
xor dword [rbp - 0x34], 0x6ca97d0f
sub dword [rbp - 0x34], 0x480067af
mov dword [rbp - 0x30], 0x2daa6e8d
sub dword [rbp - 0x30], 0x1f46257c
xor dword [rbp - 0x30], 0x25da8cb7
sub dword [rbp - 0x30], 0x2b65c56a
mov dword [rbp - 0x2c], 0x327e3630
add dword [rbp - 0x2c], 0x4557de6a
sub dword [rbp - 0x2c], 0x5c3905f3
sub dword [rbp - 0x2c], 0x1b5b0dea
mov qword [rbp + 0x30], rsi
mov r9, r9
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x30]
xchg rcx, rax
mov rcx, qword [rbp + 0x30]
xchg rcx, rax
and cl, r8b
shl cl, 1
shl cl, 1
shl cl, 1
movzx edx, word [rbp + rax*2 - 0x38]
mov eax, 0x208ee43e
add eax, 0x4a66b71
xor eax, 0x50dbb961
sub eax, 0x47157f7e
shr eax, cl
movzx ecx, al
mov rax, qword [rbp + 0x30]
mov dword [rsp - 0x44], esi
xor cx, dx
mov word [rbp + rax*2 - 0x26], cx
mov rax, qword [rbp + 0x30]
mov dword [rsp - 0x28], ebp
inc rax
xchg r14, rax
mov qword [rbp + 0x30], r14
xchg r14, rax
mov rax, qword [rbp + 0x30]
cmp rax, 9
mov dword [rsp - 0x10], 0x1810b948
jb 0x1400a7289
xchg r14, rcx
mov r14, qword [rbx + 0x18]
xchg r14, rcx
lea r9, [rbp - 0x48]
mov dword [rsp - 0x2c], esp
lea r8, [rbp + 0x40]
mov word [rbp - 0x14], si
lea rdx, [rbp - 0x26]
call fcn.1400a5814
mov dword [rsp - 0x10], 0x64683dcc
mov edx, eax
lea rdi, [rbp - 0x26]
xor eax, eax
lea ecx, [rax + 9]
xchg r12, r12
rep stosb byte [rdi], al
test edx, edx
js 0x1400a7506
mov rcx, qword [rbp + 0x40]
mov dword [rsp - 0x14], esi
mov edx, 0x708b520c
sub edx, 0x5d257172
sub edx, 0x5763f12
xor edx, 0x9b39a06d
call fcn.14006ec00
mov dword [rsp - 0x1c], 0x1024435
test rax, rax
je 0x1400a74e9
mov ecx, dword [rax]
mov dword [rsp - 0x38], 0x49a4fb36
and ecx, 0xffffff
xor ecx, 0x525c63e7
cmp ecx, 0x5261e0af
jne 0x1400a74c7
mov rdi, rdi
movsxd rcx, dword [rax + 3]
lea r8, [rbp + 0x40]
sub rcx, qword [rbp + 0x40]
lea rdx, [rbp - 0x48]
mov dword [rsp - 0x20], ebp
mov rdi, qword [rbp - 0x48]
add rcx, rax
lea rax, [rbp + 0x28]
mov qword [rbp - 0x40], rsi
mov dword [rsp - 0x34], 0x285a404b
sub rdi, 0xfffffffffffffff8
mov qword [rbp + 0x40], 0x11688e68
add qword [rbp + 0x40], 0x516664c1
sub qword [rbp + 0x40], 0x3ac03c82
add qword [rbp + 0x40], 0x5541804c
sub qword [rbp + 0x40], 0x7d5036eb
add rdi, rcx
xchg r11, rax
mov qword [rsp + 0x20], r11
xchg r11, rax
xchg rcx, r10
mov r10, qword [rbx + 0x18]
xchg r10, rcx
mov r9d, 0x1d91407f
add r9d, 0x2194373c
xor r9d, 0x102e013e
xor r9d, 0x239c73d6
xor r9d, 0xc970557
xchg r9, rdi
mov qword [rbp - 0x48], r9
xchg rdi, r9
call fcn.1400777d0
mov r13, r13
mov edx, eax
test eax, eax
js 0x1400a7506
xchg rsi, rcx
mov rsi, qword [rbx + 0x18]
xchg rsi, rcx
lea r8, [rbp - 0x40]
xchg r12, r12
mov r9d, 0x661c54bd
xor r9d, 0x5a318b69
sub r9d, 0x3561a5d8
add r9d, 0x1fead9e1
sub r9d, 0x26b713d5
mov qword [rsp + 0x20], rsi
mov dword [rsp - 0x2c], edx
xchg rdi, rdx
mov rdi, rdx
xchg rdx, rdi
call fcn.140077910
xchg r9, r9
mov edx, eax
test eax, eax
js 0x1400a7506
mov r9d, dword [rbp + 0x28]
mov dword [rsp - 0x20], esi
lea rax, [rbp + 0x28]
mov rcx, qword [rbx + 0x18]
lea r8, [rbp + 0x40]
xchg r10, r10
lea rdx, [rbp - 0x48]
xchg rdx, rax
mov qword [rsp + 0x20], rdx
xchg rdx, rax
call fcn.1400777d0
mov edx, eax
mov r8, r8
jmp 0x1400a7506
mov edx, 0x247ce1ee
add edx, 0xef7f416
sub edx, 0x31a15df4
add edx, 0x3696102d
add edx, 0x8796787e
jmp 0x1400a7506
mov edx, 0x16636430
xor edx, 0x74fcb31e
add edx, 0x1525ae34
sub edx, 0x295c3b6b
add edx, 0x7196b683
mov eax, edx
mov r12, r12
neg rsp
add rsp, 0xffffffffffffff88
neg rsp
nop
mov rdi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rsi, qword [rsp - 8]
nop
mov rbx, qword [rsp]
add rsp, 8
nop
mov rbp, qword [rsp]
add rsp, 8
ret