Function at 0x4375d7
Capabilities:
Check for time delay via gettickcount
Check if file exists

Disassembly:
push 0x32c
mov eax, 0x4a8218
call fcn.0049cbc1
xor eax, eax
inc eax
mov ebx, ecx
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x204], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebx + 0x1e0]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx]
lea esi, [ebx + 8]
cmp dword [esi + 0x18], 8
mov dword [ebp - 0x208], esi
jb 0x437623
mov eax, dword [esi + 4]
jmp 0x437626
lea eax, [esi + 4]
lea ecx, [ebp - 0x234]
push ecx
xor edi, edi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x4378ab
mov eax, dword [ebp - 0x214]
mov dword [ebx + 0x1e8], eax
mov eax, dword [0x4dff94]
mov ecx, 0x4dff94
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 4], edi
push dword [ebp - 0x220]
lea eax, [ebp - 0x1f8]
push dword [ebp - 0x21c]
push str._x_x
push eax
call fcn.00408085
add esp, 0x10
cmp dword [ebx + 0x204], edi
jne 0x4376a3
push dword [ebp - 0x1f8]
lea ecx, [ebx + 0x1f0]
call dword [0x4aa3c4]
jmp 0x437899
lea edi, [ebx + 0x1f0]
cmp dword [edi + 0x18], 8
jb 0x4376b4
mov eax, dword [edi + 4]
jmp 0x4376b7
lea eax, [edi + 4]
push dword [ebp - 0x1f8]
push eax
call dword [sym.imp.MSVCR80.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
je 0x437899
push dword [ebp - 0x1f8]
mov ecx, edi
call dword [0x4aa3c4]
lea ecx, [ebp - 0x4c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea eax, [ebp - 0x1ec]
push eax
mov byte [ebp - 4], 2
call fcn.004814b2
lea eax, [ebp - 0x1ec]
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.00481570
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x30]
call dword [0x4aa370]
mov eax, dword [ebp - 0x1e0]
test eax, eax
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x200], ecx
jg 0x437759
jl 0x43774a
cmp ecx, 0x1400000
jae 0x437759
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x4c]
call dword [0x4aa370]
jmp 0x4377af
and dword [ebp - 0x74], 0
and dword [ebp - 0x70], 0
mov dword [ebp - 0xcc], vtable.KMD5.0
mov byte [ebp - 4], 4
cmp dword [esi + 0x18], 8
jb 0x43777a
mov eax, dword [esi + 4]
jmp 0x43777d
lea eax, [esi + 4]
push eax
lea edi, [ebp - 0xcc]
call fcn.0048361f
test eax, eax
je 0x4377a0
call fcn.004836d5
test eax, eax
je 0x4377a0
push eax
lea ecx, [ebp - 0x4c]
call dword [0x4aa3c4]
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 3
call fcn.004835f5
cmp dword [esi + 0x18], 8
jb 0x4377ba
mov esi, dword [esi + 4]
jmp 0x4377bd
add esi, 4
push esi
push 0x4e08b8
call fcn.004841e4
push eax
lea esi, [ebp - 0x338]
call fcn.00427e99
mov byte [ebp - 4], 5
push dword [eax]
lea ecx, [ebp - 0x68]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea eax, [ebp - 0x334]
mov byte [ebp - 4], 7
cmp dword [ebp - 0x338], eax
je 0x437802
push dword [ebp - 0x338]
call dword [sym.imp.MSVCR80.dll_free]
pop ecx
lea esi, [ebx + 0x30]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebx + 0x15c]
call dword [0x4aa370]
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebx + 0x178]
call dword [0x4aa370]
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebx + 0x1a0]
call dword [0x4aa370]
mov eax, dword [ebp - 0x210]
mov dword [ebx + 0x194], eax
mov eax, dword [ebp - 0x200]
push esi
mov dword [ebx + 0x198], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, ebx
call fcn.004369af
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea eax, [ebp - 0x1ec]
push eax
mov byte [ebp - 4], 2
call fcn.0048153f
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1f8]
add eax, 0xfffffff0
call fcn.00401291
cmp dword [ebx + 0x20c], 5
jne 0x4378c5
push 2
pop eax
cmp dword [ebx + 0x1ec], eax
jne 0x4378c5
mov dword [ebp - 0x1fc], eax
push 0
push dword [ebp - 0x1fc]
mov ecx, ebx
call fcn.00437d2d
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov dword [ebp - 0x200], edi
call esi
mov ecx, eax
sub ecx, dword [ebp - 0x1f4]
mov eax, 0x3e8
cmp ecx, eax
jae 0x4378ff
push eax
push dword [ebx + 0x2c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x43790c
cmp dword [ebp - 0x1fc], 2
jne 0x43791a
call esi
sub eax, dword [ebx + 0x214]
push eax
call fcn.00438b82
lea esi, [ebx + 0x30]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test edi, edi
jne 0x437931
mov dword [ebx + 0x48], 0xa
jmp 0x43793f
xor eax, eax
cmp edi, 3
setne al
add eax, 7
mov dword [ebx + 0x48], eax
lea eax, [ebp - 0x68]
push eax
mov eax, ebx
call fcn.004389b1
cmp dword [eax + 0x18], 8
jb 0x437955
mov eax, dword [eax + 4]
jmp 0x437958
add eax, 4
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
neg eax
sbb al, al
inc al
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x1ed], al
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
cmp byte [ebp - 0x1ed], 0
je 0x437995
and dword [ebx + 0x98], 0
and dword [ebp - 0x204], 0
mov dword [ebx + 0x1bc], 3
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebx + 0x1e0]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx]
mov esi, vtable.KxEIPCClientT_class_IKxEPopBox__class_KxEPipeClientCommunication_.0
mov dword [ebp - 0x14c], esi
call fcn.004298c5
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.00402988
mov dword [ebp - method.KxEIPCClientT_class_IKxEPopBox__class_KxEPipeClientCommunication_.virtual_0], 0x4b8b44
xor eax, eax
mov dword [ebp - 4], 8
and dword [ebp - 0x20c], 0
lea edi, [ebp - 0x1f4]
stosd dword es:[edi], eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00439c66
xor ecx, ecx
cmp dword [ebp - 0x20c], ecx
je 0x437a90
cmp dword [ebx + 0x98], 1
je 0x437a90
cmp dword [ebx + 0x1e4], 0xa
jne 0x437a90
lea eax, [ebp - 0xac]
push eax
call fcn.00433294
push dword [ebp - 0x208]
mov byte [ebp - 4], 9
mov eax, dword [ebx + 0x98]
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xac], 7
mov dword [ebp - 0xa8], eax
call dword [0x4aa370]
xor eax, eax
lea edi, [ebp - 0x1f4]
stosd dword es:[edi], eax
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.00439cb4
lea eax, [ebp - 0xac]
push eax
mov byte [ebp - 4], 8
call fcn.004332c3
jmp 0x437b66
cmp dword [ebx + 0x1ec], 2
jne 0x437b66
cmp dword [ebp - 0x200], ecx
jne 0x437b66
cmp dword [ebp - 0x204], ecx
je 0x437b66
mov eax, dword [ebx + 0x98]
cmp eax, 2
jne 0x437ac4
xor esi, esi
jmp 0x437ad0
cmp eax, 3
jne 0x437b66
push 2
pop esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x24]
call fcn.00420c9f
mov eax, dword [ebp - 0x208]
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x18], 8
jb 0x437af9
mov eax, dword [eax + 4]
jmp 0x437afc
add eax, 4
mov edi, dword [ebp - 0x1c]
test edi, edi
je 0x437b1b
mov ecx, dword [edi]
push eax
push 0x4b7558
push edi
call dword [ecx + 0x10]
mov eax, dword [edi]
push esi
push str.type
push edi
call dword [eax + 0x14]
add ebx, 0xf4
cmp dword [ebx + 0x18], 8
jb 0x437b2c
mov ebx, dword [ebx + 4]
jmp 0x437b2f
add ebx, 4
test edi, edi
je 0x437b55
mov eax, dword [edi]
push ebx
push str.vriusname
push edi
call dword [eax + 0x10]
mov eax, dword [edi]
push 0x3ea
push edi
call dword [eax + 0xc]
mov eax, dword [edi]
push str.CloudIdentifyResult
push edi
call dword [eax + 0x28]
lea esi, [ebp - 0x24]
mov byte [ebp - 4], 8
call fcn.00420d6d
mov esi, vtable.KxEIPCClientT_class_IKxEPopBox__class_KxEPipeClientCommunication_.0
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x148]
push eax
mov dword [ebp - 0x14c], esi
call fcn.00402ba5
call fcn.0049cc44
ret