Function at 0x11021722
Capabilities:
Get file system object information

Disassembly:
push 0x4fc
mov eax, 0x1105b20a
call fcn.11056857
mov edi, ecx
mov dword [ebp - 0x504], edi
mov cl, byte [ebp + 0xc]
mov eax, dword [ebp + 8]
mov byte [ebp - 0x4ed], cl
mov ecx, dword [ebp + 0x10]
push eax
mov dword [ebp - 0x4f8], ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsdup]
mov esi, eax
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcslwr]
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x14
push esi
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy]
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
xor ecx, ecx
lea ebx, [edi + 0x2d8]
add esp, 0xc
inc ecx
test eax, eax
jne 0x1102181b
push ecx
push esi
mov ecx, ebx
call fcn.1103919c
mov dword [ebp - 0x4f4], eax
test eax, eax
je 0x110217ce
push 2
push esi
call fcn.110567cd
mov eax, dword [ebp - 0x4f4]
pop ecx
pop ecx
jmp 0x11021a77
mov eax, dword [ebp - 0x4f8]
test eax, eax
je 0x110217f3
push esi
push edi
call eax
mov edi, eax
test edi, edi
je 0x110217f3
push 2
push esi
call fcn.110567cd
pop ecx
pop ecx
mov eax, edi
jmp 0x11021a77
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
lea eax, [ebp - 0x210]
push str.abcd
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy]
add esp, 0x14
push 2
push esi
call fcn.110567cd
cmp byte [ebp - 0x4ed], 0
mov eax, str.folder
pop ecx
pop ecx
lea ecx, [ebp - 0x210]
cmove eax, ecx
mov ecx, ebx
push 1
push eax
mov dword [ebp - 0x508], eax
call fcn.1103919c
test eax, eax
jne 0x11021a77
cmp byte [ebp - 0x4ed], 0
push 0x10
pop esi
push 0x98
lea eax, [esi + 0x70]
cmove esi, eax
call fcn.1105679d
mov edi, eax
pop ecx
mov dword [ebp - 0x4f4], edi
and dword [ebp - 4], 0
test edi, edi
je 0x11021887
lea ecx, [edi + 0x10]
call fcn.11038956
jmp 0x11021889
xor edi, edi
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x4ec]
push 0x4011
push 0x2b4
push eax
push esi
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov dword [ebp - 0x4fc], eax
test eax, eax
je 0x11021a66
mov esi, dword [ebp - 0x504]
push dword [esi + 8]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push 0x10
mov ebx, eax
mov dword [ebp - 0x238], 0x28
pop eax
mov dword [ebp - 0x234], eax
xor ecx, ecx
mov dword [ebp - 0x230], eax
xorps xmm0, xmm0
xor eax, eax
movlpd qword [ebp - 0x220], xmm0
push 0x20
inc eax
mov dword [ebp - 0x214], ecx
mov word [ebp - 0x22c], ax
pop eax
push ecx
push ecx
mov word [ebp - 0x22a], ax
lea eax, [ebp - 0x500]
push eax
push ecx
lea eax, [ebp - 0x238]
mov dword [ebp - 0x228], ecx
push eax
push dword [esi + 8]
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x500], ecx
call dword [sym.imp.GDI32.dll_CreateDIBSection]
push 0x400
push 0
push dword [ebp - 0x500]
mov esi, eax
mov dword [ebp - 0x4f4], esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push esi
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push str.ImageList_DrawEx
push str.comctl32.dll
mov dword [ebp - 0x4f8], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 3
push 0xffffffffffffffff
push 0xffffffffffffffff
mov esi, eax
xor eax, eax
push eax
push eax
push eax
push eax
push ebx
push dword [ebp - 0x4e8]
push dword [ebp - 0x4fc]
call esi
push 3
push 0xffffffffffffffff
push 0xffffffffffffffff
xor eax, eax
push eax
push eax
push eax
push eax
push ebx
push dword [ebp - 0x4e8]
push dword [ebp - 0x4fc]
call esi
push 3
push 0xffffffffffffffff
push 0xffffffffffffffff
xor eax, eax
push eax
push eax
push eax
push eax
push ebx
push dword [ebp - 0x4e8]
push dword [ebp - 0x4fc]
call esi
test eax, eax
jne 0x110219ff
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 0x4f8]
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x4f4]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x11021a75
push dword [ebp - 0x4f8]
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
test eax, eax
jne 0x11021a1d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [ebp - 0x4f4]
xor ebx, ebx
mov ecx, dword [ebp - 0x504]
inc ebx
and dword [edi + 0x94], 0
push 0x10
mov dword [edi], eax
pop eax
push edi
push dword [ebp - 0x508]
lea ecx, [ecx + 0x2d8]
mov byte [edi + 0xc], bl
mov dword [edi + 4], eax
mov dword [edi + 8], eax
call fcn.110393ab
test al, al
jne 0x110217ec
push dword [edi]
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
jmp 0x11021a6e
test edi, edi
je 0x11021a75
xor eax, eax
inc eax
push eax
mov ecx, edi
call fcn.110209d4
xor eax, eax
call fcn.11056801
ret 0xc