Function at 0x1400e29d0
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, 0x628
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x620], rax
cmp qword [rcx + 0x28], 0
je 0x1400e31b3
mov rsi, rcx
lea rdi, [rsp + 0x80]
mov r8d, 0x548
mov rcx, rdi
mov dl, 0xaa
call fcn.140189600
lea rax, [rsp + 0x5c0]
mov qword [rsp + 0x5c8], rdi
mov qword [rsp + 0x5e8], rdi
mov byte [rsp + 0x5c0], 1
mov qword [rsp + 0x5d0], rdi
mov qword [rsp + 0x5d8], rdi
mov qword [rsp + 0x5e0], rax
cmp qword [rsi + 0x10], 0
je 0x1400e2f97
lea rdi, [rsp + 0x5d0]
xor r12d, r12d
lea r13, [0x1401f2580]
lea rbp, [0x1401847e0]
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 0x1400e2afc
mov rax, qword [rcx + 0x18]
cmp rax, r13
jne 0x1400e2ac0
cmp qword [rbx + r14 + 0xa0], 0
je 0x1400e2cbc
jmp 0x1400e2ca0
cmp rax, rbp
jne 0x1400e2adf
mov rax, qword [rcx + 0x28]
test rax, rax
je 0x1400e2aeb
movzx eax, byte [rax + 4]
test al, al
jne 0x1400e2aeb
cmp qword [rcx + 0x30], 0
jne 0x1400e2aab
jmp 0x1400e2aeb
xor edx, edx
call qword [case.0x1401eda70.0]
test al, al
je 0x1400e2aab
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 + 0x5d8]
cmp rax, qword [rsp + 0x5e0]
jae 0x1400e3006
test rax, rax
je 0x1400e31ba
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 + 0x5d8], rax
mov rax, qword [rsi]
mov rcx, qword [rax + 8]
mov rbx, qword [rax + 0x18]
inc rcx
cmp rcx, qword [rax]
je 0x1400e2c99
mov qword [rax + 8], rcx
imul r14, rcx, 0xa8
mov rcx, qword [rbx + r14 + 0x98]
test rcx, rcx
jne 0x1400e2fdb
lea r15, [rbx + r14]
mov rbx, qword [rbx + r14 + 0x88]
test rbx, rbx
jne 0x1400e2f9e
mov rcx, qword [r15]
test rcx, rcx
jne 0x1400e2fee
mov rax, qword [rsi]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
je 0x1400e2c6b
dec qword [rsi + 0x10]
jne 0x1400e2a77
jmp 0x1400e2cbc
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1400e2c5f
mov qword [rax + 0x20], 0
mov rbx, qword [rsi]
mov qword [rsi], rcx
test rbx, rbx
je 0x1400e2c5f
mov rcx, rbx
call fcn.140141330
mov rcx, rbx
call fcn.14018482c
jmp 0x1400e2c5f
xor ecx, ecx
jmp 0x1400e2c15
mov rax, qword [rbx + r14 + 0x98]
test rax, rax
je 0x1400e2aeb
mov al, byte [rax + 4]
test al, al
jne 0x1400e2aeb
mov rdi, qword [rsp + 0x5d0]
mov r15, rdi
cmp rdi, qword [rsp + 0x5d8]
jne 0x1400e2d38
cmp r15, rdi
setne sil
test r15, r15
je 0x1400e2d12
cmp rdi, r15
jne 0x1400e34c8
mov r15, rdi
mov qword [rsp + 0x5d8], r15
mov rax, qword [rsp + 0x5e8]
test rax, rax
je 0x1400e3013
cmp rax, rdi
jne 0x1400e3013
mov byte [rdi + 0x540], 0
mov rcx, qword [rsp + 0x620]
xor rcx, rsp
call fcn.1401874c0
mov eax, esi
add rsp, 0x628
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [rsi + 0x10], 0
jne 0x1400e2f62
movabs r12, 0xaaaaaaaaaaaaaaaa
movabs r15, 0x8637bd05af7
cmp dword [rsi + 0x78], 0
jne 0x1400e2ebc
mov r13, qword [rsi + 0x30]
cmp qword [rsi + 8], 0
je 0x1400e2e0b
mov qword [rsp + 0x58], r12
mov rax, qword [0x14029ee18]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x1400e314b
lea rdi, [rsp + 0x5f0]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
cmp rax, r15
jge 0x1400e33b4
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov qword [rsp + 0x58], rax
cmp rax, qword [rsi + 0x20]
jl 0x1400e2e0b
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 0x1400e2e0b
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400e2df6
cmp rcx, r8
jb 0x1400e30ff
lea rdi, [r13 + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e304e
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 0x1400e3320
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 0x1400e2eaf
test al, al
je 0x1400e312e
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 0x1400e2f62
mov qword [rsp + 0x58], r12
mov rax, qword [0x14029ee18]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x1400e3135
lea rdi, [rsp + 0x5f0]
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
cmp rax, r15
jge 0x1400e338d
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov qword [rsp + 0x58], rax
cmp rax, qword [rsi + 0x20]
jl 0x1400e2f62
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 0x1400e2f62
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400e2f4d
cmp rcx, r8
jb 0x1400e30d0
cmp qword [rsi + 0x40], 0xffffffffffffffff
je 0x1400e2f75
mov rcx, qword [rsi + 0x28]
mov rdx, rsi
call fcn.1400e3660
test byte [0x14029e620], 9
jne 0x1400e31e6
mov r15, qword [rsp + 0x5d0]
mov rdi, qword [rsp + 0x5d8]
jmp 0x1400e2cd1
xor esi, esi
jmp 0x1400e2ce6
lock dec dword [rbx + 8]
jne 0x1400e2c46
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
lea rdx, [0x1401eeb30]
cmp qword [rcx + 0x10], rdx
jne 0x1400e2fc8
lea rcx, [0x140207e00]
cmp rax, rcx
je 0x1400e3020
mov rcx, rbx
mov edx, 1
call qword [case.0x1401eda70.0]
jmp 0x1400e2c46
lock dec dword [rcx]
jne 0x1400e2c31
call fcn.14018482c
jmp 0x1400e2c31
lock dec dword [rcx]
jne 0x1400e2c52
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x1400e2c52
mov rcx, rdi
call fcn.1400e4550
jmp 0x1400e2bfe
mov rcx, rdi
call fcn.14018482c
jmp 0x1400e2d12
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400e3032
lock dec dword [rcx]
je 0x1400e3161
mov r14, qword [rbx + 0x10]
test r14, r14
je 0x1400e3041
lock dec dword [r14]
je 0x1400e305c
mov rcx, rbx
call fcn.14018482c
jmp 0x1400e2c46
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400e2e20
mov rcx, qword [r14 + 0x20]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x1402aaec8]
je 0x1400e34b0
mov qword [r14 + 0x20], 0
mov rax, qword [r14 + 0x10]
inc rax
cmp rax, 2
jb 0x1400e30c3
call fcn.1400e8860
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x50], rax
cmp qword [0x1402b0e48], 0
je 0x1400e316b
mov rcx, qword [0x1402b0e48]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x50]
call qword [case.0x1401eda70.0]
mov rcx, r14
call fcn.14018482c
jmp 0x1400e3041
mov rcx, rsi
call fcn.1400dc340
mov rax, qword [rsp + 0x58]
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 0x1400e2f62
mov rcx, rsi
call fcn.1400dc340
mov rax, qword [rsp + 0x58]
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 0x1400e2e0b
xor eax, eax
jmp 0x1400e2eaf
lea rdi, [rsp + 0x58]
mov rcx, rdi
call qword [case.0x1401eda70.0]
mov rax, qword [rdi]
jmp 0x1400e2f1c
lea rdi, [rsp + 0x58]
mov rcx, rdi
call qword [case.0x1401eda70.0]
mov rax, qword [rdi]
jmp 0x1400e2dc5
call fcn.14018482c
jmp 0x1400e3032
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 0x1400e34bc
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400e31ad
call qword [case.0x1401eda70.0]
mov rcx, rax
xor edx, edx
call fcn.14003dd60
jmp 0x1400e30ab
xor ecx, ecx
mov dl, 1
jmp 0x1400e31a3
xor esi, esi
jmp 0x1400e2d12
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.1401c1b10
mov rbx, qword [rsi + 0x30]
mov rax, qword [rbx + 0x10]
mov edi, dword [rax + 4]
lea rsi, [rsp + 0x5f0]
mov rcx, rsi
call fcn.140182ef0
cmp edi, dword [rsi]
jne 0x1400e2f82
lea rdi, [rbx + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400e3223
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 [0x14029e620], 0x19
je 0x1400e2f82
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.140207f70
mov rdi, rax
lea rbx, [rsp + 0x58]
mov rcx, rbx
call fcn.140105050
call sub.KERNEL32.dll_GetCurrentThreadId
movaps xmm0, xmmword [0x1402724c0]
movaps xmmword [rsp + 0x5f0], xmm0
movaps xmmword [rsp + 0x600], xmm0
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x610], rcx
mov word [rsp + 0x5f0], 0x301
lea rcx, [0x1402744e8]
mov qword [rsp + 0x5f8], rcx
movsxd rcx, r14d
mov qword [rsp + 0x608], 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, [0x14029e620]
mov cl, 0x43
mov r8, rdi
xor r9d, r9d
call fcn.1401589f0
mov rcx, rsi
call fcn.140105100
jmp 0x1400e2f82
movaps xmm0, xmmword [0x1402724c0]
lea rbx, [rsp + 0x70]
movaps xmmword [rbx], xmm0
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.1401c1270
mov rax, qword [rbx]
test rax, rax
je 0x1400e34ac
lea r14, [rsp + 0x70]
xor ebx, ebx
cmp byte [r13 + 0x158], 0
je 0x1400e34c3
imul rdx, qword [rsp + 0x78], 0xa8
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + rdx + 0x28]
cmp rax, qword [r13 + 0x160]
jge 0x1400e33db
mov rcx, r14
call fcn.1401c1130
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x1400e334d
jmp 0x1400e3485
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400e2f17
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400e2dc0
add rcx, rdx
mov byte [r13 + 0x158], 0
lea rbx, [rsp + 0x58]
mov rdx, rbx
call fcn.140133320
lea r14, [rsp + 0x5f0]
mov rcx, r14
mov rdx, rbx
call fcn.1401c1090
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 0x1400e3436
mov byte [r13 + 0x130], 1
mov rcx, qword [r13 + 0xb8]
mov eax, dword [rbx + 0x10]
lea rdx, [rsp + 0x5f0]
mov dword [rdx + 0x10], eax
movups xmm0, xmmword [rbx]
movaps xmmword [rdx], xmm0
call fcn.1402088b0
cmp byte [r13 + 0x130], 0
je 0x1400e34ba
mov rcx, qword [r13 + 0xb0]
mov eax, dword [rbx + 0x10]
lea rdx, [rsp + 0x5f0]
mov dword [rdx + 0x10], eax
movups xmm0, xmmword [rbx]
movaps xmmword [rdx], xmm0
call fcn.1402088b0
mov rbx, qword [rsp + 0x70]
movabs rax, 0xfffffffc00000000
and rax, rbx
cmp rax, qword [0x1402aaec8]
jne 0x1400e2e7c
mov rcx, rbx
call fcn.1400da480
jmp 0x1400e2e7c
xor ebx, ebx
jmp 0x1400e3485
call fcn.1400da480
jmp 0x1400e307a
ud2
xor ecx, ecx
jmp 0x1400e31a1
call fcn.1401c7f50
mov rcx, qword [rdi - 0x10]
test rcx, rcx
jne 0x1400e34fc
mov rsi, qword [rdi - 0x20]
test rsi, rsi
jne 0x1400e34f4
mov rcx, qword [rdi - 0xa8]
add rdi, 0xffffffffffffff58
test rcx, rcx
jne 0x1400e3518
cmp rdi, r15
je 0x1400e3508
jmp 0x1400e34c8
lock dec dword [rsi + 8]
jne 0x1400e34da
jmp 0x1400e3529
lock dec dword [rcx]
jne 0x1400e34d1
call fcn.14018482c
jmp 0x1400e34d1
mov sil, 1
mov rdi, qword [rsp + 0x5d0]
jmp 0x1400e2ce9
lock dec dword [rcx]
jne 0x1400e34ed
mov rax, qword [rcx + 0x10]
call qword [case.0x1401eda70.0]
jmp 0x1400e34ed
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x1401eeb30]
cmp qword [rcx + 0x10], rdx
jne 0x1400e3549
lea rcx, [0x140207e00]
cmp rax, rcx
je 0x1400e3559
mov rcx, rsi
mov edx, 1
call qword [case.0x1401eda70.0]
jmp 0x1400e34da
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400e356b
lock dec dword [rcx]
je 0x1400e35ec
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x1400e3579
lock dec dword [rbx]
je 0x1400e3586
mov rcx, rsi
call fcn.14018482c
jmp 0x1400e34da
mov rcx, qword [rbx + 0x20]
movabs rax, 0xfffffffc00000000
and rax, rcx
cmp rax, qword [0x1402aaec8]
je 0x1400e3637
mov qword [rbx + 0x20], 0
mov rax, qword [rbx + 0x10]
inc rax
cmp rax, 2
jb 0x1400e35e2
call fcn.1400e8860
mov r14, qword [rbx + 0x10]
cmp qword [0x1402b0e48], 0
je 0x1400e35f6
mov rcx, qword [0x1402b0e48]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [case.0x1401eda70.0]
mov rcx, rbx
call fcn.14018482c
jmp 0x1400e3579
call fcn.14018482c
jmp 0x1400e356b
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 0x1400e3641
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1400e3631
call qword [case.0x1401eda70.0]
mov rcx, rax
xor edx, edx
call fcn.14003dd60
jmp 0x1400e35cc
xor ecx, ecx
mov dl, 1
jmp 0x1400e362a
call fcn.1400da480
jmp 0x1400e35a4
xor ecx, ecx
jmp 0x1400e3628