Function at 0x140003520
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x140
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x140010040]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov r15, rdx
mov rdi, rcx
xor ebx, ebx
mov dword [rbp - 0x38], ebx
mov qword [rsp + 0x38], rbx
mov ecx, 0x30
call fcn.140009930
mov rcx, rax
mov qword [rsp + 0x30], rax
movdqa xmm0, xmmword [0x14000bd60]
movdqu xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [str.SeLoadDriverPrivilege]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x14000b888]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x14000b898]
movsd qword [rax + 0x20], xmm0
movzx eax, word [0x14000b8a0]
mov word [rcx + 0x28], ax
mov word [rcx + 0x2a], bx
mov qword [rbp - 0x38], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rbp - 0x38]
mov edx, 0x28
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x1400035d6
mov sil, 1
jmp 0x14000364c
mov qword [rbp - 0x28], rbx
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rdx, qword [rsp + 0x30]
lea r8, [rbp - 0x28]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
jne 0x140003600
mov sil, 1
jmp 0x14000364c
mov dword [rbp - 0x10], 1
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0xc], rax
mov dword [rbp - 4], 2
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
mov r9d, 0x10
lea r8, [rbp - 0x10]
xor edx, edx
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
jne 0x14000363f
mov sil, 1
jmp 0x14000364c
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor sil, sil
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x140003691
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000368c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000368c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009bac
test sil, sil
jne 0x140003e0b
mov rax, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x1400036a8
mov rdi, qword [rdi]
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rax
call fcn.140008ebc
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm0
lea r8, [rbp - 0x10]
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.1400019a0
mov dword [rbp - 0x38], 3
mov qword [rbp - 0x28], rbx
lea rax, [0x1400100b8]
mov qword [rbp - 0x20], rax
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x30]
call fcn.140002490
mov dword [rbp - 0x38], 7
cmp dword [rbp - 0x28], 0
jne 0x140003e3a
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 7
cmova rax, qword [rsp + 0x30]
mov qword [rbp - 0x10], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 8], rax
call fcn.140008ebc
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm0
lea r8, [rbp - 0x10]
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.1400077b0
mov dword [rbp - 0x38], 0x3f
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
sub rax, r8
mov r14d, 4
cmp rax, r14
jb 0x1400037ee
lea rax, [r8 + 4]
mov qword [rsp + 0x60], rax
lea rdi, [rsp + 0x50]
cmp rcx, 0xf
cmova rdi, qword [rsp + 0x50]
lea rax, [0x14000b8a8]
lea r12, [0x14000b8a4]
cmp rax, rdi
jbe 0x1400037b0
lea rax, [rdi + r8]
cmp r12, rax
ja 0x1400037b0
cmp rdi, r12
ja 0x1400037a8
mov rsi, rbx
jmp 0x1400037b3
mov rsi, rdi
sub rsi, r12
jmp 0x1400037b3
mov rsi, r14
lea rcx, [rdi + 4]
inc r8
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov r8, rsi
mov rdx, r12
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rdi + rsi]
sub r14, rsi
lea rdx, [r12 + 4]
add rdx, rsi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rsp + 0x50]
jmp 0x140003800
mov qword [rsp + 0x28], r14
mov rdx, r14
lea rcx, [rsp + 0x50]
call fcn.140008a50
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x48], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov dword [rbp - 0x38], 0x7f
mov rdx, r15
lea rcx, [rbp - 0x58]
call fcn.140002fd0
movzx edi, al
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x140003881
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000387c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000387c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009bac
movdqa xmm0, xmmword [0x14000bd50]
movdqu xmmword [rbp - 0x48], xmm0
mov byte [rbp - 0x58], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x1400038da
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400038cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400038cd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009bac
movdqa xmm0, xmmword [0x14000bd50]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x14000392a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003925
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003925
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009bac
movdqa xmm0, xmmword [0x14000bd40]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x30], bx
mov rdx, qword [rbp - 0x78]
cmp rdx, 7
jbe 0x140003981
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000397c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000397c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009bac
test dil, dil
je 0x140003e0b
movups xmm0, xmmword [str.eh_TMK28]
movups xmmword [rsp + 0x70], xmm0
movups xmm1, xmmword [0x14000bb18]
movups xmmword [rbp - 0x80], xmm1
movups xmm0, xmmword [0x14000bb28]
movups xmmword [rbp - 0x70], xmm0
mov eax, dword [str._nIg_]
mov dword [rbp - 0x60], eax
movzx eax, byte [0x14000bb3c]
mov byte [rbp - 0x5c], al
mov r8d, ebx
movdqa xmm6, xmmword [0x14000bda0]
mov edi, dword [0x140010090]
cmp edi, 2
jl 0x140003af7
movdqa xmm4, xmmword [0x14000bd70]
movdqa xmm3, xmmword [0x14000bdc0]
movdqa xmm5, xmmword [0x14000bd90]
movdqa xmm0, xmmword [0x14000bdb0]
movdqa xmmword [rbp - 0x10], xmm0
lea rcx, [rsp + 0x74]
mov edx, dword [rbp - 0x10]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x30
jl 0x140003a10
cmp r8d, 0x35
jge 0x140003b40
movsxd rax, r8d
lea r9, [rsp + 0x70]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x39
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x35
jl 0x140003b10
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
lea rax, [rsp + 0x70]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140003b60
lea rdx, [rsp + 0x70]
lea rcx, [rbp]
call fcn.140008090
nop
mov r8, qword [r15 + 0x10]
cmp qword [r15 + 0x18], 0xf
jbe 0x140003b87
mov r15, qword [r15]
mov rdx, r15
lea rcx, [rbp]
call fcn.1400075f0
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140015f7c], eax
jle 0x140003d7f
lea rcx, [0x140015f7c]
call fcn.1400098b8
cmp dword [0x140015f7c], 0xffffffff
jne 0x140003d7f
movsd xmm0, qword [str.wNwSZ2_46E]
movsd qword [rbp - 0x38], xmm0
mov eax, dword [0x14000baa8]
mov dword [rbp - 0x30], eax
movzx eax, byte [0x14000baac]
mov byte [rbp - 0x2c], al
cmp edi, 2
jl 0x140003cd5
movdqa xmm4, xmmword [0x14000bdc0]
movdqa xmm3, xmmword [0x14000bd70]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14000bd90]
psubd xmm3, xmm0
andps xmm3, xmm6
packuswb xmm3, xmm3
packuswb xmm3, xmm3
mov eax, dword [0x14000bdb0]
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, dword [str.wNwSZ2_46E]
xorps xmm3, xmm0
movd dword [rbp - 0x38], xmm3
movdqa xmm2, xmmword [0x14000bd80]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x14000bd90]
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x34]
xorps xmm2, xmm1
movd dword [rbp - 0x34], xmm2
mov ebx, 8
movsxd rax, ebx
lea r8, [rbp - 0x38]
add r8, rax
nop
mov eax, 0x5397829d
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, bl
sub al, cl
add al, 0x39
xor byte [r8], al
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0xd
jl 0x140003ce0
movsd xmm0, qword [str.WN_PQ]
movsd qword [rbp - 0x28], xmm0
movzx eax, word [0x14000b9a0]
mov word [rbp - 0x20], ax
cmp byte [0x14000b9a1], 0
je 0x140003d55
mov byte [rbp - 0x28], 0x6e
xor byte [rbp - 0x27], 0x3a
xor byte [rbp - 0x26], 0x3b
xor byte [rbp - 0x25], 0x3c
xor byte [rbp - 0x24], 0x3d
xor byte [rbp - 0x23], 0x3e
xor byte [rbp - 0x22], 0x3f
xor byte [rbp - 0x21], 0x40
xor byte [rbp - 0x20], 0x41
xor byte [rbp - 0x1f], 0x42
lea rcx, [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rbp - 0x38]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140015f70], rax
lea rcx, [0x140015f7c]
call fcn.14000984c
cmp qword [0x140015f70], 0
je 0x140003dc6
lea rdx, [rbp]
cmp qword [rbp + 0x18], 0xf
cmova rdx, qword [rbp]
lea rcx, [rbp - 0x10]
call qword [sym.imp.ntdll.dll_RtlInitAnsiString]
mov r8b, 1
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x28]
call qword [sym.imp.ntdll.dll_RtlAnsiStringToUnicodeString]
mov rax, qword [0x140015f70]
lea rcx, [rbp - 0x28]
call rax
test eax, eax
sete bl
jmp 0x140003dc8
xor bl, bl
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x140003e06
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003e01
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140003e01
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140009bac
movzx eax, bl
jmp 0x140003e0d
xor al, al
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400097f0
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x28]
lea rcx, str.absolute
call fcn.140002430
int3