Function at 0x40dd50
Capabilities:
Delete file
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54322b
mov eax, dword fs:[0]
push eax
sub esp, 0x114
mov eax, dword [0x5a674c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00432d0e
xor ecx, ecx
xor ebx, ebx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40dd9c
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x114], eax
push 0x5a7c50
lea ecx, [ebp - 0x114]
push str._supdatelist
push ecx
mov dword [ebp - 4], ebx
call fcn.00401700
mov edi, dword [ebp - 0x114]
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
and eax, 0xfffffffe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0x556bd4
push esi
call fcn.004093b0
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x120], ebx
xor edi, edi
jmp 0x40de10
push 0x556bd4
push esi
call fcn.004093b0
add esp, 8
lea edx, [ebp - 0x11c]
push edx
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x120]
push ecx
mov ecx, esi
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x11c], ebx
call fcn.00408ea0
test al, al
jne 0x40df9d
push 0x556984
push esi
call fcn.004093b0
inc edi
add esp, 8
cmp edi, 5
jge 0x40de72
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp edi, 5
jl 0x40de10
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov ecx, dword [0x5a7c44]
add esi, 5
push esi
push edx
push eax
push str.Cannot_Download_Updatelist
push 0x13
call fcn.00407520
mov ecx, dword [0x5a7c44]
call fcn.00407610
mov ecx, dword [0x5a7c44]
test al, al
je 0x40df1b
mov ecx, dword [ecx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x108]
call eax
mov ecx, dword [0x5a7c44]
cmp ecx, ebx
je 0x40decd
call fcn.00408780
mov ecx, dword [0x5a7c44]
mov ecx, dword [ecx + 0x24]
push ecx
push 0x556aac
lea edx, [ebp - 0x110]
push str._s__d_
push edx
call fcn.00525601
mov eax, dword [0x5a7c44]
mov eax, dword [eax + 4]
add esp, 0x10
cmp eax, ebx
jne 0x40df08
push 0x30
push 0x553fdc
lea ecx, [ebp - 0x110]
xor eax, eax
push ecx
jmp 0x40df69
mov eax, dword [eax + 0x20]
push 0x30
push 0x553fdc
lea ecx, [ebp - 0x110]
push ecx
jmp 0x40df69
cmp ecx, ebx
je 0x40df2a
call fcn.00408780
mov ecx, dword [0x5a7c44]
mov edx, dword [ecx + 0x24]
push edx
push 0x556bd4
lea eax, [ebp - 0x110]
push str._s__d_
push eax
call fcn.00525601
mov ecx, dword [0x5a7c44]
mov eax, dword [ecx + 4]
add esp, 0x10
cmp eax, ebx
jne 0x40df58
xor eax, eax
jmp 0x40df5b
mov eax, dword [eax + 0x20]
push 0x30
push 0x553fdc
lea edx, [ebp - 0x110]
push edx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x114]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40df99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x40dfd9
mov ecx, dword [ebp - 0x120]
push ecx
mov ecx, esi
call fcn.0040d7c0
movzx esi, al
mov eax, dword [ebp - 0x114]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40dfd7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00525092
mov esp, ebp
pop ebp
ret