Function at 0x7cf984cc
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8e8
push ebx
push esi
or dword [ebp - 0x18], 0xffffffff
push edi
mov ebx, dword [ebp + 8]
push 1
xor esi, esi
or dword [ebp - 8], 0xffffffff
pop edi
lea eax, [ebp - 0x224]
push esi
push esi
push eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], esi
mov word [ebp - 0x42c], si
mov word [ebp - 0x634], si
mov dword [ebp - 0xc], esi
push esi
push dword [ebx + 0x488]
call fcn.7cf97ea1
test eax, eax
je 0x7cf985fd
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and dword [ebp - 0x18], eax
or dword [ebp - 4], eax
cmp dword [ebp - 0x10], esi
jne 0x7cf98592
push 0x408
lea eax, [ebp - 0x8e8]
push 0x2b4
push eax
push esi
push dword [ebp - 0xc]
push dword [ebx + 0x488]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push eax
call fcn.7cf54994
push eax
call sym.SHELL32.dll_SHGetFileInfoW
cmp word [ebp - 0x634], si
lea eax, [ebp - 0x6d4]
push eax
lea eax, [ebp - 0x634]
push eax
jne 0x7cf98583
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x7cf98592
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x10], eax
lea eax, [ebx + 0xdb8]
push 0x30
push eax
lea eax, [ebp - 0x224]
push eax
call fcn.7cf98165
and dword [ebp - 8], eax
cmp dword [ebp - 0x14], esi
je 0x7cf985e9
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
cmp word [ebp - 0x42c], si
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x42c]
push eax
jne 0x7cf985db
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x7cf985e9
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x14], eax
inc dword [ebp - 0xc]
push esi
lea eax, [ebp - 0x224]
push esi
push eax
push dword [ebp - 0xc]
jmp 0x7cf9850c
test byte [ebp - 6], 2
je 0x7cf98612
call fcn.7cfb289e
test eax, eax
je 0x7cf98612
mov dword [ebx + 0x480], edi
test byte [ebp - 8], 0x10
je 0x7cf9861e
mov dword [ebx + 0x47c], edi
test byte [ebp - 8], 0x40
je 0x7cf9862a
mov dword [ebx + 0x484], edi
test byte [ebp - 4], 0x10
je 0x7cf98636
mov dword [ebx + 0xd94], edi
push dword [ebp - 4]
push dword [ebp - 0x18]
push ebx
call fcn.7cf981e0
cmp dword [ebp - 0x10], 0
push 6
pop ecx
lea esi, [ebx + 0x44c]
lea edi, [ebx + 0x464]
lea eax, [ebp - 0x224]
push 0x105
push eax
rep movsd dword es:[edi], dword [esi]
je 0x7cf9867a
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x2201
push dword [0x7d04cdfc]
call edi
jmp 0x7cf986a1
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x2203
push dword [0x7d04cdfc]
call edi
lea eax, [ebp - 0x634]
push eax
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x224]
push eax
push 0x3303
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp dword [ebp - 0x14], 0
lea eax, [ebp - 0x224]
push 0x105
mov esi, 0x3309
push eax
je 0x7cf98718
push 0x2202
push dword [0x7d04cdfc]
call edi
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebx + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebx + 0xb78]
push eax
lea eax, [ebp - 0x42c]
push eax
push esi
push dword [ebx + 0x38]
call fcn.7cf99303
jmp 0x7cf98725
push 0x2205
push dword [0x7d04cdfc]
call edi
lea eax, [ebp - 0x224]
push eax
push esi
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
cmp dword [ebx + 0x44c], 2
mov edi, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov esi, 0x3313
jne 0x7cf98759
push 0
push 6
push 0xf4
push esi
push dword [ebx + 0x38]
call edi
push dword [ebx + 0x464]
push esi
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_CheckDlgButton]
cmp dword [ebx + 0x450], 2
mov esi, 0x3314
jne 0x7cf98786
push 0
push 6
push 0xf4
push esi
push dword [ebx + 0x38]
call edi
push dword [ebx + 0x468]
push esi
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_CheckDlgButton]
test byte [ebp - 4], 4
je 0x7cf987af
push 0
push esi
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
cmp dword [ebx + 0x47c], 0
jne 0x7cf98805
cmp dword [ebx + 0x480], 0
jne 0x7cf98805
push 0x3362
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
cmp dword [ebx + 0x454], 2
mov esi, 0x3315
jne 0x7cf987f3
push 0
push 6
push 0xf4
push esi
push dword [ebx + 0x38]
call edi
push dword [ebx + 0x46c]
push esi
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_CheckDlgButton]
jmp 0x7cf9881a
push 0x3315
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0
push ebx
call fcn.7cf982aa
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 4