Function at 0x40d19c
Capabilities:
Get common file path

Disassembly:
push 0x9c0
mov eax, 0x5240aa
call fcn.004fc737
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x878], eax
mov dword [ebp - 0x87c], ecx
mov byte [ebp - 0x86d], bl
cmp eax, ebx
je 0x40d56b
cmp ecx, ebx
je 0x40d56b
xor eax, eax
mov esi, 0x206
push esi
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x422]
push ebx
push eax
call fcn.004f18b0
add esp, 0xc
lea eax, [ebp - 0x424]
push eax
push ebx
push ebx
push 0x25
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, ebx
jl 0x40d56b
push str.shell32.dll
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x40d56b
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
cmp edi, ebx
je 0x40d56b
xor eax, eax
push esi
mov word [ebp - 0x62c], ax
lea eax, [ebp - 0x62a]
push ebx
push eax
call fcn.004f18b0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x62c]
push eax
push 0xc801
push edi
call dword [sym.imp.USER32.dll_LoadStringW]
push edi
mov dword [ebp - 0x874], eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x874], ebx
jle 0x40d29c
mov ecx, dword [ebp - 0x878]
lea eax, [ebp - 0x62c]
push eax
call fcn.0040ced9
pop ecx
mov byte [ebp - 0x86d], al
push dword [ebp - 0x878]
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
mov dword [ebp - 0x874], eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
xor eax, eax
push esi
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push ebx
push eax
call fcn.004f18b0
add esp, 0xc
xor edi, edi
inc edi
push edi
push 2
lea eax, [ebp - 0x21c]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x40d56b
xor eax, eax
push esi
mov word [ebp - 0x834], ax
lea eax, [ebp - 0x832]
push ebx
push eax
call fcn.004f18b0
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x834]
push 0x104
push eax
call fcn.004f6833
add esp, 0xc
push str..lnk
lea eax, [ebp - 0x8d0]
call fcn.004043d1
mov esi, eax
push dword [ebp - 0x874]
lea eax, [ebp - 0x898]
mov dword [ebp - 4], ebx
call fcn.004043d1
mov dword [ebp - 0x878], eax
push 0x5481d0
lea eax, [ebp - 0x994]
mov byte [ebp - 4], 1
call fcn.004043d1
mov dword [ebp - 0x874], eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x95c]
mov byte [ebp - 4], 2
call fcn.004043d1
push dword [ebp - 0x874]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x924]
push eax
call fcn.00422e4e
add esp, 0xc
push dword [ebp - 0x878]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x9cc]
push eax
call fcn.00422e4e
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x86c]
push eax
mov byte [ebp - 4], 5
call fcn.00422e4e
add esp, 0xc
push ebx
push edi
lea esi, [ebp - 0x9cc]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x924]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x95c]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x994]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x898]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x8d0]
mov byte [ebp - 4], 0xc
call fcn.00404e29
push str..lnk
lea eax, [ebp - 0x8ec]
call fcn.004043d1
mov esi, eax
push dword [ebp - 0x87c]
lea eax, [ebp - 0x8b4]
mov byte [ebp - 4], 0xd
call fcn.004043d1
mov dword [ebp - 0x874], eax
push 0x5481d0
lea eax, [ebp - 0x940]
mov byte [ebp - 4], 0xe
call fcn.004043d1
mov dword [ebp - 0x87c], eax
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x978]
mov byte [ebp - 4], 0xf
call fcn.004043d1
push dword [ebp - 0x87c]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x908]
push eax
call fcn.00422e4e
add esp, 0xc
push dword [ebp - 0x874]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x9b0]
push eax
call fcn.00422e4e
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x850]
push eax
mov byte [ebp - 4], 0x12
call fcn.00422e4e
add esp, 0xc
push ebx
push edi
lea esi, [ebp - 0x9b0]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x908]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x978]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x940]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x8b4]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x8ec]
call fcn.00404e29
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x838], 8
mov ecx, dword [ebp - 0x84c]
jae 0x40d52b
lea ecx, [ebp - 0x84c]
cmp dword [ebp - 0x854], 8
mov eax, dword [ebp - 0x868]
jae 0x40d540
lea eax, [ebp - 0x868]
push ecx
push eax
call fcn.004f68a2
pop ecx
pop ecx
push ebx
push edi
lea esi, [ebp - 0x850]
call fcn.00404e29
push ebx
push edi
lea esi, [ebp - 0x86c]
call fcn.00404e29
mov al, byte [ebp - 0x86d]
jmp 0x40d56d
xor al, al
call fcn.004fc7ba
ret