Function at 0x1400a6d20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov qword [rsp + 0x48], rdx
mov rax, r8
shr rax, 1
movabs rdx, 0x7ffff8fffffffffc
and rdx, rax
movabs rax, 0x70000000000
mov eax, dword [rdx + rax]
test eax, eax
je 0x1400a71af
mov edx, eax
and edx, 0x40000000
jne 0x1400a71af
mov r13d, r9d
mov rbp, qword [0x140221c08]
and eax, 0x3fffffff
mov rdx, rax
shr rdx, 0xa
mov rdi, qword [rbp + rdx*8 + 0x200030]
and eax, 0x3ff
imul rbx, rax, 0x58
cmp qword [rdi + rbx], r8
je 0x1400a6db6
mov eax, dword [rdi + rbx + 0x2c]
test eax, eax
je 0x1400a71af
mov edx, eax
and edx, 0x40000000
je 0x1400a6d78
jmp 0x1400a71af
mov qword [rsp + 0x40], r8
movabs rsi, 0x1000000000000000
mov qword [rsp + 0x30], rcx
call method.__tsan.SlotLock___tsan::ThreadState_
lea rbp, [rdi + rbx]
add rbp, 8
mov rax, qword [rdi + rbx + 8]
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], rbx
lea r11, [rdi + rbx]
add r11, 0x10
mov rdx, 0xffffffffffffffff
xor ecx, ecx
lea rdi, [rsi + 0xfffff]
movabs r15, 0x10000000000
lea r14, [rsp + 0x70]
movabs r12, 0xdfffffffffffffff
nop word [rax + rax]
test rax, rdi
jne 0x1400a6e40
mov rbx, rax
or rbx, rsi
and rbx, rdx
lock cmpxchg qword [rbp], rbx
je 0x1400a6ed0
add rcx, 1
jmp 0x1400a6e20
cmp rcx, 0x5dc
jbe 0x1400a6e96
lea r8, [rax + r15]
and r8, rdx
lock cmpxchg qword [rbp], r8
jne 0x1400a6e3a
mov eax, dword [r11]
jmp 0x1400a6e84
mov dword [rsp + 0x70], 0
mov r8d, 4
mov rcx, r11
mov rdx, r14
mov r9d, 0xffffffff
mov rbx, r11
call sub.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress
mov r11, rbx
mov eax, dword [rbx]
test eax, eax
je 0x1400a6e5d
lea ecx, [rax - 1]
lock cmpxchg dword [r11], ecx
jne 0x1400a6e84
xor ecx, ecx
jmp 0x1400a6eb3
movabs rbx, 0x2000000000000000
test rax, rbx
jne 0x1400a6ec3
mov r8, rax
or r8, rbx
lock cmpxchg qword [rbp], r8
jne 0x1400a6e3a
mov rax, qword [rbp]
add rcx, 1
mov rdx, r12
jmp 0x1400a6e20
mov rax, qword [rbp]
add rcx, 1
jmp 0x1400a6e20
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov ecx, dword [rbx + rsi + 0x18]
mov eax, dword [rbx + rsi + 0x20]
test r13b, 1
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x50], ecx
jne 0x1400a6f36
mov eax, dword [rbx + rsi + 0x28]
test al, 1
movabs rdi, 0x2000000000000000
jne 0x1400a6f24
lea r14, [rbx + rsi]
add r14, 0x28
test r13d, 0x100
je 0x1400a71c4
test dword [r14], 0x100
jne 0x1400a71c4
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
jmp 0x1400a6f50
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
movabs rdi, 0x2000000000000000
movabs r13, 0xffffff0000000000
movabs r14, 0xefffffffffffffff
movabs rsi, 0xbfffff00000fffff
movabs r12, 0x6000000000000000
movabs r10, 0x4000000000000000
movabs r15, 0xfffff0000000000
mov rax, qword [rbp]
xor r9d, r9d
jmp 0x1400a6fa8
lock cmpxchg qword [rbp], rbx
je 0x1400a7015
mov rdx, rax
and rdx, r14
test rax, r12
sete r8b
test rax, r15
setne cl
lea rbx, [rdx + r13]
or rbx, rdi
test r8b, cl
cmove rbx, rdx
jne 0x1400a6fa0
mov rdx, rax
shr rdx, 0x14
and edx, 0xfffff
test rax, rdi
cmovne rdx, r9
mov rcx, rbx
and rcx, rsi
or rcx, r10
test rdx, rdx
cmove rcx, rbx
lock cmpxchg qword [rbp], rcx
jne 0x1400a6fa8
test rdx, rdx
mov rbx, qword [rsp + 0x30]
jne 0x1400a7325
mov r11b, 1
cmp byte [rsp + 0x38], 0
je 0x1400a70ac
jmp 0x1400a7041
lock add dword [r11], 1
mov rcx, r11
mov rdi, r10
call fcn.1400c8458
mov r10, rdi
movabs rdi, 0x2000000000000000
mov rbx, qword [rsp + 0x30]
mov r11b, 1
cmp byte [rsp + 0x38], 0
je 0x1400a70ac
xor r11d, r11d
cmp qword [rsp + 0x48], 0
je 0x1400a70ac
mov rax, qword [rsp + 0x40]
add rax, 0xfffffffffffff000
shr rax, 0xc
cmp rax, 0xdfffffe
ja 0x1400a70ac
mov rcx, qword [rsp + 0x40]
movabs rax, 0x10000000000
lea rdx, [rax + rcx*2]
and rdx, 0xfffffffffffffff0
mov eax, dword [rbx]
and cl, 7
mov r8d, eax
bts r8d, ecx
mov ecx, dword [rdx]
cmp ecx, r8d
je 0x1400a70a9
mov ecx, dword [rdx + 4]
cmp ecx, r8d
je 0x1400a70a9
mov ecx, dword [rdx + 8]
cmp ecx, r8d
je 0x1400a70a9
mov ecx, dword [rdx + 0xc]
cmp ecx, r8d
jne 0x1400a73c8
xor r11d, r11d
mov byte [rbx + 0x290], 0
mov rcx, qword [rbx + 0x280]
mov rax, qword [rcx]
xor r9d, r9d
jmp 0x1400a70d7
lock cmpxchg qword [rcx], rbx
je 0x1400a7147
mov rbp, rax
and rbp, r14
test rax, r12
sete r8b
test rax, r15
setne dl
mov rbx, rbp
add rbx, r13
or rbx, rdi
test r8b, dl
cmove rbx, rbp
jne 0x1400a70d0
mov rbp, rax
shr rbp, 0x14
and ebp, 0xfffff
test rax, rdi
cmovne rbp, r9
mov rdx, rbx
and rdx, rsi
or rdx, r10
test rbp, rbp
cmove rdx, rbx
lock cmpxchg qword [rcx], rdx
jne 0x1400a70d7
test rbp, rbp
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jne 0x1400a734b
mov eax, dword [rsp + 0x3c]
xor al, 1
or r11b, al
jne 0x1400a71af
jmp 0x1400a7170
lock add dword [rcx + 8], 1
add rcx, 8
mov esi, r11d
call fcn.1400c8458
mov r11d, esi
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov eax, dword [rsp + 0x3c]
xor al, 1
or r11b, al
jne 0x1400a71af
mov rax, qword [0x140221c08]
cmp byte [rax + 0xa00193], 0
je 0x1400a71af
cmp dword [rdi + 0x230], 0
jne 0x1400a71af
cmp byte [rax + 0xa00195], 0
je 0x1400a71af
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov rcx, rdi
mov rdx, qword [rsp + 0x48]
mov r8, rsi
mov r9d, dword [rsp + 0x54]
call method.__tsan.ReportDestroyLocked___tsan::ThreadState__unsigned_long_long__unsigned_long_long____tsan::FastState__unsigned_int_
nop
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [0x140221c92], 0
je 0x1400a7268
lea rax, method.__tsan::Callback.Unwind__
mov qword [rsp + 0x70], rax
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x88], rdi
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x90], rax
lea rdx, [rsp + 0x68]
xor ecx, ecx
mov r15, r11
call qword [0x140221c00]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x418]
mov qword [rsp + 0x78], rax
mov rax, qword [rdi + 0x278]
mov qword [rsp + 0x80], rax
mov rax, qword [0x140221c08]
mov rcx, qword [rax + 0xa00188]
lea rdi, [rbx + rsi + 0x30]
mov rax, qword [rcx]
lea r12, [rsp + 0x70]
mov rdx, r12
mov r8, rdi
call qword [rax + 0x40]
mov rax, qword [0x140221c08]
mov rcx, qword [rax + 0xa00188]
mov rax, qword [rcx]
mov rdx, r12
mov r8, rdi
call qword [rax + 0x20]
mov r11, r15
mov rax, qword [0x140221c08]
cmp byte [rax + 0xa00195], 0
je 0x1400a7294
cmp dword [rbx + rsi + 0x1c], 0xffffffff
je 0x1400a7294
test dword [r14], 0x40000000
jne 0x1400a7294
or dword [r14], 0x40000000
mov r15b, 1
jmp 0x1400a7297
xor r15d, r15d
movzx r9d, byte [rax + 0xa08198]
test r9, r9
jne 0x1400a73a3
lea rax, [rbx + rsi]
add rax, 0x18
movaps xmm0, xmmword [0x1401ca150]
movups xmmword [rax], xmm0
mov dword [r14], 0
mov rcx, qword [rbx + rsi + 0x50]
test rcx, rcx
je 0x1400a72e7
lea r14, [rbx + rsi]
add r14, 0x50
xor edx, edx
mov rdi, r11
call method.__sanitizer.InternalFree_void____sanitizer::SizeClassAllocator32LocalCache___sanitizer::SizeClassAllocator32___sanitizer::AP32____
mov r11, rdi
mov qword [r14], 0
mov rcx, qword [rbx + rsi + 0x48]
test rcx, rcx
mov dword [rsp + 0x3c], r15d
mov al, 1
je 0x1400a731c
mov dword [rsp + 0x38], eax
add rsi, rbx
add rsi, 0x48
xor edx, edx
mov rdi, r11
call method.__sanitizer.InternalFree_void____sanitizer::SizeClassAllocator32LocalCache___sanitizer::SizeClassAllocator32___sanitizer::AP32____
mov r11, rdi
mov qword [rsi], 0
jmp 0x1400a6f46
mov dword [rsp + 0x38], eax
jmp 0x1400a6f46
mov rbp, r10
mov rax, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
lea rcx, [rax + rdi]
add rcx, 0x14
lock add dword [rax + rdi + 0x14], edx
cmp edx, 1
jne 0x1400a7362
call fcn.1400c8458
jmp 0x1400a7367
mov ebx, r11d
lock add dword [rcx + 0xc], ebp
add rcx, 0xc
cmp ebp, 1
jne 0x1400a7387
call fcn.1400c8458
jmp 0x1400a738c
call fcn.1400c8450
movabs rdi, 0x2000000000000000
mov r10, rbp
mov r11b, 1
cmp byte [rsp + 0x38], 0
jne 0x1400a7041
jmp 0x1400a70ac
call fcn.1400c8450
mov r11d, ebx
mov eax, dword [rsp + 0x3c]
xor al, 1
or r11b, al
je 0x1400a7170
jmp 0x1400a71af
xor r9, 1
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.___ctx__resetting______0_
mov edx, 0x177e
call method.__sanitizer.CheckFailed_char_const__int__char_const__unsigned_long_long__unsigned_long_long_
test eax, eax
js 0x1400a7445
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x10]
lea ebp, [rcx + 8]
test ebp, 0xff0
je 0x1400a7470
mov rbx, qword [rsp + 0x48]
mov rbp, rbx
mov rdi, qword [rsp + 0x30]
sub rbp, qword [rdi + 0x18]
add rbp, 0x4000
mov qword [rdi + 0x18], rbx
cmp rbp, 0x7fff
ja 0x1400a749b
shl ebp, 5
mov rbx, qword [rsp + 0x40]
shl rbx, 0x14
and ebp, 0xfffe0
add rbp, rbx
add rbp, 1
mov qword [rcx], rbp
add rcx, 8
mov rbp, qword [rsp + 0x30]
mov qword [rbp + 0x10], rcx
mov r9d, dword [rdx]
mov rbp, rdx
test r9, r9
jne 0x1400a74b9
mov dword [rbp], r8d
xor r11d, r11d
mov rbx, qword [rsp + 0x30]
movabs rsi, 0xbfffff00000fffff
movabs rdi, 0x2000000000000000
movabs r10, 0x4000000000000000
jmp 0x1400a70ac
mov qword [rsp + 0x20], 0x88
mov r9d, 1
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
call method.__tsan.TraceRestartMemoryAccess___tsan::ThreadState__unsigned_long_long__unsigned_long_long__unsigned_long_long__unsigned_long_long_
xor r11d, r11d
jmp 0x1400a744d
mov rbp, qword [rsp + 0x40]
shl rbp, 0x14
mov qword [rcx], rbp
mov rbp, qword [rsp + 0x48]
mov qword [rcx + 8], rbp
add rcx, 0x10
jmp 0x1400a742d
shr eax, 8
test r9b, r8b
jne 0x1400a74dd
xor ecx, ecx
lea rbp, [rdx + 4]
mov r9d, dword [rbp]
test r9, r9
jne 0x1400a74ff
test cl, cl
jne 0x1400a7445
jmp 0x1400a7441
mov rcx, r9
shr rcx, 8
cmp al, cl
jne 0x1400a7541
cmp r8b, r9b
jne 0x1400a74c1
mov dword [rdx], r8d
mov cl, 1
lea rbp, [rdx + 4]
mov r9d, dword [rbp]
test r9, r9
je 0x1400a74d0
test r9b, r8b
jne 0x1400a7565
lea rbp, [rdx + 8]
mov r9d, dword [rbp]
test r9, r9
je 0x1400a74d0
test r9b, r8b
jne 0x1400a757d
lea rbp, [rdx + 0xc]
mov r9d, dword [rbp]
test r9, r9
je 0x1400a74d0
test r9b, r8b
je 0x1400a75af
mov rbx, r9
shr rbx, 8
cmp al, bl
jne 0x1400a7595
cmp r8b, r9b
jne 0x1400a75af
jmp 0x1400a7441
mov ebp, r9d
shr ebp, 0x10
movzx ecx, cl
and ebp, 0x3fff
mov rbx, qword [rsp + 0x30]
cmp word [rbx + rcx*2 + 0x2c], bp
jae 0x1400a74c1
jmp 0x1400a760f
mov rbx, r9
shr rbx, 8
cmp al, bl
jne 0x1400a75cf
cmp r8b, r9b
jne 0x1400a7504
mov dword [rbp], r8d
mov cl, 1
jmp 0x1400a7504
mov rbx, r9
shr rbx, 8
cmp al, bl
jne 0x1400a75f0
cmp r8b, r9b
jne 0x1400a7516
mov dword [rbp], r8d
mov cl, 1
jmp 0x1400a7516
mov eax, r9d
shr eax, 0x10
movzx ebp, bl
and eax, 0x3fff
mov rbx, qword [rsp + 0x30]
cmp word [rbx + rbp*2 + 0x2c], ax
jb 0x1400a760f
test cl, cl
jne 0x1400a7445
mov rbx, qword [rsp + 0x30]
mov rax, qword [rbx + 0x10]
shr rax, 1
and eax, 0xc
mov dword [rdx + rax], r8d
jmp 0x1400a7496
mov ebp, r9d
shr ebp, 0x10
movzx ebx, bl
and ebp, 0x3fff
mov rdi, qword [rsp + 0x30]
cmp word [rdi + rbx*2 + 0x2c], bp
jae 0x1400a7504
jmp 0x1400a760f
mov ebp, r9d
shr ebp, 0x10
movzx ebx, bl
and ebp, 0x3fff
mov rdi, qword [rsp + 0x30]
cmp word [rdi + rbx*2 + 0x2c], bp
jae 0x1400a7516
mov qword [rsp + 0x20], 0x88
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call method.__tsan.DoReportRace___tsan::ThreadState____tsan::RawShadow____tsan::Shadow____tsan::Shadow__unsigned_long_long_
jmp 0x1400a7496