Function at 0x448ee6
Capabilities:
Get common file path
Get file system object information

Disassembly:
sub esp, 0x17c
push ebx
push ebp
push esi
push edi
push dword [0x4a0e80]
call fcn.0046154d
xor esi, esi
mov dword [esp + 0x18], eax
cmp dword [0x49fe80], esi
jne 0x4491ab
push esi
call dword [sym.imp.OLE32.DLL_CoInitialize]
push 1
call fcn.0044b635
push str.My_Documents
push 0x49fe88
mov dword [0x4a0094], eax
call sub.MSVCRT.dll_strcpy
push str.My_Computer
push 0x4a01a0
call sub.MSVCRT.dll_strcpy
mov ebp, dword [sym.imp.SHELL32.DLL_SHGetSpecialFolderLocation]
lea eax, [esp + 0x20]
add esp, 0x10
push eax
push 5
push esi
call ebp
mov edi, dword [sym.imp.SHELL32.DLL_SHGetFileInfoA]
mov ebx, dword [sym.imp.OLE32.DLL_CoTaskMemFree]
test eax, eax
jne 0x449053
push 0x49ff90
push dword [esp + 0x14]
call dword [sym.imp.SHELL32.DLL_SHGetPathFromIDListA]
mov dword [0x4a019c], eax
test eax, eax
je 0x44904b
push 0x4009
push 0x160
lea eax, [esp + 0x34]
push eax
push esi
push dword [esp + 0x20]
call edi
test eax, eax
jne 0x448fd1
push 0x4001
push 0x160
lea eax, [esp + 0x34]
push eax
push esi
push str.::450d8fba_ad25_11d0_98a8_0800361b1103
call edi
test eax, eax
jne 0x448fd1
push 0x4001
push 0x160
lea eax, [esp + 0x34]
push eax
push esi
push 0x49ff90
call edi
test eax, eax
je 0x448fdc
mov eax, dword [esp + 0x30]
mov dword [0x49fe84], eax
jmp 0x448fe2
mov dword [0x4a019c], esi
push 0x208
push 0x160
lea eax, [esp + 0x34]
push eax
push esi
push dword [esp + 0x20]
call edi
test eax, eax
jne 0x449032
push 0x200
push 0x160
lea eax, [esp + 0x34]
push eax
push esi
push str.::450d8fba_ad25_11d0_98a8_0800361b1103
call edi
test eax, eax
jne 0x449032
push 0x200
push 0x160
lea eax, [esp + 0x34]
push eax
push esi
push 0x49ff90
call edi
test eax, eax
je 0x449045
lea eax, [esp + 0x38]
push eax
push 0x49fe88
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
jmp 0x44904b
mov dword [0x4a019c], esi
push dword [esp + 0x10]
call ebx
jmp 0x449059
mov dword [0x4a019c], esi
mov esi, 0x49ff90
push esi
call sub.MSVCRT.dll_strlen
pop ecx
cmp byte [eax + esi - 1], 0x5c
je 0x449079
push 0x489094
push esi
call sub.MSVCRT.dll_strcat
pop ecx
pop ecx
push esi
mov esi, 0x4a0098
push esi
call sub.MSVCRT.dll_strcpy
cmp byte [0x4a0098], 0
pop ecx
jmp 0x44909e
movsx eax, byte [esi]
push eax
call sub.MSVCRT.dll_tolower
mov byte [esi], al
inc esi
cmp byte [esi], 0
pop ecx
jne 0x44908f
lea eax, [esp + 0x14]
xor esi, esi
push eax
push 0x11
push esi
call ebp
test eax, eax
lea eax, [esp + 0x2c]
jne 0x449104
push 0x4009
mov ebp, 0x160
push ebp
push eax
push esi
push dword [esp + 0x24]
call edi
test eax, eax
je 0x4490d5
mov eax, dword [esp + 0x30]
mov dword [0x49ff8c], eax
push 0x208
push ebp
lea eax, [esp + 0x34]
push eax
push esi
push dword [esp + 0x24]
call edi
test eax, eax
je 0x4490fc
lea eax, [esp + 0x38]
push eax
push 0x4a01a0
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
push dword [esp + 0x14]
call ebx
jmp 0x44914a
push 0x4001
mov ebx, 0x160
mov ebp, str.::20D04FE0_3AEA_1069_A2D8_08002B30309D
push ebx
push eax
push esi
push ebp
call edi
test eax, eax
je 0x449126
mov eax, dword [esp + 0x30]
mov dword [0x49ff8c], eax
push 0x200
push ebx
lea eax, [esp + 0x34]
push eax
push esi
push ebp
call edi
test eax, eax
je 0x44914a
lea eax, [esp + 0x38]
push eax
push 0x4a01a0
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
mov esi, 0xa4
push esi
push 0
push 0x4a02a8
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [0x4a02a8], 0x19
mov dword [0x4a02ac], esi
mov dword [0x4a02b0], 0x44866d
mov dword [0x4a02b4], 0x448821
mov dword [0x4a02c4], 0x4488a0
mov dword [0x4a02c0], 0x448839
mov dword [0x4a02d8], 0x448860
mov dword [0x49fe80], 1
mov ebp, dword [esp + 0x1a8]
mov esi, ebp
mov ecx, dword [esp + 0x18]
and esi, 0x100
mov eax, esi
neg eax
sbb eax, eax
xor edx, edx
push edx
push dword [0x49d75c]
add eax, 0x50000003
push 0xffffffffffffffff
push dword [ecx]
push 0x15e
push dword [esp + 0x1b0]
push dword [esp + 0x1b0]
push dword [esp + 0x1b0]
push eax
push edx
push str.ComboBoxEx32
push edx
call dword [sym.imp.USER32.DLL_CreateWindowExA]
mov edi, eax
test edi, edi
je 0x44930f
mov ebx, dword [sym.imp.USER32.DLL_SendMessageA]
test esi, esi
je 0x44926c
push 0
push 0
push 0x407
push edi
call ebx
mov esi, eax
mov eax, dword [0x4a02a4]
test eax, eax
jne 0x449254
push str.shlwapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
test eax, eax
je 0x44924b
push str.SHAutoComplete
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4a02a4], eax
jmp 0x449250
mov eax, dword [0x4a02a4]
test eax, eax
je 0x449259
push 1
push esi
call eax
push 0x4484d0
push 0xfffffffffffffffc
push esi
call dword [sym.imp.USER32.DLL_SetWindowLongA]
mov dword [0x4a034c], eax
push dword [0x4a0094]
push 0
push 0x402
push edi
call ebx
push dword [esp + 0x190]
push dword [0x4a0fd8]
call fcn.004616fd
mov esi, eax
push 0x104
push 8
mov dword [esi + 0x10], ebp
push dword [0x49d758]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x4a02a8
push edi
push esi
push dword [esp + 0x19c]
mov dword [esi + 0x14], eax
call fcn.0044a1fc
or dword [0x49b084], 0xffffffff
mov ebp, 0x153
push 0xf
push 0xffffffffffffffff
push ebp
push dword [esi]
mov edi, eax
call ebx
lea eax, [esp + 0x1c]
push eax
push dword [esi]
call dword [sym.imp.USER32.DLL_GetWindowRect]
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1a0]
sub ecx, 0xf
sub eax, ecx
mov dword [0x49b084], ecx
push eax
push 0xffffffffffffffff
push ebp
push dword [esi]
call ebx
push dword [esp + 0x1a4]
push esi
call fcn.004488a0
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x17c
ret 0x1c