Function at 0x4abb30
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f6fbd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c4
mov eax, dword [ecx + 0xd0]
push ebx
xor ebx, ebx
push esi
cmp eax, ebx
push edi
mov dword [ebp - 0x18], ecx
je 0x4ac56e
lea ecx, [ebp - 0x50]
call fcn.00427790
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], ebx
xor edi, edi
mov esi, dword [eax + 0xd0]
call fcn.00427790
push str.QvodPlayChannel
lea ecx, [ebp - 0x64]
mov word [ebp - 0x64], bx
call fcn.00406940
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x64]
push ecx
push edx
push str.selectSingleNode
lea ecx, [esi + 4]
mov byte [ebp - 4], 2
call fcn.004080f0
mov dword [esi + 8], eax
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp dword [esi + 8], ebx
jl 0x4abbd7
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x4abbd7
push eax
lea ecx, [ebp - 0x50]
call fcn.004080d0
mov edi, 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.0042ca10
cmp edi, ebx
je 0x4ac55f
lea ecx, [ebp - 0xa8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov edx, dword [0x50d0e0]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x9e]
mov edx, dword [ebp - 0xa0]
and eax, 0xffff
and ecx, 0xffff
push eax
mov eax, dword [ebp - 0xa2]
and edx, 0xffff
push ecx
mov ecx, dword [ebp - 0xa6]
push edx
mov edx, dword [ebp - 0xa8]
and eax, 0xffff
and ecx, 0xffff
push eax
and edx, 0xffff
push ecx
push edx
lea eax, [ebp - 0x34]
push str._04d__02d__02d__02d:_02d:_02d
push eax
mov byte [ebp - 4], 3
call fcn.004074f0
add esp, 0x20
lea ecx, [ebp - 0x40]
push 0xa
push ecx
lea ecx, [ebp - 0x34]
call fcn.00407030
lea edx, [ebp - 0x2d0]
mov ecx, 0x82
xor eax, eax
lea edi, [ebp - 0x2d0]
push edx
push 0x104
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x4abcfa
mov eax, dword [ebp - 0x40]
mov edx, dword [0x50d0e4]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4abcc4
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4abcc4
mov edx, dword [ebp - 0x40]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov eax, dword [ebp - 0x34]
mov edx, dword [0x50d0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4ac55f
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x4ac55f
mov edx, dword [ebp - 0x34]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
jmp 0x4ac55f
lea ecx, [ebp - 0x48]
call fcn.00427790
lea ecx, [ebp - 0x14]
xor esi, esi
call fcn.00427790
push str.channel
lea ecx, [ebp - 0x64]
mov word [ebp - 0x64], bx
call fcn.00406940
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x64]
push eax
push ecx
push str.selectNodes
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 7
call fcn.004080f0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x64]
push edx
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 6
call edi
cmp dword [ebp - 0x54], ebx
jl 0x4abd63
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x4abd63
push eax
lea ecx, [ebp - 0x48]
call fcn.004080d0
mov esi, 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.0042ca10
cmp esi, ebx
je 0x4ac533
mov dword [ebp - 0x68], ebx
mov word [ebp - 0x84], bx
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x48]
push eax
push str.length
mov byte [ebp - 4], 8
call fcn.00469ae0
cmp eax, ebx
mov dword [ebp - 0x4c], eax
jl 0x4abdb0
cmp word [ebp - 0x84], 3
jne 0x4abdb0
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x68], ecx
lea edx, [ebp - 0x84]
mov byte [ebp - 4], 5
push edx
call edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], ebx
cmp dword [eax + 0xb0], ebx
jne 0x4ac533
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x14]
cmp eax, ecx
jge 0x4ac533
lea ecx, [ebp - 0x20]
call fcn.00427790
mov edi, dword [ebp - 0x14]
xor esi, esi
test edi, edi
jl 0x4ac50f
lea ecx, [ebp - 0x44]
call fcn.00427790
mov word [ebp - 0xb8], 3
mov dword [ebp - 0xb0], edi
lea edx, [ebp - 0x44]
lea eax, [ebp - 0xb8]
push edx
push eax
push str.item
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xb
call fcn.004080f0
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp - 0xb8]
push ecx
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0xa
call edi
mov eax, dword [ebp - 0x4c]
test eax, eax
jl 0x4abe5d
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x4abe5d
push eax
lea ecx, [ebp - 0x20]
call fcn.004080d0
mov esi, 1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 9
call fcn.0042ca10
test esi, esi
je 0x4ac50f
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0xd4]
test eax, eax
je 0x4ac50f
lea eax, [ebp - 0x3c]
push str.updatetime
push eax
lea ecx, [ebp - 0x24]
call fcn.004086e0
lea ecx, [ebp - 0x38]
push 0xa
push ecx
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0xc
call fcn.00407030
lea edx, [ebp - 0x28]
push str.title
push edx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xd
call fcn.004086e0
lea eax, [ebp - 0x30]
push str.type
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call fcn.004086e0
lea ecx, [ebp - 0x2c]
push str.adder
push ecx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xf
call fcn.004086e0
mov edx, dword [0x50d0e0]
mov dword [ebp - 0x1c], edx
xor esi, esi
mov word [ebp - 0x64], si
push str.needup
lea ecx, [ebp - 0xc8]
mov word [ebp - 0xc8], si
call fcn.00406940
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0xc8]
push eax
push ecx
push str.getAttribute
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x13
call fcn.00406990
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x24], eax
push edx
mov byte [ebp - 4], 0x12
call edi
cmp dword [ebp - 0x24], esi
jl 0x4abf91
cmp word [ebp - 0x64], 8
jne 0x4abf91
mov eax, dword [ebp - 0x5c]
cmp eax, esi
je 0x4abf91
push eax
lea ecx, [ebp - 0x88]
call fcn.00406b50
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x14
call fcn.00402090
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x12
call fcn.00402160
lea ecx, [ebp - 0x1c]
call fcn.00407410
lea ecx, [ebp - 0x1c]
call fcn.00407310
mov eax, dword [ebp - 0x1c]
push eax
call fcn.004debd7
add esp, 4
mov esi, eax
jmp 0x4abf94
or esi, 0xffffffff
lea ecx, [ebp - 0x64]
push ecx
call edi
lea ecx, [ebp - 0x1c]
call fcn.00402160
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
push edx
push eax
call fcn.004e02fc
add esp, 8
test eax, eax
je 0x4ac4e7
cmp esi, 1
jne 0x4ac4e7
mov eax, dword [0x50d0e0]
mov dword [ebp - 0x10], eax
mov ecx, dword [eax - 8]
mov byte [ebp - 4], 0x15
test ecx, ecx
je 0x4abff4
mov ecx, dword [eax - 0xc]
test ecx, ecx
jl 0x4abfe7
lea ecx, [ebp - 0x10]
call fcn.00402350
jmp 0x4abff4
push 0x5209fc
lea ecx, [ebp - 0x10]
call fcn.00406e00
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x2d0]
push ecx
push edx
lea eax, [ebp - 0x10]
push str._s_s.xml._mv
push eax
call fcn.004074f0
push 0x20
call fcn.004de48f
add esp, 0x14
mov dword [ebp - 0x74], eax
test eax, eax
mov byte [ebp - 4], 0x16
je 0x4ac02d
mov ecx, eax
call fcn.0048f830
mov edi, eax
jmp 0x4ac02f
xor edi, edi
mov eax, dword [ebp - 0x10]
mov byte [ebp - 4], 0x15
test edi, edi
mov dword [ebp - 0x1c], edi
jne 0x4ac141
mov edx, dword [0x50d0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4ac067
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4ac067
mov edx, dword [ebp - 0x10]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov eax, dword [ebp - 0x2c]
mov edx, dword [0x50d0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4ac090
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4ac090
mov edx, dword [ebp - 0x2c]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov eax, dword [ebp - 0x30]
mov edx, dword [0x50d0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4ac0b9
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4ac0b9
mov edx, dword [ebp - 0x30]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov eax, dword [ebp - 0x28]
mov edx, dword [0x50d0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4ac0e2
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4ac0e2
mov edx, dword [ebp - 0x28]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov eax, dword [ebp - 0x38]
mov edx, dword [0x50d0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4ac10b
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4ac10b
mov edx, dword [ebp - 0x38]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
mov eax, dword [ebp - 0x3c]
mov edx, dword [0x50d0e4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4ac50f
add eax, 0xfffffff4
push eax
call ebx
test eax, eax
jg 0x4ac50f
mov edx, dword [ebp - 0x3c]
lea eax, [edx - 0xc]
push eax
call fcn.004de3a6
add esp, 4
jmp 0x4ac50f
mov edx, dword [eax - 0xc]
mov esi, dword [eax - 8]
lea ecx, [eax - 0xc]
cmp edx, 1
mov dword [ebp - 0x74], ecx
jg 0x4ac157
cmp esi, dword [eax - 4]
jle 0x4ac196
push esi
lea ecx, [ebp - 0x10]
call fcn.00402190
test eax, eax
je 0x4ac190
mov ebx, dword [ebp - 0x74]
lea eax, [esi + esi + 2]
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [ebx + 0xc]
lea edx, [esi + esi + 2]
push ecx
push edx
push eax
call fcn.00402060
mov ecx, dword [ebp - 0x10]
add esp, 0x10
push ebx
mov dword [ecx - 8], esi
call fcn.00408030
mov eax, dword [ebp - 0x10]
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov edx, dword [ebp - 0x2c]
push 0
push eax
mov ecx, dword [edx - 8]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00407d70
push eax
mov ecx, edi
call fcn.0048f8d0
test eax, eax
jl 0x4ac4d1
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xb0]
test ecx, ecx
jne 0x4ac492
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, edi
call fcn.0048fb90
mov esi, eax
cmp esi, 0xffffffff
je 0x4ac492
cmp esi, 0x7fffffff
je 0x4ac492
test esi, esi
je 0x4ac200
jle 0x4ac200
mov ecx, edi
call fcn.0048fbb0
cmp eax, esi
jge 0x4ac212
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0xb0]
test eax, eax
je 0x4ac1c9
jmp 0x4ac492
lea ecx, [ebp - 0x6c]
call fcn.00427790
lea edx, [ebp - 0x70]
lea ecx, [ebp - 0x24]
push edx
push str.items
mov byte [ebp - 4], 0x17
call fcn.00463bf0
test eax, eax
je 0x4ac245
push 0
push str.removeAll
lea ecx, [ebp - 0x6c]
call fcn.004a0530
mov dword [ebp - 0x70], eax
push 0
push str.needup
lea ecx, [ebp - 0x24]
call fcn.00408550
mov ecx, edi
call fcn.0048f850
push edi
call fcn.004de3a6
add esp, 4
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x1c], 0
call fcn.00406cd0
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x2d0]
push eax
push ecx
lea edx, [ebp - 0x10]
push str._s_s.xml
push edx
call fcn.004074f0
mov eax, dword [ebp - 0x30]
push str.getxml
push eax
call fcn.004dec69
add esp, 0x18
test eax, eax
jne 0x4ac368
lea ecx, [ebp - 0x80]
call fcn.00409880
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x18
call fcn.00408f80
mov ecx, dword [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x80]
call fcn.00408ff0
test eax, eax
je 0x4ac34f
lea ecx, [ebp - 0x90]
call fcn.004098a0
lea edx, [ebp - 0x90]
lea ecx, [ebp - 0x80]
push edx
push str.QvodPlayChannel
mov byte [ebp - 4], 0x19
call fcn.004092b0
test eax, eax
je 0x4ac340
lea ecx, [ebp - 0x98]
call fcn.004098a0
lea eax, [ebp - 0x98]
lea ecx, [ebp - 0x90]
push eax
push str.channel
mov byte [ebp - 4], 0x1a
call fcn.004081d0
test eax, eax
je 0x4ac331
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x98]
push ecx
mov ecx, dword [ebp - 0x18]
push edx
call fcn.004ac590
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x19
call fcn.0042ca10
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x18
call fcn.0042ca10
lea ecx, [ebp - 0x80]
call fcn.00451f70
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x17
call fcn.00402ab0
jmp 0x4ac480
mov eax, dword [ebp - 0x30]
push str.getdata
push eax
call fcn.004dec69
add esp, 8
test eax, eax
jne 0x4ac480
mov eax, dword [ebp - 0x10]
test eax, eax
mov edi, eax
je 0x4ac3af
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax + eax + 2]
mov eax, esi
add eax, 3
and al, 0xfc
call fcn.004ded50
mov eax, esp
push 0
push esi
push edi
push eax
call fcn.00406870
mov edi, eax
push 0x100
push 0x102
push edi
call fcn.004e0a4f
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x4ac3de
push esi
call fcn.004e09c5
push esi
mov ebx, eax
call fcn.004e08e5
add esp, 8
test ebx, ebx
jne 0x4ac431
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x15
call fcn.0042ca10
lea ecx, [ebp - 0x10]
call fcn.00402160
lea ecx, [ebp - 0x2c]
call fcn.00402160
lea ecx, [ebp - 0x30]
call fcn.00402160
lea ecx, [ebp - 0x28]
call fcn.00402160
lea ecx, [ebp - 0x38]
call fcn.00402160
lea ecx, [ebp - 0x3c]
call fcn.00402160
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.0042ca10
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
jmp 0x4ac51b
push ebx
call fcn.004de48f
push 0x517824
push edi
mov esi, eax
call fcn.004deb38
mov edi, eax
add esp, 0xc
test edi, edi
je 0x4ac473
push edi
push ebx
push 1
push esi
call fcn.004dfc8a
add esp, 0x10
lea ecx, [ebp - 0x24]
add eax, esi
push ecx
mov ecx, dword [ebp - 0x18]
push eax
push esi
call fcn.004ad310
push edi
call fcn.004dea4e
add esp, 4
test esi, esi
je 0x4ac480
push esi
call fcn.004de3a6
add esp, 4
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x15
call fcn.0042ca10
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov edx, dword [ebp - 0x34]
lea ecx, [ebp - 0x24]
push edx
push str.updatetime
call fcn.00408380
lea ecx, [ebp - 0x10]
call fcn.00406cd0
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x2d0]
push eax
push ecx
lea edx, [ebp - 0x10]
push str._s_s.xml
push edx
call fcn.004074f0
mov eax, dword [ebp - 0x10]
add esp, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x4ac4df
push 1
call fcn.00467b60
lea ecx, [ebp - 0x10]
call fcn.00402160
lea ecx, [ebp - 0x2c]
call fcn.00402160
lea ecx, [ebp - 0x30]
call fcn.00402160
lea ecx, [ebp - 0x28]
call fcn.00402160
lea ecx, [ebp - 0x38]
call fcn.00402160
lea ecx, [ebp - 0x3c]
call fcn.00402160
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.0042ca10
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0xb0]
test eax, eax
je 0x4abdd5
mov edx, dword [ebp - 0x18]
push 0
mov ecx, dword [edx + 0xd0]
call fcn.00402ba0
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.0042ca10
lea ecx, [ebp - 0x40]
call fcn.00402160
lea ecx, [ebp - 0x34]
call fcn.00402160
lea ecx, [ebp - 0x50]
mov dword [ebp - 4], 0xffffffff
call fcn.0042ca10
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x2dc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret