Function at 0x487f8c
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffcc0
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov ebx, edx
mov esi, eax
cmp dword [0x4b5df4], 0xffffffff
jne 0x488016
push 0x4001
push 0x160
lea eax, [ebp - 0x168]
push eax
push 0
push 0x4b601f
call sub.SHELL32.DLL_SHGetFileInfoA
mov edx, dword [ebp - 0x164]
lea ecx, [ebp - 0x568]
push 0x400
push ecx
push 0
mov dword [0x4dfe08], edx
call sub.KERNEL32.DLL_GetModuleFileNameA
push 0x4001
lea eax, [ebp - 0x168]
push 0x160
push eax
lea edx, [ebp - 0x568]
push 0
push edx
call sub.SHELL32.DLL_SHGetFileInfoA
mov ecx, dword [ebp - 0x164]
mov dword [0x4b5df4], ecx
lea eax, [ebp - 0x968]
mov ecx, 0x400
mov edx, ebx
call fcn.0040ffdc
lea eax, [ebp - 0x968]
mov ecx, 0x400
xor edx, edx
call fcn.0040d058
lea ebx, [ebp - 0x968]
xor eax, eax
mov al, byte [esi]
cmp eax, 0x2e
jne 0x488056
xor edx, edx
mov dl, byte [esi + 1]
cmp edx, 0x5c
jne 0x488056
add esi, 2
cmp byte [esi], 0
setne cl
and ecx, 1
xor eax, eax
mov byte [ebp - 5], cl
xor edx, edx
mov dword [ebp - 0x990], 3
mov dword [ebp - 0x98c], 0x40000000
mov dword [ebp - 0x988], eax
mov dl, byte [ebx]
cmp edx, 0x2e
jne 0x488094
xor ecx, ecx
mov cl, byte [ebx + 1]
cmp ecx, 0x5c
jne 0x488094
add ebx, 2
mov dword [ebp - 0x97c], ebx
cmp byte [ebp - 5], 0
je 0x488131
lea eax, [ebp - 0xef0]
mov edx, 0x400
call fcn.00466df0
lea eax, [ebp - 0xef0]
call fcn.0040ca00
push str.raricotemp_
lea edx, [ebp - 0xef0]
push edx
call fcn.0049fcf8
add esp, 8
mov eax, ebx
call fcn.0040c4d0
push eax
lea edx, [ebp - 0xef0]
push edx
call fcn.0049fcf8
add esp, 8
lea ecx, [ebp - 0xef0]
push 0
push 0x4000100
push 4
push 0
push 0
push 0xc0000000
push ecx
call sub.KERNEL32.DLL_CreateFileA
mov edi, eax
push 0x4001
push 0x160
lea eax, [ebp - 0xaf0]
push eax
push 0
lea edx, [ebp - 0xef0]
push edx
call sub.SHELL32.DLL_SHGetFileInfoA
push edi
call sub.KERNEL32.DLL_CloseHandle
jmp 0x48814a
push 0x4001
push 0x160
lea ecx, [ebp - 0xaf0]
push ecx
push 0
push ebx
call sub.SHELL32.DLL_SHGetFileInfoA
mov eax, dword [ebp - 0xaec]
mov dword [ebp - 0x974], eax
cmp byte [ebp - 5], 0
je 0x488171
lea edx, [ebp - 0x12f0]
mov eax, esi
call fcn.0040adf8
lea esi, [ebp - 0x12f0]
jmp 0x4881c0
push ebx
lea eax, [ebp - 0x12f0]
push eax
call fcn.0049fdd4
add esp, 8
lea eax, [ebp - 0x12f0]
call fcn.0040cad0
cmp byte [ebp - 0x12f0], 0
je 0x48819d
lea eax, [ebp - 0x12f0]
jmp 0x4881a2
mov eax, 0x4b601f
lea edx, [ebp - 0x12f0]
call fcn.0040adf8
lea esi, [ebp - 0x12f0]
mov eax, ebx
call fcn.0040c4d0
mov dword [ebp - 0x97c], eax
push 0x66
push dword [0x4cfe40]
call sub.USER32.DLL_GetDlgItem
mov ebx, eax
lea eax, [ebp - 0x990]
push eax
push 0
push 0x1007
push ebx
call sub.USER32.DLL_SendMessageA
mov edi, eax
mov dword [ebp - 0x990], 3
mov dword [ebp - 0x98c], edi
mov dword [ebp - 0x988], 1
mov dword [ebp - 0x97c], esi
cmp byte [ebp - 5], 0
je 0x488212
mov eax, dword [0x4b5df4]
jmp 0x488217
mov eax, dword [0x4dfe08]
mov dword [ebp - 0x974], eax
lea edx, [ebp - 0x990]
push edx
push 0
push 0x1006
push ebx
call sub.USER32.DLL_SendMessageA
mov dword [ebp - 0x1310], 2
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x1318]
mov dword [ebp - 0x1304], ecx
push eax
push edi
push 0x102e
push ebx
call sub.USER32.DLL_SendMessageA
test edi, edi
jne 0x488283
mov dword [ebp - 0x1330], 1
mov dword [ebp - 0x1334], 1
lea edx, [ebp - 0x1340]
push edx
push 0
push 0x102b
push ebx
call sub.USER32.DLL_SendMessageA
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret