Function at 0x7ff698a01e50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [0x7ff698a89018]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov rbx, rcx
mov qword [rbp - 8], rcx
xor esi, esi
mov dword [rsp + 0x20], esi
mov r8d, 0x104
lea rdx, [rbp + 0xb0]
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleFileNameA]
movdqa xmm0, xmmword [0x7ff698a68d20]
movdqu xmmword [rbp - 0x58], xmm0
movdqa xmm1, xmmword [0x7ff698a68c80]
movdqu xmmword [rbp - 0x48], xmm1
movdqa xmm0, xmmword [0x7ff698a68c90]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x28], 0x100
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], sil
lea rax, [rbp + 0xb0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], sil
jne 0x7ff698a01ef1
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x78]
call fcn.7ff6989f38e0
nop
mov r9d, 0x14
lea r8, [0x7ff698a67cb0]
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.7ff698a05810
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
cmp byte [rbp - 0x27], 0
je 0x7ff698a01f64
mov rcx, rsi
nop dword [rax]
lea eax, [rcx + 0xf]
xor byte [rbp + rcx - 0x58], al
inc rcx
cmp rcx, 0x30
jb 0x7ff698a01f50
mov byte [rbp - 0x27], 0
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
mov r8d, 0x30
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x48]
call fcn.7ff6989f38e0
nop
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 0x10
cmovae r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x78]
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.7ff698a05810
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x38], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x7ff698a02022
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698a0201c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698a0201c
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698a5b9ac
nop
lea rcx, [rsp + 0x28]
cmp qword [rsp + 0x40], 0x10
cmovae rcx, qword [rsp + 0x28]
mov qword [rbx], rsi
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov dword [rsp + 0x20], 0x3e
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
lea rdx, [0x7ff698a67ca8]
call qword [sym.imp.ucrtbase.dll__popen]
mov rdi, rax
mov rax, qword [sym.imp.ucrtbase.dll__pclose]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rdi
test rdi, rdi
je 0x7ff698a021e3
mov r8, rdi
mov edx, 0x80
lea rcx, [rbp + 0x30]
call qword [sym.imp.ucrtbase.dll_fgets]
test rax, rax
je 0x7ff698a020dd
nop dword [rax]
nop word [rax + rax]
lea rax, [rbp + 0x30]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x7ff698a020b0
lea rdx, [rbp + 0x30]
mov rcx, rbx
call fcn.7ff6989f38e0
mov r8, rdi
mov edx, 0x80
lea rcx, [rbp + 0x30]
call qword [sym.imp.ucrtbase.dll_fgets]
test rax, rax
jne 0x7ff698a020a0
mov rcx, rdi
call qword [sym.imp.ucrtbase.dll__pclose]
nop
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x7ff698a02127
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698a02122
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698a02122
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698a5b9ac
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], 0xf
mov byte [rsp + 0x28], 0
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x7ff698a0217a
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698a02174
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698a02174
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698a5b9ac
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x7ff698a021b8
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff698a021b3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff698a021b3
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff698a5b9ac
mov rax, rbx
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.7ff698a5be00
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
movdqa xmm0, xmmword [0x7ff698a68c50]
movdqu xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x10], 1
lea rdx, [rbp]
lea rcx, [rbp - 0x20]
call fcn.7ff698a00bc0
nop
lea rdx, [rbp]
lea rcx, [rsp + 0x48]
call fcn.7ff6989ffd70
lea rdx, [0x7ff698a845c0]
lea rcx, [rsp + 0x48]
call sub.VCRUNTIME140.dll__CxxThrowException
int3