Function at 0x46a760
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53e2c8
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
mov eax, dword [0x575494]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
xor edx, edx
xor al, al
mov byte [ebp - 0xd], al
mov dword [ebp - 0x1c], edx
cmp ecx, edx
je 0x46a99b
cmp word [ecx], dx
je 0x46a99b
mov ecx, dword [ebp + 0xc]
cmp ecx, edx
je 0x46a99b
cmp word [ecx], dx
je 0x46a99b
cmp dword [edi + 0xe54], edx
je 0x46a99b
cmp byte [edi + 0x1024], dl
je 0x46a93b
cmp byte [edi + 0xe4a], dl
je 0x46a7ed
mov esi, dword [edi + 0xe5c]
sub esi, dword [edi + 0x101c]
sub esi, dword [edi + 0x1014]
jmp 0x46a7f3
mov esi, dword [edi + 0x1014]
mov ebx, dword [edi + 0x101c]
mov ecx, dword [edi + 0x1018]
mov edx, dword [edi + 0x1020]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edx
cmp ebx, 0x20
jge 0x46a824
mov eax, dword [edi + 0xe5c]
add eax, 0xffffffe0
mov ebx, 0x20
cmp esi, eax
jle 0x46a824
mov esi, eax
cmp edx, 0x20
jge 0x46a840
mov eax, dword [edi + 0xe60]
add eax, 0xffffffe0
mov dword [ebp - 0x14], 0x20
cmp ecx, eax
jle 0x46a840
mov dword [ebp - 0x18], eax
xor edx, edx
push 0x7f02
push edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x46a86b
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
push edx
mov edx, dword [edi + 0xe54]
push ebx
push ecx
push esi
lea eax, [edi + 0x16c]
push edx
call fcn.00442d70
xor ebx, ebx
cmp eax, ebx
je 0x46a970
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x34]
call fcn.00507290
mov esi, 0x54ede0
lea eax, [ebp - 0x34]
mov dword [ebp - 4], ebx
call fcn.00508170
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x34]
call fcn.00508170
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], vtable.CFileRW.0
mov dword [ebp - 0x38], 0xffffffff
mov eax, esi
cmp esi, ebx
jne 0x46a8d7
mov eax, 0x54ee24
push eax
call fcn.00449790
mov bl, al
test bl, bl
je 0x46a8fa
mov eax, esi
test esi, esi
jne 0x46a8ee
mov eax, 0x54ee24
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov ecx, esi
test esi, esi
jne 0x46a905
mov ecx, 0x54ee24
lea edx, [edi + 0x16c]
call fcn.004427c0
mov byte [ebp - 0xd], al
test al, al
jne 0x46a91b
test bl, bl
je 0x46a933
test esi, esi
jne 0x46a924
mov esi, 0x54ee24
push 2
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
cmp byte [ebp - 0xd], 0
jne 0x46a954
mov ebx, dword [edi + 0x170]
jmp 0x46a957
mov eax, dword [edi + 0xe60]
mov ebx, dword [edi + 0xe5c]
xor esi, esi
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], eax
jmp 0x46a842
mov ebx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x40]
call fcn.00449480
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.00507320
jmp 0x46a978
mov ecx, dword [edi + 0x170]
mov ebx, ecx
lea esi, [edi + 0x16c]
call fcn.00475b10
lea esi, [ebp - 0x28]
call fcn.0043d6a0
test ebx, ebx
je 0x46a998
mov ecx, ebx
mov esi, edi
call fcn.0046bce0
mov al, byte [ebp - 0xd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8