Function at 0x417665
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc14
mov al, byte [0x4564f8]
push ebx
push esi
push edi
push 0x40
mov byte [ebp - 0x110], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x10f]
xor esi, esi
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov edi, dword [ebp + 8]
push 0x450188
push edi
or ebx, 0xffffffff
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], esi
call fcn.0043cf55
pop ecx
test eax, eax
pop ecx
je 0x4176ec
push esi
xor ebx, ebx
push esi
push 0x18
inc ebx
call fcn.00433097
mov esi, 0x462e80
push eax
push esi
push edi
push dword [0x461320]
call fcn.00414d6d
add esp, 0x1c
test eax, eax
jne 0x4176de
push dword [ebp + 0xc]
push esi
call fcn.00417665
pop ecx
mov ebx, eax
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, ebx
jmp 0x417aa3
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x214]
push eax
push 0x103
push edi
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov eax, dword [ebp + 8]
push 0x44f234
push edi
and byte [eax - 1], 0
call fcn.0043d21e
mov edi, eax
pop ecx
cmp edi, esi
pop ecx
mov dword [ebp - 8], edi
je 0x41774e
push 2
push esi
push edi
call fcn.0043d9b0
push edi
call fcn.0043d858
push 0
push 0
push edi
mov esi, eax
call fcn.0043d9b0
or edi, 0xffffffff
add esp, 0x1c
cmp esi, edi
jne 0x417756
push dword [ebp - 8]
call fcn.0043d0c0
pop ecx
xor eax, eax
inc eax
jmp 0x417aa3
call fcn.0042acf0
test eax, eax
je 0x41776f
xor esi, esi
inc esi
cmp dword [ebp + 0xc], esi
jge 0x41776f
call fcn.0042ada5
mov dword [ebp - 0xc], esi
mov esi, dword [sym.imp.USER32.dll_CharNextA]
mov eax, dword [ebp - 8]
push eax
test byte [eax + 0xc], 0x10
jne 0x417a5e
and byte [ebp - 0xc14], 0
lea eax, [ebp - 0xc14]
push 0x7ff
push eax
call fcn.0043d6f4
and byte [ebp - 0x415], 0
add esp, 0xc
cmp byte [ebp - 0xc14], 0
je 0x417775
push 7
lea eax, [ebp - 0xc14]
push str.EXTM3U
push eax
call fcn.0043d410
add esp, 0xc
test eax, eax
jne 0x4177d1
mov dword [ebp - 4], 1
jmp 0x417775
lea eax, [ebp - 0xc14]
mov dword [ebp + 8], eax
mov cl, byte [eax]
cmp cl, 0x20
je 0x4177e6
cmp cl, 9
jne 0x4177eb
push eax
call esi
jmp 0x4177d7
mov cl, byte [eax]
cmp cl, 0x23
je 0x4179d3
cmp cl, 0xa
je 0x4179d3
cmp cl, 0xd
je 0x4179d3
test cl, cl
je 0x4179d3
lea eax, [ebp - 0xc14]
push eax
call fcn.0043d4e0
lea eax, [ebp + eax - 0xc15]
pop ecx
cmp byte [eax], 0xa
jne 0x41782c
and byte [eax], 0
push 4
push str.ASF
push dword [ebp + 8]
call fcn.0043d410
add esp, 0xc
test eax, eax
jne 0x417854
push dword [ebp + 8]
call fcn.0043d4e0
cmp eax, 4
pop ecx
jbe 0x417854
add dword [ebp + 8], 4
push 2
push 0x450500
push dword [ebp + 8]
call fcn.0043d410
add esp, 0xc
test eax, eax
je 0x417941
mov eax, dword [ebp + 8]
push 2
inc eax
push 0x4504fc
push eax
call fcn.0043d410
add esp, 0xc
test eax, eax
je 0x417941
mov eax, dword [ebp + 8]
push 2
inc eax
push 0x4504f8
push eax
call fcn.0043d410
add esp, 0xc
test eax, eax
je 0x417941
push 0x450188
push dword [ebp + 8]
call fcn.0043cf55
pop ecx
test eax, eax
pop ecx
jne 0x417941
mov eax, dword [ebp + 8]
cmp byte [eax], 0x5c
jne 0x4178fb
mov cl, byte [ebp - 0x214]
push 0x1fe
push eax
mov byte [ebp - 0x414], cl
mov cl, byte [ebp - 0x213]
lea eax, [ebp - 0x412]
push eax
mov byte [ebp - 0x413], cl
call fcn.0043d560
add esp, 0xc
and byte [ebp - 0x215], 0
jmp 0x417938
lea eax, [ebp - 0x214]
push eax
call fcn.0043d4e0
cmp byte [ebp + eax - 0x215], 0x5c
pop ecx
push dword [ebp + 8]
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x414]
je 0x417929
push str._s_s
jmp 0x41792e
push 0x44eed0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x414]
mov dword [ebp + 8], eax
cmp byte [ebp - 0x110], 0
je 0x41796b
lea eax, [ebp - 0x110]
push ebx
push eax
push dword [ebp + 8]
call fcn.0042aef0
add esp, 0xc
and byte [ebp - 0x110], 0
mov ebx, edi
jmp 0x417775
cmp dword [ebp - 4], 0
je 0x4179c8
push 0x44e85c
push dword [ebp + 8]
call fcn.00432f40
pop ecx
push eax
call fcn.00447c00
pop ecx
test eax, eax
pop ecx
jne 0x417997
push 1
push dword [ebp + 8]
call fcn.00417665
jmp 0x4179bb
push 0x44e858
push dword [ebp + 8]
call fcn.00432f40
pop ecx
push eax
call fcn.00447c00
pop ecx
test eax, eax
pop ecx
jne 0x4179be
push 1
push dword [ebp + 8]
call fcn.0042ded7
pop ecx
jmp 0x4179d0
push dword [ebp + 8]
call fcn.0042b2f6
jmp 0x4179d0
push dword [ebp + 8]
call fcn.0042b1d1
pop ecx
jmp 0x41795d
cmp dword [ebp - 4], 0
je 0x41795d
push 8
push str.EXTINF:
push eax
call fcn.0043d410
add esp, 0xc
test eax, eax
jne 0x41795d
add dword [ebp + 8], 8
push dword [ebp + 8]
call fcn.0043d6e9
mov ebx, eax
mov eax, dword [ebp + 8]
pop ecx
mov cl, byte [eax]
cmp cl, 0x30
jl 0x417a0f
cmp cl, 0x39
jle 0x417a14
cmp cl, 0x2d
jne 0x417a1c
push eax
call esi
mov dword [ebp + 8], eax
jmp 0x417a03
cmp byte [eax], 0
je 0x41795d
push eax
call fcn.0043d4e0
pop ecx
mov ecx, dword [ebp + 8]
lea eax, [eax + ecx - 1]
cmp byte [eax], 0xa
jne 0x417a3b
and byte [eax], 0
push 0x103
push dword [ebp + 8]
call esi
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.0043d560
add esp, 0xc
and byte [ebp - 0xd], 0
jmp 0x417775
call fcn.0043d0c0
xor esi, esi
pop ecx
cmp dword [ebp - 0xc], esi
je 0x417aa1
push esi
call fcn.0042a543
cmp byte [0x4631c4], 0
pop ecx
je 0x417a86
push 0xfffe7960
call fcn.0042bad7
pop ecx
push 0x461580
push 0x461a60
call fcn.0042b5b5
cmp dword [ebp + 0xc], esi
pop ecx
pop ecx
jne 0x417aa1
call fcn.0042a376
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret