Function at 0x44ae78
Capabilities:
Get file system object information

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff004
mov edi, ecx
mov esi, eax
mov ebx, edx
push eax
add esp, 0xfffffcc4
cmp dword [0x4a4b60], 0xffffffff
jne 0x44aef9
push 0x4001
push 0x160
lea eax, [esp + 0xc]
push eax
push 0
push 0x4a4cdd
call sub.SHELL32.DLL_SHGetFileInfoA
mov edx, dword [esp + 8]
push 0x400
lea ecx, [esp + 0x168]
mov dword [0x4c60e4], edx
push ecx
push 0
call sub.KERNEL32.DLL_GetModuleFileNameA
push 0x4001
push 0x160
lea eax, [esp + 0xc]
push eax
push 0
lea edx, [esp + 0x174]
push edx
call sub.SHELL32.DLL_SHGetFileInfoA
mov ecx, dword [esp + 8]
mov dword [0x4a4b60], ecx
push 0x400
push ebx
lea eax, [esp + 0x56c]
push eax
call fcn.00495044
add esp, 0xc
lea eax, [esp + 0x564]
mov ecx, 0x400
xor edx, edx
call fcn.0040c394
lea ebx, [esp + 0x564]
xor eax, eax
mov al, byte [esi]
cmp eax, 0x2e
jne 0x44af3f
xor edx, edx
mov dl, byte [esi + 1]
cmp edx, 0x5c
jne 0x44af3f
add esi, 2
cmp byte [esi], 0
setne cl
and ecx, 1
xor eax, eax
mov byte [esp], cl
xor edx, edx
mov dword [esp + 0x964], 3
mov dword [esp + 0x968], 0x40000000
mov dword [esp + 0x96c], eax
mov dl, byte [ebx]
cmp edx, 0x2e
jne 0x44af80
xor ecx, ecx
mov cl, byte [ebx + 1]
cmp ecx, 0x5c
jne 0x44af80
add ebx, 2
mov dword [esp + 0x978], ebx
cmp byte [esp], 0
je 0x44b025
lea eax, [esp + 0xaec]
mov edx, 0x400
call fcn.0046eb74
lea eax, [esp + 0xaec]
call fcn.0040bf64
push 0x4a50a3
lea edx, [esp + 0xaf0]
push edx
call fcn.00494d88
add esp, 8
mov eax, ebx
call fcn.0040ba60
push eax
lea edx, [esp + 0xaf0]
push edx
call fcn.00494d88
add esp, 8
push 0
push 0x4000100
push 4
push 0
push 0
push 0xc0000000
lea ecx, [esp + 0xb04]
push ecx
call sub.KERNEL32.DLL_CreateFileA
mov ebp, eax
push 0x4001
push 0x160
lea eax, [esp + 0x994]
push eax
push 0
lea edx, [esp + 0xafc]
push edx
call sub.SHELL32.DLL_SHGetFileInfoA
push ebp
call sub.KERNEL32.DLL_CloseHandle
jmp 0x44b03f
push 0x4001
push 0x160
lea ecx, [esp + 0x994]
push ecx
push 0
push ebx
call sub.SHELL32.DLL_SHGetFileInfoA
mov eax, dword [esp + 0x990]
mov dword [esp + 0x980], eax
cmp byte [esp], 0
je 0x44b06a
lea edx, [esp + 0xeec]
mov eax, esi
call fcn.0040a9a4
lea esi, [esp + 0xeec]
jmp 0x44b0c0
push ebx
lea eax, [esp + 0xef0]
push eax
call fcn.00494e64
add esp, 8
lea eax, [esp + 0xeec]
call fcn.0040c004
cmp byte [esp + 0xeec], 0
je 0x44b09a
lea eax, [esp + 0xeec]
jmp 0x44b09f
mov eax, 0x4a4cdd
lea edx, [esp + 0xeec]
call fcn.0040a9a4
lea esi, [esp + 0xeec]
mov eax, ebx
call fcn.0040ba60
mov dword [esp + 0x978], eax
push 0x66
push dword [0x4c234c]
call sub.USER32.DLL_GetDlgItem
mov ebx, eax
lea eax, [esp + 0x964]
push eax
push 0
push 0x1007
push ebx
call sub.USER32.DLL_SendMessageA
mov ebp, eax
mov dword [esp + 0x964], 3
mov dword [esp + 0x968], ebp
mov dword [esp + 0x96c], 1
mov dword [esp + 0x978], esi
cmp byte [esp], 0
je 0x44b117
mov eax, dword [0x4a4b60]
jmp 0x44b11c
mov eax, dword [0x4c60e4]
mov dword [esp + 0x980], eax
lea edx, [esp + 0x964]
push edx
push 0
push 0x1006
push ebx
call sub.USER32.DLL_SendMessageA
mov dword [esp + 0x12f4], 2
mov dword [esp + 0x1300], edi
lea ecx, [esp + 0x12ec]
push ecx
push ebp
push 0x102e
push ebx
call sub.USER32.DLL_SendMessageA
test ebp, ebp
jne 0x44b18d
mov dword [esp + 0x1324], 1
mov dword [esp + 0x1320], 1
lea eax, [esp + 0x1314]
push eax
push 0
push 0x102b
push ebx
call sub.USER32.DLL_SendMessageA
add esp, 0x133c
pop ebp
pop edi
pop esi
pop ebx
ret