Function at 0x4067c0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x24c8
call fcn.004125f0
mov eax, dword [0x4297c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, ecx
xor edi, edi
push edi
mov dword [ebp - 0x245c], ebx
xor esi, esi
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x2460]
push eax
push 0x42326c
push 1
push edi
push 0x42327c
mov dword [ebp - 0x2460], edi
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jl 0x406dad
cmp dword [ebp - 0x2460], edi
je 0x406dad
mov ecx, 8
add ebx, 0x5d140
push ebx
mov word [ebp - 0x249c], cx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, dword [ebp - 0x249c]
mov ecx, dword [ebp - 0x2460]
mov esi, eax
lea eax, [ebp - 0x2488]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [ebp - 0x2498]
mov dword [eax + 4], ebx
mov ebx, dword [ebp - 0x2490]
mov dword [ebp - 0x2488], edi
mov edx, dword [ecx]
push ecx
mov ecx, dword [edx + 0xe8]
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebx
call ecx
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
or edx, 0xffffffff
cmp dx, word [ebp - 0x2488]
jne 0x406d97
mov eax, dword [ebp - 0x2460]
lea edx, [ebp - 0x2474]
mov dword [ebp - 0x2474], edi
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
test eax, eax
jl 0x406d97
mov eax, dword [ebp - 0x2474]
cmp eax, edi
je 0x406d97
push str.metalink
push eax
call fcn.00411b40
mov esi, eax
add esp, 8
mov dword [ebp - 0x24a8], esi
cmp esi, edi
je 0x406d81
mov ecx, dword [esi]
mov eax, dword [ecx + 0x30]
lea edx, [ebp - 0x247c]
push edx
push esi
mov dword [ebp - 0x247c], edi
call eax
test eax, eax
jl 0x406d63
mov eax, dword [ebp - 0x247c]
cmp eax, edi
je 0x406d63
push str.files
push eax
call fcn.00411b40
mov esi, eax
add esp, 8
mov dword [ebp - 0x24a0], esi
cmp esi, edi
je 0x406d31
mov ecx, dword [esi]
mov eax, dword [ecx + 0x30]
lea edx, [ebp - 0x2470]
push edx
push esi
mov dword [ebp - 0x2470], edi
call eax
test eax, eax
jl 0x406cf7
mov eax, dword [ebp - 0x2470]
cmp eax, edi
je 0x406cf7
lea edx, [ebp - 0x2484]
mov dword [ebp - 0x2484], edi
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
mov ecx, dword [ebp - 0x2484]
mov ebx, dword [ebp - 0x245c]
mov eax, dword [ebp - 0x2470]
mov dword [ebx + 0x2698], ecx
lea ecx, [ebp - 0x2464]
push ecx
mov ecx, dword [ebx + 0x2694]
mov dword [ebp - 0x2464], edi
mov edx, dword [eax]
mov edx, dword [edx + 0x1c]
push ecx
push eax
call edx
test eax, eax
jl 0x406cb2
mov eax, dword [ebp - 0x2464]
cmp eax, edi
je 0x406cb2
lea edx, [ebp - 0x2480]
mov dword [ebp - 0x2480], edi
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
test eax, eax
jl 0x406ca4
mov eax, dword [ebp - 0x2480]
cmp eax, edi
je 0x406ca4
push str.file
push eax
call fcn.00413502
add esp, 8
test eax, eax
jne 0x406c97
mov eax, dword [ebp - 0x2464]
lea edx, [ebp - 0x246c]
mov dword [ebp - 0x246c], edi
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
test eax, eax
jl 0x406c97
cmp dword [ebp - 0x246c], edi
je 0x406c97
mov ecx, dword [ebp - 0x2464]
push str.name
push ecx
lea edx, [ebp - 0x24b8]
push edx
call fcn.00411c00
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ebp - 0x2498], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2490], eax
mov eax, 8
add esp, 0xc
cmp ax, cx
jne 0x406a7f
cmp edx, edi
je 0x406a7f
push edx
push 0x4227a8
lea ecx, [ebx + 0x628b8]
push 0x103
push ecx
call fcn.0041246a
add esp, 0x10
mov edx, dword [ebp - 0x246c]
push str.resources
push edx
call fcn.00411b40
mov esi, eax
add esp, 8
mov dword [ebp - 0x248c], esi
cmp esi, edi
je 0x406c83
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
lea ecx, [ebp - 0x2468]
push ecx
push esi
mov dword [ebp - 0x2468], edi
call edx
test eax, eax
jl 0x406c7b
mov eax, dword [ebp - 0x2468]
cmp eax, edi
je 0x406c7b
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
push eax
call edx
mov eax, dword [ebp - 0x2468]
lea edx, [ebp - 0x245c]
mov dword [ebp - 0x245c], edi
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x24]
call eax
test eax, eax
jl 0x406c6d
lea esp, [esp]
mov eax, dword [ebp - 0x245c]
cmp eax, edi
je 0x406c6d
lea edx, [ebp - 0x2478]
mov dword [ebp - 0x2478], edi
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
test eax, eax
jl 0x406c42
mov eax, dword [ebp - 0x2478]
cmp eax, edi
je 0x406c42
push 0x4227d0
push eax
call fcn.00413502
add esp, 8
test eax, eax
jne 0x406c35
mov ecx, dword [ebp - 0x245c]
push str.type
push ecx
lea edx, [ebp - 0x24c8]
push edx
call fcn.00411c00
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24b4], edx
mov edx, 8
add esp, 0xc
mov dword [ebp - 0x24ac], eax
cmp dx, cx
jne 0x406c2f
push str.http
push esi
call fcn.00413502
add esp, 8
test eax, eax
je 0x406bb3
push 0x4227b0
push esi
call fcn.00413502
add esp, 8
test eax, eax
jne 0x406c2f
xor eax, eax
mov word [ebp - 0x249c], ax
mov eax, dword [ebp - 0x245c]
mov ecx, dword [eax]
lea edx, [ebp - 0x249c]
push edx
push eax
mov eax, dword [ecx + 0x78]
call eax
test eax, eax
jl 0x406c2f
mov ecx, 8
cmp cx, word [ebp - 0x249c]
jne 0x406c2f
mov esi, dword [ebp - 0x2494]
cmp esi, edi
je 0x406c2f
push 0x2450
lea eax, [ebp - 0x2454]
xor edx, edx
push edi
push eax
mov word [ebp - 0x2458], dx
call fcn.004123b0
push edi
lea ecx, [ebp - 0x2458]
push ecx
push esi
call section..text
add esp, 0x18
test eax, eax
je 0x406c2f
lea edx, [ebp - 0x2458]
push edx
lea ecx, [ebx + 0x62b00]
call fcn.00405ea0
mov esi, dword [ebp - 0x248c]
mov eax, dword [ebp - 0x2478]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x245c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x2468]
mov ecx, dword [eax]
lea edx, [ebp - 0x245c]
push edx
push eax
mov eax, dword [ecx + 0x24]
call eax
test eax, eax
jge 0x406b00
mov eax, dword [ebp - 0x2468]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov eax, dword [ebp - 0x246c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov esi, dword [ebp - 0x24a0]
mov ecx, dword [ebp - 0x2480]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x2464]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x2470]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov eax, dword [ebp - 0x247c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov esi, dword [ebp - 0x24a8]
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov eax, dword [ebp - 0x2474]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x406d9d
mov eax, dword [esi]
mov ecx, dword [eax + 8]
mov ebx, dword [ebp - 0x245c]
push esi
call ecx
mov eax, dword [ebp - 0x247c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov esi, dword [ebp - 0x24a8]
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov eax, dword [ebp - 0x2474]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x406d9d
mov eax, dword [ebp - 0x247c]
mov edx, dword [eax]
mov ebx, dword [ebp - 0x245c]
push eax
mov eax, dword [edx + 8]
call eax
mov esi, dword [ebp - 0x24a8]
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov eax, dword [ebp - 0x2474]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x406d9d
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
mov ebx, dword [ebp - 0x245c]
push esi
call edx
mov eax, dword [ebp - 0x2474]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x406d9d
mov eax, dword [ebp - 0x2474]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ebx, dword [ebp - 0x245c]
push eax
call edx
jmp 0x406d9d
mov ebx, dword [ebp - 0x245c]
mov eax, dword [ebp - 0x2460]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, edi
mov ecx, dword [ebx + 0x62b10]
sub ecx, dword [ebx + 0x62b0c]
mov eax, 0xe1800e19
imul ecx
add edx, ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x406dd3
mov esi, 1
call dword [sym.imp.ole32.dll_CoUninitialize]
add ebx, 0x5d140
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.004125d9
mov esp, ebp
pop ebp
ret