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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10cc
call fcn.7d041c90
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea esi, [ebx + 0x928]
lea eax, [ebx + 0x3c]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
jne 0x7cf99fc0
mov ecx, 0x94
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
jmp 0x7cf99fc7
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x720
lea eax, [ebp - 0x6c4]
push 0x2b4
push eax
push dword [esi]
lea esi, [ebx + 0x3c]
push esi
call sym.SHELL32.dll_SHGetFileInfoW
push 0x7cf36784
push esi
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x7cf9a02c
xor edi, edi
push 0x10
push edi
push edi
push 1
push esi
push edi
call dword [sym.imp.USER32.dll_LoadImageW]
mov esi, eax
cmp esi, edi
je 0x7cf9a02e
cmp dword [ebp - 0x6c4], edi
je 0x7cf9a024
push dword [ebp - 0x6c4]
call dword [sym.imp.USER32.dll_DestroyIcon]
mov dword [ebp - 0x6c4], esi
jmp 0x7cf9a02e
xor edi, edi
push dword [ebp - 0x6c4]
push 0x3301
push dword [ebx + 0x38]
call fcn.7cfb34a9
cmp dword [ebx + 0x30], edi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dword [ebx + 0xd9c], edi
je 0x7cf9a12d
mov edi, 0x104
lea eax, [ebp - 0x8cc]
push edi
push eax
push 0x107d
push dword [0x7d04cdfc]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x8cc]
push eax
push 0x3303
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebx + 0x3c]
push eax
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 0x7cf9a0fc
push eax
push 0x3859
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
and word [ebp - 0x208], 0
cmp word [ebp - 0x208], 0
jne 0x7cf9a11f
lea eax, [ebp - 0x208]
push edi
push eax
push 0x107e
push dword [0x7d04cdfc]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp - 0x208]
push eax
push 0x3857
jmp 0x7cf9a139
lea eax, [ebp - 0x4b0]
push eax
push 0x3303
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebp - 0x6b8]
push eax
lea eax, [ebx + 0xb80]
push eax
call esi
lea eax, [ebp - 0x6b8]
mov edi, 0x3364
push eax
push edi
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
lea eax, [ebx + 0x3c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea eax, [ebp - 0x6b8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x7cf9a18e
mov dword [ebx + 0xda4], 1
lea eax, [ebx + 0x3c]
push eax
lea eax, [ebp - 0x410]
push eax
call esi
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
cmp dword [ebx + 0xda4], 0
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
je 0x7cf9a1bd
and dword [ebp + 8], 0
jmp 0x7cf9a1cd
lea eax, [ebx + 0x3c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
push eax
call esi
mov dword [ebp + 8], eax
lea eax, [ebp - 0x410]
push eax
call esi
mov ecx, 0x101
xor esi, esi
sub ecx, dword [ebp + 8]
push esi
sub ecx, eax
push ecx
push 0xc5
push edi
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebx + 0xda8], esi
je 0x7cf9a2aa
lea eax, [ebx + 0x3c]
push eax
call sym.SHELL32.dll_ILCreateFromPath
cmp eax, esi
mov dword [ebx + 0xe1c], eax
je 0x7cf9a291
lea ecx, [ebp + 8]
push ecx
push 0x7cf39820
push esi
push eax
call fcn.7d04116b
test eax, eax
jl 0x7cf9a291
mov eax, dword [ebp + 8]
lea edi, [ebx + 0xe20]
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10]
test eax, eax
jl 0x7cf9a25a
push dword [edi]
push 0x3380
push dword [ebx + 0x38]
call fcn.7cf99f01
test eax, eax
je 0x7cf9a25a
mov dword [ebx + 0xe24], esi
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x10cc]
push 0x400
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
jl 0x7cf9a288
lea eax, [ebp - 0x10cc]
push eax
push 0x3740
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
lea eax, [ebx + 0x92c]
push eax
push 0x3310
push dword [ebx + 0x38]
call fcn.7cf99e5f
jmp 0x7cf9a416
mov eax, dword [ebx + 0x928]
push eax
push eax
push ebx
call fcn.7cf981e0
push 6
lea eax, [ebx + 0x44c]
pop ecx
lea edi, [ebx + 0x464]
push dword [eax]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [sym.imp.USER32.dll_CheckDlgButton]
push 0x3313
push dword [ebx + 0x38]
call edi
push dword [ebx + 0x450]
push 0x3314
push dword [ebx + 0x38]
call edi
cmp dword [ebx + 0xdb0], 0
je 0x7cf9a311
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push 0x3364
push dword [ebx + 0x38]
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x7cf9a317
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
test byte [ebx + 0x928], 4
je 0x7cf9a333
push 0
push 0x3314
push dword [ebx + 0x38]
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
cmp dword [ebx + 0x47c], 0
jne 0x7cf9a368
cmp dword [ebx + 0x480], 0
jne 0x7cf9a368
push 0x3362
push dword [ebx + 0x38]
call esi
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [ebx + 0x46c]
push 0x3315
push dword [ebx + 0x38]
call edi
jmp 0x7cf9a379
push 0x3315
push dword [ebx + 0x38]
call esi
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
lea edi, [ebx + 0x928]
push edi
push ebx
call fcn.7cf982aa
test byte [edi], 0x10
jne 0x7cf9a3c6
lea edi, [ebx + 0x3c]
push edi
call fcn.7cfb0f7a
test eax, eax
je 0x7cf9a39f
mov dword [ebx + 0x34], 1
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test ah, 0x10
jne 0x7cf9a3b3
push ebx
call fcn.7cff8c19
jmp 0x7cf9a3c6
push 0
push 0x3fb
push dword [ebx + 0x38]
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
lea eax, [ebx + 0x3c]
push 0x104
push eax
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebx + 0xb78]
mov esi, 0x3309
push eax
lea eax, [ebp - 0x410]
push eax
push esi
push dword [ebx + 0x38]
call fcn.7cf99303
lea eax, [ebp - 0x410]
push eax
push esi
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 4