Function at 0x14013d130
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 0x14013d5d0
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp rdx, rax
je 0x14013d4a0
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 0x14013d4cd
mov rax, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp rax, rdx
je 0x14013d600
mov rax, qword [r15 + 0xa8]
cmp rax, 2
cmovae rsi, r15
test r12d, 0x10000
jne 0x14013d500
mov eax, r12d
and eax, 0x40000000
mov dword [rsp + 0x48], eax
jne 0x140223fb2
mov rax, qword [rbx + 0x70]
mov edx, dword [rax + 0x90]
test edx, edx
je 0x14013d578
mov ecx, r12d
xor r8d, r8d
and ecx, 0x10000
mov dword [rsp + 0x40], ecx
je 0x14013d8d8
mov rdx, qword [rax + 0x78]
add rdx, 1
mov qword [rax + 0x78], rdx
test r12d, 0x80000
jne 0x14013d878
mov rcx, qword [rbx + 0x10]
test r8d, r8d
jne 0x14013d9e0
mov edx, dword [rsp + 0x40]
test edx, edx
je 0x14013d578
mov rax, qword [0x1402b7220]
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 0x14013d620
cmp r10, rsi
je 0x14013dbe8
mov rcx, qword [r14 + 0x1c]
mov rax, qword [r14 + 0xc4]
cmp rdi, rsi
je 0x14013db10
cmp rcx, rax
je 0x14013db60
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp rdx, rax
je 0x14013da00
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 0x140223f30
mov rdx, qword [rbx + 0x70]
mov rax, qword [rdx + 0x78]
add rax, 1
mov qword [rdx + 0x78], rax
test r12d, 0x80000
je 0x14013dea5
mov rax, qword [r13 + 8]
mov qword [rdi + 0xb0], 0
mov qword [rdi + 8], rax
mov rax, qword [0x1402b7220]
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 [0x1403ec450]
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 0x14013daf0
mov rcx, qword [rbx + 0x10]
test esi, esi
je 0x14013d448
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
je 0x14013daf0
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 0x140223f4e
mov rax, qword [rbx + 0x40]
test rax, rax
je 0x14013dae0
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 0x14013deba
mov rsi, rdi
cmovae rsi, r10
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0xb0]
cmp rcx, rax
jne 0x14013d1cf
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp r8, rdx
je 0x14013d602
mov rax, qword [r15 + 0xa8]
test rcx, rcx
je 0x14013d1ea
test r12d, 0x10000
je 0x14013d1ff
nop
mov rax, qword [rbx + 0x70]
mov edx, dword [rax + 0x10]
mov r8, qword [rax + 0x18]
test edx, edx
jne 0x14013dbd0
test r8, r8
je 0x14013d1ff
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 0x14013d1ff
and r12d, 0x40080000
jmp 0x14013d1ff
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 [0x1402b7250]
mov qword [r13 + 0xa8], rax
mov rax, qword [rbx + 0x70]
mov dword [rax + 0x90], 0
mov r10, qword [rsp + 0x40]
jmp 0x14013d279
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp r8, rdx
je 0x14013d4a2
mov rax, qword [rdi + 0xa8]
mov rsi, r10
test rcx, rcx
jne 0x14013d1bb
jmp 0x14013d1ab
xor eax, eax
mov rcx, qword [r15 + 0xa8]
cmp rax, rdx
je 0x14013dead
cmovb rsi, r15
jmp 0x14013d1f2
mov rax, qword [rsi + 0xa8]
cmp rax, 1
ja 0x14013da78
mov rax, qword [r13 + 0xa8]
cmp rax, 1
jbe 0x14013da78
mov rdx, qword [rbx + 0x70]
mov rax, qword [rdx + 0x78]
add rax, 1
mov qword [rdx + 0x78], rax
test r12d, 0x80000
jne 0x14013dd40
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 0x14013dbb0
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 0x14013dd10
mov eax, dword [rsp + 0x5c]
cmp r14, rax
jne 0x14013de38
mov r15, rsi
mov rsi, qword [rsp + 0x30]
mov rbx, rdi
mov rdi, r9
and r12d, 0x40000
jne 0x14013d448
cmp r15, qword [rbx + 0x10]
jne 0x14013d448
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x14013d448
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
call r14
mov r11d, eax
test eax, eax
je 0x14013d448
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 0x14013de81
mov eax, dword [rsp + 0x5c]
cmp r12, rax
jne 0x14013de97
mov r11d, edi
or dword [rbx + 4], 0x80000000
jmp 0x14013d485
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 0x14013d252
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r10, qword [rsp + 0x38]
mov r11d, eax
test eax, eax
jne 0x14013d869
jmp 0x14013d25f
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 0x14013da40
mov rdx, qword [rdx + 0xbc]
cmp rcx, 1
seta cl
cmp rdx, 1
seta dl
cmp dl, cl
jne 0x14013d95a
test r8, r8
jne 0x14013d960
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 0x14013dc48
mov r8, qword [rax + 0xa8]
cmp rcx, 1
seta cl
cmp r8, 1
seta r8b
cmp r8b, cl
jne 0x14013d9b2
test rdx, rdx
jne 0x14013d9b8
test cl, cl
cmovne rax, r11
mov eax, dword [rax + 0x20]
test r12d, 0x40000
jne 0x14013dbc0
mov rax, qword [rbx + 0x70]
mov r8d, 1
jmp 0x14013d239
mov qword [rsp + 0x38], r10
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov r10, qword [rsp + 0x38]
test eax, eax
jne 0x14013d25f
jmp 0x14013d8bd
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 0x14013d2e4
cmp rdx, rax
je 0x14013d2e4
cmova rdi, r10
jmp 0x14013d2eb
mov rdx, qword [rdx + 0xbc]
cmp rcx, 1
seta cl
cmp rdx, 1
seta dl
cmp dl, cl
jne 0x14013d95a
mov rdx, qword [rsp + 0x38]
cmp rdx, r8
je 0x14013d95a
cmova rax, r9
jmp 0x14013d960
mov rax, qword [rsi + 8]
mov rdx, qword [rsi + 0xb0]
test rax, rax
je 0x140223f91
cmp rax, rdx
jne 0x140223f91
mov rdx, qword [r13 + 8]
mov rcx, qword [r13 + 0xb0]
cmp rdx, rcx
jne 0x140223f91
cmp rax, rdx
jne 0x140223f91
mov rdx, qword [rsi + 0xa8]
mov rax, qword [r13 + 0xa8]
cmp rdx, 1
seta dl
cmp rax, 1
seta al
cmp dl, al
jne 0x140223f91
nop word cs:[rax + rax]
xor r11d, r11d
jmp 0x14013d485
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r11d, eax
test eax, eax
je 0x14013d448
jmp 0x14013d869
cmp rcx, rax
je 0x14013dc80
mov rax, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp rdx, rax
je 0x14013dcc8
mov rax, qword [r15 + 0xa8]
cmp rax, 1
mov rax, qword [r14 + 0xbc]
seta r8b
mov rdi, r10
test r8b, r8b
jne 0x14013d2eb
cmp r15, rsi
je 0x14013d642
mov rdi, r15
jmp 0x14013d2eb
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp r8, rdx
je 0x14013da02
mov rax, qword [rdi + 0xa8]
cmp rax, 1
mov rax, qword [r14 + 0xbc]
seta r8b
cmp rax, 1
seta al
cmp al, r8b
jne 0x14013d2e4
test rcx, rcx
jne 0x14013d2eb
jmp 0x14013d2e4
mov r15, qword [rbx + 0x10]
jmp 0x14013d724
mov rax, qword [rbx + 0x70]
mov r8d, 5
jmp 0x14013d239
mov eax, dword [rax + 0x90]
cmp edx, eax
ja 0x14013d513
jmp 0x14013d569
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 0x14013de50
mov rcx, qword [rdi + 0xa8]
cmp rdx, 1
seta dl
cmp rcx, 1
seta cl
cmp cl, dl
jne 0x14013dc37
test rax, rax
jne 0x14013db4f
test dl, dl
cmovne r15, rdi
jmp 0x14013db4f
mov r9, qword [rax + 0xa8]
cmp rcx, 1
seta cl
cmp r9, 1
seta r9b
cmp r9b, cl
jne 0x14013d9b2
cmp r8, rdx
je 0x14013d9b2
cmova rax, r11
jmp 0x14013d9b8
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp r8, rdx
je 0x14013dcca
mov rax, qword [r15 + 0xa8]
cmp rax, 1
mov rax, qword [r14 + 0xbc]
seta r8b
cmp rax, 1
seta al
cmp al, r8b
jne 0x14013db43
test rcx, rcx
jne 0x14013db4f
jmp 0x14013db43
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 0x14013db43
cmp rax, rdx
je 0x14013db43
jae 0x14013db4f
mov rdi, r10
jmp 0x14013d2eb
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 0x14013d800
jmp 0x14013d7bd
xor edx, edx
mov rax, qword [rsi + 0xb0]
cmp qword [rsi + 8], rax
cmovne rax, rdx
cmp qword [r13 + 8], rax
jne 0x1402241df
mov rax, qword [rsi + 0xa8]
cmp rax, 1
ja 0x1402241df
mov rax, qword [r13 + 0xa8]
cmp rax, 1
jbe 0x1402241df
mov rdx, qword [rsi + 0x14]
mov rax, qword [rsi + 0x1c]
xor rdx, qword [r13 + 0x14]
xor rax, qword [r13 + 0x1c]
or rax, rdx
jne 0x14013dd9b
mov eax, dword [r13 + 0x24]
cmp dword [rsi + 0x24], eax
je 0x14013ddb4
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.14021eee0
lea rdx, [r13 + 0x28]
lea rcx, [rsi + 0x28]
mov r8d, 0x60
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140223f73
mov rdx, qword [rsi + 0x88]
mov rax, qword [rsi + 0x90]
xor rdx, qword [r13 + 0x88]
xor rax, qword [r13 + 0x90]
or rax, rdx
jne 0x14013de11
mov rdx, qword [rsi + 0x98]
mov rax, qword [rsi + 0xa0]
xor rdx, qword [r13 + 0x98]
xor rax, qword [r13 + 0xa0]
or rax, rdx
je 0x14013de2a
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.14021eee0
mov rdi, rsi
jmp 0x14013d3dc
sub r14, rax
add rbx, rax
add r15, rax
mov rax, qword [rsp + 0x40]
jmp 0x14013d764
mov r8, qword [rdi + 0xa8]
cmp rdx, 1
seta dl
cmp r8, 1
seta r8b
cmp r8b, dl
jne 0x14013dc37
cmp rcx, rax
je 0x14013dc37
cmova r15, rdi
jmp 0x14013db4f
mov dword [rsp + 0x40], edi
mov r14, qword [rsp + 0x48]
call r14
mov r11d, dword [rsp + 0x40]
jmp 0x14013d869
sub r12, rax
add rsi, rax
add r13, rax
jmp 0x14013d81d
mov rsi, rdi
jmp 0x14013d65f
cmp rcx, 2
cmovae rsi, r15
jmp 0x14013d1f2
cmp rcx, 1
seta al
jmp 0x14013d1b2
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.14021eee0
jmp 0x14013d306
mov edx, dword [r13 + 0x24]
mov r9d, dword [r13 + 0x1c]
mov rcx, rbx
mov r8d, dword [r13 + 0x20]
call fcn.140223ef0
mov r11d, eax
cmp eax, 1
ja 0x14013d869
jmp 0x14013d46b
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.14021eee0
jmp 0x14013ddcf
mov r8d, 0x38bf
lea rdx, str.mdbx_sync_locked
lea rcx, str.meta_eq_env__head__pending_
call fcn.14021eee0
xor r11d, r11d
jmp 0x14013d485
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.14021c240
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 0x1402241fd
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 0x14022420a
mov edx, ecx
mov eax, edx
add eax, r11d
cmp r9d, r8d
jbe 0x140224226
cmp dword [rsp + 0x48], eax
jbe 0x140224226
mov ecx, r9d
sub ecx, r8d
cmp eax, ecx
jae 0x140224233
movzx eax, word [r13 + 0x14]
test ax, ax
je 0x14022405b
mov edx, eax
movzx ecx, ax
and dx, 0x8001
cmp dx, 0x8001
je 0x14022424d
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 0x140224240
mov rcx, rbx
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x48], edx
call fcn.14021f810
mov edx, dword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov rax, qword [rax + 0xa8]
cmp rax, 1
jbe 0x1402240cf
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 0x140224269
cmp qword [r13 + 8], rax
jne 0x14013d211
lea rcx, [rax + 1]
cmp byte [0x1403eba08], 2
mov qword [rsp + 0x40], rcx
jbe 0x14022413c
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.14021df10
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 0x140224270
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.14021eee0
mov r10, qword [rsp + 0x38]
movabs rax, 0xfffffffeffffffff
cmp qword [rsp + 0x40], rax
jbe 0x140224283
cmp byte [0x1403eba08], 0
je 0x1402242a8
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.14021df10
mov r11d, 0xffff87bc
jmp 0x14013d869
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.14021eee0
jmp 0x14013dd7d
mov dword [rsp + 0x48], 0
jmp 0x14013d211
add ax, 1
jne 0x14022421a
mov edx, 0x10000
jmp 0x140224014
call fcn.14021cd70
mov edx, eax
jmp 0x140224014
mov dword [rsp + 0x48], 0
jmp 0x14013d211
mov dword [rsp + 0x48], 0
jmp 0x14013d211
mov dword [rsp + 0x48], 0
jmp 0x14013d211
add ax, 1
jne 0x14022425d
mov edx, 0x10000
jmp 0x14022405b
call fcn.14021cd70
mov edx, eax
jmp 0x14022405b
xor eax, eax
jmp 0x1402240ee
cmp qword [rbx + 0x138], 0
jne 0x140224169
jmp 0x14022418c
movdqa xmm0, xmmword [0x1403ec450]
mov rax, qword [rsp + 0x40]
movups xmmword [r13 + 0xc0], xmm0
mov qword [r13 + 8], rax
mov qword [r13 + 0xb0], rax
jmp 0x14013d211
mov r11d, 0xffff87bc
jmp 0x14013d869