Function at 0x140224060
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 0x14022408c
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 0x1402240bf
test r8b, r8b
je 0x1402240bf
movzx ecx, byte [r9 + 0x80]
shl rdi, cl
add rdi, rdx
jmp 0x1402240c1
xor edi, edi
mov ebx, dword [rax + 0x60]
cmp ebx, 0xffffffff
je 0x1402240de
test r8b, r8b
je 0x1402240de
movzx ecx, byte [r9 + 0x80]
shl rbx, cl
add rbx, rdx
jmp 0x1402240e0
xor ebx, ebx
test rdi, rdi
mov r10, qword [rax]
setne r15b
cmp r14, r13
ja 0x14022410e
movabs rax, 0x59659dbdef4c1103
test r14, r14
sete dl
cmp r10, rax
sete al
test dl, al
je 0x14022416d
test r15b, r15b
je 0x14022416d
test r12, r12
jne 0x14022417b
cmp byte [0x1403eea28], 1
jbe 0x14022417b
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.1402216a0
cmp rsi, r13
mov r10, qword [rsp + 0x48]
jbe 0x140224180
jmp 0x1402241a3
mov al, 1
cmp rsi, r13
jbe 0x140224182
test r12, r12
je 0x1402241a3
jmp 0x1402241ec
cmp rsi, r13
ja 0x1402241ec
xor eax, eax
movabs rdx, 0x59659dbdef4c1103
test rsi, rsi
sete cl
cmp r10, rdx
sete dl
test cl, dl
je 0x1402241ee
test rbx, rbx
je 0x1402241ee
jmp 0x140224174
cmp byte [0x1403eea28], 1
jbe 0x1402241ec
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.1402216a0
xor eax, eax
test r14, r14
je 0x140224258
test r15b, r15b
je 0x140224258
mov rdx, qword [rdi]
cmp r14, rdx
je 0x140224258
xor eax, eax
test r12, r12
jne 0x140224258
cmp byte [0x1403eea28], 1
jbe 0x140224258
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.1402216a0
mov al, byte [rsp + 0x48]
test rbx, rbx
je 0x1402242ba
test rsi, rsi
je 0x1402242ba
mov rdx, qword [rbx]
cmp rsi, rdx
je 0x1402242ba
test r12, r12
jne 0x1402242c5
cmp byte [0x1403eea28], 1
jbe 0x1402242c5
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.1402216a0
jmp 0x1402242c5
xor r12d, r12d
test al, al
jne 0x140224346
cmp qword [rbp], 0
mov rax, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], 0
jne 0x1402242ee
call rax
mov rax, qword [rsp + 0x58]
mov qword [rbp], rax
jmp 0x14022433c
call rax
mov rax, qword [rsp + 0x58]
sub rax, qword [rbp]
cmp rax, 0x1999
jbe 0x14022433c
cmp byte [0x1403eea28], 0
mov r12d, 0xffff87b4
je 0x140224346
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.1402216a0
jmp 0x140224346
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