Function at 0x43c89c
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
and dword [ebp - 4], 0
push ebx
push esi
push edi
mov ebx, eax
mov eax, dword [0x4de4b4]
mov edi, 0x4de4b4
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov ecx, edi
lea esi, [ebp - 0x4c]
mov dword [ebp - 0x50], eax
call fcn.004016ab
mov ecx, edi
lea esi, [ebp - 0x48]
call fcn.004016ab
mov eax, dword [0x4de4b4]
xor esi, esi
mov ecx, edi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
call dword [eax + 0xc]
add eax, 0x10
push esi
mov dword [ebp - 0x14], eax
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.0044a3fc
cmp eax, esi
jne 0x43c93e
mov edi, dword [sym.imp.KERNEL32.DLL_GetLastError]
call edi
push eax
push esi
push str.GetDebugPrivilege_return:_d_GetLassError_return:_d
call fcn.0042493d
add esp, 0xc
call edi
push eax
push esi
push str.GetDebugPrivilege_return:_d_GetLassError_return:_d
mov esi, 0x4df93c
call fcn.0044a8d7
add esp, 0xc
push str.kxescore
call fcn.00424b2d
push eax
push dword [ebx + 0xc]
push str.cover:_d__kxescore:_d
call fcn.0042493d
add esp, 0x10
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push dword [ebx + 0x1c]
lea edi, [ebp - 0x50]
mov dword [ebp - 0x10], eax
call fcn.0041e26f
test eax, eax
je 0x43ccff
xor esi, esi
mov eax, ebx
mov dword [ebx + 0x10], esi
call fcn.0043db98
cmp dword [ebx + 0xc], esi
mov dword [ebp - 0xc], eax
je 0x43ca10
mov eax, dword [ebx + 0x88]
cmp eax, esi
je 0x43c9ab
cmp dword [ebp - 0xc], esi
jne 0x43c9ab
push dword [ebx + 0x5c]
push 0x4c16dc
push esi
push esi
call eax
add esp, 0x10
push str.StopAllProgress...
mov esi, 0x4df93c
call fcn.0044a8d7
pop ecx
lea edi, [ebp - 0x50]
call fcn.0041e522
push eax
push str.StopAllProgress_return:_d
mov dword [ebp - 8], eax
mov edi, esi
call fcn.0044a8d7
cmp dword [ebp - 8], 0
pop ecx
pop ecx
jne 0x43ca05
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x43c9f6
push dword [ebx + 0x5c]
push 0x4c171c
push 1
push 0
call eax
add esp, 0x10
mov eax, 0xe0000003
call fcn.0042492e
jmp 0x43cd04
mov dword [ebp - 4], 0x14
xor esi, esi
jmp 0x43ca1a
call fcn.004241fc
mov edi, 0x4df93c
mov eax, dword [0x4dacb8]
cmp eax, esi
je 0x43ca2a
push eax
call dword [sym.imp.KERNEL32.DLL_SetEvent]
push str.ClearWebShield...
mov esi, edi
call fcn.0044a8d7
pop ecx
xor esi, esi
call fcn.0043ad0c
test eax, eax
je 0x43ca56
call fcn.0043ae68
test eax, eax
je 0x43ca56
call fcn.0043ad89
call fcn.0043ae0d
inc esi
push esi
push str.ClearWebShield_return:_d
mov esi, edi
call fcn.0044a8d7
push str.ClearFiles...
call fcn.0044a8d7
add esp, 0xc
lea eax, [ebp - 0x50]
call fcn.0041e82e
push str.ClearFiles_end
call fcn.0044a8d7
pop ecx
push ebx
call fcn.0043e16d
mov eax, dword [ebp - 4]
call fcn.0043aceb
push dword [ebx + 0x1c]
call fcn.00422cac
mov eax, dword [0x4de4b4]
pop ecx
mov ecx, 0x4de4b4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push dword [ebx + 0x1c]
call fcn.0043b716
mov eax, dword [ebp - 8]
cmp dword [eax - 0xc], 0
pop ecx
pop ecx
je 0x43cad4
push eax
push 0x4c177c
call fcn.0044a8d7
mov eax, dword [ebp - 8]
pop ecx
pop ecx
add eax, 0xfffffff0
call fcn.0040151c
mov eax, dword [ebx + 0x88]
xor esi, esi
cmp eax, esi
je 0x43cafe
cmp dword [ebp - 0xc], esi
jne 0x43cafe
push dword [ebx + 0x5c]
push 0x4c1780
push esi
push dword [ebp - 4]
call eax
add esp, 0x10
cmp dword [ebx + 0xc], esi
jne 0x43cb0e
lea esi, [ebx + 0xcc]
call fcn.0041f102
push str.install_begin...
mov esi, edi
call fcn.0044a8d7
xor esi, esi
push esi
call fcn.0042435b
mov eax, dword [ebx + 0x1c]
cmp dword [eax - 0xc], esi
pop ecx
pop ecx
je 0x43cb41
push eax
lea eax, [ebx + 0x60]
call fcn.0043fb1e
test eax, eax
je 0x43cb41
mov eax, ebx
call fcn.0043c30a
inc esi
push 1
call fcn.0042435b
test esi, esi
pop ecx
jne 0x43cb95
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x43cd04
cmp dword [ebx + 0x7c], esi
push dword [ebx + 0x5c]
je 0x43cb7c
push 0x4c17a8
push 7
push dword [ebp - 4]
call eax
add esp, 0x10
mov eax, 0xe000000d
jmp 0x43c9fb
push 0x4c17b8
push 2
push dword [ebp - 4]
call eax
add esp, 0x10
mov eax, 0xe0000002
jmp 0x43c9fb
push dword [ebx + 0x1c]
call fcn.00438a41
push eax
call fcn.00438b36
test eax, eax
jne 0x43cbb1
mov eax, 0xe0000029
jmp 0x43c9fb
push ebx
call fcn.0043dc6d
test eax, eax
push ebx
je 0x43cbcb
call fcn.0043dd1f
mov eax, 0xe0000004
jmp 0x43c9fb
call fcn.0043de46
test eax, eax
je 0x43cbec
call fcn.00438a41
call fcn.00439053
test eax, eax
jne 0x43cbec
mov eax, 0xe0000005
jmp 0x43c9fb
lea esi, [ebx + 0x60]
call fcn.0043fab9
mov eax, dword [ebx + 0xc]
neg eax
sbb eax, eax
and eax, 0xa
add eax, 0xa
add dword [ebp - 4], eax
xor esi, esi
cmp dword [ebx + 0x9c], esi
je 0x43cc13
call fcn.00425051
mov eax, dword [ebp - 4]
call fcn.0043aceb
mov eax, dword [ebx + 0x88]
cmp eax, esi
je 0x43cc3b
cmp dword [ebp - 0xc], esi
jne 0x43cc3b
push dword [ebx + 0x5c]
push str.ck_W
push esi
push dword [ebp - 4]
call eax
add esp, 0x10
mov edi, ebx
call fcn.0043e2ab
mov eax, ebx
call fcn.0043e2f1
push ebx
call fcn.0043c3ca
test eax, eax
jne 0x43cc7e
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x43cc6f
push dword [ebx + 0x5c]
push 0x4c17dc
push 3
push dword [ebp - 4]
call eax
add esp, 0x10
mov eax, 0xe0000007
call fcn.0042492e
jmp 0x43ccff
cmp dword [ebx + 0xc], esi
jne 0x43cc92
push 0xa
lea eax, [ebx + 0xd0]
push eax
call dword [sym.imp.KERNEL32.DLL_InterlockedExchange]
call fcn.0043d9f6
test eax, eax
jne 0x43ccab
push str.install_ksafe_fail
mov esi, 0x4df93c
call fcn.0044a8d7
pop ecx
mov eax, ebx
call fcn.0043daf8
test eax, eax
jne 0x43ccc6
push str.install_pcmgr_fail
mov esi, 0x4df93c
call fcn.0044a8d7
pop ecx
xor eax, eax
cmp dword [ebx + 0xc], eax
je 0x43ccec
push eax
lea ecx, [ebp - 0xc]
push ecx
push eax
push 0xf003f
push 1
push eax
push eax
push str.SOFTWAREkingsoftAntivirusKNeedReboot
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov eax, ebx
call fcn.0043df11
mov dword [ebx + 0x10], 1
call fcn.0043e4b9
mov edi, 0x4df93c
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [ebp - 0x10]
xor esi, esi
cmp dword [ebx + 0x10], esi
mov dword [ebx + 0x84], eax
je 0x43cd24
push 0x64
pop eax
call fcn.0043aceb
jmp 0x43cd30
push 9
mov eax, 0x4df8ac
call fcn.004027b7
cmp dword [ebx + 0x80], esi
je 0x43cd58
cmp dword [ebx + 0x10], esi
je 0x43cd58
push str.wait_kismain
mov esi, edi
call fcn.0044a8d7
mov dword [esp], str.wait_kismain_end
call fcn.0044a8d7
pop ecx
xor esi, esi
mov eax, dword [ebx + 0x88]
cmp eax, esi
je 0x43cd77
cmp dword [ebx + 0x10], esi
je 0x43cd77
push dword [ebx + 0x5c]
push 0x4c1838
push esi
push 0x64
call eax
add esp, 0x10
mov eax, 0x4daca8
call fcn.0041e136
test eax, eax
je 0x43cd97
mov eax, dword [0x4daca8]
cmp eax, esi
je 0x43cd97
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov eax, dword [0x4dacac]
mov dword [0x4df878], eax
mov eax, dword [0x4dacb0]
add eax, 0xfffffff0
call fcn.00401648
mov esi, eax
add esi, 0x10
push esi
push 0x4df880
call fcn.00401af8
lea eax, [esi - 0x10]
call fcn.0040151c
cmp dword [ebx + 0x11c], 0
je 0x43cdef
mov eax, dword [ebx + 0xfc]
push ecx
sub eax, 0x10
mov esi, esp
call fcn.00401648
add eax, 0x10
mov dword [esi], eax
push dword [ebx + 0x10]
call fcn.004246cc
pop ecx
pop ecx
push dword [ebx + 0x84]
mov esi, edi
push dword [ebx + 0x10]
push str.install_end__return:_d__install_cost_time:_dms
call fcn.0044a8d7
push dword [ebx + 0x10]
push str.install_thread_end:_d
call fcn.0042493d
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.0040151c
lea esi, [ebp - 0x24]
call fcn.00405cd1
lea esi, [ebp - 0x34]
call fcn.00405cd1
lea esi, [ebp - 0x44]
call fcn.00405cd1
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
call fcn.0040151c
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
call fcn.0040151c
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
call fcn.0040151c
pop edi
pop esi
pop ebx
leave
ret