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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
movzx ebx, dx
mov rdi, rcx
cmp ebx, 0x20
jae 0x1400bf6e5
cmp dword [rcx + 0xd4], 3
je 0x1400bf6d8
test byte [rbx + rcx + 0xe8], 1
je 0x1400bf718
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
call fcn.1400c0450
add bx, 0x40
jmp 0x1400bf718
mov ecx, 0x80
movzx eax, bx
sub ax, cx
cmp ax, 0x1f
ja 0x1400bf718
cmp dword [rdi + 0xd4], 3
je 0x1400bf706
test byte [rbx + rdi + 0x68], 0x10
je 0x1400bf718
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, rdi
call fcn.1400c0450
mov eax, 0xffe0
add bx, ax
movzx edx, bl
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1400c0450
mov qword [rsp + 0x18], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
mov qword [rsp + 0x50], rbp
movzx ecx, byte [rcx + 0xe4]
lea rdi, [rbx + 0x28]
xor r15b, r15b
mov qword [rsp + 0x58], rsi
xor r14b, r14b
movsxd r12, edx
mov rsi, r9
mov ebp, r8d
lea eax, [rcx - 1]
cmp al, 1
mov rax, qword [rdi]
jbe 0x1400bfa2a
cmp cl, 3
jne 0x1400bfa21
mov dword [rax + 0x40], 0xffffffff
jmp 0x1400bfa31
mov dword [rax + 0x40], 0
jmp 0x1400bfa31
mov dword [rax + 0x40], 0xffff
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, rbx
call fcn.1400c0450
mov dl, 0x42
mov rcx, rbx
call fcn.1400c0450
lea edx, [rbp + 0x30]
mov rcx, rbx
call fcn.1400c0450
lea edx, [rbp + 0x30]
mov rcx, rbx
call fcn.1400beb00
mov rbp, r12
mov r13d, 0xffe0
mov r12d, 0x80
test rbp, rbp
jle 0x1400bfaea
nop
movzx edi, byte [rsi]
cmp edi, 0x20
jae 0x1400bfa9b
cmp dword [rbx + 0xd4], 3
je 0x1400bfa8b
test byte [rdi + rbx + 0xe8], 1
je 0x1400bfac6
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, rbx
call fcn.1400c0450
add di, 0x40
jmp 0x1400bfac6
movzx eax, di
sub ax, r12w
cmp ax, 0x1f
ja 0x1400bfac6
cmp dword [rbx + 0xd4], 3
je 0x1400bfab8
test byte [rdi + rbx + 0x68], 0x10
je 0x1400bfac6
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, rbx
call fcn.1400c0450
add di, r13w
movzx edx, dil
mov rcx, rbx
call fcn.1400c0450
movzx edx, byte [rsi]
mov rcx, rbx
call fcn.1400beb00
inc rsi
sub rbp, 1
jne 0x1400bfa70
lea rdi, [rbx + 0x28]
mov dl, 3
mov rcx, rbx
call fcn.1400c0450
mov edx, 3
mov rcx, rbx
call fcn.1400beb00
movzx edx, byte [rbx + 0xe4]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
test dl, dl
jne 0x1400bfb80
mov rax, qword [rdi]
movzx edi, word [rax + 0x40]
cmp edi, 0x20
jae 0x1400bfb4c
cmp dword [rbx + 0xd4], 3
je 0x1400bfb35
test byte [rdi + rbx + 0xe8], 1
je 0x1400bfb77
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, rbx
call fcn.1400c0450
add di, 0x40
movzx edx, dil
jmp 0x1400bfc46
movzx eax, di
sub ax, r12w
cmp ax, 0x1f
ja 0x1400bfb77
cmp dword [rbx + 0xd4], 3
je 0x1400bfb69
test byte [rdi + rbx + 0x68], 0x10
je 0x1400bfb77
mov dl, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, rbx
call fcn.1400c0450
add di, r13w
movzx edx, dil
jmp 0x1400bfc46
cmp dl, 1
jne 0x1400bfb92
mov rax, qword [rdi]
mov edi, dword [rax + 0x40]
mov edx, edi
shr edx, 8
jmp 0x1400bfbc4
mov rcx, qword [rdi]
mov eax, dword [rcx + 0x40]
cmp dl, 2
jne 0x1400bfbaa
xor eax, 0xffff
mov dword [rcx + 0x40], eax
mov rax, qword [rdi]
jmp 0x1400bfbbc
not eax
mov dword [rcx + 0x40], eax
mov rax, qword [rdi]
movzx r15d, byte [rax + 0x42]
movzx r14d, byte [rax + 0x43]
movzx edi, byte [rax + 0x41]
movzx edx, byte [rax + 0x40]
mov rcx, rbx
cmp dl, 0x20
jae 0x1400bfbd6
movzx edx, dl
call 0x1400bf6b0
jmp 0x1400bfbdb
call fcn.1400c0450
mov rcx, rbx
cmp dil, 0x20
jae 0x1400bfbef
movzx edx, dil
call 0x1400bf6b0
jmp 0x1400bfbf8
movzx edx, dil
call fcn.1400c0450
cmp byte [rbx + 0xe4], 3
jne 0x1400bfc4e
mov rcx, rbx
cmp r15b, 0x14
jae 0x1400bfc15
movzx edx, r15b
call 0x1400bf6b0
jmp 0x1400bfc1e
movzx edx, r15b
call fcn.1400c0450
cmp r14b, 0x14
jae 0x1400bfc42
movzx edx, r14b
mov rcx, rbx
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp 0x1400bf6b0
movzx edx, r14b
mov rcx, rbx
call fcn.1400c0450
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret