Function at 0x18001a820
Capabilities:
Check if file exists
Get common file path
Query environment variable

Disassembly:
mov rax, rsp
push rbp
push rdi
push r14
lea rbp, [rax - 0x618]
sub rsp, 0x700
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x1800a3830]
xor rax, rsp
mov qword [rbp + 0x5f0], rax
mov r14, rdx
mov rsi, rcx
mov qword [rsp + 0x30], rdx
xor ebx, ebx
mov dword [rsp + 0x20], ebx
cmp qword [rdx + 0x10], rbx
jne 0x18001a8d3
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], rbx
cmp qword [rcx + 0x18], 8
jb 0x18001a886
mov rax, qword [rcx]
jmp 0x18001a889
mov rax, rsi
mov word [rax], bx
xor r8d, r8d
lea rdx, [0x18006de50]
call fcn.18000ae80
nop
mov r8, qword [r14 + 0x18]
cmp r8, 8
jb 0x18001a8b4
inc r8
mov rdx, qword [r14]
mov rcx, r14
call fcn.18000afd0
mov qword [r14 + 0x18], 7
mov qword [r14 + 0x10], rbx
cmp qword [r14 + 0x18], 8
jb 0x18001a8ca
mov r14, qword [r14]
mov word [r14], bx
jmp 0x18001b778
mov r11, qword [rdx + 0x18]
cmp r11, 8
jb 0x18001a8e2
mov rcx, qword [rdx]
jmp 0x18001a8e5
mov rcx, r14
mov r10, qword [rdx + 0x10]
mov r8d, 3
cmp r10, r8
cmovb r8, r10
mov r9d, 1
or rdi, 0xffffffffffffffff
test r8, r8
je 0x18001a933
lea rdx, [0x180071f40]
nop dword [rax]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x18001a927
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x18001a910
jmp 0x18001a933
mov r8d, r9d
cmp word [rcx], ax
cmovb r8d, edi
jmp 0x18001a936
mov r8d, ebx
test r8d, r8d
jne 0x18001a9cd
cmp r10, 3
jne 0x18001a9cd
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.18004f700
xor r9d, r9d
lea r8d, [r9 + 0x26]
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.18001c0b0
lea rcx, [rbp - 0x40]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001a974
mov eax, dword [0x18006effc]
mov dword [rcx], eax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x18001a99e
mov rax, qword [rsi]
jmp 0x18001a9a1
mov rax, rsi
mov word [rax], bx
cmp word [rbp - 0x40], 0
jne 0x18001a9b0
mov rdi, rbx
jmp 0x18001a9be
lea rax, [rbp - 0x40]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x18001a9b4
mov r8, rdi
lea rdx, [rbp - 0x40]
mov rcx, rsi
jmp 0x18001a896
cmp r11, 8
jb 0x18001a9d8
mov rcx, qword [r14]
jmp 0x18001a9db
mov rcx, r14
mov r8d, 3
cmp r10, r8
cmovb r8, r10
test r8, r8
je 0x18001aa17
lea rdx, [0x180071f48]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x18001aa0b
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x18001a9f4
jmp 0x18001aa17
mov r8d, r9d
cmp word [rcx], ax
cmovb r8d, edi
jmp 0x18001aa1a
mov r8d, ebx
test r8d, r8d
jne 0x18001aabe
cmp r10, 3
jne 0x18001aabe
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.18004f700
xor r9d, r9d
lea r8d, [r9 + 5]
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.18001c0b0
lea rcx, [rbp - 0x40]
sub rcx, 2
nop dword [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001aa60
mov eax, dword [0x18006effc]
mov dword [rcx], eax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x18001aa8a
mov rax, qword [rsi]
jmp 0x18001aa8d
mov rax, rsi
mov word [rax], bx
cmp word [rbp - 0x40], 0
je 0x18001aaaa
lea rax, [rbp - 0x40]
mov rbx, rdi
nop
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18001aaa0
mov r8, rbx
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.18000ae80
jmp 0x18001b770
cmp r11, 8
jb 0x18001aac9
mov rcx, qword [r14]
jmp 0x18001aacc
mov rcx, r14
mov r8d, 7
cmp r10, r8
cmovb r8, r10
test r8, r8
je 0x18001ab08
lea rdx, str.desktop
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x18001aafc
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x18001aae5
jmp 0x18001ab08
mov r8d, r9d
cmp word [rcx], ax
cmovb r8d, edi
jmp 0x18001ab0b
mov r8d, ebx
test r8d, r8d
jne 0x18001aba5
cmp r10, 7
jne 0x18001aba5
xor r9d, r9d
lea rdx, [rbp + 0x3e0]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea rcx, [rbp + 0x3e0]
sub rcx, 2
nop dword [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001ab40
mov eax, dword [0x18006effc]
mov dword [rcx], eax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x18001ab6a
mov rax, qword [rsi]
jmp 0x18001ab6d
mov rax, rsi
mov word [rax], bx
cmp word [rbp + 0x3e0], 0
je 0x18001ab8e
lea rax, [rbp + 0x3e0]
mov rbx, rdi
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18001ab84
mov r8, rbx
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.18000ae80
jmp 0x18001b770
cmp r11, 8
jb 0x18001abb0
mov rcx, qword [r14]
jmp 0x18001abb3
mov rcx, r14
mov r8d, 3
cmp r10, r8
cmovb r8, r10
test r8, r8
je 0x18001abf3
lea rdx, [0x180071f60]
nop dword [rax]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x18001abe7
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x18001abd0
jmp 0x18001abf3
mov r8d, r9d
cmp word [rcx], ax
cmovb r8d, edi
jmp 0x18001abf6
mov r8d, ebx
test r8d, r8d
jne 0x18001ac95
cmp r10, 3
jne 0x18001ac95
xor r9d, r9d
lea r8d, [r10 + 3]
lea rdx, [rbp + 0x3e0]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea rcx, [rbp + 0x3e0]
sub rcx, 2
nop word [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001ac30
mov eax, dword [0x18006effc]
mov dword [rcx], eax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x18001ac5a
mov rax, qword [rsi]
jmp 0x18001ac5d
mov rax, rsi
mov word [rax], bx
cmp word [rbp + 0x3e0], 0
je 0x18001ac7e
lea rax, [rbp + 0x3e0]
mov rbx, rdi
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18001ac74
mov r8, rbx
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.18000ae80
jmp 0x18001b770
cmp r11, 8
jb 0x18001aca0
mov rcx, qword [r14]
jmp 0x18001aca3
mov rcx, r14
mov r8d, 7
cmp r10, r8
cmovb r8, r10
test r8, r8
je 0x18001ace3
lea rdx, str.program
nop dword [rax]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x18001acd7
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x18001acc0
jmp 0x18001ace3
mov r8d, r9d
cmp word [rcx], ax
cmovb r8d, edi
jmp 0x18001ace6
mov r8d, ebx
test r8d, r8d
jne 0x18001ae4e
cmp r10, 7
jne 0x18001ae4e
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.18004f700
xor r9d, r9d
lea r8d, [r9 + 0x26]
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.18001c0b0
lea rcx, [rbp - 0x40]
mov rax, rdi
inc rax
cmp word [rcx + rax*2], 0
jne 0x18001ad23
cmp eax, 3
jl 0x18001ae01
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3e0]
call fcn.18004f700
mov r8d, 3
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x3e0]
call fcn.1800573f0
lea rcx, [rbp + 0x3e0]
sub rcx, 2
nop dword [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001ad70
movups xmm0, xmmword [str.Program_Files_]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x180071f88]
movsd qword [rcx + 0x10], xmm1
mov eax, dword [0x180071f90]
mov dword [rcx + 0x18], eax
movzx eax, word [0x180071f94]
mov word [rcx + 0x1c], ax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x18001adbd
mov rax, qword [rsi]
jmp 0x18001adc0
mov rax, rsi
mov word [rax], bx
cmp word [rbp + 0x3e0], 0
je 0x18001adea
lea rax, [rbp + 0x3e0]
mov rbx, rdi
nop word [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18001ade0
mov r8, rbx
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.18000ae80
jmp 0x18001b770
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x18001ae19
mov rax, qword [rsi]
jmp 0x18001ae1c
mov rax, rsi
mov word [rax], bx
cmp word [rbp - 0x40], 0
je 0x18001ae3a
lea rax, [rbp - 0x40]
mov rbx, rdi
nop dword [rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18001ae30
mov r8, rbx
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.18000ae80
jmp 0x18001b770
cmp r11, 8
jb 0x18001ae59
mov rcx, qword [r14]
jmp 0x18001ae5c
mov rcx, r14
mov r8d, 4
cmp r10, r8
cmovb r8, r10
test r8, r8
je 0x18001ae92
lea rdx, str.curr
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x18001ae8c
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x18001ae75
jmp 0x18001ae92
cmovb r9d, edi
jmp 0x18001ae95
mov r9d, ebx
test r9d, r9d
jne 0x18001af41
cmp r10, 4
jne 0x18001af41
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3e0]
call fcn.18004f700
mov r8d, 0x104
lea rdx, [rbp + 0x3e0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edx, 0x5c
lea rcx, [rbp + 0x3e0]
call fcn.18005126c
mov word [rax + 2], bx
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x18001aefe
mov rax, qword [rsi]
jmp 0x18001af01
mov rax, rsi
mov word [rax], bx
cmp word [rbp + 0x3e0], 0
je 0x18001af2a
lea rax, [rbp + 0x3e0]
mov rbx, rdi
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18001af20
mov r8, rbx
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.18000ae80
jmp 0x18001b770
lea rdx, str.temp
mov rcx, r14
call fcn.18001a380
test al, al
je 0x18001b047
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.18004f700
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3e0]
call fcn.18004f700
call fcn.18001b970
test al, al
je 0x18001afdc
xor r9d, r9d
lea r8d, [r9 + 0x1c]
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.18001c0b0
test eax, eax
je 0x18001b036
lea rcx, [rbp - 0x40]
sub rcx, 2
nop dword [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001afb0
movsd xmm0, qword [str.Temp_]
movsd qword [rcx], xmm0
mov eax, dword [0x180071fc0]
mov dword [rcx + 8], eax
movzx eax, word [0x180071fc4]
mov word [rcx + 0xc], ax
jmp 0x18001b036
lea rdx, [rbp + 0x3e0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov r8d, 0x104
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x3e0]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
lea rax, [rbp - 0x40]
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x18001b010
test rdi, rdi
jne 0x18001b036
mov r8d, 0x104
lea rdx, [rbp - 0x40]
lea rcx, str.TEMP
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.1800186e0
jmp 0x18001b770
lea rdx, str.recirle
mov rcx, r14
call fcn.18001a380
test al, al
je 0x18001b097
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3e0]
call fcn.18004f700
xor r9d, r9d
lea r8d, [r9 + 0xa]
lea rdx, [rbp + 0x3e0]
xor ecx, ecx
call fcn.18001c0b0
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.1800186e0
jmp 0x18001b770
lea rdx, str.downloads
mov rcx, r14
call fcn.18001a380
test al, al
je 0x18001b1a2
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.18004f700
xor r9d, r9d
lea r8d, [r9 + 0x10]
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.18001c0b0
lea rcx, [rbp - 0x40]
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x18001b0e0
test rax, rax
je 0x18001b13a
mov edx, 0x5c
lea rcx, [rbp - 0x40]
call fcn.18005126c
mov word [rax + 2], bx
lea rcx, [rbp - 0x40]
sub rcx, 2
nop dword [rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001b110
movups xmm0, xmmword [0x180072000]
movups xmmword [rcx], xmm0
mov eax, dword [0x180072010]
mov dword [rcx + 0x10], eax
movzx eax, word [0x180072014]
mov word [rcx + 0x14], ax
jmp 0x18001b191
mov r8d, 0x104
lea rdx, [rbp - 0x40]
lea rcx, str.USERPROFILE
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea rax, [rbp - 0x40]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x18001b155
test rdi, rdi
je 0x18001b191
lea rax, [rbp - 0x40]
sub rax, 2
nop dword [rax]
lea rax, [rax + 2]
cmp word [rax], 0
jne 0x18001b170
movups xmm0, xmmword [str.Downloads_]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x180072040]
movsd qword [rax + 0x10], xmm1
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.1800186e0
jmp 0x18001b770
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rbx
mov word [rsp + 0x58], bx
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x1d0]
call fcn.18004f700
mov r8d, 0x104
lea rdx, [rbp + 0x1d0]
lea rcx, str.USERPROFILE
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea rcx, [rbp + 0x1d0]
sub rcx, 2
nop
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x18001b1f0
movups xmm0, xmmword [str.AppDataLocalLow_]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x180072058]
movups xmmword [rcx + 0x10], xmm1
mov eax, dword [0x180072068]
mov dword [rcx + 0x20], eax
movzx eax, word [0x18007206c]
mov word [rcx + 0x24], ax
cmp word [rbp + 0x1d0], 0
jne 0x18001b232
mov r8, rbx
jmp 0x18001b24b
lea rax, [rbp + 0x1d0]
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x18001b240
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x58]
call fcn.18000ae80
lea rdx, str.locallow
mov rcx, r14
call fcn.18001a380
test al, al
je 0x18001b38c
xor r9d, r9d
lea r8d, [r9 + 0x1a]
lea rdx, [rbp + 0x1d0]
xor ecx, ecx
call fcn.18001c0b0
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rbx
mov word [rsp + 0x38], bx
cmp word [rbp + 0x1d0], 0
jne 0x18001b2b7
mov r8, rbx
jmp 0x18001b2cc
lea rax, [rbp + 0x1d0]
mov r8, rdi
inc r8
cmp word [rax + r8*2], 0
jne 0x18001b2c1
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x38]
call fcn.18000ae80
nop
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], rbx
mov word [rbp - 0x68], bx
mov r8d, 8
lea rdx, str.LocalLow
lea rcx, [rbp - 0x68]
call fcn.18000ae80
nop
mov qword [rbp - 0x70], 7
mov qword [rbp - 0x78], rbx
mov word [rsp + 0x78], bx
mov r8d, 7
lea rdx, str.Roaming
lea rcx, [rsp + 0x78]
call fcn.18000ae80
nop
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.18001f3c0
nop
lea rcx, [rsp + 0x78]
call fcn.180009e40
nop
lea rcx, [rbp - 0x68]
call fcn.180009e40
lea rcx, [rsp + 0x38]
cmp qword [rsp + 0x50], 8
cmovae rcx, qword [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18001b387
mov r9, rdi
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.18000ad40
nop
jmp 0x18001b6c5
lea rdx, str.roaming
mov rcx, r14
call fcn.18001a380
test al, al
jne 0x18001b582
lea rdx, str.Roaming
mov rcx, r14
call fcn.18001a380
test al, al
jne 0x18001b582
lea rdx, str.local
mov rcx, r14
call fcn.18001a380
test al, al
je 0x18001b506
xor r9d, r9d
lea r8d, [r9 + 0x1c]
lea rdx, [rbp + 0x1d0]
xor ecx, ecx
call fcn.18001c0b0
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18001b42f
cmp word [rbp + 0x1d0], 0
jne 0x18001b416
mov rdi, rbx
jmp 0x18001b5da
lea rax, [rbp + 0x1d0]
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x18001b420
jmp 0x18001b5da
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rbx
mov word [rsp + 0x38], bx
mov r9, rdi
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.18000ad40
nop
mov qword [rbp - 0x70], 7
mov qword [rbp - 0x78], rbx
mov word [rsp + 0x78], bx
mov r8d, 5
lea rdx, str.Local
lea rcx, [rsp + 0x78]
call fcn.18000ae80
nop
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], rbx
mov word [rbp - 0x68], bx
mov r8d, 8
lea rdx, str.LocalLow
lea rcx, [rbp - 0x68]
call fcn.18000ae80
nop
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x38]
call fcn.18001f3c0
nop
lea rcx, [rbp - 0x68]
call fcn.180009e40
nop
lea rcx, [rsp + 0x78]
call fcn.180009e40
lea rcx, [rsp + 0x38]
cmp qword [rsp + 0x50], 8
cmovae rcx, qword [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18001b501
mov r9, rdi
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.18000ad40
nop
jmp 0x18001b6c5
lea rdx, str.system
mov rcx, r14
call fcn.18001a380
test al, al
je 0x18001b572
xor r9d, r9d
lea r8d, [r9 + 0x25]
lea rdx, [rbp + 0x1d0]
xor ecx, ecx
call fcn.18001c0b0
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18001b6cf
cmp word [rbp + 0x1d0], 0
jne 0x18001b55f
mov rdi, rbx
jmp 0x18001b5da
lea rax, [rbp + 0x1d0]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x18001b566
jmp 0x18001b5da
mov rdx, r14
mov rcx, rsi
call fcn.18001a3d0
jmp 0x18001b765
xor r9d, r9d
lea r8d, [r9 + 0x1a]
lea rdx, [rbp + 0x1d0]
xor ecx, ecx
call fcn.18001c0b0
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18001b5f3
cmp word [rbp + 0x1d0], 0
jne 0x18001b5c4
mov rdi, rbx
jmp 0x18001b5da
lea rax, [rbp + 0x1d0]
nop dword [rax + rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x18001b5d0
mov r8, rdi
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x58]
call fcn.18000ae80
jmp 0x18001b6cf
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rbx
mov word [rsp + 0x38], bx
mov r9, rdi
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call fcn.18000ad40
nop
mov qword [rbp - 0x70], 7
mov qword [rbp - 0x78], rbx
mov word [rsp + 0x78], bx
mov r8d, 7
lea rdx, str.Roaming
lea rcx, [rsp + 0x78]
call fcn.18000ae80
nop
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], rbx
mov word [rbp - 0x68], bx
mov r8d, 8
lea rdx, str.LocalLow
lea rcx, [rbp - 0x68]
call fcn.18000ae80
nop
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x38]
call fcn.18001f3c0
nop
lea rcx, [rbp - 0x68]
call fcn.180009e40
nop
lea rcx, [rsp + 0x78]
call fcn.180009e40
lea rcx, [rsp + 0x38]
cmp qword [rsp + 0x50], 8
cmovae rcx, qword [rsp + 0x38]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18001b6c5
mov r9, rdi
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.18000ad40
nop
lea rcx, [rsp + 0x38]
call fcn.180009e40
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x18001b755
mov r9d, 8
xor r8d, r8d
lea rdx, str.system32
lea rcx, [rsp + 0x58]
call fcn.180015630
cmp rax, 0xffffffffffffffff
jne 0x18001b755
lea r9d, [rax + 0xe]
xor r8d, r8d
lea rdx, str.systemprofile
lea rcx, [rsp + 0x58]
call fcn.180015630
cmp rax, 0xffffffffffffffff
jne 0x18001b755
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x18001b740
mov rax, qword [rsi]
jmp 0x18001b743
mov rax, rsi
mov word [rax], bx
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.180012250
jmp 0x18001b765
lea rdx, [0x18006de50]
mov rcx, rsi
call fcn.1800186e0
nop
lea rcx, [rsp + 0x58]
call fcn.180009e40
nop
mov rcx, r14
call fcn.180009e40
mov rax, rsi
mov rcx, qword [rbp + 0x5f0]
xor rcx, rsp
call fcn.18002fa40
lea r11, [rsp + 0x700]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret