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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46f7c0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x240
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x208], ecx
push str.Get_Patchinfo
mov ecx, dword [0x495510]
call fcn.004031e6
push 0
mov ecx, dword [0x495510]
call fcn.004024d0
push ecx
mov ecx, esp
mov dword [ebp - 0x1dc], esp
push 0x48b11c
call fcn.00465d87
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x210], eax
mov dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x1e0], esp
push 0x48b12c
mov edx, dword [ebp - 0x208]
add edx, 0x34
push edx
push ecx
call fcn.00465fae
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x218], eax
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1e4], esp
push str._PatchInfoV2.zip
mov edx, dword [ebp - 0x208]
add edx, 0x20
push edx
push ecx
call fcn.00465fae
mov dword [ebp - 0x21c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x208]
call fcn.00403b23
push 0x48b154
mov eax, dword [ebp - 0x208]
add eax, 0x34
push eax
lea ecx, [ebp - 0x1ec]
push ecx
call fcn.00465fae
mov dword [ebp - 0x220], eax
mov edx, dword [ebp - 0x220]
mov dword [ebp - 0x224], edx
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x224]
call fcn.00402400
push eax
call fcn.0040f7e0
add esp, 4
and eax, 0xff
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x1e8], al
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1ec]
call fcn.00465d19
mov eax, dword [ebp - 0x1e8]
and eax, 0xff
test eax, eax
je 0x409f05
push 0
push 0
push 4
call fcn.00407cdc
add esp, 4
mov ecx, eax
call fcn.00402400
push eax
call fcn.0046a87f
xor al, al
jmp 0x40a2fd
lea ecx, [ebp - 0x1b4]
call fcn.00419a10
mov dword [ebp - 4], 3
mov byte [ebp - 4], 4
push 0x48b168
mov ecx, dword [ebp - 0x208]
add ecx, 0x34
push ecx
lea edx, [ebp - 0x1f0]
push edx
call fcn.00465fae
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x22c], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x22c]
call fcn.00402400
mov dword [ebp - 0x230], eax
push 0
push 0
mov ecx, dword [ebp - 0x230]
push ecx
lea ecx, [ebp - 0x1b4]
call fcn.00419d80
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1f0]
call fcn.00465d19
jmp 0x40a00a
mov dword [ebp - 4], 3
push 0x48b1a0
mov eax, dword [ebp - 0x208]
add eax, 0x34
push eax
lea ecx, [ebp - 0x1f4]
push ecx
call fcn.00465fae
mov dword [ebp - 0x234], eax
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x238], edx
mov byte [ebp - 4], 8
push 0x48b194
mov eax, dword [ebp - 0x238]
push eax
lea ecx, [ebp - 0x1cc]
push ecx
call fcn.00465fae
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1f4]
call fcn.00465d19
mov dword [ebp - 0x1c8], 0
lea ecx, [ebp - 0x1cc]
call fcn.00402400
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0xffffffff
je 0x40a134
mov edx, dword [ebp - 0x1c8]
and edx, 4
test edx, edx
je 0x40a0cc
mov eax, dword [ebp - 0x1c8]
and al, 0xfb
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1c8]
push ecx
lea ecx, [ebp - 0x1cc]
call fcn.00402400
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edx, dword [ebp - 0x1c8]
and edx, 2
test edx, edx
je 0x40a100
mov eax, dword [ebp - 0x1c8]
and al, 0xfd
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1c8]
push ecx
lea ecx, [ebp - 0x1cc]
call fcn.00402400
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edx, dword [ebp - 0x1c8]
and edx, 1
test edx, edx
je 0x40a134
mov eax, dword [ebp - 0x1c8]
and al, 0xfe
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1c8]
push ecx
lea ecx, [ebp - 0x1cc]
call fcn.00402400
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x10000
push 0
push 1
mov ecx, dword [ebp - 0x208]
add ecx, 0x34
call fcn.00402400
push eax
push 0
lea ecx, [ebp - 0x1b4]
call fcn.0041a750
push 0
push 0
lea ecx, [ebp - 0x1b4]
call fcn.0041a470
push str.PatchInfoV2.zip
mov edx, dword [ebp - 0x208]
add edx, 0x34
push edx
lea eax, [ebp - 0x1f8]
push eax
call fcn.00465fae
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x240], ecx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x240]
call fcn.00402400
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1f8]
call fcn.00465d19
mov ecx, dword [ebp - 0x208]
add ecx, 0x44
call fcn.0040fa20
push 0x48b1b8
mov edx, dword [ebp - 0x208]
add edx, 0x34
push edx
lea eax, [ebp - 0x1fc]
push eax
call fcn.00465fae
mov dword [ebp - 0x244], eax
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0x248], ecx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x248]
call fcn.00402400
push eax
mov ecx, dword [ebp - 0x208]
add ecx, 0x44
call fcn.0040f830
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1fc]
call fcn.00465d19
push str.PatchInfoV2
mov edx, dword [ebp - 0x208]
add edx, 0x34
push edx
lea eax, [ebp - 0x200]
push eax
call fcn.00465fae
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x250], ecx
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x250]
call fcn.00402400
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x200]
call fcn.00465d19
mov edx, dword [ebp - 0x208]
mov eax, dword [edx + 0x38]
mov dword [eax], 0x41700000
lea ecx, [ebp - 0x1c4]
call fcn.00403300
mov dword [ebp - 0x1c4], 0x1f
mov dword [ebp - 0x1c0], 0x1ab
mov dword [ebp - 0x1bc], 0x1ef
mov dword [ebp - 0x1b8], 0x1bb
push 0
lea ecx, [ebp - 0x1c4]
call fcn.00403fe0
push eax
mov ecx, dword [0x495514]
call fcn.00403ff0
mov byte [ebp - 0x204], 1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1cc]
call fcn.00465d19
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b4]
call fcn.00419c70
mov al, byte [ebp - 0x204]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret