Function at 0x42ded7
Capabilities:
Delete file
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x588
push ebx
push esi
xor esi, esi
push edi
mov dword [ebp - 0x10], esi
call fcn.0042acf0
mov ebx, dword [ebp + 8]
push 0x450188
push ebx
mov dword [ebp - 0xc], eax
call fcn.0043cf55
pop ecx
test eax, eax
pop ecx
je 0x42df45
push esi
xor edi, edi
push esi
push 0x18
inc edi
call fcn.00433097
mov esi, 0x462e80
push eax
push esi
push ebx
push dword [0x461320]
call fcn.00414d6d
add esp, 0x1c
test eax, eax
jne 0x42df37
push dword [ebp + 0xc]
push esi
call fcn.0042ded7
pop ecx
mov edi, eax
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, edi
jmp 0x42e1fd
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x284]
push eax
push 0x103
push ebx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov eax, dword [ebp - 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push ebx
push 0xffffffffffffffff
and byte [eax - 1], 0
mov esi, str.playlist
push str.NumberOfEntries
push esi
call edi
push ebx
xor ebx, ebx
inc ebx
mov dword [ebp - 8], eax
push ebx
push str.Version
push esi
call edi
mov ecx, ebx
cmp ecx, eax
sbb eax, eax
xor edi, edi
neg eax
cmp dword [ebp - 8], edi
mov dword [ebp - 0x14], eax
jg 0x42dfa2
mov eax, ebx
jmp 0x42e1fd
cmp dword [ebp - 0xc], edi
je 0x42dfb4
cmp dword [ebp + 0xc], ebx
jge 0x42dfb4
call fcn.0042ada5
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
jl 0x42e1c0
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
mov al, byte [0x4564f8]
push 0x40
mov byte [ebp - 0x388], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x387]
rep stosd dword es:[edi], eax
push dword [ebp - 4]
or dword [ebp - 0xc], 0xffffffff
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x7c]
push str.File_d
push eax
call ebx
add esp, 0xc
lea eax, [ebp - 0x180]
mov edi, 0x4564f8
push dword [ebp + 8]
push 0x104
push eax
lea eax, [ebp - 0x7c]
push edi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [ebp - 0x14], 0
je 0x42e06c
push dword [ebp - 4]
lea eax, [ebp - 0x7c]
push str.Title_d
push eax
call ebx
add esp, 0xc
lea eax, [ebp - 0x388]
push dword [ebp + 8]
push 0x104
push eax
lea eax, [ebp - 0x7c]
push edi
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push dword [ebp - 4]
lea eax, [ebp - 0x7c]
push str.Length_d
push eax
call ebx
add esp, 0xc
lea eax, [ebp - 0x7c]
push dword [ebp + 8]
push 0xffffffffffffffff
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0xc], eax
cmp byte [ebp - 0x180], 0
je 0x42e1af
cmp dword [ebp - 8], 1
jne 0x42e0a5
lea eax, [ebp - 0x180]
push 0x450188
push eax
call fcn.0043cf55
pop ecx
test eax, eax
pop ecx
je 0x42e0a5
lea eax, [ebp - 0x180]
push edi
push eax
call fcn.00433519
pop ecx
pop ecx
push 2
lea eax, [ebp - 0x180]
push 0x450500
push eax
lea edi, [ebp - 0x180]
call fcn.0043d410
add esp, 0xc
test eax, eax
je 0x42e18a
push 2
lea eax, [ebp - 0x17f]
push 0x4504fc
push eax
call fcn.0043d410
add esp, 0xc
test eax, eax
je 0x42e18a
lea eax, [ebp - 0x180]
push 0x4504f8
push eax
call fcn.0043cf55
pop ecx
test eax, eax
pop ecx
jne 0x42e18a
cmp byte [ebp - 0x180], 0x5c
jne 0x42e147
mov al, byte [ebp - 0x284]
push 0x1fe
mov byte [ebp - 0x588], al
mov al, byte [ebp - 0x283]
mov byte [ebp - 0x587], al
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x586]
push eax
call fcn.0043d560
add esp, 0xc
and byte [ebp - 0x389], 0
jmp 0x42e184
lea eax, [ebp - 0x284]
push eax
call fcn.0043d4e0
cmp byte [ebp + eax - 0x285], 0x5c
pop ecx
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x588]
je 0x42e179
push str._s_s
jmp 0x42e17e
push 0x44eed0
push eax
call ebx
add esp, 0x10
lea edi, [ebp - 0x588]
cmp byte [ebp - 0x388], 0
je 0x42e1a8
push dword [ebp - 0xc]
lea eax, [ebp - 0x388]
push eax
push edi
call fcn.0042aef0
add esp, 0xc
jmp 0x42e1af
push edi
call fcn.0042b2f6
pop ecx
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jle 0x42dfc6
xor edi, edi
cmp dword [ebp - 0x10], edi
je 0x42e1fb
push edi
call fcn.0042a543
cmp byte [0x4631c4], 0
pop ecx
je 0x42e1e0
push 0xc4653600
call fcn.0042bad7
pop ecx
push 0x461580
push 0x461a60
call fcn.0042b5b5
cmp dword [ebp + 0xc], edi
pop ecx
pop ecx
jne 0x42e1fb
call fcn.0042a376
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret