Function at 0x4553b0
Capabilities:
Check if file exists
Create process on windows
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb4
mov eax, dword [0x54c384]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
lea eax, [ebp - 0x68]
push edi
push 4
push eax
push 4
push str.EnableStartButton
push str.Software360360huabaoStartMenuSettings
push SysReAllocString
mov dword [ebp - 0x68], 0
call esi
push 4
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], 0
push eax
push 4
push str.ShiftRight
push str.Software360360huabaoStartMenuSettings
push SysReAllocString
call esi
xor eax, eax
mov dword [ebp - 0xc], 0
push eax
mov word [ebp - 0x1c], ax
lea eax, [ebp - 0x1c]
push eax
push 1
push str.StartButtonPath
push str.Software360360huabaoStartMenuSettings
push SysReAllocString
mov dword [ebp - 8], 7
call esi
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x455472
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455468
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x455956
push edx
push ecx
call fcn.004bdd39
add esp, 8
xor eax, eax
mov dword [ebp - 0xc], 0
push eax
mov word [ebp - 0x1c], ax
lea eax, [ebp - 0x1c]
push eax
push 1
push str.TaskbarTexture
push str.Software360360huabaoStartMenuSettings
push SysReAllocString
mov dword [ebp - 8], 7
call esi
mov edx, dword [ebp - 8]
cmp edx, 8
jb 0x4554d8
mov ecx, dword [ebp - 0x1c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4554ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45595b
push edx
push ecx
call fcn.004bdd39
add esp, 8
xor eax, eax
mov dword [ebp - 0xc], 0
mov word [ebp - 0x1c], ax
mov edx, str.Software360360huabaohuabao
lea eax, [ebp - 0x1c]
mov dword [ebp - 8], 7
push eax
push str.hb_theme_dll_ver
mov ecx, SysReAllocString
call fcn.0040ffe0
add esp, 8
mov dword [ebp - 0x24], 0
xor eax, eax
mov dword [ebp - 0x20], 7
lea ecx, [ebp - 0x34]
mov word [ebp - 0x34], ax
push eax
push 0x5010a0
call fcn.00403e30
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x455550
lea eax, [ebp - 0x34]
mov edx, str.Software360360huabao
push eax
push str.InstallPath
mov ecx, SysReAllocString
call fcn.0040ffe0
mov ecx, dword [ebp - 0x24]
add esp, 8
test eax, eax
movups xmm0, xmmword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
sub eax, ecx
movups xmmword [ebp - 0xb0], xmm0
movq xmm0, qword [ebp - 0x24]
movq qword [ebp - 0xa0], xmm0
cmp eax, 0x11
jb 0x4555b0
cmp dword [ebp - 0x9c], 8
lea esi, [ebp - 0xb0]
push 0x22
cmovae esi, dword [ebp - 0xb0]
lea edi, [ecx + 0x11]
push str.components_theme_
mov dword [ebp - 0xa0], edi
lea eax, [esi + ecx*2]
push eax
call fcn.004c0040
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
lea eax, [ebp - 0xb0]
jmp 0x4555cb
push 0x11
push str.components_theme_
mov byte [ebp - 0x68], 0
lea ecx, [ebp - 0xb0]
push dword [ebp - 0x68]
push 0x11
call fcn.00404fc0
movups xmm0, xmmword [eax]
mov ebx, dword [ebp - 0x1c]
lea edx, [ebp - 0x1c]
xor ecx, ecx
cmp dword [ebp - 8], 8
movups xmmword [ebp - 0x80], xmm0
cmovae edx, ebx
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x70], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xc]
sub eax, esi
mov dword [ebp - 0x68], esi
cmp ecx, eax
ja 0x45563e
cmp dword [ebp - 0x6c], 8
lea edi, [esi + ecx]
lea eax, [ecx + ecx]
mov dword [ebp - 0x70], edi
push eax
mov eax, dword [ebp - 0x68]
lea esi, [ebp - 0x80]
cmovae esi, dword [ebp - 0x80]
push edx
lea eax, [esi + eax*2]
push eax
call fcn.004c0040
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
lea eax, [ebp - 0x80]
jmp 0x455653
push ecx
push edx
mov byte [ebp - 0x68], 0
push dword [ebp - 0x68]
push ecx
lea ecx, [ebp - 0x80]
call fcn.00404fc0
mov ebx, dword [ebp - 0x1c]
movups xmm0, xmmword [eax]
xor ecx, ecx
movups xmmword [ebp - 0x98], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x88], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [ebp - 0x84]
mov eax, edx
mov ecx, dword [ebp - 0x88]
sub eax, ecx
cmp eax, 0xd
jb 0x4556cc
cmp edx, 8
lea esi, [ebp - 0x98]
push 0x1a
cmovae esi, dword [ebp - 0x98]
lea edi, [ecx + 0xd]
push str.360theme.exe
mov dword [ebp - 0x88], edi
lea eax, [esi + ecx*2]
push eax
call fcn.004c0040
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
lea eax, [ebp - 0x98]
jmp 0x4556e7
push 0xd
push str.360theme.exe
mov byte [ebp - 0x68], 0
lea ecx, [ebp - 0x98]
push dword [ebp - 0x68]
push 0xd
call fcn.00404fc0
movups xmm0, xmmword [eax]
xor ecx, ecx
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x54], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [ebp - 0x84]
cmp edx, 8
jb 0x45574b
mov ecx, dword [ebp - 0x98]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455741
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x455960
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov edx, dword [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 7
mov word [ebp - 0x98], ax
cmp edx, 8
jb 0x4557a2
mov ecx, dword [ebp - 0x80]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x455798
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x455960
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov edx, dword [ebp - 0x9c]
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
cmp edx, 8
jb 0x4557f6
mov ecx, dword [ebp - 0xb0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4557ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x455960
push edx
push ecx
call fcn.004bdd39
add esp, 8
push 6
xor eax, eax
mov dword [ebp - 0x3c], 0
push str.__exit
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
call fcn.00403e30
cmp dword [ebp - 0x50], 8
lea eax, [ebp - 0x64]
cmovae eax, dword [ebp - 0x64]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45587a
cmp dword [ebp - 0x3c], 0
je 0x45587a
cmp dword [ebp - 0x38], 8
lea ecx, [ebp - 0x4c]
push 1
cmovae ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x64]
cmp dword [ebp - 0x50], 8
push 0
cmovae eax, dword [ebp - 0x64]
push ecx
push eax
push str.open
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0xf0
push str.UnInstallUtil::ReleaseTaskbar
push str.__s__d___lanuch_360theme_exe___exit__
call fcn.0041f720
add esp, 0xc
mov edx, dword [ebp - 0x38]
cmp edx, 8
jb 0x4558b4
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4558aa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x455965
push edx
push ecx
call fcn.004bdd39
add esp, 8
mov edx, dword [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
cmp edx, 8
jb 0x4558fe
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4558f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x455965
push edx
push ecx
call fcn.004bdd39
add esp, 8
xor eax, eax
mov dword [ebp - 0x54], 0
mov word [ebp - 0x64], ax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x50], 7
cmp eax, 8
jb 0x455945
lea ecx, [eax*2 + 2]
mov eax, ebx
cmp ecx, 0x1000
jb 0x45593b
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x455965
push ecx
push ebx
call fcn.004bdd39
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004bdaf8
mov esp, ebp
pop ebp
ret
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
call fcn.004c8da3
int3