Function at 0x410074
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cdbbf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1ac
and dword [ebp - 0x24], 0
push dword [ebp + 8]
call fcn.0040a653
pop ecx
test eax, eax
je 0x4100aa
mov al, 1
jmp 0x410831
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jb 0x41012f
cmp dword [ebp - 0x30], 3
jbe 0x4100cd
cmp dword [ebp - 0x30], 5
je 0x4100d4
jmp 0x41012f
mov al, 1
jmp 0x410831
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x41012f
mov ecx, dword [ebp + 8]
call fcn.00405b2a
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
and eax, 1
je 0x410111
mov eax, dword [ebp - 0x28]
and eax, 0xfffffffe
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
mov ecx, dword [ebp + 8]
call fcn.00405b2a
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 1
push 0x64
call dword [sym.imp.KERNEL32.dll_SleepEx]
push dword [ebp + 8]
call fcn.0040a653
pop ecx
test eax, eax
je 0x41012f
mov al, 1
jmp 0x410831
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x410734
lea ecx, [ebp - 0x20]
call fcn.004054e3
and dword [ebp - 4], 0
push 0
push dword [ebp + 8]
lea eax, [ebp - 0x165]
push eax
call fcn.004264e8
add esp, 0xc
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x88], eax
mov byte [ebp - 4], 1
push dword [ebp - 0x88]
lea ecx, [ebp - 0x20]
call fcn.00405662
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x165]
call fcn.004055b0
lea ecx, [ebp - 0x3c]
call fcn.004054e3
mov byte [ebp - 4], 2
push str..del
lea eax, [ebp - 0x11d]
push eax
lea eax, [ebp - 0x177]
push eax
call fcn.004226aa
pop ecx
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 3
push dword [ebp - 0x98]
lea eax, [ebp - 0x1ad]
push eax
push 0x4dae7c
lea eax, [ebp - 0x12f]
push eax
lea ecx, [ebp - 0x20]
call fcn.00405cc1
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xb0]
call fcn.00405bb0
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xb8]
call fcn.00405cc1
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xc0], eax
mov byte [ebp - 4], 6
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x3c]
call fcn.00405662
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11d]
call fcn.004055b0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1ad]
call fcn.004055b0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x12f]
call fcn.004055b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x177]
call fcn.004055b0
mov byte [ebp - 0xd], 0
lea ecx, [ebp - 0x20]
call fcn.00405b2a
push eax
push str.c:MgateWebExtrasFilesToDelete.dat
call fcn.004b6232
pop ecx
pop ecx
test eax, eax
jne 0x41029b
mov byte [ebp - 0xd], 1
push 3
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004117be
add esp, 0xc
test eax, eax
je 0x4102ef
lea eax, [ebp - 0x3c]
push eax
call fcn.0040a653
pop ecx
test eax, eax
je 0x4102e3
mov byte [ebp - 0x11], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004055b0
mov al, byte [ebp - 0x11]
jmp 0x410831
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x20]
call fcn.00405662
push 0
push str.._Will_delete_at_next_reboot.
lea eax, [ebp - 0x141]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x19b]
push eax
push 0x4db23c
lea eax, [ebp - 0x153]
push eax
push 0
push 0
push dword [ebp - 0x2c]
lea eax, [ebp - 0x10b]
push eax
call fcn.00407505
add esp, 0x10
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 7
push dword [ebp - 0xc8]
push str.Cant_delete_file__le
lea eax, [ebp - 0x189]
push eax
call fcn.00405b42
add esp, 0xc
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0xd0], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xd0]
call fcn.00405cc1
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0xd8]
call fcn.00405bb0
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0xe0]
call fcn.00405cc1
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0xe8], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xe8]
call fcn.00405b2a
push eax
push 0x4db260
push 0x8fb
push str.D:projectsUTIL_srcgdir.cpp
call fcn.00404405
add esp, 0x14
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x141]
call fcn.004055b0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x19b]
call fcn.004055b0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x153]
call fcn.004055b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x189]
call fcn.004055b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10b]
call fcn.004055b0
push 0
lea ecx, [ebp - 0xf9]
call fcn.004053d4
mov byte [ebp - 4], 0xc
push 4
lea eax, [ebp - 0xf9]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004117be
add esp, 0xc
test eax, eax
jne 0x410468
mov dword [ebp - 0x44], 1
jmp 0x41046c
and dword [ebp - 0x44], 0
mov al, byte [ebp - 0x44]
mov byte [ebp - 0x10], al
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xf9]
call fcn.004055b0
movzx eax, byte [ebp - 0x10]
test eax, eax
je 0x4106f3
push str.._Cant_delete_at_next_reboot_Need_to_be_admin_.
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x126]
push eax
push 0x4db23c
lea eax, [ebp - 0x138]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.00407505
add esp, 0x10
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 0xd
push dword [ebp - 0xf0]
push str.Cant_delete_file__le
lea eax, [ebp - 0x14a]
push eax
call fcn.00405b42
add esp, 0xc
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0xcc]
call fcn.00405cc1
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xec], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0xec]
call fcn.00405bb0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0xd4]
call fcn.00405cc1
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xe4], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0xe4]
call fcn.00405b2a
push eax
push 0x4db260
push 0x8fd
push str.D:projectsUTIL_srcgdir.cpp
call fcn.004049b8
add esp, 0x10
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x114]
call fcn.004055b0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x126]
call fcn.004055b0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x138]
call fcn.004055b0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x14a]
call fcn.004055b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x15c]
call fcn.004055b0
lea ecx, [ebp - 0x50]
call fcn.004233ea
mov byte [ebp - 4], 0x12
movzx eax, byte [ebp - 0xd]
test eax, eax
jne 0x41062a
push str.c:MgateWebExtrasFilesToDelete.dat
lea ecx, [ebp - 0x102]
call fcn.004053d4
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x24]
or eax, 1
mov dword [ebp - 0x24], eax
push 1
lea eax, [ebp - 0x102]
push eax
lea ecx, [ebp - 0x50]
call fcn.004247c8
test eax, eax
je 0x41062a
mov dword [ebp - 0x40], 1
jmp 0x41062e
and dword [ebp - 0x40], 0
mov al, byte [ebp - 0x40]
mov byte [ebp - 0xe], al
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0x24]
and eax, 1
je 0x410652
and dword [ebp - 0x24], 0xfffffffe
lea ecx, [ebp - 0x102]
call fcn.004055b0
movzx eax, byte [ebp - 0xe]
test eax, eax
je 0x410680
push 0
lea ecx, [ebp - 0x50]
call fcn.00424060
lea ecx, [ebp - 0x20]
call fcn.00405b2a
push eax
push 0x4db298
lea eax, [ebp - 0x50]
push eax
call fcn.00425669
add esp, 0xc
jmp 0x4106e5
lea ecx, [ebp - 0x20]
call fcn.00405b2a
push eax
push str.Cant_delete_file__s
lea eax, [ebp - 0x16e]
push eax
call fcn.00407450
add esp, 0xc
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xdc], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0xdc]
call fcn.00405b2a
push eax
push 0x4db260
push 0x904
push str.D:projectsUTIL_srcgdir.cpp
call fcn.004046ac
add esp, 0x10
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x16e]
call fcn.004055b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x50]
call fcn.0042354a
jmp 0x410717
mov byte [ebp - 0xf], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004055b0
mov al, byte [ebp - 0xf]
jmp 0x410831
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004055b0
jmp 0x410826
push dword [ebp + 8]
lea eax, [ebp - 0x180]
push eax
push 0x4db23c
lea eax, [ebp - 0x192]
push eax
push 0
push 0
push dword [ebp - 0x2c]
lea eax, [ebp - 0x1b6]
push eax
call fcn.00407505
add esp, 0x10
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 4], 0x15
push dword [ebp - 0xa8]
push str.Cant_delete_file__le
lea eax, [ebp - 0x1a4]
push eax
call fcn.00405b42
add esp, 0xc
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x60], eax
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x60]
call fcn.00405cc1
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x70]
call fcn.00405bb0
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x80]
call fcn.00405b2a
push eax
push 0x4db260
push 0x90c
push str.D:projectsUTIL_srcgdir.cpp
call fcn.004046ac
add esp, 0x10
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x180]
call fcn.004055b0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x192]
call fcn.004055b0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1a4]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b6]
call fcn.004055b0
push dword [ebp - 0x2c]
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret