joyce8/EMBER2024-capa huggingface dataset:
Function at 0x473e35
Capabilities:
Check if file exists

Disassembly:
push 0xb4
mov eax, 0x5eab20
call fcn.0059bbd7
push 0x6335fc
lea ecx, [ebp - 0x44]
call fcn.0040b0d5
lea eax, [ebp - 0x44]
xor ebx, ebx
push eax
push str.Version
mov edx, str.Software360360huabao
mov dword [ebp - 4], ebx
mov ecx, reloc.WS2_32.dll_accept
call fcn.004261ea
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], bl
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.004de468
push 8
pop edi
cmp dword [ebp - 0x30], edi
lea esi, [ebp - 0x44]
lea eax, [ebp - 0x2c]
cmovae esi, dword [ebp - 0x44]
sub esp, 0x10
mov ecx, esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404267
lea ecx, [ebp - 0x8c]
call fcn.00435b82
add esp, 0x18
cmp dword [eax + 0x14], edi
jb 0x473ebd
mov eax, dword [eax]
mov edx, esi
mov ecx, eax
call fcn.004275c6
lea ecx, [ebp - 0x8c]
mov esi, eax
call fcn.0040b67e
test esi, esi
jne 0x473ef3
push 0x7e1
push str.HealthMgr::CheckExeVersion
push str.__s__d___exe_and_reg_version_is_same_
call fcn.0040a649
add esp, 0xc
jmp 0x474060
lea ecx, [ebp - 0x74]
call fcn.004d6c63
mov byte [ebp - 4], 2
cmp dword [ebp - 0x64], 0
jne 0x473f21
push 0x7e6
push str.HealthMgr::CheckExeVersion
push str.__s__d___wstrInstallPath_is_empty
call fcn.0040a649
add esp, 0xc
jmp 0x474058
sub esp, 0x18
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404267
lea ecx, [ebp - 0xbc]
call fcn.00435b82
mov esi, eax
push 0x633b6c
lea edx, [ebp - 0x74]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8c]
call fcn.00411559
add esp, 0x1c
push esi
mov edx, eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x5c]
call fcn.00420d7e
pop ecx
lea ecx, [ebp - 0x8c]
call fcn.0040b67e
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 7
call fcn.0040b67e
cmp dword [ebp - 0x48], edi
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x473faf
push 0x7ec
push str.HealthMgr::CheckExeVersion
push str.__s__d___wstrExePath_is_unexist
jmp 0x474048
cmp dword [ebp - 0x30], edi
lea esi, [ebp - 0x44]
lea eax, [ebp - 0x2c]
cmovae esi, dword [ebp - 0x44]
sub esp, 0x18
mov ecx, esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404267
lea ecx, [ebp - 0xa4]
call fcn.00435b82
add esp, 0x18
cmp dword [eax + 0x14], edi
jb 0x473fe2
mov eax, dword [eax]
mov edx, esi
mov ecx, eax
call fcn.004275c6
lea ecx, [ebp - 0xa4]
mov esi, eax
call fcn.0040b67e
test esi, esi
je 0x474050
sub esp, 0x18
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.00404267
lea ecx, [ebp - 0xa4]
call fcn.00435b82
push eax
push str.Version
mov edx, str.Software360360huabao
call fcn.004264a4
add esp, 0x20
lea ecx, [ebp - 0xa4]
call fcn.0040b67e
push 0x7f2
push str.HealthMgr::CheckExeVersion
push str.__s__d___sync_exe_and_reg_version_finish_
call fcn.0040a649
add esp, 0xc
lea ecx, [ebp - 0x5c]
call fcn.0040b67e
lea ecx, [ebp - 0x74]
call fcn.0040b67e
lea ecx, [ebp - 0x2c]
call fcn.00404812
lea ecx, [ebp - 0x44]
call fcn.0040b67e
call fcn.0059bb81
ret
Function at 0x474ca9
Capabilities:
Get common file path
Get disk size

