Function at 0x14013f480
Capabilities:
Check for time delay via queryperformancecounter
Write file on windows

Disassembly:
push rbp
mov eax, 1
mov rbp, rsp
push r15
push r14
push r13
mov r13, r8
push r12
mov r12d, edx
push rdi
push rsi
push rbx
mov rbx, rcx
and rsp, 0xfffffffffffffff0
sub rsp, 0x150
mov r14, qword [rcx + 8]
movzx ecx, byte [rcx + 0x80]
shl rax, cl
lea r10, [r14 + 0x14]
lea rdi, [r14 + rax + 0x14]
mov eax, 2
shl rax, cl
mov rcx, qword [r14 + 0x1c]
lea r15, [r14 + rax + 0x14]
mov rax, qword [r14 + 0xc4]
cmp rcx, rax
je 0x14013f920
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp rdx, rax
je 0x14013f7f0
mov rax, qword [rdi + 0xa8]
cmp rax, 1
seta al
test al, al
mov rsi, rdi
cmove rsi, r10
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0xb0]
cmp rcx, rax
je 0x14013f81d
mov rax, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp rax, rdx
je 0x14013f950
mov rax, qword [r15 + 0xa8]
cmp rax, 2
cmovae rsi, r15
test r12d, 0x10000
jne 0x14013f850
mov eax, r12d
and eax, 0x40000000
mov dword [rsp + 0x48], eax
jne 0x1402247d2
mov rax, qword [rbx + 0x70]
mov edx, dword [rax + 0x90]
test edx, edx
je 0x14013f8c8
mov ecx, r12d
xor r8d, r8d
and ecx, 0x10000
mov dword [rsp + 0x40], ecx
je 0x14013fc28
mov rdx, qword [rax + 0x78]
add rdx, 1
mov qword [rax + 0x78], rdx
test r12d, 0x80000
jne 0x14013fbc8
mov rcx, qword [rbx + 0x10]
test r8d, r8d
jne 0x14013fd30
mov edx, dword [rsp + 0x40]
test edx, edx
je 0x14013f8c8
mov rax, qword [0x1402b6ec0]
mov qword [r13 + 0xa8], rax
xor edx, edx
mov rax, qword [rsi + 0xb0]
cmp qword [rsi + 8], rax
cmovne rax, rdx
cmp qword [r13 + 8], rax
je 0x14013f970
cmp r10, rsi
je 0x14013ff38
mov rcx, qword [r14 + 0x1c]
mov rax, qword [r14 + 0xc4]
cmp rdi, rsi
je 0x14013fe60
cmp rcx, rax
je 0x14013feb0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp rdx, rax
je 0x14013fd50
mov rax, qword [rdi + 0xa8]
cmp rax, 1
mov rax, qword [r14 + 0xbc]
seta r8b
test r8b, r8b
cmovne rdi, r10
xor edx, edx
mov rax, qword [rdi + 0xb0]
cmp qword [rdi + 8], rax
cmovne rax, rdx
cmp qword [r13 + 8], rax
jbe 0x140224750
mov rdx, qword [rbx + 0x70]
mov rax, qword [rdx + 0x78]
add rax, 1
mov qword [rdx + 0x78], rax
test r12d, 0x80000
je 0x1401401f5
mov rax, qword [r13 + 8]
mov qword [rdi + 0xb0], 0
mov qword [rdi + 8], rax
mov rax, qword [0x1402b6ec0]
mov qword [rdi + 0xa8], rax
movdqu xmm1, xmmword [r13 + 0x14]
movups xmmword [rdi + 0x14], xmm1
mov eax, dword [r13 + 0x24]
mov dword [rdi + 0x24], eax
movdqu xmm2, xmmword [r13 + 0x28]
movups xmmword [rdi + 0x28], xmm2
movdqu xmm3, xmmword [r13 + 0x38]
movups xmmword [rdi + 0x38], xmm3
movdqu xmm4, xmmword [r13 + 0x48]
movups xmmword [rdi + 0x48], xmm4
movdqu xmm5, xmmword [r13 + 0x58]
movups xmmword [rdi + 0x58], xmm5
movdqu xmm1, xmmword [r13 + 0x68]
movdqa xmm5, xmmword [0x1403ec470]
movups xmmword [rdi + 0x68], xmm1
movdqu xmm2, xmmword [r13 + 0x78]
movups xmmword [rdi + 0x78], xmm2
movdqu xmm3, xmmword [r13 + 0x88]
movups xmmword [rdi + 0x88], xmm3
movdqu xmm4, xmmword [r13 + 0x98]
movups xmmword [rdi + 0x98], xmm4
mov rax, qword [r13 + 0xb8]
mov qword [rdi + 0xb8], rax
mov rax, qword [r13 + 0xb0]
movups xmmword [rdi + 0xc0], xmm5
mov qword [rdi + 0xb0], rax
mov rax, qword [r13 + 0xa8]
mov qword [rdi + 0xa8], rax
movzx ecx, byte [rbx + 0x80]
and r12d, 0x40000
mov edx, 3
mov eax, dword [rbx + 0x88]
cmp r12d, 1
sbb esi, esi
shl rdx, cl
mov rcx, qword [rbx + 8]
lea rdx, [rax + rdx - 1]
neg rax
and esi, 5
and rdx, rax
call qword [sym.imp.KERNEL32.dll_FlushViewOfFile]
test eax, eax
je 0x14013fe40
mov rcx, qword [rbx + 0x10]
test esi, esi
je 0x14013f798
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
je 0x14013fe40
nop word [rax + rax]
mov rax, qword [r13 + 8]
test r12d, r12d
lea edx, [rax - 0x55555555]
cmovne eax, edx
mov rdx, qword [rbx + 0x70]
mov dword [rdx + 0x14], eax
mov eax, dword [rsp + 0x48]
test eax, eax
jne 0x14022476e
mov rax, qword [rbx + 0x40]
test rax, rax
je 0x14013fe30
mov dword [rax + 0xc4], 0
xor r11d, r11d
lea rsp, [rbp - 0x38]
mov eax, r11d
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor eax, eax
mov rcx, qword [rdi + 0xa8]
cmp rax, rdx
je 0x14014020a
mov rsi, rdi
cmovae rsi, r10
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0xb0]
cmp rcx, rax
jne 0x14013f51f
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp r8, rdx
je 0x14013f952
mov rax, qword [r15 + 0xa8]
test rcx, rcx
je 0x14013f53a
test r12d, 0x10000
je 0x14013f54f
nop
mov rax, qword [rbx + 0x70]
mov edx, dword [rax + 0x10]
mov r8, qword [rax + 0x18]
test edx, edx
jne 0x14013ff20
test r8, r8
je 0x14013f54f
mov qword [rsp + 0x40], r8
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x80], 0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx + 0x70]
mov rdx, qword [rax + 0x88]
mov rax, qword [rsp + 0x80]
mov r8, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
sub rax, rdx
cmp rax, r8
jb 0x14013f54f
and r12d, 0x40080000
jmp 0x14013f54f
mov qword [rsp + 0x40], r10
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x80], 0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx + 0x70]
mov rdx, qword [rsp + 0x80]
mov qword [rax + 0x88], rdx
mov rax, qword [0x1402b6ef0]
mov qword [r13 + 0xa8], rax
mov rax, qword [rbx + 0x70]
mov dword [rax + 0x90], 0
mov r10, qword [rsp + 0x40]
jmp 0x14013f5c9
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp r8, rdx
je 0x14013f7f2
mov rax, qword [rdi + 0xa8]
mov rsi, r10
test rcx, rcx
jne 0x14013f50b
jmp 0x14013f4fb
xor eax, eax
mov rcx, qword [r15 + 0xa8]
cmp rax, rdx
je 0x1401401fd
cmovb rsi, r15
jmp 0x14013f542
mov rax, qword [rsi + 0xa8]
cmp rax, 1
ja 0x14013fdc8
mov rax, qword [r13 + 0xa8]
cmp rax, 1
jbe 0x14013fdc8
mov rdx, qword [rbx + 0x70]
mov rax, qword [rdx + 0x78]
add rax, 1
mov qword [rdx + 0x78], rax
test r12d, 0x80000
jne 0x140140090
movdqu xmm0, xmmword [rsi]
mov r15, qword [rbx + 0x38]
movaps xmmword [rsp + 0x80], xmm0
movdqu xmm1, xmmword [rsi + 0x10]
movaps xmmword [rsp + 0x90], xmm1
movdqu xmm2, xmmword [rsi + 0x20]
movaps xmmword [rsp + 0xa0], xmm2
movdqu xmm3, xmmword [rsi + 0x30]
movaps xmmword [rsp + 0xb0], xmm3
movdqu xmm4, xmmword [rsi + 0x40]
movaps xmmword [rsp + 0xc0], xmm4
movdqu xmm5, xmmword [rsi + 0x50]
movaps xmmword [rsp + 0xd0], xmm5
movdqu xmm0, xmmword [rsi + 0x60]
movaps xmmword [rsp + 0xe0], xmm0
movdqu xmm1, xmmword [rsi + 0x70]
movaps xmmword [rsp + 0xf0], xmm1
movdqu xmm2, xmmword [rsi + 0x80]
movaps xmmword [rsp + 0x100], xmm2
movdqu xmm3, xmmword [rsi + 0x90]
movaps xmmword [rsp + 0x110], xmm3
movdqu xmm4, xmmword [rsi + 0xa0]
movaps xmmword [rsp + 0x120], xmm4
movdqu xmm5, xmmword [rsi + 0xb0]
movaps xmmword [rsp + 0x130], xmm5
movdqu xmm0, xmmword [rsi + 0xc0]
movaps xmmword [rsp + 0x140], xmm0
cmp r15, 0xffffffffffffffff
je 0x14013ff00
mov rdx, qword [rbx + 0x70]
mov r10, rsi
lea rdi, [rsp + 0x5c]
mov qword [rsp + 0x30], rsi
mov r9, rdi
mov rsi, r15
mov rdi, rbx
mov r14d, 0xd0
mov rax, qword [rdx + 0x78]
mov r15, r13
add rax, 1
mov qword [rdx + 0x78], rax
lea rax, [rsp + 0x60]
sub r10, qword [rbx + 8]
mov qword [rsp + 0x40], rax
mov rbx, r10
mov r8d, 0x1000000
mov qword [rsp + 0x38], r9
mov rdx, r15
mov rcx, rsi
cmp r14, r8
mov qword [rsp + 0x70], rbx
cmovbe r8, r14
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x78], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r9, qword [rsp + 0x38]
test eax, eax
je 0x140140060
mov eax, dword [rsp + 0x5c]
cmp r14, rax
jne 0x140140188
mov r15, rsi
mov rsi, qword [rsp + 0x30]
mov rbx, rdi
mov rdi, r9
and r12d, 0x40000
jne 0x14013f798
cmp r15, qword [rbx + 0x10]
jne 0x14013f798
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x14013f798
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
call r14
mov r11d, eax
test eax, eax
je 0x14013f798
nop word [rax + rax]
mov qword [rsp + 0x48], r14
sub rsi, qword [rbx + 8]
mov r14, rdi
mov r12d, 0xd0
lea r13, [rsp + 0x80]
mov edi, r11d
mov r8d, 0x1000000
mov r9, r14
mov rdx, r13
mov rcx, r15
mov rax, qword [rsp + 0x40]
cmp r12, r8
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 0
cmovbe r8, r12
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1401401d1
mov eax, dword [rsp + 0x5c]
cmp r12, rax
jne 0x1401401e7
mov r11d, edi
or dword [rbx + 4], 0x80000000
jmp 0x14013f7d5
movzx ecx, byte [rbx + 0x80]
mov edx, dword [r13 + 0x24]
mov dword [rsp + 0x30], r8d
mov eax, dword [rbx + 0x88]
mov qword [rsp + 0x38], r10
shl rdx, cl
mov rcx, qword [rbx + 8]
lea rdx, [rax + rdx - 1]
neg rax
and rdx, rax
call qword [sym.imp.KERNEL32.dll_FlushViewOfFile]
mov r10, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
test eax, eax
jne 0x14013f5a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r10, qword [rsp + 0x38]
mov r11d, eax
test eax, eax
jne 0x14013fbb9
jmp 0x14013f5af
mov rdx, qword [rbx + 8]
movzx ecx, byte [rbx + 0x80]
mov r8d, 1
shl r8, cl
lea rax, [rdx + 0x14]
lea r9, [rdx + r8 + 0x14]
mov r8d, 2
shl r8, cl
mov rcx, qword [rdx + 0x1c]
lea r11, [rdx + r8 + 0x14]
mov r8, qword [rdx + 0xc4]
cmp rcx, r8
mov ecx, 0
cmovne r8, rcx
mov rcx, qword [r9 + 8]
mov qword [rsp + 0x38], rcx
mov rcx, qword [r9 + 0xb0]
cmp qword [rsp + 0x38], rcx
mov rcx, qword [r9 + 0xa8]
je 0x14013fd90
mov rdx, qword [rdx + 0xbc]
cmp rcx, 1
seta cl
cmp rdx, 1
seta dl
cmp dl, cl
jne 0x14013fcaa
test r8, r8
jne 0x14013fcb0
test cl, cl
cmovne rax, r9
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0xb0]
cmp rcx, rdx
mov ecx, 0
cmovne rdx, rcx
mov r8, qword [r11 + 8]
mov rcx, qword [r11 + 0xb0]
cmp r8, rcx
mov rcx, qword [r11 + 0xa8]
je 0x14013ff98
mov r8, qword [rax + 0xa8]
cmp rcx, 1
seta cl
cmp r8, 1
seta r8b
cmp r8b, cl
jne 0x14013fd02
test rdx, rdx
jne 0x14013fd08
test cl, cl
cmovne rax, r11
mov eax, dword [rax + 0x20]
test r12d, 0x40000
jne 0x14013ff10
mov rax, qword [rbx + 0x70]
mov r8d, 1
jmp 0x14013f589
mov qword [rsp + 0x38], r10
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov r10, qword [rsp + 0x38]
test eax, eax
jne 0x14013f5af
jmp 0x14013fc0d
xor eax, eax
mov rcx, qword [rdi + 0xa8]
cmp rcx, 1
mov rcx, qword [r14 + 0xbc]
seta r8b
cmp rcx, 1
seta cl
cmp cl, r8b
jne 0x14013f634
cmp rdx, rax
je 0x14013f634
cmova rdi, r10
jmp 0x14013f63b
mov rdx, qword [rdx + 0xbc]
cmp rcx, 1
seta cl
cmp rdx, 1
seta dl
cmp dl, cl
jne 0x14013fcaa
mov rdx, qword [rsp + 0x38]
cmp rdx, r8
je 0x14013fcaa
cmova rax, r9
jmp 0x14013fcb0
mov rax, qword [rsi + 8]
mov rdx, qword [rsi + 0xb0]
test rax, rax
je 0x1402247b1
cmp rax, rdx
jne 0x1402247b1
mov rdx, qword [r13 + 8]
mov rcx, qword [r13 + 0xb0]
cmp rdx, rcx
jne 0x1402247b1
cmp rax, rdx
jne 0x1402247b1
mov rdx, qword [rsi + 0xa8]
mov rax, qword [r13 + 0xa8]
cmp rdx, 1
seta dl
cmp rax, 1
seta al
cmp dl, al
jne 0x1402247b1
nop word cs:[rax + rax]
xor r11d, r11d
jmp 0x14013f7d5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r11d, eax
test eax, eax
je 0x14013f798
jmp 0x14013fbb9
cmp rcx, rax
je 0x14013ffd0
mov rax, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp rdx, rax
je 0x140140018
mov rax, qword [r15 + 0xa8]
cmp rax, 1
mov rax, qword [r14 + 0xbc]
seta r8b
mov rdi, r10
test r8b, r8b
jne 0x14013f63b
cmp r15, rsi
je 0x14013f992
mov rdi, r15
jmp 0x14013f63b
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp r8, rdx
je 0x14013fd52
mov rax, qword [rdi + 0xa8]
cmp rax, 1
mov rax, qword [r14 + 0xbc]
seta r8b
cmp rax, 1
seta al
cmp al, r8b
jne 0x14013f634
test rcx, rcx
jne 0x14013f63b
jmp 0x14013f634
mov r15, qword [rbx + 0x10]
jmp 0x14013fa74
mov rax, qword [rbx + 0x70]
mov r8d, 5
jmp 0x14013f589
mov eax, dword [rax + 0x90]
cmp edx, eax
ja 0x14013f863
jmp 0x14013f8b9
mov rcx, qword [rdi + 8]
mov rax, qword [rdi + 0xb0]
cmp rcx, rax
cmovne rax, rdx
mov rcx, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp rcx, rdx
mov rdx, qword [r15 + 0xa8]
je 0x1401401a0
mov rcx, qword [rdi + 0xa8]
cmp rdx, 1
seta dl
cmp rcx, 1
seta cl
cmp cl, dl
jne 0x14013ff87
test rax, rax
jne 0x14013fe9f
test dl, dl
cmovne r15, rdi
jmp 0x14013fe9f
mov r9, qword [rax + 0xa8]
cmp rcx, 1
seta cl
cmp r9, 1
seta r9b
cmp r9b, cl
jne 0x14013fd02
cmp r8, rdx
je 0x14013fd02
cmova rax, r11
jmp 0x14013fd08
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp r8, rdx
je 0x14014001a
mov rax, qword [r15 + 0xa8]
cmp rax, 1
mov rax, qword [r14 + 0xbc]
seta r8b
cmp rax, 1
seta al
cmp al, r8b
jne 0x14013fe93
test rcx, rcx
jne 0x14013fe9f
jmp 0x14013fe93
xor eax, eax
mov rcx, qword [r15 + 0xa8]
cmp rcx, 1
mov rcx, qword [r14 + 0xbc]
seta r8b
cmp rcx, 1
seta cl
cmp cl, r8b
jne 0x14013fe93
cmp rax, rdx
je 0x14013fe93
jae 0x14013fe9f
mov rdi, r10
jmp 0x14013f63b
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15, rsi
mov rbx, rdi
mov rsi, qword [rsp + 0x30]
mov rdi, r9
call r14
mov r11d, eax
test eax, eax
jne 0x14013fb50
jmp 0x14013fb0d
xor edx, edx
mov rax, qword [rsi + 0xb0]
cmp qword [rsi + 8], rax
cmovne rax, rdx
cmp qword [r13 + 8], rax
jne 0x1402249ff
mov rax, qword [rsi + 0xa8]
cmp rax, 1
ja 0x1402249ff
mov rax, qword [r13 + 0xa8]
cmp rax, 1
jbe 0x1402249ff
mov rdx, qword [rsi + 0x14]
mov rax, qword [rsi + 0x1c]
xor rdx, qword [r13 + 0x14]
xor rax, qword [r13 + 0x1c]
or rax, rdx
jne 0x1401400eb
mov eax, dword [r13 + 0x24]
cmp dword [rsi + 0x24], eax
je 0x140140104
mov r8d, 0x391a
lea rdx, str.mdbx_sync_locked
lea rcx, str.memcmp_head__mm_geo__pending__mm_geo__sizeof_head__mm_geo____0
call fcn.14021f700
lea rdx, [r13 + 0x28]
lea rcx, [rsi + 0x28]
mov r8d, 0x60
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140224793
mov rdx, qword [rsi + 0x88]
mov rax, qword [rsi + 0x90]
xor rdx, qword [r13 + 0x88]
xor rax, qword [r13 + 0x90]
or rax, rdx
jne 0x140140161
mov rdx, qword [rsi + 0x98]
mov rax, qword [rsi + 0xa0]
xor rdx, qword [r13 + 0x98]
xor rax, qword [r13 + 0xa0]
or rax, rdx
je 0x14014017a
mov r8d, 0x391e
lea rdx, str.mdbx_sync_locked
lea rcx, str.memcmp_head__mm_canary__pending__mm_canary__sizeof_head__mm_canary____0
call fcn.14021f700
mov rdi, rsi
jmp 0x14013f72c
sub r14, rax
add rbx, rax
add r15, rax
mov rax, qword [rsp + 0x40]
jmp 0x14013fab4
mov r8, qword [rdi + 0xa8]
cmp rdx, 1
seta dl
cmp r8, 1
seta r8b
cmp r8b, dl
jne 0x14013ff87
cmp rcx, rax
je 0x14013ff87
cmova r15, rdi
jmp 0x14013fe9f
mov dword [rsp + 0x40], edi
mov r14, qword [rsp + 0x48]
call r14
mov r11d, dword [rsp + 0x40]
jmp 0x14013fbb9
sub r12, rax
add rsi, rax
add r13, rax
jmp 0x14013fb6d
mov rsi, rdi
jmp 0x14013f9af
cmp rcx, 2
cmovae rsi, r15
jmp 0x14013f542
cmp rcx, 1
seta al
jmp 0x14013f502
mov r8d, 0x38f2
lea rdx, str.mdbx_sync_locked
lea rcx, str.target__head__constmeta_txnid_env__target____unaligned_peek_u64_4__pending__mm_txnid_a_
call fcn.14021f700
jmp 0x14013f656
mov edx, dword [r13 + 0x24]
mov r9d, dword [r13 + 0x1c]
mov rcx, rbx
mov r8d, dword [r13 + 0x20]
call fcn.140224710
mov r11d, eax
cmp eax, 1
ja 0x14013fbb9
jmp 0x14013f7bb
mov r8d, 0x391c
lea rdx, str.mdbx_sync_locked
lea rcx, str.memcmp_head__mm_dbs__pending__mm_dbs__sizeof_head__mm_dbs____0
call fcn.14021f700
jmp 0x14014011f
mov r8d, 0x38bf
lea rdx, str.mdbx_sync_locked
lea rcx, str.meta_eq_env__head__pending_
call fcn.14021f700
xor r11d, r11d
jmp 0x14013f7d5
mov eax, dword [r13 + 0x24]
mov edx, dword [rsi + 0x24]
mov rcx, rbx
mov qword [rsp + 0x48], r10
cmp eax, edx
cmovae edx, eax
call fcn.14021ca60
movzx r11d, word [r13 + 0x2a]
mov r10, qword [rsp + 0x48]
mov r8d, eax
movzx eax, word [r13 + 0x16]
add r11d, 1
test ax, ax
lea r11d, [r11 + r11*2]
je 0x140224a1d
mov r9d, dword [r13 + 0x20]
mov edx, eax
and dx, 0x8001
mov ecx, r9d
sub ecx, dword [r13 + 0x24]
mov dword [rsp + 0x48], ecx
movzx ecx, ax
cmp dx, 0x8001
je 0x140224a2a
mov edx, ecx
mov eax, edx
add eax, r11d
cmp r9d, r8d
jbe 0x140224a46
cmp dword [rsp + 0x48], eax
jbe 0x140224a46
mov ecx, r9d
sub ecx, r8d
cmp eax, ecx
jae 0x140224a53
movzx eax, word [r13 + 0x14]
test ax, ax
je 0x14022487b
mov edx, eax
movzx ecx, ax
and dx, 0x8001
cmp dx, 0x8001
je 0x140224a6d
mov edx, ecx
mov dword [rsp + 0x48], edx
lea eax, [r8 + r11]
movzx ecx, byte [rbx + 0x80]
lea r8d, [rax + rdx]
xor edx, edx
mov r11d, dword [rbx + 0x88]
div dword [rsp + 0x48]
mov eax, dword [r13 + 0x18]
sub r8d, edx
shl r8, cl
lea rdx, [r11 + r8 - 1]
neg r11
and rdx, r11
shr rdx, cl
cmp edx, eax
cmovb edx, eax
cmp r9d, edx
jbe 0x140224a60
mov rcx, rbx
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x48], edx
call fcn.140220030
mov edx, dword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov rax, qword [rax + 0xa8]
cmp rax, 1
jbe 0x1402248ef
and r12d, 0x40080000
mov eax, dword [r13 + 0x20]
mov dword [r13 + 0x20], edx
sub eax, edx
mov dword [rsp + 0x48], eax
mov rax, qword [rsi + 0xb0]
cmp qword [rsi + 8], rax
jne 0x140224a89
cmp qword [r13 + 8], rax
jne 0x14013f561
lea rcx, [rax + 1]
cmp byte [0x1403eba28], 2
mov qword [rsp + 0x40], rcx
jbe 0x14022495c
mov qword [rsp + 0x28], rcx
lea r9, str.force_forward_pending_txn__lli_____lli_n
mov ecx, 3
mov r8d, 0x387b
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_sync_locked
mov qword [rsp + 0x38], r10
call fcn.14021e730
mov r10, qword [rsp + 0x38]
mov rax, qword [rbx + 0xb0]
mov qword [rsp + 0x30], r10
mov rax, qword [rax + 0x70]
mov qword [rsp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r10, qword [rsp + 0x30]
mov eax, eax
cmp qword [rsp + 0x38], rax
jne 0x140224a90
mov r8d, 0x387d
lea rdx, str.mdbx_sync_locked
mov qword [rsp + 0x38], r10
lea rcx, str.env__me_txn0__mt_owner___mdbx_thread_self_____env__me_txn
call fcn.14021f700
mov r10, qword [rsp + 0x38]
movabs rax, 0xfffffffeffffffff
cmp qword [rsp + 0x40], rax
jbe 0x140224aa3
cmp byte [0x1403eba28], 0
je 0x140224ac8
mov dword [rsp + 0x20], 0xffff87bc
lea r9, str.txnid_overflow__raise__d_n
mov r8d, 0x3881
lea rdx, str.mdbx_sync_locked
mov ecx, 1
call fcn.14021e730
mov r11d, 0xffff87bc
jmp 0x14013fbb9
mov r8d, 0x3917
lea rdx, str.mdbx_sync_locked
lea rcx, str.constmeta_txnid_env__head___unaligned_peek_u64_4__pending__mm_txnid_a____META_IS_STEADY_head___META_IS_STEADY_pending_
call fcn.14021f700
jmp 0x1401400cd
mov dword [rsp + 0x48], 0
jmp 0x14013f561
add ax, 1
jne 0x140224a3a
mov edx, 0x10000
jmp 0x140224834
call fcn.14021d590
mov edx, eax
jmp 0x140224834
mov dword [rsp + 0x48], 0
jmp 0x14013f561
mov dword [rsp + 0x48], 0
jmp 0x14013f561
mov dword [rsp + 0x48], 0
jmp 0x14013f561
add ax, 1
jne 0x140224a7d
mov edx, 0x10000
jmp 0x14022487b
call fcn.14021d590
mov edx, eax
jmp 0x14022487b
xor eax, eax
jmp 0x14022490e
cmp qword [rbx + 0x138], 0
jne 0x140224989
jmp 0x1402249ac
movdqa xmm0, xmmword [0x1403ec470]
mov rax, qword [rsp + 0x40]
movups xmmword [r13 + 0xc0], xmm0
mov qword [r13 + 8], rax
mov qword [r13 + 0xb0], rax
jmp 0x14013f561
mov r11d, 0xffff87bc
jmp 0x14013fbb9