Function at 0x406a20
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x427d28
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push ebp
push esi
push edi
mov eax, dword [0x433a70]
xor eax, esp
push eax
lea eax, [esp + 0x7c]
mov dword fs:[0], eax
mov esi, ecx
push str.CScrubber::RunApplications
lea ecx, [esp + 0x24]
call fcn.00401130
xor ebp, ebp
cmp dword [esi], ebp
mov dword [esp + 0x84], ebp
mov dword [esp + 0x14], ebp
je 0x406c30
mov ecx, dword [esp + 0x8c]
cmp ecx, ebp
je 0x406c30
mov eax, dword [ecx + 0xc]
cmp eax, ebp
je 0x406c30
mov edi, dword [ecx + 4]
mov dword [esp + 0x1c], ebp
jle 0x406c16
mov eax, edi
mov esi, dword [eax + 8]
mov edi, dword [edi]
push 0x429858
push esi
xor ebx, ebx
call fcn.00412936
add esp, 8
cmp eax, ebp
je 0x406ac1
push 0xa
mov byte [eax], bl
add eax, 1
push ebp
push eax
call fcn.00414f12
add esp, 0xc
mov ebx, eax
push esi
lea eax, [esp + 0x24]
push str.cmd:__s
push eax
call fcn.00401460
push 0x44
lea ecx, [esp + 0x48]
push ebp
push ecx
call fcn.004132a0
add esp, 0x18
test bl, 2
mov dword [esp + 0x38], 0x44
je 0x406afb
mov dword [esp + 0x64], 1
mov word [esp + 0x68], bp
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x3c]
push eax
push ebp
push ebp
push 0x20
push ebp
push ebp
push ebp
push esi
push ebp
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x406b7d
test bl, 1
jne 0x406b67
mov ecx, dword [esp + 0x28]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x24]
push str.Exit_code:__X
push edx
call fcn.00401460
mov eax, dword [esp + 0x24]
add esp, 0xc
test bl, 4
je 0x406b5e
cmp eax, ebp
je 0x406bba
test bl, 8
je 0x406b67
cmp eax, ebp
jne 0x406bdb
mov eax, dword [esp + 0x28]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [esp + 0x2c]
push ecx
call esi
jmp 0x406b9d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
lea ecx, [esp + 0x24]
mov dword [esp + 0x18], esi
call fcn.004013d0
cmp esi, 2
jne 0x406b9d
test bl, 0x10
jne 0x406bfc
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x8c]
add eax, 1
cmp eax, dword [edx + 0xc]
mov dword [esp + 0x1c], eax
jl 0x406a93
jmp 0x406c16
push VariantClear
lea eax, [esp + 0x24]
push str.Stop_on_zero_specified_dwRetVal___X
push eax
mov dword [esp + 0x20], VariantClear
call fcn.00401460
add esp, 0xc
jmp 0x406c16
push reloc.OLEAUT32.dll_VariantClear
lea ecx, [esp + 0x24]
push str.Stop_on_non_zero_specified_dwRetVal___X
push ecx
mov dword [esp + 0x20], reloc.OLEAUT32.dll_VariantClear
call fcn.00401460
add esp, 0xc
jmp 0x406c16
lea edx, [esp + 0x20]
push str.Stop_on_file_not_found_specified
push edx
call fcn.00401460
add esp, 8
mov dword [esp + 0x14], 0x80000010
lea ecx, [esp + 0x20]
mov dword [esp + 0x84], 0xffffffff
call fcn.004012e0
mov eax, dword [esp + 0x14]
jmp 0x406c49
lea ecx, [esp + 0x20]
mov dword [esp + 0x84], 0xffffffff
call fcn.004012e0
mov eax, 0x57
mov ecx, dword [esp + 0x7c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret 4