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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x218
movabs rsi, 0x8000000000000001
lea rcx, [rsp + 0xe8]
call fcn.140085b70
lea rax, [0x1401bd644]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
movabs rax, 0x3d1b489583c71c48
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov rdx, qword [rsp + 0x30]
call fcn.140094c50
mov rcx, qword [rax]
mov rcx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov ecx, dword [rax + 0x20]
movzx eax, byte [rax + 0x24]
lea r14, [rsi - 1]
cmp qword [rsp + 0xe8], r14
jne 0x140001ee4
ud2
mov rbx, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xf8]
movzx ebp, byte [rsp + 0x100]
mov edi, 1
test rsi, rsi
jne 0x14000268c
mov qword [rsp + 0xd0], r14
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x1f8], rsi
mov qword [rsp + 0x200], rdi
mov qword [rsp + 0x208], rsi
mov byte [rsp + 0x210], bpl
lea rax, [0x1401b0e97]
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0xe8]
mov rcx, qword [rsp + 0xe8]
movabs rax, 0xd70c5eecca4edde9
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0xe8]
mov rdx, qword [rsp + 0xe8]
call fcn.1400955f0
movabs rcx, 0x1f78f0a5eb1c05d6
xor rcx, qword [rax]
mov edx, 0x2ce65273
xor edx, dword [rax + 8]
movzx r8d, byte [rax + 0xe]
movzx eax, word [rax + 0xc]
mov r9d, eax
shr r9d, 8
xor al, 0xc7
xor r9b, 0x65
movzx eax, al
movzx r9d, r9b
shl r9d, 8
or r9d, eax
xor r8b, 0xa0
mov qword [rsp + 0xe8], rcx
mov dword [rsp + 0xf0], edx
mov word [rsp + 0xf4], r9w
mov byte [rsp + 0xf6], r8b
mov rcx, rdi
mov rdx, rsi
call fcn.140085650
test rax, rax
je 0x140002010
mov rcx, rdi
mov rdx, rsi
call fcn.140084fd0
test rax, rax
je 0x140002010
cmp rsi, rdx
jb 0x140002010
mov qword [rsp + 0x208], rdx
lea rcx, [rsp + 0x1f8]
lea rdx, [rsp + 0xe8]
mov esi, 0xf
mov r8d, 0xf
call fcn.140084390
xor r12d, r12d
lea r14, [rsp + 0x30]
lea rdi, [rsp + 0x98]
mov ebx, 0xffffffff
jmp 0x140002077
cmp qword [rsp + 0x178], 0
je 0x140002071
mov r8, qword [rsp + 0x180]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
inc r12d
add rsi, rsi
lea rax, [0x1401b85d4]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x825abcce95b2324a
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140095800
mov rcx, qword [rax]
movabs rdx, 0x30abcd0468d6e796
xor rcx, rdx
mov rdx, qword [rax + 8]
movabs r8, 0xc9172908686659a1
xor rdx, r8
mov r8, qword [rax + 0x10]
movabs r9, 0xbaa14e5caaf1dd73
xor r8, r9
mov r9, qword [rax + 0x18]
movabs r10, 0x9d034d78fe3a7ac9
xor r9, r10
mov r10d, dword [rax + 0x20]
mov r11d, 0x612ad2ee
xor r10d, r11d
movzx r11d, byte [rax + 0x26]
movzx eax, word [rax + 0x24]
mov ebp, eax
shr ebp, 8
xor al, 0xf5
xor bpl, 0xe5
movzx eax, al
movzx ebp, bpl
shl ebp, 8
or ebp, eax
xor r11b, 0x96
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xb0], r9
mov dword [rsp + 0xb8], r10d
mov word [rsp + 0xbc], bp
mov byte [rsp + 0xbe], r11b
mov r8d, 0x27
mov rcx, r14
mov rdx, rdi
call fcn.1400d5650
lea rcx, [rsp + 0xe8]
mov rdx, r14
call fcn.1400bec90
mov r13, qword [rsp + 0xe8]
movabs rax, 0x8000000000000001
cmp r13, rax
je 0x1400026b4
cmp r12d, 4
je 0x140002831
lea rax, [0x1401bb869]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x709e77e5991a1a74
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140094b20
mov rcx, qword [rax]
movabs rdx, 0x93a6bf5b508f88f3
xor rcx, rdx
mov rdx, qword [rax + 8]
movabs r8, 0x729f9029cdf252dd
xor rdx, r8
mov eax, dword [rax + 0x10]
mov r8d, 0x93c4fce4
xor eax, r8d
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rdx
mov dword [rsp + 0xa8], eax
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xc8], 0x14
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xd8], rax
lea rax, [0x1400c33a0]
mov qword [rsp + 0xe0], rax
lea rax, [0x1401dbc00]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
mov rcx, r14
call fcn.140081090
xor ecx, ecx
xor edx, edx
mov r8d, 2
mov r9d, 0x1f0003
call sub.KERNEL32.dll_CreateWaitableTimerExW
test rax, rax
je 0x1400023b8
mov r15, rax
test rsi, rsi
js 0x1400023b0
imul rax, rsi, 0xffffffffff676980
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rcx, r15
mov rdx, r14
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_SetWaitableTimer
test eax, eax
je 0x1400023b0
mov rcx, r15
mov edx, 0xffffffff
call sub.KERNEL32.dll_WaitForSingleObject
mov ebp, eax
mov rcx, r15
call sub.KERNEL32.dll_CloseHandle
cmp ebp, 0xffffffff
je 0x1400023b8
movabs rax, 0x8000000000000000
cmp r13, rax
je 0x1400023de
movabs rax, 0x8000000000000001
cmp r13, rax
jne 0x140002530
cmp qword [rsp + 0xf0], 0
je 0x140002337
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x148], 0
je 0x140002358
mov r8, qword [rsp + 0x150]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r15, qword [rsp + 0x170]
test r15, r15
je 0x140002480
mov r13, qword [rsp + 0x168]
add r13, 8
jmp 0x14000238d
add r13, 0x20
dec r15
je 0x140002480
cmp qword [r13 - 8], 0
je 0x140002380
mov r8, qword [r13]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x140002380
mov rcx, r15
call sub.KERNEL32.dll_CloseHandle
imul rcx, rsi, 0x3e8
cmp rcx, rbx
cmovae rcx, rbx
call sub.KERNEL32.dll_Sleep
movabs rax, 0x8000000000000000
cmp r13, rax
jne 0x140002303
mov rax, qword [rsp + 0xf0]
mov r15, qword [rsp + 0xd0]
cmp rax, r15
je 0x14000240e
test rax, rax
je 0x14000240e
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x108]
cmp rax, r15
je 0x140002436
test rax, rax
je 0x140002436
mov r8, qword [rsp + 0x110]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r15, qword [rsp + 0x160]
test r15, r15
je 0x140002071
mov r13, qword [rsp + 0x168]
mov rcx, r15
call qword [r13]
cmp qword [r13 + 8], 0
je 0x140002071
cmp qword [r13 + 0x10], 0x11
jb 0x14000246c
mov r15, qword [r15 - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, r15
jmp 0x14000206c
cmp qword [rsp + 0x160], 0
je 0x1400024a1
mov r8, qword [rsp + 0x168]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r15, qword [rsp + 0x1d0]
mov r13, qword [rsp + 0x1d8]
mov rcx, r15
call qword [r13]
cmp qword [r13 + 8], 0
je 0x1400024db
cmp qword [r13 + 0x10], 0x11
jb 0x1400024ca
mov r15, qword [r15 - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
mov r15, qword [rsp + 0x188]
test r15, r15
je 0x140002050
mov r13, qword [rsp + 0x180]
add r13, 8
jmp 0x14000250d
add r13, 0x58
dec r15
je 0x140002050
cmp qword [r13 - 8], 0
je 0x140002500
mov r8, qword [r13]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x140002500
test r13, r13
je 0x14000254b
mov r8, qword [rsp + 0xf0]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x140], 0
je 0x14000256c
mov r8, qword [rsp + 0x148]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r15, qword [rsp + 0x168]
test r15, r15
je 0x1400025c0
mov r13, qword [rsp + 0x160]
add r13, 8
jmp 0x140002599
add r13, 0x20
dec r15
je 0x1400025c0
cmp qword [r13 - 8], 0
je 0x140002590
mov r8, qword [r13]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x140002590
cmp qword [rsp + 0x158], 0
je 0x1400025e1
mov r8, qword [rsp + 0x160]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r15, qword [rsp + 0x1c8]
mov r13, qword [rsp + 0x1d0]
mov rcx, r15
call qword [r13]
cmp qword [r13 + 8], 0
je 0x14000261b
cmp qword [r13 + 0x10], 0x11
jb 0x14000260a
mov r15, qword [r15 - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
mov r15, qword [rsp + 0x180]
test r15, r15
je 0x140002670
mov r13, qword [rsp + 0x178]
add r13, 8
jmp 0x140002649
add r13, 0x58
dec r15
je 0x140002670
cmp qword [r13 - 8], 0
je 0x140002640
mov r8, qword [r13]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x140002640
cmp qword [rsp + 0x170], 0
je 0x140002071
mov r8, qword [rsp + 0x178]
jmp 0x140002063
js 0x140001ee2
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, rsi
call fcn.14008b700
mov rdi, rax
test rax, rax
je 0x140001ee2
jmp 0x140001f0a
mov dword [rsp + 0x30], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov dword [rsp + 0x48], 7
mov qword [rsp + 0x4c], 0
mov word [rsp + 0x54], 0
mov byte [rsp + 0x51], 1
mov byte [rsp + 0x54], 1
mov byte [rsp + 0x53], 1
mov rcx, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x208]
lea r8, [rsp + 0x30]
call fcn.140092af0
mov rbx, rax
mov rdi, rdx
lea rax, [0x1401aece4]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
movabs rax, 0x4619afca1fec2554
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov rdx, qword [rsp + 0x30]
call fcn.140094a20
mov rcx, qword [rax]
mov rcx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
movzx eax, byte [rax + 0x18]
test rbx, rbx
jne 0x140001ee2
mov qword [rsp + 0xc0], rdi
lea rcx, [rsp + 0xf0]
call fcn.1400b6a80
mov rsi, rax
mov rdi, rdx
lea rcx, [rsp + 0x30]
lea r9, [rsp + 0xc0]
mov rdx, rax
mov r8, rdi
call fcn.14009dc90
lea rax, [0x1401bb7fb]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x98]
mov rcx, qword [rsp + 0x98]
movabs rax, 0xe58f0c8a5004b16f
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x98]
mov rdx, qword [rsp + 0x98]
call fcn.140094c20
mov rcx, qword [rax]
mov rcx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
movzx ecx, byte [rax + 0x1a]
movzx eax, word [rax + 0x18]
cmp qword [rsp + 0x30], 0
jne 0x140001ee2
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
mov r14, qword [rsp + 0xd0]
je 0x14000281f
cmp qword [rdi + 0x10], 0x11
jb 0x14000280e
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [rsp + 0xc0]
call sub.KERNEL32.dll_CloseHandle
jmp 0x140002965
lea rax, [0x1401b074c]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
movabs rax, 0xfdb38aa40b610d07
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x30]
mov rdx, qword [rsp + 0x30]
call fcn.140095190
movabs rcx, 0x40d0abc88547224f
xor rcx, qword [rax]
movabs rdx, 0x4d8357d9e099a29c
xor rdx, qword [rax + 8]
movabs r8, 0xf8e02c13c874e8c5
xor r8, qword [rax + 0x10]
movzx r9d, byte [rax + 0x1a]
movzx eax, word [rax + 0x18]
mov r10d, eax
shr r10d, 8
xor al, 0xe2
xor r10b, 0x66
movzx eax, al
movzx r10d, r10b
shl r10d, 8
or r10d, eax
xor r9b, 0x24
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], r8
mov word [rsp + 0xb0], r10w
mov byte [rsp + 0xb2], r9b
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xc8], 0x1b
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xd8], rax
lea rax, [0x1400c33a0]
mov qword [rsp + 0xe0], rax
lea rax, [0x1401dbc00]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
lea rcx, [rsp + 0x30]
call fcn.140081090
lea rcx, [rsp + 0xe8]
call fcn.140001d70
mov r14, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x208]
mov ebx, 1
test rsi, rsi
je 0x1400029a2
js 0x140001ee2
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, rsi
call fcn.14008b700
mov rbx, rax
test rax, rax
je 0x140001ee2
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xf8], rsi
mov byte [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], 8
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], r14
mov dword [rsp + 0x140], 6
mov dword [rsp + 0x150], 6
mov dword [rsp + 0x160], 6
xorps xmm0, xmm0
movups xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x17a], xmm0
movups xmmword [rsp + 0x190], xmm0
movups xmmword [rsp + 0x19e], xmm0
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xe8]
call fcn.14008fc50
mov rdi, qword [rsp + 0x30]
cmp rdi, 2
jne 0x140002ac5
mov rax, qword [rsp + 0x38]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x140002b03
test rcx, rcx
je 0x140002b03
lea rsi, [rax - 1]
mov rdi, qword [rax - 1]
mov rbx, qword [rax + 7]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x140002ab2
cmp qword [rbx + 0x10], 0x11
jb 0x140002aa1
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
jmp 0x140002b03
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
call sub.KERNEL32.dll_CloseHandle
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
test rdi, rdi
jne 0x140002b92
cmp qword [rsp + 0x40], 0
jne 0x140002ba8
cmp qword [rsp + 0x50], 0
je 0x140002b03
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_CloseHandle
lea rcx, [rsp + 0xe8]
call fcn.140001450
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0xe8]
call sub.KERNEL32.dll_QueryPerformanceCounter
test eax, eax
je 0x140002c38
mov rsi, qword [rsp + 0xe8]
mov rcx, qword [0x140259130]
test rcx, rcx
jne 0x140002b7e
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0xe8]
call sub.KERNEL32.dll_QueryPerformanceFrequency
test eax, eax
je 0x140002c38
mov rcx, qword [rsp + 0xe8]
mov qword [0x140259130], rcx
test rcx, rcx
je 0x140001ee2
mov rax, rsi
or rax, rcx
shr rax, 0x20
jne 0x140002bc3
mov eax, esi
xor edx, edx
div ecx
jmp 0x140002bcb
mov rcx, qword [rsp + 0x38]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x40], 0
je 0x140002af1
mov rcx, qword [rsp + 0x48]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x50], 0
jne 0x140002af9
jmp 0x140002b03
mov rax, rsi
xor edx, edx
div rcx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
jne 0x140002bed
xor edx, edx
div ecx
mov esi, eax
jmp 0x140002bf5
xor edx, edx
div rcx
mov rsi, rax
add rsi, r8
mov rax, rsi
shr rax, 9
movabs r14, 0x44b82fa09b5a53
mul r14
mov rdi, rdx
mov ecx, 0x23
xor edx, edx
call fcn.140089e40
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0xe8]
call sub.KERNEL32.dll_QueryPerformanceCounter
test eax, eax
jne 0x140002c3f
call sub.KERNEL32.dll_GetLastError
ud2
mov rbx, qword [rsp + 0xe8]
mov rcx, qword [0x140259130]
test rcx, rcx
jne 0x140002c88
mov qword [rsp + 0xe8], 0
lea rcx, [rsp + 0xe8]
call sub.KERNEL32.dll_QueryPerformanceFrequency
test eax, eax
je 0x140002c38
mov rcx, qword [rsp + 0xe8]
mov qword [0x140259130], rcx
test rcx, rcx
je 0x140001ee2
shr rdi, 0xb
imul r8d, edi, 0x3b9aca00
mov rax, rbx
or rax, rcx
shr rax, 0x20
jne 0x140002ca7
mov eax, ebx
xor edx, edx
div ecx
jmp 0x140002caf
mov rax, rbx
xor edx, edx
div rcx
sub esi, r8d
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
jne 0x140002cd4
xor edx, edx
div ecx
mov ecx, eax
jmp 0x140002cdc
xor edx, edx
div rcx
mov rcx, rax
add rcx, r8
mov rax, rcx
shr rax, 9
mul r14
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0xe8], rdi
mov dword [rsp + 0xf0], esi
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0xe8]
call fcn.140093890
cmp edx, 0x3b9aca00
je 0x140002d57
cmp rax, 0x19
jb 0x140002d57
lea rcx, [rsp + 0xe8]
call fcn.1400ec6d0
cmp byte [rsp + 0xe8], 0x12
jne 0x140001ee2
call fcn.140095ba0
call fcn.14009b6d0
call fcn.140002d60
call fcn.140092960
int3