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

Disassembly:
push r15
mov r9, rcx
mov rax, rdx
push r14
push r13
push r12
push rbp
mov rbp, r8
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r12, qword [r8]
mov r13, qword [rdx + 0xb0]
cmp qword [rdx + 8], r13
je 0x14022111c
xor r13d, r13d
mov rdx, qword [r9 + 8]
mov edi, dword [rax + 0x30]
mov r14, qword [rax + 0x50]
mov rsi, qword [rax + 0x80]
test rdx, rdx
setne r8b
cmp edi, 0xffffffff
je 0x14022114f
test r8b, r8b
je 0x14022114f
movzx ecx, byte [r9 + 0x80]
shl rdi, cl
add rdi, rdx
jmp 0x140221151
xor edi, edi
mov ebx, dword [rax + 0x60]
cmp ebx, 0xffffffff
je 0x14022116e
test r8b, r8b
je 0x14022116e
movzx ecx, byte [r9 + 0x80]
shl rbx, cl
add rbx, rdx
jmp 0x140221170
xor ebx, ebx
test rdi, rdi
mov r10, qword [rax]
setne r15b
cmp r14, r13
ja 0x14022119e
movabs rax, 0x59659dbdef4c1103
test r14, r14
sete dl
cmp r10, rax
sete al
test dl, al
je 0x1402211fd
test r15b, r15b
je 0x1402211fd
test r12, r12
jne 0x14022120b
cmp byte [0x1403eba28], 1
jbe 0x14022120b
mov qword [rsp + 0x30], r13
lea rax, str._workaround_for_incoherent_flaw_of_unified_page_buffer_cache_
lea r9, str.catch_invalid__sdb_mod_txnid__lli_for_meta_txnid__lli__s_n
mov r8d, 0x2b10
mov qword [rsp + 0x38], rax
lea rax, str.free
mov ecx, 2
lea rdx, str.meta_checktxnid
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x48], r10
call fcn.14021e730
cmp rsi, r13
mov r10, qword [rsp + 0x48]
jbe 0x140221210
jmp 0x140221233
mov al, 1
cmp rsi, r13
jbe 0x140221212
test r12, r12
je 0x140221233
jmp 0x14022127c
cmp rsi, r13
ja 0x14022127c
xor eax, eax
movabs rdx, 0x59659dbdef4c1103
test rsi, rsi
sete cl
cmp r10, rdx
sete dl
test cl, dl
je 0x14022127e
test rbx, rbx
je 0x14022127e
jmp 0x140221204
cmp byte [0x1403eba28], 1
jbe 0x14022127c
mov qword [rsp + 0x30], r13
lea rax, str._workaround_for_incoherent_flaw_of_unified_page_buffer_cache_
lea r9, str.catch_invalid__sdb_mod_txnid__lli_for_meta_txnid__lli__s_n
mov r8d, 0x2b1b
mov qword [rsp + 0x38], rax
lea rax, str.main
mov ecx, 2
lea rdx, str.meta_checktxnid
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.14021e730
xor eax, eax
test r14, r14
je 0x1402212e8
test r15b, r15b
je 0x1402212e8
mov rdx, qword [rdi]
cmp r14, rdx
je 0x1402212e8
xor eax, eax
test r12, r12
jne 0x1402212e8
cmp byte [0x1403eba28], 1
jbe 0x1402212e8
mov byte [rsp + 0x48], al
lea rax, str._workaround_for_incoherent_flaw_of_unified_page_buffer_cache_
lea r9, str.catch_invalid_root_page_txnid__lli_for__sdb_mod_txnid__lli__s_n
mov r8d, 0x2b29
mov qword [rsp + 0x38], rax
lea rax, str.free
mov ecx, 2
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rdx, str.meta_checktxnid
mov qword [rsp + 0x30], rsi
call fcn.14021e730
mov al, byte [rsp + 0x48]
test rbx, rbx
je 0x14022134a
test rsi, rsi
je 0x14022134a
mov rdx, qword [rbx]
cmp rsi, rdx
je 0x14022134a
test r12, r12
jne 0x140221355
cmp byte [0x1403eba28], 1
jbe 0x140221355
mov qword [rsp + 0x20], rdx
lea rax, str._workaround_for_incoherent_flaw_of_unified_page_buffer_cache_
lea r9, str.catch_invalid_root_page_txnid__lli_for__sdb_mod_txnid__lli__s_n
mov r8d, 0x2b38
mov qword [rsp + 0x38], rax
lea rax, str.main
mov ecx, 2
lea rdx, str.meta_checktxnid
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
call fcn.14021e730
jmp 0x140221355
xor r12d, r12d
test al, al
jne 0x1402213d6
cmp qword [rbp], 0
mov rax, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], 0
jne 0x14022137e
call rax
mov rax, qword [rsp + 0x58]
mov qword [rbp], rax
jmp 0x1402213cc
call rax
mov rax, qword [rsp + 0x58]
sub rax, qword [rbp]
cmp rax, 0x1999
jbe 0x1402213cc
cmp byte [0x1403eba28], 0
mov r12d, 0xffff87b4
je 0x1402213d6
lea rax, str._workaround_for_incoherent_flaw_of_unified_page_buffer_cache_
lea r9, str.bailout_waiting_for_valid_snapshot__s_n
mov r8d, 0x2b4d
mov ecx, 1
mov qword [rsp + 0x20], rax
lea rdx, str.meta_waittxnid
call fcn.14021e730
jmp 0x1402213d6
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
or r12d, 0xffffffff
add rsp, 0x68
mov eax, r12d
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret