Function at 0x7ff65a70de80
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x118]
sub rsp, 0x218
xor esi, esi
xor ecx, ecx
call qword [sym.imp.ucrtbase.dll__time64]
mov rcx, rax
call qword [sym.imp.ucrtbase.dll_srand]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], sil
mov dword [rbp + 0x160], 0xf7ece3ca
mov word [rbp + 0x164], 0xa8
mov byte [rbp + 0x166], 1
mov ecx, esi
nop word [rax + rax]
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx + 0x160], al
inc rcx
cmp rcx, 5
jb 0x7ff65a70def0
mov byte [rbp + 0x166], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], rsi
lea rax, [rbp + 0x160]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x7ff65a70df30
lea rdx, [rbp + 0x160]
lea rcx, [rbp - 0x68]
call fcn.7ff65a6f3710
nop
call qword [sym.imp.ucrtbase.dll_rand]
cdq
idiv dword [0x7ff65a7b0024]
movsxd rax, edx
lea r14, [0x7ff65a785a20]
movzx ecx, byte [rax + r14]
mov qword [rsp + 0x30], 1
lea rax, [rsp + 0x20]
mov byte [rax], cl
mov byte [rax + 1], 0
call qword [sym.imp.ucrtbase.dll_rand]
cdq
idiv dword [0x7ff65a7b0024]
movsxd rax, edx
movzx r9d, byte [rax + r14]
mov rcx, qword [rsp + 0x30]
movzx ebx, byte [rbp + 0x160]
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
jae 0x7ff65a70dfc9
lea rax, [rcx + 1]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
cmp rdx, 0xf
cmova rax, qword [rsp + 0x20]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x7ff65a70dfdc
movzx r8d, bl
mov edx, 1
lea rcx, [rsp + 0x20]
call fcn.7ff65a6fa440
call qword [sym.imp.ucrtbase.dll_rand]
cdq
idiv dword [0x7ff65a7b0024]
movsxd rax, edx
movzx r9d, byte [rax + r14]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
jae 0x7ff65a70e023
lea rax, [rcx + 1]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
cmp rdx, 0xf
cmova rax, qword [rsp + 0x20]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x7ff65a70e036
movzx r8d, bl
mov edx, 1
lea rcx, [rsp + 0x20]
call fcn.7ff65a6fa440
call qword [sym.imp.ucrtbase.dll_rand]
cdq
idiv dword [0x7ff65a7b0024]
movsxd rax, edx
movzx r9d, byte [rax + r14]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
jae 0x7ff65a70e07d
lea rax, [rcx + 1]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
cmp rdx, 0xf
cmova rax, qword [rsp + 0x20]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x7ff65a70e090
movzx r8d, bl
mov edx, 1
lea rcx, [rsp + 0x20]
call fcn.7ff65a6fa440
call qword [sym.imp.ucrtbase.dll_rand]
cdq
idiv dword [0x7ff65a7b0024]
movsxd rax, edx
movzx r9d, byte [rax + r14]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
jae 0x7ff65a70e0d7
lea rax, [rcx + 1]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
cmp rdx, 0xf
cmova rax, qword [rsp + 0x20]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x7ff65a70e0ea
movzx r8d, bl
mov edx, 1
lea rcx, [rsp + 0x20]
call fcn.7ff65a6fa440
mov dword [rbp + 0x160], 0xe1fbe7af
mov word [rbp + 0x164], 0x100
mov rcx, rsi
lea eax, [rcx - 0x7f]
xor byte [rbp + rcx + 0x160], al
inc rcx
cmp rcx, 4
jb 0x7ff65a70e100
mov byte [rbp + 0x165], 0
movabs r8, 0x7fffffffffffffff
mov rax, r8
mov r15, qword [rbp - 0x58]
sub rax, r15
mov r13, qword [rsp + 0x30]
cmp rax, r13
jb 0x7ff65a70e4f2
lea rdx, [rbp - 0x68]
mov r12, qword [rbp - 0x68]
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0x178], rax
cmp rax, 0xf
cmova rdx, r12
mov qword [rbp + 0x168], rdx
lea rax, [rsp + 0x20]
mov r14, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x38]
mov qword [rbp - 0x70], rcx
cmp rcx, 0xf
cmova rax, r14
mov qword [rbp + 0x170], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x80], xmm1
lea rax, [r15 + r13]
mov ebx, 0xf
lea rsi, [rsp + 0x70]
cmp rax, rbx
jbe 0x7ff65a70e23a
mov rbx, rax
or rbx, 0xf
cmp rbx, r8
jbe 0x7ff65a70e1ea
mov rbx, r8
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.7ff65a77f40c
test rax, rax
je 0x7ff65a70e212
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
lea rax, [r15 + r13]
mov rdx, qword [rbp + 0x168]
jmp 0x7ff65a70e235
mov ecx, 0x16
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x7ff65a70e219
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x7ff65a70e4ec
jmp 0x7ff65a70e1c4
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x7ff65a70e233
call fcn.7ff65a77f40c
mov rsi, rax
lea rax, [r15 + r13]
mov rdx, qword [rbp + 0x168]
jmp 0x7ff65a70e235
xor esi, esi
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rbx
mov r8, r15
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy_1
lea rcx, [r15 + rsi]
mov r8, r13
mov rdx, qword [rbp + 0x170]
call sub.VCRUNTIME140.dll_memcpy_1
lea rax, [r15 + r13]
mov byte [rsi + rax], 0
lea rax, [rbp + 0x160]
mov r8, rdi
inc r8
cmp byte [rax + r8], 0
jne 0x7ff65a70e272
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x70]
call fcn.7ff65a710710
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor ebx, ebx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
mov rdx, qword [rbp - 0x78]
cmp rdx, 0xf
jbe 0x7ff65a70e2ff
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff65a70e2fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff65a70e2fa
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff65a77f448
movdqa xmm0, xmmword [0x7ff65a787330]
movdqu xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
mov r8d, 0x104
lea rdx, [rbp]
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleFileNameA]
test eax, eax
je 0x7ff65a70e3cc
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x68], rax
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x28]
call fcn.7ff65a6febb0
nop
lea rax, [rbp]
mov qword [rsp + 0x60], rax
lea rax, [rbp]
nop word [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x7ff65a70e370
mov qword [rsp + 0x68], rdi
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x48]
call fcn.7ff65a6febb0
nop
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 7
cmova rdx, qword [rbp - 0x28]
lea rcx, [rbp - 0x48]
cmp qword [rbp - 0x30], 7
cmova rcx, qword [rbp - 0x48]
call fcn.7ff65a77f3a8
test eax, eax
jne 0x7ff65a70e4d5
lea rcx, [rbp - 0x48]
call fcn.7ff65a6f8010
nop
lea rcx, [rbp - 0x28]
call fcn.7ff65a6f8010
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
lea rcx, [0x7ff65a7b00f0]
call fcn.7ff65a6fb360
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x7ff65a70e42f
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff65a70e42a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff65a70e42a
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff65a77f448
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rbp + 0x178]
cmp rdx, 0xf
jbe 0x7ff65a70e484
inc rdx
mov rax, r12
cmp rdx, 0x1000
jb 0x7ff65a70e47b
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff65a70e47b
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.7ff65a77f448
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x7ff65a70e4c1
inc rdx
mov rax, r14
cmp rdx, 0x1000
jb 0x7ff65a70e4b9
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff65a70e4b9
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.7ff65a77f448
add rsp, 0x218
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea r9, [rbp - 0x28]
lea r8, [rbp - 0x48]
mov edx, eax
lea rcx, [0x7ff65a7853e4]
call fcn.7ff65a7102e0
nop
call fcn.7ff65a6f1a10
int3
call fcn.7ff65a6f1ab0
int3