Function at 0x1400bef50
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r13d, r9d
mov r12, r8
mov rbp, rdx
mov r15, rcx
test rdx, rdx
mov qword [rsp + 0x40], rdx
je 0x1400befe5
lea rax, [r12 - 0x1000]
shr rax, 0xc
cmp rax, 0xdfffffe
ja 0x1400befe5
movabs rax, 0x10000000000
lea rdx, [rax + r12*2]
and rdx, 0xfffffffffffffff0
mov ecx, dword [r15]
mov ebx, r12d
and bl, 7
mov eax, ecx
bts eax, ebx
mov r8d, eax
or r8d, 0xc0000000
mov ebx, 0x40000000
mov edi, dword [rdx]
or edi, ebx
cmp edi, r8d
je 0x1400befe5
or ebx, dword [rdx + 4]
cmp ebx, r8d
je 0x1400befe5
mov ebx, 0x40000000
mov edi, dword [rdx + 8]
or edi, ebx
cmp edi, r8d
je 0x1400befe5
or ebx, dword [rdx + 0xc]
cmp ebx, r8d
jne 0x1400bf8fb
mov rcx, r15
call method.__tsan.SlotLock___tsan::ThreadState_
mov rcx, qword [0x1402ea7c8]
add rcx, 8
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], 1
mov rdx, r15
mov r8, rbp
mov r9, r12
call method.__tsan::MetaMap.GetSync___tsan::ThreadState__unsigned_long_long__unsigned_long_long__bool__bool_
mov r14, rax
mov esi, dword [rax + 0x18]
mov rax, qword [r15 + 0x10]
lea ecx, [rax + 8]
test ecx, 0xff0
je 0x1400bf8a3
shl r12, 0x14
mov rcx, rsi
shr rcx, 0xf
or rcx, r12
mov rdx, rbp
shl rdx, 5
movabs rbp, 0x1ffffffffffe0
and rbp, rdx
shl rsi, 0x31
lea rdx, [rsi + rbp]
add rdx, 0xc
mov qword [rax], rdx
mov qword [rax + 8], rcx
add rax, 0x10
mov qword [r15 + 0x10], rax
mov rax, qword [r14 + 8]
lea rbp, [r14 + 0x14]
mov rdx, 0xffffffffffffffff
xor ecx, ecx
lea rsi, [rsp + 0x50]
movabs r12, 0xbfffffffffffffff
movabs rbx, 0x4000000000000000
bt rax, 0x3c
jb 0x1400bf0b0
lea rdi, [rax + 1]
and rdi, rdx
lock cmpxchg qword [r14 + 8], rdi
je 0x1400bf131
add rcx, 1
jmp 0x1400bf090
cmp rcx, 0x5dc
jbe 0x1400bf101
lea r8, [rax + 0x100000]
and r8, rdx
lock cmpxchg qword [r14 + 8], r8
je 0x1400bf0ec
jmp 0x1400bf0aa
mov dword [rsp + 0x50], 0
mov r8d, 4
mov rcx, rbp
mov rdx, rsi
mov r9d, 0xffffffff
call sub.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress
mov eax, dword [rbp]
test eax, eax
je 0x1400bf0cd
lea ecx, [rax - 1]
lock cmpxchg dword [rbp], ecx
jne 0x1400bf0ef
xor ecx, ecx
jmp 0x1400bf114
test rax, rbx
jne 0x1400bf124
mov r8, rax
or r8, rbx
lock cmpxchg qword [r14 + 8], r8
jne 0x1400bf0aa
mov rax, qword [r14 + 8]
add rcx, 1
mov rdx, r12
jmp 0x1400bf090
mov rax, qword [r14 + 8]
add rcx, 1
jmp 0x1400bf090
mov eax, r13d
and eax, 0x107
je 0x1400bf14d
mov ecx, dword [r14 + 0x28]
test ecx, 0x107
jne 0x1400bf14d
or ecx, eax
mov dword [r14 + 0x28], ecx
cmp dword [r14 + 0x1c], 0xffffffff
je 0x1400bf176
mov rax, qword [0x1402ea7c8]
cmp byte [rax + 0xa00196], 0
je 0x1400bf176
test dword [r14 + 0x28], 0x40000000
jne 0x1400bf176
or dword [r14 + 0x28], 0x40000000
cmp dword [r15 + 4], 0
je 0x1400bf248
mov eax, dword [r15]
mov dword [r14 + 0x20], eax
cmp byte [0x1402ea852], 0
je 0x1400bf2bf
mov esi, r13d
and esi, 0x10
lea rax, method.__tsan::Callback.Unwind__
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x68], r15
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x48]
xor ecx, ecx
call qword [0x1402ea7c0]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x418]
mov qword [rsp + 0x58], rax
mov rax, qword [r15 + 0x278]
mov qword [rsp + 0x60], rax
test r13d, 0x20000000
je 0x1400bf20d
test esi, esi
jne 0x1400bf20d
mov rax, qword [0x1402ea7c8]
mov rcx, qword [rax + 0xa00188]
lea r8, [r14 + 0x30]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
xor r9d, r9d
call qword [rax + 0x28]
shr esi, 4
test r13d, 0x20000000
sete bl
mov rax, qword [0x1402ea7c8]
mov rcx, qword [rax + 0xa00188]
lea r8, [r14 + 0x30]
mov rax, qword [rcx]
mov byte [rsp + 0x20], sil
lea rdx, [rsp + 0x50]
xor r9d, r9d
call qword [rax + 0x30]
or bl, sil
mov byte [rsp + 0x3f], bl
jmp 0x1400bf2c4
mov rax, qword [r14 + 0x50]
test rax, rax
je 0x1400bf181
lea rcx, [r15 + 0x2c]
lea rdx, [rax + 0x200]
cmp rcx, rdx
jae 0x1400bf49b
lea rcx, [r15 + 0x22c]
cmp rax, rcx
jae 0x1400bf49b
xor ecx, ecx
nop dword [rax + rax]
movzx edx, word [r15 + rcx*2 + 0x2c]
movzx ebp, word [rax + rcx*2]
cmp dx, bp
cmova ebp, edx
mov word [r15 + rcx*2 + 0x2c], bp
movzx edx, word [r15 + rcx*2 + 0x2e]
movzx ebp, word [rax + rcx*2 + 2]
cmp dx, bp
cmova ebp, edx
mov word [r15 + rcx*2 + 0x2e], bp
add rcx, 2
cmp rcx, 0x100
jne 0x1400bf280
jmp 0x1400bf181
mov byte [rsp + 0x3f], 1
movabs r13, 0xfffffeffffffffff
movabs rbp, 0x60000000000fffff
movabs rsi, 0x2000000000000000
movabs r12, 0xfffff0000000000
mov rax, qword [r14 + 8]
lea rdx, [rax - 1]
test rdx, rbp
sete r8b
test rdx, r12
setne cl
and cl, r8b
lea rdi, [rax + r13]
or rdi, rsi
test cl, cl
cmove rdi, rdx
lock cmpxchg qword [r14 + 8], rdi
je 0x1400bf347
nop dword [rax]
lea rdx, [rax - 1]
test rdx, rbp
sete bl
test rdx, r12
setne cl
and cl, bl
lea rbx, [rax + r13]
or rbx, rsi
test cl, cl
cmove rbx, rdx
lock cmpxchg qword [r14 + 8], rbx
jne 0x1400bf320
test cl, cl
jne 0x1400bf8c3
mov byte [r15 + 0x290], 0
mov rcx, qword [r15 + 0x280]
mov rax, qword [rcx]
movabs r10, 0xefffffffffffffff
add rbp, 0xfffffffffff00001
xor r8d, r8d
movabs r9, 0xbfffff00000fffff
movabs r14, 0x4000000000000000
jmp 0x1400bf3bb
mov rbx, rax
shr rbx, 0x14
and ebx, 0xfffff
test rax, rsi
cmovne rbx, r8
mov rdx, rdi
and rdx, r9
or rdx, r14
test rbx, rbx
cmove rdx, rdi
lock cmpxchg qword [rcx], rdx
je 0x1400bf403
mov rbx, rax
and rbx, r10
test rax, rbp
sete r11b
test rax, r12
setne dl
lea rdi, [rbx + r13]
add rdi, 1
or rdi, rsi
test r11b, dl
cmove rdi, rbx
je 0x1400bf390
lock cmpxchg qword [rcx], rdi
jne 0x1400bf3bb
lock add dword [rcx + 8], 1
add rcx, 8
call fcn.1400f7c08
mov rsi, qword [rsp + 0x40]
mov dil, byte [rsp + 0x3f]
jmp 0x1400bf416
test rbx, rbx
mov rsi, qword [rsp + 0x40]
mov dil, byte [rsp + 0x3f]
jne 0x1400bf8da
cmp byte [0x1402ea852], 0
sete al
or dil, al
jne 0x1400bf489
lea rax, method.__tsan::Callback.Unwind__
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], rsi
lea rdx, [rsp + 0x48]
xor ecx, ecx
call qword [0x1402ea7c0]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x418]
mov qword [rsp + 0x58], rax
mov rax, qword [r15 + 0x278]
mov qword [rsp + 0x60], rax
mov rax, qword [0x1402ea7c8]
mov rcx, qword [rax + 0xa00188]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [rax + 0x48]
mov rcx, r15
mov r8, rax
call method.__tsan.ReportDeadlock___tsan::ThreadState__unsigned_long_long____sanitizer::DDReport_
nop
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqu xmm2, xmmword [r15 + 0x2c]
movdqu xmm3, xmmword [r15 + 0x3c]
movdqu xmm4, xmmword [r15 + 0x4c]
movdqu xmm5, xmmword [r15 + 0x5c]
psubusw xmm0, xmm2
paddw xmm0, xmm2
psubusw xmm1, xmm3
paddw xmm1, xmm3
movdqu xmmword [r15 + 0x2c], xmm0
movdqu xmmword [r15 + 0x3c], xmm1
movdqu xmm0, xmmword [rax + 0x20]
movdqu xmm1, xmmword [rax + 0x30]
psubusw xmm0, xmm4
paddw xmm0, xmm4
psubusw xmm1, xmm5
paddw xmm1, xmm5
movdqu xmmword [r15 + 0x4c], xmm0
movdqu xmmword [r15 + 0x5c], xmm1
movdqu xmm0, xmmword [r15 + 0x6c]
movdqu xmm1, xmmword [r15 + 0x7c]
movdqu xmm2, xmmword [rax + 0x40]
movdqu xmm3, xmmword [rax + 0x50]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x6c], xmm2
movdqu xmmword [r15 + 0x7c], xmm3
movdqu xmm0, xmmword [r15 + 0x8c]
movdqu xmm1, xmmword [r15 + 0x9c]
movdqu xmm2, xmmword [rax + 0x60]
movdqu xmm3, xmmword [rax + 0x70]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x8c], xmm2
movdqu xmmword [r15 + 0x9c], xmm3
movdqu xmm0, xmmword [r15 + 0xac]
movdqu xmm1, xmmword [r15 + 0xbc]
movdqu xmm2, xmmword [rax + 0x80]
movdqu xmm3, xmmword [rax + 0x90]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0xac], xmm2
movdqu xmmword [r15 + 0xbc], xmm3
movdqu xmm0, xmmword [r15 + 0xcc]
movdqu xmm1, xmmword [r15 + 0xdc]
movdqu xmm2, xmmword [rax + 0xa0]
movdqu xmm3, xmmword [rax + 0xb0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0xcc], xmm2
movdqu xmmword [r15 + 0xdc], xmm3
movdqu xmm0, xmmword [r15 + 0xec]
movdqu xmm1, xmmword [r15 + 0xfc]
movdqu xmm2, xmmword [rax + 0xc0]
movdqu xmm3, xmmword [rax + 0xd0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0xec], xmm2
movdqu xmmword [r15 + 0xfc], xmm3
movdqu xmm0, xmmword [r15 + 0x10c]
movdqu xmm1, xmmword [r15 + 0x11c]
movdqu xmm2, xmmword [rax + 0xe0]
movdqu xmm3, xmmword [rax + 0xf0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x10c], xmm2
movdqu xmmword [r15 + 0x11c], xmm3
movdqu xmm0, xmmword [r15 + 0x12c]
movdqu xmm1, xmmword [r15 + 0x13c]
movdqu xmm2, xmmword [rax + 0x100]
movdqu xmm3, xmmword [rax + 0x110]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x12c], xmm2
movdqu xmmword [r15 + 0x13c], xmm3
movdqu xmm0, xmmword [r15 + 0x14c]
movdqu xmm1, xmmword [r15 + 0x15c]
movdqu xmm2, xmmword [rax + 0x120]
movdqu xmm3, xmmword [rax + 0x130]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x14c], xmm2
movdqu xmmword [r15 + 0x15c], xmm3
movdqu xmm0, xmmword [r15 + 0x16c]
movdqu xmm1, xmmword [r15 + 0x17c]
movdqu xmm2, xmmword [rax + 0x140]
movdqu xmm3, xmmword [rax + 0x150]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x16c], xmm2
movdqu xmmword [r15 + 0x17c], xmm3
movdqu xmm0, xmmword [r15 + 0x18c]
movdqu xmm1, xmmword [r15 + 0x19c]
movdqu xmm2, xmmword [rax + 0x160]
movdqu xmm3, xmmword [rax + 0x170]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x18c], xmm2
movdqu xmmword [r15 + 0x19c], xmm3
movdqu xmm0, xmmword [r15 + 0x1ac]
movdqu xmm1, xmmword [r15 + 0x1bc]
movdqu xmm2, xmmword [rax + 0x180]
movdqu xmm3, xmmword [rax + 0x190]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x1ac], xmm2
movdqu xmmword [r15 + 0x1bc], xmm3
movdqu xmm0, xmmword [r15 + 0x1cc]
movdqu xmm1, xmmword [r15 + 0x1dc]
movdqu xmm2, xmmword [rax + 0x1a0]
movdqu xmm3, xmmword [rax + 0x1b0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x1cc], xmm2
movdqu xmmword [r15 + 0x1dc], xmm3
movdqu xmm0, xmmword [r15 + 0x1ec]
movdqu xmm1, xmmword [r15 + 0x1fc]
movdqu xmm2, xmmword [rax + 0x1c0]
movdqu xmm3, xmmword [rax + 0x1d0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x1ec], xmm2
movdqu xmmword [r15 + 0x1fc], xmm3
movdqu xmm0, xmmword [r15 + 0x20c]
movdqu xmm1, xmmword [r15 + 0x21c]
movdqu xmm2, xmmword [rax + 0x1e0]
movdqu xmm3, xmmword [rax + 0x1f0]
psubusw xmm2, xmm0
paddw xmm2, xmm0
psubusw xmm3, xmm1
paddw xmm3, xmm1
movdqu xmmword [r15 + 0x20c], xmm2
movdqu xmmword [r15 + 0x21c], xmm3
jmp 0x1400bf181
mov rcx, r15
call method.__tsan.TraceSwitchPart___tsan::ThreadState_
mov rax, qword [r15 + 0x10]
lea ecx, [rax + 8]
test ecx, 0xff0
jne 0x1400bf029
jmp 0x1400bf029
mov rcx, r14
add rcx, 0x10
lock add dword [r14 + 0x10], 1
call fcn.1400f7c08
jmp 0x1400bf34f
lock add dword [rcx + 0xc], ebx
add rcx, 0xc
cmp ebx, 1
jne 0x1400bf8f1
call fcn.1400f7c08
jmp 0x1400bf416
call fcn.1400f7c00
jmp 0x1400bf416
test ecx, ecx
js 0x1400befe5
mov rbx, qword [r15 + 0x10]
lea edi, [rbx + 8]
test edi, 0xff0
je 0x1400bf96c
mov rbp, qword [rsp + 0x40]
mov rdi, rbp
sub rdi, qword [r15 + 0x18]
add rdi, 0x4000
mov qword [r15 + 0x18], rbp
cmp rdi, 0x7fff
ja 0x1400bf993
shl edi, 5
mov rsi, r12
shl rsi, 0x14
and edi, 0xfffe0
add rdi, rsi
add rdi, 7
mov qword [rbx], rdi
add rbx, 8
mov qword [r15 + 0x10], rbx
mov r9d, dword [rdx]
mov rdi, rdx
test r9, r9
mov rbp, qword [rsp + 0x40]
jne 0x1400bf9b0
mov dword [rdi], r8d
jmp 0x1400befe5
mov qword [rsp + 0x20], 3
mov r9d, 1
mov rcx, r15
mov rbp, qword [rsp + 0x40]
mov rdx, rbp
mov r8, r12
call method.__tsan.TraceRestartMemoryAccess___tsan::ThreadState__unsigned_long_long__unsigned_long_long__unsigned_long_long__unsigned_long_long_
jmp 0x1400befe5
mov rbp, r12
shl rbp, 0x14
or rbp, 0x60
mov qword [rbx], rbp
mov rbp, qword [rsp + 0x40]
mov qword [rbx + 8], rbp
add rbx, 0x10
jmp 0x1400bf950
shr ecx, 8
test r9b, al
jne 0x1400bf9d5
xor ebx, ebx
lea rdi, [rdx + 4]
mov r9d, dword [rdi]
test r9, r9
jne 0x1400bf9f7
test bl, bl
mov rbp, qword [rsp + 0x40]
jne 0x1400befe5
jmp 0x1400bf964
mov rbx, r9
shr rbx, 8
cmp cl, bl
jne 0x1400bfa58
xor ebx, ebx
cmp r9d, 0xc0000000
jb 0x1400bf9ba
cmp al, r9b
jne 0x1400bf9ba
mov dword [rdx], r8d
mov bl, 1
jmp 0x1400bf9ba
test r9b, al
jne 0x1400bfa85
lea rdi, [rdx + 8]
mov r9d, dword [rdi]
test r9, r9
je 0x1400bf9c6
test r9b, al
jne 0x1400bfab5
lea rdi, [rdx + 0xc]
mov r9d, dword [rdi]
test r9, r9
je 0x1400bf9c6
test r9b, al
je 0x1400bfb05
mov rsi, r9
shr rsi, 8
cmp cl, sil
jne 0x1400bfae5
cmp r9d, 0xc0000000
jb 0x1400bfb05
cmp al, r9b
jne 0x1400bfb05
mov dword [rdi], r8d
jmp 0x1400bfb8a
cmp r9d, 0x3fffffff
ja 0x1400bf9b8
mov ebp, r9d
shr ebp, 0x10
movzx ebx, bl
and ebp, 0x3fff
cmp word [r15 + rbx*2 + 0x2c], bp
jae 0x1400bf9b8
jmp 0x1400bfb79
mov rsi, r9
shr rsi, 8
cmp cl, sil
jne 0x1400bfb25
cmp r9d, 0xc0000000
jb 0x1400bfa00
cmp al, r9b
jne 0x1400bfa00
mov dword [rdi], r8d
mov bl, 1
jmp 0x1400bfa00
mov rsi, r9
shr rsi, 8
cmp cl, sil
jne 0x1400bfb50
cmp r9d, 0xc0000000
jb 0x1400bfa15
cmp al, r9b
jne 0x1400bfa15
mov dword [rdi], r8d
mov bl, 1
jmp 0x1400bfa15
cmp r9d, 0x3fffffff
ja 0x1400bfb05
mov eax, r9d
shr eax, 0x10
movzx ecx, sil
and eax, 0x3fff
cmp word [r15 + rcx*2 + 0x2c], ax
jb 0x1400bfb79
test bl, bl
mov rbp, qword [rsp + 0x40]
jne 0x1400befe5
mov rax, qword [r15 + 0x10]
shr rax, 1
and eax, 0xc
mov dword [rdx + rax], r8d
jmp 0x1400befe5
cmp r9d, 0x3fffffff
ja 0x1400bfa00
mov ebp, r9d
shr ebp, 0x10
movzx edi, sil
and ebp, 0x3fff
cmp word [r15 + rdi*2 + 0x2c], bp
jae 0x1400bfa00
jmp 0x1400bfb79
cmp r9d, 0x3fffffff
ja 0x1400bfa15
mov ebp, r9d
shr ebp, 0x10
movzx edi, sil
and ebp, 0x3fff
cmp word [r15 + rdi*2 + 0x2c], bp
jae 0x1400bfa15
mov qword [rsp + 0x20], 3
mov rcx, r15
call method.__tsan.DoReportRace___tsan::ThreadState____tsan::RawShadow____tsan::Shadow____tsan::Shadow__unsigned_long_long_
mov rbp, qword [rsp + 0x40]
jmp 0x1400befe5