Function at 0x49b1c0
Capabilities:
Check if file exists
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c86a6
mov eax, dword fs:[0]
push eax
sub esp, 0x1a4
mov eax, dword [0x4fe37c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x16c], ecx
lea ecx, [ebp - 0x2c]
call fcn.00406f20
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [edx + 0x2a0]
call eax
lea ecx, [ebp - 0x2c]
call fcn.00407070
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x49b24e
mov byte [ebp - 0xc9], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00406fd0
mov al, byte [ebp - 0xc9]
jmp 0x49b730
mov byte [ebp - 0x2d], 1
mov dword [ebp - 0x34], 0
jmp 0x49b264
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp + 8]
call fcn.00425a30
cmp dword [ebp - 0x34], eax
jae 0x49b712
mov edx, dword [ebp - 0x34]
push edx
mov ecx, dword [ebp + 8]
call fcn.00425a50
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x50]
call fcn.00406f20
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x54]
add ecx, 0x20
call fcn.004183b0
movzx eax, al
test eax, eax
jne 0x49b339
push 0x4dbae4
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0xe8]
push edx
call fcn.00409480
add esp, 0xc
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x174], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x54]
add ecx, 0x20
push ecx
mov edx, dword [ebp - 0x174]
push edx
lea eax, [ebp - 0x104]
push eax
call fcn.00409510
add esp, 0xc
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x17c]
push edx
lea ecx, [ebp - 0x50]
call fcn.00406ff0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x104]
call fcn.00406fd0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe8]
call fcn.00406fd0
jmp 0x49b402
mov eax, dword [ebp - 0x54]
add eax, 4
push eax
lea ecx, [ebp - 0x120]
push ecx
call fcn.0049e3d0
add esp, 8
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x184], edx
mov byte [ebp - 4], 4
push 0x4dbae8
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x13c]
push ecx
call fcn.00409480
add esp, 0xc
mov dword [ebp - 0x188], eax
mov edx, dword [ebp - 0x188]
mov dword [ebp - 0x18c], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x184]
push eax
mov ecx, dword [ebp - 0x18c]
push ecx
lea edx, [ebp - 0x158]
push edx
call fcn.00409510
add esp, 0xc
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x194], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x194]
push ecx
lea ecx, [ebp - 0x50]
call fcn.00406ff0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x158]
call fcn.00406fd0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x13c]
call fcn.00406fd0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x120]
call fcn.00406fd0
lea ecx, [ebp - 0x50]
call fcn.00407070
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x49b426
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00406fd0
jmp 0x49b25b
mov edx, dword [ebp - 0x54]
mov eax, dword [edx]
mov dword [ebp - 0x198], eax
cmp dword [ebp - 0x198], 2
jb 0x49b6eb
cmp dword [ebp - 0x198], 3
jbe 0x49b655
cmp dword [ebp - 0x198], 4
je 0x49b463
jmp 0x49b6eb
push 0x80
lea ecx, [ebp - 0x50]
call fcn.00407070
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
lea ecx, [ebp - 0x50]
call fcn.00407070
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xffffffff
jne 0x49b5c2
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x16c]
mov edx, dword [eax + 0x2e0]
call edx
movzx eax, al
test eax, eax
jne 0x49b53a
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [edx + 0x248]
call eax
mov byte [ebp - 0x2d], 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x15c], esp
push 0x4dbaec
call fcn.00406f50
mov dword [ebp - 0x19c], eax
lea ecx, [ebp - 0x78]
call fcn.004914c0
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x78]
push ecx
push 3
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x16c]
mov edx, dword [eax + 0x2ec]
call edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x78]
call fcn.00491150
jmp 0x49b6eb
mov dword [ebp - 0x7c], 0
jmp 0x49b54c
mov eax, dword [ebp - 0x7c]
add eax, 1
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0x1e
jge 0x49b5c2
push 0x80
lea ecx, [ebp - 0x50]
call fcn.00407070
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
lea ecx, [ebp - 0x50]
call fcn.00407070
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xffffffff
je 0x49b592
jmp 0x49b5c2
mov ecx, dword [ebp - 0x7c]
push ecx
lea ecx, [ebp - 0x50]
call fcn.00407070
push eax
push str.Check_File_Writeable_CheckFileWriteable_:__s__d_
push 0
mov edx, dword [0x503934]
push edx
call fcn.00498ba0
add esp, 0x14
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x49b543
cmp dword [ebp - 0x58], 0xffffffff
jne 0x49b646
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [edx + 0x248]
call eax
mov byte [ebp - 0x2d], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x160], esp
lea edx, [ebp - 0x50]
push edx
call fcn.00406f90
mov dword [ebp - 0x1a4], eax
lea ecx, [ebp - 0xa0]
call fcn.004919e0
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 4], 8
lea eax, [ebp - 0xa0]
push eax
push 3
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [edx + 0x2ec]
call eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa0]
call fcn.00491300
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x49b6eb
lea ecx, [ebp - 0x50]
call fcn.00407070
push eax
call fcn.0049d180
add esp, 4
movzx edx, al
test edx, edx
je 0x49b6eb
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [edx + 0x248]
call eax
mov byte [ebp - 0x2d], 0
push 0xff
push 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x164], esp
lea edx, [ebp - 0x50]
push edx
call fcn.00406f90
mov dword [ebp - 0x1ac], eax
lea ecx, [ebp - 0xc8]
call fcn.00491670
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 9
lea eax, [ebp - 0xc8]
push eax
push 3
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [edx + 0x2ec]
call eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc8]
call fcn.004911e0
movzx ecx, byte [ebp - 0x2d]
test ecx, ecx
jne 0x49b701
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00406fd0
jmp 0x49b712
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.00406fd0
jmp 0x49b25b
mov dl, byte [ebp - 0x2d]
mov byte [ebp - 0x165], dl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00406fd0
mov al, byte [ebp - 0x165]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004443e3
mov esp, ebp
pop ebp
ret 8