Function at 0x1001c467
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0xd0
push ebx
xor ebx, ebx
cmp dword [0x100e3214], ebx
push esi
push edi
jne 0x1001c48a
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [0x100e3214], eax
call fcn.1000fe40
call fcn.1003a4c6
call fcn.10014417
mov esi, 0x100e3108
push ebx
mov ecx, esi
call fcn.10010ada
call fcn.10006140
mov edi, 0x100e3d7c
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x100e2d40]
or eax, dword [0x100e2d44]
jne 0x1001c4cf
push 0x100e2d40
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x100e2d48
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0x100e303c
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
push ebx
push 0x39ff
call fcn.100135db
push 0xd6fd2
push 0x311f1
lea eax, [ebp - 0x60]
push str._06lu_06lu
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea eax, [ebp - 0x60]
push eax
push 0x100ca932
mov ecx, esi
call fcn.100457c2
lea eax, [ebp - 0x60]
push eax
push str.PECMDVER
mov ecx, esi
call fcn.100457c2
push str.X86_U
lea ecx, [ebp + 0x68]
call fcn.100501eb
push dword [0x100e1100]
lea ecx, [ebp + 0x68]
call fcn.1004618f
push dword [ebp + 0x68]
mov ecx, esi
push 0x100ca908
call fcn.100457c2
push 0x100ca904
push 0x100ca8f4
mov ecx, esi
call fcn.10045812
push ebx
push 0x3a0c
call fcn.100135db
call fcn.10013439
push ebx
push 0x3a0e
call fcn.100135db
mov eax, dword [ebp + 0x78]
add esp, 0x10
cmp dword [0x100e2c88], ebx
mov dword [0x100e2fc0], eax
jne 0x1001c5a1
mov dword [0x100e2c88], eax
mov eax, dword [ebp + 0x7c]
mov dword [0x100e12bc], eax
call fcn.10040396
push str.WM_TaskbarRestart
push dword [0x100e326c]
mov esi, 0x100e3108
push esi
call fcn.10048821
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
add esp, 0xc
push str.__PID
call edi
push eax
push esi
call fcn.10048821
add esp, 0xc
call edi
push eax
call fcn.10004dd3
mov dword [esp], str.__PPID
push eax
push esi
call fcn.10048821
push str.__HINST
push dword [0x100e2fc0]
push esi
call fcn.10048821
add esp, 0x18
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push 0x100ca888
push eax
push esi
mov dword [0x100e2e74], eax
call fcn.10048821
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0x3a17
push ebx
push eax
call fcn.100135db
movzx eax, word [0x100e6018]
push str.SYSCODEPAGE
push eax
push esi
call fcn.10048821
add esp, 0x14
push 0x20a
lea ecx, [ebp + 0x6c]
call fcn.10046141
push dword [ebp + 0x6c]
mov edi, 0x208
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push dword [ebp + 0x6c]
mov ecx, esi
push 0x100ca520
call fcn.10045812
push dword [ebp + 0x6c]
mov ecx, esi
push str._CD
call fcn.10045812
mov eax, dword [ebp + 0x6c]
mov word [eax + 4], bx
push dword [ebp + 0x6c]
mov ecx, esi
push str.CurDrv
call fcn.10045812
mov eax, dword [ebp + 0x6c]
push edi
push eax
push ebx
mov word [eax], bx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push dword [ebp + 0x6c]
mov ecx, esi
push str.CurFile
call fcn.10045812
call fcn.100135eb
lea ecx, [ebp + 0x6c]
call fcn.1003f96c
lea ecx, [ebp + 0x68]
call fcn.1003f96c
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret