Function at 0x1af7fc
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 0x1afaab
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
call fcn.00104aa0
test esi, esi
jne 0x1af847
cmp byte [ebp - 1], 0
jne 0x1af847
mov edx, edi
mov eax, ebx
call fcn.001ad0a8
jmp 0x1afa92
mov eax, ebx
call fcn.001af670
test al, al
je 0x1af92f
cmp byte [ebp - 1], 0
je 0x1af863
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x1af869
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x11c]
mov edx, 0x110
call fcn.00107cdc
push 1
call sub.kernel32.dll_SetErrorMode
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x1af928
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebx + 0x68], 0
je 0x1af8d2
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.00118b10
test al, al
je 0x1af8d2
mov ecx, edi
mov eax, dword [ebx + 0x3c]
lea edx, [ebp - 0x114]
call fcn.001b010c
lea eax, [ebp - 0x114]
call fcn.001aca98
jmp 0x1af911
cmp dword [ebx + 0x64], 0
je 0x1af911
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.00118b10
test al, al
je 0x1af911
mov ecx, edi
mov eax, dword [ebx + 0x3c]
lea edx, [ebp - 0x114]
call fcn.001b010c
lea eax, [ebp - 0x114]
call fcn.001aca98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1afa92
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_SetErrorMode
ret
cmp byte [ebp - 1], 0
je 0x1af95e
cmp esi, 3
jle 0x1af946
mov eax, edi
call fcn.00104aa0
jmp 0x1afa92
mov eax, edi
lea edx, [esi + esi*2]
mov ecx, dword [0x24486c]
mov edx, dword [ecx + edx*4]
call fcn.00104af4
jmp 0x1afa92
lea eax, [ebp - 0x280]
lea edx, [ebx + 0x9c]
mov ecx, 0x104
call fcn.00104d10
cmp dword [ebp - 0x280], 0
jne 0x1af9a2
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.00118b10
test al, al
je 0x1afa92
dec esi
je 0x1af9b8
dec esi
je 0x1afa51
dec esi
je 0x1afa85
jmp 0x1afa92
test dword [ebx + 0x70], 0x10
jbe 0x1af9cd
mov eax, edi
call fcn.00104aa0
jmp 0x1afa92
mov eax, dword [ebx + 0x90]
cmp eax, 0x400
jae 0x1af9e8
test eax, eax
jbe 0x1af9e8
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]
fld dword [0x1afabc]
call fcn.001031fc
fstp xword [ebp - 0x2a4]
wait
lea eax, [ebp - 0x2a4]
mov dword [ebp - 0x290], eax
mov byte [ebp - 0x28c], 3
mov eax, 0x1afac8
mov dword [ebp - 0x288], eax
mov byte [ebp - 0x284], 0xb
lea edx, [ebp - 0x290]
mov ecx, 1
mov eax, 0x1afad4
call fcn.0010a8a8
jmp 0x1afa92
push 0x408
push 0x160
lea eax, [ebp - 0x27c]
push eax
push 0
mov eax, ebx
call fcn.001ae674
push eax
call sub.shell32.dll_SHGetFileInfoA
mov eax, edi
lea edx, [ebp - 0x16c]
mov ecx, 0x50
call fcn.00104d10
jmp 0x1afa92
mov edx, edi
lea eax, [ebx + 0x84]
call fcn.001af74c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1afab2
lea eax, [ebp - 0x280]
call fcn.00104aa0
ret