Function at 0x140143550
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 0x140143d10
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 0x1401440b8
cmp dword [r15], 0x93d53a31
jne 0x1401455e6
mov eax, dword [r15 + 4]
mov edi, eax
and edi, 1
mov dword [rsp + 0x94], edi
jne 0x140143d60
test eax, 0x200000
je 0x140143d38
mov rax, qword [r15 + 0x40]
cmp qword [rax + 8], 0
mov qword [rsp + 0x98], rax
je 0x140144c70
mov eax, dword [r15 + 4]
test al, 2
jne 0x140144ad0
and eax, 0x20000
mov dword [rsp + 0x90], eax
jne 0x140144c48
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x14014363a
xor edx, edx
call fcn.140143550
mov r8d, eax
test eax, eax
jne 0x140144c30
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x138], r15
jne 0x140144c80
mov r12, qword [r15 + 8]
test r12, r12
je 0x140144700
mov rax, qword [r15 + 0xc8]
mov ecx, dword [rax + 4]
test ecx, ecx
jne 0x140143675
test byte [r15 + 4], 4
je 0x140144088
mov rax, qword [r15 + 0xd8]
mov rsi, qword [r12 + 0xd8]
mov eax, dword [rax]
mov dword [rsp + 0x6c], esi
sub eax, esi
je 0x1401436a8
mov rcx, qword [r15 + 0xa8]
mov eax, eax
mov edx, dword [rcx]
add rdx, rax
mov eax, dword [rcx - 4]
cmp rdx, rax
ja 0x140145122
mov r8, qword [r15 + 0xf0]
test r8, r8
je 0x14014371d
mov rax, qword [r12 + 0xf0]
mov r11d, dword [r8]
test rax, rax
je 0x1401436d8
mov edx, dword [rax]
mov ecx, r11d
mov eax, dword [rax - 4]
add rdx, rcx
cmp rdx, rax
ja 0x1401450fb
mov ecx, dword [r15 + 0xf8]
cmp ecx, 0x7fffffff
je 0x14014371d
cmp ecx, r11d
ja 0x14014370c
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 0x1401436f0
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 0x140145010
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 0x140143785
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.1401399c0
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 0x140143874
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 0x140143850
cmp qword [rbp + 0x18], 0
je 0x140144060
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 0x140145068
mov r14, qword [r12 + 0xc8]
mov ebx, dword [r14 + 4]
cmp dword [r14], ebx
jne 0x140145080
test ebx, ebx
je 0x1401439b5
mov edi, ebx
shl rdi, 4
add rdi, r14
jmp 0x14014392a
mov eax, dword [r13 + 0xe8]
cmp dword [r13 + 0x178], eax
jae 0x1401439a0
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 0x1401439b5
mov eax, dword [r12 + 0x28]
cmp dword [rdi + 0x18], eax
jb 0x140144058
mov r13, qword [r15 + 0x40]
mov eax, dword [r13 + 4]
test eax, 0x80000
jne 0x14014391d
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 0x1401445f0
test eax, eax
je 0x1401438f0
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 0x140143904
nop dword [rax + rax]
mov rcx, r9
call sub.msvcrt.dll_free
sub rdi, 0x10
sub ebx, 1
jne 0x14014392a
xor ebx, ebx
mov eax, 1
mov edx, dword [r14]
add rax, 1
movd xmm4, ebx
add edx, dword [r12 + 0xbc]
movq xmm6, qword [0x1402ba508]
shl rax, 4
sub edx, ebx
lea rdi, [0x1402b97b0]
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 0x140143a22
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.14013a790
mov rax, qword [r12 + 0xd8]
lea ebx, [rsi + 1]
mov edi, esi
lea rsi, [r12 + 0xa8]
cmp ebx, dword [rax]
ja 0x140143ae9
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.140222cb0
mov edx, eax
lea rcx, [rdx + 1]
shl rcx, 4
cmp dword [rsi + rcx + 8], r13d
jne 0x140143a82
test eax, eax
jne 0x140143d98
mov r11, qword [r12 + 0xf0]
test r11, r11
je 0x140143ab8
lea esi, [r13 + r13]
mov rcx, r11
mov edx, esi
call fcn.1402133f0
mov edx, eax
cmp eax, dword [r11]
ja 0x140143ab8
mov eax, eax
cmp dword [r11 + rax*4], esi
jne 0x140143ab8
test edx, edx
jne 0x1401441c1
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 0x140143a50
mov r14, qword [rsp + 0x88]
mov r15, qword [rbp + 0x10]
mov dword [rax], edi
mov rbx, qword [r12 + 0xf0]
test rbx, rbx
je 0x140143b02
mov esi, dword [rbx]
test esi, esi
jne 0x1401449d8
mov rdx, qword [r15 + 0xf0]
test rdx, rdx
je 0x140143b18
mov esi, dword [rdx]
test esi, esi
jne 0x140144070
mov rdi, qword [rsp + 0x80]
mov ebx, dword [r14 + 4]
mov esi, dword [rdi + 4]
test ebx, ebx
je 0x140143bf3
test esi, esi
je 0x140143bf3
mov r13d, dword [rsp + 0x90]
jmp 0x140143b5f
sub ebx, 1
add r13d, 1
test ebx, ebx
je 0x140143bf0
test esi, esi
je 0x140143bf0
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 0x140143fa0
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 0x140143f90
mov edx, dword [rax + 0x18]
add ecx, r8d
cmp edx, ecx
jae 0x140143b48
add edx, r10d
cmp r8d, edx
jb 0x140143e60
movzx eax, word [r11 + 0xa]
cmp ax, 0x4000
je 0x140143bde
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 0x140143b57
nop dword [rax]
add ebx, r13d
add ebx, esi
mov dword [r14], ebx
test esi, esi
je 0x140143c49
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 0x140143c3d
mov r9, qword [r12 + 0x38]
and ah, 0xdf
mov word [rcx + 0xa], ax
mov qword [rcx], r9
sub rdx, 0x10
cmp rdx, r8
jne 0x140143c20
mov ebx, dword [r14]
mov rdi, qword [rsp + 0x80]
mov eax, dword [r14 + 4]
mov r13d, dword [rdi + 4]
cmp eax, ebx
jbe 0x140143fb0
mov edi, 1
mov edx, 1
mov esi, 1
mov ecx, ebx
lea r10, str.mdbx_txn_merge
test r13d, r13d
je 0x1401446cb
mov rbx, qword [rsp + 0x80]
jmp 0x140143cb0
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 0x1401446c8
cmp edx, eax
ja 0x140144998
cmp edx, esi
jbe 0x140144588
mov r9d, edx
mov r8, r9
shl r8, 4
add r8, r14
cmp qword [r8 + 0x10], 0
je 0x140143f80
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 0x140143c90
movdqu xmm5, xmmword [rcx]
add edi, 1
movups xmmword [rsi + r14 + 0x10], xmm5
mov esi, r11d
jmp 0x140143ca7
test rcx, rcx
je 0x1401450a0
cmp dword [rcx], 0x93d53a31
jne 0x1401458ad
mov qword [rsp + 0x70], 0
jmp 0x1401435c9
mov rbx, qword [r15 + 0x70]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov eax, eax
cmp rbx, rax
je 0x1401435ea
cmp qword [r15 + 0x70], 0
mov r8d, 0xffff8930
jne 0x140143d66
nop word [rax + rax]
mov r8d, 0xffff87c2
cmp qword [rbp + 0x18], 0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
je 0x1401441a5
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 0x1401440e0
add rcx, qword [rsp + 0x88]
mov esi, 1
mov r15, qword [rcx]
test byte [rcx + 0xc], 1
jne 0x140144618
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 0x140143ed0
cmp esi, 1
ja 0x140143f29
mov esi, 1
mov r8d, esi
mov edx, r13d
mov rcx, r14
call fcn.140221950
test eax, eax
je 0x140143aca
jmp 0x14022a988
mov qword [rax + 0x10], 0
sub ebx, 1
test byte [r15 + 6], 8
jne 0x140143b4f
mov r11, qword [r15 + 0x40]
test byte [r11 + 7], 8
jne 0x1401450ab
cmp r10d, 1
jne 0x140143ec0
mov eax, dword [r11 + 0xe8]
cmp dword [r11 + 0x178], eax
jae 0x140143ec0
mov rax, qword [r11 + 0x170]
mov qword [r9], rax
mov qword [r11 + 0x170], r9
add dword [r11 + 0x178], 1
jmp 0x140143b4f
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x140143b4f
mov r9, qword [r12 + 0x40]
test byte [r9 + 7], 8
jne 0x140144cf0
cmp esi, 1
jne 0x140143f18
mov eax, dword [r9 + 0xe8]
cmp dword [r9 + 0x178], eax
jae 0x140143f18
mov rax, qword [r9 + 0x170]
mov qword [r15], rax
mov qword [r9 + 0x170], r15
add dword [r9 + 0x178], 1
jmp 0x140143e41
mov rcx, r15
call sub.msvcrt.dll_free
cmp esi, 1
jbe 0x140143e3c
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 0x140143f6e
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 0x140143f78
cmp eax, r11d
je 0x140144d20
mov edi, eax
mov r10d, r9d
sub r10d, edi
cmp esi, edi
jb 0x140143f48
mov esi, r10d
jmp 0x140143e41
add edx, 1
jmp 0x140143ca7
mov r10d, dword [r9 + 0xc]
jmp 0x140143bad
mov ecx, dword [r11 + 0xc]
jmp 0x140143b83
test r13d, r13d
je 0x140144da0
test eax, eax
je 0x140144da0
mov rsi, rdi
lea r10, str.mdbx_txn_merge
lea rdi, str.squash_to_begin_for_extending_merge__u_____u_n
jmp 0x140144000
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 0x140144300
test eax, eax
je 0x140144300
cmp ebx, eax
jbe 0x140144628
mov r8d, eax
mov rcx, r8
shl rcx, 4
add rcx, r14
cmp qword [rcx + 0x10], 0
je 0x1401441e0
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 0x140143fd8
movdqu xmm5, xmmword [rdx]
sub r13d, 1
movups xmmword [rbx + r14 + 0x10], xmm5
mov ebx, r9d
jmp 0x140143fef
lea eax, [rbx + 1]
jmp 0x1401439bc
mov qword [rsp + 0x78], 0
jmp 0x1401438a6
mov r8d, 1
mov rcx, r12
call fcn.14013a790
jmp 0x140143b18
mov eax, dword [r15 + 0x68]
cmp dword [r12 + 0x68], eax
jne 0x140143675
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xa1
jmp 0x140144c5d
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 0x1401442a8
mov rax, qword [rbp + 0x18]
mov esi, dword [rsp + 0x94]
mov dword [rax + 0xc], esi
test r14b, r14b
jne 0x1401441f0
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 0x14014425f
mov rcx, qword [0x1403eea30]
xor edx, edx
mov rax, qword [rbp + 0x18]
sub rbx, qword [rsp + 0x70]
mov dword [rax + 0x14], edx
cmp rbx, rcx
ja 0x140144ca0
mov rcx, qword [0x1403ef240]
mov rax, rbx
xor edx, edx
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x14014419e
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.140141b00
jmp 0x140143e41
sub eax, 1
jmp 0x140143fef
mov rsi, r13
mov rax, qword [0x1403eea30]
sub rsi, rbx
cmp rsi, rax
ja 0x1401451a1
mov rcx, qword [0x1403ef240]
mov rax, rsi
xor edx, edx
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x14014422a
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 [0x1403eea30]
sub rsi, r13
cmp rsi, rcx
ja 0x14014529b
mov r9, qword [0x1403ef240]
mov rax, rsi
xor edx, edx
shl rax, 0x10
div r9
mov edx, eax
test eax, eax
jne 0x140144165
test rsi, rsi
mov eax, 1
cmovne edx, eax
jmp 0x140144165
mov r12, rbx
mov rax, qword [0x1403eea30]
sub r12, rsi
cmp r12, rax
ja 0x14014513e
mov rcx, qword [0x1403ef240]
mov rax, r12
xor edx, edx
shl rax, 0x10
div rcx
mov dword [rsp + 0x94], eax
mov esi, eax
test eax, eax
jne 0x140144107
test r12, r12
mov eax, 1
cmove eax, esi
mov dword [rsp + 0x94], eax
jmp 0x140144107
mov eax, dword [r14 + 4]
mov ecx, dword [r14]
test r13d, r13d
je 0x140144346
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 0x140144328
sub eax, ecx
add dword [r12 + 0xbc], eax
mov eax, dword [r14]
lea rdi, [0x1402b97b0]
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 0x14014439f
call sub.msvcrt.dll_free
mov qword [r15 + 0xc8], 0
mov rdx, qword [r15 + 0xf0]
mov rcx, qword [r12 + 0xf0]
test rdx, rdx
je 0x1401443de
test rcx, rcx
je 0x140144698
call fcn.140213380
mov rcx, qword [r15 + 0xf0]
test rcx, rcx
je 0x1401443d6
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 0x1401443fe
mov ebx, dword [rcx]
test ebx, ebx
je 0x1401443fe
or eax, 8
mov dword [r12 + 4], eax
cmp qword [rbp + 0x18], 0
je 0x140144558
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.140141380
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 0x1401441a5
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 0x1401444c0
test rsi, rsi
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
setne al
and r12d, eax
jmp 0x1401440e0
mov rcx, qword [0x1403eea30]
mov rdi, qword [rsp + 0x78]
sub rdi, qword [rsp + 0x70]
cmp rdi, rcx
ja 0x140145244
mov r9, qword [0x1403ef240]
mov rax, rdi
xor edx, edx
shl rax, 0x10
div r9
mov edx, eax
test eax, eax
jne 0x1401444fe
test rdi, rdi
mov eax, 1
cmovne edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax], edx
test rsi, rsi
je 0x140146276
mov r15, rsi
sub r15, qword [rsp + 0x78]
cmp r15, rcx
ja 0x1401451ef
mov rcx, qword [0x1403ef240]
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 0x1401440ec
test r15, r15
mov eax, 1
cmovne edx, eax
jmp 0x1401440ec
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.140141380
jmp 0x14014446a
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 0x1401445cd
cmp ecx, r11d
je 0x1401445c9
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 0x140144590
cmp byte [0x1403eea28], 2
lea r13d, [r11 + 1]
ja 0x14022aa7a
mov edx, r13d
jmp 0x140143ca7
mov r10d, dword [r9 + 0xc]
test eax, eax
jne 0x1401463da
cmp r10d, 1
je 0x1401438f0
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x1401439a8
mov esi, dword [r15 + 0xc]
jmp 0x140143db2
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 0x140144675
cmp edx, r9d
je 0x140144671
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 0x140144638
cmp byte [0x1403eea28], 2
lea r11d, [r9 - 1]
ja 0x14022a9a6
mov eax, r11d
jmp 0x140143fef
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 0x1401443f0
mov ecx, dword [r14]
sub edx, esi
cmp esi, ecx
ja 0x140144346
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 0x1401446d8
jmp 0x140144346
xor edx, edx
mov rcx, r15
call fcn.1401399c0
mov rax, qword [r15 + 0xc8]
mov r11d, dword [rax + 4]
test r11d, r11d
jne 0x140144725
test byte [r15 + 4], 0xc
je 0x140144d2c
cmp dword [r15 + 0x68], 2
lea r13, [rsp + 0x270]
ja 0x140144b03
mov qword [rsp + 0x78], 0
cmp qword [rbp + 0x18], 0
je 0x14014476a
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.140136730
test eax, eax
jne 0x140145f58
mov rax, qword [r15 + 0xa0]
or dword [rsp + 0x2b8], 0x20
mov byte [rsp + 0x6b], 0
movdqa xmm6, xmmword [0x1402ba540]
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 0x140144829
cmp eax, dword [rbx + 0xd0]
ja 0x140144d46
mov r10d, dword [rsp + 0x80]
test r10d, r10d
je 0x14014545e
mov rax, qword [rsi + 0xd0]
test rax, rax
je 0x140144853
mov edx, dword [rsp + 0x58]
cmp rdx, qword [rax]
jb 0x1401455f1
mov rcx, rsi
call fcn.140141380
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x140144f47
cmp qword [rsi + 0xd0], 0
mov ecx, dword [rsi + 0xe8]
je 0x140145bf8
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 0x140145c5a
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 0x1401448b0
mov dword [r12], edx
mov rcx, r12
call fcn.14021f830
mov rcx, qword [rsi + 0xa8]
mov rdx, r12
call fcn.140213380
mov r14, qword [rsi + 0xc8]
xor r15d, r15d
mov edx, dword [r14 + 4]
test edx, edx
je 0x140145c50
mov edi, 1
mov r12d, 1
jmp 0x140144938
lea r8d, [rdi - 1]
lea ecx, [r15 + 1]
cmp r15d, r8d
je 0x140145098
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 0x140144eee
mov eax, edi
add rax, 1
shl rax, 4
add rax, r14
mov r9, qword [rax]
test byte [r9 + 0xb], 0x40
je 0x140144908
mov eax, dword [rbx + 4]
test eax, 0x80000
jne 0x14014492d
test eax, 0x8000000
jne 0x140145bbc
mov eax, dword [rbx + 0xe8]
cmp dword [rbx + 0x178], eax
jae 0x14014544d
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 0x14014492d
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 0x1401449a8
mov ecx, dword [r14]
jmp 0x140144346
mov ecx, dword [r12 + 0xf8]
cmp ecx, 0x7fffffff
je 0x140144a25
cmp esi, ecx
jb 0x140144a0a
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 0x1401449f0
lea eax, [rcx - 1]
mov dword [rbx], eax
mov dword [r12 + 0xf8], 0x7fffffff
mov esi, dword [rbx]
test esi, esi
je 0x140143b02
mov eax, dword [r12 + 0x28]
lea ecx, [rax + rax]
cmp dword [rbx + 4], ecx
jb 0x140144a6a
xor eax, eax
jmp 0x140144a48
add edx, 2
cmp ecx, dword [rbx + rdx*4]
ja 0x140144a51
mov edx, eax
add eax, 1
cmp eax, esi
jb 0x140144a40
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 0x140144dd0
mov r13, rax
test edi, edi
jne 0x140144abb
jmp 0x140144dd0
mov edx, edi
shr eax, 1
mov edx, dword [r13 + rdx*4]
cmp eax, edx
je 0x140144db0
setbe cl
movzx ecx, cl
sub esi, ecx
cmp eax, edx
seta al
movzx eax, al
sub edi, eax
test esi, esi
je 0x140144dd0
test edi, edi
je 0x140144dd0
mov eax, esi
mov eax, dword [rbx + rax*4]
test al, 1
je 0x140144a88
sub esi, 1
jmp 0x140144aab
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.140142c10
mov r8d, dword [rsp + 0x98]
jmp 0x140144478
mov r8d, 1
mov rdx, r15
mov rcx, r13
mov qword [rsp + 0xd8], 0x30
call fcn.140136730
mov r8d, eax
test eax, eax
jne 0x140144c30
mov ecx, dword [r15 + 0x68]
mov ebx, 2
lea rsi, [rsp + 0xe0]
cmp ecx, 2
ja 0x140144bfe
jmp 0x140144738
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 0x140144bb5
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.140137490
mov rdx, qword [rdi + 8]
mov qword [r12], rdx
test eax, eax
jne 0x1401457b8
mov ecx, dword [r15 + 0x68]
add ebx, 1
cmp ebx, ecx
jae 0x140144738
mov rax, qword [r15 + 0x60]
mov edx, ebx
test byte [rax + rdx], 1
je 0x140144bf3
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 0x140144b50
mov r8d, 0xffff87c4
nop dword [rax + rax]
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
jmp 0x140144ae6
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xb1
mov rcx, r15
call fcn.140146bc0
mov r8d, eax
jmp 0x140144478
mov r8d, 1
jmp 0x140143d66
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov r8d, 0x57
jmp 0x140144ae6
test rcx, rcx
jne 0x140144ce4
mov rcx, qword [0x1403ef240]
test rcx, rcx
je 0x140145b88
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 [0x1403eea30], rax
cmp rbx, rax
jbe 0x140144181
mov edx, 0xffffffff
jmp 0x14014419e
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 0x140143ee0
mov esi, dword [rsp + 0x58]
mov edi, r11d
jmp 0x140143e41
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xf1
jmp 0x140144c5d
lea r8d, [rax + 1]
lea r9, [rsp + 0xb4]
mov rdx, r13
mov rcx, rsi
shl r8, 2
call fcn.140140190
mov r8d, eax
test eax, eax
je 0x140144829
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 0x140144ae6
mov ecx, ebx
jmp 0x140144307
mov edx, esi
mov r8d, 1
mov rcx, r12
sub esi, 1
call fcn.140141b00
sub edi, 1
jmp 0x140144aab
mov rax, qword [rsp + 0x80]
mov edx, 1
mov esi, dword [rax + 4]
mov rdi, rax
test esi, esi
je 0x140144e60
nop word [rax + rax]
cmp dword [rbx], edx
jb 0x140144e60
mov eax, edx
mov eax, dword [rbx + rax*4]
test al, 1
jne 0x140144ec8
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 0x1401450ee
cmp r9d, r8d
jb 0x140144ee0
add r8d, r10d
lea r13d, [rdx + 1]
cmp r9d, r8d
jae 0x140144ed0
mov r8d, 1
mov rcx, r12
call fcn.140141b00
mov edx, r13d
cmp dword [rbx], edx
jae 0x140144df4
nop dword [rax]
mov r8, qword [r12 + 0xf0]
mov ecx, dword [r12 + 0xf8]
mov r11d, dword [r8]
cmp ecx, 0x7fffffff
je 0x140143b02
cmp ecx, r11d
ja 0x140144eac
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 0x140144e90
sub ecx, 1
mov dword [r8], ecx
mov dword [r12 + 0xf8], 0x7fffffff
jmp 0x140143b02
add edx, 1
jmp 0x140144df0
mov edx, r13d
jmp 0x140144df0
sub esi, 1
jne 0x140144df0
jmp 0x140144e60
lea eax, [r15 + 1]
mov rdx, qword [0x1402ba508]
add rax, 1
lea rdi, [0x1402b97b0]
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 0x140145300
test edi, edi
je 0x140145ca0
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 0x140144fd2
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 0x1401457f4
shl r8, 2
mov r9, rdi
mov rdx, r13
mov rcx, rsi
mov qword [rsp + 0xe8], r8
call fcn.140140190
mov r8, r14
mov rdx, r12
mov rcx, r13
mov r9d, 0x10000
call fcn.140137490
test eax, eax
je 0x140144fb0
mov r8d, eax
mov r15, rsi
jmp 0x140144d6f
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 0x140145bb1
lea rax, [rbx - 0x20]
shr rax, 4
sub rax, 0x12
shr rax, 1
mov dword [rdx + 8], eax
mov qword [r12 + 0xc8], rdx
jmp 0x14014373b
mov rcx, rax
call fcn.140222b70
mov qword [rsp + 0x80], rax
jmp 0x1401438c0
mov rcx, r14
call fcn.140222b70
mov ebx, dword [rax + 4]
mov r14, rax
jmp 0x1401438d5
mov r15d, ecx
jmp 0x14014492d
mov r8d, 0x57
jmp 0x1401441a5
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 0x140143e85
mov rax, qword [rcx + 0x10]
mov r10d, dword [rax + 0xc]
jmp 0x140144e2b
lea rcx, [r12 + 0xf0]
call fcn.1401400f0
mov r8d, eax
test eax, eax
jne 0x140144c30
mov r8, qword [r15 + 0xf0]
mov r11d, dword [r8]
jmp 0x1401436d8
lea rcx, [r15 + 0xa8]
call fcn.1401400f0
mov r8d, eax
test eax, eax
je 0x1401436a8
jmp 0x140144c30
mov dword [rsp + 0x94], 0xffffffff
test rax, rax
jne 0x140144107
mov rcx, qword [0x1403ef240]
test rcx, rcx
je 0x140145d9e
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 [0x1403eea30], rax
cmp r12, rax
jbe 0x1401442c5
jmp 0x140144107
test rax, rax
jne 0x1401451e5
mov rcx, qword [0x1403ef240]
test rcx, rcx
je 0x140145d07
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 [0x1403eea30], rax
cmp rsi, rax
jbe 0x14014420d
mov edx, 0xffffffff
jmp 0x14014422a
test rcx, rcx
jne 0x140145233
mov rcx, qword [0x1403ef240]
test rcx, rcx
je 0x140145cde
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 [0x1403eea30], rax
cmp r15, rax
jbe 0x140144525
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, 0xffffffff
jmp 0x1401440ec
mov edx, 0xffffffff
test rcx, rcx
jne 0x1401444fe
mov r9, qword [0x1403ef240]
test r9, r9
je 0x140145d75
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 [0x1403eea30], rcx
cmp rdi, rcx
jbe 0x1401444e1
jmp 0x1401444fe
test rcx, rcx
jne 0x1401452df
mov r9, qword [0x1403ef240]
test r9, r9
je 0x140145d4c
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 [0x1403eea30], rcx
cmp rsi, rcx
jbe 0x14014427c
mov rax, qword [rbp + 0x18]
sub rbx, qword [rsp + 0x70]
mov dword [rax + 0x14], 0xffffffff
cmp rbx, rcx
jbe 0x14014417a
jmp 0x140144ce4
mov r14d, r15d
sub r14d, dword [rsp + 0x6c]
test r14d, r14d
jle 0x140145f99
mov r9d, dword [rsp + 0x80]
test r9d, r9d
je 0x140145740
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x14014592e
mov rdx, qword [rcx]
mov r8d, dword [rbx + 0xd0]
mov eax, edx
sub eax, dword [rsp + 0x88]
cmp edx, 0x100
jbe 0x140145962
mov rax, qword [rcx + rax*8]
add dword [rsp + 0x88], 1
mov qword [rsp + 0xc8], rax
cmp r14d, r8d
ja 0x140145d30
test rax, rax
je 0x140145bde
mov rax, qword [rbx + 0x70]
mov rax, qword [rax + 0x80]
cmp rax, qword [rsp + 0xc8]
jbe 0x140145bde
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.140140190
lea r8, [rsp + 0xe0]
mov rdx, r12
mov rcx, r13
mov r9d, 0x10010
call fcn.140137490
mov r8d, eax
test eax, eax
jne 0x140144d6c
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov dword [rcx], 0
test dword [rbx + 4], 0x1080000
je 0x140145922
add dword [rsp + 0x6c], r14d
cmp qword [rsi + 0xd0], 0
je 0x14014543a
mov rax, qword [rsi + 0xa8]
mov eax, dword [rax]
cmp r15d, eax
jb 0x140145ea0
mov edx, dword [rsp + 0xb4]
mov rax, qword [rsi + 0xd8]
jmp 0x140144817
mov rcx, r9
call sub.msvcrt.dll_free
mov edx, dword [r14 + 4]
jmp 0x14014492d
cmp byte [rsp + 0x6b], 0
lea rdi, [rsp + 0xd0]
jne 0x140145535
mov r12d, dword [rsp + 0x6c]
mov r14d, dword [rsp + 0x88]
mov rax, qword [rsi + 0xb0]
cmp qword [rsp + 0xb8], rax
ja 0x140145f3c
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.140135de0
test eax, eax
jne 0x140145b60
cmp qword [rsp + 0xd8], 8
jne 0x1401457c0
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 0x1401457c0
cmp qword [rsi + 0xb0], rax
jb 0x140145ed0
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.140140190
test eax, eax
jne 0x140145004
xor edx, edx
mov rcx, r13
call fcn.1401354c0
test eax, eax
jne 0x140145004
xor r14d, r14d
xor r12d, r12d
jmp 0x14014547e
mov rax, qword [rsp + 0xb8]
cmp qword [rsi + 0xb0], rax
jb 0x140144853
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.140135de0
mov r8d, eax
test eax, eax
jne 0x140145b70
cmp qword [rsp + 0xd8], 8
jne 0x1401457c0
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 0x1401457c0
cmp rax, qword [rsi + 0xb0]
ja 0x140145ed0
xor edx, edx
mov rcx, r13
call fcn.1401354c0
mov r8d, eax
test eax, eax
jne 0x140144d6c
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
jmp 0x140145535
mov r8d, 0xffff892c
jmp 0x140143d78
xor edi, edi
cmp byte [rsp + 0x6b], 0
lea r12, [rsp + 0xd0]
lea r14, [rsp + 0xb8]
jne 0x1401456c0
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.140135f90
cmp eax, 0xffff87b2
je 0x140145683
test eax, eax
jne 0x140145004
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.140140190
test eax, eax
jne 0x140145004
xor edx, edx
mov rcx, r13
call fcn.1401354c0
test eax, eax
jne 0x140145004
mov rax, qword [rsi + 0xd0]
mov rdx, qword [rax]
cmp rdx, r15
ja 0x14014560e
lea rdx, [rax + rdx*8 + 8]
lea rcx, [rax + 8]
mov dword [rsp + 0x58], edi
call fcn.14021ce60
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x88], 0
jmp 0x140144853
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.140135f90
mov r8d, eax
cmp eax, 0xffff87b2
je 0x140145722
test eax, eax
jne 0x140144d6c
xor edx, edx
mov rcx, r13
call fcn.1401354c0
mov r8d, eax
test eax, eax
jne 0x140144d6c
mov rax, qword [rsi + 0xd0]
mov rdx, qword [rax]
cmp r15, rdx
jb 0x1401456c0
jmp 0x140145696
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x140145dc7
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 0x140145377
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
jne 0x140145d30
cmp rdx, 0x7ffe
jbe 0x140145d3e
mov edx, 0x7fff
lea ecx, [r8 + r8]
cmp r14d, ecx
jae 0x140145ee8
shr r14d, 1
jmp 0x14014536e
mov r8d, eax
jmp 0x140144c30
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 0x140144ae6
mov dword [rsp + 0xb4], edx
call fcn.14021f830
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 0x14014543a
cmp dword [rsp + 0x6c], 0
je 0x14014543a
mov r15, rsi
add dword [rsp + 0x60], 1
mov eax, dword [rsp + 0x60]
cmp eax, 0x2a
ja 0x1401458e4
mov edx, dword [rsp + 0xb4]
cmp byte [rsp + 0x6b], 0
mov eax, edx
je 0x1401458a1
mov edx, eax
mov byte [rsp + 0x6b], 1
mov rax, qword [r15 + 0xd8]
test edx, edx
je 0x1401447de
mov eax, dword [rax]
lea r9, [rsp + 0xb4]
mov rdx, r13
mov rcx, r15
lea r8d, [rax + 1]
shl r8, 2
call fcn.140140190
mov r8d, eax
test eax, eax
jne 0x140144d6f
mov edx, dword [rsp + 0xb4]
mov rax, qword [r15 + 0xd8]
jmp 0x1401447de
mov r8d, 0xffff892c
jmp 0x1401441a5
mov edx, dword [rsp + 0x88]
cmp rax, rdx
ja 0x140145b36
add dword [rsp + 0x60], 1
cmp byte [0x1403eea28], 2
mov r15, rsi
ja 0x14022a91e
cmp dword [rsp + 0x60], 0x2a
jbe 0x14014589a
cmp byte [0x1403eea28], 0
jne 0x14022aa1e
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 0x140144ae6
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x140145419
mov ecx, 0xf0
call sub.msvcrt.dll_malloc
mov rcx, rax
test rax, rax
je 0x14014628d
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 0x140145351
cmp byte [rsp + 0x6b], 0
jne 0x140145351
xor edi, edi
lea r12, [rsp + 0xa0]
and dword [rsp + 0x2b8], 0xffffffdf
jmp 0x1401459c1
mov rax, qword [rsi + 0xd0]
mov rax, qword [rax]
cmp eax, 0x100
ja 0x140145f8c
sub eax, dword [rsp + 0x88]
imul eax, dword [rbx + 0xd0]
mov edi, 1
cmp r14d, eax
jbe 0x140145f8c
mov rcx, qword [rsi + 0x40]
call fcn.14013b4a0
xor r8d, r8d
mov rdx, r13
mov rcx, r12
mov r9d, 0x1a
mov qword [rsp + 0x50], rax
call fcn.140227cb0
mov rax, qword [rsp + 0xa8]
mov r8d, eax
test eax, eax
je 0x140145990
or dword [rsp + 0x2b8], 0x20
cmp eax, 0xffff87b2
jne 0x140144d6c
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rcx]
test rax, rax
jne 0x1401461e6
mov rcx, qword [rsi + 0x40]
call fcn.14013b4a0
mov rcx, qword [rsp + 0x50]
cmp rcx, rax
jne 0x140145986
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 0x140145b36
mov edx, eax
sub edx, dword [rsp + 0x88]
imul edx, dword [rbx + 0xd0]
cmp r14d, edx
jbe 0x140145b36
mov rdx, qword [rsp + 0xc0]
cmp rdx, 1
jbe 0x1401458b8
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.140135f90
mov rdx, qword [rsp + 0x48]
test eax, eax
je 0x1401462cc
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsi + 0xd0]
call fcn.140142b50
mov r8d, eax
test eax, eax
jne 0x140144d6c
mov r8d, dword [rsp + 0x88]
test r8d, r8d
jne 0x140145f4e
add dword [rsp + 0x58], 1
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rcx]
cmp rax, 0x100
jbe 0x140145a70
test dil, dil
jne 0x140146403
mov eax, dword [rcx]
mov r8d, dword [rbx + 0xd0]
mov byte [rsp + 0x6b], 0
sub eax, dword [rsp + 0x88]
jmp 0x140145351
mov dword [rsp + 0x6c], r12d
mov r8d, eax
mov dword [rsp + 0x88], r14d
cmp r8d, 0xffff87b2
je 0x140144853
jmp 0x140144d6c
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ef240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ef240]
mov r8d, dword [rsp + 0x98]
jmp 0x140144cb5
mov r8d, 0xe
jmp 0x140144c30
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 0x140144964
cmp byte [0x1403eea28], 0
mov r15, rsi
je 0x1401458f1
jmp 0x14022aaad
cmp qword [rsi + 0xb0], 0
jne 0x14014487f
test ecx, ecx
je 0x1401448e1
mov r8, qword [rsi + 0xd8]
mov edx, dword [r8]
add rdx, rcx
mov ecx, dword [r8 - 4]
cmp rdx, rcx
ja 0x14014624a
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 0x140145c28
jmp 0x1401448e1
mov eax, 1
jmp 0x140144ef2
lea rcx, [rsi + 0xa8]
call fcn.1401400f0
mov r8d, eax
test eax, eax
jne 0x140144d6c
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 0x1401448a5
xor edx, edx
jmp 0x1401448c6
mov r8d, 9
xor edx, edx
mov rcx, r13
and dword [rsp + 0x2b8], 0xffffffdf
call fcn.140229260
or dword [rsp + 0x2b8], 0x20
mov r8d, eax
test eax, eax
je 0x140145cd2
cmp eax, 0xffff87b2
jne 0x140144d6c
mov rax, qword [rsi + 0xd8]
jmp 0x140144f6f
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ef240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ef240]
mov r8d, dword [rsp + 0x98]
jmp 0x140145204
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ef240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ef240]
mov r8d, dword [rsp + 0x98]
jmp 0x1401451b6
mov edx, 1
sub edx, dword [rsp + 0x88]
add edx, dword [rcx]
cmp edx, 1
ja 0x14014579f
jmp 0x14014536e
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ef240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r9, qword [0x1403ef240]
mov r8d, dword [rsp + 0x98]
jmp 0x1401452b0
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ef240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r9, qword [0x1403ef240]
mov r8d, dword [rsp + 0x98]
jmp 0x140145262
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ef240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ef240]
mov r8d, dword [rsp + 0x98]
jmp 0x140145162
mov rcx, qword [rsi + 0x40]
lea r12, [rsp + 0xd0]
call fcn.14013b4a0
xor r8d, r8d
xor r9d, r9d
mov rdx, r12
sub rax, 1
mov rcx, r13
mov qword [rsp + 0xc0], rax
call fcn.140135f90
mov r8d, eax
test eax, eax
jne 0x140145f74
cmp qword [rsp + 0xd8], 8
jne 0x1401457c0
mov rax, qword [rsp + 0xd0]
movabs rdi, 0xfffffffefffffffe
mov rdx, qword [rax]
lea rax, [rdx - 1]
cmp rax, rdi
ja 0x1401457c0
cmp rdx, qword [rsp + 0xc0]
ja 0x140145e43
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0xc0], 0
je 0x1401461ff
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 0x14014536e
jmp 0x14014577d
cmp dword [rsp + 0x60], 4
jbe 0x140145eb8
mov edx, eax
sub edx, r15d
cmp edx, dword [rbx + 0xd0]
jbe 0x14014543a
cmp byte [0x1403eea28], 2
mov r14d, r15d
mov r15, rsi
jbe 0x14014583a
jmp 0x14022a957
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
jmp 0x140144853
mov ecx, 0x101
cmp edx, ecx
cmovbe ecx, edx
imul ecx, r8d
cmp r14d, ecx
jb 0x140145f84
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 0x140146348
sub r14d, r8d
jmp 0x14014536e
mov dword [rsp + 0x6c], r12d
mov dword [rsp + 0x88], r14d
jmp 0x140144853
mov edi, 1
jmp 0x140145b20
mov rdx, qword [r15 + 0xa8]
mov r8d, eax
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov dword [rdx], 0
jmp 0x140144ae6
cmp eax, 0xffff87b2
je 0x140145e52
jmp 0x140144d6c
mov r14d, r8d
jmp 0x14014536e
or dword [rsp + 0x2b8], 0x20
jmp 0x14014543a
mov rcx, qword [rsi + 0xd0]
mov r15, rsi
mov rax, rcx
test rcx, rcx
je 0x1401469fe
mov esi, dword [rcx]
sub esi, dword [rsp + 0x88]
cmp dword [rdx], 0
mov dword [rsp + 0x88], esi
je 0x140146ad1
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 0x140146a5a
mov rdx, qword [rax]
add esi, 1
cmp esi, edx
ja 0x140146a41
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.140135f90
mov r8d, eax
test eax, eax
jne 0x140144d6f
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 0x140146aaa
mov rdx, qword [rsp + 0x88]
mov r8, rdi
mov r9d, 0x10040
mov rcx, r13
call fcn.140137490
and dword [rsp + 0x2b8], 0xffffffbf
mov r8d, eax
test eax, eax
jne 0x140144d6f
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov dword [rcx], 0
test dword [rbx + 4], 0x1080000
je 0x140146a9e
mov eax, dword [r15 + 0xe8]
test eax, eax
jne 0x140146ae7
mov rdx, qword [r15 + 0xa8]
mov ecx, dword [rsp + 0x6c]
cmp dword [rdx], ecx
jne 0x140146ae7
mov rax, qword [r15 + 0xd0]
test rax, rax
je 0x140146a27
mov edx, dword [rsp + 0x58]
cmp rdx, qword [rax]
setb al
movzx eax, al
test eax, eax
jne 0x1401469ec
mov rax, qword [r15 + 0xd8]
mov eax, dword [rax]
cmp dword [rsp + 0x48], eax
jne 0x1401469d6
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 0x140146439
cmp qword [r15 + 0xd0], 0
je 0x140146410
mov rax, qword [r15 + 0xd0]
mov edx, esi
jmp 0x140146044
test dil, dil
jne 0x14014622b
mov rax, qword [rcx]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xc0], rax
jmp 0x140145a4c
add dword [rsp + 0x60], 1
cmp byte [0x1403eea28], 0
mov r15, rsi
jne 0x14022a9e1
cmp dword [rsp + 0x60], 0x2a
ja 0x1401458f1
mov eax, dword [rsp + 0xb4]
jmp 0x14014585c
lea rdx, [rcx + rax*8 + 8]
add rcx, 8
call fcn.14021ce60
mov dword [rsp + 0x58], 0
mov rcx, qword [rsi + 0xd0]
jmp 0x1401461eb
lea rcx, [rsi + 0xd8]
call fcn.1401400f0
mov r8d, eax
test eax, eax
jne 0x140144d6c
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x1401448e1
jmp 0x140145c28
mov rax, qword [rbp + 0x18]
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [rax + 4], 0
jmp 0x140144107
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 0x140144ae6
xor r9d, r9d
mov r8, r12
mov rcx, r13
add qword [rsp + 0xc0], 1
call fcn.140135f90
cmp eax, 0xffff87b2
je 0x140146336
test eax, eax
jne 0x1401457c0
cmp qword [rsp + 0xd8], 4
jne 0x1401457c0
mov rax, qword [rsp + 0xd0]
movabs rcx, 0xfffffffefffffffe
mov rdx, qword [rax]
lea rax, [rdx - 1]
cmp rax, rcx
ja 0x1401457c0
sub rdx, 1
je 0x140146336
mov qword [rsp + 0xc0], rax
jmp 0x140145aeb
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x6b], 1
jmp 0x14014543a
mov r9d, r15d
sub r9d, 1
je 0x1401463b5
mov r10, qword [rsi + 0xa8]
mov r11d, r9d
lea rdi, [r10 + r11*4]
jmp 0x140146372
sub rdi, 4
sub r9d, 1
je 0x1401463ac
mov r11d, dword [rdi]
lea r12d, [r8 + r9]
sub r11d, r8d
cmp r11d, dword [r10 + r12*4]
jne 0x140146368
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 0x140146368
jmp 0x140145f34
cmp r14d, ecx
jbe 0x140145f34
cmp edx, 3
jbe 0x14014536e
cmp dword [rsp + 0x88], 0xfd
ja 0x14014536e
sub ecx, r8d
mov r14d, ecx
jmp 0x14014536e
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 0x1401445fc
mov dword [rsp + 0x58], 0
jmp 0x14014543a
mov rdx, qword [rsp + 0x88]
mov r8, rdi
mov r9d, 8
mov rcx, r13
call fcn.140136b40
mov r8d, eax
test eax, eax
je 0x1401461d8
jmp 0x140144d6f
mov eax, dword [r15 + 0xe8]
mov dword [rsp + 0x88], esi
test eax, eax
jne 0x140146a15
mov rcx, qword [r15 + 0xd0]
test rcx, rcx
je 0x14014645d
mov eax, dword [rcx]
cmp dword [rsp + 0x88], eax
jne 0x1401469b9
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 0x1401468ce
mov rdx, qword [r15 + 0x30]
mov qword [rax + 0x28], rdx
mov rax, qword [r15 + 0x60]
test byte [rax + 1], 1
je 0x1401468d7
mov rdx, qword [r15 + 0x30]
mov rax, qword [r15 + 0x50]
xor esi, esi
cmp qword [rbp + 0x18], 0
mov qword [rax + 0x58], rdx
je 0x1401464e2
mov qword [rsp + 0x270], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rsi, qword [rsp + 0x270]
mov rax, qword [0x1402ba518]
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 0x140146525
cmp dword [r12], edx
jne 0x14014697c
xor r8d, r8d
mov r14d, 1
mov ebx, 1
test edx, edx
je 0x140146619
mov ebx, 1
mov edi, 1
mov r14, r13
jmp 0x14014657d
mov r9d, 1
test byte [rax + 0xc], 1
jne 0x1401468c5
mov rdx, r14
mov rcx, r15
call fcn.140128780
test eax, eax
jne 0x1401465b3
add ebx, 1
cmp ebx, dword [r12 + 4]
ja 0x1401468fc
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 0x140146550
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 0x14014656f
mov edx, dword [rsp + 0x270]
mov r8d, eax
mov rax, r14
mov r14d, r13d
mov r13, rax
test edx, edx
jne 0x14014690d
mov ecx, dword [r12 + 4]
cmp ebx, ecx
ja 0x1401469ad
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 0x1401465f0
lea r14d, [rdx + 1]
mov eax, r14d
mov rcx, qword [0x1402ba508]
movd xmm6, edx
lea rdi, [0x1402b97b0]
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 0x1401468e4
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 0x14014687a
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 0x14014693c
xor ecx, ecx
cmp r11, r9
jne 0x14014694d
mov r11, qword [rdx + 0xa8]
cmp r9, rcx
je 0x140146954
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 0x140146920
xor ecx, ecx
mov r9, qword [rax + 8]
mov r8, qword [rax + 0xb0]
cmp r9, r8
jne 0x14014695d
mov r9, qword [rax + 0xa8]
cmp r8, rcx
je 0x140146964
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 [0x1403ef470]
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.140141be0
cmp qword [rbp + 0x18], 0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8d, eax
je 0x1401468a3
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 0x140144c5d
mov rax, qword [rsp + 0x98]
or dword [rax + 4], 0x80000000
jmp 0x140144ae6
mov r9d, dword [r8 + 0xc]
jmp 0x140146560
mov rdx, qword [rax + 0x28]
jmp 0x14014649e
mov rax, qword [r15 + 0x50]
mov rdx, qword [rax + 0x58]
jmp 0x1401464b8
xor ebx, ebx
lea r12, [rsp + 0xe0]
xor r13d, r13d
test r8d, r8d
je 0x1401466aa
jmp 0x1401468b1
mov r13, r14
mov r14d, edi
mov eax, dword [rsp + 0x270]
test eax, eax
je 0x14014696d
mov rdx, r13
mov rcx, r15
call fcn.14013ba30
mov r8d, eax
jmp 0x1401465ce
mov r9, qword [rax + 8]
mov r8, qword [rax + 0xb0]
cmp r9, r8
je 0x140146748
xor r8d, r8d
jmp 0x140146748
cmp r11, r9
je 0x140146701
xor r9d, r9d
jmp 0x140146701
mov r11, qword [rdx + 0xa8]
cmp r11, 1
jmp 0x140146711
mov r9, qword [rax + 0xa8]
cmp r9, 1
jmp 0x140146758
mov edx, dword [rsp + 0x90]
xor r8d, r8d
jmp 0x140146619
mov rcx, r12
call fcn.140222b70
mov ecx, dword [rax + 4]
mov r12, rax
test ecx, ecx
jne 0x14014653b
mov dword [rsp + 0x90], 0
mov r14d, 1
mov ebx, 1
jmp 0x140146902
mov edx, dword [rsp + 0x90]
jmp 0x140146619
cmp byte [0x1403eea28], 2
ja 0x14022a89f
cmp dword [rsp + 0x60], 8
jbe 0x14014583a
jmp 0x14014646a
cmp byte [0x1403eea28], 2
mov edi, dword [rsp + 0x48]
jbe 0x14014583a
jmp 0x14022a7dc
cmp byte [0x1403eea28], 2
jbe 0x14014583a
jmp 0x14022a8ef
cmp dword [rdx], 0
jne 0x140146b25
mov eax, dword [rsi + 0xe8]
test eax, eax
je 0x14014645d
cmp byte [0x1403eea28], 2
jbe 0x14014583a
jmp 0x14022a878
mov rax, qword [rsp + 0xb8]
cmp qword [r15 + 0xb0], rax
seta al
movzx eax, al
jmp 0x140146179
cmp byte [0x1403eea28], 2
mov dword [rsp + 0x88], esi
jbe 0x14014583a
jmp 0x14022a807
mov rax, qword [rsp + 0xd0]
sub esi, 1
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
test edx, edx
je 0x140146b15
cmp rax, qword [r15 + 0xb0]
jbe 0x1401460a6
mov dword [rsp + 0x88], esi
cmp byte [0x1403eea28], 2
jbe 0x14014583a
jmp 0x14022a839
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x14014613a
mov edx, r12d
sub edx, r14d
cmp dword [rsp + 0x60], 4
ja 0x140146b8a
cmp dword [rsp + 0x44], edx
jb 0x140146af9
cmp dword [rbx + 0xd0], edx
jb 0x140146af9
mov r12d, r14d
jmp 0x1401460eb
mov eax, dword [r15 + 0xe8]
test eax, eax
jne 0x140146a15
mov eax, dword [rcx]
jmp 0x14014645d
cmp byte [0x1403eea28], 2
jbe 0x14014583a
jmp 0x14022a7a0
lea edx, [r14 + 1]
shl rdx, 2
mov qword [rsp + 0xe8], rdx
and eax, 0xffffffbf
mov dword [rsp + 0x2b8], eax
jmp 0x140146ac9
mov dword [rsp + 0x88], 0xffffffff
jmp 0x140146a8c
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.140135de0
mov r8d, eax
test eax, eax
jne 0x140144d6f
mov rax, qword [r15 + 0xd0]
jmp 0x140145ffe
mov r12d, r14d
cmp dword [rbx + 0xd0], edx
jae 0x1401460eb
lea edx, [r14 + 1]
shl rdx, 2
cmp dword [rsp + 0x60], 6
mov qword [rsp + 0xe8], rdx
ja 0x1401460eb
jmp 0x140146b09
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.1402216a0
jmp 0x14014583a
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.1402216a0
jmp 0x14014583a
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.1402216a0
jmp 0x14014583a
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.1402216a0
jmp 0x14014583a
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.1402216a0
jmp 0x14014583a
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.1402216a0
jmp 0x1401469c6
lea rax, str._restart:_reclaimed_slots_changed
lea r9, [0x1402b7f79]
mov r8d, 0x3349
mov ecx, 3
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_update_gc
call fcn.1402216a0
jmp 0x14014583a
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.1402216a0
cmp dword [rsp + 0x60], 0x2a
ja 0x14022a983
jmp 0x14014589a
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.1402216a0
jmp 0x14014583a
jmp 0x1401458e4
mov r8d, 0x3415
lea rdx, str.mdbx_txn_merge
lea rcx, str.err__MDBX_SUCCESS
call fcn.140222670
jmp 0x140143aca
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.1402216a0
mov r11d, dword [rsp + 0x88]
lea r10, str.mdbx_txn_merge
jmp 0x14014468d
lea rax, str._no_GC_tail_space_to_store__going_dense_mode_
lea r9, [0x1402b7f79]
mov r8d, 0x326e
mov ecx, 1
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_update_gc
call fcn.1402216a0
cmp dword [rsp + 0x60], 0x2a
ja 0x14022aa75
mov eax, dword [rsp + 0xb4]
jmp 0x14014585c
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.1402216a0
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 0x140144ae6
jmp 0x1401458e4
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.1402216a0
mov eax, dword [r14 + 4]
lea r10, str.mdbx_txn_merge
jmp 0x1401445e5
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.1402216a0
jmp 0x14022aa44