Function at 0x409ded
Capabilities:
Delete file
Delete registry key
Delete registry value
Get common file path

Disassembly:
push ebp
sub esp, 0x208
lea ebp, [esp - 4]
mov eax, dword [0x44dd60]
xor eax, ebp
mov dword [ebp + 0x208], eax
push 0x24
mov eax, 0x4380f9
call fcn.00425684
and dword [ebp - 4], 0
or dword [ebp - 4], 0xffffffff
push str.Advanced_System_Repair_Pro_App
push 0
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x409e31
push eax
call fcn.00404b5e
pop ecx
mov dword [ebp - 4], 5
call fcn.004085ac
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 7
lea eax, [ebp - 0x20]
push eax
call fcn.00414669
pop ecx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x20]
mov eax, dword [eax - 0xc]
test eax, eax
je 0x409ebf
push str._asrrealtimesrv.exe
lea eax, [ebp - 0x1c]
push eax
lea esi, [ebp - 0x20]
call fcn.00408a58
mov byte [ebp - 4], 9
add esp, 4
mov eax, esp
mov dword [ebp - 0x14], esp
push eax
mov ecx, str.tscmon
call fcn.00412e3d
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 9
call fcn.00406576
mov eax, esp
mov dword [ebp - 0x14], esp
push eax
mov ecx, str.asrrealtimesrv
call fcn.00412e3d
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 9
call fcn.00406576
pop ecx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1c]
call fcn.0041d9e5
mov eax, dword [ebp - 0x20]
mov eax, dword [eax - 0xc]
test eax, eax
je 0x40a0bf
mov edi, 0x441b4c
push edi
lea eax, [ebp - 0x1c]
push eax
lea esi, [ebp - 0x20]
call fcn.00408a58
mov byte [ebp - 4], 0xc
push str.AdvancedSystemRepairPro.exe
lea ecx, [ebp - 0x18]
push ecx
mov esi, eax
call fcn.00408a58
add esp, 0x10
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1c]
call fcn.0041d9e5
push dword [ebp - 0x18]
push str.SoftwareMicrosoftWindowsShellNoRoamMUICache
mov ebx, SysReAllocString
push ebx
mov esi, dword [sym.imp.SHLWAPI.dll_SHDeleteValueW]
call esi
push dword [ebp - 0x18]
push str.SoftwareMicrosoftWindows_NTCurrentVersionAppCompatFlagsCompatibility_AssistantPersisted
push ebx
call esi
call fcn.0040dd39
test al, al
jne 0x40a0a6
xor eax, eax
mov word [ebp], ax
push 0x206
push eax
lea eax, [ebp + 2]
push eax
call fcn.00423ac0
add esp, 0xc
push 1
push 2
lea eax, [ebp]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push edi
lea eax, [ebp]
push eax
call fcn.004245bd
push 0x441bb4
lea eax, [ebp]
push eax
call fcn.004245bd
add esp, 0x10
push 3
lea eax, [ebp - 0x1c]
push eax
call fcn.004137f4
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x24]
push eax
call fcn.00404bc9
mov byte [ebp - 4], 0x10
mov eax, 0x441ddc
push eax
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
lea ecx, [ebp]
call fcn.00412e3d
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x10
call fcn.00418b17
pop ecx
pop ecx
mov byte [ebp - 4], 0x12
push dword [eax]
push dword [ebp - 0x1c]
lea eax, [ebp - 0x24]
push eax
call fcn.004128cd
add esp, 0x14
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x14]
call fcn.0040294f
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov ecx, str.asrtskrb.vbs
call fcn.00412e3d
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 0x10
lea ebx, [ebp - 0x2c]
call fcn.0040f368
mov byte [ebp - 4], 0x14
mov eax, esp
mov dword [ebp - 0x28], esp
mov ecx, ebx
push ecx
push eax
call fcn.00418f3e
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x24]
mov ebx, dword [eax - 0xc]
lea esi, [ebp - 0x24]
call fcn.0040830c
push eax
mov byte [ebp - 4], 0x14
call fcn.0040c6c4
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
call fcn.004087c3
mov byte [ebp - 4], 0x16
lea esi, [ebp - 0x2c]
call fcn.0041c108
push eax
push str.wscript.exe___B___T:10___s_
lea eax, [ebp - 0x30]
call fcn.004134b0
pop ecx
mov eax, esp
mov dword [ebp - 0x28], esp
lea ecx, [ebp - 0x30]
push ecx
push eax
call fcn.00418f3e
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 0x16
call fcn.004107cc
mov dword [esp], 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x30]
call fcn.0041d9e5
mov byte [ebp - 4], 0x10
mov ecx, esi
call fcn.0041d9e5
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x24]
call fcn.0040294f
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1c]
call fcn.0040294f
push 1
lea eax, [ebp - 0x20]
push eax
call fcn.00415574
pop ecx
pop ecx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x18]
call fcn.0041d9e5
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x20]
call fcn.0041d9e5
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0x19
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstallAdvanced_System_Repair_Pro
push SysReAllocString
mov edi, dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
call edi
xor ebx, ebx
push ebx
push ebx
call fcn.0041226c
push 2
lea eax, [ebp - 0x18]
push eax
call fcn.0041cea6
mov byte [ebp - 4], 0x1a
push 0x441b4c
lea ecx, [ebp - 0x14]
push ecx
mov esi, eax
call fcn.00408a58
mov byte [ebp - 4], 0x1b
push 0x441bb4
lea ecx, [ebp - 0x1c]
push ecx
mov esi, eax
call fcn.00408a58
add esp, 0x20
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x18]
call fcn.0041d9e5
push 1
lea eax, [ebp - 0x1c]
push eax
call fcn.00415574
push 1
lea eax, [ebp - 0x14]
push eax
call fcn.0041e27d
add esp, 0x10
mov byte [ebp - 4], 0x1f
mov eax, dword [eax]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
call esi
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
push ebx
lea eax, [ebp - 0x14]
push eax
call fcn.0041e27d
pop ecx
pop ecx
mov byte [ebp - 4], 0x20
mov eax, dword [eax]
push eax
call esi
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1c]
call fcn.0041d9e5
or dword [ebp - 4], 0xffffffff
jmp 0x40a1d4
mov dword [ebp - 4], 0x22
cmp byte [ebp + 0x214], 0
jne 0x40a1e9
call fcn.00407389
mov esi, str.SoftwareAdvancedSystemRepairPro
push esi
push SysReAllocString
call edi
push esi
mov esi, reloc.OLEAUT32.dll_SysReAllocString
push esi
call edi
or dword [ebp - 4], 0xffffffff
jmp 0x40a21a
mov dword [ebp - 4], 0x24
or dword [ebp - 4], 0xffffffff
jmp 0x40a23c
mov dword [ebp - 4], 0x26
cmp byte [ebp + 0x214], 0
jne 0x40a3d2
push 0x23
lea eax, [ebp - 0x18]
push eax
call fcn.0041cea6
pop ecx
pop ecx
mov byte [ebp - 4], 0x27
push 0x441b50
lea eax, [ebp - 0x18]
push eax
call fcn.004080c3
push 1
lea eax, [ebp - 0x18]
push eax
call fcn.00415574
pop ecx
pop ecx
push 0x6d
lea eax, [ebp - 0x14]
push eax
call fcn.00407143
mov byte [ebp - 4], 0x28
mov eax, dword [eax]
push eax
push esi
call edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
push 0x6e
lea eax, [ebp - 0x14]
push eax
call fcn.00407143
mov byte [ebp - 4], 0x29
mov eax, dword [eax]
push eax
push esi
call edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
push 0x6f
lea eax, [ebp - 0x14]
push eax
call fcn.00407143
mov byte [ebp - 4], 0x2a
mov eax, dword [eax]
push eax
push esi
call edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
push 0x70
lea eax, [ebp - 0x14]
push eax
call fcn.00407143
mov byte [ebp - 4], 0x2b
mov eax, dword [eax]
push eax
push esi
call edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
push 0x71
lea eax, [ebp - 0x14]
push eax
call fcn.00407143
mov byte [ebp - 4], 0x2c
mov eax, dword [eax]
push eax
push esi
call edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
push 0x72
lea eax, [ebp - 0x14]
push eax
call fcn.00407143
mov byte [ebp - 4], 0x2d
mov eax, dword [eax]
push eax
push esi
call edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
push 0x73
lea eax, [ebp - 0x14]
push eax
call fcn.00407143
mov byte [ebp - 4], 0x2e
mov eax, dword [eax]
push eax
push esi
call edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
push 0x74
lea eax, [ebp - 0x14]
push eax
call fcn.00407143
mov byte [ebp - 4], 0x2f
mov eax, dword [eax]
push eax
push esi
call edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
push 0x75
lea eax, [ebp - 0x14]
push eax
call fcn.00407143
mov byte [ebp - 4], 0x30
mov eax, dword [eax]
push eax
push esi
call edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
push 0x76
lea eax, [ebp - 0x14]
push eax
call fcn.00407143
mov byte [ebp - 4], 0x31
mov eax, dword [eax]
push eax
push esi
call edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x14]
call fcn.0041d9e5
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x18]
call fcn.0041d9e5
or dword [ebp - 4], 0xffffffff
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x208]
xor ecx, ebp
call fcn.0040ea6c
add ebp, 0x20c
leave
ret