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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [0x4cd420]
and dword [ebp - 4], 0
push esi
push edi
mov edi, 0x4cd420
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov ecx, edi
lea esi, [ebp - 0x44]
mov dword [ebp - 0x48], eax
call fcn.004073d2
mov ecx, edi
lea esi, [ebp - 0x40]
call fcn.004073d2
mov eax, dword [0x4cd420]
xor esi, esi
mov ecx, edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
call dword [eax + 0xc]
add eax, 0x10
push esi
mov dword [ebp - 0xc], eax
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.004264b5
cmp eax, esi
jne 0x41e65b
mov edi, dword [sym.imp.KERNEL32.DLL_GetLastError]
call edi
push eax
push esi
push str.GetDebugPrivilege_return:_d_GetLassError_return:_d
call fcn.0041264f
add esp, 0xc
call edi
push eax
push esi
push str.GetDebugPrivilege_return:_d_GetLassError_return:_d
mov esi, 0x4ce834
call fcn.00426876
add esp, 0xc
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push dword [ebx + 0x18]
lea edi, [ebp - 0x48]
mov dword [ebp - 8], eax
call fcn.0040d43b
test eax, eax
jne 0x41e687
mov eax, 0xe0000029
call fcn.00412640
mov edi, 0x4ce834
jmp 0x41e82a
xor ecx, ecx
cmp dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], ecx
je 0x41e70d
mov eax, dword [ebx + 0x80]
cmp eax, ecx
je 0x41e6aa
push dword [ebx + 0x58]
push str.ck_W
push ecx
push ecx
call eax
add esp, 0x10
mov edi, 0x4ce834
push str.StopAllProgress...
mov esi, edi
call fcn.00426876
pop ecx
lea eax, [ebp - 0x48]
call fcn.0040d52f
push eax
push str.StopAllProgress_return:_d
mov dword [ebp - 4], eax
call fcn.00426876
cmp dword [ebp - 4], 0
pop ecx
pop ecx
jne 0x41e704
mov eax, dword [ebx + 0x80]
test eax, eax
je 0x41e6f5
push dword [ebx + 0x58]
push 0x4b4bf8
push 1
push 0
call eax
add esp, 0x10
mov eax, 0xe0000003
call fcn.00412640
jmp 0x41e82a
mov dword [ebp - 4], 0x14
jmp 0x41e712
mov edi, 0x4ce834
push str.ClearFiles...
mov esi, edi
call fcn.00426876
pop ecx
lea eax, [ebp - 0x48]
call fcn.0040d7b7
push str.ClearFiles_end
call fcn.00426876
push dword [ebx + 0x18]
call fcn.00411010
push str.install_begin...
call fcn.00426876
xor esi, esi
push esi
call fcn.00412167
mov eax, dword [ebx + 0x18]
add esp, 0x10
cmp dword [eax - 0xc], esi
je 0x41e764
push eax
lea eax, [ebx + 0x5c]
call fcn.0041f680
test eax, eax
je 0x41e764
inc esi
push 1
call fcn.00412167
test esi, esi
pop ecx
jne 0x41e7be
mov eax, dword [ebx + 0x80]
test eax, eax
je 0x41e7b4
cmp dword [ebx + 0x78], esi
push dword [ebx + 0x58]
je 0x41e79b
push 0x4b4c3c
push 7
push dword [ebp - 4]
call eax
add esp, 0x10
mov eax, 0xe000000d
jmp 0x41e6fa
push 0x4b4c4c
push 2
push dword [ebp - 4]
call eax
add esp, 0x10
mov eax, 0xe0000002
jmp 0x41e6fa
mov eax, 0xe0000030
jmp 0x41e6fa
lea esi, [ebx + 0x5c]
call fcn.0041f65d
mov eax, dword [ebx + 0xc]
neg eax
sbb eax, eax
and eax, 0xa
add eax, 0xa
add dword [ebp - 4], eax
mov eax, ebx
call fcn.0041e184
test eax, eax
jne 0x41e807
mov eax, dword [ebx + 0x80]
test eax, eax
je 0x41e7fd
push dword [ebx + 0x58]
push 0x4b4c60
push 3
push dword [ebp - 4]
call eax
add esp, 0x10
mov eax, 0xe0000007
jmp 0x41e6fa
cmp dword [ebx + 0xc], 0
jne 0x41e81c
push 0xa
lea eax, [ebx + 0xc8]
push eax
call dword [sym.imp.KERNEL32.DLL_InterlockedExchange]
mov eax, ebx
call fcn.0041f069
mov dword [ebx + 0x10], 1
xor esi, esi
cmp dword [ebx + 0x10], esi
jne 0x41e83b
mov eax, 0xefffffff
call fcn.00412640
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, dword [ebp - 8]
mov dword [ebx + 0x7c], eax
mov eax, dword [ebx + 0x80]
cmp eax, esi
je 0x41e866
cmp dword [ebx + 0x10], esi
je 0x41e866
push dword [ebx + 0x58]
push 0x4b4c70
push esi
push 0x64
call eax
add esp, 0x10
push dword [ebx + 0x7c]
mov esi, edi
push dword [ebx + 0x10]
push str.install_end__return:_d__install_cost_time:_dms
call fcn.00426876
push dword [ebx + 0x10]
push str.install_thread_end:_d
call fcn.0041264f
add esp, 0x14
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0xc]
add eax, 0xfffffff0
call fcn.00405cc6
lea esi, [ebp - 0x1c]
call fcn.00402324
lea esi, [ebp - 0x2c]
call fcn.00402324
lea esi, [ebp - 0x3c]
call fcn.00402324
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
call fcn.00405cc6
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
call fcn.00405cc6
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
call fcn.00405cc6
pop edi
pop esi
leave
ret