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

Disassembly:
sub esp, 0x2d0
push ebx
push ebp
push esi
push edi
push dword [0x43dc30]
call fcn.00430655
xor ebx, ebx
mov dword [esp + 0x18], eax
cmp dword [0x43c2b8], ebx
jne 0x426287
push ebx
call dword [sym.imp.OLE32.DLL_CoInitialize]
push 1
call fcn.004299bb
push str.My_Documents
push 0x43c0b0
mov dword [0x43ba88], eax
call sub.MSVCRT.dll_wcscpy
push str.My_Computer
push 0x43ba98
call sub.MSVCRT.dll_wcscpy
add esp, 0x10
lea eax, [esp + 0x10]
push eax
push 5
push ebx
call dword [sym.imp.SHELL32.DLL_SHGetSpecialFolderLocation]
mov esi, dword [sym.imp.SHELL32.DLL_SHGetFileInfoW]
mov ebp, 0x43bea8
mov edi, 0x2b4
test eax, eax
jne 0x42612f
push ebp
push dword [esp + 0x14]
call dword [sym.imp.SHELL32.DLL_SHGetPathFromIDListW]
mov dword [0x43ba84], eax
cmp eax, ebx
je 0x426123
push 0x4009
push edi
lea eax, [esp + 0x34]
push eax
push ebx
push dword [esp + 0x20]
call esi
test eax, eax
jne 0x4260b9
push 0x4001
push edi
lea eax, [esp + 0x34]
push eax
push ebx
push str.::450d8fba_ad25_11d0_98a8_0800361b1103
call esi
test eax, eax
jne 0x4260b9
push 0x4001
push edi
lea eax, [esp + 0x34]
push eax
push ebx
push ebp
call esi
test eax, eax
je 0x4260c4
mov eax, dword [esp + 0x30]
mov dword [0x43ba90], eax
jmp 0x4260ca
mov dword [0x43ba84], ebx
push 0x208
push edi
lea eax, [esp + 0x34]
push eax
push ebx
push dword [esp + 0x20]
call esi
test eax, eax
jne 0x42610a
push 0x200
push edi
lea eax, [esp + 0x34]
push eax
push ebx
push str.::450d8fba_ad25_11d0_98a8_0800361b1103
call esi
test eax, eax
jne 0x42610a
push 0x200
push edi
lea eax, [esp + 0x34]
push eax
push ebx
push ebp
call esi
test eax, eax
je 0x42611d
lea eax, [esp + 0x38]
push eax
push 0x43c0b0
call sub.MSVCRT.dll_wcscpy
pop ecx
pop ecx
jmp 0x426123
mov dword [0x43ba84], ebx
push dword [esp + 0x10]
call dword [sym.imp.OLE32.DLL_CoTaskMemFree]
jmp 0x426135
mov dword [0x43ba84], ebx
push ebp
call sub.MSVCRT.dll_wcslen
cmp word [eax*2 + 0x43bea6], 0x5c
pop ecx
je 0x426154
push 0x43331c
push ebp
call sub.MSVCRT.dll_wcscat
pop ecx
pop ecx
push ebp
mov ebp, 0x43bca0
push ebp
call sub.MSVCRT.dll_wcscpy
cmp word [0x43bca0], bx
pop ecx
jmp 0x42617f
movzx eax, word [ebp]
push eax
call sub.MSVCRT.dll_tolower
mov word [ebp], ax
add ebp, 2
cmp word [ebp], bx
pop ecx
jne 0x42616a
lea eax, [esp + 0x14]
push eax
push 0x11
push ebx
call dword [sym.imp.SHELL32.DLL_SHGetSpecialFolderLocation]
test eax, eax
lea eax, [esp + 0x2c]
jne 0x4261e6
push 0x4009
push edi
push eax
push ebx
push dword [esp + 0x24]
call esi
test eax, eax
je 0x4261b3
mov eax, dword [esp + 0x30]
mov dword [0x43ba8c], eax
push 0x208
push edi
lea eax, [esp + 0x34]
push eax
push ebx
push dword [esp + 0x24]
call esi
test eax, eax
je 0x4261da
lea eax, [esp + 0x38]
push eax
push 0x43ba98
call sub.MSVCRT.dll_wcscpy
pop ecx
pop ecx
push dword [esp + 0x14]
call dword [sym.imp.OLE32.DLL_CoTaskMemFree]
jmp 0x426227
push 0x4001
push edi
push eax
push ebx
mov ebp, 0x433348
push ebp
call esi
test eax, eax
je 0x426203
mov eax, dword [esp + 0x30]
mov dword [0x43ba8c], eax
push 0x200
push edi
lea eax, [esp + 0x34]
push eax
push ebx
push ebp
call esi
test eax, eax
je 0x426227
lea eax, [esp + 0x38]
push eax
push 0x43ba98
call sub.MSVCRT.dll_wcscpy
pop ecx
pop ecx
mov esi, 0xa4
push esi
push ebx
push 0x43b9e0
call sub.MSVCRT.dll_memset
add esp, 0xc
mov dword [0x43b9e0], 0x19
mov dword [0x43b9e4], esi
mov dword [0x43b9e8], 0x425c4d
mov dword [0x43b9ec], 0x4255af
mov dword [0x43b9fc], 0x4255c7
mov dword [0x43b9f8], 0x425c26
mov dword [0x43ba10], 0x425fa0
mov dword [0x43c2b8], 1
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x2fc]
push ebx
push dword [0x43b090]
and esi, 0x100
push 0xffffffffffffffff
push dword [ecx]
mov eax, esi
push 0x15e
push dword [esp + 0x304]
neg eax
push dword [esp + 0x304]
sbb eax, eax
push dword [esp + 0x304]
add eax, 0x50000003
push eax
push ebx
push str.ComboBoxEx32
push ebx
call dword [sym.imp.USER32.DLL_CreateWindowExW]
mov ebp, eax
cmp ebp, ebx
je 0x4263ea
mov edi, dword [sym.imp.USER32.DLL_SendMessageW]
cmp esi, ebx
je 0x426342
push ebx
push ebx
push 0x407
push ebp
call edi
mov esi, eax
cmp dword [0x43b9dc], ebx
jne 0x426326
push str.shlwapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
je 0x42631e
push str.SHAutoComplete
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x43b9dc], eax
cmp dword [0x43b9dc], ebx
je 0x42632f
push 1
push esi
call dword [0x43b9dc]
push 0x425e0b
push 0xfffffffffffffffc
push esi
call dword [sym.imp.USER32.DLL_SetWindowLongW]
mov dword [0x43b9d8], eax
push dword [0x43ba88]
push ebx
push 0x402
push ebp
call edi
push dword [esp + 0x2e4]
push dword [0x43dc2c]
call fcn.0043049a
mov esi, eax
mov eax, dword [esp + 0x2fc]
push 0x208
push 8
mov dword [esi + 0x10], eax
push dword [0x43b08c]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x43b9e0
push ebp
push esi
push dword [esp + 0x2f0]
mov dword [esi + 0x14], eax
call fcn.00428adb
or dword [0x438f40], 0xffffffff
push 0xf
push 0xffffffffffffffff
mov ebx, 0x153
push ebx
push dword [esi]
mov ebp, eax
call edi
lea eax, [esp + 0x1c]
push eax
push dword [esi]
call dword [sym.imp.USER32.DLL_GetWindowRect]
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2f4]
sub eax, 0xf
sub ecx, eax
push ecx
push 0xffffffffffffffff
push ebx
push dword [esi]
mov dword [0x438f40], eax
call edi
push dword [esp + 0x2f8]
push esi
call fcn.004255c7
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x2d0
ret 0x1c