Function at 0x40d750
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2cc
mov eax, dword [0x49e280]
xor eax, esp
mov dword [esp + 0x2c8], eax
push ebp
mov ebp, dword [esp + 0x2d4]
xor eax, eax
push 0x1fe
push eax
lea ecx, [esp + 0xd6]
push ecx
mov word [esp + 0xd8], ax
call fcn.0045acf0
add esp, 0xc
mov dword [esp + 4], str.CSIDL_DESKTOP
mov dword [esp + 8], str.CSIDL_INTERNET
mov dword [esp + 0xc], str.CSIDL_PROGRAMS
mov dword [esp + 0x10], str.CSIDL_CONTROLS
mov dword [esp + 0x14], str.CSIDL_PRINTERS
mov dword [esp + 0x18], str.CSIDL_PERSONAL
mov dword [esp + 0x1c], str.CSIDL_FAVORITES
mov dword [esp + 0x20], str.CSIDL_STARTUP
mov dword [esp + 0x24], str.CSIDL_RECENT
mov dword [esp + 0x28], str.CSIDL_SENDTO
mov dword [esp + 0x2c], str.CSIDL_BITBUCKET
mov dword [esp + 0x30], str.CSIDL_STARTMENU
mov dword [esp + 0x34], 0x48c598
mov dword [esp + 0x38], 0x48c5c8
mov dword [esp + 0x3c], 0x48c5cc
mov dword [esp + 0x40], 0x48c5d0
mov dword [esp + 0x44], str.CSIDL_DESKTOPDIRECTORY
mov dword [esp + 0x48], str.CSIDL_DRIVES
mov dword [esp + 0x4c], str.CSIDL_NETWORK
mov dword [esp + 0x50], str.CSIDL_NETHOOD
mov dword [esp + 0x54], str.CSIDL_FONTS
mov dword [esp + 0x58], str.CSIDL_TEMPLATES
mov dword [esp + 0x5c], str.CSIDL_COMMON_STARTMENU
mov dword [esp + 0x60], str.CSIDL_COMMON_PROGRAMS
mov dword [esp + 0x64], str.CSIDL_COMMON_STARTUP
mov dword [esp + 0x68], str.CSIDL_COMMON_DESKTOPDIRECTORY
mov dword [esp + 0x6c], str.CSIDL_APPDATA
mov dword [esp + 0x70], str.CSIDL_PRINTHOOD
mov dword [esp + 0x74], str.CSIDL_LOCAL_APPDATA
mov dword [esp + 0x78], str.CSIDL_ALTSTARTUP
mov dword [esp + 0x7c], str.CSIDL_COMMON_ALTSTARTUP
mov dword [esp + 0x80], str.CSIDL_COMMON_FAVORITES
mov dword [esp + 0x84], str.CSIDL_INTERNET_CACHE
mov dword [esp + 0x88], str.CSIDL_COOKIES
mov dword [esp + 0x8c], str.CSIDL_HISTORY
mov dword [esp + 0x90], str.CSIDL_COMMON_APPDATA
mov dword [esp + 0x94], str.CSIDL_WINDOWS
mov dword [esp + 0x98], str.CSIDL_SYSTEM
mov dword [esp + 0x9c], str.CSIDL_PROGRAM_FILES
mov dword [esp + 0xa0], str.CSIDL_MYPICTURES
mov dword [esp + 0xa4], str.CSIDL_PROFILE
mov dword [esp + 0xa8], str.CSIDL_SYSTEMX86
mov dword [esp + 0xac], str.CSIDL_PROGRAM_FILESX86
mov dword [esp + 0xb0], str.CSIDL_PROGRAM_FILES_COMMON
mov dword [esp + 0xb4], str.CSIDL_PROGRAM_FILES_COMMONX86
mov dword [esp + 0xb8], str.CSIDL_COMMON_TEMPLATES
mov dword [esp + 0xbc], str.CSIDL_COMMON_DOCUMENTS
mov dword [esp + 0xc0], str.CSIDL_COMMON_ADMINTOOLS
mov dword [esp + 0xc4], str.CSIDL_ADMINTOOLS
mov dword [esp + 0xc8], str.CSIDL_CONNECTIONS
test ebp, ebp
je 0x40d9f8
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x40d9f8
push ebx
mov ebx, dword [sym.imp.ComFnUtl.dll_ComFnUtl_GetSpecialFolderW]
push esi
push edi
xor esi, esi
jmp 0x40d980
mov edi, dword [esp + esi*4 + 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x40d9d2
push 0x100
lea edx, [esp + 0xdc]
push edx
push esi
push 0
call ebx
add esp, 0x10
test eax, eax
je 0x40d9d2
cmp word [esp + 0xda], 0x3a
jne 0x40d9d2
cmp word [esp + 0xdc], 0x5c
jne 0x40d9d2
lea eax, [esp + 0xd8]
push eax
mov edx, edi
mov ecx, ebp
call fcn.0040d580
add esp, 4
inc esi
cmp esi, 0x31
jbe 0x40d980
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
pop edi
pop esi
pop ebx
pop ebp
mov ecx, dword [esp + 0x2c8]
xor ecx, esp
call fcn.00457c10
add esp, 0x2cc
ret
mov ecx, dword [esp + 0x2cc]
pop ebp
xor ecx, esp
xor eax, eax
call fcn.00457c10
add esp, 0x2cc
ret