Function at 0x407afb
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x24cc
call fcn.004170c0
mov eax, dword [0x43f434]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
mov esi, ecx
push ebx
mov dword [ebp - 0x246c], esi
mov dword [ebp - 0x24a0], ebx
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x2464]
push eax
push 0x438f10
push 1
push ebx
push 0x438f20
mov dword [ebp - 0x2464], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jl 0x407fef
cmp dword [ebp - 0x2464], ebx
je 0x407fef
push 8
pop eax
add esi, 0x5d140
push esi
mov word [ebp - 0x2494], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
lea edx, [ebp - 0x24a4]
push edx
mov dword [ebp - 0x248c], eax
mov eax, dword [ebp - 0x2464]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x2494]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24a4], ebx
mov ecx, dword [eax]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0xe8]
push dword [ebp - 0x248c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
or eax, 0xffffffff
cmp ax, word [ebp - 0x24a4]
jne 0x407fdd
mov eax, dword [ebp - 0x2464]
lea edx, [ebp - 0x2470]
push edx
mov dword [ebp - 0x2470], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
test eax, eax
jl 0x407fdd
cmp dword [ebp - 0x2470], ebx
je 0x407fdd
push str.metalink
push dword [ebp - 0x2470]
call fcn.00409e62
mov edi, eax
pop ecx
pop ecx
mov dword [ebp - 0x24ac], edi
cmp edi, ebx
je 0x407fd1
mov eax, dword [edi]
lea ecx, [ebp - 0x247c]
push ecx
push edi
mov dword [ebp - 0x247c], ebx
call dword [eax + 0x30]
test eax, eax
jl 0x407fcb
cmp dword [ebp - 0x247c], ebx
je 0x407fcb
push str.files
push dword [ebp - 0x247c]
call fcn.00409e62
mov esi, eax
pop ecx
pop ecx
mov dword [ebp - 0x24a8], esi
cmp esi, ebx
je 0x407fbf
mov eax, dword [esi]
lea ecx, [ebp - 0x2484]
push ecx
push esi
mov dword [ebp - 0x2484], ebx
call dword [eax + 0x30]
test eax, eax
jl 0x407fb9
mov eax, dword [ebp - 0x2484]
cmp eax, ebx
je 0x407fb9
lea edx, [ebp - 0x249c]
push edx
mov dword [ebp - 0x249c], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
mov ecx, dword [ebp - 0x249c]
mov eax, dword [ebp - 0x246c]
lea edi, [ebp - 0x2460]
push edi
push dword [eax + 0x2694]
mov dword [eax + 0x2698], ecx
mov ecx, dword [ebp - 0x2484]
mov dword [ebp - 0x2460], ebx
mov edx, dword [ecx]
push ecx
call dword [edx + 0x1c]
test eax, eax
jl 0x407fa7
mov eax, dword [ebp - 0x2460]
cmp eax, ebx
je 0x407fa7
lea edx, [ebp - 0x2480]
push edx
mov dword [ebp - 0x2480], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x407f9b
cmp dword [ebp - 0x2480], ebx
je 0x407f9b
push 0x42f4c4
push dword [ebp - 0x2480]
call fcn.00418512
pop ecx
pop ecx
test eax, eax
jne 0x407f8f
mov eax, dword [ebp - 0x2460]
lea edx, [ebp - 0x2474]
push edx
mov dword [ebp - 0x2474], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
test eax, eax
jl 0x407f8f
cmp dword [ebp - 0x2474], ebx
je 0x407f8f
push 0x42f4b8
push dword [ebp - 0x2460]
lea eax, [ebp - 0x24bc]
push eax
call fcn.00409eec
mov esi, eax
lea edi, [ebp - 0x2494]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
push 8
pop eax
movsd dword es:[edi], dword [esi]
cmp ax, word [ebp - 0x2494]
jne 0x407da0
cmp dword [ebp - 0x248c], ebx
je 0x407da0
mov eax, dword [ebp - 0x246c]
push dword [ebp - 0x248c]
add eax, 0x628b8
push eax
call fcn.004026d7
pop ecx
pop ecx
push str.resources
push dword [ebp - 0x2474]
call fcn.00409e62
mov esi, eax
pop ecx
pop ecx
mov dword [ebp - 0x2498], esi
cmp esi, ebx
je 0x407f7d
mov eax, dword [esi]
lea ecx, [ebp - 0x2468]
push ecx
push esi
mov dword [ebp - 0x2468], ebx
call dword [eax + 0x30]
test eax, eax
jl 0x407f77
mov eax, dword [ebp - 0x2468]
cmp eax, ebx
je 0x407f77
mov ecx, dword [eax]
push eax
call dword [ecx + 0x28]
mov dword [ebp - 0x245c], ebx
jmp 0x407f50
mov eax, dword [ebp - 0x245c]
cmp eax, ebx
je 0x407f6b
lea edx, [ebp - 0x2478]
push edx
mov dword [ebp - 0x2478], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x407f44
cmp dword [ebp - 0x2478], ebx
je 0x407f44
push 0x42f49c
push dword [ebp - 0x2478]
call fcn.00418512
pop ecx
pop ecx
test eax, eax
jne 0x407f38
push str.type
push dword [ebp - 0x245c]
lea eax, [ebp - 0x24cc]
push eax
call fcn.00409eec
mov esi, eax
lea edi, [ebp - 0x24bc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
push 8
pop eax
movsd dword es:[edi], dword [esi]
cmp ax, word [ebp - 0x24bc]
jne 0x407f32
push str.http
push dword [ebp - 0x24b4]
call fcn.00418512
pop ecx
pop ecx
test eax, eax
je 0x407eb1
push 0x42f47c
push dword [ebp - 0x24b4]
call fcn.00418512
pop ecx
pop ecx
test eax, eax
jne 0x407f32
xor eax, eax
mov word [ebp - 0x2494], ax
mov eax, dword [ebp - 0x245c]
mov ecx, dword [eax]
lea edx, [ebp - 0x2494]
push edx
push eax
call dword [ecx + 0x78]
test eax, eax
jl 0x407f32
push 8
pop eax
cmp ax, word [ebp - 0x2494]
jne 0x407f32
cmp dword [ebp - 0x248c], ebx
je 0x407f32
xor eax, eax
push 0x2450
mov word [ebp - 0x2458], ax
lea eax, [ebp - 0x2454]
push ebx
push eax
call fcn.00414ce0
push ebx
lea eax, [ebp - 0x2458]
push eax
push dword [ebp - 0x248c]
call fcn.004030af
add esp, 0x18
test eax, eax
je 0x407f32
mov ecx, dword [ebp - 0x246c]
lea eax, [ebp - 0x2458]
push eax
add ecx, 0x62d08
call fcn.004074e0
mov esi, dword [ebp - 0x2498]
push dword [ebp - 0x2478]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x245c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2468]
mov ecx, dword [eax]
lea edx, [ebp - 0x245c]
push edx
push eax
call dword [ecx + 0x24]
test eax, eax
jge 0x407dfc
mov eax, dword [ebp - 0x2468]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x2474]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x24a8]
push dword [ebp - 0x2480]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x2460]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2484]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x24ac]
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x247c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp - 0x2470]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x2464]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x246c]
mov eax, dword [esi + 0x62d18]
sub eax, dword [esi + 0x62d14]
mov ecx, 0x2454
cdq
idiv ecx
test eax, eax
jbe 0x408011
mov dword [ebp - 0x24a0], 1
call dword [sym.imp.ole32.dll_CoUninitialize]
add esi, 0x5d140
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x24a0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00414cce
leave
ret