Function at 0x418580
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x477900
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x4bc00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x1c], ebx
call fcn.00403ac0
mov ecx, eax
test ecx, ecx
je 0x418e91
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 1
mov byte [ebp - 4], 2
mov dl, 1
mov cl, dl
call fcn.00468c50
mov ecx, ebx
call fcn.0040a0d0
call fcn.004675f0
mov bl, al
movzx esi, bl
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push 0x48db34
call fcn.0045fcf0
mov byte [ebp - 4], 3
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.Is_Window_7_machine
call fcn.0045fcf0
mov byte [ebp - 4], 4
mov byte [ebp - 4], 2
mov ecx, esi
call fcn.00462c10
add esp, 8
test bl, bl
jne 0x418c9c
lea ecx, [ebp - 0x14]
call fcn.004027e0
mov byte [ebp - 4], 5
mov bl, 1
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.sc_config_WSearch_startdisabled
call fcn.0045fcf0
mov byte [ebp - 4], 6
mov byte [ebp - 4], 5
mov dl, bl
lea ecx, [ebp - 0x28]
call fcn.004642f0
add esp, 4
mov byte [ebp - 4], 7
mov edx, dword [eax]
lea ecx, [edx - 0x10]
mov edi, dword [ebp - 0x14]
add edi, 0xfffffff0
cmp ecx, edi
je 0x4186b6
lea ebx, [edi + 0xc]
cmp dword [ebx], 0
jl 0x4186aa
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4186aa
call fcn.00403090
mov dword [ebp - 0x24], eax
or esi, 0xffffffff
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x4186a2
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
mov eax, dword [ebp - 0x24]
add eax, 0x10
mov dword [ebp - 0x14], eax
jmp 0x4186b9
push dword [edx - 0xc]
push edx
lea ecx, [ebp - 0x14]
call fcn.004030f0
or esi, 0xffffffff
mov byte [ebp - 4], 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4186db
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
push ecx
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x28], esp
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [edi - 4]
cmp dword [eax], 0
jl 0x418704
cmp ecx, dword [edi - 0x10]
jne 0x418704
lea ebx, [edi - 0x10]
lock inc dword [eax]
jmp 0x41872e
mov eax, dword [ecx]
push 2
push dword [edi - 0xc]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x418e9b
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov edx, dword [edi - 0xc]
inc edx
push edx
push edi
lea ecx, [ebx + 0x10]
call fcn.004031f0
add esp, 8
lea eax, [ebx + 0x10]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov byte [ebp - 4], 9
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.cDriveGettingFull_KB_11360_Congifure_WSearch_to_mannual
call fcn.0045fcf0
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 5
or ecx, 0xffffffff
call fcn.00462c10
mov bl, 1
add esp, 4
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.net_stop_WSearch
call fcn.0045fcf0
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 5
mov dl, bl
lea ecx, [ebp - 0x24]
call fcn.004642f0
add esp, 4
mov byte [ebp - 4], 0xd
mov edx, dword [eax]
lea ecx, [edx - 0x10]
mov edi, dword [ebp - 0x14]
add edi, 0xfffffff0
cmp ecx, edi
je 0x4187da
lea ebx, [edi + 0xc]
cmp dword [ebx], 0
jl 0x4187ce
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x4187ce
call fcn.00403090
mov dword [ebp - 0x28], eax
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x4187c6
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
mov eax, dword [ebp - 0x28]
add eax, 0x10
mov dword [ebp - 0x14], eax
jmp 0x4187da
push dword [edx - 0xc]
push edx
lea ecx, [ebp - 0x14]
call fcn.004030f0
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4187fc
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
push 0x490628
lea ecx, [ebp - 0x20]
call fcn.0045fcf0
mov byte [ebp - 4], 0xf
push ecx
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x28], esp
mov edi, dword [ebp - 0x20]
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [edi - 4]
cmp dword [eax], 0
jl 0x418836
cmp ecx, dword [edi - 0x10]
jne 0x418836
lea ebx, [edi - 0x10]
lock inc dword [eax]
jmp 0x418860
mov eax, dword [ecx]
push 2
push dword [edi - 0xc]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x418ea0
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov edx, dword [edi - 0xc]
inc edx
push edx
push edi
lea ecx, [ebx + 0x10]
call fcn.004031f0
add esp, 8
lea eax, [ebx + 0x10]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0xf
call fcn.00467760
add esp, 4
test al, al
je 0x4189be
push str.C:ProgramDataMicrosoftSearchDataApplicationsWindowsWindows.edb
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
setne bl
test eax, eax
jne 0x418a09
push str.Failed_to_delete_the_Windows.edb_file
lea ecx, [ebp - 0x18]
call fcn.0045fc60
movzx eax, bl
mov dword [ebp - 0x24], eax
push ecx
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x28], esp
mov edi, dword [ebp - 0x18]
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [edi - 4]
cmp dword [eax], 0
jl 0x4188d8
cmp ecx, dword [edi - 0x10]
jne 0x4188d8
lea ebx, [edi - 0x10]
lock inc dword [eax]
jmp 0x418902
mov eax, dword [ecx]
push 2
push dword [edi - 0xc]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x418ea5
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov edx, dword [edi - 0xc]
inc edx
push edx
push edi
lea ecx, [ebx + 0x10]
call fcn.004031f0
add esp, 8
lea eax, [ebx + 0x10]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0x13
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.cDriveGettingFull_KB_11360
call fcn.0045fcf0
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x24]
call fcn.00462c10
add esp, 4
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x48d10a
call fcn.0045fcf0
mov byte [ebp - 4], 0x15
push ecx
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x28], esp
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [edi - 4]
cmp dword [eax], 0
jl 0x41896e
cmp ecx, dword [edi - 0x10]
jne 0x41896e
lea ebx, [edi - 0x10]
lock inc dword [eax]
jmp 0x418998
mov eax, dword [ecx]
push 2
push dword [edi - 0xc]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x418eaa
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov edx, dword [edi - 0xc]
inc edx
push edx
push edi
lea ecx, [ebx + 0x10]
call fcn.004031f0
add esp, 8
lea eax, [ebx + 0x10]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0x17
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.Failure
call fcn.0045fcf0
mov byte [ebp - 4], 0x18
jmp 0x4189fa
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x48d10a
call fcn.0045fcf0
mov byte [ebp - 4], 0x19
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.System_restart_is_needed_to_fix_the_issue_completely.
call fcn.0045fcf0
mov byte [ebp - 4], 0x1a
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x48d168
call fcn.0045fcf0
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x1c]
call fcn.00463120
add esp, 0xc
mov bl, 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push str.sc_config_WSearch_startauto
call fcn.0045fcf0
mov byte [ebp - 4], 0x1c
mov byte [ebp - 4], 0xf
mov dl, bl
lea ecx, [ebp - 0x24]
call fcn.004642f0
add esp, 4
mov byte [ebp - 4], 0x1d
mov edx, dword [eax]
lea ecx, [edx - 0x10]
mov edi, dword [ebp - 0x14]
add edi, 0xfffffff0
cmp ecx, edi
je 0x418a83
lea ebx, [edi + 0xc]
cmp dword [ebx], 0
jl 0x418a77
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x418a77
call fcn.00403090
mov dword [ebp - 0x28], eax
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x418a6f
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
mov eax, dword [ebp - 0x28]
add eax, 0x10
mov dword [ebp - 0x14], eax
jmp 0x418a83
push dword [edx - 0xc]
push edx
lea ecx, [ebp - 0x14]
call fcn.004030f0
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418aa5
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
push ecx
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x28], esp
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [edi - 4]
cmp dword [eax], 0
jl 0x418ace
cmp ecx, dword [edi - 0x10]
jne 0x418ace
lea ebx, [edi - 0x10]
lock inc dword [eax]
jmp 0x418af8
mov eax, dword [ecx]
push 2
push dword [edi - 0xc]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x418eaf
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov edx, dword [edi - 0xc]
inc edx
push edx
push edi
lea ecx, [ebx + 0x10]
call fcn.004031f0
add esp, 8
lea eax, [ebx + 0x10]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov byte [ebp - 4], 0x1f
mov byte [ebp - 4], 0x20
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.cDriveGettingFull_KB_11360_Congifure_WSearch_to_auto
call fcn.0045fcf0
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 0xf
or ecx, 0xffffffff
call fcn.00462c10
mov bl, 1
add esp, 4
mov ecx, esp
mov dword [ebp - 0x2c], esp
push str.net_start_WSearch
call fcn.0045fcf0
mov byte [ebp - 4], 0x22
mov byte [ebp - 4], 0xf
mov dl, bl
lea ecx, [ebp - 0x24]
call fcn.004642f0
add esp, 4
mov byte [ebp - 4], 0x23
mov edx, dword [eax]
lea ecx, [edx - 0x10]
mov edi, dword [ebp - 0x14]
add edi, 0xfffffff0
cmp ecx, edi
je 0x418ba4
lea ebx, [edi + 0xc]
cmp dword [ebx], 0
jl 0x418b98
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x418b98
call fcn.00403090
mov dword [ebp - 0x28], eax
mov ecx, esi
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x418b90
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
mov eax, dword [ebp - 0x28]
add eax, 0x10
mov dword [ebp - 0x14], eax
jmp 0x418ba4
push dword [edx - 0xc]
push edx
lea ecx, [ebp - 0x14]
call fcn.004030f0
mov byte [ebp - 4], 0x24
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418bc6
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
push ecx
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x28], esp
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [edi - 4]
cmp dword [eax], 0
jl 0x418bef
cmp ecx, dword [edi - 0x10]
jne 0x418bef
lea ebx, [edi - 0x10]
lock inc dword [eax]
jmp 0x418c19
mov eax, dword [ecx]
push 2
push dword [edi - 0xc]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x418eb4
mov eax, dword [edi - 0xc]
mov dword [ebx + 4], eax
mov edx, dword [edi - 0xc]
inc edx
push edx
push edi
lea ecx, [ebx + 0x10]
call fcn.004031f0
add esp, 8
lea eax, [ebx + 0x10]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov byte [ebp - 4], 0x25
mov byte [ebp - 4], 0x26
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.cDriveGettingFull_KB_11360_start_WSearch
call fcn.0045fcf0
mov byte [ebp - 4], 0x27
mov byte [ebp - 4], 0xf
or ecx, 0xffffffff
call fcn.00462c10
add esp, 8
mov byte [ebp - 4], 0x28
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418c6e
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 0x29
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x418c9f
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov dword [ebp - 4], 1
jmp 0x418d8c
or esi, 0xffffffff
mov dword [ebp - 4], 1
jmp 0x418d8c
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x418dab
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403880
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
call fcn.004031e0
int3