Function at 0x1400a5559
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x278
mov rsi, rcx
call fcn.1400a2802
test al, al
je 0x1400a5715
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], 5
lea rdi, [rsp + 0x158]
mov rcx, rdi
call fcn.14017b2a0
mov rax, qword [rdi]
mov rdi, qword [rdi + 8]
movabs r12, 0x8000000000000000
cmp rax, r12
je 0x1400a56fb
lea rbx, [rsp + 0x158]
movups xmm0, xmmword [rbx + 0x10]
movups xmmword [rsp + 0xd8], xmm0
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rdi
lea rdi, [rsp + 0xa0]
mov rcx, rdi
call fcn.14017af10
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
lea rdi, [rsp + 0x100]
mov rcx, rdi
call fcn.14018fc30
lea rax, [rsp + 0x50]
mov qword [rax], rdi
lea rcx, [0x140006a7e]
mov qword [rax + 8], rcx
lea r14, [rsp + 0x90]
mov qword [rax + 0x10], r14
lea r15, [0x14003906a]
mov qword [rax + 0x18], r15
lea rcx, [0x14029be68]
mov qword [rbx], rcx
mov ecx, 2
mov qword [rbx + 8], rcx
mov qword [rbx + 0x20], 0
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rcx
lea rcx, [rsp + 0xe8]
mov rdx, rbx
call fcn.14003f640
mov rax, qword [rdi]
cmp rax, r12
je 0x1400a5684
test rax, rax
je 0x1400a5684
mov r8, qword [rsp + 0x108]
mov rcx, qword [0x1403531b0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
movups xmm0, xmmword [rsp + 0xe8]
movaps xmmword [rsp + 0x30], xmm0
mov r8, qword [rsp + 0xf8]
mov qword [rsp + 0x40], r8
mov rbx, qword [rsp + 0x38]
lea rcx, [rsp + 0xc8]
mov rdx, rbx
call fcn.1400038af
test rax, rax
je 0x1400a5749
mov rdi, rdx
cmp qword [rsp + 0x30], 0
je 0x1400a56d9
mov rcx, qword [0x1403531b0]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0xa0], 0
je 0x1400a56fb
mov r8, qword [rsp + 0xa8]
mov rcx, qword [0x1403531b0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0x158], rdi
test rdi, rdi
je 0x1400a5715
lea rcx, [rsp + 0x158]
call fcn.1400747f0
mov rcx, rsi
call fcn.1400a5c93
mov qword [rsp + 0x158], rax
test rax, rax
je 0x1400a5737
lea rcx, [rsp + 0x158]
call fcn.1400747f0
nop
add rsp, 0x278
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rax, [0x14028f3b1]
lea rdx, [rsp + 0x158]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xdc4b08a2e5072044
mov qword [rdx], rax
lea rax, [rsp + 0x158]
mov rdx, qword [rax]
call fcn.1400854da
mov ecx, 0x5ea37053
xor ecx, dword [rax]
movzx edx, byte [rax + 6]
movzx eax, word [rax + 4]
xor eax, 0x8e7
xor dl, 0x88
movzx r8d, dl
lea rdx, [rsp + 0xc0]
mov byte [rdx + 6], r8b
shl r8, 0x30
shl rax, 0x20
or rax, r8
mov dword [rdx], ecx
shr rax, 0x20
mov word [rdx + 4], ax
lea rdi, [rsp + 0x158]
mov r8d, 7
mov rcx, rdi
call fcn.140194450
mov dword [rdi + 0xc0], 0x8000000
lea rdx, [0x14029be88]
mov r8d, 2
mov rcx, rdi
call fcn.140194560
lea rax, [0x140292511]
lea rdx, [rsp + 0x50]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0xc49b433988b6146e
mov qword [rdx], rax
lea rdi, [rsp + 0x50]
mov rdx, qword [rdi]
call fcn.1400866e3
xorps xmm0, xmm0
movaps xmmword [rdi], xmm0
mov cl, 1
xor edx, edx
lea r8, [0x14029c60a]
mov r9, qword [rdx + r8]
xor r9, qword [rax + rdx]
mov qword [rsp + rdx + 0x50], r9
mov edx, 8
test cl, 1
mov ecx, 0
jne 0x1400a5829
mov ecx, 0xb08137c3
xor ecx, dword [rax + 0x10]
lea rax, [rsp + 0x240]
mov dword [rax + 0x10], ecx
lea rdx, [rsp + 0x50]
movaps xmm0, xmmword [rdx]
movaps xmmword [rax], xmm0
lea rbx, [rsp + 0x220]
mov qword [rbx], rax
mov qword [rbx + 8], 0x14
lea rax, [0x14028d777]
mov qword [rdx], rax
mov rcx, qword [rdx]
movabs rax, 0x60590829eff490a6
mov qword [rdx], rax
lea rdi, [rsp + 0x50]
mov rdx, qword [rdi]
call fcn.140086807
movabs rcx, 0x188be9533a30dfd6
xor rcx, qword [rax]
mov edx, 0xd196cbe3
xor edx, dword [rax + 8]
movzx r8d, byte [rax + 0xe]
movzx eax, word [rax + 0xc]
xor eax, 0x5d56
xor r8b, 0xbf
lea r9, [rsp + 0x148]
mov qword [r9], rcx
mov dword [r9 + 8], edx
mov word [r9 + 0xc], ax
mov byte [r9 + 0xe], r8b
lea rax, [rsp + 0x230]
mov qword [rax], r9
mov qword [rax + 8], 0xf
mov qword [rdi], rbx
mov qword [rdi + 8], r15
lea rcx, [rsp + 0x30]
mov qword [rdi + 0x10], rcx
lea rcx, [0x140006a7e]
mov qword [rdi + 0x18], rcx
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], r15
mov qword [rdi + 0x30], r14
mov qword [rdi + 0x38], r15
lea rax, [0x14029bea8]
lea rdx, [rsp + 0x100]
mov qword [rdx], rax
mov qword [rdx + 8], 5
mov qword [rdx + 0x20], 0
mov qword [rdx + 0x10], rdi
mov qword [rdx + 0x18], 4
lea rdi, [rsp + 0x260]
mov rcx, rdi
call fcn.14003f640
lea rbx, [rsp + 0x158]
mov rcx, rbx
mov rdx, rdi
call fcn.14019c3ca
lea rdi, [rsp + 0x50]
mov rcx, rdi
mov rdx, rbx
call fcn.140182f10
cmp dword [rdi], 2
je 0x1400a5a0b
movups xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x60]
movups xmm2, xmmword [rsp + 0x70]
movups xmm3, xmmword [rsp + 0x80]
lea rcx, [rsp + 0x100]
movaps xmmword [rcx + 0x30], xmm3
movaps xmmword [rcx + 0x20], xmm2
movaps xmmword [rcx + 0x10], xmm1
movaps xmmword [rcx], xmm0
call fcn.14009bb8c
lea rcx, [rsp + 0x158]
call fcn.14009bbe9
cmp qword [rsp + 0x30], 0
je 0x1400a59e0
mov r8, qword [rsp + 0x38]
mov rcx, qword [0x1403531b0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0xa0], 0
je 0x1400a5715
mov r8, qword [rsp + 0xa8]
mov rcx, qword [0x1403531b0]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400a5715
mov rax, qword [rsp + 0x58]
lea r8, [rsp + 0x100]
mov qword [r8], rax
lea rax, str.srcpersistence.rs
mov qword [rsp + 0x20], rax
lea rcx, str.Errorcodemessage
lea r9, fcn.1400747f0
mov edx, 5
call fcn.1402320b0
int3