Function at 0x4048f0
Capabilities:
Delete file
Delete registry key
Delete registry value
Delete service
Get common file path
Move file

Disassembly:
sub esp, 0xa3c
mov eax, dword [0x4231d0]
xor eax, esp
mov dword [esp + 0xa38], eax
push ebx
push ebp
push esi
push edi
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov edi, eax
test edi, edi
je 0x404966
mov ebx, dword [sym.imp.ADVAPI32.dll_OpenServiceW]
push 0x10000
push str.360SelfProtection
push edi
call ebx
mov ebp, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov esi, eax
test esi, esi
je 0x404946
push esi
call dword [sym.imp.ADVAPI32.dll_DeleteService]
push esi
call ebp
push 0x10000
push str.HookPort
push edi
call ebx
mov esi, eax
test esi, esi
je 0x404963
push esi
call dword [sym.imp.ADVAPI32.dll_DeleteService]
push esi
call ebp
push edi
call ebp
push 0x208
lea eax, [esp + 0x63c]
push 0
push eax
call fcn.0040d9e0
push 0x208
lea ecx, [esp + 0x30]
push 0
push ecx
call fcn.0040d9e0
add esp, 0x18
push 0x104
lea edx, [esp + 0x63c]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x638]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str...efiproc.dll
lea ecx, [esp + 0x63c]
push ecx
lea edx, [esp + 0x28]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.00401df0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
add esp, 4
test eax, eax
jne 0x404a10
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x24]
call fcn.00406bc0
add esp, 4
test eax, eax
je 0x404a2e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x404a2e
cmp eax, 1
je 0x404a2e
lea ecx, [esp + 0x20]
push ecx
call ebp
mov esi, eax
test esi, esi
je 0x404a2e
push str.EfiUnloadBitmap
push esi
call edi
test eax, eax
je 0x404a2b
call eax
push esi
call ebx
push str.restag
push str.SOFTWARE360Safe_safemon
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHDeleteValueW]
call fcn.00404ef0
test eax, eax
je 0x404a93
push str...deepscanqutmload.dll
lea edx, [esp + 0x63c]
push edx
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [esp + 0x20]
push ecx
call fcn.00404ea0
add esp, 4
test eax, eax
je 0x404a93
lea edx, [esp + 0x20]
push edx
call ebp
mov esi, eax
test esi, esi
je 0x404a93
push str.Uninstall
push esi
call edi
test eax, eax
je 0x404a90
call eax
push esi
call ebx
mov esi, dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
push str.SYSTEMCurrentControlSetServices360SelfProtection
push reloc.OLEAUT32.dll_SysReAllocString
call esi
push str.SYSTEMCurrentControlSetServicesHookPort
push reloc.OLEAUT32.dll_SysReAllocString
call esi
push str.SYSTEMCurrentControlSetServicesEfiMon
push reloc.OLEAUT32.dll_SysReAllocString
call esi
push 0x208
lea eax, [esp + 0x22c]
push 0
push eax
call fcn.0040d9e0
push 0x208
lea ecx, [esp + 0x440]
push 0
push ecx
call fcn.0040d9e0
push 0x208
lea edx, [esp + 0x85c]
push 0
push edx
call fcn.0040d9e0
add esp, 0x24
push 0x104
lea eax, [esp + 0x434]
push eax
mov dword [esp + 0x1c], str.360SelfProtection.sys
mov dword [esp + 0x20], str.hookport.sys
mov dword [esp + 0x24], str.efimon.sys
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov ecx, 0x104
lea eax, [esp + 0x430]
cmp word [eax], 0
je 0x404b43
add eax, 2
sub ecx, 1
jne 0x404b33
jmp 0x404b66
test ecx, ecx
je 0x404b66
mov eax, 0x104
sub eax, ecx
mov ecx, 0x104
sub ecx, eax
lea edx, [esp + eax*2 + 0x430]
mov eax, str.drivers
call fcn.00404090
push 0
call fcn.0040d745
push eax
call fcn.0040d694
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ebp, dword [sym.imp.KERNEL32.dll_MoveFileW]
add esp, 8
xor edi, edi
jmp 0x404b90
push 0x208
lea ecx, [esp + 0x22c]
push 0
push ecx
call fcn.0040d9e0
mov edx, dword [esp + edi*4 + 0x20]
add esp, 0xc
push edx
lea eax, [esp + 0x434]
push eax
lea ecx, [esp + 0x230]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [esp + 0x228]
push edx
call esi
test eax, eax
jne 0x404c1e
call fcn.0040d6a6
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, 0x104
lea ebx, [esp + 0x840]
push edx
lea edx, [esp + 0x22c]
push edx
push str._s._d
call fcn.00402090
add esp, 0xc
mov eax, ebx
push eax
call esi
mov ecx, ebx
push ecx
lea edx, [esp + 0x22c]
push edx
call ebp
push 4
push 0
mov eax, ebx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
inc edi
cmp edi, 3
jb 0x404b90
mov ecx, dword [esp + 0xa48]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.0040caaf
add esp, 0xa3c
ret