Function at 0x140044a80
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rdi
sub rsp, 0x3b8
mov qword [rsp + 0x398], 0xfffffffffffffffe
mov rax, qword [0x1401787a0]
xor rax, rsp
mov qword [rsp + 0x3a0], rax
lea rdx, [rsp + 0x210]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
lea rdx, [rsp + 0x210]
call fcn.140001d20
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
lea rdx, [0x14011aeb0]
call fcn.140002d50
lea rcx, [rsp + 0x30]
call fcn.140003950
nop
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.140066e20
test eax, eax
jne 0x140044bb0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x328], eax
mov r8d, dword [rsp + 0x328]
lea rdx, [0x14011aec0]
lea rcx, [0x14011aef0]
call fcn.140062f80
mov rdx, qword [rsp + 0x3d0]
mov rdx, qword [rdx + 0x590]
lea rcx, [0x14011af30]
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x14011af50]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x35c], 0
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x35c]
jmp 0x140045815
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
lea rdx, [rsp + 0x30]
call fcn.140001970
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rcx, rax
call fcn.1400637c0
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov r9, rax
lea r8, [0x1401178e4]
lea rdx, [0x14011af68]
lea rcx, [0x14011af78]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x140044c8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x32c], eax
mov r8d, dword [rsp + 0x32c]
lea rdx, [0x14011af80]
lea rcx, str._s___return_FALSE__2__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, [0x14011aff8]
lea rdx, [0x14011b008]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x360], 0
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x360]
jmp 0x140045815
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rbx, rax
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x238
call fcn.1400018a0
mov r9, rbx
mov r8, rax
lea rdx, [0x14011b020]
lea rcx, str.Generic
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x140044d42
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x330], eax
mov r8d, dword [rsp + 0x330]
lea rdx, [0x14011b030]
lea rcx, str._s___return_FALSE__3__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, str.LogFile
lea rdx, [0x14011b0b0]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x364], 0
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x364]
jmp 0x140045815
call fcn.140007560
mov rdx, rax
add rdx, 0x348
lea rcx, [rsp + 0x40]
call fcn.140014ea0
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003950
nop
call fcn.140075480
test eax, eax
je 0x140044d89
lea rdx, str.Win95
lea rcx, [rsp + 0x1f8]
call fcn.140001d20
jmp 0x140044dbc
call fcn.1400754d0
test eax, eax
je 0x140044da8
lea rdx, str.Winnt4
lea rcx, [rsp + 0x1f8]
call fcn.140001d20
jmp 0x140044dbc
lea rdx, str.Win2k
lea rcx, [rsp + 0x1f8]
call fcn.140001d20
lea rcx, [rsp + 0x320]
call fcn.140003950
nop
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x58]
lea r8, str.INSTALL.
lea rdx, [0x14011b0f0]
lea rcx, [rsp + 0x320]
call fcn.140003170
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rdi, rax
lea rcx, [rsp + 0xe0]
call fcn.1400018a0
mov rbx, rax
lea rcx, [rsp + 0x320]
call fcn.1400018a0
mov r9, rdi
mov r8, rbx
lea rdx, [0x14011b0f8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x140044edf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x334], eax
mov r8d, dword [rsp + 0x334]
lea rdx, [0x14011b108]
lea rcx, str._s___return_FALSE__4__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, str.SourcePath
lea rdx, [0x14011b198]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x368], 0
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x368]
jmp 0x140045815
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rdi, rax
lea rcx, [rsp + 0x1f8]
call fcn.1400018a0
mov rbx, rax
lea rcx, [rsp + 0x320]
call fcn.1400018a0
mov r9, rdi
mov r8, rbx
lea rdx, [0x14011b1b0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x140044fc7
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x338], eax
mov r8d, dword [rsp + 0x338]
lea rdx, [0x14011b1c0]
lea rcx, str._s___return_FALSE__5__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, [0x14011b238]
lea rdx, [0x14011b248]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x36c], 0
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x36c]
jmp 0x140045815
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rdi, rax
lea rcx, [rsp + 0x58]
call fcn.1400018a0
mov rbx, rax
lea rcx, [rsp + 0x320]
call fcn.1400018a0
mov r9, rdi
mov r8, rbx
lea rdx, [0x14011b260]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x1400450ac
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x33c], eax
mov r8d, dword [rsp + 0x33c]
lea rdx, [0x14011b270]
lea rcx, str._s___return_FALSE__6__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, [0x14011b2e8]
lea rdx, [0x14011b2f8]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x370], 0
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x370]
jmp 0x140045815
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rdi, rax
lea rcx, [rsp + 0x1d0]
call fcn.1400018a0
mov rbx, rax
lea rcx, [rsp + 0x320]
call fcn.1400018a0
mov r9, rdi
mov r8, rbx
lea rdx, [0x14011b310]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x140045194
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x340], eax
mov r8d, dword [rsp + 0x340]
lea rdx, [0x14011b320]
lea rcx, str._s___return_FALSE__7__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, [0x14011b398]
lea rdx, [0x14011b3a8]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x374], 0
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x374]
jmp 0x140045815
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x58]
lea r8, str.PRINTEROBJECT.
lea rdx, str._s_s._s
lea rcx, [rsp + 0x320]
call fcn.140003170
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rdi, rax
lea rcx, [rsp + 0x58]
call fcn.1400018a0
mov rbx, rax
lea rcx, [rsp + 0x320]
call fcn.1400018a0
mov r9, rdi
mov r8, rbx
lea rdx, [0x14011b3d8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x1400452a6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x344], eax
mov r8d, dword [rsp + 0x344]
lea rdx, [0x14011b3e8]
lea rcx, str._s___return_FALSE__8__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, str.DriverName
lea rdx, [0x14011b478]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x378], 0
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x378]
jmp 0x140045815
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rbx, rax
lea rcx, [rsp + 0x320]
call fcn.1400018a0
mov r9, rbx
lea r8, [0x140117934]
lea rdx, [0x14011b490]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x140045382
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x348], eax
mov r8d, dword [rsp + 0x348]
lea rdx, [0x14011b4a0]
lea rcx, str._s___return_FALSE__9__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, str.SetDefault
lea rdx, [0x14011b528]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x37c], 0
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x37c]
jmp 0x140045815
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rdi, rax
lea rcx, [rsp + 0x1f8]
call fcn.1400018a0
mov rbx, rax
lea rcx, [rsp + 0x320]
call fcn.1400018a0
mov r9, rdi
mov r8, rbx
lea rdx, [0x14011b540]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x14004546a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x34c], eax
mov r8d, dword [rsp + 0x34c]
lea rdx, [0x14011b550]
lea rcx, str._s___return_FALSE__10__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, [0x14011b5c8]
lea rdx, [0x14011b5d8]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x380], 0
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x380]
jmp 0x140045815
call fcn.140056620
mov edx, 1
mov rcx, rax
call fcn.140056b70
mov rdx, rax
add rdx, 0x90
lea rcx, [rsp + 0x1f0]
call fcn.140001bf0
nop
lea rcx, [rsp + 0x38]
call fcn.140003950
nop
mov r9, qword [rsp + 0x1f0]
lea r8, str.PORT.
lea rdx, [0x14011b5f4]
lea rcx, [rsp + 0x38]
call fcn.140003170
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rdi, rax
lea rcx, [rsp + 0x38]
call fcn.1400018a0
mov rbx, rax
lea rcx, [rsp + 0x320]
call fcn.1400018a0
mov r9, rdi
mov r8, rbx
lea rdx, [0x14011b600]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x1400455bd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x350], eax
mov r8d, dword [rsp + 0x350]
lea rdx, [0x14011b610]
lea rcx, str._s___return_FALSE__11__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, str.PortSectionName
lea rdx, [0x14011b698]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x384], 0
lea rcx, [rsp + 0x38]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f0]
call fcn.140003a70
nop
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x384]
jmp 0x140045815
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rdi, rax
lea rcx, [rsp + 0x1d0]
call fcn.1400018a0
mov rbx, rax
lea rcx, [rsp + 0x320]
call fcn.1400018a0
mov r9, rdi
mov r8, rbx
lea rdx, [0x14011b6b0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x1400456be
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x354], eax
mov r8d, dword [rsp + 0x354]
lea rdx, [0x14011b6c0]
lea rcx, str._s___return_FALSE__12__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, [0x14011b738]
lea rdx, [0x14011b748]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x388], 0
lea rcx, [rsp + 0x38]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f0]
call fcn.140003a70
nop
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x388]
jmp 0x140045815
mov rcx, qword [rsp + 0x3d0]
add rcx, 0x590
call fcn.1400018a0
mov rdi, rax
lea rcx, [rsp + 0x1f0]
call fcn.1400018a0
mov rbx, rax
lea rcx, [rsp + 0x38]
call fcn.1400018a0
mov r9, rdi
mov r8, rbx
lea rdx, [0x14011b760]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
test eax, eax
jne 0x1400457b9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x358], eax
mov r8d, dword [rsp + 0x358]
lea rdx, str.CRP_SETUPApp::kMakeInterfaceFileAddForce
lea rcx, str._s___return_FALSE__13__LastError_u_WritePrivateProfileString_fail._n
call fcn.140062f80
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea r8, str.PortName
lea rdx, [0x14011b7f8]
mov rcx, qword [rsp + 0x3d0]
call fcn.140038300
mov dword [rsp + 0x38c], 0
lea rcx, [rsp + 0x38]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f0]
call fcn.140003a70
nop
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x38c]
jmp 0x140045815
mov dword [rsp + 0x390], 1
lea rcx, [rsp + 0x38]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f0]
call fcn.140003a70
nop
lea rcx, [rsp + 0x320]
call fcn.140003a70
nop
lea rcx, [rsp + 0x1f8]
call fcn.140003a70
nop
lea rcx, [rsp + 0x40]
call fcn.140015bb0
nop
lea rcx, [rsp + 0x30]
call fcn.140003a70
mov eax, dword [rsp + 0x390]
mov rcx, qword [rsp + 0x3a0]
xor rcx, rsp
call fcn.1400c6ac0
add rsp, 0x3b8
pop rdi
pop rbx
ret