Function at 0x46bfec
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push esi
mov esi, ecx
cmp byte [esi + 0x43], 0
je 0x46c002
xor al, al
jmp 0x46c234
push edi
call fcn.0046bfdb
mov edi, eax
mov ecx, edi
mov dword [ebp - 4], edi
call fcn.00445398
test al, al
jne 0x46c045
push dword [0x4cdedc]
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x24], 0x30
call fcn.00450a20
pop ecx
pop ecx
mov ecx, edi
call fcn.00444521
xor al, al
jmp 0x46c233
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
cmp byte [eax + 0x24], 0
push ebx
jne 0x46c0a6
test dword [esi + 0x38], 0x200
jne 0x46c0af
push edi
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
mov ecx, edi
lea ebx, [ecx + 2]
mov dx, word [ecx]
inc ecx
inc ecx
test dx, dx
jne 0x46c066
sub ecx, ebx
sar ecx, 1
cmp eax, 0xffffffff
je 0x46c07d
test al, 0x10
jne 0x46c089
test ecx, ecx
jle 0x46c0a6
cmp word [edi + ecx*2 - 2], 0x5c
jne 0x46c0a6
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov edx, dword [eax + 0x20]
mov ecx, edi
call fcn.00444f48
mov ecx, edi
mov ebx, eax
call fcn.00444521
mov dword [ebp - 4], ebx
mov edi, ebx
test dword [esi + 0x38], 0x200
je 0x46c0bc
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
push edi
call fcn.0041fad3
jmp 0x46c0c7
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
push edi
call fcn.0041fcea
push 0x4e6
mov ecx, esi
call fcn.0044f247
movzx ebx, al
neg ebx
sbb ebx, ebx
push 0x4b4
mov ecx, esi
and ebx, 0x10
call fcn.0044f247
movzx edi, al
neg edi
sbb edi, edi
and edi, 0x40
or edi, ebx
mov ebx, dword [esi + 0x3c]
push 0x4b2
mov ecx, esi
call fcn.0044f247
mov ecx, dword [ebx]
movzx eax, al
neg eax
sbb eax, eax
and eax, 2
and ecx, 0xffffffad
or eax, ecx
or eax, edi
push 0x53e
mov ecx, esi
mov dword [ebx], eax
call fcn.0044f247
neg al
sbb al, al
inc al
push 0x4b6
mov byte [0x4c831e], al
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov eax, dword [esi + 0x34]
xor ebx, ebx
xor edi, edi
cmp dword [eax + 0x14], ebx
je 0x46c173
mov ecx, dword [esi + 0x34]
push edi
call fcn.0044b5fc
test al, al
jne 0x46c16a
mov ecx, dword [esi + 0x34]
push edi
call fcn.0044b59f
mov eax, dword [eax + 0x10]
cmp eax, ebx
je 0x46c16a
mov byte [eax + 0x20], bl
mov eax, dword [esi + 0x34]
inc edi
cmp edi, dword [eax + 0x14]
jne 0x46c14a
mov edi, 0x200
test dword [esi + 0x38], edi
jne 0x46c192
push 0x5c
push dword [ebp - 4]
call sub.MSVCRT.dll_wcsrchr
pop ecx
pop ecx
cmp eax, ebx
je 0x46c1a2
xor ecx, ecx
mov word [eax], cx
mov edx, dword [ebp - 4]
mov ecx, 0x4c88e8
call fcn.0044520f
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 4]
call fcn.00444521
push ebx
push 0x4be
mov ecx, esi
call fcn.0046ba5b
mov ecx, eax
call fcn.0043afd2
cmp word [eax], bx
je 0x46c1ce
mov ecx, dword [esi + 0x24]
mov dword [ecx + 0x268], eax
jmp 0x46c1d5
mov ecx, eax
call fcn.00444521
mov ecx, dword [esi + 0x24]
mov dword [ebp - 8], ebx
pop ebx
test dword [esi + 0x38], edi
je 0x46c1f9
call fcn.004052ef
mov ecx, eax
call fcn.0043ad70
mov edx, eax
lea ecx, [ebp - 8]
call fcn.0043abfb
jmp 0x46c201
call fcn.004051d8
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x3c]
push dword [eax]
mov edx, dword [ebp - 8]
mov ecx, dword [esi + 0x24]
call fcn.004523bd
test al, al
jne 0x46c21a
mov byte [esi + 0x42], al
jmp 0x46c229
push dword [esi + 0x2c]
mov ecx, dword [esi + 0x24]
xor dl, dl
mov byte [esi + 0x42], 1
call dword [esi + 0x28]
mov ecx, dword [ebp - 8]
call fcn.00444521
mov al, 1
pop edi
pop esi
leave
ret