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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x40
mov rcx, qword [0x14012c9b0]
xor esi, esi
cmp rcx, rsi
je 0x140042ac2
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x14012c9b0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x14012c9b0], rsi
lea rdx, str.shell
lea rcx, [0x14012d0c0]
call fcn.1400244bc
lea rcx, str.shell
call fcn.14002a50c
mov rcx, qword [rsp + 0x70]
mov edx, 0x2d
mov qword [rsp + 0x30], rcx
cmp dx, word [rcx]
mov al, 0x2a
cmove eax, edx
mov rbx, rsi
lea ebp, [rdx - 0x2b]
movsx edi, al
movzx eax, word [rcx]
cmp edi, eax
jne 0x140042b83
movzx eax, word [rcx + 2]
cmp edi, eax
jne 0x140042b83
lea rdx, [rcx + 4]
lea rcx, [0x140113620]
mov r8d, ebp
call fcn.140058db8
cmp al, sil
je 0x140042b7e
mov rax, qword [rsp + 0x30]
add rax, 8
mov rbx, rax
jmp 0x140042b53
mov edx, 9
cmp dx, cx
ja 0x140042b46
cmp cx, 0xd
jbe 0x140042b60
mov edx, 0x20
cmp dx, cx
je 0x140042b60
add rax, rbp
mov qword [rsp + 0x30], rax
movzx ecx, word [rax]
cmp cx, si
jne 0x140042b36
mov word [rax], si
add qword [rsp + 0x30], rbp
lea rcx, [rsp + 0x30]
call fcn.14001651c
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x70], rcx
jmp 0x140042b83
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx]
mov r12d, 1
cmp edi, eax
jne 0x140042bec
movzx eax, word [rcx + 2]
cmp edi, eax
jne 0x140042bec
add rcx, 4
lea rdx, [rsp + 0x30]
mov r8d, r12d
mov qword [rsp + 0x30], rcx
lea rcx, [0x14011361c]
call fcn.1400623c0
cmp al, sil
je 0x140042bc9
mov edi, r12d
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
jmp 0x140042c42
add qword [rsp + 0x30], 4
lea rdx, [rsp + 0x30]
lea rcx, [0x140112d30]
mov r8d, r12d
call fcn.1400623c0
cmp al, sil
je 0x140042c2d
mov edi, ebp
jmp 0x140042bbd
lea rdx, [rsp + 0x70]
lea rcx, str._user
mov r8d, 5
call fcn.1400623c0
cmp al, sil
je 0x140042c0d
mov edi, r12d
jmp 0x140042c42
lea rdx, [rsp + 0x70]
lea rcx, str._sys
mov r8d, 4
call fcn.1400623c0
cmp al, sil
je 0x140042c2d
mov edi, ebp
jmp 0x140042c42
lea rcx, str.UCallBackhWnd
call fcn.140019cfc
mov edi, esi
cmp rax, rsi
setne dil
mov qword [rsp + 0x38], rbx
cmp rbx, rsi
jne 0x140042c7f
mov rax, qword [rsp + 0x70]
lea rcx, [rsp + 0x38]
mov edx, 0x2c
mov qword [rsp + 0x38], rax
call fcn.1400e7958
mov rbx, qword [rsp + 0x38]
cmp word [rbx], si
je 0x140042c7f
mov word [rbx], si
mov rbx, qword [rsp + 0x38]
add rbx, rbp
mov qword [rsp + 0x38], rbx
cmp edi, esi
jne 0x140042c90
cmp word [rbx], si
je 0x140042c90
mov rcx, rbx
call fcn.140042a18
mov rbp, 0xffffffff80000002
lea r8, str.Shell.x
lea rdx, str.SOFTWAREPELOGON
mov rcx, rbp
call qword [0x14012d3a8]
xor edx, edx
xor ecx, ecx
call fcn.14003c73c
mov rcx, qword [rsp + 0x70]
call fcn.1400f3e90
mov r8, qword [0x14012a2a0]
cmp edi, r12d
lea ecx, [rax + rax]
lea rax, str.UShell
lea rdx, str.SOFTWAREPELOGON
mov dword [rsp + 0x28], ecx
cmove r8, rax
mov rax, qword [rsp + 0x70]
mov r9d, r12d
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [0x14012d3a0]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xor ecx, ecx
mov ebx, eax
call fcn.14001a8c8
lea rax, [rsp + 0x80]
lea r9, [rsp + 0x88]
lea r8, str.SysShel.ack
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
lea rdx, str.SOFTWAREPELOGONRAMDATA
mov rcx, rbp
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x80], 4
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x88], 4
call qword [0x14012cd30]
cmp eax, esi
jne 0x140042d63
cmp dword [rsp + 0x78], esi
jne 0x140042d8d
xor r9d, r9d
lea rcx, [0x14012d0c0]
xor r8d, r8d
lea edx, [r9 + 5]
call fcn.14001ec3c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
cmp eax, 0x1770
ja 0x140042da4
jmp 0x140042d09
lea rcx, [0x14012d0c0]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x96
call fcn.14001ec3c
xor eax, eax
add rsp, 0x40
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret