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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp dword [rcx + 0x190], 0
mov rbx, rcx
je 0x14001d674
cmp byte [rcx + 0x18f], 0
jne 0x14001d674
mov dil, 1
jmp 0x14001d677
xor dil, dil
mov rcx, qword [rcx + 0x10c8]
movzx edx, dil
mov rax, qword [rcx]
call qword [rax + 0x38]
cmp byte [rbx + 0x10f1], 0
mov byte [rbx + 0x2198], 1
mov byte [rbx + 0x2199], dil
jne 0x14001d6b5
mov rdx, rbx
mov byte [rbx + 0x10f1], 1
lea rcx, [0x14001d600]
call fcn.140031f90
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
movzx esi, r9b
mov rdi, rcx
cmp r8d, 1
jne 0x14001dcb3
cmp edx, 0x19
jg 0x14001da23
je 0x14001d9fc
dec edx
cmp edx, 7
ja case.0x14001d7ae.4
movsxd rax, edx
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x1dd5c]
add rcx, rdx
jmp rcx
mov byte [rdi + 0x188], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
test r9b, r9b
sete al
mov byte [rdi + 0x18a], al
test r9b, r9b
jne 0x14001d805
mov byte [rdi + 0xfd], r9b
mov byte [rdi + 0x108], r9b
mov byte [rdi + 0xfc], 1
xor al, al
mov byte [rdi + 0x10f8], al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
movzx eax, byte [rdi + 0x1177]
mov byte [rdi + 0xfd], al
test al, al
je 0x14001d7e6
cmp byte [rdi + 0x10f8], 0
jne 0x14001d839
mov r8, rdi
lea rdx, [0x14001cf40]
mov ecx, 0x1c2
call fcn.140031d30
mov dword [rdi + 0x10fc], eax
mov al, 1
jmp 0x14001d7ef
xor ebx, ebx
mov dword [rdi + 0xe7c], ebx
mov qword [rdi + 0xe90], rbx
mov qword [rdi + 0xe88], rbx
cmp byte [rdi + 0x11a0], bl
jne 0x14001d87a
mov r8d, dword [rdi + 0x174]
test r9b, r9b
mov edx, 0x50
mov eax, 0x84
cmovne edx, eax
mov rcx, rdi
call fcn.14001c420
mov eax, dword [rdi + 0x178]
test eax, eax
mov edx, dword [rdi + 0x174]
mov byte [rdi + 0xf9], sil
mov dword [rdi + 0xd8], ebx
lea ecx, [rax - 1]
mov dword [rdi + 0x1c8], ebx
cmovg ecx, ebx
mov byte [rdi + 0xe2], bl
lea r8d, [rdx - 1]
mov dword [rdi + 0xcc], ecx
test edx, edx
mov dword [rdi + 0xdc], r8d
mov dword [rdi + 0x1cc], r8d
mov rcx, rdi
cmovg r8d, ebx
mov dword [rdi + 0xc8], r8d
call fcn.140013bd0
mov r9b, 1
xor edx, edx
movzx r8d, r9b
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140010a20
cmp byte [rdi + 0xf2], 0
je 0x14001d983
test r9b, r9b
jne 0x14001d994
mov ebx, dword [rdi + 0xf4]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
cmp eax, 0x64
jge 0x14001d95e
mov ecx, 0x64
mov byte [rdi + 0x181], 1
sub ecx, eax
lea rdx, [0x14001cf40]
mov r8, rdi
call fcn.140031d30
mov rcx, rdi
mov dword [rdi + 0x184], eax
mov byte [rdi + 0xf2], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140013bd0
mov rcx, rdi
mov byte [rdi + 0x181], 0
mov byte [rdi + 0xf2], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140013bd0
test r9b, r9b
je 0x14001d994
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0xf4], eax
mov rcx, rdi
mov byte [rdi + 0xf2], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140013bd0
mov byte [rdi + 0xe0], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov byte [rdi + 0xe1], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
test r9b, r9b
sete al
mov byte [rdi + 0x18b], al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
test dword [rcx], 0x4010
je 0x14001dc4f
mov byte [rcx + 0xf8], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140013bd0
cmp edx, 0x3f7
jg 0x14001db44
je 0x14001db2d
sub edx, 0x2f
je 0x14001dad6
sub edx, 0x3b9
je 0x14001dab4
sub edx, 2
je 0x14001da92
sub edx, 1
je 0x14001da70
cmp edx, 3
jne case.0x14001d7ae.4
mov byte [rcx + 0x194], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
neg sil
sbb eax, eax
and eax, 3
mov dword [rcx + 0x190], eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14001d650
neg sil
sbb eax, eax
and eax, 2
mov dword [rcx + 0x190], eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14001d650
xor ebx, ebx
test r9b, r9b
setne bl
mov dword [rcx + 0x190], ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x14001d650
test dword [rcx], 0x4000
je 0x14001dc4f
xor ebx, ebx
cmp byte [rcx + 0x119a], bl
mov edx, ebx
mov dword [rcx + 0xe7c], ebx
cmove edx, esi
mov qword [rcx + 0xe90], rbx
xor r9d, r9d
mov qword [rcx + 0xe88], rbx
xor r8d, r8d
call fcn.140014140
cmp byte [rdi + 0x11ad], bl
je case.0x14001d7ae.4
mov dword [rdi + 0x20], ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov byte [rcx + 0x195], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
sub edx, 0x417
je 0x14001dc47
sub edx, 1
je 0x14001dc15
sub edx, 1
je 0x14001db86
cmp edx, 0x3bb
jne case.0x14001d7ae.4
test r9b, r9b
setne al
mov byte [rcx + 0x1a4], al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
test r9b, r9b
je 0x14001db9f
cmp byte [rcx + 0x119a], 0
jne 0x14001dba4
movzx edx, sil
call fcn.140013630
jmp 0x14001dba4
call fcn.140013bd0
test dword [rdi], 0x4000
je 0x14001dc4f
xor ebx, ebx
mov r8b, 1
cmp byte [rdi + 0x119a], bl
mov edx, ebx
mov rcx, rdi
mov dword [rdi + 0xe7c], ebx
cmove edx, esi
mov qword [rdi + 0xe90], rbx
xor r9d, r9d
mov qword [rdi + 0xe88], rbx
call fcn.140014140
test sil, sil
jne 0x14001dbf6
cmp byte [rdi + 0x119a], bl
jne 0x14001dbf6
xor edx, edx
mov rcx, rdi
call fcn.140013630
cmp byte [rdi + 0x11ad], bl
je case.0x14001d7ae.4
mov dword [rdi + 0x20], ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cmp byte [rcx + 0x119a], 0
jne 0x14001dc27
movzx edx, sil
call fcn.140013630
test sil, sil
jne case.0x14001d7ae.4
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.140013bd0
test dword [rcx], 0x4000
jne 0x14001dc67
xor ebx, ebx
mov dword [rdi + 0xe78], ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor ebx, ebx
mov r9b, 1
cmp byte [rcx + 0x119a], bl
mov edx, ebx
movzx r8d, r9b
mov dword [rcx + 0xe7c], ebx
cmove edx, esi
mov qword [rcx + 0xe90], rbx
mov qword [rcx + 0xe88], rbx
call fcn.140014140
cmp byte [rdi + 0x11ad], bl
je case.0x14001d7ae.4
mov dword [rdi + 0x20], ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
test r8d, r8d
jne case.0x14001d7ae.4
cmp edx, 4
je 0x14001dd27
cmp edx, 0xc
je 0x14001dd0b
cmp edx, 0x14
je 0x14001dcf4
cmp edx, 0x22
jne case.0x14001d7ae.4
test dword [rcx], 0x4010
je 0x14001dd2c
test r9b, r9b
sete al
mov byte [rcx + 0x18e], al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov byte [rcx + 0x18d], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
test r9b, r9b
sete al
mov byte [rcx + 0x18c], al
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
test byte [rcx], 8
jne 0x14001dd44
xor ebx, ebx
mov dword [rcx + 0xe78], ebx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov byte [rcx + 0xe3], sil
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret