Function at 0x1400df780
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, 0x638
mov rax, qword [0x140297028]
xor rax, rsp
mov qword [rsp + 0x630], rax
cmp qword [rcx + 0x28], 0
je 0x1400e0234
mov rsi, rcx
lea rdi, [rsp + 0x90]
mov r8d, 0x548
mov rcx, rdi
mov dl, 0xaa
call fcn.1401851f0
lea rax, [rsp + 0x5d0]
mov qword [rsp + 0x5d8], rdi
mov qword [rsp + 0x5f8], rdi
mov byte [rsp + 0x5d0], 1
mov qword [rsp + 0x5e0], rdi
mov qword [rsp + 0x5e8], rdi
mov qword [rsp + 0x5f0], rax
cmp qword [rsi + 0x10], 0
je 0x1400df8f2
lea rdi, [rsp + 0x5e0]
xor r12d, r12d
lea r13, [0x1401ee610]
lea rbp, [0x140180350]
mov rcx, qword [rsi]
mov rdx, qword [rcx]
mov rax, qword [rcx + 8]
inc rax
cmp rax, rdx
mov r8, rax
cmove r8, r12
mov rbx, qword [rcx + 0x18]
imul r14, r8, 0xa8
mov rcx, qword [rbx + r14]
test rcx, rcx
je 0x1400df9cf
mov rax, qword [rcx + 0x18]
cmp rax, r13
jne 0x1400df900
cmp qword [rbx + r14 + 0xa0], 0
jne 0x1400df932
mov rdi, qword [rsp + 0x5e0]
mov r15, rdi
cmp rdi, qword [rsp + 0x5e8]
jne 0x1400dfb74
cmp r15, rdi
setne sil
test r15, r15
je 0x1400df8cc
cmp rdi, r15
jne 0x1400df94c
mov r15, rdi
mov qword [rsp + 0x5e8], r15
mov rax, qword [rsp + 0x5f8]
test rax, rax
je 0x1400e010f
cmp rax, rdi
jne 0x1400e010f
mov byte [rdi + 0x540], 0
mov rcx, qword [rsp + 0x630]
xor rcx, rsp
call fcn.1401830b0
mov eax, esi
add rsp, 0x638
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
jmp 0x1400df8a0
cmp rax, rbp
jne 0x1400df9ae
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x1400df9be
movzx eax, byte [rax + 4]
test al, al
jne 0x1400df9be
cmp qword [rcx + 0x30], 0
jne 0x1400df863
jmp 0x1400df9be
mov rax, qword [rbx + r14 + 0x98]
test rax, rax
je 0x1400df9be
mov al, byte [rax + 4]
test al, al
je 0x1400df872
jmp 0x1400df9be
mov rcx, qword [rdi - 0x10]
test rcx, rcx
jne 0x1400df991
mov rsi, qword [rdi - 0x20]
test rsi, rsi
jne 0x1400df986
mov rcx, qword [rdi - 0xa8]
test rcx, rcx
jne 0x1400df99d
add rdi, 0xffffffffffffff58
cmp rdi, r15
jne 0x1400df94c
mov sil, 1
mov rdi, qword [rsp + 0x5e0]
jmp 0x1400df8a3
lock dec dword [rsi + 8]
jne 0x1400df95e
jmp 0x1400e012d
lock dec dword [rcx]
jne 0x1400df955
call fcn.14018039c
jmp 0x1400df955
lock dec dword [rcx]
jne 0x1400df96a
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e9be0.0]
jmp 0x1400df96a
xor edx, edx
call qword [case.0x1401e9be0.0]
test al, al
je 0x1400df863
mov rax, qword [rsi]
mov rbx, qword [rax + 0x18]
mov rdx, qword [rax]
mov rax, qword [rax + 8]
inc rax
cmp rax, rdx
mov ecx, 0
cmovne rcx, rax
imul rcx, rcx, 0xa8
lea rdx, [rbx + rcx]
mov rax, qword [rsp + 0x5e8]
cmp rax, qword [rsp + 0x5f0]
jae 0x1400dfb67
test rax, rax
je 0x1400e023b
mov r8, qword [rdx]
mov qword [rax], r8
mov qword [rdx], 0
movups xmm0, xmmword [rdx + 8]
movups xmm1, xmmword [rdx + 0x18]
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 8], xmm0
mov r8, qword [rdx + 0x75]
mov qword [rax + 0x75], r8
movups xmm0, xmmword [rdx + 0x68]
movups xmmword [rax + 0x68], xmm0
movups xmm0, xmmword [rdx + 0x28]
movups xmm1, xmmword [rdx + 0x38]
movups xmm2, xmmword [rdx + 0x48]
movups xmm3, xmmword [rdx + 0x58]
movups xmmword [rax + 0x58], xmm3
movups xmmword [rax + 0x48], xmm2
movups xmmword [rax + 0x38], xmm1
movups xmmword [rax + 0x28], xmm0
movzx edx, byte [rbx + rcx + 0x82]
mov byte [rax + 0x82], dl
movzx edx, word [rbx + rcx + 0x80]
mov word [rax + 0x80], dx
mov rdx, qword [rbx + rcx + 0x88]
mov qword [rax + 0x88], rdx
mov qword [rbx + rcx + 0x88], 0
mov rdx, qword [rbx + rcx + 0x90]
mov qword [rax + 0x90], rdx
mov rdx, qword [rbx + rcx + 0x98]
mov qword [rax + 0x98], rdx
mov qword [rbx + rcx + 0x98], 0
mov rcx, qword [rbx + rcx + 0xa0]
mov qword [rax + 0xa0], rcx
add rax, 0xa8
mov qword [rsp + 0x5e8], rax
mov rax, qword [rsi]
mov rcx, qword [rax + 8]
mov r15, qword [rax + 0x18]
inc rcx
cmp rcx, qword [rax]
jne 0x1400dfae6
xor ecx, ecx
mov qword [rax + 8], rcx
imul r14, rcx, 0xa8
mov rcx, qword [r15 + r14 + 0x98]
test rcx, rcx
jne 0x1400dfb4a
mov rbx, qword [r15 + r14 + 0x88]
test rbx, rbx
jne 0x1400dfb3f
add r15, r14
mov rcx, qword [r15]
test rcx, rcx
jne 0x1400dfb56
mov rax, qword [rsi]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
jne 0x1400dfb30
mov rcx, qword [rax + 0x20]
test rcx, rcx
jne 0x1400dfdd3
dec qword [rsi + 0x10]
jne 0x1400df827
jmp 0x1400df872
lock dec dword [rbx + 8]
jne 0x1400dfb0b
jmp 0x1400dfe0d
lock dec dword [rcx]
jne 0x1400dfafe
call fcn.14018039c
jmp 0x1400dfafe
lock dec dword [rcx]
jne 0x1400dfb16
mov rax, qword [rcx + 0x10]
call qword [case.0x1401e9be0.0]
jmp 0x1400dfb16
mov rcx, rdi
call fcn.1400e1270
jmp 0x1400dfad1
cmp qword [rsi + 0x10], 0
jne 0x1400dfd9e
movabs r12, 0xaaaaaaaaaaaaaaaa
movabs r15, 0x8637bd05af7
cmp dword [rsi + 0x78], 0
jne 0x1400dfcf8
mov r13, qword [rsi + 0x30]
cmp qword [rsi + 8], 0
je 0x1400dfc47
mov qword [rsp + 0x68], r12
mov rax, qword [0x14029adc8]
lea rcx, [0x14017e8a0]
cmp rax, rcx
jne 0x1400dff6d
lea rdi, [rsp + 0x600]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
cmp rax, r15
jge 0x1400e03e1
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402ac9c8]
mov qword [rsp + 0x68], rax
cmp rax, qword [rsi + 0x20]
jl 0x1400dfc47
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [rsi]
mov rcx, qword [rsi + 0x10]
mov qword [rsi + 0x18], rcx
test rax, rax
je 0x1400dfc47
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400dfc32
cmp rcx, r8
jb 0x1400dff28
lea rdi, [r13 + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400dfdff
mov rax, qword [rsi]
mov rcx, qword [r13 + 0x28]
mov qword [rsi], rcx
mov qword [r13 + 0x28], rax
mov rax, qword [rsi + 8]
mov rcx, qword [r13 + 0x30]
mov qword [rsi + 8], rcx
mov qword [r13 + 0x30], rax
mov rax, qword [rsi + 0x10]
mov rcx, qword [r13 + 0x38]
mov qword [rsi + 0x10], rcx
mov qword [r13 + 0x38], rax
mov rax, qword [rsi + 0x18]
mov rcx, qword [r13 + 0x40]
mov qword [rsi + 0x18], rcx
mov qword [r13 + 0x40], rax
mov rax, qword [rsi + 0x20]
mov rcx, qword [r13 + 0x48]
mov qword [rsi + 0x20], rcx
mov qword [r13 + 0x48], rax
cmp byte [r13 + 0x158], 0
jne 0x1400e026c
mov rax, qword [r13 + 0xb8]
cmp qword [rax + 0x10], 0
sete byte [r13 + 0x50]
cmp qword [r13 + 0xa8], 0
mov al, byte [r13 + 0x128]
jne 0x1400dfceb
test al, al
je 0x1400dfe9c
mov al, byte [r13 + 0x130]
xor al, 1
mov byte [r13 + 0x51], al
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [rsi + 8], 0
je 0x1400dfd9e
mov qword [rsp + 0x68], r12
mov rax, qword [0x14029adc8]
lea rcx, [0x14017e8a0]
cmp rax, rcx
jne 0x1400dff57
lea rdi, [rsp + 0x600]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
cmp rax, r15
jge 0x1400e03ba
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402ac9c8]
mov qword [rsp + 0x68], rax
cmp rax, qword [rsi + 0x20]
jl 0x1400dfd9e
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [rsi]
mov rcx, qword [rsi + 0x10]
mov qword [rsi + 0x18], rcx
test rax, rax
je 0x1400dfd9e
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400dfd89
cmp rcx, r8
jb 0x1400dfe6d
cmp qword [rsi + 0x40], 0xffffffffffffffff
je 0x1400dfdb1
mov rcx, qword [rsi + 0x28]
mov rdx, rsi
call fcn.1400e0430
test byte [0x14029a5c0], 9
jne 0x1400dffd5
mov r15, qword [rsp + 0x5e0]
mov rdi, qword [rsp + 0x5e8]
jmp 0x1400df88b
mov qword [rax + 0x20], 0
mov rbx, qword [rsi]
mov qword [rsi], rcx
test rbx, rbx
je 0x1400dfb30
mov rcx, rbx
call fcn.1401477d0
mov rcx, rbx
call fcn.14018039c
jmp 0x1400dfb30
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400dfc5c
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
lea rdx, [0x1401ead10]
cmp qword [rcx + 0x10], rdx
jne 0x1400dfe2d
lea rcx, [0x1402040f0]
cmp rax, rcx
je 0x1400dfe40
mov rcx, rbx
mov edx, 1
call qword [case.0x1401e9be0.0]
jmp 0x1400dfb0b
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400dfe52
lock dec dword [rcx]
je 0x1400dff83
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1400dfe60
lock dec dword [rax]
je 0x1400dfea3
mov rcx, rbx
call fcn.14018039c
jmp 0x1400dfb0b
mov rcx, rsi
call fcn.140001220
mov rax, qword [rsp + 0x68]
mov ecx, 0x4c4b40
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov qword [rsi + 0x20], rcx
jmp 0x1400dfd9e
xor eax, eax
jmp 0x1400dfceb
mov qword [rsp + 0x58], rax
mov rcx, qword [rax + 0x20]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x1402a6e88]
je 0x1400e0408
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x20], 0
mov rax, qword [rax + 0x10]
inc rax
cmp rax, 2
jb 0x1400dff19
call fcn.1400e62c0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x60], rax
cmp qword [0x1402accf8], 0
je 0x1400dff8d
mov rcx, qword [0x1402accf8]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x60]
call qword [case.0x1401e9be0.0]
mov rcx, qword [rsp + 0x58]
call fcn.14018039c
jmp 0x1400dfe60
mov rcx, rsi
call fcn.140001220
mov rax, qword [rsp + 0x68]
mov ecx, 0x4c4b40
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov qword [rsi + 0x20], rcx
jmp 0x1400dfc47
lea rdi, [rsp + 0x68]
mov rcx, rdi
call qword [case.0x1401e9be0.0]
mov rax, qword [rdi]
jmp 0x1400dfd58
lea rdi, [rsp + 0x68]
mov rcx, rdi
call qword [case.0x1401e9be0.0]
mov rax, qword [rdi]
jmp 0x1400dfc01
call fcn.14018039c
jmp 0x1400dfe52
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, str.GetHandleVerifier
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400e0412
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400dffcf
call qword [case.0x1401e9be0.0]
mov rcx, rax
xor edx, edx
call fcn.14003b960
jmp 0x1400dff01
xor ecx, ecx
mov dl, 1
jmp 0x1400dffc5
mov rbx, qword [rsi + 0x30]
mov rax, qword [rbx + 0x10]
mov edi, dword [rax + 4]
lea rsi, [rsp + 0x600]
mov rcx, rsi
call fcn.14017e940
cmp edi, dword [rsi]
jne 0x1400dfdbe
lea rdi, [rbx + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400e0012
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov r12, qword [rbx + 0x38]
mov rax, qword [rbx + 0xb0]
mov rcx, qword [rbx + 0xb8]
mov r15, qword [rcx + 0x10]
mov r14, qword [rax + 0x10]
mov r13, qword [rbx + 0xd0]
mov rbp, qword [rbx + 0xc8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x14029a5c0], 0x19
je 0x1400dfdbe
sub r13, rbp
shr r13, 3
imul eax, r13d, 0x3cf3cf3d
add r15d, r12d
add r14d, eax
add r14d, r15d
mov ecx, dword [rbx]
call fcn.140204260
mov rdi, rax
lea rbx, [rsp + 0x68]
mov rcx, rbx
call fcn.1401038f0
call sub.KERNEL32.dll_GetCurrentThreadId
movaps xmm0, xmmword [0x140268c70]
movaps xmmword [rsp + 0x600], xmm0
movaps xmmword [rsp + 0x610], xmm0
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x620], rcx
mov word [rsp + 0x600], 0x301
lea rcx, [0x140270cf8]
mov qword [rsp + 0x608], rcx
movsxd rcx, r14d
mov qword [rsp + 0x618], rcx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x14029a5c0]
mov cl, 0x43
mov r8, rdi
xor r9d, r9d
call fcn.140131640
mov rcx, rsi
call fcn.140103bf0
jmp 0x1400dfdbe
mov rcx, rdi
call fcn.14018039c
jmp 0x1400df8cc
call fcn.1400d83a0
jmp 0x1400e01a7
call fcn.14018039c
jmp 0x1400e016e
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401ead10]
cmp qword [rcx + 0x10], rdx
jne 0x1400e014d
lea rcx, [0x1402040f0]
cmp rax, rcx
je 0x1400e0160
mov rcx, rsi
mov edx, 1
call qword [case.0x1401e9be0.0]
jmp 0x1400df95e
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400e016e
lock dec dword [rcx]
je 0x1400e0126
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x1400e017c
lock dec dword [rbx]
je 0x1400e0189
mov rcx, rsi
call fcn.14018039c
jmp 0x1400df95e
mov rcx, qword [rbx + 0x20]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x1402a6e88]
je 0x1400e011c
mov qword [rbx + 0x20], 0
mov rax, qword [rbx + 0x10]
inc rax
cmp rax, 2
jb 0x1400e01e5
call fcn.1400e62c0
mov r14, qword [rbx + 0x10]
cmp qword [0x1402accf8], 0
je 0x1400e01ef
mov rcx, qword [0x1402accf8]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [case.0x1401e9be0.0]
mov rcx, rbx
call fcn.14018039c
jmp 0x1400e017c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, str.GetHandleVerifier
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400e0230
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400e022a
call qword [case.0x1401e9be0.0]
mov rcx, rax
xor edx, edx
call fcn.14003b960
jmp 0x1400e01cf
xor ecx, ecx
mov dl, 1
jmp 0x1400e0223
xor ecx, ecx
jmp 0x1400e0221
xor esi, esi
jmp 0x1400df8cc
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x25
call fcn.1401bda10
call fcn.1401c3690
movaps xmm0, xmmword [0x140268c70]
lea rbx, [rsp + 0x80]
movaps xmmword [rbx], xmm0
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.1401bcbb0
mov rax, qword [rbx]
test rax, rax
je 0x1400e02dd
lea r14, [rsp + 0x80]
xor ebx, ebx
cmp byte [r13 + 0x158], 0
je 0x1400e0267
imul rdx, qword [rsp + 0x88], 0xa8
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + rdx + 0x28]
cmp rax, qword [r13 + 0x160]
jge 0x1400e02e4
mov rcx, r14
call fcn.1401bcce0
mov rax, qword [rsp + 0x80]
test rax, rax
jne 0x1400e029b
jmp 0x1400e0391
xor ebx, ebx
jmp 0x1400e0391
add rcx, rdx
mov byte [r13 + 0x158], 0
lea rbx, [rsp + 0x68]
mov rdx, rbx
call fcn.14013fb20
lea r14, [rsp + 0x600]
mov rcx, r14
mov rdx, rbx
call fcn.1401bcb10
lea rbx, [r13 + 0x138]
cmp byte [r13 + 0x130], 0
movups xmm0, xmmword [r14]
movups xmmword [r13 + 0x138], xmm0
mov eax, dword [r14 + 0x10]
mov dword [r13 + 0x148], eax
jne 0x1400e033f
mov byte [r13 + 0x130], 1
mov rcx, qword [r13 + 0xb8]
mov eax, dword [rbx + 0x10]
lea rdx, [rsp + 0x600]
mov dword [rdx + 0x10], eax
movups xmm0, xmmword [rbx]
movaps xmmword [rdx], xmm0
call fcn.140204be0
cmp byte [r13 + 0x130], 0
je 0x1400e03b8
mov rcx, qword [r13 + 0xb0]
mov eax, dword [rbx + 0x10]
lea rdx, [rsp + 0x600]
mov dword [rdx + 0x10], eax
movups xmm0, xmmword [rbx]
movaps xmmword [rdx], xmm0
call fcn.140204be0
mov rbx, qword [rsp + 0x80]
movabs rax, 0xfffffffc00000000
and rax, rbx
cmp rax, qword [0x1402a6e88]
jne 0x1400dfcb8
mov rcx, rbx
call fcn.1400d83a0
jmp 0x1400dfcb8
ud2
mov rcx, qword [0x1402ac9c8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400dfd53
mov rcx, qword [0x1402ac9c8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400dfbfc
call fcn.1400d83a0
jmp 0x1400dfec6
xor ecx, ecx
jmp 0x1400dffc3