Disassembly:
push 0x244
mov eax, 0x5eadb5
call fcn.0059bbd7
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
xor edi, edi
push eax
inc edi
call fcn.005b24a0
add esp, 0xc
lea eax, [ebp - 0x218]
push edi
push 0x1a
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
cmp word [ebp - 0x218], bx
je 0x474d51
cmp word [ebp - 0x216], bx
je 0x474d51
xor eax, eax
mov word [ebp - 0x214], ax
lea eax, [ebp - 0x250]
push eax
push ebx
push ebx
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x474d51
mov esi, dword [ebp - 0x250]
lea ecx, [ebp - 0x248]
mov eax, dword [ebp - 0x24c]
shrd esi, eax, 0x14
push 0x6335fc
call fcn.0040b0d5
lea ecx, [ebp - 0x248]
call fcn.0040b67e
lea eax, [esi - 1]
mov ecx, 0x1f3
cmp ecx, eax
sbb edi, edi
neg edi
lea ecx, [ebp - 0x230]
call fcn.00425665
mov esi, str.360browser_bkinfo
mov dword [ebp - 4], ebx
push esi
call fcn.005c2f90
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.0040b220
lea ecx, [ebp - 0x230]
call fcn.004283fc
push ebx
push 0x100000
push edx
push eax
call fcn.0059b3f0
xor esi, esi
lea ecx, [ebp - 0x230]
cmp eax, 0x400
cmovle esi, edi
call fcn.0040b67e
mov eax, esi
call fcn.0059bb81
ret
Function at 0x4776f7
Capabilities:
Check if file exists

Disassembly:
push 0x5c
mov eax, 0x5eb2f5
call fcn.0059bbd7
mov esi, ecx
mov bl, 1
test esi, esi
jne 0x477712
xor al, al
jmp 0x47782c
lea ecx, [esi + 0x3a0]
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
push 0x34
cdq
pop edi
idiv edi
test eax, eax
je 0x47770b
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x64]
cmp eax, ecx
je 0x477822
push dword [ebp - 0x68]
push dword [ecx + 4]
push dword [ecx]
mov ecx, eax
call fcn.0047fd9e
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x60]
je 0x477822
lea edi, [esi + 0x35c]
lea esi, [eax + 4]
and dword [ebp - 0x18], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x14], 0
push edi
call fcn.0040b155
push 0
mov edx, esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.00426ce7
pop ecx
mov byte [ebp - 4], 2
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x28]
push dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.0040b220
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4777e4
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x58]
cmovae edx, dword [ebp - 0x28]
call fcn.004236f2
lea eax, [ebp - 0x58]
push esi
push eax
call fcn.00423e8e
pop ecx
pop ecx
lea ecx, [ebp - 0x58]
test al, al
je 0x47780b
call fcn.00404812
jmp 0x4777e6
xor bl, bl
lea ecx, [ebp - 0x40]
call fcn.0040b67e
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.0040b67e
add esi, 0x34
lea eax, [esi - 4]
cmp eax, dword [ebp - 0x60]
jne 0x477764
jmp 0x477822
xor bl, bl
call fcn.00404812
lea ecx, [ebp - 0x40]
call fcn.0040b67e
lea ecx, [ebp - 0x28]
call fcn.0040b67e
lea ecx, [ebp - 0x64]
call fcn.0040c229
mov al, bl
call fcn.0059bb81
ret
Function at 0x479f70
Capabilities:
Check if file exists

