Function at 0x140001720
Capabilities:
Get common file path

Disassembly:
push r15
mov eax, 0x10f8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.140004210
sub rsp, rax
xor r14d, r14d
mov word [rcx], r14w
movzx eax, word [rdx]
mov rbx, rcx
mov rsi, r8
test ax, ax
je 0x1400017a9
lea rdi, [rdx + 2]
lea r12, str.TEMP
xor edx, edx
jmp 0x140001773
mov word [rdx], ax
add rdx, 2
movzx eax, word [rdi]
add rdi, 2
test ax, ax
je 0x1400017a9
cmp ax, 0x7b
je 0x1400017d0
cmp ax, 0x7d
je 0x1400017f0
test rdx, rdx
jne 0x140001760
test rsi, rsi
je 0x140001a0d
xor ecx, ecx
mov word [rbx], ax
sub rsi, 1
add rbx, 2
mov word [rbx], cx
movzx eax, word [rdi]
add rdi, 2
test ax, ax
jne 0x140001773
xor eax, eax
mov word [rbx], ax
mov eax, 1
add rsp, 0x10f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r13d, r13d
lea rdx, [rsp + 0x8f0]
mov word [rsp + 0x8f0], r13w
jmp 0x140001767
xor ebp, ebp
mov word [rdx], bp
lea rbp, [rsp + 0x8f0]
mov rdx, r12
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x140001a18
lea rdx, [0x14000c098]
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x140001a70
lea rdx, str.PROGRAM_BASE
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x1400019e8
lea rdx, [0x14000c0e0]
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x140001cf0
lea rdx, [0x14000c0ec]
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x140001c50
lea rdx, str.CACHE_DIR
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x140001af8
lea rdx, str.COMPANY
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x140001dd3
lea rdx, str.PRODUCT
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x140001e38
lea rdx, str.VERSION
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
je 0x140001be0
lea rdx, str.TIME
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
jne 0x140001a0d
lea rcx, [rsp + 0x48]
lea r15, [rsp + 0x4f0]
mov qword [rsp + 0x48], 0
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov r9, qword [rsp + 0x48]
mov edx, 0x400
mov rcx, r15
lea r8, str._lld
call fcn.140001700
cmp word [rbx], 0
je 0x140001eb4
mov rbp, rsi
mov r9, rbx
nop dword [rax]
add r9, 2
sub rbp, 1
cmp word [r9], 0
jne 0x140001928
movzx r8d, byte [rsp + 0x4f0]
test r8b, r8b
je 0x140001aec
add rbp, r15
lea r14, [rsp + 0x2e0]
nop dword [rax]
mov rax, rbp
mov r13, r9
sub rax, r15
cmp word [r9], 0
je 0x140001980
nop dword [rax + rax]
add r13, 2
sub rax, 1
cmp word [r13], 0
jne 0x140001970
mov byte [rsp + 0x38], r8b
mov qword [rsp + 0x30], r9
test rax, rax
je 0x14000a7d0
mov rcx, r13
add r15, 1
call sub.msvcrt.dll_wcslen
movzx r8d, byte [rsp + 0x38]
mov rdx, r14
mov byte [rsp + 0x2e1], 0
lea rcx, [r13 + rax*2]
mov byte [rsp + 0x2e0], r8b
mov r8d, 2
call sub.msvcrt.dll_mbstowcs
mov r9, qword [rsp + 0x30]
movzx r8d, byte [r15]
add r9, 2
test r8b, r8b
jne 0x140001958
jmp 0x140001ae2
mov rcx, rbx
call sub.msvcrt.dll_wcslen
mov r8, rsi
lea rdx, str.PROGRAM
mov rcx, rbx
sub r8, rax
call fcn.140001720
test al, al
jne 0x140001b99
xor eax, eax
jmp 0x1400017b3
mov rdx, rbx
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp word [rbx], 0
je 0x140001a5f
mov eax, 1
nop
add rbx, 2
sub rsi, 1
cmp word [rbx], 0
jne 0x140001a30
test al, al
jne 0x140001a5f
xor edx, edx
jmp 0x140001767
sub rbx, 2
xor r8d, r8d
add rsi, 1
mov word [rbx], r8w
cmp word [rbx - 2], 0x5c
je 0x140001a50
xor edx, edx
jmp 0x140001767
mov rax, qword [sym.imp.msvcrt.dll___wargv]
cmp word [rbx], 0
mov rdx, rsi
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, qword [rax]
mov rax, rbx
je 0x140001a9e
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140001a90
movzx r8d, word [rcx]
test r8w, r8w
je 0x140001adb
test rdx, rdx
jne 0x140001ac1
jmp 0x140001ed3
test rdx, rdx
je 0x14000a7d0
add rcx, 2
mov word [rax], r8w
add rax, 2
sub rdx, 1
movzx r8d, word [rcx]
test r8w, r8w
jne 0x140001ab8
xor r11d, r11d
mov word [rax], r11w
cmp word [rbx], 0
je 0x140001a42
xor eax, eax
jmp 0x140001a30
lea rbp, [rsp + 0x2e0]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], rbp
mov edx, 0x1c
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x140001a0d
cmp word [rbx], 0
mov rdx, rsi
mov rax, rbx
je 0x140001b3e
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140001b30
movzx r8d, word [rsp + 0x2e0]
test r8w, r8w
je 0x140001b83
test rdx, rdx
je 0x14000a7d0
mov rcx, rbp
jmp 0x140001b69
test rdx, rdx
je 0x14000a7d0
add rcx, 2
mov word [rax], r8w
add rax, 2
sub rdx, 1
movzx r8d, word [rcx]
test r8w, r8w
jne 0x140001b60
xor r9d, r9d
mov word [rax], r9w
cmp word [rbx], 0
jne 0x140001a29
jmp 0x140001a5f
mov rcx, rbx
call sub.msvcrt.dll_wcslen
cmp rax, 3
jbe 0x140001ae2
lea rbp, [rbx + rax*2 - 8]
lea rdx, str..exe
mov rcx, rbp
call sub.msvcrt.dll__wcsicmp
test eax, eax
jne 0x140001ae2
xor r10d, r10d
mov word [rbp], r10w
cmp word [rbx], 0
je 0x140001a42
xor eax, eax
jmp 0x140001a30
cmp word [rbx], 0
mov rdx, rsi
mov rax, rbx
je 0x140001bfe
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140001bf0
test rdx, rdx
je 0x14000a7d0
mov r8d, 0x32
lea rcx, str.2024.3.30.11
jmp 0x140001c29
test rdx, rdx
je 0x14000a7d0
add rcx, 2
mov word [rax], r8w
add rax, 2
sub rdx, 1
movzx r8d, word [rcx]
test r8w, r8w
jne 0x140001c20
jmp 0x140001adb
lea rbp, [rsp + 0xd0]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x20], rbp
mov edx, 0x28
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x140001a0d
cmp word [rbx], 0
mov rdx, rsi
mov rax, rbx
je 0x140001c96
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140001c88
movzx r8d, word [rsp + 0xd0]
test r8w, r8w
je 0x140001b83
test rdx, rdx
je 0x14000a7d0
mov rcx, rbp
jmp 0x140001cc9
test rdx, rdx
je 0x14000a7d0
add rcx, 2
mov word [rax], r8w
add rax, 2
sub rdx, 1
movzx r8d, word [rcx]
test r8w, r8w
jne 0x140001cc0
jmp 0x140001b83
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea r15, [rsp + 0x50]
mov edx, pe_nt_image_headers64
lea r8, [0x14000c0e8]
mov r9d, eax
mov rcx, r15
call fcn.140001700
cmp word [rbx], 0
je 0x140001e98
mov rbp, rsi
mov r14, rbx
nop word [rax + rax]
add r14, 2
sub rbp, 1
cmp word [r14], 0
jne 0x140001d28
movzx r13d, byte [rsp + 0x50]
test r13b, r13b
je 0x140001aec
lea rax, [r15 + rbp]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x4f0]
mov qword [rsp + 0x38], rax
nop dword [rax]
mov rax, qword [rsp + 0x30]
mov rbp, r14
sub rax, r15
cmp word [r14], 0
je 0x140001d87
nop word [rax + rax]
add rbp, 2
sub rax, 1
cmp word [rbp], 0
jne 0x140001d78
test rax, rax
je 0x14000a7d0
mov rcx, rbp
add r15, 1
add r14, 2
call sub.msvcrt.dll_wcslen
mov rdx, qword [rsp + 0x38]
mov r8d, 2
mov byte [rsp + 0x4f0], r13b
lea rcx, [rbp + rax*2]
mov byte [rsp + 0x4f1], 0
call sub.msvcrt.dll_mbstowcs
movzx r13d, byte [r15]
test r13b, r13b
jne 0x140001d60
jmp 0x140001ae2
cmp word [rbx], 0
mov rdx, rsi
mov rax, rbx
je 0x140001dee
nop
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140001de0
test rdx, rdx
je 0x14000a7d0
mov r8d, 0x41
lea rcx, str.AmphiSoft
jmp 0x140001e19
test rdx, rdx
je 0x14000a7d0
add rcx, 2
mov word [rax], r8w
add rax, 2
sub rdx, 1
movzx r8d, word [rcx]
test r8w, r8w
jne 0x140001e10
jmp 0x140001adb
cmp word [rbx], 0
mov rdx, rsi
mov rax, rbx
je 0x140001e56
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x140001e48
test rdx, rdx
je 0x14000a7d0
mov r8d, 0x53
lea rcx, str.ScaleNx
jmp 0x140001e79
test rdx, rdx
je 0x14000a7d0
add rcx, 2
mov word [rax], r8w
add rax, 2
sub rdx, 1
movzx r8d, word [rcx]
test r8w, r8w
jne 0x140001e70
jmp 0x140001adb
movzx r13d, byte [rsp + 0x50]
mov rbp, rsi
mov r14, rbx
test r13b, r13b
jne 0x140001d46
xor edx, edx
jmp 0x140001767
movzx r8d, byte [rsp + 0x4f0]
mov rbp, rsi
mov r9, rbx
test r8b, r8b
jne 0x140001949
xor edx, edx
jmp 0x140001767
jmp 0x14000a7d0
call sub.msvcrt.dll_abort
nop