Function at 0x40cc3b
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x858
push ebx
push esi
push edi
push ebp
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x40cfe9
push 0x12348765
push 0x56d2ad
push dword fs:[0]
mov dword fs:[0], esp
mov dword [ebp - reloc.gdi32.dll_AbortDoc], 0
call fcn.0040a173
cmp al, 0
je 0x40cfd4
cmp dword [0x5cb608], 0
je 0x40cc93
mov al, 1
jmp 0x40cfd4
mov esi, 0x577140
lea edi, [ebp - 0x28]
cld
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
mov cl, 8
lea esi, [ebp - 0x28]
lea edi, reloc.gdi32.dll_AbortDoc
rep movsd dword es:[edi], dword [esi]
mov byte [edi], cl
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call fcn.004115eb
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call sub.mclib32.dll__IsNetworkPath_4
mov byte [ebp - 2], al
cmp al, 0
je 0x40cec1
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x104
add eax, 0x20a
push eax
push 0xf
lea eax, [ebp - 0x28]
push eax
call fcn.00415c21
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call fcn.00410e79
cmp al, 0
je 0x40cfd4
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x103
call sub.kernel32.dll_GetTempPathW
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 8
push 0x57715c
call fcn.00415c3f
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x104
add eax, 0x414
push eax
push 0xf
lea eax, [ebp - 0x28]
push eax
call fcn.00415c21
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call sub.kernel32.dll_LoadLibraryW
mov dword [0x5cb608], eax
cmp eax, 0
je 0x40cdd2
mov byte [ebp - 1], 1
push 0x10
push 0x57716e
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [0x5cb5e0], eax
cmp byte [ebp - 1], 0
je 0x40cdb7
call dword [0x5cb5e0]
mov byte [ebp - 3], 0
cmp byte [ebp - 1], 0
je 0x40cdb1
cmp eax, dword [0x5cd5f4]
jne 0x40cdb1
mov byte [ebp - 3], 1
mov al, byte [ebp - 3]
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0
jne 0x40cdd2
push dword [0x5cb608]
call sub.kernel32.dll_FreeLibrary
mov dword [0x5cb608], 0
cmp dword [0x5cb608], 0
jne 0x40cee4
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call fcn.00411c6c
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x104
add eax, 0x20a
push eax
push 0xf
lea eax, [ebp - 0x28]
push eax
call fcn.0040cbd7
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x104
add eax, 0x20a
push eax
push 0x1b
push 0x577180
call fcn.0040cbd7
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x104
add eax, 0x20a
push eax
push 0xb
push 0x5771b8
call fcn.0040cbd7
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x104
add eax, 0x20a
push eax
push 0xb
push 0x5771d0
call fcn.0040cbd7
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x104
add eax, 0x20a
push eax
push 0xc
push 0x5771e8
call fcn.0040cbd7
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x104
add eax, 0x20a
push eax
push 0xc
push 0x577202
call fcn.0040cbd7
cmp dword [0x5cb608], 0
jne 0x40cee4
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call sub.kernel32.dll_LoadLibraryW
mov dword [0x5cb608], eax
cmp eax, 0
je 0x40cfd4
mov byte [ebp - 1], 1
push 0x10
push 0x57716e
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [0x5cb5e0], eax
push 0x14
push 0x57721c
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [fcn.005cb5e4], eax
push 0x15
push 0x577231
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [0x5cb5e8], eax
push 0x1c
push 0x577247
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [0x5cb5ec], eax
push 0x17
push 0x577264
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [0x5cb5f0], eax
push 0x18
push 0x57727c
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [0x5cb5f4], eax
push 0x1f
push 0x577295
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [0x5cb5f8], eax
push 0x11
push 0x5772b5
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [0x5cb5fc], eax
push 0xd
push 0x5772c7
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [0x5cb600], eax
push 0x14
push 0x5772d5
lea eax, [ebp - 1]
push eax
call fcn.0040cb96
mov dword [0x5cb604], eax
cmp byte [ebp - 1], 0
je 0x40cfd1
cmp byte [ebp - 2], 0
je 0x40cfd1
call dword [0x5cb5e0]
mov dword [0x5cd5f4], eax
mov al, byte [ebp - 1]
pop dword fs:[0]
add esp, 0x14
pop edi
pop esi
pop ebx
leave
ret