Function at 0x403d58
Capabilities:
Get common file path

Disassembly:
mov eax, 0x42fdd4
call fcn.0042fcd8
mov eax, 0x1850
call fcn.00410b30
push ebx
push esi
xor esi, esi
cmp dword [0x4e3cc8], 0x5b1
push edi
jne 0x403e38
push esi
lea eax, [ebp - 0x45c]
push eax
push esi
push 0x403014
push esi
call dword [sym.imp.KERNEL32.dll_FoldStringA]
push esi
push esi
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.ADVAPI32.dll_ReadEventLogA]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.ole32.dll_CoRegisterPSClsid]
call dword [sym.imp.WINHTTP.dll_WinHttpCheckPlatform]
push esi
call dword [sym.imp.KERNEL32.dll_SetLocalTime]
push esi
push dword [ebp - 0x20]
lea eax, [ebp - 0x105c]
push eax
push esi
call dword [sym.imp.SHELL32.dll_ShellAboutW]
lea eax, [ebp - 0x5c]
call fcn.004040e7
mov dword [ebp - 4], esi
call fcn.00404c8a
push 0x403058
lea ecx, [ebp - 0x1c]
call fcn.004037c0
lea ecx, [ebp - 0x1c]
call fcn.004037dc
lea ecx, [ebp - 0x1c]
call fcn.00403822
lea ecx, [ebp - 0x1c]
call fcn.0040383b
push esi
push esi
call fcn.004052f8
push esi
call fcn.004052c9
add esp, 0xc
push esi
call fcn.004052b2
pop ecx
push esi
call fcn.00405743
mov dword [esp], esi
call fcn.00403997
fstp st(0)
push esi
call fcn.004052b2
pop ecx
call fcn.004054ee
add dword [0x4e3cc8], 0x1134b
push dword [0x4e3cc8]
push esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [0x4e2c18], eax
call fcn.00403ca3
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
call ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp edi, 0x206d47
jg 0x403e81
inc edi
cmp edi, 0x4f6a4
jl 0x403e61
mov eax, dword [0x4e3cc8]
xor ecx, ecx
cmp eax, esi
jbe 0x403ea7
mov edx, dword [0x4e3ccc]
mov dl, byte [edx + ecx + 0x1134b]
mov edi, dword [0x4e2c18]
mov byte [edi + ecx], dl
inc ecx
cmp ecx, eax
jb 0x403e8c
xor edi, edi
lea ecx, [eax + edi]
cmp ecx, 0xe
jne 0x403ef6
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasA]
push esi
lea eax, [ebp - 0x45c]
push eax
push esi
push 0x403068
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetNumberFormatA]
push 0x403080
push 0x4030e8
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push esi
push esi
lea eax, [ebp - 0x105c]
push eax
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesW]
mov eax, dword [0x4e3cc8]
inc edi
cmp edi, 0x39621
jl 0x403ea9
call fcn.00403b8d
xor edi, edi
call ebx
cmp edi, 0x26
jne 0x403f12
call fcn.00403c89
inc edi
cmp edi, 0x6753f
jl 0x403f06
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push 0x7b
pop ebx
cmp dword [0x4e3cc8], 0x86
jne 0x403f6d
push 0x4030c4
push 0x403174
call dword [sym.imp.KERNEL32.dll_SetVolumeLabelW]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_EndUpdateResourceW]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_AddConsoleAliasA]
push esi
lea eax, [ebp - 0x85c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryA]
push esi
lea eax, [ebp - 0x185c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
cmp dword [0x4e3cc8], 0xf
jne 0x403f8e
push esi
push esi
call edi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetConsoleProcessList]
push 0x4031b0
push 0x4031f8
call edi
dec ebx
jne 0x403f24
push 0x4031a4
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret