Function at 0x4014e0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x40d4a0
push 0x4027a0
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x12d8
call fcn.00402770
mov eax, dword [0x40fcc0]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x20], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
xor eax, eax
mov word [ebp - 0xe88], ax
push 0x208
push 0
lea ecx, [ebp - 0xe86]
push ecx
call fcn.00402930
add esp, 0xc
xor edx, edx
mov word [ebp - 0x10e0], dx
push 0x208
push 0
lea eax, [ebp - 0x10de]
push eax
call fcn.00402930
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0xc78], cx
push 0x208
push 0
lea edx, [ebp - 0xc76]
push edx
call fcn.00402930
add esp, 0xc
xor eax, eax
mov word [ebp - 0xa58], ax
push 0x208
push 0
lea ecx, [ebp - 0xa56]
push ecx
call fcn.00402930
add esp, 0xc
xor edx, edx
mov word [ebp - 0x828], dx
push 0x800
push 0
lea eax, [ebp - 0x826]
push eax
call fcn.00402930
add esp, 0xc
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xed0], 0x44
push 0x40
push 0
lea ecx, [ebp - 0xecc]
push ecx
call fcn.00402930
add esp, 0xc
mov dword [ebp - 0xa68], 0
xor edx, edx
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xa60], edx
mov dword [ebp - 0xa5c], edx
mov dword [ebp - 0x82c], 0
mov dword [0x4114ac], 0
mov dword [0x4114a8], 0
lea eax, [ebp - 0xe88]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x104
lea ecx, [ebp - 0xc78]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [ebp - 0x83c]
push edx
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x844]
push ecx
lea edx, [ebp - 0xc78]
push edx
call fcn.00401c90
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
mov eax, dword [ebp - 0x840]
push eax
lea ecx, [ebp - 0xe88]
push ecx
push str._s_s_X.log
push 0x104
lea edx, [ebp - 0x10e0]
push edx
call fcn.00402688
add esp, 0x18
lea eax, [ebp - 0x10e0]
push eax
call fcn.00401d40
add esp, 4
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.004020fa
add esp, 4
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x10], 0
jne 0x4016ec
mov dword [ebp - 0x834], 0x57
mov eax, dword [ebp - 0x834]
jmp 0x4018c0
mov edx, dword [ebp + 0x10]
push edx
push str.Command_Line:__s_n
call fcn.0040202a
add esp, 8
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00401e40
add esp, 8
mov dword [ebp - 0x830], eax
mov edx, dword [ebp - 0x830]
push edx
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00401030
add esp, 8
cmp dword [0x4114ac], 0
je 0x401843
cmp dword [0x4114a8], 0
je 0x401843
cmp dword [ebp - 0x82c], 0x103
je 0x401843
lea ecx, [ebp - 0x828]
push ecx
lea edx, [ebp - 0xa58]
push edx
call fcn.00401390
add esp, 8
test eax, eax
je 0x401843
xor eax, eax
mov word [ebp - 0x12f0], ax
push 0x206
push 0
lea ecx, [ebp - 0x12ee]
push ecx
call fcn.00402930
add esp, 0xc
mov dword [ebp - 0x10e4], 0
lea edx, [ebp - 0x828]
push edx
lea eax, [ebp - 0xa58]
push eax
push str.Calling_MsiInstallProduct___s_____s___n
call fcn.0040202a
add esp, 0xc
push 0
push 2
call sub.msi.dll_MsiSetPropertyW
push 0
push 0x7fdf
push 0x401b70
call sub.msi.dll_MsiSetInternalUI
lea ecx, [ebp - 0x828]
push ecx
lea edx, [ebp - 0xa58]
push edx
call sub.msi.dll_MsiOpenDatabaseW
mov dword [ebp - 0x834], eax
mov eax, dword [ebp - 0x834]
push eax
push 1
push str._u__ld_
lea ecx, [ebp - 0x12f0]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea edx, [ebp - 0x12f0]
push edx
call fcn.0040266e
add esp, 4
push eax
lea eax, [ebp - 0x12f0]
push eax
call fcn.00401a40
add esp, 8
mov dword [ebp - 0x82c], eax
cmp dword [ebp - 0x834], 0xbc2
jne 0x40183e
mov dword [ebp - 0x834], 0
jmp 0x401740
mov ecx, dword [ebp - 0x834]
push ecx
push str._nExiting_with_code:__d_n
call fcn.0040202a
add esp, 8
mov dword [ebp - 4], 0
mov edx, dword [0x4114ac]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [0x4114a8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xfffffffe
jmp 0x401890
mov ecx, dword [ebp - 0x830]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, dword [ebp + 0x10]
push edx
call fcn.004025e0
add esp, 4
call fcn.00402338
add eax, 0x20
push eax
call fcn.00402564
add esp, 4
mov eax, dword [ebp - 0x834]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.0040275b
mov esp, ebp
pop ebp
ret 0x10