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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov rbx, qword [rcx]
mov r14, rcx
mov rsi, qword [rcx + 8]
cmp rbx, rsi
je 0x140004104
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movzx ecx, word [rbx + 0xa3]
mov edi, eax
movzx edx, byte [rbx + 1]
mov word [rsp + 0x40], cx
movzx ecx, byte [rbx]
call fcn.140001bd0
test rax, rax
je 0x14000408a
mov rcx, qword [0x14002ede8]
lea rdx, [rax + 0xa0]
mov r9d, 2
lea r8, [rsp + 0x40]
mov r10, qword [rcx]
call qword [r10 + 0x18]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, edi
cmp eax, 0x64
ja 0x1400040e9
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movzx ecx, word [rbx + 0xab]
mov edi, eax
movzx edx, byte [rbx + 1]
mov word [rsp + 0x40], cx
movzx ecx, byte [rbx]
call fcn.140001bd0
test rax, rax
je 0x1400040dc
mov rcx, qword [0x14002ede8]
lea rdx, [rax + 0xa8]
mov r9d, 2
lea r8, [rsp + 0x40]
mov r10, qword [rcx]
call qword [r10 + 0x18]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, edi
cmp eax, 0x64
ja 0x1400040fb
add rbx, 0x205
cmp rbx, rsi
jne 0x140004045
jmp 0x140004104
mov word [rbx + 0x203], 0x102
mov rbx, qword [r14]
mov rdi, qword [r14 + 8]
cmp rbx, rdi
je 0x1400042b8
mov r11d, 0xffff
nop word [rax + rax]
cmp byte [rbx + 0x203], 0
jne 0x1400041db
test byte [rbx + 7], 4
jne 0x140004141
mov word [rbx + 0x203], 0x201
jmp 0x1400041db
movzx r10d, byte [rbx + 0x37]
movzx r9d, byte [r10 + rbx + 4]
mov r8d, r9d
test r9b, r9b
je 0x140004192
movzx eax, byte [rbx + r9 + 4]
test al, al
je 0x140004192
mov edx, dword [rax + rbx + 0xf]
mov ecx, 0
test edx, 0xc00
mov eax, edx
setne cl
shr eax, 0xf
and eax, 7
shr edx, 0xc
add ecx, eax
and edx, 7
add ecx, edx
cmp ecx, 0xf
jne 0x140004192
mov word [rbx + 0x203], 0x302
jmp 0x1400041db
test r10b, r10b
je 0x1400041c4
test r9b, r9b
je 0x1400041c4
movzx eax, byte [rbx + r8 + 4]
test al, al
je 0x1400041c4
movzx ecx, byte [rax + rbx + 5]
and cl, 0xf0
cmp cl, 0x80
jne 0x1400041c4
cmp byte [rbx + 2], 0
jne 0x1400041c4
mov word [rbx + 0x203], 0x402
jmp 0x1400041db
cmp word [rbx + 3], r11w
je 0x1400041d2
cmp word [rbx + 5], r11w
jne 0x1400041db
mov word [rbx + 0x203], 0x502
add rbx, 0x205
cmp rbx, rdi
jne 0x140004120
mov rdi, qword [r14 + 8]
mov rbx, qword [r14]
cmp rbx, rdi
je 0x1400042b8
nop dword [rax + rax]
cmp byte [rbx + 0x203], 0
jne 0x1400042a1
movzx ecx, byte [rbx + 0x204]
sub ecx, 1
je 0x14000425a
sub ecx, 1
je 0x140004251
sub ecx, 1
je 0x140004248
sub ecx, 1
je 0x14000423f
cmp ecx, 1
je 0x140004236
lea r11, [0x140028fd8]
jmp 0x140004261
lea r11, str.Hidden
jmp 0x140004261
lea r11, str.invalid_bridge
jmp 0x140004261
lea r11, str.xilinx
jmp 0x140004261
lea r11, str.BME_off
jmp 0x140004261
lea r11, str.pcileech
lea rcx, [rbx + 3]
call fcn.140003f50
movzx ecx, word [rbx + 5]
movzx edx, word [rbx + 3]
movzx r10d, byte [rbx + 2]
movzx r9d, byte [rbx + 1]
movzx r8d, byte [rbx]
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x30], ecx
lea rcx, str._drvscan____s____02d:_02d:_02d____04X:_04X____s__n
mov dword [rsp + 0x28], edx
mov rdx, rax
mov dword [rsp + 0x20], r10d
call fcn.1400010e0
add rbx, 0x205
cmp rbx, rdi
jne 0x140004200
mov rdi, qword [r14 + 8]
mov rbx, qword [r14]
mov ebp, 7
cmp rbx, rdi
je 0x1400044bb
lea esi, [rbp + 7]
nop dword [rax]
cmp byte [rbx + 0x203], 1
jne 0x1400043ab
lea rcx, str._drvscan_
call fcn.1400010e0
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, si
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movzx ecx, byte [rbx + 0x204]
sub ecx, 1
je 0x14000434d
sub ecx, 1
je 0x140004344
sub ecx, 1
je 0x14000433b
sub ecx, 1
je 0x140004332
cmp ecx, 1
je 0x140004329
lea r11, [0x140028fd8]
jmp 0x140004354
lea r11, str.Hidden
jmp 0x140004354
lea r11, str.invalid_bridge
jmp 0x140004354
lea r11, str.xilinx
jmp 0x140004354
lea r11, str.BME_off
jmp 0x140004354
lea r11, str.pcileech
lea rcx, [rbx + 3]
call fcn.140003f50
movzx ecx, word [rbx + 5]
movzx edx, word [rbx + 3]
movzx r10d, byte [rbx + 2]
movzx r9d, byte [rbx + 1]
movzx r8d, byte [rbx]
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x30], ecx
lea rcx, str.__s____02d:_02d:_02d____04X:_04X____s__n
mov dword [rsp + 0x28], edx
mov rdx, rax
mov dword [rsp + 0x20], r10d
call fcn.1400010e0
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, bp
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
add rbx, 0x205
cmp rbx, rdi
jne 0x1400042d0
mov rdi, qword [r14 + 8]
mov rbx, qword [r14]
cmp rbx, rdi
je 0x1400044bb
mov esi, 4
cmp byte [rbx + 0x203], 2
jne 0x1400044ab
lea rcx, str._drvscan_
call fcn.1400010e0
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, si
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
movzx ecx, byte [rbx + 0x204]
sub ecx, 1
je 0x14000444d
sub ecx, 1
je 0x140004444
sub ecx, 1
je 0x14000443b
sub ecx, 1
je 0x140004432
cmp ecx, 1
je 0x140004429
lea r11, [0x140028fd8]
jmp 0x140004454
lea r11, str.Hidden
jmp 0x140004454
lea r11, str.invalid_bridge
jmp 0x140004454
lea r11, str.xilinx
jmp 0x140004454
lea r11, str.BME_off
jmp 0x140004454
lea r11, str.pcileech
lea rcx, [rbx + 3]
call fcn.140003f50
movzx ecx, word [rbx + 5]
movzx edx, word [rbx + 3]
movzx r10d, byte [rbx + 2]
movzx r9d, byte [rbx + 1]
movzx r8d, byte [rbx]
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x30], ecx
lea rcx, str.__s____02d:_02d:_02d____04X:_04X____s__n
mov dword [rsp + 0x28], edx
mov rdx, rax
mov dword [rsp + 0x20], r10d
call fcn.1400010e0
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, bp
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
add rbx, 0x205
cmp rbx, rdi
jne 0x1400043d0
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x50
pop r14
pop rdi
pop rsi
ret