Function at 0x466040
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x24
push ebx
mov ebx, ecx
push esi
push edi
sub eax, 0x110
je 0x4662fb
sub eax, 1
je 0x46610d
sub eax, 0x122
jne 0x466102
push 0x208
call fcn.004d9a7e
add esp, 4
mov dword [ebp + 0xc], eax
push 0
push 0
push 0xffffffffffffffff
push dword [ebp + 0x10]
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
xor esi, esi
mov dword [ebp - 4], eax
test eax, eax
je 0x4660ee
mov edi, dword [ebp + 8]
mov ebx, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
nop
push 0x104
push dword [ebp + 0xc]
push esi
push dword [ebp + 0x10]
call dword [sym.imp.SHELL32.dll_DragQueryFileW]
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x4660e8
push dword [ebp + 0xc]
push 0xffffffffffffffff
push 0x1a2
push 0x3f7
push edi
call ebx
cmp eax, 0xffffffff
jne 0x4660e8
push dword [ebp + 0xc]
push 0
push 0x180
push 0x3f7
push edi
call ebx
inc esi
cmp esi, dword [ebp - 4]
jb 0x4660a0
push dword [ebp + 0x10]
call dword [sym.imp.SHELL32.dll_DragFinish]
push dword [ebp + 0xc]
call fcn.004d9a63
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
movzx eax, word [ebp + 0x10]
mov edi, 1
cmp di, ax
jne 0x46618d
mov edi, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0
push 0
push 0xf0
push 0x407
push dword [ebp + 8]
call edi
mov esi, dword [ebx + 0x64]
push 0
push 0
push 0x18b
mov ecx, dword [esi + 0x284]
mov edx, ecx
xor edx, eax
and edx, 1
xor edx, ecx
mov dword [esi + 0x284], edx
mov esi, dword [ebp + 8]
push 0x3f7
push esi
call edi
test eax, eax
je 0x466174
push esi
mov ecx, ebx
call fcn.00465710
test eax, eax
jne 0x4662eb
push 1
push esi
call dword [sym.imp.USER32.dll_EndDialog]
mov edi, 1
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, 2
cmp cx, ax
jne 0x4661ad
push 1
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_EndDialog]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, 0x3ee
cmp cx, ax
jne 0x4661cc
push dword [ebp + 8]
mov ecx, ebx
call fcn.00465d60
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, 0x3ed
cmp cx, ax
jne 0x4661f8
push 0
push 0
push 0x184
push 0x3f7
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, 0x3f9
cmp cx, ax
jne 0x46624f
mov edx, 0x863f1301
mov ecx, ebx
call fcn.00464540
cmp eax, 1
jne 0x4662f0
movaps xmm0, xmmword [0x513d10]
lea eax, [ebp - 0x24]
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0x64]
movups xmmword [ebp - 0x24], xmm0
push 0x863f1301
movaps xmm0, xmmword [0x513d30]
push eax
movups xmmword [ebp - 0x14], xmm0
call fcn.00467620
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, 0x407
cmp cx, ax
jne 0x46626f
push ecx
push dword [ebp + 8]
mov ecx, ebx
call fcn.00465fa0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, 0x3f8
cmp cx, ax
jne 0x466102
push 0
push 0
push 0x18b
push 0x3f7
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4662f0
xor esi, esi
test ebx, ebx
je 0x4662f0
xor edi, edi
push edi
push esi
push 0x187
push 0x3f7
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
test eax, eax
jle 0x4662dd
push edi
push esi
push 0x182
push 0x3f7
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
cmp eax, 0xffffffff
je 0x4662dd
mov edi, 1
mov ebx, eax
test edi, edi
lea eax, [esi + 1]
cmovne eax, esi
mov esi, eax
cmp esi, ebx
jb 0x4662a1
mov edi, 1
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
movaps xmm0, xmmword [0x513d10]
xor esi, esi
mov edi, dword [ebp + 8]
movups xmmword [ebp - 0x24], xmm0
movaps xmm0, xmmword [0x513d30]
movups xmmword [ebp - 0x14], xmm0
nop word [eax + eax]
push 0
push 0xff
push 0xc5
push dword [ebp + esi*4 - 0x24]
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
inc esi
cmp esi, 8
jb 0x466320
mov ecx, dword [ebx + 0x64]
lea eax, [ebp - 0x24]
push 0x863f1301
push eax
mov edx, edi
call fcn.00467620
mov ecx, dword [ebx + 0x70]
lea edx, [ebp + 0xc]
add esp, 8
mov eax, dword [ecx]
push 0x84
push edx
call dword [eax]
push dword [ebp + 0xc]
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0x3f2
push edi
call esi
mov ecx, dword [ebx + 0x70]
lea edx, [ebp + 0xc]
push 0x86
push edx
mov eax, dword [ecx]
call dword [eax]
push dword [ebp + 0xc]
push 0x3ef
push edi
call esi
mov ecx, dword [ebx + 0x70]
lea edx, [ebp + 0xc]
push 0x87
push edx
mov eax, dword [ecx]
call dword [eax]
push dword [ebp + 0xc]
push 0x3f0
push edi
call esi
mov ecx, dword [ebx + 0x70]
lea edx, [ebp + 0xc]
push 0x85
push edx
mov eax, dword [ecx]
call dword [eax]
push dword [ebp + 0xc]
push 1
push edi
call esi
mov ecx, dword [ebx + 0x70]
lea edx, [ebp + 0xc]
push 0x63
push edx
mov eax, dword [ecx]
call dword [eax]
push dword [ebp + 0xc]
push 2
push edi
call esi
mov ecx, dword [ebx + 0x70]
lea edx, [ebp + 0xc]
push 0x88
push edx
mov eax, dword [ecx]
call dword [eax]
push dword [ebp + 0xc]
push 0x3ee
push edi
call esi
mov ecx, dword [ebx + 0x70]
lea edx, [ebp + 0xc]
push 0x8a
push edx
mov eax, dword [ecx]
call dword [eax]
push dword [ebp + 0xc]
push 0x3ed
push edi
call esi
mov ecx, dword [ebx + 0x70]
push 0x89
mov eax, dword [ecx]
lea edx, [ebp + 0xc]
push edx
call dword [eax]
push dword [ebp + 0xc]
push 0x3f9
push edi
call esi
mov ecx, dword [ebx + 0x70]
lea edx, [ebp + 0xc]
push 0x91
push edx
mov eax, dword [ecx]
call dword [eax]
push dword [ebp + 0xc]
push 0x3f8
push edi
call esi
mov ecx, dword [ebx + 0x70]
lea edx, [ebp + 0xc]
push 0xb6
push edx
mov eax, dword [ecx]
call dword [eax]
push dword [ebp + 0xc]
push 0x407
push edi
call esi
mov eax, dword [ebx + 0x64]
push 0
mov eax, dword [eax + 0x284]
and eax, 1
push eax
push 0xf1
push 0x407
push edi
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push ecx
push edi
mov ecx, ebx
call fcn.00465fa0
mov ecx, dword [ebx + 0x70]
lea edx, [ebp + 0xc]
push 0x454ef18e
push edx
mov eax, dword [ecx]
call dword [eax]
push dword [ebp + 0xc]
push edi
call dword [sym.imp.USER32.dll_SetWindowTextW]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10