Disassembly:
push 0x25c
mov eax, 0x5eb75f
call fcn.0059bbd7
mov edx, str.UtilsDesktopRestDesktopRest.exe
lea ecx, [ebp - 0x268]
call fcn.0043c53a
xor esi, esi
mov ecx, eax
push esi
mov dword [ebp - 4], esi
call fcn.00413c4d
push eax
lea ecx, [ebp - 0x248]
call fcn.0040b0d5
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 2
call fcn.0040a4ed
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
mov ebx, str.HealthMgr::Report360HbSafeStat
cmovae eax, dword [ebp - 0x248]
push eax
push 0xef7
push ebx
push str.__s__d___HealthMgr::Report360HbSafeStat_strPath___s
call fcn.0040a649
add esp, 0x10
lea eax, [ebp - 0x248]
cmp dword [ebp - 0x234], 8
cmovae eax, dword [ebp - 0x248]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x47a161
push 0x208
lea eax, [ebp - 0x218]
push esi
push eax
call fcn.005b24a0
add esp, 0xc
lea ecx, [ebp - 0x248]
cmp dword [ebp - 0x234], 8
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x248]
push 0x103
call fcn.0041e62a
pop ecx
mov edx, str.12.0.1000.0
lea ecx, [ebp - 0x218]
call fcn.004275c6
test eax, eax
js 0x47a161
call fcn.004d24bd
test eax, eax
jne 0x47a161
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 3
push eax
push str.RestIdleDelayTime
mov edx, str.Software360SoftMgrdesktoprestConfig
mov dword [ebp - 0x264], esi
mov ecx, reloc.WS2_32.dll_accept
call fcn.004261bf
pop ecx
pop ecx
call fcn.00414a5a
test eax, eax
jne 0x47a0cf
mov esi, 0x633e78
push esi
call fcn.005c2f90
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.0040b566
cmp dword [ebp - 0x264], 0
je 0x47a0e8
mov esi, 0x633e74
push esi
call fcn.005c2f90
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.0040b566
cmp dword [ebp - 0x21c], 8
lea esi, [ebp - 0x230]
cmovae esi, dword [ebp - 0x230]
call fcn.00414a5a
push eax
push dword [ebp - 0x264]
push esi
push 0xf0c
push ebx
push str.__s__d___HealthMgr::Report360HbSafeStat_strRefer_s_dwIdleDelayTime_d_Has360SafeRest_d_user_close_d
call fcn.0040a649
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x260]
push str.https:__dd.browser.360.cn_static_a_1317.5291.gif__referer
push eax
call fcn.00445efc
add esp, 0x24
push 1
push 1
mov dl, 1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x260]
call fcn.004ce396
pop ecx
pop ecx
lea ecx, [ebp - 0x260]
call fcn.0040b67e
lea ecx, [ebp - 0x230]
call fcn.0040b67e
lea ecx, [ebp - 0x248]
call fcn.0040b67e
call fcn.0059bb81
ret
Function at 0x47a172
Capabilities:
Create process on windows

Disassembly:
push 0x1c
mov eax, 0x5e2972
call fcn.0059bbd7
lea ecx, [ebp - 0x28]
call fcn.004cb28b
and dword [ebp - 4], 0
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
cmovae eax, dword [ebp - 0x28]
push eax
push 0xf2e
push str.HealthMgr::Update360Huabao
push str.__s__d___HealthMgr::Update360Huabao_strPath___s
call fcn.0040a649
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.004352fd
add esp, 0x14
test eax, eax
je 0x47a1e9
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push 1
cmovae eax, dword [ebp - 0x28]
push 0
push str.__update
push eax
push 0x63afc8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0x28]
call fcn.0040b67e
call fcn.0059bb81
ret
Function at 0x47dd5e
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
call fcn.00415363
test eax, eax
je 0x47dd87
push 0x1457
push str.HealthMgr::OnGetHuabaoList
push str.__s__d___ProtectScreensaver_360safe_secore_return
call fcn.0040a649
add esp, 0xc
jmp 0x47dda1
xor ecx, ecx
lea eax, [ebp - 4]
push eax
push ecx
push esi
push 0x47dda4
push ecx
push ecx
mov dword [ebp - 4], ecx
call fcn.005c30ff
add esp, 0x18
pop esi
leave
ret

Function at 0x47e8e8
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
mov ebx, ecx
push esi
push edi
cmp dword [ebx + 0x38], 0
je 0x47e90f
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00407ce6
jmp 0x47e9c4
mov eax, dword [ebx + 0x20]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x18], esi
mov eax, dword [eax]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], eax
test eax, eax
je 0x47e931
mov eax, dword [ebx + 0x30]
mov eax, dword [eax]
jmp 0x47e933
xor eax, eax
cdq
mov dword [esp + 0xc], eax
mov ecx, edx
mov dword [esp + 0x10], ecx
test edi, edi
jl 0x47e9b8
jg 0x47e948
test esi, esi
je 0x47e9b8
test ecx, ecx
jl 0x47e991
jg 0x47e952
test eax, eax
je 0x47e991
cmp edi, ecx
jg 0x47e966
jl 0x47e95c
cmp esi, eax
jae 0x47e966
mov eax, esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
push eax
push dword [ebp + 8]
push dword [esp + 0x1c]
call fcn.005b2600
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [ebx + 0x30]
add edx, ecx
sub esi, ecx
sbb edi, dword [esp + 0x10]
sub dword [eax], ecx
mov eax, dword [ebx + 0x20]
add dword [eax], ecx
jmp 0x47e994
mov edx, dword [ebp + 8]
test edi, edi
jl 0x47e9b8
jg 0x47e99e
test esi, esi
je 0x47e9b8
cmp dword [ebx + 0x4c], 0
je 0x47e9b8
push dword [ebx + 0x4c]
push esi
push 1
push edx
call fcn.005c2f38
add esp, 0x10
sub esi, eax
sbb edi, 0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub eax, esi
sbb edx, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x47e9cd
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
mov edi, ecx
cmp dword [edi + 0x38], 0
je 0x47e9f4
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00407dc2
jmp 0x47eac3
mov eax, dword [edi + 0x1c]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x18], esi
mov eax, dword [eax]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
test eax, eax
je 0x47ea16
mov eax, dword [edi + 0x2c]
mov eax, dword [eax]
jmp 0x47ea18
xor eax, eax
cdq
mov dword [esp + 0xc], eax
mov ecx, edx
mov dword [esp + 0x10], ecx
test ebx, ebx
jl 0x47eab7
jg 0x47ea35
test esi, esi
je 0x47eab7
test ecx, ecx
jl 0x47ea82
jg 0x47ea3f
test eax, eax
je 0x47ea82
cmp ebx, ecx
jg 0x47ea53
jl 0x47ea49
cmp esi, eax
jae 0x47ea53
mov eax, esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
push eax
push dword [esp + 0x18]
push dword [ebp + 8]
call fcn.005b2600
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [edi + 0x2c]
add edx, ecx
sub esi, ecx
mov dword [esp + 0xc], edx
sbb ebx, dword [esp + 0x10]
sub dword [eax], ecx
mov eax, dword [edi + 0x1c]
add dword [eax], ecx
jmp 0x47ea89
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
test ebx, ebx
jl 0x47eab7
jg 0x47ea93
test esi, esi
je 0x47eab7
cmp dword [edi + 0x4c], 0
je 0x47eab7
mov ecx, edi
call fcn.0047f119
push dword [edi + 0x4c]
push esi
push 1
push dword [esp + 0x18]
call fcn.005c421b
add esp, 0x10
sub esi, eax
sbb ebx, 0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
sub eax, esi
sbb edx, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x47ed25
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x6d35ac]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
or edi, 0xffffffff
mov esi, ecx
cmp ebx, edi
jne 0x47ed4b
xor eax, eax
jmp 0x47ee0d
mov eax, dword [esi + 0x20]
mov ecx, dword [eax]
test ecx, ecx
je 0x47ed74
mov edx, dword [esi + 0x30]
mov eax, dword [edx]
add eax, ecx
cmp ecx, eax
jae 0x47ed74
dec dword [edx]
mov eax, ebx
mov edx, dword [esi + 0x20]
mov esi, dword [edx]
lea ecx, [esi + 1]
mov dword [edx], ecx
mov byte [esi], bl
jmp 0x47ee0d
cmp dword [esi + 0x4c], 0
je 0x47ee0b
mov ecx, esi
call fcn.0047f119
mov ecx, dword [esi + 0x38]
mov al, bl
test ecx, ecx
jne 0x47eda0
push dword [esi + 0x4c]
push eax
call fcn.0046cce3
test al, al
pop ecx
pop ecx
cmovne edi, ebx
jmp 0x47ee0b
mov byte [ebp - 0x28], al
lea eax, [ebp - 0x2c]
mov edx, dword [ecx]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x27]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [esi + 0x40]
push eax
call dword [edx + 0x1c]
test eax, eax
js 0x47ee0b
cmp eax, 1
jle 0x47edda
cmp eax, 3
jne 0x47ee0b
push dword [esi + 0x4c]
push dword [ebp - 0x28]
jmp 0x47ed92
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x24]
sub eax, ecx
mov dword [ebp - 0x30], eax
je 0x47edfd
push dword [esi + 0x4c]
push eax
mov eax, ecx
push 1
push eax
call fcn.005c2f38
add esp, 0x10
cmp dword [ebp - 0x30], eax
jne 0x47ee0b
lea eax, [ebp - 0x28]
mov byte [esi + 0x3d], 1
cmp dword [ebp - 0x34], eax
mov eax, ebx
jne 0x47ee0d
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0059a7a2
leave
ret 4

Function at 0x47f13c
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x6d35ac]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x38], 0
je 0x47f1be
cmp byte [esi + 0x3d], 0
je 0x47f1be
mov eax, dword [esi]
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x47f190
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
mov edx, dword [ecx]
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [edx + 0x20]
sub eax, 0
je 0x47f194
sub eax, 1
je 0x47f198
dec eax
sub eax, 1
je 0x47f1be
xor al, al
jmp 0x47f1c0
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x47f1b5
push dword [esi + 0x4c]
push edi
push 1
push eax
call fcn.005c2f38
add esp, 0x10
cmp edi, eax
jne 0x47f190
cmp byte [esi + 0x3d], 0
sete al
jmp 0x47f1c0
mov al, 1
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0059a7a2
leave
ret
Function at 0x48017a
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x214
mov eax, dword [0x6d35ac]
xor eax, esp
mov dword [esp + 0x210], eax
cmp dword [0x6deccc], 0
push ebx
push esi
push edi
mov esi, ecx
je 0x480221
xor edi, edi
push edi
push str.C:_temp
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push str.C:_temp360huabao_d.log
mov ebx, 0x104
lea eax, [esp + 0x18]
push ebx
push eax
call fcn.0040b616
add esp, 0x10
lea eax, [esp + 0x10]
push edi
push accept
push 4
push edi
push 1
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esi], eax
cmp eax, 0xffffffff
je 0x4801fc
push 2
push edi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push ebx
lea eax, [esp + 0x14]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str.start
mov ecx, esi
call fcn.0040a518
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.0040a518
mov ecx, dword [esp + 0x21c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0059a7a2
mov esp, ebp
pop ebp
ret

Function at 0x480294
Capabilities:
Check if file exists
Copy file

Disassembly:
push 0x68
mov eax, 0x5ec293
call fcn.0059bbd7
lea ecx, [ebp - 0x58]
call fcn.004cac49
xor esi, esi
lea ecx, [ebp - 0x40]
push str.360ini.dll
mov edx, eax
mov dword [ebp - 4], esi
call fcn.0041152a
pop ecx
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.0040b67e
push 8
pop edi
cmp dword [ebp - 0x2c], edi
lea eax, [ebp - 0x40]
mov ebx, str.CopyIniDllProc
cmovae eax, dword [ebp - 0x40]
push eax
push 0x87
push ebx
push str.__s__d___CopyIniDllProc_dstPath_s
call fcn.0040a649
push ecx
push ecx
mov ecx, esp
push str.installer360ini.dll
call fcn.0040b0d5
lea ecx, [ebp - 0x70]
call fcn.004ca141
add esp, 0x18
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], edi
jb 0x480310
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040b0d5
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.0040b67e
cmp dword [ebp - 0x14], edi
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push 0x89
push ebx
push str.__s__d___CopyIniDllProc_oriPath_s
call fcn.0040a649
add esp, 0x10
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x480370
push 0x8b
push ebx
push str.__s__d___oriPath_path_is_not_exists
call fcn.0040a649
add esp, 0xc
or esi, 0xffffffff
jmp 0x4803a7
cmp dword [ebp - 0x2c], edi
lea ecx, [ebp - 0x40]
push esi
cmovae ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], edi
push ecx
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x8f
push ebx
push str.__s__d___CopyFile_oriPath_to_dstPath_res_d
call fcn.0040a649
add esp, 0x10
lea ecx, [ebp - 0x28]
call fcn.0040b67e
lea ecx, [ebp - 0x40]
call fcn.0040b67e
mov eax, esi
call fcn.0059bb81
ret 4
Function at 0x480402
Capabilities:
Create thread

