Function at 0x140225cb0
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 0x140225cdc
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 0x140225d0f
test r8b, r8b
je 0x140225d0f
movzx ecx, byte [r9 + 0x80]
shl rdi, cl
add rdi, rdx
jmp 0x140225d11
xor edi, edi
mov ebx, dword [rax + 0x60]
cmp ebx, 0xffffffff
je 0x140225d2e
test r8b, r8b
je 0x140225d2e
movzx ecx, byte [r9 + 0x80]
shl rbx, cl
add rbx, rdx
jmp 0x140225d30
xor ebx, ebx
test rdi, rdi
mov r10, qword [rax]
setne r15b
cmp r14, r13
ja 0x140225d5e
movabs rax, 0x59659dbdef4c1103
test r14, r14
sete dl
cmp r10, rax
sete al
test dl, al
je 0x140225dbd
test r15b, r15b
je 0x140225dbd
test r12, r12
jne 0x140225dcb
cmp byte [0x1403f1a48], 1
jbe 0x140225dcb
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.1402232f0
cmp rsi, r13
mov r10, qword [rsp + 0x48]
jbe 0x140225dd0
jmp 0x140225df3
mov al, 1
cmp rsi, r13
jbe 0x140225dd2
test r12, r12
je 0x140225df3
jmp 0x140225e3c
cmp rsi, r13
ja 0x140225e3c
xor eax, eax
movabs rdx, 0x59659dbdef4c1103
test rsi, rsi
sete cl
cmp r10, rdx
sete dl
test cl, dl
je 0x140225e3e
test rbx, rbx
je 0x140225e3e
jmp 0x140225dc4
cmp byte [0x1403f1a48], 1
jbe 0x140225e3c
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.1402232f0
xor eax, eax
test r14, r14
je 0x140225ea8
test r15b, r15b
je 0x140225ea8
mov rdx, qword [rdi]
cmp r14, rdx
je 0x140225ea8
xor eax, eax
test r12, r12
jne 0x140225ea8
cmp byte [0x1403f1a48], 1
jbe 0x140225ea8
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.1402232f0
mov al, byte [rsp + 0x48]
test rbx, rbx
je 0x140225f0a
test rsi, rsi
je 0x140225f0a
mov rdx, qword [rbx]
cmp rsi, rdx
je 0x140225f0a
test r12, r12
jne 0x140225f15
cmp byte [0x1403f1a48], 1
jbe 0x140225f15
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.1402232f0
jmp 0x140225f15
xor r12d, r12d
test al, al
jne 0x140225f96
cmp qword [rbp], 0
mov rax, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], 0
jne 0x140225f3e
call rax
mov rax, qword [rsp + 0x58]
mov qword [rbp], rax
jmp 0x140225f8c
call rax
mov rax, qword [rsp + 0x58]
sub rax, qword [rbp]
cmp rax, 0x1999
jbe 0x140225f8c
cmp byte [0x1403f1a48], 0
mov r12d, 0xffff87b4
je 0x140225f96
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.1402232f0
jmp 0x140225f96
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