Function at 0x180036920
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xf0], xmm6
mov qword [rbp + 0xe8], 0xfffffffffffffffe
movzx eax, byte [0x182094000]
mov edx, 9
xor ecx, ecx
call fcn.18002bb50
test rax, rax
je 0x180037199
movabs rcx, 0x79736e69572f3a43
mov qword [rax], rcx
mov qword [rbp + 8], rax
mov byte [rax + 8], 0x73
lea rdx, [0x180077b9e]
lea rcx, [rbp + 0x10]
mov r8d, 0x13
call fcn.18001c140
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
cmp rcx, 2
jne 0x180036a89
mov ecx, 2
call fcn.180035950
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 1
mov qword [rbp], 0
lea rcx, [rbp - 0x10]
mov r8d, 0x2009299
xor edx, edx
call fcn.18006bfe0
mov rsi, qword [rbp]
mov rcx, qword [rbp - 8]
add rcx, rsi
lea rdx, [0x180077bb1]
mov r8d, 0x2009299
call sub.VCRUNTIME140.dll_memcpy
add rsi, 0x2009299
mov qword [rbp], rsi
mov qword [rbp + 0x20], rsi
movups xmm0, xmmword [rbp - 0x10]
movaps xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x28], 0
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x10]
mov r9d, 9
mov r8, qword [rbp + 8]
call fcn.1800300a0
movabs rax, 0x8000000000000002
cmp qword [rbp - 0x30], rax
je 0x180036a8e
movups xmm0, xmmword [rbp - 0x50]
movups xmm1, xmmword [rbp - 0x40]
movups xmm2, xmmword [rbp - 0x30]
movups xmm3, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0x40], xmm3
movaps xmmword [rbp + 0x30], xmm2
movaps xmmword [rbp + 0x20], xmm1
movaps xmmword [rbp + 0x10], xmm0
lea rax, [0x182080e58]
mov qword [rsp + 0x20], rax
lea rcx, [0x182084a60]
lea r9, fcn.1800374c0
lea r8, [rbp + 0x10]
mov edx, 0x2b
call fcn.18006a3c0
jmp 0x18003724d
call fcn.180035950
mov qword [rbp - 0x50], 0
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1800371ad
mov rcx, qword [rbp - 0x50]
call case.0x180007486.464
mov rdi, rax
mov ebx, edx
mov eax, edx
add eax, 0x3b9aca00
mov dword [rbp + 0xe0], eax
lea r14, [rbp - 0x50]
mov rsi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r13d, 0xff
jmp 0x180036af6
cmp eax, 0x3b9aca00
sete al
test r15, r15
sete cl
or cl, al
je 0x180036cba
mov qword [rbp - 0x50], 0
mov rcx, r14
call rsi
test eax, eax
je 0x18003707f
mov rcx, qword [rbp - 0x50]
call case.0x180007486.464
mov r15, rax
mov r12d, edx
mov r8, qword [0x182093f90]
test r8, r8
jne 0x180036b53
mov qword [rbp - 0x50], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1800370ec
mov r8, qword [rbp - 0x50]
mov qword [0x182093f90], r8
test r8, r8
je 0x1800370db
cmp r8, 0x3b9aca00
ja 0x180036b70
mov eax, 0x3b9aca00
xor edx, edx
div r8d
jmp 0x180036b72
xor eax, eax
lea ecx, [rax - 0x3b9aca00]
xor edx, edx
cmp r8, 2
cmovae ecx, eax
setb al
xor r8d, r8d
cmp r15, rdi
setne r8b
cmova r8d, r13d
test r8b, r8b
jne 0x180036ba4
cmp r12d, ebx
setne r8b
ja 0x180036c51
cmp r8b, 1
jne 0x180036c51
cmp r15, rdi
ja 0x1800370be
mov r8, rdi
sub r8, r15
cmp r12d, ebx
jbe 0x180036bf0
test r8, r8
je 0x1800370be
dec r8
mov r9d, dword [rbp + 0xe0]
sub r9d, r12d
cmp r9d, 0x3b9aca00
jae 0x180036bff
jmp 0x180036c24
mov r9d, ebx
sub r9d, r12d
cmp r9d, 0x3b9aca00
jb 0x180036c24
mov r10d, r9d
shr r10d, 9
imul r10, r10, 0x44b83
shr r10, 0x27
add r8, r10
jb 0x18003712b
imul r10d, r10d, 0x3b9aca00
sub r9d, r10d
mov dl, al
xor eax, eax
cmp r8, rdx
setne al
mov edx, 0xff
cmovb eax, edx
xor r8d, r8d
cmp r9d, ecx
setne cl
jb 0x180036c47
mov r8b, cl
mov edx, r8d
test al, al
cmovne edx, eax
cmp dl, 1
jne 0x180036cb0
mov eax, 0x3b9aca00
sub r15, rdi
jb 0x180036ae0
cmp r12d, ebx
jae 0x180036c77
test r15, r15
je 0x180036ae0
dec r15
add r12d, 0x3b9aca00
mov eax, r12d
sub eax, ebx
cmp eax, 0x3b9aca00
jb 0x180036ae0
mov ecx, eax
shr ecx, 9
imul rcx, rcx, 0x44b83
shr rcx, 0x27
add r15, rcx
jb 0x180037162
imul ecx, ecx, 0x3b9aca00
sub eax, ecx
jmp 0x180036ae0
xor r15d, r15d
xor eax, eax
jmp 0x180036ae0
movzx eax, byte [0x182094000]
mov edx, 0x13
xor ecx, ecx
call fcn.18002bb50
test rax, rax
je 0x1800371e9
movups xmm6, xmmword [0x180077b9e]
movups xmmword [rax], xmm6
mov dword [rax + 0xf], 0x6578652e
mov qword [rbp + 0x10], 0x13
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], 0x13
mov byte [rbp + 0x28], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], 8
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xa8], 0
mov word [rbp + 0xb0], 0
movabs rsi, 0x8000000000000000
mov qword [rbp + 0x48], rsi
mov dword [rbp + 0xd4], 0
mov word [rbp + 0xd0], 0
mov word [rbp + 0xd8], 0
mov dword [rbp + 0x68], 6
mov dword [rbp + 0x78], 6
mov dword [rbp + 0x88], 6
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xc8], 0
movzx eax, byte [0x182094000]
mov edx, 2
xor ecx, ecx
call fcn.18002bb50
test rax, rax
je 0x1800371fa
lea rdi, [rbp + 0x30]
mov qword [rbp + 0xe0], rax
mov word [rax], 0x632d
mov rcx, rdi
call fcn.18002f850
mov rbx, qword [rbp + 0x38]
mov qword [rbx], 0
mov qword [rbx + 8], 2
mov rax, qword [rbp + 0xe0]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 2
mov byte [rbx + 0x20], 0
mov qword [rbp + 0x40], 1
movzx eax, byte [0x182094000]
mov edx, 0x181e
xor ecx, ecx
call fcn.18002bb50
test rax, rax
je 0x18003720b
mov r14, rax
lea rdx, [0x182080e70]
mov r8d, 0x181e
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
cmp qword [rbp + 0x30], 1
jne 0x180036e49
mov qword [rbp + 0xe0], r14
mov rcx, rdi
call fcn.18002f850
mov rbx, qword [rbp + 0x38]
mov r14, qword [rbp + 0xe0]
mov qword [rbx + 0x28], 0
mov qword [rbx + 0x30], 0x181e
mov qword [rbx + 0x38], r14
mov qword [rbx + 0x40], 0x181e
mov byte [rbx + 0x48], 0
mov qword [rbp + 0x40], 2
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x10]
call fcn.18002a8c0
lea rcx, [rbp - 0x50]
call fcn.1800376d0
lea rcx, [rbp + 0x10]
call fcn.180037800
movzx eax, byte [0x182094000]
mov edx, 0x13
xor ecx, ecx
call fcn.18002bb50
test rax, rax
je 0x18003721c
movups xmmword [rax], xmm6
mov dword [rax + 0xf], 0x6578652e
mov qword [rbp + 0x10], 0x13
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], 0x13
mov byte [rbp + 0x28], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], 8
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xa8], 0
mov word [rbp + 0xb0], 0
mov qword [rbp + 0x48], rsi
mov dword [rbp + 0xd4], 0
mov word [rbp + 0xd0], 0
mov word [rbp + 0xd8], 0
mov dword [rbp + 0x68], 6
mov dword [rbp + 0x78], 6
mov dword [rbp + 0x88], 6
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xc8], 0
movzx eax, byte [0x182094000]
mov edx, 2
xor ecx, ecx
call fcn.18002bb50
test rax, rax
je 0x18003722d
mov qword [rbp + 0xe0], rax
mov word [rax], 0x632d
mov rcx, rdi
call fcn.18002f850
mov rsi, qword [rbp + 0x38]
mov qword [rsi], 0
mov qword [rsi + 8], 2
mov rax, qword [rbp + 0xe0]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], 2
mov byte [rsi + 0x20], 0
mov qword [rbp + 0x40], 1
movzx eax, byte [0x182094000]
mov edx, 0x155d
xor ecx, ecx
call fcn.18002bb50
test rax, rax
je 0x18003723e
mov rbx, rax
lea rdx, [0x18208268e]
mov r8d, 0x155d
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
cmp qword [rbp + 0x30], 1
jne 0x18003700a
mov qword [rbp + 0xe0], rbx
mov rcx, rdi
call fcn.18002f850
mov rsi, qword [rbp + 0x38]
mov rbx, qword [rbp + 0xe0]
mov qword [rsi + 0x28], 0
mov qword [rsi + 0x30], 0x155d
mov qword [rsi + 0x38], rbx
mov qword [rsi + 0x40], 0x155d
mov byte [rsi + 0x48], 0
mov qword [rbp + 0x40], 2
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x10]
call fcn.18002a8c0
lea rcx, [rbp - 0x50]
call fcn.1800376d0
lea rcx, [rbp + 0x10]
call fcn.180037800
mov rcx, qword [0x182093f98]
xor edx, edx
mov r8, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
movaps xmm6, xmmword [rbp + 0xf0]
add rsp, 0x188
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x10], rax
lea rax, [0x180077280]
mov qword [rsp + 0x20], rax
lea rcx, [0x182084a60]
lea r9, fcn.180012af0
lea r8, [rbp + 0x10]
mov edx, 0x2b
call fcn.18006a3c0
jmp 0x18003724d
lea rcx, [0x1800771f0]
lea r8, [0x180077218]
mov edx, 0x23
call fcn.18006a4e0
jmp 0x18003724d
lea rcx, [0x180077250]
call fcn.18006a2e0
jmp 0x18003724d
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x10], rax
lea rax, [0x180077268]
mov qword [rsp + 0x20], rax
lea rcx, [0x182084a60]
lea r9, fcn.180012af0
lea r8, [rbp + 0x10]
mov edx, 0x2b
call fcn.18006a3c0
jmp 0x18003724d
lea rax, [0x180074c58]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], 1
mov qword [rbp + 0x20], 8
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
lea rdx, [0x180074cb0]
lea rcx, [rbp + 0x10]
call fcn.18006a0a0
jmp 0x18003724d
lea rax, [0x180074c58]
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], 1
mov qword [rbp + 0x20], 8
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
lea rdx, [0x180074cb0]
lea rcx, [rbp + 0x10]
call fcn.18006a0a0
jmp 0x18003724d
mov ecx, 1
mov edx, 9
call fcn.180069eb0
jmp 0x18003724d
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x10], rax
lea rax, [0x180077280]
mov qword [rsp + 0x20], rax
lea rcx, [0x182084a60]
lea r9, fcn.180012af0
lea r8, [rbp + 0x10]
mov edx, 0x2b
call fcn.18006a3c0
jmp 0x18003724d
mov ecx, 1
mov edx, 0x13
call fcn.180069eb0
jmp 0x18003724d
mov ecx, 1
mov edx, 2
call fcn.180069eb0
jmp 0x18003724d
mov ecx, 1
mov edx, 0x181e
call fcn.180069eb0
jmp 0x18003724d
mov ecx, 1
mov edx, 0x13
call fcn.180069eb0
jmp 0x18003724d
mov ecx, 1
mov edx, 2
call fcn.180069eb0
jmp 0x18003724d
mov ecx, 1
mov edx, 0x155d
call fcn.180069eb0
ud2