Disassembly:
push 0x1d0
mov eax, 0x5ec2e6
call fcn.0059bbd7
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
push edx
push ecx
lea ecx, [ebp - 0x1d8]
call fcn.004982f5
xor ebx, ebx
lea ecx, [ebp - 0x1d8]
push esi
mov dword [ebp - 4], ebx
call fcn.004a3c90
push edi
lea ecx, [ebp - 0x1d8]
call fcn.004a3c9f
push ecx
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1d8]
push dword [ebp + 8]
call fcn.0049b023
test al, al
jne 0x48046b
push 0xbb
push str.ShowScreenSaver
push str.__s__d___CreateFrame_failed
jmp 0x4805aa
call fcn.004cc6fd
test eax, eax
je 0x480492
lea eax, [ebp - 0x1dc]
mov dword [ebp - 0x1dc], ebx
push eax
push ebx
push ebx
push 0x4803c1
push ebx
push ebx
call fcn.005c30ff
add esp, 0x18
sub esp, 0x18
lea eax, [ebp - 0x1d8]
mov ecx, esp
mov dword [0x6e56a4], eax
push str.chrome.dll
call fcn.0040b0d5
lea ecx, [ebp - 0x28]
call fcn.004ca141
add esp, 0x18
push 8
pop edi
cmp dword [eax + 0x14], edi
jb 0x4804c1
mov eax, dword [eax]
push eax
call fcn.004352fd
pop ecx
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.0040b67e
test esi, esi
je 0x4805b2
push edi
push ebx
sub esp, 0x18
mov ecx, esp
push str.chrome.dll
call fcn.0040b0d5
lea ecx, [ebp - 0x28]
call fcn.004ca141
add esp, 0x18
cmp dword [eax + 0x14], edi
jb 0x4804fd
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.0040b67e
sub esp, 0x18
mov ecx, esp
push str.chrome.dll
call fcn.0040b0d5
lea ecx, [ebp - 0x40]
call fcn.004ca141
add esp, 0x18
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], edi
jb 0x480533
mov eax, dword [eax]
push eax
push 0xc8
mov edi, str.ShowScreenSaver
push edi
push str.__s__d___chrome.dll__s
call fcn.0040a649
add esp, 0x10
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x40]
call fcn.0040b67e
test esi, esi
je 0x48059f
push str.ChromeShell
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x480590
push 0xcd
push edi
push str.__s__d___chrome_main__null
call fcn.0040a649
add esp, 0xc
push ebx
push ebx
push 0x10
push dword [ebp - 0x1cc]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x4805b2
push 0x6e4e88
push dword [0x6deab4]
call eax
pop ecx
pop ecx
push 0xdd
push edi
push str.__s__d___exit
call fcn.0040a649
add esp, 0xc
lea ecx, [ebp - 0x1d8]
call fcn.0049881e
call fcn.0059bb81
ret
Function at 0x4805c3
Capabilities:
Check if file exists

Disassembly:
push 0x25c
mov eax, 0x5ec32d
call fcn.0059bbd7
and dword [ebp - 0x268], 0
lea ecx, [ebp - 0x28]
call fcn.004d4353
and dword [ebp - 4], 0
xor ebx, ebx
inc ebx
push 8
mov ecx, ebx
pop esi
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x268], ecx
cmp dword [eax + 0x14], esi
jb 0x480600
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x48062f
lea ecx, [ebp - 0x40]
call fcn.004d4353
mov dword [ebp - 0x264], 3
cmp dword [eax + 0x14], esi
jb 0x480624
mov eax, dword [eax]
push eax
call fcn.004352fd
pop ecx
test eax, eax
jne 0x480631
xor bl, bl
test byte [ebp - 0x264], 2
je 0x480642
lea ecx, [ebp - 0x40]
call fcn.0040b67e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0040b67e
test bl, bl
je 0x4806e5
lea ecx, [ebp - 0x28]
call fcn.004d4353
cmp dword [eax + 0x14], esi
jb 0x480665
mov eax, dword [eax]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.0040b67e
test esi, esi
je 0x4806e5
push str.Start
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x4806de
push 0x20a
lea eax, [ebp - 0x24c]
push 0
push eax
call fcn.005b24a0
movaps xmm0, xmmword [0x67aa60]
lea eax, [ebp - 0x260]
add esp, 0xc
mov dword [ebp - 0x250], 0x1b7740
movups xmmword [ebp - 0x260], xmm0
push eax
call edi
push eax
push 0xf6
push str.Install360Safe
push str.__s__d___HealthMgr::Install360Safe_ret___d
call fcn.0040a649
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.0059bb81
ret

Function at 0x4808e0
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x6d35ac]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
test cl, cl
je 0x480988
push 0x208
xor esi, esi
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.005b24a0
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x6371e0
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x480967
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x480967
push str.SetProcessDpiAwareness
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
call fcn.00427235
xor ecx, ecx
test al, al
setne cl
inc ecx
test esi, esi
je 0x480988
push ecx
call esi
test eax, eax
jne 0x480982
inc eax
jmp 0x48098a
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.0059a7a2
leave
ret