Function at 0x41c8f0
Capabilities:
Check if file exists
Delete file
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x24a8
call fcn.00488190
mov eax, dword [0x4c9890]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push eax
mov ebx, ecx
call fcn.004866f0
xor eax, eax
push 0x1044
push eax
mov word [ebp - 0x145c], ax
lea eax, [ebp - 0x145a]
push eax
call fcn.004866f0
push 0x409
push 0x823
lea eax, [ebp - 0x145c]
push eax
push 0x6a
push dword [ebx + 4]
call fcn.00412610
add esp, 0x2c
lea eax, [ebp - 0x414]
push 0x104
push eax
mov ecx, ebx
call fcn.00419d10
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
lea eax, [ebp - 0x414]
jne 0x41c9b8
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
lea eax, [ebp - 0x414]
push eax
push str._sItem0.ini
lea edi, [ebx + 0x47ba]
push 0x103
push edi
call fcn.00401690
add esp, 0x10
jmp 0x41cc42
xor esi, esi
push esi
push eax
push str._sItem_u.ini
lea edi, [ebx + 0x47ba]
push 0x103
push edi
mov dword [ebp - 0x24a8], esi
call fcn.00401690
add esp, 0x14
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x41cc42
lea ebx, [ebx]
xor eax, eax
push 0x1044
push eax
mov word [ebp - 0x24a4], ax
lea eax, [ebp - 0x24a2]
push eax
call fcn.004866f0
add esp, 0xc
lea eax, [ebp - 0x24a4]
push edi
push 0x823
push eax
push 0x4a1b98
push 0x4a8ed4
push str.Downloader
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x24a4]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41ca40
sub eax, edx
sar eax, 1
je 0x41ca95
lea edx, [ebp - 0x145c]
lea ecx, [ebp - 0x24a4]
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x41ca86
test si, si
je 0x41ca82
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x41ca86
add ecx, 4
add edx, 4
test si, si
jne 0x41ca60
xor ecx, ecx
jmp 0x41ca8b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x41cad3
mov esi, dword [ebp - 0x24a8]
test eax, eax
je 0x41cc3b
inc esi
push esi
lea eax, [ebp - 0x414]
push eax
push str._sItem_u.ini
push 0x103
push edi
mov dword [ebp - 0x24a8], esi
call fcn.00401690
add esp, 0x14
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x41c9f0
jmp 0x41cc42
push edi
push 0x104
lea esi, [ebx + 0x49c2]
push esi
push 0x4a1b98
push str.TokenID
push str.Downloader
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push esi
push str._PrepareTokenID__Get_Existed_TokenID_:__s
call fcn.00413860
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call fcn.004866f0
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esp, 0x14
lea eax, [ebp - 0x20c]
push edi
push 0x104
push eax
push 0x4a8ca4
push str.Completed
push str.Downloader
call esi
lea eax, [ebp - 0x20c]
push eax
call fcn.0048727b
add esp, 4
cmp eax, 1
push edi
sete al
push 0x104
mov byte [ebx + 0xd532], al
lea eax, [ebp - 0x20c]
push eax
push 0x4a8ca4
push str.PauseCount
push str.Statistics
call esi
lea eax, [ebp - 0x20c]
push eax
call fcn.0048727b
add esp, 4
mov dword [ebx + 0xd540], eax
push edi
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x4a8ca4
push str.ResumeCount
push str.Statistics
call esi
lea eax, [ebp - 0x20c]
push eax
call fcn.0048727b
inc eax
push eax
push 0x4a62b0
mov dword [ebx + 0xd544], eax
lea eax, [ebp - 0x20c]
push 0x103
push eax
call fcn.00401690
add esp, 0x14
lea eax, [ebp - 0x20c]
push edi
push eax
push str.ResumeCount
push str.Statistics
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push edi
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x4a93c8
push str.PartNum
push str.Downloader
call esi
lea eax, [ebp - 0x20c]
push eax
call fcn.0048727b
add esp, 4
cmp dword [0x4c8068], eax
je 0x41cc2f
mov byte [ebx + 0xd530], 1
mov ecx, ebx
call fcn.00419ef0
jmp 0x41cd06
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea esi, [ebx + 0x49c2]
push esi
call fcn.004124e0
push esi
push str._PrepareTokenID__Generate_New_TokenID_:__s
call fcn.00413860
push 0x4a1bb8
lea eax, [ebp - 0x24a8]
push edi
push eax
mov byte [ebx + 0xd52e], 1
mov byte [ebx + 0xd532], 0
mov dword [ebx + 0xd540], 0
mov dword [ebx + 0xd544], 0
mov byte [ebx + 0xd530], 1
mov dword [ebp - 0x24a8], 0
call fcn.0048759c
add esp, 0x18
cmp eax, 2
jne 0x41ccbb
push str.w__ccsUTF_16LE
lea eax, [ebp - 0x24a8]
push edi
push eax
call fcn.0048759c
add esp, 0xc
mov eax, dword [ebp - 0x24a8]
test eax, eax
je 0x41ccd8
push eax
call fcn.00487717
add esp, 4
mov dword [ebp - 0x24a8], 0
push edi
push esi
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push str.TokenID
push str.Downloader
call esi
push edi
lea eax, [ebp - 0x145c]
push eax
push 0x4a8ed4
push str.Downloader
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push edi
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x4a8ca4
push str.Duration
push str.Statistics
call esi
lea eax, [ebp - 0x20c]
push eax
call fcn.0048727b
push str.PrepareTokenID___Done_
mov dword [ebx + 0xd548], eax
call fcn.004010d0
mov ecx, dword [ebp - 4]
add esp, 8
xor ecx, ebp
pop edi
pop esi
mov eax, 1
pop ebx
call fcn.00487c50
mov esp, ebp
pop ebp
ret