Function at 0x14013eaa0
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push rbp
mov rbp, rsp
push r15
mov r15, rcx
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x10
and rsp, 0xfffffffffffffff0
sub rsp, 0x690
mov qword [rbp + 0x18], rdx
movaps xmmword [rsp + 0x690], xmm6
test rdx, rdx
je 0x14013f260
lea r13, [rsp + 0x270]
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov qword [rsp + 0x270], 0
mov rcx, r13
call rdi
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x70], rax
test r15, r15
je 0x14013f608
cmp dword [r15], 0x93d53a31
jne 0x140140b36
mov eax, dword [r15 + 4]
mov edi, eax
and edi, 1
mov dword [rsp + 0x94], edi
jne 0x14013f2b0
test eax, 0x200000
je 0x14013f288
mov rax, qword [r15 + 0x40]
cmp qword [rax + 8], 0
mov qword [rsp + 0x98], rax
je 0x1401401c0
mov eax, dword [r15 + 4]
test al, 2
jne 0x140140020
and eax, 0x20000
mov dword [rsp + 0x90], eax
jne 0x140140198
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x14013eb8a
xor edx, edx
call fcn.14013eaa0
mov r8d, eax
test eax, eax
jne 0x140140180
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x138], r15
jne 0x1401401d0
mov r12, qword [r15 + 8]
test r12, r12
je 0x14013fc50
mov rax, qword [r15 + 0xc8]
mov ecx, dword [rax + 4]
test ecx, ecx
jne 0x14013ebc5
test byte [r15 + 4], 4
je 0x14013f5d8
mov rax, qword [r15 + 0xd8]
mov rsi, qword [r12 + 0xd8]
mov eax, dword [rax]
mov dword [rsp + 0x6c], esi
sub eax, esi
je 0x14013ebf8
mov rcx, qword [r15 + 0xa8]
mov eax, eax
mov edx, dword [rcx]
add rdx, rax
mov eax, dword [rcx - 4]
cmp rdx, rax
ja 0x140140672
mov r8, qword [r15 + 0xf0]
test r8, r8
je 0x14013ec6d
mov rax, qword [r12 + 0xf0]
mov r11d, dword [r8]
test rax, rax
je 0x14013ec28
mov edx, dword [rax]
mov ecx, r11d
mov eax, dword [rax - 4]
add rdx, rcx
cmp rdx, rax
ja 0x14014064b
mov ecx, dword [r15 + 0xf8]
cmp ecx, 0x7fffffff
je 0x14013ec6d
cmp ecx, r11d
ja 0x14013ec5c
mov edx, ecx
nop
mov eax, edx
mov r9d, ecx
add edx, 1
mov eax, dword [r8 + rax*4]
mov dword [r8 + r9*4], eax
not eax
and eax, 1
add ecx, eax
cmp edx, r11d
jbe 0x14013ec40
sub ecx, 1
mov dword [r8], ecx
mov dword [r15 + 0xf8], 0x7fffffff
mov rcx, qword [r12 + 0xc8]
mov rdx, qword [r15 + 0xc8]
mov eax, dword [rcx + 4]
add eax, dword [rdx + 4]
cmp eax, dword [rcx + 8]
ja 0x140140560
mov rax, qword [r15 + 0xd0]
mov qword [r12 + 0xd0], rax
mov rax, qword [r15 + 0xd8]
mov qword [r15 + 0xd0], 0
mov qword [r12 + 0xd8], rax
mov qword [r15 + 0xd8], 0
mov rcx, qword [r12 + 0xa8]
test rcx, rcx
je 0x14013ecd5
sub rcx, 4
call sub.msvcrt.dll_free
mov rax, qword [r15 + 0xa8]
mov edx, 1
mov rcx, r15
mov qword [r12 + 0xa8], rax
mov rax, qword [r15 + 0xb0]
mov qword [r15 + 0xa8], 0
mov qword [r12 + 0xb0], rax
movdqu xmm6, xmmword [r15 + 0x18]
movups xmmword [r12 + 0x18], xmm6
mov eax, dword [r15 + 0x28]
mov dword [r12 + 0x28], eax
movdqu xmm6, xmmword [r15 + 0x78]
movups xmmword [r12 + 0x78], xmm6
movdqu xmm6, xmmword [r15 + 0x88]
movups xmmword [r12 + 0x88], xmm6
mov eax, dword [r15 + 4]
and eax, 4
or dword [r12 + 4], eax
mov eax, dword [r15 + 0xb8]
mov dword [r12 + 0xb8], eax
mov eax, dword [r15 + 0xe8]
mov dword [r12 + 0xe8], eax
mov rax, qword [r15 + 0xe0]
mov qword [r12 + 0xe0], rax
call fcn.140134f10
mov eax, dword [r15 + 0x68]
mov rcx, qword [r12 + 0x50]
mov rdx, qword [r15 + 0x50]
lea r8, [rax + rax*2]
shl r8, 4
call sub.msvcrt.dll_memcpy
mov eax, dword [r15 + 0x68]
xor ecx, ecx
mov dword [r12 + 0x68], eax
test eax, eax
je 0x14013edc4
mov rdx, qword [r12 + 0x60]
mov r8d, ecx
mov r9, qword [r15 + 0x60]
add ecx, 1
add rdx, r8
movzx eax, byte [rdx]
and eax, 0xd
or al, byte [r9 + r8]
mov byte [rdx], al
cmp dword [r15 + 0x68], ecx
ja 0x14013eda0
cmp qword [rbp + 0x18], 0
je 0x14013f5b0
mov qword [rsp + 0x270], 0
lea rcx, [rsp + 0x270]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x78], rax
mov rax, qword [r15 + 0xc8]
mov qword [rsp + 0x80], rax
mov edi, dword [rax + 4]
cmp dword [rax], edi
jne 0x1401405b8
mov r14, qword [r12 + 0xc8]
mov ebx, dword [r14 + 4]
cmp dword [r14], ebx
jne 0x1401405d0
test ebx, ebx
je 0x14013ef05
mov edi, ebx
shl rdi, 4
add rdi, r14
jmp 0x14013ee7a
mov eax, dword [r13 + 0xe8]
cmp dword [r13 + 0x178], eax
jae 0x14013eef0
mov rax, qword [r13 + 0x170]
mov qword [r9], rax
add dword [r13 + 0x178], 1
mov qword [r13 + 0x170], r9
sub rdi, 0x10
sub ebx, 1
je 0x14013ef05
mov eax, dword [r12 + 0x28]
cmp dword [rdi + 0x18], eax
jb 0x14013f5a8
mov r13, qword [r15 + 0x40]
mov eax, dword [r13 + 4]
test eax, 0x80000
jne 0x14013ee6d
mov edx, ebx
mov r9, qword [rdi + 0x10]
and eax, 0x8000000
movzx ecx, byte [r13 + 0x80]
shl rdx, 4
test byte [r14 + rdx + 0x1c], 1
jne 0x14013fb40
test eax, eax
je 0x14013ee40
mov r8d, 1
mov edx, 0xffffffff
shl r8, cl
mov rcx, r9
call sub.msvcrt.dll_memset
mov r9, rax
mov eax, dword [r13 + 0xe8]
cmp dword [r13 + 0x178], eax
jb 0x14013ee54
nop dword [rax + rax]
mov rcx, r9
call sub.msvcrt.dll_free
sub rdi, 0x10
sub ebx, 1
jne 0x14013ee7a
xor ebx, ebx
mov eax, 1
mov edx, dword [r14]
add rax, 1
movd xmm4, ebx
add edx, dword [r12 + 0xbc]
movq xmm6, qword [0x1402b7228]
shl rax, 4
sub edx, ebx
lea rdi, [0x1402b64d0]
pshufd xmm0, xmm4, 0xe0
mov dword [r12 + 0xbc], edx
mov qword [r14 + rax], rdi
movq qword [r14 + rax + 8], xmm6
movq qword [r14], xmm0
mov rax, qword [r12 + 0xa8]
mov edx, dword [rax]
mov qword [rsp + 0x60], rax
test edx, edx
je 0x14013ef72
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.140135ce0
mov rax, qword [r12 + 0xd8]
lea ebx, [rsi + 1]
mov edi, esi
lea rsi, [r12 + 0xa8]
cmp ebx, dword [rax]
ja 0x14013f039
mov qword [rbp + 0x10], r15
mov qword [rsp + 0x88], r14
mov r14, rsi
nop
mov edx, ebx
mov rcx, r12
mov rsi, qword [r12 + 0xc8]
mov r13d, dword [rax + rdx*4]
mov edx, r13d
call fcn.14021f520
mov edx, eax
lea rcx, [rdx + 1]
shl rcx, 4
cmp dword [rsi + rcx + 8], r13d
jne 0x14013efd2
test eax, eax
jne 0x14013f2e8
mov r11, qword [r12 + 0xf0]
test r11, r11
je 0x14013f008
lea esi, [r13 + r13]
mov rcx, r11
mov edx, esi
call fcn.14020fc60
mov edx, eax
cmp eax, dword [r11]
ja 0x14013f008
mov eax, eax
cmp dword [r11 + rax*4], esi
jne 0x14013f008
test edx, edx
jne 0x14013f711
nop dword [rax]
mov rax, qword [r12 + 0xd8]
lea edx, [rdi + 1]
mov rdi, rdx
mov dword [rax + rdx*4], r13d
mov rax, qword [r12 + 0xd8]
add ebx, 1
cmp ebx, dword [rax]
jbe 0x14013efa0
mov r14, qword [rsp + 0x88]
mov r15, qword [rbp + 0x10]
mov dword [rax], edi
mov rbx, qword [r12 + 0xf0]
test rbx, rbx
je 0x14013f052
mov esi, dword [rbx]
test esi, esi
jne 0x14013ff28
mov rdx, qword [r15 + 0xf0]
test rdx, rdx
je 0x14013f068
mov esi, dword [rdx]
test esi, esi
jne 0x14013f5c0
mov rdi, qword [rsp + 0x80]
mov ebx, dword [r14 + 4]
mov esi, dword [rdi + 4]
test ebx, ebx
je 0x14013f143
test esi, esi
je 0x14013f143
mov r13d, dword [rsp + 0x90]
jmp 0x14013f0af
sub ebx, 1
add r13d, 1
test ebx, ebx
je 0x14013f140
test esi, esi
je 0x14013f140
mov edx, esi
mov ecx, 1
mov rax, rdx
shl rdx, 4
shl rax, 4
add rax, rdi
mov r11, qword [rax + 0x10]
test byte [rdi + rdx + 0x1c], 1
jne 0x14013f4f0
mov edx, ebx
mov r8d, dword [rax + 0x18]
mov r10d, 1
mov rax, rdx
shl rdx, 4
shl rax, 4
add rax, r14
mov r9, qword [rax + 0x10]
test byte [r14 + rdx + 0x1c], 1
jne 0x14013f4e0
mov edx, dword [rax + 0x18]
add ecx, r8d
cmp edx, ecx
jae 0x14013f098
add edx, r10d
cmp r8d, edx
jb 0x14013f3b0
movzx eax, word [r11 + 0xa]
cmp ax, 0x4000
je 0x14013f12e
mov rdx, qword [r12 + 0x38]
and ah, 0xdf
mov word [r11 + 0xa], ax
mov qword [r11], rdx
sub esi, 1
add r13d, 1
test ebx, ebx
jne 0x14013f0a7
nop dword [rax]
add ebx, r13d
add ebx, esi
mov dword [r14], ebx
test esi, esi
je 0x14013f199
mov rdi, qword [rsp + 0x80]
mov eax, esi
shl rax, 4
lea r8, [rdi + rax - 0x10]
lea rdx, [rdi + rax]
lea eax, [rsi - 1]
shl rax, 4
sub r8, rax
nop dword [rax]
mov rcx, qword [rdx + 0x10]
movzx eax, word [rcx + 0xa]
cmp ax, 0x4000
je 0x14013f18d
mov r9, qword [r12 + 0x38]
and ah, 0xdf
mov word [rcx + 0xa], ax
mov qword [rcx], r9
sub rdx, 0x10
cmp rdx, r8
jne 0x14013f170
mov ebx, dword [r14]
mov rdi, qword [rsp + 0x80]
mov eax, dword [r14 + 4]
mov r13d, dword [rdi + 4]
cmp eax, ebx
jbe 0x14013f500
mov edi, 1
mov edx, 1
mov esi, 1
mov ecx, ebx
lea r10, str.mdbx_txn_merge
test r13d, r13d
je 0x14013fc1b
mov rbx, qword [rsp + 0x80]
jmp 0x14013f200
shl r9, 4
add edx, 1
movdqu xmm5, xmmword [r9 + r14 + 0x10]
movups xmmword [rsi + r14 + 0x10], xmm5
mov esi, r11d
cmp dword [rbx + 4], edi
jb 0x14013fc18
cmp edx, eax
ja 0x14013fee8
cmp edx, esi
jbe 0x14013fad8
mov r9d, edx
mov r8, r9
shl r8, 4
add r8, r14
cmp qword [r8 + 0x10], 0
je 0x14013f4d0
mov ecx, edi
lea r11d, [rsi + 1]
shl rsi, 4
add rcx, 1
shl rcx, 4
add rcx, rbx
mov r13d, dword [rcx + 8]
cmp dword [r8 + 0x18], r13d
jb 0x14013f1e0
movdqu xmm5, xmmword [rcx]
add edi, 1
movups xmmword [rsi + r14 + 0x10], xmm5
mov esi, r11d
jmp 0x14013f1f7
test rcx, rcx
je 0x1401405f0
cmp dword [rcx], 0x93d53a31
jne 0x140140dfd
mov qword [rsp + 0x70], 0
jmp 0x14013eb19
mov rbx, qword [r15 + 0x70]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov eax, eax
cmp rbx, rax
je 0x14013eb3a
cmp qword [r15 + 0x70], 0
mov r8d, 0xffff8930
jne 0x14013f2b6
nop word [rax + rax]
mov r8d, 0xffff87c2
cmp qword [rbp + 0x18], 0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
je 0x14013f6f5
mov rax, qword [rbp + 0x18]
xor r14d, r14d
xor r12d, r12d
xor esi, esi
xor ebx, ebx
xor r13d, r13d
mov dword [rax + 8], 0
jmp 0x14013f630
add rcx, qword [rsp + 0x88]
mov esi, 1
mov r15, qword [rcx]
test byte [rcx + 0xc], 1
jne 0x14013fb68
mov rcx, qword [r12 + 0xc8]
xor r10d, r10d
mov r9d, dword [rcx]
mov r8d, dword [rcx + 4]
cmp eax, r9d
setbe r10b
add rdx, 1
add rcx, 0x10
sub r9d, r10d
lea r10d, [r8 - 1]
shl rdx, 4
add r8d, 1
movd xmm0, r9d
movd xmm4, r10d
sub r8d, eax
punpckldq xmm0, xmm4
shl r8, 4
movq qword [rcx - 0x10], xmm0
lea r9, [rcx + rdx]
lea rcx, [rcx + rdx - 0x10]
mov rdx, r9
call sub.msvcrt.dll_memmove
mov eax, 0xffffffff
add dword [r12 + 0xbc], 1
mov qword [r15], 0xffffffffffffffff
mov word [r15 + 0xa], ax
test byte [r12 + 6], 8
je 0x14013f420
cmp esi, 1
ja 0x14013f479
mov esi, 1
mov r8d, esi
mov edx, r13d
mov rcx, r14
call fcn.14021e1c0
test eax, eax
je 0x14013f01a
jmp 0x1402271f8
mov qword [rax + 0x10], 0
sub ebx, 1
test byte [r15 + 6], 8
jne 0x14013f09f
mov r11, qword [r15 + 0x40]
test byte [r11 + 7], 8
jne 0x1401405fb
cmp r10d, 1
jne 0x14013f410
mov eax, dword [r11 + 0xe8]
cmp dword [r11 + 0x178], eax
jae 0x14013f410
mov rax, qword [r11 + 0x170]
mov qword [r9], rax
mov qword [r11 + 0x170], r9
add dword [r11 + 0x178], 1
jmp 0x14013f09f
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x14013f09f
mov r9, qword [r12 + 0x40]
test byte [r9 + 7], 8
jne 0x140140240
cmp esi, 1
jne 0x14013f468
mov eax, dword [r9 + 0xe8]
cmp dword [r9 + 0x178], eax
jae 0x14013f468
mov rax, qword [r9 + 0x170]
mov qword [r15], rax
mov qword [r9 + 0x170], r15
add dword [r9 + 0x178], 1
jmp 0x14013f391
mov rcx, r15
call sub.msvcrt.dll_free
cmp esi, 1
jbe 0x14013f38c
lea r9d, [rdi + 1]
mov dword [rsp + 0x58], esi
lea r15d, [rdi + r13]
mov r11d, r9d
sub r11d, esi
mov esi, dword [rsp + 0x6c]
jmp 0x14013f4be
mov rcx, qword [r12 + 0xd8]
lea r8d, [rdi - 1]
mov edx, r15d
mov rax, r8
sub edx, r8d
cmp dword [rcx + r8*4], edx
jne 0x14013f4c8
cmp eax, r11d
je 0x140140270
mov edi, eax
mov r10d, r9d
sub r10d, edi
cmp esi, edi
jb 0x14013f498
mov esi, r10d
jmp 0x14013f391
add edx, 1
jmp 0x14013f1f7
mov r10d, dword [r9 + 0xc]
jmp 0x14013f0fd
mov ecx, dword [r11 + 0xc]
jmp 0x14013f0d3
test r13d, r13d
je 0x1401402f0
test eax, eax
je 0x1401402f0
mov rsi, rdi
lea r10, str.mdbx_txn_merge
lea rdi, str.squash_to_begin_for_extending_merge__u_____u_n
jmp 0x14013f550
shl r8, 4
sub eax, 1
movdqu xmm4, xmmword [r8 + r14 + 0x10]
movups xmmword [rbx + r14 + 0x10], xmm4
mov ebx, r9d
test r13d, r13d
je 0x14013f850
test eax, eax
je 0x14013f850
cmp ebx, eax
jbe 0x14013fb78
mov r8d, eax
mov rcx, r8
shl rcx, 4
add rcx, r14
cmp qword [rcx + 0x10], 0
je 0x14013f730
mov edx, r13d
lea r9d, [rbx - 1]
shl rbx, 4
add rdx, 1
shl rdx, 4
add rdx, rsi
mov r11d, dword [rdx + 8]
cmp dword [rcx + 0x18], r11d
ja 0x14013f528
movdqu xmm5, xmmword [rdx]
sub r13d, 1
movups xmmword [rbx + r14 + 0x10], xmm5
mov ebx, r9d
jmp 0x14013f53f
lea eax, [rbx + 1]
jmp 0x14013ef0c
mov qword [rsp + 0x78], 0
jmp 0x14013edf6
mov r8d, 1
mov rcx, r12
call fcn.140135ce0
jmp 0x14013f068
mov eax, dword [r15 + 0x68]
cmp dword [r12 + 0x68], eax
jne 0x14013ebc5
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xa1
jmp 0x1401401ad
mov rax, qword [rbp + 0x18]
xor r14d, r14d
xor r12d, r12d
xor esi, esi
xor ebx, ebx
xor r13d, r13d
mov r8d, 0x57
mov dword [rax + 8], 0
nop word cs:[rax + rax]
mov rax, qword [rbp + 0x18]
xor edx, edx
mov dword [rax], 0
mov dword [rsp + 0x94], 0
mov rax, qword [rbp + 0x18]
mov dword [rax + 4], edx
test r12b, r12b
jne 0x14013f7f8
mov rax, qword [rbp + 0x18]
mov esi, dword [rsp + 0x94]
mov dword [rax + 0xc], esi
test r14b, r14b
jne 0x14013f740
mov dword [rsp + 0x98], r8d
lea rcx, [rsp + 0xe0]
mov dword [rax + 0x10], 0
mov qword [rsp + 0xe0], 0
call rdi
test r13, r13
mov rbx, qword [rsp + 0xe0]
mov r8d, dword [rsp + 0x98]
jne 0x14013f7af
mov rcx, qword [0x1403eba10]
xor edx, edx
mov rax, qword [rbp + 0x18]
sub rbx, qword [rsp + 0x70]
mov dword [rax + 0x14], edx
cmp rbx, rcx
ja 0x1401401f0
mov rcx, qword [0x1403ec220]
mov rax, rbx
xor edx, edx
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x14013f6ee
test rbx, rbx
mov eax, 1
cmovne edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax + 0x18], edx
movaps xmm6, xmmword [rsp + 0x690]
lea rsp, [rbp - 0x38]
mov eax, r8d
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r8d, 1
mov rcx, r12
mov esi, 1
call fcn.14013d050
jmp 0x14013f391
sub eax, 1
jmp 0x14013f53f
mov rsi, r13
mov rax, qword [0x1403eba10]
sub rsi, rbx
cmp rsi, rax
ja 0x1401406f1
mov rcx, qword [0x1403ec220]
mov rax, rsi
xor edx, edx
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x14013f77a
test rsi, rsi
mov eax, 1
cmovne edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rsp + 0x98], r8d
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0xe0], 0
mov dword [rax + 0x10], edx
call rdi
mov rbx, qword [rsp + 0xe0]
mov r8d, dword [rsp + 0x98]
mov rsi, rbx
mov rcx, qword [0x1403eba10]
sub rsi, r13
cmp rsi, rcx
ja 0x1401407eb
mov r9, qword [0x1403ec220]
mov rax, rsi
xor edx, edx
shl rax, 0x10
div r9
mov edx, eax
test eax, eax
jne 0x14013f6b5
test rsi, rsi
mov eax, 1
cmovne edx, eax
jmp 0x14013f6b5
mov r12, rbx
mov rax, qword [0x1403eba10]
sub r12, rsi
cmp r12, rax
ja 0x14014068e
mov rcx, qword [0x1403ec220]
mov rax, r12
xor edx, edx
shl rax, 0x10
div rcx
mov dword [rsp + 0x94], eax
mov esi, eax
test eax, eax
jne 0x14013f657
test r12, r12
mov eax, 1
cmove eax, esi
mov dword [rsp + 0x94], eax
jmp 0x14013f657
mov eax, dword [r14 + 4]
mov ecx, dword [r14]
test r13d, r13d
je 0x14013f896
mov edx, r13d
mov r8d, ebx
shl rdx, 4
sub r8d, r13d
add rdx, qword [rsp + 0x80]
nop dword [rax]
movdqu xmm5, xmmword [rdx + 0x10]
mov r9d, ebx
sub ebx, 1
sub rdx, 0x10
shl r9, 4
movups xmmword [r9 + r14 + 0x10], xmm5
cmp ebx, r8d
jne 0x14013f878
sub eax, ecx
add dword [r12 + 0xbc], eax
mov eax, dword [r14]
lea rdi, [0x1402b64d0]
mov dword [r14 + 4], eax
add eax, 1
add rax, 1
shl rax, 4
mov qword [r14 + rax], rdi
movq qword [r14 + rax + 8], xmm6
mov eax, dword [r15 + 0xc0]
mov dword [r12 + 0xc0], eax
mov rcx, qword [r15 + 0xc8]
test rcx, rcx
je 0x14013f8ef
call sub.msvcrt.dll_free
mov qword [r15 + 0xc8], 0
mov rdx, qword [r15 + 0xf0]
mov rcx, qword [r12 + 0xf0]
test rdx, rdx
je 0x14013f92e
test rcx, rcx
je 0x14013fbe8
call fcn.14020fbf0
mov rcx, qword [r15 + 0xf0]
test rcx, rcx
je 0x14013f926
sub rcx, 4
call sub.msvcrt.dll_free
mov rcx, qword [r12 + 0xf0]
mov eax, dword [r12 + 4]
and eax, 0xffffffef
mov dword [r12 + 4], eax
test rcx, rcx
je 0x14013f94e
mov ebx, dword [rcx]
test ebx, ebx
je 0x14013f94e
or eax, 8
mov dword [r12 + 4], eax
cmp qword [rbp + 0x18], 0
je 0x14013faa8
lea r13, [rsp + 0x270]
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov qword [rsp + 0x270], 0
mov rcx, r13
call rdi
mov rax, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x270]
mov rcx, r12
mov qword [rax + 0x138], r12
mov qword [r12 + 0x10], 0
call fcn.14013c8d0
mov rcx, r13
mov qword [rsp + 0x270], 0
call rdi
mov rbx, qword [rsp + 0x270]
mov rcx, r15
mov r13, rbx
call sub.msvcrt.dll_free
xor r8d, r8d
cmp qword [rbp + 0x18], 0
je 0x14013f6f5
test rbx, rbx
mov rax, qword [rbp + 0x18]
setne r12b
test r13, r13
setne r14b
mov dword [rax + 8], 0
and r14d, r12d
cmp qword [rsp + 0x78], 0
jne 0x14013fa10
test rsi, rsi
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
setne al
and r12d, eax
jmp 0x14013f630
mov rcx, qword [0x1403eba10]
mov rdi, qword [rsp + 0x78]
sub rdi, qword [rsp + 0x70]
cmp rdi, rcx
ja 0x140140794
mov r9, qword [0x1403ec220]
mov rax, rdi
xor edx, edx
shl rax, 0x10
div r9
mov edx, eax
test eax, eax
jne 0x14013fa4e
test rdi, rdi
mov eax, 1
cmovne edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax], edx
test rsi, rsi
je 0x1401417c6
mov r15, rsi
sub r15, qword [rsp + 0x78]
cmp r15, rcx
ja 0x14014073f
mov rcx, qword [0x1403ec220]
mov rax, r15
xor edx, edx
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x14013f63c
test r15, r15
mov eax, 1
cmovne edx, eax
jmp 0x14013f63c
mov rax, qword [rsp + 0x98]
mov rcx, r12
xor esi, esi
xor ebx, ebx
mov qword [rax + 0x138], r12
mov qword [r12 + 0x10], 0
call fcn.14013c8d0
jmp 0x14013f9ba
mov r11d, eax
mov ecx, eax
nop dword [rax]
mov r9d, ecx
mov r8, r9
shl r8, 4
add r8, r14
cmp qword [r8 + 0x10], 0
je 0x14013fb1d
cmp ecx, r11d
je 0x14013fb19
shl r9, 4
mov r13d, r11d
movdqu xmm5, xmmword [r9 + r14 + 0x10]
shl r13, 4
movups xmmword [r13 + r14 + 0x10], xmm5
mov qword [r8 + 0x10], 0
sub r11d, 1
sub ecx, 1
cmp edx, ecx
jbe 0x14013fae0
cmp byte [0x1403eba08], 2
lea r13d, [r11 + 1]
ja 0x1402272ea
mov edx, r13d
jmp 0x14013f1f7
mov r10d, dword [r9 + 0xc]
test eax, eax
jne 0x14014192a
cmp r10d, 1
je 0x14013ee40
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x14013eef8
mov esi, dword [r15 + 0xc]
jmp 0x14013f302
mov r9d, 1
mov edx, 1
nop dword [rax + rax]
mov r8d, edx
mov rcx, r8
shl rcx, 4
add rcx, r14
cmp qword [rcx + 0x10], 0
je 0x14013fbc5
cmp edx, r9d
je 0x14013fbc1
shl r8, 4
mov r11d, r9d
movdqu xmm4, xmmword [r8 + r14 + 0x10]
shl r11, 4
movups xmmword [r11 + r14 + 0x10], xmm4
mov qword [rcx + 0x10], 0
add r9d, 1
add edx, 1
cmp edx, eax
jbe 0x14013fb88
cmp byte [0x1403eba08], 2
lea r11d, [r9 - 1]
ja 0x140227216
mov eax, r11d
jmp 0x14013f53f
mov qword [r12 + 0xf0], rdx
mov eax, dword [r15 + 0xf8]
mov rcx, rdx
mov dword [r12 + 0xf8], eax
mov eax, dword [r12 + 4]
and eax, 0xffffffef
mov dword [r12 + 4], eax
jmp 0x14013f940
mov ecx, dword [r14]
sub edx, esi
cmp esi, ecx
ja 0x14013f896
nop dword [rax]
lea r9d, [rsi + rdx]
mov r8d, esi
add esi, 1
shl r9, 4
shl r8, 4
movdqu xmm4, xmmword [r9 + r14 + 0x10]
movups xmmword [r8 + r14 + 0x10], xmm4
cmp esi, ecx
jbe 0x14013fc28
jmp 0x14013f896
xor edx, edx
mov rcx, r15
call fcn.140134f10
mov rax, qword [r15 + 0xc8]
mov r11d, dword [rax + 4]
test r11d, r11d
jne 0x14013fc75
test byte [r15 + 4], 0xc
je 0x14014027c
cmp dword [r15 + 0x68], 2
lea r13, [rsp + 0x270]
ja 0x140140053
mov qword [rsp + 0x78], 0
cmp qword [rbp + 0x18], 0
je 0x14013fcba
mov qword [rsp + 0x270], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x270]
mov qword [rsp + 0x78], rax
mov rbx, qword [r15 + 0x40]
xor r8d, r8d
mov rdx, r15
mov rcx, r13
mov dword [rsp + 0xb4], 0
mov eax, dword [rbx + 4]
and eax, 0x4000000
mov dword [rsp + 0x80], eax
call fcn.140131c80
test eax, eax
jne 0x1401414a8
mov rax, qword [r15 + 0xa0]
or dword [rsp + 0x2b8], 0x20
mov byte [rsp + 0x6b], 0
movdqa xmm6, xmmword [0x1402b7260]
mov rdx, qword [rax]
mov dword [rsp + 0x60], 1
mov qword [rsp + 0x278], rdx
mov qword [rax], r13
mov edx, dword [rsp + 0xb4]
mov rax, qword [r15 + 0xd8]
mov rcx, qword [r15 + 0xb0]
mov dword [rsp + 0x58], 0
mov rsi, r15
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], rcx
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
mov eax, dword [rax]
cmp eax, edx
je 0x14013fd79
cmp eax, dword [rbx + 0xd0]
ja 0x140140296
mov r10d, dword [rsp + 0x80]
test r10d, r10d
je 0x1401409ae
mov rax, qword [rsi + 0xd0]
test rax, rax
je 0x14013fda3
mov edx, dword [rsp + 0x58]
cmp rdx, qword [rax]
jb 0x140140b41
mov rcx, rsi
call fcn.14013c8d0
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x140140497
cmp qword [rsi + 0xd0], 0
mov ecx, dword [rsi + 0xe8]
je 0x140141148
mov r8, qword [rsi + 0xa8]
lea edx, [rcx + rcx + 2]
mov r9d, dword [r8]
add rdx, r9
mov r9d, dword [r8 - 4]
cmp rdx, r9
ja 0x1401411aa
sub r9, rcx
lea r12, [r8 + r9*4 - 4]
xor edx, edx
nop word [rax + rax]
mov r8d, dword [rax + 0x10]
lea ecx, [rdx + 1]
mov rdx, rcx
mov dword [r12 + rcx*4], r8d
mov rax, qword [rax]
test rax, rax
jne 0x14013fe00
mov dword [r12], edx
mov rcx, r12
call fcn.14021c0a0
mov rcx, qword [rsi + 0xa8]
mov rdx, r12
call fcn.14020fbf0
mov r14, qword [rsi + 0xc8]
xor r15d, r15d
mov edx, dword [r14 + 4]
test edx, edx
je 0x1401411a0
mov edi, 1
mov r12d, 1
jmp 0x14013fe88
lea r8d, [rdi - 1]
lea ecx, [r15 + 1]
cmp r15d, r8d
je 0x1401405e8
movdqu xmm1, xmmword [rax]
mov r8d, ecx
mov r15d, ecx
shl r8, 4
movups xmmword [r8 + r14 + 0x10], xmm1
add edi, 1
cmp edi, edx
ja 0x14014043e
mov eax, edi
add rax, 1
shl rax, 4
add rax, r14
mov r9, qword [rax]
test byte [r9 + 0xb], 0x40
je 0x14013fe58
mov eax, dword [rbx + 4]
test eax, 0x80000
jne 0x14013fe7d
test eax, 0x8000000
jne 0x14014110c
mov eax, dword [rbx + 0xe8]
cmp dword [rbx + 0x178], eax
jae 0x14014099d
mov rax, qword [rbx + 0x170]
mov qword [r9], rax
mov qword [rbx + 0x170], r9
add dword [rbx + 0x178], 1
mov edx, dword [r14 + 4]
jmp 0x14013fe7d
mov r8, qword [rsp + 0x80]
sub esi, edi
nop word [rax + rax]
mov ecx, edi
lea edx, [rdi + rsi]
add edi, 1
shl rcx, 4
shl rdx, 4
movdqu xmm5, xmmword [rcx + r8 + 0x10]
movups xmmword [rdx + r14 + 0x10], xmm5
cmp edi, dword [r8 + 4]
jbe 0x14013fef8
mov ecx, dword [r14]
jmp 0x14013f896
mov ecx, dword [r12 + 0xf8]
cmp ecx, 0x7fffffff
je 0x14013ff75
cmp esi, ecx
jb 0x14013ff5a
mov edx, ecx
nop
mov eax, edx
mov r8d, ecx
add edx, 1
mov eax, dword [rbx + rax*4]
mov dword [rbx + r8*4], eax
not eax
and eax, 1
add ecx, eax
cmp esi, edx
jae 0x14013ff40
lea eax, [rcx - 1]
mov dword [rbx], eax
mov dword [r12 + 0xf8], 0x7fffffff
mov esi, dword [rbx]
test esi, esi
je 0x14013f052
mov eax, dword [r12 + 0x28]
lea ecx, [rax + rax]
cmp dword [rbx + 4], ecx
jb 0x14013ffba
xor eax, eax
jmp 0x14013ff98
add edx, 2
cmp ecx, dword [rbx + rdx*4]
ja 0x14013ffa1
mov edx, eax
add eax, 1
cmp eax, esi
jb 0x14013ff90
sub esi, eax
lea rdx, [rbx + rax*4 + 4]
lea rcx, [rbx + 4]
mov dword [rbx], esi
mov r8d, esi
shl r8, 2
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x60]
mov edi, dword [rax]
test esi, esi
je 0x140140320
mov r13, rax
test edi, edi
jne 0x14014000b
jmp 0x140140320
mov edx, edi
shr eax, 1
mov edx, dword [r13 + rdx*4]
cmp eax, edx
je 0x140140300
setbe cl
movzx ecx, cl
sub esi, ecx
cmp eax, edx
seta al
movzx eax, al
sub edi, eax
test esi, esi
je 0x140140320
test edi, edi
je 0x140140320
mov eax, esi
mov eax, dword [rbx + rax*4]
test al, 1
je 0x14013ffd8
sub esi, 1
jmp 0x14013fffb
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov r8d, 0xffffffff
mov rcx, r15
mov dword [rsp + 0x98], r8d
call fcn.14013e160
mov r8d, dword [rsp + 0x98]
jmp 0x14013f9c8
mov r8d, 1
mov rdx, r15
mov rcx, r13
mov qword [rsp + 0xd8], 0x30
call fcn.140131c80
mov r8d, eax
test eax, eax
jne 0x140140180
mov ecx, dword [r15 + 0x68]
mov ebx, 2
lea rsi, [rsp + 0xe0]
cmp ecx, 2
ja 0x14014014e
jmp 0x14013fc88
mov rcx, qword [r15 + 0x30]
lea rax, [rdx + rdx*2]
mov rdi, r13
shl rax, 4
add rax, qword [r15 + 0x50]
mov qword [rax + 0x28], rcx
mov ecx, dword [rsp + 0x274]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x290]
mov rax, qword [rax + 0xa0]
lea r12, [rax + rcx*8]
test byte [rsp + 0x2b8], 4
je 0x140140105
mov dword [rsp + 0x128], 1
mov rdi, rsi
mov qword [rsp + 0x120], 0
mov qword [rsp + 0xf8], r13
mov rax, qword [r12]
shl rdx, 6
mov rcx, r13
mov r9d, 2
lea r8, [rsp + 0xd0]
mov qword [rdi + 8], rax
mov qword [r12], rdi
add rdx, qword [r15 + 0x48]
call fcn.1401329e0
mov rdx, qword [rdi + 8]
mov qword [r12], rdx
test eax, eax
jne 0x140140d08
mov ecx, dword [r15 + 0x68]
add ebx, 1
cmp ebx, ecx
jae 0x14013fc88
mov rax, qword [r15 + 0x60]
mov edx, ebx
test byte [rax + rdx], 1
je 0x140140143
mov rax, qword [r15 + 0x40]
mov rcx, qword [r15 + 0x58]
mov rax, qword [rax + 0xc8]
mov eax, dword [rax + rdx*4]
cmp dword [rcx + rdx*4], eax
je 0x1401400a0
mov r8d, 0xffff87c4
nop dword [rax + rax]
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
jmp 0x140140036
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xb1
mov rcx, r15
call fcn.140142110
mov r8d, eax
jmp 0x14013f9c8
mov r8d, 1
jmp 0x14013f2b6
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov r8d, 0x57
jmp 0x140140036
test rcx, rcx
jne 0x140140234
mov rcx, qword [0x1403ec220]
test rcx, rcx
je 0x1401410d8
mov rax, rcx
mov edx, 1
shl rax, 0x1f
sub rax, rcx
lea rax, [rax + rax + 0x8000]
shr rax, 0x10
cmove rax, rdx
mov qword [0x1403eba10], rax
cmp rbx, rax
jbe 0x14013f6d1
mov edx, 0xffffffff
jmp 0x14013f6ee
movzx ecx, byte [r9 + 0x80]
mov r8d, esi
mov edx, 0xffffffff
mov qword [rsp + 0x58], r9
shl r8, cl
mov rcx, r15
call sub.msvcrt.dll_memset
mov r9, qword [rsp + 0x58]
jmp 0x14013f430
mov esi, dword [rsp + 0x58]
mov edi, r11d
jmp 0x14013f391
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xf1
jmp 0x1401401ad
lea r8d, [rax + 1]
lea r9, [rsp + 0xb4]
mov rdx, r13
mov rcx, rsi
shl r8, 2
call fcn.14013b6e0
mov r8d, eax
test eax, eax
je 0x14013fd79
mov r15, rsi
mov rax, qword [r15 + 0xa0]
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov rdx, qword [rsp + 0x278]
mov qword [rax], rdx
mov rax, qword [r15 + 0xa8]
mov dword [rax], 0
jmp 0x140140036
mov ecx, ebx
jmp 0x14013f857
mov edx, esi
mov r8d, 1
mov rcx, r12
sub esi, 1
call fcn.14013d050
sub edi, 1
jmp 0x14013fffb
mov rax, qword [rsp + 0x80]
mov edx, 1
mov esi, dword [rax + 4]
mov rdi, rax
test esi, esi
je 0x1401403b0
nop word [rax + rax]
cmp dword [rbx], edx
jb 0x1401403b0
mov eax, edx
mov eax, dword [rbx + rax*4]
test al, 1
jne 0x140140418
shr eax, 1
mov r10d, 1
mov r9d, eax
mov eax, esi
mov rcx, rax
shl rax, 4
shl rcx, 4
add rcx, rdi
mov r8d, dword [rcx + 0x18]
test byte [rdi + rax + 0x1c], 1
jne 0x14014063e
cmp r9d, r8d
jb 0x140140430
add r8d, r10d
lea r13d, [rdx + 1]
cmp r9d, r8d
jae 0x140140420
mov r8d, 1
mov rcx, r12
call fcn.14013d050
mov edx, r13d
cmp dword [rbx], edx
jae 0x140140344
nop dword [rax]
mov r8, qword [r12 + 0xf0]
mov ecx, dword [r12 + 0xf8]
mov r11d, dword [r8]
cmp ecx, 0x7fffffff
je 0x14013f052
cmp ecx, r11d
ja 0x1401403fc
mov edx, ecx
nop word cs:[rax + rax]
mov eax, edx
mov r9d, ecx
add edx, 1
mov eax, dword [r8 + rax*4]
mov dword [r8 + r9*4], eax
not eax
and eax, 1
add ecx, eax
cmp edx, r11d
jbe 0x1401403e0
sub ecx, 1
mov dword [r8], ecx
mov dword [r12 + 0xf8], 0x7fffffff
jmp 0x14013f052
add edx, 1
jmp 0x140140340
mov edx, r13d
jmp 0x140140340
sub esi, 1
jne 0x140140340
jmp 0x1401403b0
lea eax, [r15 + 1]
mov rdx, qword [0x1402b7228]
add rax, 1
lea rdi, [0x1402b64d0]
mov dword [r14 + 4], r15d
shl rax, 4
mov qword [r14 + rax], rdi
mov qword [r14 + rax + 8], rdx
mov dword [r14], 0
mov eax, dword [rsi + 0xe8]
add dword [rsi + 0xbc], eax
mov qword [rsi + 0xe0], 0
mov dword [rsi + 0xe8], 0
mov dword [rsi + 0xb8], 0
mov rdx, qword [rsi + 0xa8]
mov rax, qword [rsi + 0xd8]
mov edi, dword [rsp + 0xb4]
mov r15d, dword [rdx]
cmp dword [rax], edi
jbe 0x140140850
test edi, edi
je 0x1401411f0
lea rdx, [rsi + 0x30]
lea r14, [rsp + 0xe0]
mov qword [rsp + 0xd8], 8
mov qword [rsp + 0xd0], rdx
mov edx, dword [rax]
lea r12, [rsp + 0xd0]
lea rdi, [rsp + 0xb4]
lea r8d, [rdx + 1]
jmp 0x140140522
mov rcx, qword [rsi + 0xd8]
mov edx, dword [rcx]
lea r8d, [rdx + 1]
mov eax, r8d
shl rax, 2
cmp qword [rsp + 0xe8], rax
jae 0x140140d44
shl r8, 2
mov r9, rdi
mov rdx, r13
mov rcx, rsi
mov qword [rsp + 0xe8], r8
call fcn.14013b6e0
mov r8, r14
mov rdx, r12
mov rcx, r13
mov r9d, 0x10000
call fcn.1401329e0
test eax, eax
je 0x140140500
mov r8d, eax
mov r15, rsi
jmp 0x1401402bf
mov edx, 0x7fffffff
cmp rax, rdx
cmova rax, rdx
shl rax, 5
lea rbx, [rax + 0x413f]
and rbx, 0xffffffffffffc000
lea rdx, [rbx - 0x10]
call sub.msvcrt.dll_realloc
mov rdx, rax
test rax, rax
je 0x140141101
lea rax, [rbx - 0x20]
shr rax, 4
sub rax, 0x12
shr rax, 1
mov dword [rdx + 8], eax
mov qword [r12 + 0xc8], rdx
jmp 0x14013ec8b
mov rcx, rax
call fcn.14021f3e0
mov qword [rsp + 0x80], rax
jmp 0x14013ee10
mov rcx, r14
call fcn.14021f3e0
mov ebx, dword [rax + 4]
mov r14, rax
jmp 0x14013ee25
mov r15d, ecx
jmp 0x14013fe7d
mov r8d, 0x57
jmp 0x14013f6f5
movzx ecx, byte [r11 + 0x80]
mov r8d, r10d
mov edx, 0xffffffff
mov dword [rsp + 0x90], r10d
mov qword [rsp + 0x88], r11
shl r8, cl
mov rcx, r9
call sub.msvcrt.dll_memset
mov r10d, dword [rsp + 0x90]
mov r11, qword [rsp + 0x88]
mov r9, rax
jmp 0x14013f3d5
mov rax, qword [rcx + 0x10]
mov r10d, dword [rax + 0xc]
jmp 0x14014037b
lea rcx, [r12 + 0xf0]
call fcn.14013b640
mov r8d, eax
test eax, eax
jne 0x140140180
mov r8, qword [r15 + 0xf0]
mov r11d, dword [r8]
jmp 0x14013ec28
lea rcx, [r15 + 0xa8]
call fcn.14013b640
mov r8d, eax
test eax, eax
je 0x14013ebf8
jmp 0x140140180
mov dword [rsp + 0x94], 0xffffffff
test rax, rax
jne 0x14013f657
mov rcx, qword [0x1403ec220]
test rcx, rcx
je 0x1401412ee
mov rax, rcx
mov edx, 1
mov dword [rsp + 0x94], 0xffffffff
shl rax, 0x1f
sub rax, rcx
lea rax, [rax + rax + 0x8000]
shr rax, 0x10
cmove rax, rdx
mov qword [0x1403eba10], rax
cmp r12, rax
jbe 0x14013f815
jmp 0x14013f657
test rax, rax
jne 0x140140735
mov rcx, qword [0x1403ec220]
test rcx, rcx
je 0x140141257
mov rax, rcx
mov edx, 1
shl rax, 0x1f
sub rax, rcx
lea rax, [rax + rax + 0x8000]
shr rax, 0x10
cmove rax, rdx
mov qword [0x1403eba10], rax
cmp rsi, rax
jbe 0x14013f75d
mov edx, 0xffffffff
jmp 0x14013f77a
test rcx, rcx
jne 0x140140783
mov rcx, qword [0x1403ec220]
test rcx, rcx
je 0x14014122e
mov rax, rcx
mov edx, 1
shl rax, 0x1f
sub rax, rcx
lea rax, [rax + rax + 0x8000]
shr rax, 0x10
cmove rax, rdx
mov qword [0x1403eba10], rax
cmp r15, rax
jbe 0x14013fa75
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, 0xffffffff
jmp 0x14013f63c
mov edx, 0xffffffff
test rcx, rcx
jne 0x14013fa4e
mov r9, qword [0x1403ec220]
test r9, r9
je 0x1401412c5
mov rax, r9
mov edx, 0xffffffff
shl rax, 0x1f
sub rax, r9
lea rcx, [rax + rax + 0x8000]
mov eax, 1
shr rcx, 0x10
cmove rcx, rax
mov qword [0x1403eba10], rcx
cmp rdi, rcx
jbe 0x14013fa31
jmp 0x14013fa4e
test rcx, rcx
jne 0x14014082f
mov r9, qword [0x1403ec220]
test r9, r9
je 0x14014129c
mov rax, r9
shl rax, 0x1f
sub rax, r9
lea rcx, [rax + rax + 0x8000]
mov eax, 1
shr rcx, 0x10
cmove rcx, rax
mov qword [0x1403eba10], rcx
cmp rsi, rcx
jbe 0x14013f7cc
mov rax, qword [rbp + 0x18]
sub rbx, qword [rsp + 0x70]
mov dword [rax + 0x14], 0xffffffff
cmp rbx, rcx
jbe 0x14013f6ca
jmp 0x140140234
mov r14d, r15d
sub r14d, dword [rsp + 0x6c]
test r14d, r14d
jle 0x1401414e9
mov r9d, dword [rsp + 0x80]
test r9d, r9d
je 0x140140c90
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x140140e7e
mov rdx, qword [rcx]
mov r8d, dword [rbx + 0xd0]
mov eax, edx
sub eax, dword [rsp + 0x88]
cmp edx, 0x100
jbe 0x140140eb2
mov rax, qword [rcx + rax*8]
add dword [rsp + 0x88], 1
mov qword [rsp + 0xc8], rax
cmp r14d, r8d
ja 0x140141280
test rax, rax
je 0x14014112e
mov rax, qword [rbx + 0x70]
mov rax, qword [rax + 0x80]
cmp rax, qword [rsp + 0xc8]
jbe 0x14014112e
lea r8d, [r14 + 1]
xor r9d, r9d
mov rdx, r13
mov rcx, rsi
shl r8, 2
lea rax, [rsp + 0xc8]
lea r12, [rsp + 0xd0]
mov qword [rsp + 0xd8], 8
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xd0], rax
call fcn.14013b6e0
lea r8, [rsp + 0xe0]
mov rdx, r12
mov rcx, r13
mov r9d, 0x10010
call fcn.1401329e0
mov r8d, eax
test eax, eax
jne 0x1401402bc
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov dword [rcx], 0
test dword [rbx + 4], 0x1080000
je 0x140140e72
add dword [rsp + 0x6c], r14d
cmp qword [rsi + 0xd0], 0
je 0x14014098a
mov rax, qword [rsi + 0xa8]
mov eax, dword [rax]
cmp r15d, eax
jb 0x1401413f0
mov edx, dword [rsp + 0xb4]
mov rax, qword [rsi + 0xd8]
jmp 0x14013fd67
mov rcx, r9
call sub.msvcrt.dll_free
mov edx, dword [r14 + 4]
jmp 0x14013fe7d
cmp byte [rsp + 0x6b], 0
lea rdi, [rsp + 0xd0]
jne 0x140140a85
mov r12d, dword [rsp + 0x6c]
mov r14d, dword [rsp + 0x88]
mov rax, qword [rsi + 0xb0]
cmp qword [rsp + 0xb8], rax
ja 0x14014148c
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.140131330
test eax, eax
jne 0x1401410b0
cmp qword [rsp + 0xd8], 8
jne 0x140140d10
mov rax, qword [rsp + 0xb8]
movabs rcx, 0xfffffffefffffffe
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax]
lea rdx, [rax - 1]
mov qword [rsp + 0xb8], rax
cmp rdx, rcx
ja 0x140140d10
cmp qword [rsi + 0xb0], rax
jb 0x140141420
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.14013b6e0
test eax, eax
jne 0x140140554
xor edx, edx
mov rcx, r13
call fcn.140130a10
test eax, eax
jne 0x140140554
xor r14d, r14d
xor r12d, r12d
jmp 0x1401409ce
mov rax, qword [rsp + 0xb8]
cmp qword [rsi + 0xb0], rax
jb 0x14013fda3
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.140131330
mov r8d, eax
test eax, eax
jne 0x1401410c0
cmp qword [rsp + 0xd8], 8
jne 0x140140d10
mov rax, qword [rsp + 0xb8]
movabs rcx, 0xfffffffefffffffe
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax]
lea rdx, [rax - 1]
mov qword [rsp + 0xb8], rax
cmp rdx, rcx
ja 0x140140d10
cmp rax, qword [rsi + 0xb0]
ja 0x140141420
xor edx, edx
mov rcx, r13
call fcn.140130a10
mov r8d, eax
test eax, eax
jne 0x1401402bc
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
jmp 0x140140a85
mov r8d, 0xffff892c
jmp 0x14013f2c8
xor edi, edi
cmp byte [rsp + 0x6b], 0
lea r12, [rsp + 0xd0]
lea r14, [rsp + 0xb8]
jne 0x140140c10
lea r15d, [rdi + 1]
xor r8d, r8d
mov r9d, 0xf
mov rdx, r12
mov rax, qword [rax + r15*8]
mov rcx, r13
mov rdi, r15
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xd8], 8
mov qword [rsp + 0xb8], rax
call fcn.1401314e0
cmp eax, 0xffff87b2
je 0x140140bd3
test eax, eax
jne 0x140140554
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.14013b6e0
test eax, eax
jne 0x140140554
xor edx, edx
mov rcx, r13
call fcn.140130a10
test eax, eax
jne 0x140140554
mov rax, qword [rsi + 0xd0]
mov rdx, qword [rax]
cmp rdx, r15
ja 0x140140b5e
lea rdx, [rax + rdx*8 + 8]
lea rcx, [rax + 8]
mov dword [rsp + 0x58], edi
call fcn.1402196d0
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x88], 0
jmp 0x14013fda3
lea r15d, [rdi + 1]
xor r8d, r8d
mov r9d, 0xf
mov rdx, r12
mov rax, qword [rax + r15*8]
mov rcx, r13
mov qword [rsp + 0xd0], r14
mov rdi, r15
mov qword [rsp + 0xd8], 8
mov qword [rsp + 0xb8], rax
call fcn.1401314e0
mov r8d, eax
cmp eax, 0xffff87b2
je 0x140140c72
test eax, eax
jne 0x1401402bc
xor edx, edx
mov rcx, r13
call fcn.140130a10
mov r8d, eax
test eax, eax
jne 0x1401402bc
mov rax, qword [rsi + 0xd0]
mov rdx, qword [rax]
cmp r15, rdx
jb 0x140140c10
jmp 0x140140be6
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x140141317
mov qword [rsp + 0xc8], rax
mov r8d, dword [rbx + 0xd0]
lea rdx, [rax - 1]
add dword [rsp + 0x88], 1
mov qword [rsp + 0xc0], rdx
cmp r14d, r8d
jbe 0x1401408c7
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
jne 0x140141280
cmp rdx, 0x7ffe
jbe 0x14014128e
mov edx, 0x7fff
lea ecx, [r8 + r8]
cmp r14d, ecx
jae 0x140141438
shr r14d, 1
jmp 0x1401408be
mov r8d, eax
jmp 0x140140180
mov rax, qword [rsi + 0xa0]
mov r15, rsi
xor r13d, r13d
xor ebx, ebx
mov rdx, qword [rsp + 0x278]
mov r8d, 0xffff87b4
mov qword [rax], rdx
mov rax, qword [rsi + 0xa8]
xor esi, esi
mov dword [rax], 0
jmp 0x140140036
mov dword [rsp + 0xb4], edx
call fcn.14021c0a0
mov rdx, qword [rsi + 0xd8]
mov r8, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xe0]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi + 0xa8]
cmp r15d, dword [rax]
je 0x14014098a
cmp dword [rsp + 0x6c], 0
je 0x14014098a
mov r15, rsi
add dword [rsp + 0x60], 1
mov eax, dword [rsp + 0x60]
cmp eax, 0x2a
ja 0x140140e34
mov edx, dword [rsp + 0xb4]
cmp byte [rsp + 0x6b], 0
mov eax, edx
je 0x140140df1
mov edx, eax
mov byte [rsp + 0x6b], 1
mov rax, qword [r15 + 0xd8]
test edx, edx
je 0x14013fd2e
mov eax, dword [rax]
lea r9, [rsp + 0xb4]
mov rdx, r13
mov rcx, r15
lea r8d, [rax + 1]
shl r8, 2
call fcn.14013b6e0
mov r8d, eax
test eax, eax
jne 0x1401402bf
mov edx, dword [rsp + 0xb4]
mov rax, qword [r15 + 0xd8]
jmp 0x14013fd2e
mov r8d, 0xffff892c
jmp 0x14013f6f5
mov edx, dword [rsp + 0x88]
cmp rax, rdx
ja 0x140141086
add dword [rsp + 0x60], 1
cmp byte [0x1403eba08], 2
mov r15, rsi
ja 0x14022718e
cmp dword [rsp + 0x60], 0x2a
jbe 0x140140dea
cmp byte [0x1403eba08], 0
jne 0x14022728e
mov rax, qword [r15 + 0xa0]
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov rdx, qword [rsp + 0x278]
mov r8d, 0xffff87c5
mov qword [rax], rdx
mov rax, qword [r15 + 0xa8]
mov dword [rax], 0
jmp 0x140140036
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x140140969
mov ecx, 0xf0
call sub.msvcrt.dll_malloc
mov rcx, rax
test rax, rax
je 0x1401417dd
movups xmmword [rax], xmm6
add rcx, 8
mov eax, dword [rsp + 0x88]
mov qword [rsi + 0xd0], rcx
mov r8d, dword [rbx + 0xd0]
neg eax
mov edx, eax
imul edx, r8d
cmp r14d, edx
jbe 0x1401408a1
cmp byte [rsp + 0x6b], 0
jne 0x1401408a1
xor edi, edi
lea r12, [rsp + 0xa0]
and dword [rsp + 0x2b8], 0xffffffdf
jmp 0x140140f11
mov rax, qword [rsi + 0xd0]
mov rax, qword [rax]
cmp eax, 0x100
ja 0x1401414dc
sub eax, dword [rsp + 0x88]
imul eax, dword [rbx + 0xd0]
mov edi, 1
cmp r14d, eax
jbe 0x1401414dc
mov rcx, qword [rsi + 0x40]
call fcn.1401369f0
xor r8d, r8d
mov rdx, r13
mov rcx, r12
mov r9d, 0x1a
mov qword [rsp + 0x50], rax
call fcn.140224520
mov rax, qword [rsp + 0xa8]
mov r8d, eax
test eax, eax
je 0x140140ee0
or dword [rsp + 0x2b8], 0x20
cmp eax, 0xffff87b2
jne 0x1401402bc
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rcx]
test rax, rax
jne 0x140141736
mov rcx, qword [rsi + 0x40]
call fcn.1401369f0
mov rcx, qword [rsp + 0x50]
cmp rcx, rax
jne 0x140140ed6
mov rax, rcx
mov rcx, qword [rsi + 0xd0]
sub rax, 1
mov qword [rsp + 0xc0], rax
mov qword [rsi + 0xb0], rax
mov rax, qword [rcx]
lea rdx, [rsp + 0xc0]
lea r12, [rsp + 0xe0]
mov qword [rsp + 0x50], rdx
cmp rax, 0x100
ja 0x140141086
mov edx, eax
sub edx, dword [rsp + 0x88]
imul edx, dword [rbx + 0xd0]
cmp r14d, edx
jbe 0x140141086
mov rdx, qword [rsp + 0xc0]
cmp rdx, 1
jbe 0x140140e08
sub rdx, 1
mov rax, qword [rsp + 0x50]
mov r8, r12
mov rcx, r13
mov qword [rsp + 0xc0], rdx
mov r9d, 0x10
lea rdx, [rsp + 0xd0]
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 8
call fcn.1401314e0
mov rdx, qword [rsp + 0x48]
test eax, eax
je 0x14014181c
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsi + 0xd0]
call fcn.14013e0a0
mov r8d, eax
test eax, eax
jne 0x1401402bc
mov r8d, dword [rsp + 0x88]
test r8d, r8d
jne 0x14014149e
add dword [rsp + 0x58], 1
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rcx]
cmp rax, 0x100
jbe 0x140140fc0
test dil, dil
jne 0x140141953
mov eax, dword [rcx]
mov r8d, dword [rbx + 0xd0]
mov byte [rsp + 0x6b], 0
sub eax, dword [rsp + 0x88]
jmp 0x1401408a1
mov dword [rsp + 0x6c], r12d
mov r8d, eax
mov dword [rsp + 0x88], r14d
cmp r8d, 0xffff87b2
je 0x14013fda3
jmp 0x1401402bc
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ec220]
mov r8d, dword [rsp + 0x98]
jmp 0x140140205
mov r8d, 0xe
jmp 0x140140180
movzx ecx, byte [rbx + 0x80]
mov r8, r12
mov edx, 0xffffffff
shl r8, cl
mov rcx, r9
call sub.msvcrt.dll_memset
mov r9, rax
jmp 0x14013feb4
cmp byte [0x1403eba08], 0
mov r15, rsi
je 0x140140e41
jmp 0x14022731d
cmp qword [rsi + 0xb0], 0
jne 0x14013fdcf
test ecx, ecx
je 0x14013fe31
mov r8, qword [rsi + 0xd8]
mov edx, dword [r8]
add rdx, rcx
mov ecx, dword [r8 - 4]
cmp rdx, rcx
ja 0x14014179a
mov rcx, qword [rsi + 0xd8]
mov r8d, dword [rax + 0x10]
mov edi, dword [rcx]
lea edx, [rdi + 1]
mov dword [rcx], edx
mov dword [rcx + rdx*4], r8d
mov rax, qword [rax]
test rax, rax
jne 0x140141178
jmp 0x14013fe31
mov eax, 1
jmp 0x140140442
lea rcx, [rsi + 0xa8]
call fcn.14013b640
mov r8d, eax
test eax, eax
jne 0x1401402bc
mov rdx, qword [rsi + 0xa8]
mov ecx, dword [rsi + 0xe8]
mov eax, dword [rdx - 4]
sub rax, rcx
lea r12, [rdx + rax*4 - 4]
mov rax, qword [rsi + 0xe0]
test rax, rax
jne 0x14013fdf5
xor edx, edx
jmp 0x14013fe16
mov r8d, 9
xor edx, edx
mov rcx, r13
and dword [rsp + 0x2b8], 0xffffffdf
call fcn.140225ad0
or dword [rsp + 0x2b8], 0x20
mov r8d, eax
test eax, eax
je 0x140141222
cmp eax, 0xffff87b2
jne 0x1401402bc
mov rax, qword [rsi + 0xd8]
jmp 0x1401404bf
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ec220]
mov r8d, dword [rsp + 0x98]
jmp 0x140140754
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ec220]
mov r8d, dword [rsp + 0x98]
jmp 0x140140706
mov edx, 1
sub edx, dword [rsp + 0x88]
add edx, dword [rcx]
cmp edx, 1
ja 0x140140cef
jmp 0x1401408be
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r9, qword [0x1403ec220]
mov r8d, dword [rsp + 0x98]
jmp 0x140140800
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r9, qword [0x1403ec220]
mov r8d, dword [rsp + 0x98]
jmp 0x1401407b2
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ec220]
mov r8d, dword [rsp + 0x98]
jmp 0x1401406b2
mov rcx, qword [rsi + 0x40]
lea r12, [rsp + 0xd0]
call fcn.1401369f0
xor r8d, r8d
xor r9d, r9d
mov rdx, r12
sub rax, 1
mov rcx, r13
mov qword [rsp + 0xc0], rax
call fcn.1401314e0
mov r8d, eax
test eax, eax
jne 0x1401414c4
cmp qword [rsp + 0xd8], 8
jne 0x140140d10
mov rax, qword [rsp + 0xd0]
movabs rdi, 0xfffffffefffffffe
mov rdx, qword [rax]
lea rax, [rdx - 1]
cmp rax, rdi
ja 0x140140d10
cmp rdx, qword [rsp + 0xc0]
ja 0x140141393
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0xc0], 0
je 0x14014174f
mov rax, qword [rsp + 0xc0]
add dword [rsp + 0x88], 1
lea rdx, [rax + 1]
mov qword [rsi + 0xb0], rax
mov qword [rsp + 0xc8], rax
mov r8d, dword [rbx + 0xd0]
mov qword [rsp + 0xb8], rdx
lea rdx, [rax - 1]
mov qword [rsp + 0xc0], rdx
cmp r14d, r8d
jbe 0x1401408be
jmp 0x140140ccd
cmp dword [rsp + 0x60], 4
jbe 0x140141408
mov edx, eax
sub edx, r15d
cmp edx, dword [rbx + 0xd0]
jbe 0x14014098a
cmp byte [0x1403eba08], 2
mov r14d, r15d
mov r15, rsi
jbe 0x140140d8a
jmp 0x1402271c7
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
jmp 0x14013fda3
mov ecx, 0x101
cmp edx, ecx
cmovbe ecx, edx
imul ecx, r8d
cmp r14d, ecx
jb 0x1401414d4
movzx edi, byte [rbx + 0x80]
lea r14d, [r14 + r8 + 1]
mov r8d, 1
sub r14d, ecx
mov r9, r8
mov ecx, edi
mov dword [rsp + 0x50], edi
shl r9, cl
sub r9, 0x14
shr r9, 2
mov ecx, r9d
cmp r14d, r9d
ja 0x140141898
sub r14d, r8d
jmp 0x1401408be
mov dword [rsp + 0x6c], r12d
mov dword [rsp + 0x88], r14d
jmp 0x14013fda3
mov edi, 1
jmp 0x140141070
mov rdx, qword [r15 + 0xa8]
mov r8d, eax
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov dword [rdx], 0
jmp 0x140140036
cmp eax, 0xffff87b2
je 0x1401413a2
jmp 0x1401402bc
mov r14d, r8d
jmp 0x1401408be
or dword [rsp + 0x2b8], 0x20
jmp 0x14014098a
mov rcx, qword [rsi + 0xd0]
mov r15, rsi
mov rax, rcx
test rcx, rcx
je 0x140141f4e
mov esi, dword [rcx]
sub esi, dword [rsp + 0x88]
cmp dword [rdx], 0
mov dword [rsp + 0x88], esi
je 0x140142021
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xd0], 0
mov esi, dword [rdx]
mov dword [rsp + 0x6c], esi
mov esi, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x48], edi
lea r10, [rsp + 0xd0]
mov qword [rsp + 0x88], r10
mov r14d, dword [rsp + 0x6c]
shr esi, 1
mov edx, ecx
mov dword [rsp + 0x44], esi
lea rsi, [rsp + 0xc8]
mov qword [rsp + 0x50], rsi
lea rsi, [rsp + 0xe0]
mov rdi, rsi
mov esi, ecx
test rax, rax
je 0x140141faa
mov rdx, qword [rax]
add esi, 1
cmp esi, edx
ja 0x140141f91
mov edx, esi
mov r8, rdi
mov r9d, 0x10
mov rcx, r13
mov rax, qword [rax + rdx*8]
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0xd8], 8
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xd0], rax
call fcn.1401314e0
mov r8d, eax
test eax, eax
jne 0x1401402bf
mov rax, qword [rsp + 0x50]
mov r12, qword [rsp + 0xe8]
mov qword [rsp + 0xd8], 8
mov qword [rsp + 0xd0], rax
mov eax, dword [rsp + 0x2b8]
shr r12, 2
sub r12d, 1
mov edx, eax
or edx, 0x40
mov dword [rsp + 0x2b8], edx
cmp r12d, r14d
ja 0x140141ffa
mov rdx, qword [rsp + 0x88]
mov r8, rdi
mov r9d, 0x10040
mov rcx, r13
call fcn.1401329e0
and dword [rsp + 0x2b8], 0xffffffbf
mov r8d, eax
test eax, eax
jne 0x1401402bf
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov dword [rcx], 0
test dword [rbx + 4], 0x1080000
je 0x140141fee
mov eax, dword [r15 + 0xe8]
test eax, eax
jne 0x140142037
mov rdx, qword [r15 + 0xa8]
mov ecx, dword [rsp + 0x6c]
cmp dword [rdx], ecx
jne 0x140142037
mov rax, qword [r15 + 0xd0]
test rax, rax
je 0x140141f77
mov edx, dword [rsp + 0x58]
cmp rdx, qword [rax]
setb al
movzx eax, al
test eax, eax
jne 0x140141f3c
mov rax, qword [r15 + 0xd8]
mov eax, dword [rax]
cmp dword [rsp + 0x48], eax
jne 0x140141f26
mov rcx, qword [rsp + 0xe0]
mov r8d, r12d
mov eax, r14d
sub rax, r8
shl r8, 2
mov dword [rcx], r12d
mov rdx, qword [r15 + 0xa8]
add rcx, 4
lea rdx, [rdx + rax*4 + 4]
call sub.msvcrt.dll_memcpy
sub r14d, r12d
je 0x140141989
cmp qword [r15 + 0xd0], 0
je 0x140141960
mov rax, qword [r15 + 0xd0]
mov edx, esi
jmp 0x140141594
test dil, dil
jne 0x14014177b
mov rax, qword [rcx]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xc0], rax
jmp 0x140140f9c
add dword [rsp + 0x60], 1
cmp byte [0x1403eba08], 0
mov r15, rsi
jne 0x140227251
cmp dword [rsp + 0x60], 0x2a
ja 0x140140e41
mov eax, dword [rsp + 0xb4]
jmp 0x140140dac
lea rdx, [rcx + rax*8 + 8]
add rcx, 8
call fcn.1402196d0
mov dword [rsp + 0x58], 0
mov rcx, qword [rsi + 0xd0]
jmp 0x14014173b
lea rcx, [rsi + 0xd8]
call fcn.14013b640
mov r8d, eax
test eax, eax
jne 0x1401402bc
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x14013fe31
jmp 0x140141178
mov rax, qword [rbp + 0x18]
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [rax + 4], 0
jmp 0x14013f657
mov rax, qword [rsi + 0xa0]
mov r15, rsi
xor r13d, r13d
xor ebx, ebx
mov rdx, qword [rsp + 0x278]
mov r8d, 0xe
mov qword [rsi + 0xd0], 0
mov qword [rax], rdx
mov rax, qword [rsi + 0xa8]
xor esi, esi
mov dword [rax], 0
jmp 0x140140036
xor r9d, r9d
mov r8, r12
mov rcx, r13
add qword [rsp + 0xc0], 1
call fcn.1401314e0
cmp eax, 0xffff87b2
je 0x140141886
test eax, eax
jne 0x140140d10
cmp qword [rsp + 0xd8], 4
jne 0x140140d10
mov rax, qword [rsp + 0xd0]
movabs rcx, 0xfffffffefffffffe
mov rdx, qword [rax]
lea rax, [rdx - 1]
cmp rax, rcx
ja 0x140140d10
sub rdx, 1
je 0x140141886
mov qword [rsp + 0xc0], rax
jmp 0x14014103b
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x6b], 1
jmp 0x14014098a
mov r9d, r15d
sub r9d, 1
je 0x140141905
mov r10, qword [rsi + 0xa8]
mov r11d, r9d
lea rdi, [r10 + r11*4]
jmp 0x1401418c2
sub rdi, 4
sub r9d, 1
je 0x1401418fc
mov r11d, dword [rdi]
lea r12d, [r8 + r9]
sub r11d, r8d
cmp r11d, dword [r10 + r12*4]
jne 0x1401418b8
movzx ecx, byte [rsp + 0x50]
lea r12d, [r8 + 1]
mov r11, r12
shl r12, cl
mov rcx, r12
sub rcx, 0x14
shr rcx, 2
add ecx, r8d
mov r8d, r11d
cmp r14d, ecx
ja 0x1401418b8
jmp 0x140141484
cmp r14d, ecx
jbe 0x140141484
cmp edx, 3
jbe 0x1401408be
cmp dword [rsp + 0x88], 0xfd
ja 0x1401408be
sub ecx, r8d
mov r14d, ecx
jmp 0x1401408be
mov r8d, r10d
or edx, 0xffffffff
mov dword [rsp + 0x88], r10d
shl r8, cl
mov rcx, r9
call sub.msvcrt.dll_memset
mov r10d, dword [rsp + 0x88]
mov r9, rax
jmp 0x14013fb4c
mov dword [rsp + 0x58], 0
jmp 0x14014098a
mov rdx, qword [rsp + 0x88]
mov r8, rdi
mov r9d, 8
mov rcx, r13
call fcn.140132090
mov r8d, eax
test eax, eax
je 0x140141728
jmp 0x1401402bf
mov eax, dword [r15 + 0xe8]
mov dword [rsp + 0x88], esi
test eax, eax
jne 0x140141f65
mov rcx, qword [r15 + 0xd0]
test rcx, rcx
je 0x1401419ad
mov eax, dword [rcx]
cmp dword [rsp + 0x88], eax
jne 0x140141f09
mov rax, qword [r15 + 0xa0]
mov rdx, qword [rsp + 0x278]
mov qword [rax], rdx
mov rax, qword [r15 + 0xa8]
mov dword [rax], 0
mov rdx, qword [r15 + 0x60]
mov rax, qword [r15 + 0x50]
test byte [rdx], 1
je 0x140141e1e
mov rdx, qword [r15 + 0x30]
mov qword [rax + 0x28], rdx
mov rax, qword [r15 + 0x60]
test byte [rax + 1], 1
je 0x140141e27
mov rdx, qword [r15 + 0x30]
mov rax, qword [r15 + 0x50]
xor esi, esi
cmp qword [rbp + 0x18], 0
mov qword [rax + 0x58], rdx
je 0x140141a32
mov qword [rsp + 0x270], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rsi, qword [rsp + 0x270]
mov rax, qword [0x1402b7238]
mov r12, qword [r15 + 0xc8]
pxor xmm0, xmm0
mov dword [rsp + 0x270], 0
test byte [r15 + 6], 8
movups xmmword [rsp + 0x278], xmm0
mov qword [rsp + 0x288], rax
mov edx, dword [r12 + 4]
jne 0x140141a75
cmp dword [r12], edx
jne 0x140141ecc
xor r8d, r8d
mov r14d, 1
mov ebx, 1
test edx, edx
je 0x140141b69
mov ebx, 1
mov edi, 1
mov r14, r13
jmp 0x140141acd
mov r9d, 1
test byte [rax + 0xc], 1
jne 0x140141e15
mov rdx, r14
mov rcx, r15
call fcn.140123cd0
test eax, eax
jne 0x140141b03
add ebx, 1
cmp ebx, dword [r12 + 4]
ja 0x140141e4c
mov eax, ebx
mov r13d, edi
add rax, 1
shl rax, 4
add rax, r12
mov r8, qword [rax]
test byte [r8 + 0xb], 0x40
je 0x140141aa0
mov ecx, edi
movdqu xmm6, xmmword [rax]
mov dword [rsp + 0x90], edi
add edi, 1
shl rcx, 4
movups xmmword [rcx + r12 + 0x10], xmm6
jmp 0x140141abf
mov edx, dword [rsp + 0x270]
mov r8d, eax
mov rax, r14
mov r14d, r13d
mov r13, rax
test edx, edx
jne 0x140141e5d
mov ecx, dword [r12 + 4]
cmp ebx, ecx
ja 0x140141efd
mov r11d, dword [rsp + 0x90]
sub r11d, ebx
nop word cs:[rax + rax]
mov eax, ebx
add ebx, 1
shl rax, 4
lea r9d, [rbx + r11]
movdqu xmm6, xmmword [rax + r12 + 0x10]
mov rdx, r9
shl r9, 4
movups xmmword [r9 + r12 + 0x10], xmm6
cmp ebx, ecx
jbe 0x140141b40
lea r14d, [rdx + 1]
mov eax, r14d
mov rcx, qword [0x1402b7228]
movd xmm6, edx
lea rdi, [0x1402b64d0]
add rax, 1
pshufd xmm0, xmm6, 0xe0
shl rax, 4
mov qword [r12 + rax], rdi
mov qword [r12 + rax + 8], rcx
movq qword [r12], xmm0
mov eax, dword [r15 + 0xbc]
lea eax, [rbx + rax - 1]
sub eax, edx
cmp qword [rbp + 0x18], 0
mov dword [r15 + 0xbc], eax
je 0x140141e34
lea r12, [rsp + 0xe0]
mov dword [rsp + 0x88], r8d
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov qword [rsp + 0xe0], 0
mov rcx, r12
call rdi
mov r8d, dword [rsp + 0x88]
mov rbx, qword [rsp + 0xe0]
test r8d, r8d
jne 0x140141dca
mov rax, qword [rsp + 0x98]
mov r8, qword [rax + 8]
movzx ecx, byte [rax + 0x80]
mov eax, 1
shl rax, cl
lea rdx, [r8 + rax + 0x14]
mov eax, 2
mov r9, qword [r8 + 0x1c]
shl rax, cl
mov rcx, qword [r8 + 0xc4]
lea rax, [r8 + rax + 0x14]
cmp r9, rcx
mov r11, qword [rdx + 8]
mov r9, qword [rdx + 0xb0]
je 0x140141e8c
xor ecx, ecx
cmp r11, r9
jne 0x140141e9d
mov r11, qword [rdx + 0xa8]
cmp r9, rcx
je 0x140141ea4
seta cl
add r8, 0x14
test cl, cl
cmove rdx, r8
mov r8, qword [rdx + 8]
mov rcx, qword [rdx + 0xb0]
cmp r8, rcx
je 0x140141e70
xor ecx, ecx
mov r9, qword [rax + 8]
mov r8, qword [rax + 0xb0]
cmp r9, r8
jne 0x140141ead
mov r9, qword [rax + 0xa8]
cmp r8, rcx
je 0x140141eb4
seta cl
movdqu xmm1, xmmword [r15 + 0x18]
mov r8, r12
test cl, cl
cmove rax, rdx
xor r13d, r13d
mov rdx, qword [rax]
mov qword [rsp + 0xe0], rdx
movzx edx, word [rax + 0x10]
mov word [rsp + 0xf0], dx
movzx edx, word [rax + 0x12]
mov word [rsp + 0xf2], dx
mov rdx, qword [r15 + 0xd8]
mov edx, dword [rdx]
add rdx, qword [rax + 0xb8]
movups xmmword [rsp + 0xf4], xmm1
mov eax, dword [r15 + 0x28]
mov qword [rsp + 0x198], rdx
movdqu xmm1, xmmword [r15 + 0x78]
mov dword [rsp + 0x104], eax
mov rax, qword [r15 + 0x50]
movdqu xmm2, xmmword [rax]
movups xmmword [rsp + 0x108], xmm2
movdqu xmm3, xmmword [rax + 0x10]
movdqu xmm2, xmmword [r15 + 0x88]
movups xmmword [rsp + 0x118], xmm3
movdqu xmm4, xmmword [rax + 0x20]
movups xmmword [rsp + 0x128], xmm4
movdqu xmm5, xmmword [rax + 0x30]
movups xmmword [rsp + 0x138], xmm5
movdqu xmm6, xmmword [rax + 0x40]
movups xmmword [rsp + 0x148], xmm6
movdqu xmm0, xmmword [rax + 0x50]
mov rax, qword [r15 + 0x30]
movups xmmword [rsp + 0x168], xmm1
movups xmmword [rsp + 0x158], xmm0
movups xmmword [rsp + 0x178], xmm2
movdqa xmm3, xmmword [0x1403ec450]
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x190], rax
movaps xmmword [rsp + 0x1a0], xmm3
mov edx, dword [rcx + 4]
or edx, dword [r15 + 4]
or edx, 0x40000000
call fcn.14013d130
cmp qword [rbp + 0x18], 0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8d, eax
je 0x140141df3
mov dword [rsp + 0x88], r8d
mov rcx, r12
mov qword [rsp + 0xe0], 0
call rdi
mov r13, qword [rsp + 0xe0]
mov r8d, dword [rsp + 0x88]
mov edx, 0x50
test r8d, r8d
je 0x1401401ad
mov rax, qword [rsp + 0x98]
or dword [rax + 4], 0x80000000
jmp 0x140140036
mov r9d, dword [r8 + 0xc]
jmp 0x140141ab0
mov rdx, qword [rax + 0x28]
jmp 0x1401419ee
mov rax, qword [r15 + 0x50]
mov rdx, qword [rax + 0x58]
jmp 0x140141a08
xor ebx, ebx
lea r12, [rsp + 0xe0]
xor r13d, r13d
test r8d, r8d
je 0x140141bfa
jmp 0x140141e01
mov r13, r14
mov r14d, edi
mov eax, dword [rsp + 0x270]
test eax, eax
je 0x140141ebd
mov rdx, r13
mov rcx, r15
call fcn.140136f80
mov r8d, eax
jmp 0x140141b1e
mov r9, qword [rax + 8]
mov r8, qword [rax + 0xb0]
cmp r9, r8
je 0x140141c98
xor r8d, r8d
jmp 0x140141c98
cmp r11, r9
je 0x140141c51
xor r9d, r9d
jmp 0x140141c51
mov r11, qword [rdx + 0xa8]
cmp r11, 1
jmp 0x140141c61
mov r9, qword [rax + 0xa8]
cmp r9, 1
jmp 0x140141ca8
mov edx, dword [rsp + 0x90]
xor r8d, r8d
jmp 0x140141b69
mov rcx, r12
call fcn.14021f3e0
mov ecx, dword [rax + 4]
mov r12, rax
test ecx, ecx
jne 0x140141a8b
mov dword [rsp + 0x90], 0
mov r14d, 1
mov ebx, 1
jmp 0x140141e52
mov edx, dword [rsp + 0x90]
jmp 0x140141b69
cmp byte [0x1403eba08], 2
ja 0x14022710f
cmp dword [rsp + 0x60], 8
jbe 0x140140d8a
jmp 0x1401419ba
cmp byte [0x1403eba08], 2
mov edi, dword [rsp + 0x48]
jbe 0x140140d8a
jmp 0x14022704c
cmp byte [0x1403eba08], 2
jbe 0x140140d8a
jmp 0x14022715f
cmp dword [rdx], 0
jne 0x140142075
mov eax, dword [rsi + 0xe8]
test eax, eax
je 0x1401419ad
cmp byte [0x1403eba08], 2
jbe 0x140140d8a
jmp 0x1402270e8
mov rax, qword [rsp + 0xb8]
cmp qword [r15 + 0xb0], rax
seta al
movzx eax, al
jmp 0x1401416c9
cmp byte [0x1403eba08], 2
mov dword [rsp + 0x88], esi
jbe 0x140140d8a
jmp 0x140227077
mov rax, qword [rsp + 0xd0]
sub esi, 1
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
test edx, edx
je 0x140142065
cmp rax, qword [r15 + 0xb0]
jbe 0x1401415f6
mov dword [rsp + 0x88], esi
cmp byte [0x1403eba08], 2
jbe 0x140140d8a
jmp 0x1402270a9
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x14014168a
mov edx, r12d
sub edx, r14d
cmp dword [rsp + 0x60], 4
ja 0x1401420da
cmp dword [rsp + 0x44], edx
jb 0x140142049
cmp dword [rbx + 0xd0], edx
jb 0x140142049
mov r12d, r14d
jmp 0x14014163b
mov eax, dword [r15 + 0xe8]
test eax, eax
jne 0x140141f65
mov eax, dword [rcx]
jmp 0x1401419ad
cmp byte [0x1403eba08], 2
jbe 0x140140d8a
jmp 0x140227010
lea edx, [r14 + 1]
shl rdx, 2
mov qword [rsp + 0xe8], rdx
and eax, 0xffffffbf
mov dword [rsp + 0x2b8], eax
jmp 0x140142019
mov dword [rsp + 0x88], 0xffffffff
jmp 0x140141fdc
mov qword [rsp + 0xe8], 0
mov rcx, r13
lea r8, [rsp + 0xe0]
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xd0], 0
mov eax, dword [rdx]
lea rdx, [rsp + 0xd0]
mov dword [rsp + 0x6c], eax
call fcn.140131330
mov r8d, eax
test eax, eax
jne 0x1401402bf
mov rax, qword [r15 + 0xd0]
jmp 0x14014154e
mov r12d, r14d
cmp dword [rbx + 0xd0], edx
jae 0x14014163b
lea edx, [r14 + 1]
shl rdx, 2
cmp dword [rsp + 0x60], 6
mov qword [rsp + 0xe8], rdx
ja 0x14014163b
jmp 0x140142059
mov dword [rsp + 0x30], eax
mov rax, qword [r15 + 0xa8]
lea r9, str._restart:_reclaimed_list_growth___u_____u__loose__u__n
mov r8d, 0x3341
lea rdx, str.mdbx_update_gc
mov ecx, 3
mov eax, dword [rax]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x20], eax
call fcn.14021df10
jmp 0x140140d8a
mov dword [rsp + 0x28], eax
lea r9, str._restart:_retired_list_growth___u_____u__n
mov ecx, 3
mov r8d, 0x334f
mov dword [rsp + 0x20], edi
lea rdx, str.mdbx_update_gc
call fcn.14021df10
jmp 0x140140d8a
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x28], edx
mov ecx, 3
lea r9, str._restart:_reserve_depleted__filled_gc_slot__u___lifo_reclaimed__ulli_n
mov r8d, 0x3312
lea rdx, str.mdbx_update_gc
mov dword [rsp + 0x20], eax
call fcn.14021df10
jmp 0x140140d8a
mov rdx, qword [r15 + 0xb0]
mov qword [rsp + 0x28], rax
mov r8d, 0x3308
lea r9, str._restart:_reserve_depleted__filled_slot__u__fill_id__lli___last_reclaimed__lli_n
mov eax, dword [rsp + 0x88]
mov ecx, 3
mov qword [rsp + 0x30], rdx
lea rdx, str.mdbx_update_gc
mov dword [rsp + 0x20], eax
call fcn.14021df10
jmp 0x140140d8a
mov dword [rsp + 0x20], eax
lea r9, str._restart:_got__u_loose_pages_n
mov r8d, 0x3377
lea rdx, str.mdbx_update_gc
mov ecx, 3
call fcn.14021df10
jmp 0x140140d8a
mov edi, dword [rsp + 0x60]
lea rdx, str.ignore
lea rax, str.restart
mov r8d, 0x3380
lea r9, str.__s:_reserve_excess__filled_slot__u__loop__u__n
mov ecx, 3
cmp edi, 9
mov dword [rsp + 0x30], edi
mov edi, dword [rsp + 0x88]
cmovae rax, rdx
lea rdx, str.mdbx_update_gc
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call fcn.14021df10
jmp 0x140141f16
lea rax, str._restart:_reclaimed_slots_changed
lea r9, [0x1402b4c99]
mov r8d, 0x3349
mov ecx, 3
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_update_gc
call fcn.14021df10
jmp 0x140140d8a
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
lea r9, str._restart:_reserve_depleted__reused_gc_slot__u___lifo_reclaimed__ulli_n
mov r8d, 0x320a
lea rdx, str.mdbx_update_gc
mov ecx, 3
mov dword [rsp + 0x20], eax
call fcn.14021df10
cmp dword [rsp + 0x60], 0x2a
ja 0x1402271f3
jmp 0x140140dea
mov dword [rsp + 0x28], eax
lea r9, str._restart:_reclaimed_list_growth__u_____u_n
mov ecx, 3
mov r8d, 0x32d8
mov dword [rsp + 0x20], r14d
lea rdx, str.mdbx_update_gc
call fcn.14021df10
jmp 0x140140d8a
jmp 0x140140e34
mov r8d, 0x3415
lea rdx, str.mdbx_txn_merge
lea rcx, str.err__MDBX_SUCCESS
call fcn.14021eee0
jmp 0x14013f01a
mov dword [rsp + 0x28], r11d
mov rdx, r10
mov r9, rdi
mov ecx, 3
mov dword [rsp + 0x20], eax
mov r8d, 0x34bb
mov dword [rsp + 0x88], r11d
call fcn.14021df10
mov r11d, dword [rsp + 0x88]
lea r10, str.mdbx_txn_merge
jmp 0x14013fbdd
lea rax, str._no_GC_tail_space_to_store__going_dense_mode_
lea r9, [0x1402b4c99]
mov r8d, 0x326e
mov ecx, 1
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_update_gc
call fcn.14021df10
cmp dword [rsp + 0x60], 0x2a
ja 0x1402272e5
mov eax, dword [rsp + 0xb4]
jmp 0x140140dac
mov eax, dword [rsp + 0x60]
lea r9, str.too_more_loops__u__bailout_n
mov r8d, 0x30a6
lea rdx, str.mdbx_update_gc
mov ecx, 1
mov dword [rsp + 0x20], eax
call fcn.14021df10
mov rax, qword [r15 + 0xa0]
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov rdx, qword [rsp + 0x278]
mov r8d, 0xffff87c5
mov qword [rax], rdx
mov rax, qword [r15 + 0xa8]
mov dword [rax], 0
jmp 0x140140036
jmp 0x140140e34
mov dword [rsp + 0x20], edx
lea r9, str.squash_to_end_for_shrinking_merge__u_____u_n
mov rdx, r10
mov r8d, 0x34e5
mov dword [rsp + 0x28], r13d
mov ecx, 3
call fcn.14021df10
mov eax, dword [r14 + 4]
lea r10, str.mdbx_txn_merge
jmp 0x14013fb35
mov rax, qword [rsp + 0xc8]
lea r9, str._internal_error__reservation_gc_id__lli__n
mov r8d, 0x32bb
lea rdx, str.mdbx_update_gc
mov ecx, 1
mov qword [rsp + 0x20], rax
call fcn.14021df10
jmp 0x1402272b4