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

Disassembly:
push 0x558
mov eax, 0x5bf92e
call fcn.00598fca
mov eax, dword [ebp + 8]
mov dword [ebp - 0x514], eax
xor eax, eax
xor ebx, ebx
mov edi, 0x206
push edi
mov word [ebp - 0x220], ax
lea eax, [ebp - 0x21e]
push ebx
push eax
mov dword [ebp - 0x4fc], ebx
mov dword [ebp - 0x504], ebx
call fcn.00596530
add esp, 0xc
push str.downlist.dat
call fcn.004040a8
mov esi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
push eax
lea eax, [ebp - 0x220]
push eax
call esi
xor eax, eax
push edi
mov word [ebp - 0x428], ax
lea eax, [ebp - 0x426]
push ebx
push eax
call fcn.00596530
add esp, 0xc
push str.downlist.dat.bak
call fcn.004040a8
push eax
lea eax, [ebp - 0x428]
push eax
call esi
lea eax, [ebp - 0x504]
push eax
lea eax, [ebp - 0x4fc]
push eax
mov esi, 0xc1
lea eax, [ebp - 0x220]
push esi
push eax
call fcn.00418c22
add esp, 0x10
test eax, eax
jne 0x41bdda
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41bdbc
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x220]
call fcn.00476205
pop ecx
lea eax, [ebp - 0x504]
push eax
lea eax, [ebp - 0x4fc]
push eax
lea eax, [ebp - 0x220]
push esi
push eax
call fcn.00418c22
add esp, 0x10
cmp dword [ebp - 0x4fc], ebx
je 0x41c3c5
cmp dword [ebp - 0x504], ebx
je 0x41c3c5
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x428]
call fcn.00476205
pop ecx
push 2
lea eax, [ebp - 0x428]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0x458]
mov dword [ebp - 4], ebx
push eax
xor ebx, ebx
call fcn.0054af1d
lea eax, [ebp - 0x4e8]
push eax
mov byte [ebp - 4], 1
call fcn.00548b11
mov byte [ebp - 4], 2
push dword [ebp - 0x4fc]
lea ecx, [ebp - 0x564]
call fcn.004050c6
lea eax, [ebp - 0x458]
push eax
lea eax, [ebp - 0x564]
push eax
lea ebx, [ebp - 0x4e8]
mov byte [ebp - 4], 3
call fcn.00548b5a
push 0
push 1
lea ecx, [ebp - 0x564]
mov byte [ebp - 4], 2
call fcn.00407567
push dword [ebp - 0x4fc]
call fcn.0058f807
cmp byte [ebp - 0x450], 0
pop ecx
je 0x41c3ab
lea eax, [ebp - 0x458]
call fcn.0054bd37
test al, al
je 0x41c3ab
mov edx, str.items
lea ecx, [ebp - 0x458]
call fcn.0054b949
mov esi, eax
cmp byte [esi + 8], 0
mov dword [ebp - 0x518], esi
je 0x41c3ab
call fcn.0054bd25
test al, al
je 0x41c3ab
and dword [ebp - 0x4fc], 0
mov eax, esi
call fcn.0054b6cc
cmp dword [ebp - 0x4fc], eax
jae 0x41c3ab
push dword [ebp - 0x4fc]
mov ecx, esi
call fcn.0054b71c
mov esi, eax
cmp byte [esi + 8], 0
je 0x41c0e0
call fcn.0054bd37
test al, al
je 0x41c0e0
mov eax, dword [0x63696c]
mov ecx, 0x63696c
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x504], edi
mov edx, str.taburl
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.0054b949
cmp byte [eax + 8], 4
jne 0x41bf7d
mov eax, dword [eax]
test eax, eax
je 0x41bf7d
push eax
lea eax, [ebp - 0x50c]
push eax
call fcn.0047f54f
pop ecx
pop ecx
lea edi, [ebp - 0x504]
mov byte [ebp - 4], 5
call fcn.0040a3cc
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x50c]
add eax, 0xfffffff0
call fcn.00407b6b
mov edi, dword [ebp - 0x504]
mov edx, 0x5defbc
mov ecx, esi
call fcn.0054b949
cmp byte [eax + 8], 4
jne 0x41c0d4
mov eax, dword [eax]
test eax, eax
je 0x41c0d4
push eax
lea eax, [ebp - 0x4ec]
push eax
call fcn.0047f54f
pop ecx
pop ecx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x4ec]
cmp dword [eax - 0xc], 0
je 0x41c0cc
mov edx, str.referer
mov ecx, esi
call fcn.0054b949
cmp byte [eax + 8], 4
jne 0x41c0c6
mov eax, dword [eax]
test eax, eax
je 0x41c0c6
push eax
lea eax, [ebp - 0x4f0]
push eax
call fcn.0047f54f
pop ecx
pop ecx
mov edx, 0x5defc8
mov ecx, esi
mov byte [ebp - 4], 7
call fcn.0054b949
cmp byte [eax + 8], 4
jne 0x41c0b8
mov eax, dword [eax]
test eax, eax
je 0x41c0b8
push eax
lea eax, [ebp - 0x4f4]
push eax
call fcn.0047f54f
pop ecx
pop ecx
mov edx, 0x5defd4
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.0054b949
cmp byte [eax + 8], 4
jne 0x41c0aa
mov eax, dword [eax]
test eax, eax
je 0x41c0aa
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.0047f54f
pop ecx
pop ecx
mov edx, str.filepath
mov ecx, esi
mov byte [ebp - 4], 9
call fcn.0054b949
cmp byte [eax + 8], 4
jne 0x41c09c
mov eax, dword [eax]
test eax, eax
je 0x41c09c
push eax
lea eax, [ebp - 0x500]
push eax
call fcn.0047f54f
pop ecx
pop ecx
mov edx, str.filecreate
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.0054b949
cmp byte [eax + 8], 1
je 0x41c0f1
mov eax, dword [ebp - 0x500]
add eax, 0xfffffff0
call fcn.00407b6b
mov eax, dword [ebp - 0x4f8]
add eax, 0xfffffff0
call fcn.00407b6b
mov eax, dword [ebp - 0x4f4]
add eax, 0xfffffff0
call fcn.00407b6b
mov eax, dword [ebp - 0x4f0]
add eax, 0xfffffff0
call fcn.00407b6b
mov eax, dword [ebp - 0x4ec]
add eax, 0xfffffff0
call fcn.00407b6b
lea eax, [edi - 0x10]
mov byte [ebp - 4], 2
call fcn.00407b6b
inc dword [ebp - 0x4fc]
mov esi, dword [ebp - 0x518]
jmp 0x41bedc
mov ecx, eax
call fcn.0054b340
mov edx, str.canrename
mov ecx, esi
mov dword [ebp - 0x51c], eax
call fcn.0054b949
cmp byte [eax + 8], 1
jne 0x41c08e
mov ecx, eax
call fcn.0054b340
mov edx, str.openatcomplete
mov ecx, esi
mov dword [ebp - 0x524], eax
call fcn.0054b949
cmp byte [eax + 8], 1
jne 0x41c08e
mov ecx, eax
call fcn.0054b340
mov edx, str.taskstate
mov ecx, esi
mov dword [ebp - 0x508], eax
call fcn.0054b949
cmp byte [eax + 8], 1
jne 0x41c08e
mov ecx, eax
call fcn.0054b340
mov edx, str.timecreate
mov ecx, esi
mov dword [ebp - 0x510], eax
call fcn.0054b949
push 3
pop ebx
cmp byte [eax + 8], bl
jne 0x41c08e
push eax
call fcn.0054b5c8
fstp qword [ebp - 0x540]
mov edx, str.timefinish
mov ecx, esi
call fcn.0054b949
cmp byte [eax + 8], bl
jne 0x41c08e
push eax
call fcn.0054b5c8
fstp qword [ebp - 0x548]
mov edx, str.length
mov ecx, esi
call fcn.0054b949
cmp byte [eax + 8], bl
jne 0x41c08e
push eax
call fcn.0054b5c8
fstp qword [ebp - 0x538]
mov edx, str.receivedlength
mov ecx, esi
call fcn.0054b949
cmp byte [eax + 8], bl
jne 0x41c08e
push eax
call fcn.0054b5c8
fstp qword [ebp - 0x530]
push 0x7448
call fcn.0058f82d
pop ecx
test eax, eax
je 0x41c208
mov esi, eax
call fcn.0041a88c
mov esi, eax
jmp 0x41c20a
xor esi, esi
mov dword [ebp - 0x520], esi
test esi, esi
je 0x41c08e
push edi
push 0x5db9e0
push 0x823
push esi
call fcn.0058f42f
push dword [ebp - 0x4ec]
lea eax, [esi + 0x1048]
push 0x5db9e0
push 0x823
push eax
call fcn.0058f42f
push dword [ebp - 0x4f0]
lea eax, [esi + 0x2090]
push 0x5db9e0
push 0x823
push eax
call fcn.0058f42f
push dword [ebp - 0x4f4]
lea eax, [esi + 0x6de4]
push 0x5db9e0
push 0x103
push eax
call fcn.0058f42f
add esp, 0x40
push dword [ebp - 0x4f8]
lea eax, [esi + 0x6fec]
push 0x5db9e0
push 0x103
push eax
call fcn.0058f42f
push dword [ebp - 0x500]
lea eax, [esi + 0x71f4]
push 0x5db9e0
push 0x103
push eax
call fcn.0058f42f
fld qword [ebp - 0x538]
fld qword [0x5fdcb0]
add esp, 0x20
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x41c2d9
or edx, 0xffffffff
mov eax, edx
jmp 0x41c2e4
fld qword [ebp - 0x538]
call fcn.005969d6
fld qword [ebp - 0x530]
mov dword [esi + 0x7400], eax
fucompp
mov dword [esi + 0x7404], edx
fnstsw ax
test ah, 0x44
jp 0x41c306
or edx, 0xffffffff
mov eax, edx
jmp 0x41c311
fld qword [ebp - 0x530]
call fcn.005969d6
mov dword [esi + 0x7408], eax
mov eax, dword [ebp - 0x51c]
mov dword [esi + 0x740c], edx
mov dword [esi + 0x7410], eax
mov eax, dword [ebp - 0x524]
mov dword [esi + 0x742c], eax
mov eax, dword [ebp - 0x510]
cmp eax, 2
jne 0x41c342
mov eax, ebx
fld qword [ebp - 0x540]
mov dword [esi + 0x7414], eax
call fcn.005969d6
fld qword [ebp - 0x548]
mov dword [esi + 0x7418], eax
mov dword [esi + 0x741c], edx
call fcn.005969d6
mov ecx, dword [ebp - 0x514]
mov dword [esi + 0x7420], eax
mov eax, dword [ebp - 0x508]
mov dword [esi + 0x7424], edx
mov dword [esi + 0x7428], eax
mov eax, dword [ecx + 4]
lea edx, [eax + 1]
mov dword [ecx + 4], edx
mov dword [esi + 0x7430], eax
lea eax, [ebp - 0x520]
push eax
lea eax, [ecx + 0x10]
call fcn.0047b54d
jmp 0x41c08e
lea eax, [ebp - 0x4e8]
call fcn.0040b0d5
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 0
call fcn.0054b1a0
call fcn.00599026
ret 4