Function at 0x14013c2f0
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 0x14013c790
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp rdx, rax
je 0x14013c660
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 0x14013c68d
mov rax, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp rax, rdx
je 0x14013c7c0
mov rax, qword [r15 + 0xa8]
cmp rax, 2
cmovae rsi, r15
test r12d, 0x10000
jne 0x14013c6c0
mov eax, r12d
and eax, 0x40000000
mov dword [rsp + 0x48], eax
jne 0x1402224f2
mov rax, qword [rbx + 0x70]
mov edx, dword [rax + 0x90]
test edx, edx
je 0x14013c738
mov ecx, r12d
xor r8d, r8d
and ecx, 0x10000
mov dword [rsp + 0x40], ecx
je 0x14013ca98
mov rdx, qword [rax + 0x78]
add rdx, 1
mov qword [rax + 0x78], rdx
test r12d, 0x80000
jne 0x14013ca38
mov rcx, qword [rbx + 0x10]
test r8d, r8d
jne 0x14013cba0
mov edx, dword [rsp + 0x40]
test edx, edx
je 0x14013c738
mov rax, qword [0x1402b5520]
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 0x14013c7e0
cmp r10, rsi
je 0x14013cda8
mov rcx, qword [r14 + 0x1c]
mov rax, qword [r14 + 0xc4]
cmp rdi, rsi
je 0x14013ccd0
cmp rcx, rax
je 0x14013cd20
mov rax, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp rdx, rax
je 0x14013cbc0
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 0x140222470
mov rdx, qword [rbx + 0x70]
mov rax, qword [rdx + 0x78]
add rax, 1
mov qword [rdx + 0x78], rax
test r12d, 0x80000
je 0x14013d065
mov rax, qword [r13 + 8]
mov qword [rdi + 0xb0], 0
mov qword [rdi + 8], rax
mov rax, qword [0x1402b5520]
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 [0x1403e9450]
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 0x14013ccb0
mov rcx, qword [rbx + 0x10]
test esi, esi
je 0x14013c608
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
je 0x14013ccb0
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 0x14022248e
mov rax, qword [rbx + 0x40]
test rax, rax
je 0x14013cca0
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 0x14013d07a
mov rsi, rdi
cmovae rsi, r10
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0xb0]
cmp rcx, rax
jne 0x14013c38f
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp r8, rdx
je 0x14013c7c2
mov rax, qword [r15 + 0xa8]
test rcx, rcx
je 0x14013c3aa
test r12d, 0x10000
je 0x14013c3bf
nop
mov rax, qword [rbx + 0x70]
mov edx, dword [rax + 0x10]
mov r8, qword [rax + 0x18]
test edx, edx
jne 0x14013cd90
test r8, r8
je 0x14013c3bf
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 0x14013c3bf
and r12d, 0x40080000
jmp 0x14013c3bf
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 [0x1402b5550]
mov qword [r13 + 0xa8], rax
mov rax, qword [rbx + 0x70]
mov dword [rax + 0x90], 0
mov r10, qword [rsp + 0x40]
jmp 0x14013c439
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp r8, rdx
je 0x14013c662
mov rax, qword [rdi + 0xa8]
mov rsi, r10
test rcx, rcx
jne 0x14013c37b
jmp 0x14013c36b
xor eax, eax
mov rcx, qword [r15 + 0xa8]
cmp rax, rdx
je 0x14013d06d
cmovb rsi, r15
jmp 0x14013c3b2
mov rax, qword [rsi + 0xa8]
cmp rax, 1
ja 0x14013cc38
mov rax, qword [r13 + 0xa8]
cmp rax, 1
jbe 0x14013cc38
mov rdx, qword [rbx + 0x70]
mov rax, qword [rdx + 0x78]
add rax, 1
mov qword [rdx + 0x78], rax
test r12d, 0x80000
jne 0x14013cf00
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 0x14013cd70
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 0x14013ced0
mov eax, dword [rsp + 0x5c]
cmp r14, rax
jne 0x14013cff8
mov r15, rsi
mov rsi, qword [rsp + 0x30]
mov rbx, rdi
mov rdi, r9
and r12d, 0x40000
jne 0x14013c608
cmp r15, qword [rbx + 0x10]
jne 0x14013c608
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne 0x14013c608
mov r14, qword [sym.imp.KERNEL32.dll_GetLastError]
call r14
mov r11d, eax
test eax, eax
je 0x14013c608
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 0x14013d041
mov eax, dword [rsp + 0x5c]
cmp r12, rax
jne 0x14013d057
mov r11d, edi
or dword [rbx + 4], 0x80000000
jmp 0x14013c645
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 0x14013c412
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r10, qword [rsp + 0x38]
mov r11d, eax
test eax, eax
jne 0x14013ca29
jmp 0x14013c41f
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 0x14013cc00
mov rdx, qword [rdx + 0xbc]
cmp rcx, 1
seta cl
cmp rdx, 1
seta dl
cmp dl, cl
jne 0x14013cb1a
test r8, r8
jne 0x14013cb20
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 0x14013ce08
mov r8, qword [rax + 0xa8]
cmp rcx, 1
seta cl
cmp r8, 1
seta r8b
cmp r8b, cl
jne 0x14013cb72
test rdx, rdx
jne 0x14013cb78
test cl, cl
cmovne rax, r11
mov eax, dword [rax + 0x20]
test r12d, 0x40000
jne 0x14013cd80
mov rax, qword [rbx + 0x70]
mov r8d, 1
jmp 0x14013c3f9
mov qword [rsp + 0x38], r10
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov r10, qword [rsp + 0x38]
test eax, eax
jne 0x14013c41f
jmp 0x14013ca7d
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 0x14013c4a4
cmp rdx, rax
je 0x14013c4a4
cmova rdi, r10
jmp 0x14013c4ab
mov rdx, qword [rdx + 0xbc]
cmp rcx, 1
seta cl
cmp rdx, 1
seta dl
cmp dl, cl
jne 0x14013cb1a
mov rdx, qword [rsp + 0x38]
cmp rdx, r8
je 0x14013cb1a
cmova rax, r9
jmp 0x14013cb20
mov rax, qword [rsi + 8]
mov rdx, qword [rsi + 0xb0]
test rax, rax
je 0x1402224d1
cmp rax, rdx
jne 0x1402224d1
mov rdx, qword [r13 + 8]
mov rcx, qword [r13 + 0xb0]
cmp rdx, rcx
jne 0x1402224d1
cmp rax, rdx
jne 0x1402224d1
mov rdx, qword [rsi + 0xa8]
mov rax, qword [r13 + 0xa8]
cmp rdx, 1
seta dl
cmp rax, 1
seta al
cmp dl, al
jne 0x1402224d1
nop word cs:[rax + rax]
xor r11d, r11d
jmp 0x14013c645
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r11d, eax
test eax, eax
je 0x14013c608
jmp 0x14013ca29
cmp rcx, rax
je 0x14013ce40
mov rax, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp rdx, rax
je 0x14013ce88
mov rax, qword [r15 + 0xa8]
cmp rax, 1
mov rax, qword [r14 + 0xbc]
seta r8b
mov rdi, r10
test r8b, r8b
jne 0x14013c4ab
cmp r15, rsi
je 0x14013c802
mov rdi, r15
jmp 0x14013c4ab
mov r8, qword [rdi + 8]
mov rdx, qword [rdi + 0xb0]
cmp r8, rdx
je 0x14013cbc2
mov rax, qword [rdi + 0xa8]
cmp rax, 1
mov rax, qword [r14 + 0xbc]
seta r8b
cmp rax, 1
seta al
cmp al, r8b
jne 0x14013c4a4
test rcx, rcx
jne 0x14013c4ab
jmp 0x14013c4a4
mov r15, qword [rbx + 0x10]
jmp 0x14013c8e4
mov rax, qword [rbx + 0x70]
mov r8d, 5
jmp 0x14013c3f9
mov eax, dword [rax + 0x90]
cmp edx, eax
ja 0x14013c6d3
jmp 0x14013c729
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 0x14013d010
mov rcx, qword [rdi + 0xa8]
cmp rdx, 1
seta dl
cmp rcx, 1
seta cl
cmp cl, dl
jne 0x14013cdf7
test rax, rax
jne 0x14013cd0f
test dl, dl
cmovne r15, rdi
jmp 0x14013cd0f
mov r9, qword [rax + 0xa8]
cmp rcx, 1
seta cl
cmp r9, 1
seta r9b
cmp r9b, cl
jne 0x14013cb72
cmp r8, rdx
je 0x14013cb72
cmova rax, r11
jmp 0x14013cb78
mov r8, qword [r15 + 8]
mov rdx, qword [r15 + 0xb0]
cmp r8, rdx
je 0x14013ce8a
mov rax, qword [r15 + 0xa8]
cmp rax, 1
mov rax, qword [r14 + 0xbc]
seta r8b
cmp rax, 1
seta al
cmp al, r8b
jne 0x14013cd03
test rcx, rcx
jne 0x14013cd0f
jmp 0x14013cd03
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 0x14013cd03
cmp rax, rdx
je 0x14013cd03
jae 0x14013cd0f
mov rdi, r10
jmp 0x14013c4ab
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 0x14013c9c0
jmp 0x14013c97d
xor edx, edx
mov rax, qword [rsi + 0xb0]
cmp qword [rsi + 8], rax
cmovne rax, rdx
cmp qword [r13 + 8], rax
jne 0x14022271f
mov rax, qword [rsi + 0xa8]
cmp rax, 1
ja 0x14022271f
mov rax, qword [r13 + 0xa8]
cmp rax, 1
jbe 0x14022271f
mov rdx, qword [rsi + 0x14]
mov rax, qword [rsi + 0x1c]
xor rdx, qword [r13 + 0x14]
xor rax, qword [r13 + 0x1c]
or rax, rdx
jne 0x14013cf5b
mov eax, dword [r13 + 0x24]
cmp dword [rsi + 0x24], eax
je 0x14013cf74
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.14021d420
lea rdx, [r13 + 0x28]
lea rcx, [rsi + 0x28]
mov r8d, 0x60
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1402224b3
mov rdx, qword [rsi + 0x88]
mov rax, qword [rsi + 0x90]
xor rdx, qword [r13 + 0x88]
xor rax, qword [r13 + 0x90]
or rax, rdx
jne 0x14013cfd1
mov rdx, qword [rsi + 0x98]
mov rax, qword [rsi + 0xa0]
xor rdx, qword [r13 + 0x98]
xor rax, qword [r13 + 0xa0]
or rax, rdx
je 0x14013cfea
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.14021d420
mov rdi, rsi
jmp 0x14013c59c
sub r14, rax
add rbx, rax
add r15, rax
mov rax, qword [rsp + 0x40]
jmp 0x14013c924
mov r8, qword [rdi + 0xa8]
cmp rdx, 1
seta dl
cmp r8, 1
seta r8b
cmp r8b, dl
jne 0x14013cdf7
cmp rcx, rax
je 0x14013cdf7
cmova r15, rdi
jmp 0x14013cd0f
mov dword [rsp + 0x40], edi
mov r14, qword [rsp + 0x48]
call r14
mov r11d, dword [rsp + 0x40]
jmp 0x14013ca29
sub r12, rax
add rsi, rax
add r13, rax
jmp 0x14013c9dd
mov rsi, rdi
jmp 0x14013c81f
cmp rcx, 2
cmovae rsi, r15
jmp 0x14013c3b2
cmp rcx, 1
seta al
jmp 0x14013c372
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.14021d420
jmp 0x14013c4c6
mov edx, dword [r13 + 0x24]
mov r9d, dword [r13 + 0x1c]
mov rcx, rbx
mov r8d, dword [r13 + 0x20]
call fcn.140222430
mov r11d, eax
cmp eax, 1
ja 0x14013ca29
jmp 0x14013c62b
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.14021d420
jmp 0x14013cf8f
mov r8d, 0x38bf
lea rdx, str.mdbx_sync_locked
lea rcx, str.meta_eq_env__head__pending_
call fcn.14021d420
xor r11d, r11d
jmp 0x14013c645
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.14021a780
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 0x14022273d
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 0x14022274a
mov edx, ecx
mov eax, edx
add eax, r11d
cmp r9d, r8d
jbe 0x140222766
cmp dword [rsp + 0x48], eax
jbe 0x140222766
mov ecx, r9d
sub ecx, r8d
cmp eax, ecx
jae 0x140222773
movzx eax, word [r13 + 0x14]
test ax, ax
je 0x14022259b
mov edx, eax
movzx ecx, ax
and dx, 0x8001
cmp dx, 0x8001
je 0x14022278d
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 0x140222780
mov rcx, rbx
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x48], edx
call fcn.14021dd50
mov edx, dword [rsp + 0x48]
mov r10, qword [rsp + 0x40]
mov rax, qword [rax + 0xa8]
cmp rax, 1
jbe 0x14022260f
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 0x1402227a9
cmp qword [r13 + 8], rax
jne 0x14013c3d1
lea rcx, [rax + 1]
cmp byte [0x1403e8a08], 2
mov qword [rsp + 0x40], rcx
jbe 0x14022267c
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.14021c450
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 0x1402227b0
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.14021d420
mov r10, qword [rsp + 0x38]
movabs rax, 0xfffffffeffffffff
cmp qword [rsp + 0x40], rax
jbe 0x1402227c3
cmp byte [0x1403e8a08], 0
je 0x1402227e8
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.14021c450
mov r11d, 0xffff87bc
jmp 0x14013ca29
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.14021d420
jmp 0x14013cf3d
mov dword [rsp + 0x48], 0
jmp 0x14013c3d1
add ax, 1
jne 0x14022275a
mov edx, 0x10000
jmp 0x140222554
call fcn.14021b2b0
mov edx, eax
jmp 0x140222554
mov dword [rsp + 0x48], 0
jmp 0x14013c3d1
mov dword [rsp + 0x48], 0
jmp 0x14013c3d1
mov dword [rsp + 0x48], 0
jmp 0x14013c3d1
add ax, 1
jne 0x14022279d
mov edx, 0x10000
jmp 0x14022259b
call fcn.14021b2b0
mov edx, eax
jmp 0x14022259b
xor eax, eax
jmp 0x14022262e
cmp qword [rbx + 0x138], 0
jne 0x1402226a9
jmp 0x1402226cc
movdqa xmm0, xmmword [0x1403e9450]
mov rax, qword [rsp + 0x40]
movups xmmword [r13 + 0xc0], xmm0
mov qword [r13 + 8], rax
mov qword [r13 + 0xb0], rax
jmp 0x14013c3d1
mov r11d, 0xffff87bc
jmp 0x14013ca29