Function at 0x140018590
Capabilities:
Check if file exists
Get common file path
Get file attributes
Query environment variable
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2658]
mov eax, 0x2758
call fcn.140045820
sub rsp, rax
movaps xmmword [rsp + 0x2740], xmm6
movaps xmmword [rsp + 0x2730], xmm7
movaps xmmword [rsp + 0x2720], xmm8
mov rax, qword [0x14008d040]
xor rax, rsp
mov qword [rbp + 0x2610], rax
mov r12, r9
mov r14, r8
mov rdi, rdx
mov r13, rcx
mov rax, qword [rbp + 0x26c8]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 0x26d0]
mov qword [rbp - 0x10], rax
xor r15d, r15d
xor edx, edx
mov r8d, 0x2000
lea rcx, [rbp + 0x610]
call fcn.14006a0f0
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r15
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r15w
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 7
mov word [rdi], r15w
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.140010700
mov rdx, rax
mov rcx, rdi
call fcn.140004950
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x1400186a7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400186a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199b5
call fcn.140044c8c
mov r8, qword [rdi + 0x10]
mov rsi, 0xffffffffffffffff
test r8, r8
je 0x140018783
mov rdx, rdi
mov r9, qword [rdi + 0x18]
cmp r9, 7
jbe 0x1400186cb
mov rdx, qword [rdi]
lea rcx, [r8 - 1]
mov rax, rsi
cmp rcx, rax
cmovb rax, rcx
lea rcx, [rdx + rax*2]
cmp word [rcx], 0x5c
je 0x1400186f2
cmp rcx, rdx
je 0x1400186fd
sub rcx, 2
cmp word [rcx], 0x5c
jne 0x1400186e3
sub rcx, rdx
sar rcx, 1
cmp rcx, rsi
jne 0x14001873b
mov rdx, rdi
cmp r9, 7
jbe 0x140018709
mov rdx, qword [rdi]
lea rcx, [r8 - 1]
mov rax, rsi
cmp rcx, rax
cmovb rax, rcx
lea rcx, [rdx + rax*2]
cmp word [rcx], 0x2f
je 0x140018730
cmp rcx, rdx
je 0x140018783
sub rcx, 2
cmp word [rcx], 0x2f
jne 0x140018721
sub rcx, rdx
sar rcx, 1
cmp rcx, rsi
je 0x140018783
inc rcx
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r15
mov rax, qword [rdi + 0x10]
cmp rax, rcx
jb 0x1400199bb
sub rax, rcx
mov r8, rsi
cmp rax, rsi
cmovb r8, rax
mov rax, rdi
cmp qword [rdi + 0x18], 7
jbe 0x140018774
mov rax, qword [rdi]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x30]
call fcn.140004fd0
jmp 0x140018790
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.14000da10
nop
cmp dword [0x1400904fc], 9
ja 0x140018872
lea r10, [rbp - 0x30]
cmp qword [rbp - 0x18], 7
cmova r10, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x20]
cmp rbx, 7
jb 0x140018872
lea r11, [rbx - 6]
lea r11, [r10 + r11*2]
mov rcx, r10
lea r9, [0x14007f150]
mov rax, r11
sub rax, rcx
sar rax, 1
mov rdx, r15
je 0x1400187f6
cmp word [rcx], 0x65
je 0x1400187f3
nop
cmp rax, 1
je 0x1400187f6
dec rax
add rcx, 2
cmp word [rcx], 0x65
jne 0x1400187e0
mov rdx, rcx
mov rcx, rdx
test rdx, rdx
je 0x140018872
mov r8d, 7
mov rdx, r9
mov r9, rcx
lea rax, [0x14007f150]
sub r9, rax
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r9 + rdx]
cmp ax, word [rdx]
jne 0x140018902
add rdx, 2
sub r8, 1
jne 0x140018820
sub rcx, r10
sar rcx, 1
jne 0x140018872
mov eax, 4
cmp rbx, rax
cmovb rax, rbx
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 7
cmova rcx, qword [rbp - 0x30]
sub rbx, rax
lea r8, [rbx*2 + 2]
lea rdx, [rcx + rax*2]
call fcn.1400699b0
mov qword [rbp - 0x20], rbx
mov r15, qword [r13 + 8]
mov rbx, qword [r15]
cmp rbx, r15
je 0x140018b23
lea rdx, [rbx + 0x10]
cmp qword [rdx + 0x18], 7
jbe 0x140018890
mov rdx, qword [rdx]
lea rcx, [rbp - 0x30]
call fcn.14001a290
cmp rax, 0xffffffffffffffff
jne 0x1400188a7
mov rbx, qword [rbx]
cmp rbx, r15
jne 0x140018882
cmp rbx, r15
je 0x140018b23
mov rdx, qword [rbx + 0x30]
cmp rdx, qword [rbx + 0x38]
je 0x14001890f
mov rax, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 7
jbe 0x1400188c8
mov r14, qword [r14]
mov rcx, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 7
jbe 0x1400188d6
mov rdx, qword [rdx]
cmp rcx, rax
jne 0x14001890b
test rcx, rcx
je 0x1400188f8
sub rdx, r14
movzx eax, word [r14 + rdx]
cmp ax, word [r14]
jne 0x14001890b
add r14, 2
sub rcx, 1
jne 0x1400188e3
mov r14, qword [rbx + 0x38]
sub r14, 0x20
jmp 0x14001890f
add rcx, 2
jmp 0x1400187c4
mov r14, qword [rbx + 0x30]
mov rcx, rdi
mov rdx, r14
call fcn.14000d990
mov r9, qword [rbp - 0x10]
mov r8, qword [rbp - 0x60]
mov rdx, rdi
call fcn.140019a60
mov ebx, eax
mov ecx, 0x80000000
add eax, ecx
test ecx, eax
jne 0x1400198d6
cmp ebx, 0xc015001d
je 0x1400198d6
test byte [rbp + 0x26c0], 2
je 0x140018b1c
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rbp + 0x10]
call fcn.14006a0f0
mov edx, 0xff
lea rcx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rbp + 0x10]
nop dword [rax]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x140018990
mov r8, rsi
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x60]
call fcn.140004fd0
nop
mov r8d, 1
lea rdx, [0x14007f14c]
lea rcx, [rsp + 0x60]
call fcn.14001ad80
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
xor ebx, ebx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
mov rdx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x140018a03
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0x40]
call fcn.14001ad80
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.140004950
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x140018a7c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018a76
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199c1
call fcn.140044c8c
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x140018abe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018ab9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199c7
call fcn.140044c8c
movdqa xmm0, xmmword [0x1400803a0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], bx
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x1400198d6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018b12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199cd
call fcn.140044c8c
jmp 0x1400198d6
xor ebx, ebx
jmp 0x1400198d6
mov r15d, dword [rbp + 0x26c0]
test r15b, 1
je 0x140018b3a
mov ebx, 0xc0000225
jmp 0x1400198d6
mov r9, qword [rbp - 0x10]
mov r13, qword [rbp - 0x60]
mov r8, r13
mov rdx, rdi
call fcn.140019a60
mov ebx, eax
mov ecx, 0x80000000
add eax, ecx
test ecx, eax
jne 0x1400198d6
cmp ebx, 0xc015001d
je 0x1400198d6
test r15b, 4
je 0x140018b7a
mov ebx, 0xc0000225
jmp 0x1400198d6
mov rcx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x140018b87
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140018b99
xor ebx, ebx
jmp 0x1400198d6
mov qword [rbp], 0
lea r8, [rbp]
lea rdx, str.SYSTEMCurrentControlSetControlSession_ManagerKnownDLLs
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
movsxd r14, eax
test eax, eax
jne 0x140018ca7
xor ebx, ebx
test r14, r14
jne 0x140018ca7
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rbp + 0x410]
call fcn.14006a0f0
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rbp + 0x10]
call fcn.14006a0f0
mov dword [rbp - 0x10], 0xff
xor ecx, ecx
mov dword [rbp - 8], ecx
lea rax, [rbp - 0x10]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x10]
lea r8, [rbp + 0x410]
mov edx, ebx
mov rcx, qword [rbp]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
movsxd r14, eax
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 7
cmova rdx, qword [rbp - 0x30]
lea rcx, [rbp + 0x10]
call fcn.14004ffbc
test eax, eax
jne 0x140018c99
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rbp + 0x210]
call fcn.14006a0f0
mov dword [rbp - 0x10], 0xff
mov edx, 0xff
lea rcx, [rbp + 0x210]
test r15b, 8
je 0x140018c8a
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
jmp 0x140018c90
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test r14, r14
je 0x140018e31
inc ebx
cmp ebx, 0x1000
jl 0x140018bc6
mov rcx, qword [r12 + 0x10]
lea rbx, [0x14007f14c]
test rcx, rcx
je 0x140018feb
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 1
jb 0x1400199d3
cmp qword [r12 + 0x18], 7
jbe 0x140018cdf
mov r12, qword [r12]
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rcx
mov r9, r12
lea rcx, [rbp - 0x80]
call fcn.14001ac40
nop
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 7
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp - 0x80]
call fcn.14001ad80
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
xor r14d, r14d
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x140018d74
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018d6f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199eb
call fcn.140044c8c
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x140018dbc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018db7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199f1
call fcn.140044c8c
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 7
cmova rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140018fee
lea rax, [rbp - 0x50]
cmp rdi, rax
je 0x1400199a7
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 7
cmova r9, qword [rbp - 0x50]
mov rax, qword [rdi + 0x18]
mov rbx, qword [rbp - 0x40]
cmp rbx, rax
ja 0x14001999c
cmp rax, 7
mov rsi, rdi
jbe 0x140018e11
mov rsi, qword [rdi]
mov qword [rdi + 0x10], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rsi
call fcn.1400699b0
mov word [rsi + rbx*2], r14w
mov ebx, r14d
jmp 0x1400198c6
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rbp + 0x210]
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140018e50
lea rdx, [rbp + 0x210]
lea rcx, [rsp + 0x60]
call fcn.140004fd0
nop
mov r8d, 1
lea rdx, [0x14007f14c]
lea rcx, [rsp + 0x60]
call fcn.14001ad80
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
xor r14d, r14d
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
lea rax, [rbp + 0x10]
nop dword [rax]
inc rsi
cmp word [rax + rsi*2], 0
jne 0x140018ec0
mov r8, rsi
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x40]
call fcn.14001ad80
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.140004950
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x140018f47
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018f41
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199d9
call fcn.140044c8c
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x140018f89
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018f84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199df
call fcn.140044c8c
movdqa xmm0, xmmword [0x1400803a0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r14w
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x1400199a7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018fde
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199e5
call fcn.140044c8c
mov ebx, r14d
jmp 0x1400198c6
xor r14d, r14d
mov r8d, dword [r13 + 8]
lea rdx, [rbp - 0x80]
call fcn.140019ff0
nop
mov r8d, 1
mov rdx, rbx
mov rcx, rax
call fcn.14001ad80
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 7
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.14001ad80
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x1400190b2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400190ad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199f7
call fcn.140044c8c
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x1400190fc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400190f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199fd
call fcn.140044c8c
movdqa xmm6, xmmword [0x1400803a0]
movdqu xmmword [rsp + 0x50], xmm6
mov word [rsp + 0x40], r14w
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x140019150
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001914b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a03
call fcn.140044c8c
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 7
cmova rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140018dd9
mov edx, 0x1000
lea rcx, [rbp + 0x610]
test r15b, 8
je 0x140019187
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
jmp 0x14001918d
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rbp + 0x610]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400191b0
lea rdx, [rbp + 0x610]
lea rcx, [rsp + 0x60]
call fcn.140004fd0
nop
mov r8d, 1
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.14001ad80
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 7
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.14001ad80
movups xmm7, xmmword [rax]
movups xmm8, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x140019286
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019281
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a09
call fcn.140044c8c
movups xmmword [rbp - 0x50], xmm7
movups xmmword [rbp - 0x40], xmm8
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x1400192d1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400192cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a0f
call fcn.140044c8c
movdqu xmmword [rsp + 0x50], xmm6
mov word [rsp + 0x40], r14w
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14001931f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001931a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a15
call fcn.140044c8c
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 7
cmova rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140018dd9
mov edx, 0x1000
lea rcx, [rbp + 0x610]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rbp + 0x610]
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140019370
lea rdx, [rbp + 0x610]
lea rcx, [rsp + 0x60]
call fcn.140004fd0
nop
mov r8d, 1
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.14001ad80
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 7
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.14001ad80
movups xmm7, xmmword [rax]
movups xmm8, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x140019446
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019441
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a1b
call fcn.140044c8c
movups xmmword [rbp - 0x50], xmm7
movups xmmword [rbp - 0x40], xmm8
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x140019491
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001948c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a21
call fcn.140044c8c
movdqu xmmword [rsp + 0x50], xmm6
mov word [rsp + 0x40], r14w
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x1400194df
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400194da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a27
call fcn.140044c8c
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 7
cmova rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140018dd9
lea rdx, [rbp + 0x610]
mov ecx, 0x1000
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rbp + 0x610]
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140019530
lea rdx, [rbp + 0x610]
lea rcx, [rsp + 0x60]
call fcn.140004fd0
nop
mov r8d, 1
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.14001ad80
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 7
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.14001ad80
movups xmm7, xmmword [rax]
movups xmm8, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x140019606
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019601
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a2d
call fcn.140044c8c
movups xmmword [rbp - 0x50], xmm7
movups xmmword [rbp - 0x40], xmm8
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x140019651
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001964c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a33
call fcn.140044c8c
movdqu xmmword [rsp + 0x50], xmm6
mov word [rsp + 0x40], r14w
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14001969f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001969a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a39
call fcn.140044c8c
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 7
cmova rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140018dd9
mov r8d, 0x1000
lea rdx, [rbp + 0x610]
lea rcx, str.PATH
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea r8, [rbp - 0x58]
lea rdx, [0x14007f1e4]
lea rcx, [rbp + 0x610]
call fcn.140050f3c
test rax, rax
je 0x1400198c1
nop word [rax + rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x140019715
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140004fd0
nop
mov r8d, 1
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.14001ad80
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 7
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.14001ad80
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 7
mov word [rax], r14w
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x1400197e7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400197e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a45
call fcn.140044c8c
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
mov rdx, qword [rsp + 0x58]
cmp rdx, 7
jbe 0x140019831
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001982c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a4b
call fcn.140044c8c
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r14w
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x140019887
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019882
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a51
call fcn.140044c8c
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 7
cmova rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x140018dd9
lea r8, [rbp - 0x58]
lea rdx, [0x14007f1e4]
mov rcx, qword [rbp - 0x58]
call fcn.140050f3c
test rax, rax
jne 0x140019700
mov ebx, 0xc0000225
mov rcx, qword [rbp]
test rcx, rcx
jle 0x1400198d6
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 7
jbe 0x140019916
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140019911
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140019a3f
call fcn.140044c8c
xor eax, eax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], ax
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x140019964
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001995f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400199af
call fcn.140044c8c
mov eax, ebx
mov rcx, qword [rbp + 0x2610]
xor rcx, rsp
call fcn.1400449f0
lea r11, [rsp + 0x2758]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rdx, rbx
mov rcx, rdi
call fcn.14000de50
mov ebx, r14d
jmp 0x1400198c6
call fcn.14004fe58
nop
call fcn.14004fe58
int3
call fcn.1400049f0
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.1400014b0
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
nop
call fcn.14004fe58
int3