Function at 0x140008ad0
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 [0x14004a1a0]
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 0x140008b83
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], rbx
cmp qword [rcx + 0x18], 8
jb 0x140008b36
mov rax, qword [rcx]
jmp 0x140008b39
mov rax, rsi
mov word [rax], bx
xor r8d, r8d
lea rdx, [0x140032910]
call fcn.140003190
nop
mov r8, qword [r14 + 0x18]
cmp r8, 8
jb 0x140008b64
inc r8
mov rdx, qword [r14]
mov rcx, r14
call fcn.140003370
mov qword [r14 + 0x18], 7
mov qword [r14 + 0x10], rbx
cmp qword [r14 + 0x18], 8
jb 0x140008b7a
mov r14, qword [r14]
mov word [r14], bx
jmp 0x140009a28
mov r11, qword [rdx + 0x18]
cmp r11, 8
jb 0x140008b92
mov rcx, qword [rdx]
jmp 0x140008b95
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 0x140008be3
lea rdx, [0x140035140]
nop dword [rax]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x140008bd7
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x140008bc0
jmp 0x140008be3
mov r8d, r9d
cmp word [rcx], ax
cmovb r8d, edi
jmp 0x140008be6
mov r8d, ebx
test r8d, r8d
jne 0x140008c7d
cmp r10, 3
jne 0x140008c7d
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.140017c40
xor r9d, r9d
lea r8d, [r9 + 0x26]
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.14000a360
lea rcx, [rbp - 0x40]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x140008c24
mov eax, dword [0x140032be0]
mov dword [rcx], eax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x140008c4e
mov rax, qword [rsi]
jmp 0x140008c51
mov rax, rsi
mov word [rax], bx
cmp word [rbp - 0x40], 0
jne 0x140008c60
mov rdi, rbx
jmp 0x140008c6e
lea rax, [rbp - 0x40]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140008c64
mov r8, rdi
lea rdx, [rbp - 0x40]
mov rcx, rsi
jmp 0x140008b46
cmp r11, 8
jb 0x140008c88
mov rcx, qword [r14]
jmp 0x140008c8b
mov rcx, r14
mov r8d, 3
cmp r10, r8
cmovb r8, r10
test r8, r8
je 0x140008cc7
lea rdx, [0x140035148]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x140008cbb
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x140008ca4
jmp 0x140008cc7
mov r8d, r9d
cmp word [rcx], ax
cmovb r8d, edi
jmp 0x140008cca
mov r8d, ebx
test r8d, r8d
jne 0x140008d6e
cmp r10, 3
jne 0x140008d6e
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.140017c40
xor r9d, r9d
lea r8d, [r9 + 5]
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.14000a360
lea rcx, [rbp - 0x40]
sub rcx, 2
nop dword [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x140008d10
mov eax, dword [0x140032be0]
mov dword [rcx], eax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x140008d3a
mov rax, qword [rsi]
jmp 0x140008d3d
mov rax, rsi
mov word [rax], bx
cmp word [rbp - 0x40], 0
je 0x140008d5a
lea rax, [rbp - 0x40]
mov rbx, rdi
nop
inc rbx
cmp word [rax + rbx*2], 0
jne 0x140008d50
mov r8, rbx
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140003190
jmp 0x140009a20
cmp r11, 8
jb 0x140008d79
mov rcx, qword [r14]
jmp 0x140008d7c
mov rcx, r14
mov r8d, 7
cmp r10, r8
cmovb r8, r10
test r8, r8
je 0x140008db8
lea rdx, str.desktop
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x140008dac
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x140008d95
jmp 0x140008db8
mov r8d, r9d
cmp word [rcx], ax
cmovb r8d, edi
jmp 0x140008dbb
mov r8d, ebx
test r8d, r8d
jne 0x140008e55
cmp r10, 7
jne 0x140008e55
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 0x140008df0
mov eax, dword [0x140032be0]
mov dword [rcx], eax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x140008e1a
mov rax, qword [rsi]
jmp 0x140008e1d
mov rax, rsi
mov word [rax], bx
cmp word [rbp + 0x3e0], 0
je 0x140008e3e
lea rax, [rbp + 0x3e0]
mov rbx, rdi
inc rbx
cmp word [rax + rbx*2], 0
jne 0x140008e34
mov r8, rbx
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.140003190
jmp 0x140009a20
cmp r11, 8
jb 0x140008e60
mov rcx, qword [r14]
jmp 0x140008e63
mov rcx, r14
mov r8d, 3
cmp r10, r8
cmovb r8, r10
test r8, r8
je 0x140008ea3
lea rdx, [0x140035160]
nop dword [rax]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x140008e97
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x140008e80
jmp 0x140008ea3
mov r8d, r9d
cmp word [rcx], ax
cmovb r8d, edi
jmp 0x140008ea6
mov r8d, ebx
test r8d, r8d
jne 0x140008f45
cmp r10, 3
jne 0x140008f45
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 0x140008ee0
mov eax, dword [0x140032be0]
mov dword [rcx], eax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x140008f0a
mov rax, qword [rsi]
jmp 0x140008f0d
mov rax, rsi
mov word [rax], bx
cmp word [rbp + 0x3e0], 0
je 0x140008f2e
lea rax, [rbp + 0x3e0]
mov rbx, rdi
inc rbx
cmp word [rax + rbx*2], 0
jne 0x140008f24
mov r8, rbx
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.140003190
jmp 0x140009a20
cmp r11, 8
jb 0x140008f50
mov rcx, qword [r14]
jmp 0x140008f53
mov rcx, r14
mov r8d, 7
cmp r10, r8
cmovb r8, r10
test r8, r8
je 0x140008f93
lea rdx, str.program
nop dword [rax]
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x140008f87
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x140008f70
jmp 0x140008f93
mov r8d, r9d
cmp word [rcx], ax
cmovb r8d, edi
jmp 0x140008f96
mov r8d, ebx
test r8d, r8d
jne 0x1400090fe
cmp r10, 7
jne 0x1400090fe
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.140017c40
xor r9d, r9d
lea r8d, [r9 + 0x26]
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.14000a360
lea rcx, [rbp - 0x40]
mov rax, rdi
inc rax
cmp word [rcx + rax*2], 0
jne 0x140008fd3
cmp eax, 3
jl 0x1400090b1
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3e0]
call fcn.140017c40
mov r8d, 3
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x3e0]
call fcn.14001da04
lea rcx, [rbp + 0x3e0]
sub rcx, 2
nop dword [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x140009020
movups xmm0, xmmword [str.Program_Files_]
movups xmmword [rcx], xmm0
movsd xmm1, qword [0x140035188]
movsd qword [rcx + 0x10], xmm1
mov eax, dword [0x140035190]
mov dword [rcx + 0x18], eax
movzx eax, word [0x140035194]
mov word [rcx + 0x1c], ax
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x14000906d
mov rax, qword [rsi]
jmp 0x140009070
mov rax, rsi
mov word [rax], bx
cmp word [rbp + 0x3e0], 0
je 0x14000909a
lea rax, [rbp + 0x3e0]
mov rbx, rdi
nop word [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x140009090
mov r8, rbx
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.140003190
jmp 0x140009a20
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x1400090c9
mov rax, qword [rsi]
jmp 0x1400090cc
mov rax, rsi
mov word [rax], bx
cmp word [rbp - 0x40], 0
je 0x1400090ea
lea rax, [rbp - 0x40]
mov rbx, rdi
nop dword [rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x1400090e0
mov r8, rbx
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140003190
jmp 0x140009a20
cmp r11, 8
jb 0x140009109
mov rcx, qword [r14]
jmp 0x14000910c
mov rcx, r14
mov r8d, 4
cmp r10, r8
cmovb r8, r10
test r8, r8
je 0x140009142
lea rdx, str.curr
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x14000913c
add rcx, 2
add rdx, 2
sub r8, r9
jne 0x140009125
jmp 0x140009142
cmovb r9d, edi
jmp 0x140009145
mov r9d, ebx
test r9d, r9d
jne 0x1400091f1
cmp r10, 4
jne 0x1400091f1
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3e0]
call fcn.140017c40
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.140017de0
mov word [rax + 2], bx
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x1400091ae
mov rax, qword [rsi]
jmp 0x1400091b1
mov rax, rsi
mov word [rax], bx
cmp word [rbp + 0x3e0], 0
je 0x1400091da
lea rax, [rbp + 0x3e0]
mov rbx, rdi
nop dword [rax + rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x1400091d0
mov r8, rbx
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.140003190
jmp 0x140009a20
lea rdx, str.temp
mov rcx, r14
call fcn.1400085e0
test al, al
je 0x1400092f7
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.140017c40
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3e0]
call fcn.140017c40
call fcn.140009c20
test al, al
je 0x14000928c
xor r9d, r9d
lea r8d, [r9 + 0x1c]
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.14000a360
test eax, eax
je 0x1400092e6
lea rcx, [rbp - 0x40]
sub rcx, 2
nop dword [rax + rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x140009260
movsd xmm0, qword [str.Temp_]
movsd qword [rcx], xmm0
mov eax, dword [0x1400351c0]
mov dword [rcx + 8], eax
movzx eax, word [0x1400351c4]
mov word [rcx + 0xc], ax
jmp 0x1400092e6
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 0x1400092c0
test rdi, rdi
jne 0x1400092e6
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.140008660
jmp 0x140009a20
lea rdx, str.recirle
mov rcx, r14
call fcn.1400085e0
test al, al
je 0x140009347
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3e0]
call fcn.140017c40
xor r9d, r9d
lea r8d, [r9 + 0xa]
lea rdx, [rbp + 0x3e0]
xor ecx, ecx
call fcn.14000a360
lea rdx, [rbp + 0x3e0]
mov rcx, rsi
call fcn.140008660
jmp 0x140009a20
lea rdx, str.downloads
mov rcx, r14
call fcn.1400085e0
test al, al
je 0x140009452
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp - 0x40]
call fcn.140017c40
xor r9d, r9d
lea r8d, [r9 + 0x10]
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.14000a360
lea rcx, [rbp - 0x40]
mov rax, rdi
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140009390
test rax, rax
je 0x1400093ea
mov edx, 0x5c
lea rcx, [rbp - 0x40]
call fcn.140017de0
mov word [rax + 2], bx
lea rcx, [rbp - 0x40]
sub rcx, 2
nop dword [rax]
lea rcx, [rcx + 2]
cmp word [rcx], 0
jne 0x1400093c0
movups xmm0, xmmword [0x140035200]
movups xmmword [rcx], xmm0
mov eax, dword [0x140035210]
mov dword [rcx + 0x10], eax
movzx eax, word [0x140035214]
mov word [rcx + 0x14], ax
jmp 0x140009441
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 0x140009405
test rdi, rdi
je 0x140009441
lea rax, [rbp - 0x40]
sub rax, 2
nop dword [rax]
lea rax, [rax + 2]
cmp word [rax], 0
jne 0x140009420
movups xmm0, xmmword [str.Downloads_]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140035240]
movsd qword [rax + 0x10], xmm1
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140008660
jmp 0x140009a20
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.140017c40
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 0x1400094a0
movups xmm0, xmmword [str.AppDataLocalLow_]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140035258]
movups xmmword [rcx + 0x10], xmm1
mov eax, dword [0x140035268]
mov dword [rcx + 0x20], eax
movzx eax, word [0x14003526c]
mov word [rcx + 0x24], ax
cmp word [rbp + 0x1d0], 0
jne 0x1400094e2
mov r8, rbx
jmp 0x1400094fb
lea rax, [rbp + 0x1d0]
mov r8, rdi
nop dword [rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400094f0
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x58]
call fcn.140003190
lea rdx, str.locallow
mov rcx, r14
call fcn.1400085e0
test al, al
je 0x14000963c
xor r9d, r9d
lea r8d, [r9 + 0x1a]
lea rdx, [rbp + 0x1d0]
xor ecx, ecx
call fcn.14000a360
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 0x140009567
mov r8, rbx
jmp 0x14000957c
lea rax, [rbp + 0x1d0]
mov r8, rdi
inc r8
cmp word [rax + r8*2], 0
jne 0x140009571
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x38]
call fcn.140003190
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.140003190
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.140003190
nop
lea r8, [rbp - 0x68]
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x38]
call fcn.14000b2c0
nop
lea rcx, [rsp + 0x78]
call fcn.140012300
nop
lea rcx, [rbp - 0x68]
call fcn.140012300
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 0x140009637
mov r9, rdi
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.140003050
nop
jmp 0x140009975
lea rdx, str.roaming
mov rcx, r14
call fcn.1400085e0
test al, al
jne 0x140009832
lea rdx, str.Roaming
mov rcx, r14
call fcn.1400085e0
test al, al
jne 0x140009832
lea rdx, str.local
mov rcx, r14
call fcn.1400085e0
test al, al
je 0x1400097b6
xor r9d, r9d
lea r8d, [r9 + 0x1c]
lea rdx, [rbp + 0x1d0]
xor ecx, ecx
call fcn.14000a360
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 0x1400096df
cmp word [rbp + 0x1d0], 0
jne 0x1400096c6
mov rdi, rbx
jmp 0x14000988a
lea rax, [rbp + 0x1d0]
nop dword [rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400096d0
jmp 0x14000988a
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.140003050
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.140003190
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.140003190
nop
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x38]
call fcn.14000b2c0
nop
lea rcx, [rbp - 0x68]
call fcn.140012300
nop
lea rcx, [rsp + 0x78]
call fcn.140012300
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 0x1400097b1
mov r9, rdi
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.140003050
nop
jmp 0x140009975
lea rdx, str.system
mov rcx, r14
call fcn.1400085e0
test al, al
je 0x140009822
xor r9d, r9d
lea r8d, [r9 + 0x25]
lea rdx, [rbp + 0x1d0]
xor ecx, ecx
call fcn.14000a360
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 0x14000997f
cmp word [rbp + 0x1d0], 0
jne 0x14000980f
mov rdi, rbx
jmp 0x14000988a
lea rax, [rbp + 0x1d0]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140009816
jmp 0x14000988a
mov rdx, r14
mov rcx, rsi
call fcn.140008630
jmp 0x140009a15
xor r9d, r9d
lea r8d, [r9 + 0x1a]
lea rdx, [rbp + 0x1d0]
xor ecx, ecx
call fcn.14000a360
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 0x1400098a3
cmp word [rbp + 0x1d0], 0
jne 0x140009874
mov rdi, rbx
jmp 0x14000988a
lea rax, [rbp + 0x1d0]
nop dword [rax + rax]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140009880
mov r8, rdi
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x58]
call fcn.140003190
jmp 0x14000997f
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.140003050
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.140003190
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.140003190
nop
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x38]
call fcn.14000b2c0
nop
lea rcx, [rbp - 0x68]
call fcn.140012300
nop
lea rcx, [rsp + 0x78]
call fcn.140012300
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 0x140009975
mov r9, rdi
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.140003050
nop
lea rcx, [rsp + 0x38]
call fcn.140012300
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 0x140009a05
mov r9d, 8
xor r8d, r8d
lea rdx, str.system32
lea rcx, [rsp + 0x58]
call fcn.1400039e0
cmp rax, 0xffffffffffffffff
jne 0x140009a05
lea r9d, [rax + 0xe]
xor r8d, r8d
lea rdx, str.systemprofile
lea rcx, [rsp + 0x58]
call fcn.1400039e0
cmp rax, 0xffffffffffffffff
jne 0x140009a05
mov qword [rsi + 0x18], 7
mov qword [rsi + 0x10], rbx
cmp qword [rsi + 0x18], 8
jb 0x1400099f0
mov rax, qword [rsi]
jmp 0x1400099f3
mov rax, rsi
mov word [rax], bx
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.140002b10
jmp 0x140009a15
lea rdx, [0x140032910]
mov rcx, rsi
call fcn.140008660
nop
lea rcx, [rsp + 0x58]
call fcn.140012300
nop
mov rcx, r14
call fcn.140012300
mov rax, rsi
mov rcx, qword [rbp + 0x5f0]
xor rcx, rsp
call fcn.140013270
lea r11, [rsp + 0x700]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret