Function at 0x1800196c0
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 - 0x2648]
mov eax, 0x2748
call fcn.180046a00
sub rsp, rax
movaps xmmword [rsp + 0x2730], xmm6
movaps xmmword [rsp + 0x2720], xmm7
mov rax, qword [0x180090080]
xor rax, rsp
mov qword [rbp + 0x2610], rax
mov r15, r9
mov rsi, r8
mov rdi, rdx
mov r14, rcx
mov r13, qword [rbp + 0x26b8]
mov r12, qword [rbp + 0x26c0]
xor ebx, ebx
xor edx, edx
mov r8d, 0x2000
lea rcx, [rbp + 0x610]
call fcn.180048b00
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], bx
movups xmm0, xmmword [rdi]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbp - 0x68], xmm1
lea rax, [rdi + 0x10]
mov qword [rbp - 0x80], rax
mov qword [rax], rbx
mov qword [rdi + 0x18], 7
mov word [rdi], bx
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x60]
call fcn.180015a10
mov rdx, rax
mov rcx, rdi
call fcn.18000e770
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1800197ca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800197c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a9c9
call fcn.180046198
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.180015240
nop
cmp dword [0x180093dcc], 9
ja 0x1800198b2
lea r10, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae r10, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x20]
cmp rbx, 7
jb 0x1800198b2
lea r11, [rbx - 6]
lea r11, [r10 + r11*2]
mov rcx, r10
lea r9, [0x18007f800]
mov rax, r11
sub rax, rcx
sar rax, 1
mov edx, 0
je 0x18001983e
cmp word [rcx], 0x65
je 0x18001983b
cmp rax, 1
je 0x18001983e
dec rax
add rcx, 2
cmp word [rcx], 0x65
jne 0x180019828
mov rdx, rcx
mov rcx, rdx
test rdx, rdx
je 0x1800198b2
mov r8d, 7
mov rdx, r9
mov r9, rcx
lea rax, [0x18007f800]
sub r9, rax
nop dword [rax]
movzx eax, word [r9 + rdx]
cmp ax, word [rdx]
jne 0x18001994a
add rdx, 2
sub r8, 1
jne 0x180019860
sub rcx, r10
sar rcx, 1
jne 0x1800198b2
mov eax, 4
cmp rbx, rax
cmovb rax, rbx
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rcx, qword [rbp - 0x30]
sub rbx, rax
lea r8, [rbx*2 + 2]
lea rdx, [rcx + rax*2]
call fcn.180048440
mov qword [rbp - 0x20], rbx
mov r14, qword [r14 + 8]
mov rbx, qword [r14]
cmp rbx, r14
je 0x180019b68
lea rdx, [rbx + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x1800198d0
mov rdx, qword [rdx]
lea rcx, [rbp - 0x30]
call fcn.18001b2a0
cmp rax, 0xffffffffffffffff
jne 0x1800198ea
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r14
jne 0x1800198c2
cmp rbx, r14
je 0x180019b68
mov rdx, qword [rbx + 0x30]
mov r9, qword [rbx + 0x38]
cmp rdx, r9
je 0x180019953
mov rax, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 8
jb 0x18001990e
mov rsi, qword [rsi]
mov rcx, qword [rdx + 0x10]
mov r8, rdx
cmp qword [rdx + 0x18], 8
jb 0x18001991f
mov r8, qword [rdx]
cmp rcx, rax
jne 0x180019956
test rcx, rcx
je 0x180019944
sub r8, rsi
nop dword [rax]
movzx eax, word [rsi + r8]
cmp ax, word [rsi]
jne 0x180019956
add rsi, 2
sub rcx, 1
jne 0x180019930
lea rdx, [r9 - 0x20]
jmp 0x180019956
add rcx, 2
jmp 0x18001980b
mov rdx, rsi
mov rcx, rdi
call fcn.18000e6f0
mov r9, r12
mov r8, r13
mov rdx, rdi
call fcn.18001aa70
mov ebx, eax
mov ecx, 0x80000000
add eax, ecx
test ecx, eax
jne 0x18001a8fe
cmp ebx, 0xc015001d
je 0x18001a8fe
test byte [rbp + 0x26b0], 2
je 0x180019b61
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rbp + 0x10]
call fcn.180048b00
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]
mov rbx, 0xffffffffffffffff
inc rbx
cmp word [rax + rbx*2], 0
jne 0x1800199d2
mov r8, rbx
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x60]
call fcn.1800059d0
nop
mov r8d, 1
lea rdx, [0x18007f7fc]
lea rcx, [rsp + 0x60]
call fcn.18001bd90
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], 8
jb 0x180019a45
mov rdx, qword [rdi]
mov rax, qword [rbp - 0x80]
mov r8, qword [rax]
lea rcx, [rsp + 0x40]
call fcn.18001bd90
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
lea rdx, [rbp - 0x78]
mov rcx, rdi
call fcn.18000e770
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x180019ac1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019abb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a9cf
call fcn.180046198
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x180019b03
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019afe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a9d5
call fcn.180046198
movdqa xmm0, xmmword [0x180080ae0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], bx
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x18001a8fe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019b57
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a9db
call fcn.180046198
jmp 0x18001a8fe
xor ebx, ebx
jmp 0x18001a8fe
mov r14d, dword [rbp + 0x26b0]
test r14b, 1
jne 0x18001a8f9
mov r9, r12
mov r8, r13
mov rdx, rdi
call fcn.18001aa70
mov ebx, eax
mov ecx, 0x80000000
add eax, ecx
test ecx, eax
jne 0x18001a8fe
cmp ebx, 0xc015001d
je 0x18001a8fe
test r14b, 4
jne 0x18001a8f9
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x180019bbb
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor r12d, r12d
cmp eax, 0xffffffff
je 0x180019bd1
mov ebx, r12d
jmp 0x18001a901
mov qword [rbp], r12
lea r8, [rbp]
lea rdx, str.SYSTEMCurrentControlSetControlSession_ManagerKnownDLLs
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
movsxd rsi, eax
test eax, eax
jne 0x180019ce0
mov ebx, r12d
nop dword [rax + rax]
test rsi, rsi
jne 0x180019ce0
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rbp + 0x410]
call fcn.180048b00
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rbp + 0x10]
call fcn.180048b00
mov dword [rbp - 0x10], 0xff
mov dword [rbp - 8], r12d
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], r12
lea r9, [rbp - 0x10]
lea r8, [rbp + 0x410]
mov edx, ebx
mov rcx, qword [rbp]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
movsxd rsi, eax
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
lea rcx, [rbp + 0x10]
call fcn.180055b4c
test eax, eax
jne 0x180019cd2
xor edx, edx
mov r8d, 0x1fe
lea rcx, [rbp + 0x210]
call fcn.180048b00
mov dword [rbp - 0x10], 0xff
mov edx, 0xff
lea rcx, [rbp + 0x210]
test r14b, 8
je 0x180019cc3
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
jmp 0x180019cc9
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test rsi, rsi
je 0x180019fac
inc ebx
cmp ebx, 0x1000
jl 0x180019c00
mov rcx, qword [r15 + 0x10]
lea rsi, [0x18007f7fc]
test rcx, rcx
je 0x180019e0c
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 1
jb 0x18001a9e1
cmp qword [r15 + 0x18], 8
jb 0x180019d15
mov r15, qword [r15]
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
mov r9, r15
lea rcx, [rbp - 0x78]
call fcn.18001bc50
nop
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp - 0x78]
call fcn.18001bd90
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x180019da7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019da2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a9f9
call fcn.180046198
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x180019def
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019dea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a9ff
call fcn.180046198
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x18001a886
mov r8d, dword [r13 + 8]
lea rdx, [rbp - 0x78]
call fcn.18001b000
nop
mov r8d, 1
mov rdx, rsi
mov rcx, rax
call fcn.18001bd90
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], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.18001bd90
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x180019ed0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019ecb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa05
call fcn.180046198
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x180019f1a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019f15
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa0b
call fcn.180046198
movdqa xmm0, xmmword [0x180080ae0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x180019f6e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019f69
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa11
call fcn.180046198
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x18001a886
mov edx, 0x1000
lea rcx, [rbp + 0x610]
test r14b, 8
je 0x18001a16b
call qword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
jmp 0x18001a171
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
lea rax, [rbp + 0x210]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x180019fd0
lea rdx, [rbp + 0x210]
lea rcx, [rsp + 0x60]
call fcn.1800059d0
nop
mov r8d, 1
lea rdx, [0x18007f7fc]
lea rcx, [rsp + 0x60]
call fcn.18001bd90
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], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea rax, [rbp + 0x10]
nop word [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18001a040
mov r8, rbx
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x40]
call fcn.18001bd90
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea rdx, [rbp - 0x78]
mov rcx, rdi
call fcn.18000e770
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x18001a0c7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a0c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a9e7
call fcn.180046198
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x18001a109
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a104
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a9ed
call fcn.180046198
movdqa xmm0, xmmword [0x180080ae0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x18001a8de
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a15e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a9f3
call fcn.180046198
mov ebx, r12d
jmp 0x18001a8e8
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 rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp word [rax + r8*2], 0
jne 0x18001a193
lea rdx, [rbp + 0x610]
lea rcx, [rsp + 0x60]
call fcn.1800059d0
nop
mov r8d, 1
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.18001bd90
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], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.18001bd90
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x18001a268
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a263
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa17
call fcn.180046198
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x18001a2b2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a2ad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa1d
call fcn.180046198
movdqa xmm0, xmmword [0x180080ae0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x18001a308
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a303
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa23
call fcn.180046198
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x18001a886
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, rbx
inc r8
cmp word [rax + r8*2], 0
jne 0x18001a352
lea rdx, [rbp + 0x610]
lea rcx, [rsp + 0x60]
call fcn.1800059d0
nop
mov r8d, 1
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.18001bd90
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], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.18001bd90
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x18001a427
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a422
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa29
call fcn.180046198
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x18001a471
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a46c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa2f
call fcn.180046198
movdqa xmm0, xmmword [0x180080ae0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x18001a4c7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a4c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa35
call fcn.180046198
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x18001a886
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, rbx
inc r8
cmp word [rax + r8*2], 0
jne 0x18001a511
lea rdx, [rbp + 0x610]
lea rcx, [rsp + 0x60]
call fcn.1800059d0
nop
mov r8d, 1
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.18001bd90
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], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.18001bd90
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x18001a5e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a5e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa3b
call fcn.180046198
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x18001a630
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a62b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa41
call fcn.180046198
movdqa xmm0, xmmword [0x180080ae0]
movdqu xmmword [rsp + 0x50], xmm0
mov word [rsp + 0x40], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x18001a686
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a681
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa47
call fcn.180046198
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x18001a886
mov r8d, 0x1000
lea rdx, [rbp + 0x610]
lea rcx, str.PATH
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea rcx, [rbp + 0x610]
lea r8, [rbp - 0x58]
lea rdx, [0x18007f894]
call fcn.180056a54
test rax, rax
je 0x18001a8e3
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
mov r8, rbx
inc r8
cmp word [rax + r8*2], 0
jne 0x18001a6f2
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800059d0
nop
mov r8d, 1
mov rdx, rsi
lea rcx, [rsp + 0x60]
call fcn.18001bd90
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rsp + 0x40]
call fcn.18001bd90
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x18001a7c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a7bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa4d
call fcn.180046198
movups xmmword [rbp - 0x50], xmm6
movups xmmword [rbp - 0x40], xmm7
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x18001a80e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a809
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa53
call fcn.180046198
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x18001a864
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a85f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa59
call fcn.180046198
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x18001a886
mov rcx, qword [rbp - 0x58]
jmp 0x18001a6c4
lea rax, [rbp - 0x50]
cmp rdi, rax
je 0x18001a8de
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae r9, qword [rbp - 0x50]
mov rax, qword [rdi + 0x18]
mov rbx, qword [rbp - 0x40]
cmp rbx, rax
ja 0x18001a8d3
cmp rax, 8
jb 0x18001a8b3
mov rdi, qword [rdi]
mov rax, qword [rbp - 0x80]
mov qword [rax], rbx
lea r8, [rbx + rbx]
mov rdx, r9
mov rcx, rdi
call fcn.180048440
mov word [rdi + rbx*2], r12w
mov ebx, r12d
jmp 0x18001a8e8
mov rdx, rbx
mov rcx, rdi
call fcn.180005c00
mov ebx, r12d
jmp 0x18001a8e8
mov ebx, 0xc0000225
mov rcx, qword [rbp]
test rcx, rcx
jle 0x18001a901
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x18001a901
mov ebx, 0xc0000225
xor r12d, r12d
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x18001a941
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a93c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001aa5f
call fcn.180046198
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], r12w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x18001a98e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001a989
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a9c3
call fcn.180046198
mov eax, ebx
mov rcx, qword [rbp + 0x2610]
xor rcx, rsp
call fcn.180046170
movaps xmm6, xmmword [rsp + 0x2730]
movaps xmm7, xmmword [rsp + 0x2720]
add rsp, 0x2748
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.180001260
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
nop
call fcn.18004eae4
int3