Function at 0x4d368c
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd5c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x280], ebx
mov byte [ebp - 1], cl
mov esi, edx
mov ebx, eax
mov edi, dword [ebp + 8]
xor eax, eax
push ebp
push 0x4d3936
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
call fcn.00404d04
test esi, esi
jne 0x4d36d7
cmp byte [ebp - 1], 0
jne 0x4d36d7
mov edx, edi
mov eax, ebx
call fcn.004d1a18
jmp 0x4d391d
mov eax, ebx
call fcn.004d3500
test al, al
je 0x4d37bf
cmp byte [ebp - 1], 0
je 0x4d36f3
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x4d36f9
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x11c]
mov edx, 0x110
call fcn.0040817c
push 1
call sub.kernel32.dll_SetErrorMode
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x4d37b8
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebx + 0x68], 0
je 0x4d3762
lea eax, [ebp - 0x11c]
push eax
push esi
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebx + 0x68]
push eax
mov eax, dword [eax]
call dword [eax + 0x48]
call fcn.00417c14
test al, al
je 0x4d3762
mov ecx, edi
mov eax, dword [ebx + 0x3c]
lea edx, [ebp - 0x114]
call fcn.004d0a18
lea eax, [ebp - 0x114]
call fcn.004d1530
jmp 0x4d37a1
cmp dword [ebx + 0x64], 0
je 0x4d37a1
lea eax, [ebp - 0x11c]
push eax
push esi
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebx + 0x64]
push eax
mov eax, dword [eax]
call dword [eax + 0xc]
call fcn.00417c14
test al, al
je 0x4d37a1
mov ecx, edi
mov eax, dword [ebx + 0x3c]
lea edx, [ebp - 0x114]
call fcn.004d0a18
lea eax, [ebp - 0x114]
call fcn.004d1530
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d391d
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_SetErrorMode
ret
cmp byte [ebp - 1], 0
je 0x4d37ee
cmp esi, 3
jle 0x4d37d6
mov eax, edi
call fcn.00404d04
jmp 0x4d391d
mov eax, edi
lea edx, [esi + esi*2]
mov ecx, dword [0x5922b0]
mov edx, dword [ecx + edx*4]
call fcn.00404d58
jmp 0x4d391d
lea eax, [ebp - 0x280]
lea edx, [ebx + 0x9c]
mov ecx, 0x104
call fcn.00404f74
cmp dword [ebp - 0x280], 0
jne 0x4d3832
push 0x140
lea eax, [ebx + 0x70]
push eax
push 1
mov eax, dword [ebx + 0x3c]
push eax
mov eax, dword [ebx + 0x38]
push eax
call sub.shell32.dll_SHGetDataFromIDListA
call fcn.00417c14
test al, al
je 0x4d391d
dec esi
je 0x4d3848
dec esi
je 0x4d38dc
dec esi
je 0x4d3910
jmp 0x4d391d
test dword [ebx + 0x70], 0x10
jbe 0x4d385d
mov eax, edi
call fcn.00404d04
jmp 0x4d391d
mov eax, dword [ebx + 0x90]
cmp eax, 0x400
jae 0x4d3878
test eax, eax
jbe 0x4d3878
mov dword [ebx + 0x90], 0x400
push edi
mov eax, dword [ebx + 0x90]
mov dword [ebp - 0x298], eax
xor eax, eax
mov dword [ebp - 0x294], eax
fild qword [ebp - 0x298]
fdiv dword [0x4d3948]
fstp xword [ebp - 0x2a4]
wait
lea eax, [ebp - 0x2a4]
mov dword [ebp - 0x290], eax
mov byte [ebp - 0x28c], 3
mov eax, 0x4d3954
mov dword [ebp - 0x288], eax
mov byte [ebp - 0x284], 0xb
lea edx, [ebp - 0x290]
mov ecx, 1
mov eax, 0x4d3960
call fcn.0040ad70
jmp 0x4d391d
push 0x408
push 0x160
lea eax, [ebp - 0x27c]
push eax
push 0
mov eax, ebx
call fcn.004d27c0
push eax
call sub.shell32.dll_SHGetFileInfo
mov eax, edi
lea edx, [ebp - 0x16c]
mov ecx, 0x50
call fcn.00404f74
jmp 0x4d391d
mov edx, edi
lea eax, [ebx + 0x84]
call fcn.004d35dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d393d
lea eax, [ebp - 0x280]
call fcn.00404d04
ret