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

Disassembly:
push 0x14c
mov eax, 0x5ead82
call fcn.0059bbd7
lea eax, [ebp - 0x130]
xor ebx, ebx
push eax
push 0x64dd58
mov edx, str.Software360360huabaohuabao
mov dword [ebp - 0x130], ebx
mov ecx, reloc.WS2_32.dll_accept
call fcn.004261bf
cmp dword [ebp - 0x130], 1
pop ecx
pop ecx
je 0x474ca3
lea ecx, [ebp - 0xa4]
call fcn.00425665
push str.360SafeDesktopResteye_bk_image_
lea edx, [ebp - 0xa4]
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x11c]
call fcn.00411559
mov byte [ebp - 4], 1
lea edx, [ebp - 0xa4]
lea ecx, [ebp - 0x104]
mov dword [esp], str.360SafeDesktopResteyelocal_bk_image_
call fcn.00411559
mov byte [ebp - 4], 2
lea edx, [ebp - 0xa4]
lea ecx, [ebp - 0x74]
mov dword [esp], str.360browser_bkinfo_
call fcn.00411559
mov byte [ebp - 4], 3
lea edx, [ebp - 0xa4]
lea ecx, [ebp - 0x5c]
mov dword [esp], str.360browser_bkinfolocalbk_
call fcn.00411559
pop ecx
cmp dword [ebp - 0x60], 8
lea eax, [ebp - 0x74]
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x74]
push eax
call edi
mov esi, dword [sym.imp.SHELL32.dll_SHCreateDirectory]
test eax, eax
jne 0x47477a
cmp dword [ebp - 0x60], 8
lea eax, [ebp - 0x74]
cmovae eax, dword [ebp - 0x74]
push eax
push ebx
call esi
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
push eax
call edi
test eax, eax
jne 0x47479b
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
cmovae eax, dword [ebp - 0x5c]
push eax
push ebx
call esi
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], ebx
mov dword [ebp - 0x140], ebx
mov dword [ebp - 0x13c], ebx
lea edx, [ebp - 0x150]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x11c]
call fcn.004281ad
lea edx, [ebp - 0x144]
lea ecx, [ebp - 0x104]
call fcn.004281ad
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ecx
mov word [ebp - 0xec], ax
mov byte [ebp - 4], cl
mov edi, ebx
mov eax, dword [ebp - 0x14c]
mov esi, dword [ebp - 0x150]
sub eax, esi
push 0x18
pop ebx
cdq
idiv ebx
mov ebx, eax
test ebx, ebx
je 0x47494d
and dword [ebp - 0x34], 0
xor eax, eax
mov dword [ebp - 0x30], ecx
mov word [ebp - 0x44], ax
and dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov word [ebp - 0x2c], ax
push esi
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0042adda
add esp, 0xc
lea ecx, [ebp - 0x2c]
push eax
call fcn.0040b0ac
lea ecx, [ebp - 0xd4]
call fcn.0040b67e
cmp dword [ebp - 0x18], 8
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0xbc]
cmovae edx, dword [ebp - 0x2c]
call fcn.004236f2
push 0
lea edx, [ebp - 0xbc]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x8c]
call fcn.00426ce7
pop ecx
push eax
lea edx, [ebp - 0x74]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xd4]
call fcn.0042adab
pop ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.0040b0ac
lea ecx, [ebp - 0xd4]
call fcn.0040b67e
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0xa
call fcn.0040b67e
cmp dword [ebp - 0x30], 8
lea ecx, [ebp - 0x44]
push 0
cmovae ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
push ecx
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x47491d
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
mov ecx, esi
cmovae eax, dword [ebp - 0x44]
cmp dword [esi + 0x14], 8
jb 0x474904
mov ecx, dword [esi]
push eax
push ecx
push 0x84a
push str.HealthMgr::Copy360SafeFiles
push str.__s__d___CopyFile_failed_vecFiles___s_strDstFile___s
call fcn.0040a649
add esp, 0x14
lea ecx, [ebp - 0xbc]
call fcn.00404812
lea ecx, [ebp - 0x2c]
call fcn.0040b67e
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 7
call fcn.0040b67e
push 0x18
pop eax
inc edi
add esi, eax
push 7
pop ecx
cmp edi, ebx
jb 0x474820
mov eax, dword [ebp - 0x140]
xor edi, edi
mov esi, dword [ebp - 0x144]
sub eax, esi
push 0x18
pop ebx
cdq
idiv ebx
mov ebx, eax
test ebx, ebx
je 0x474abb
and dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], ecx
mov word [ebp - 0x2c], ax
and dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov word [ebp - 0x44], ax
mov edx, esi
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x8c]
call fcn.00426beb
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040b0ac
lea ecx, [ebp - 0x8c]
call fcn.0040b67e
push esi
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0042adda
add esp, 0xc
lea ecx, [ebp - 0x44]
push eax
call fcn.0040b0ac
lea ecx, [ebp - 0x8c]
call fcn.0040b67e
cmp dword [ebp - 0x30], 8
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0xbc]
cmovae edx, dword [ebp - 0x44]
call fcn.004236f2
push 0
lea edx, [ebp - 0xbc]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xd4]
call fcn.00426ce7
pop ecx
push eax
lea edx, [ebp - 0x5c]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x8c]
call fcn.0042adab
pop ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040b0ac
lea ecx, [ebp - 0x8c]
call fcn.0040b67e
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xe
call fcn.0040b67e
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
push 0
cmovae ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
push ecx
cmovae eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x474a8b
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
mov ecx, esi
cmovae eax, dword [ebp - 0x2c]
cmp dword [esi + 0x14], 8
jb 0x474a72
mov ecx, dword [esi]
push eax
push ecx
push 0x858
push str.HealthMgr::Copy360SafeFiles
push str.__s__d___CopyFile_failed_vecFiles___s_strDstFile___s
call fcn.0040a649
add esp, 0x14
lea ecx, [ebp - 0xbc]
call fcn.00404812
lea ecx, [ebp - 0x44]
call fcn.0040b67e
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 7
call fcn.0040b67e
push 0x18
pop eax
inc edi
add esi, eax
push 7
pop ecx
cmp edi, ebx
jb 0x47496d
and dword [ebp - 0x134], 0
lea eax, [ebp - 0x134]
push eax
mov esi, str.RestDelayTime
mov edi, str.Software360SoftMgrdesktoprestConfig
mov ebx, reloc.WS2_32.dll_accept
mov edx, edi
push esi
mov ecx, ebx
call fcn.004261bf
lea eax, [ebp - 0x134]
mov edx, str.Software360360huabaohuabao
push eax
push esi
mov ecx, ebx
call fcn.00426539
add esp, 0x10
lea ecx, [ebp - 0x12c]
push 0x633e78
call fcn.00423634
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0x10
push eax
mov esi, str.RestStartTime
mov edx, edi
push esi
call fcn.004262a9
lea eax, [ebp - 0x12c]
push eax
push esi
call fcn.004264d1
lea eax, [ebp - 0x154]
mov dword [ebp - 0x120], 0xf0
push eax
mov esi, str.RestIntervalTime
mov edx, edi
push esi
mov ecx, ebx
call fcn.004261bf
mov ecx, dword [ebp - 0x120]
test eax, eax
lea eax, [ebp - 0x120]
mov edx, str.Software360360huabaohuabao
cmovne ecx, dword [ebp - 0x154]
push eax
mov dword [ebp - 0x120], ecx
mov ecx, ebx
push esi
call fcn.00426539
and dword [ebp - 0x138], 0
lea eax, [ebp - 0x138]
push eax
mov esi, str.RestIdleCloudDelayTime
mov edx, edi
push esi
mov ecx, ebx
call fcn.004261bf
lea eax, [ebp - 0x138]
mov edx, str.Software360360huabaohuabao
push eax
push esi
mov ecx, ebx
call fcn.00426539
mov eax, dword [0x6d3fd4]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x11
push eax
mov esi, str.RestIdleCloudTime
mov edx, edi
push esi
call fcn.004262a9
lea eax, [ebp - 0x128]
push eax
push esi
call fcn.004264d1
mov eax, dword [0x6d3fd4]
add esp, 0x40
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x12
push eax
mov esi, str.RestCloudTime
mov edx, edi
push esi
call fcn.004262a9
lea eax, [ebp - 0x124]
push eax
push esi
call fcn.004264d1
lea eax, [ebp - 0x158]
mov dword [ebp - 0x158], 1
push eax
push 0x64dd58
mov edx, str.Software360360huabaohuabao
mov ecx, ebx
call fcn.00426539
add esp, 0x18
lea ecx, [ebp - 0x124]
call fcn.0040a4ed
lea ecx, [ebp - 0x128]
call fcn.0040a4ed
lea ecx, [ebp - 0x12c]
call fcn.0040a4ed
lea ecx, [ebp - 0xec]
call fcn.0040b67e
lea ecx, [ebp - 0x144]
call fcn.004132fb
lea ecx, [ebp - 0x150]
call fcn.004132fb
lea ecx, [ebp - 0x5c]
call fcn.0040b67e
lea ecx, [ebp - 0x74]
call fcn.0040b67e
lea ecx, [ebp - 0x104]
call fcn.0040b67e
lea ecx, [ebp - 0x11c]
call fcn.0040b67e
lea ecx, [ebp - 0xa4]
call fcn.0040b67e
call fcn.0059bb81
ret