Function at 0x4d6d60
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe84
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x17c], ebx
mov ebx, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00405ea8
xor eax, eax
push ebp
push 0x4d70cd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x34], 0
jne 0x4d70ac
mov eax, dword [ebp - 4]
cmp byte [eax + 0x35], 0
jne 0x4d70ac
mov eax, dword [ebp - 4]
mov byte [eax + 0x35], 1
xor edx, edx
push ebp
push 0x4d70a5
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 0x30], 0
jne 0x4d6ddd
mov ecx, 0x98d
mov edx, 0x4d70e4
mov eax, 0x4d7158
call fcn.004040ec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
test eax, eax
jne 0x4d6df1
call fcn.00403bb8
jmp 0x4d70ac
mov edx, eax
mov eax, ebx
call fcn.004d4f80
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x4d7089
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004d6c10
cmp byte [ebp + 8], 0
je 0x4d6f1e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x23], 0
jne 0x4d6ef0
mov eax, 0x104
call fcn.004027c4
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x4d6ee9
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x17c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x28]
call fcn.00404418
mov edx, dword [ebp - 0x17c]
mov ecx, 0x104
mov eax, dword [ebp - 0x14]
call fcn.00409568
push 0x4010
push 0x160
lea eax, [ebp - 0x178]
push eax
push 0x80
mov eax, dword [ebp - 0x14]
push eax
call sub.shell32.dll_SHGetFileInfoA
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x174]
mov dword [eax + 0x18], edx
push 0x4012
push 0x160
lea eax, [ebp - 0x178]
push eax
push 0x80
mov eax, dword [ebp - 0x14]
push eax
call sub.shell32.dll_SHGetFileInfoA
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x174]
mov dword [eax + 0x2c], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d7073
mov eax, dword [ebp - 0x14]
call fcn.004027e4
ret
mov ebx, 0x4008
push ebx
push 0x160
lea eax, [ebp - 0x178]
push eax
push 0
mov eax, dword [ebp - 0x10]
push eax
call sub.shell32.dll_SHGetFileInfoA
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x174]
mov dword [eax + 0x18], edx
jmp 0x4d7073
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
push 1
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.0041951c
test al, al
je 0x4d6f50
mov eax, dword [ebp - 0xc]
and eax, 0x40000000
cmp eax, 0x40000000
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x22], al
mov dword [ebp - 0xc], 0x20b0000
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
push 1
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.0041951c
test al, al
je 0x4d6fcb
mov eax, dword [ebp - 0xc]
and eax, 0x80000
cmp eax, 0x80000
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x24], al
mov eax, dword [ebp - 0xc]
and eax, 0x20000
cmp eax, 0x20000
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x27], al
mov eax, dword [ebp - 0xc]
and eax, 0x10000
cmp eax, 0x10000
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x25], al
mov eax, dword [ebp - 0xc]
and eax, 0x2000000
cmp eax, 0x2000000
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x26], al
mov dword [ebp - 0xc], 0x177
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
push 1
mov eax, dword [ebp - 8]
push eax
mov eax, dword [eax]
call dword [eax + 0x24]
call fcn.0041951c
test al, al
je 0x4d7016
mov eax, dword [ebp - 0xc]
and eax, 0x100
cmp eax, 0x100
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 0x21], al
mov eax, dword [ebp - 0xc]
and eax, 0x10
cmp eax, 0x10
sete al
mov edx, dword [ebp - 4]
mov byte [edx + 4], al
mov ebx, 0x4408
push ebx
push 0x160
lea eax, [ebp - 0x178]
push eax
push 0
mov esi, dword [ebp - 0x10]
push esi
call sub.shell32.dll_SHGetFileInfoA
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x174]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 4]
cmp byte [eax + 0x23], 0
je 0x4d7060
or ebx, 2
push ebx
push 0x160
lea eax, [ebp - 0x178]
push eax
push 0
push esi
call sub.shell32.dll_SHGetFileInfoA
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x174]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x34], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d7090
mov eax, dword [ebp - 0x10]
call fcn.004d515c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d70d4
lea eax, [ebp - 0x17c]
call fcn.00404190
lea eax, [ebp - 8]
call fcn.00405e34
ret