Function at 0x7cfe0113
Capabilities:
Get disk information
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8cc
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea esi, [ebx + 0x928]
lea edi, [ebx + 0x3c]
push esi
push edi
mov dword [ebp + 8], edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
jne 0x7cfe014b
mov ecx, 0x94
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
jmp 0x7cfe0152
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x720
lea eax, [ebp - 0x4bc]
push 0x2b4
push eax
push dword [esi]
push edi
call sym.SHELL32.dll_SHGetFileInfoW
push 0x7cf36784
push edi
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCmpIW]
test eax, eax
jne 0x7cfe01b4
xor esi, esi
push 0x10
push esi
push esi
push 1
push edi
push esi
call dword [sym.imp.USER32.dll_LoadImageW]
mov edi, eax
cmp edi, esi
je 0x7cfe01b6
cmp dword [ebp - 0x4bc], esi
je 0x7cfe01ac
push dword [ebp - 0x4bc]
call dword [sym.imp.USER32.dll_DestroyIcon]
mov dword [ebp - 0x4bc], edi
jmp 0x7cfe01b6
xor esi, esi
cmp dword [ebx + 0x30], esi
mov dword [ebx + 0xd9c], esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
je 0x7cfe0267
mov edi, 0x104
lea eax, [ebp - 0x8cc]
push edi
push eax
push 0x107d
push dword [0x7d04cdfc]
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [ebp + 8]
lea eax, [ebp - 0x208]
push eax
call esi
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea eax, [ebp - 0x8cc]
push edi
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.7d03f3d6
lea eax, [ebx + 0xdb8]
push 0x30
push eax
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0x208]
push edi
push eax
lea eax, [ebp - 0x8cc]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
test eax, eax
jne 0x7cfe0244
and word [ebp - 0x208], ax
cmp word [ebp - 0x208], 0
jne 0x7cfe0267
lea eax, [ebp - 0x208]
push edi
push eax
push 0x107e
push dword [0x7d04cdfc]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x4b0]
push eax
lea eax, [ebx + 0xb80]
push eax
call esi
push dword [ebp + 8]
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea eax, [ebp - 0x4b0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x7cfe029c
mov dword [ebx + 0xda4], 1
push dword [ebp + 8]
lea eax, [ebp - 0x6c4]
push eax
call esi
lea eax, [ebp - 0x6c4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
cmp dword [ebx + 0xda8], 0
je 0x7cfe02ea
push dword [ebp + 8]
call sym.SHELL32.dll_ILCreateFromPath
test eax, eax
mov dword [ebx + 0xe1c], eax
je 0x7cfe0370
lea ecx, [ebp + 8]
push ecx
push 0x7cf39820
push 0
push eax
call fcn.7d04116b
jmp 0x7cfe0370
mov eax, dword [ebx + 0x928]
push eax
push eax
push ebx
call fcn.7cf981e0
push 6
lea esi, [ebx + 0x44c]
lea edi, [ebx + 0x464]
pop ecx
rep movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x928]
push esi
push ebx
call fcn.7cf982aa
test byte [esi], 0x10
jne 0x7cfe0344
push dword [ebp + 8]
call fcn.7cfb0f7a
test eax, eax
je 0x7cfe032e
mov dword [ebx + 0x34], 1
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test ah, 0x10
jne 0x7cfe034e
push ebx
call fcn.7cff8c19
jmp 0x7cfe034e
mov dword [ebx + 0xd94], 1
push 0x104
lea eax, [ebp - 0x6c4]
push dword [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
lea eax, [ebp - 0x6c4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 4