Function at 0x14013dc60
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 0x14013e420
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 0x14013e7c8
cmp dword [r15], 0x93d53a31
jne 0x14013fcf6
mov eax, dword [r15 + 4]
mov edi, eax
and edi, 1
mov dword [rsp + 0x94], edi
jne 0x14013e470
test eax, 0x200000
je 0x14013e448
mov rax, qword [r15 + 0x40]
cmp qword [rax + 8], 0
mov qword [rsp + 0x98], rax
je 0x14013f380
mov eax, dword [r15 + 4]
test al, 2
jne 0x14013f1e0
and eax, 0x20000
mov dword [rsp + 0x90], eax
jne 0x14013f358
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x14013dd4a
xor edx, edx
call fcn.14013dc60
mov r8d, eax
test eax, eax
jne 0x14013f340
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x138], r15
jne 0x14013f390
mov r12, qword [r15 + 8]
test r12, r12
je 0x14013ee10
mov rax, qword [r15 + 0xc8]
mov ecx, dword [rax + 4]
test ecx, ecx
jne 0x14013dd85
test byte [r15 + 4], 4
je 0x14013e798
mov rax, qword [r15 + 0xd8]
mov rsi, qword [r12 + 0xd8]
mov eax, dword [rax]
mov dword [rsp + 0x6c], esi
sub eax, esi
je 0x14013ddb8
mov rcx, qword [r15 + 0xa8]
mov eax, eax
mov edx, dword [rcx]
add rdx, rax
mov eax, dword [rcx - 4]
cmp rdx, rax
ja 0x14013f832
mov r8, qword [r15 + 0xf0]
test r8, r8
je 0x14013de2d
mov rax, qword [r12 + 0xf0]
mov r11d, dword [r8]
test rax, rax
je 0x14013dde8
mov edx, dword [rax]
mov ecx, r11d
mov eax, dword [rax - 4]
add rdx, rcx
cmp rdx, rax
ja 0x14013f80b
mov ecx, dword [r15 + 0xf8]
cmp ecx, 0x7fffffff
je 0x14013de2d
cmp ecx, r11d
ja 0x14013de1c
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 0x14013de00
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 0x14013f720
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 0x14013de95
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.1401340d0
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 0x14013df84
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 0x14013df60
cmp qword [rbp + 0x18], 0
je 0x14013e770
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 0x14013f778
mov r14, qword [r12 + 0xc8]
mov ebx, dword [r14 + 4]
cmp dword [r14], ebx
jne 0x14013f790
test ebx, ebx
je 0x14013e0c5
mov edi, ebx
shl rdi, 4
add rdi, r14
jmp 0x14013e03a
mov eax, dword [r13 + 0xe8]
cmp dword [r13 + 0x178], eax
jae 0x14013e0b0
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 0x14013e0c5
mov eax, dword [r12 + 0x28]
cmp dword [rdi + 0x18], eax
jb 0x14013e768
mov r13, qword [r15 + 0x40]
mov eax, dword [r13 + 4]
test eax, 0x80000
jne 0x14013e02d
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 0x14013ed00
test eax, eax
je 0x14013e000
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 0x14013e014
nop dword [rax + rax]
mov rcx, r9
call sub.msvcrt.dll_free
sub rdi, 0x10
sub ebx, 1
jne 0x14013e03a
xor ebx, ebx
mov eax, 1
mov edx, dword [r14]
add rax, 1
movd xmm4, ebx
add edx, dword [r12 + 0xbc]
movq xmm6, qword [0x1402b5528]
shl rax, 4
sub edx, ebx
lea rdi, [0x1402b47d0]
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 0x14013e132
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.140134ea0
mov rax, qword [r12 + 0xd8]
lea ebx, [rsi + 1]
mov edi, esi
lea rsi, [r12 + 0xa8]
cmp ebx, dword [rax]
ja 0x14013e1f9
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.14021da60
mov edx, eax
lea rcx, [rdx + 1]
shl rcx, 4
cmp dword [rsi + rcx + 8], r13d
jne 0x14013e192
test eax, eax
jne 0x14013e4a8
mov r11, qword [r12 + 0xf0]
test r11, r11
je 0x14013e1c8
lea esi, [r13 + r13]
mov rcx, r11
mov edx, esi
call fcn.14020e1a0
mov edx, eax
cmp eax, dword [r11]
ja 0x14013e1c8
mov eax, eax
cmp dword [r11 + rax*4], esi
jne 0x14013e1c8
test edx, edx
jne 0x14013e8d1
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 0x14013e160
mov r14, qword [rsp + 0x88]
mov r15, qword [rbp + 0x10]
mov dword [rax], edi
mov rbx, qword [r12 + 0xf0]
test rbx, rbx
je 0x14013e212
mov esi, dword [rbx]
test esi, esi
jne 0x14013f0e8
mov rdx, qword [r15 + 0xf0]
test rdx, rdx
je 0x14013e228
mov esi, dword [rdx]
test esi, esi
jne 0x14013e780
mov rdi, qword [rsp + 0x80]
mov ebx, dword [r14 + 4]
mov esi, dword [rdi + 4]
test ebx, ebx
je 0x14013e303
test esi, esi
je 0x14013e303
mov r13d, dword [rsp + 0x90]
jmp 0x14013e26f
sub ebx, 1
add r13d, 1
test ebx, ebx
je 0x14013e300
test esi, esi
je 0x14013e300
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 0x14013e6b0
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 0x14013e6a0
mov edx, dword [rax + 0x18]
add ecx, r8d
cmp edx, ecx
jae 0x14013e258
add edx, r10d
cmp r8d, edx
jb 0x14013e570
movzx eax, word [r11 + 0xa]
cmp ax, 0x4000
je 0x14013e2ee
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 0x14013e267
nop dword [rax]
add ebx, r13d
add ebx, esi
mov dword [r14], ebx
test esi, esi
je 0x14013e359
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 0x14013e34d
mov r9, qword [r12 + 0x38]
and ah, 0xdf
mov word [rcx + 0xa], ax
mov qword [rcx], r9
sub rdx, 0x10
cmp rdx, r8
jne 0x14013e330
mov ebx, dword [r14]
mov rdi, qword [rsp + 0x80]
mov eax, dword [r14 + 4]
mov r13d, dword [rdi + 4]
cmp eax, ebx
jbe 0x14013e6c0
mov edi, 1
mov edx, 1
mov esi, 1
mov ecx, ebx
lea r10, str.mdbx_txn_merge
test r13d, r13d
je 0x14013eddb
mov rbx, qword [rsp + 0x80]
jmp 0x14013e3c0
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 0x14013edd8
cmp edx, eax
ja 0x14013f0a8
cmp edx, esi
jbe 0x14013ec98
mov r9d, edx
mov r8, r9
shl r8, 4
add r8, r14
cmp qword [r8 + 0x10], 0
je 0x14013e690
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 0x14013e3a0
movdqu xmm5, xmmword [rcx]
add edi, 1
movups xmmword [rsi + r14 + 0x10], xmm5
mov esi, r11d
jmp 0x14013e3b7
test rcx, rcx
je 0x14013f7b0
cmp dword [rcx], 0x93d53a31
jne 0x14013ffbd
mov qword [rsp + 0x70], 0
jmp 0x14013dcd9
mov rbx, qword [r15 + 0x70]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov eax, eax
cmp rbx, rax
je 0x14013dcfa
cmp qword [r15 + 0x70], 0
mov r8d, 0xffff8930
jne 0x14013e476
nop word [rax + rax]
mov r8d, 0xffff87c2
cmp qword [rbp + 0x18], 0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
je 0x14013e8b5
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 0x14013e7f0
add rcx, qword [rsp + 0x88]
mov esi, 1
mov r15, qword [rcx]
test byte [rcx + 0xc], 1
jne 0x14013ed28
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 0x14013e5e0
cmp esi, 1
ja 0x14013e639
mov esi, 1
mov r8d, esi
mov edx, r13d
mov rcx, r14
call fcn.14021c700
test eax, eax
je 0x14013e1da
jmp 0x140225738
mov qword [rax + 0x10], 0
sub ebx, 1
test byte [r15 + 6], 8
jne 0x14013e25f
mov r11, qword [r15 + 0x40]
test byte [r11 + 7], 8
jne 0x14013f7bb
cmp r10d, 1
jne 0x14013e5d0
mov eax, dword [r11 + 0xe8]
cmp dword [r11 + 0x178], eax
jae 0x14013e5d0
mov rax, qword [r11 + 0x170]
mov qword [r9], rax
mov qword [r11 + 0x170], r9
add dword [r11 + 0x178], 1
jmp 0x14013e25f
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x14013e25f
mov r9, qword [r12 + 0x40]
test byte [r9 + 7], 8
jne 0x14013f400
cmp esi, 1
jne 0x14013e628
mov eax, dword [r9 + 0xe8]
cmp dword [r9 + 0x178], eax
jae 0x14013e628
mov rax, qword [r9 + 0x170]
mov qword [r15], rax
mov qword [r9 + 0x170], r15
add dword [r9 + 0x178], 1
jmp 0x14013e551
mov rcx, r15
call sub.msvcrt.dll_free
cmp esi, 1
jbe 0x14013e54c
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 0x14013e67e
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 0x14013e688
cmp eax, r11d
je 0x14013f430
mov edi, eax
mov r10d, r9d
sub r10d, edi
cmp esi, edi
jb 0x14013e658
mov esi, r10d
jmp 0x14013e551
add edx, 1
jmp 0x14013e3b7
mov r10d, dword [r9 + 0xc]
jmp 0x14013e2bd
mov ecx, dword [r11 + 0xc]
jmp 0x14013e293
test r13d, r13d
je 0x14013f4b0
test eax, eax
je 0x14013f4b0
mov rsi, rdi
lea r10, str.mdbx_txn_merge
lea rdi, str.squash_to_begin_for_extending_merge__u_____u_n
jmp 0x14013e710
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 0x14013ea10
test eax, eax
je 0x14013ea10
cmp ebx, eax
jbe 0x14013ed38
mov r8d, eax
mov rcx, r8
shl rcx, 4
add rcx, r14
cmp qword [rcx + 0x10], 0
je 0x14013e8f0
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 0x14013e6e8
movdqu xmm5, xmmword [rdx]
sub r13d, 1
movups xmmword [rbx + r14 + 0x10], xmm5
mov ebx, r9d
jmp 0x14013e6ff
lea eax, [rbx + 1]
jmp 0x14013e0cc
mov qword [rsp + 0x78], 0
jmp 0x14013dfb6
mov r8d, 1
mov rcx, r12
call fcn.140134ea0
jmp 0x14013e228
mov eax, dword [r15 + 0x68]
cmp dword [r12 + 0x68], eax
jne 0x14013dd85
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xa1
jmp 0x14013f36d
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 0x14013e9b8
mov rax, qword [rbp + 0x18]
mov esi, dword [rsp + 0x94]
mov dword [rax + 0xc], esi
test r14b, r14b
jne 0x14013e900
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 0x14013e96f
mov rcx, qword [0x1403e8a10]
xor edx, edx
mov rax, qword [rbp + 0x18]
sub rbx, qword [rsp + 0x70]
mov dword [rax + 0x14], edx
cmp rbx, rcx
ja 0x14013f3b0
mov rcx, qword [0x1403e9220]
mov rax, rbx
xor edx, edx
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x14013e8ae
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.14013c210
jmp 0x14013e551
sub eax, 1
jmp 0x14013e6ff
mov rsi, r13
mov rax, qword [0x1403e8a10]
sub rsi, rbx
cmp rsi, rax
ja 0x14013f8b1
mov rcx, qword [0x1403e9220]
mov rax, rsi
xor edx, edx
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x14013e93a
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 [0x1403e8a10]
sub rsi, r13
cmp rsi, rcx
ja 0x14013f9ab
mov r9, qword [0x1403e9220]
mov rax, rsi
xor edx, edx
shl rax, 0x10
div r9
mov edx, eax
test eax, eax
jne 0x14013e875
test rsi, rsi
mov eax, 1
cmovne edx, eax
jmp 0x14013e875
mov r12, rbx
mov rax, qword [0x1403e8a10]
sub r12, rsi
cmp r12, rax
ja 0x14013f84e
mov rcx, qword [0x1403e9220]
mov rax, r12
xor edx, edx
shl rax, 0x10
div rcx
mov dword [rsp + 0x94], eax
mov esi, eax
test eax, eax
jne 0x14013e817
test r12, r12
mov eax, 1
cmove eax, esi
mov dword [rsp + 0x94], eax
jmp 0x14013e817
mov eax, dword [r14 + 4]
mov ecx, dword [r14]
test r13d, r13d
je 0x14013ea56
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 0x14013ea38
sub eax, ecx
add dword [r12 + 0xbc], eax
mov eax, dword [r14]
lea rdi, [0x1402b47d0]
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 0x14013eaaf
call sub.msvcrt.dll_free
mov qword [r15 + 0xc8], 0
mov rdx, qword [r15 + 0xf0]
mov rcx, qword [r12 + 0xf0]
test rdx, rdx
je 0x14013eaee
test rcx, rcx
je 0x14013eda8
call fcn.14020e130
mov rcx, qword [r15 + 0xf0]
test rcx, rcx
je 0x14013eae6
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 0x14013eb0e
mov ebx, dword [rcx]
test ebx, ebx
je 0x14013eb0e
or eax, 8
mov dword [r12 + 4], eax
cmp qword [rbp + 0x18], 0
je 0x14013ec68
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.14013ba90
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 0x14013e8b5
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 0x14013ebd0
test rsi, rsi
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
setne al
and r12d, eax
jmp 0x14013e7f0
mov rcx, qword [0x1403e8a10]
mov rdi, qword [rsp + 0x78]
sub rdi, qword [rsp + 0x70]
cmp rdi, rcx
ja 0x14013f954
mov r9, qword [0x1403e9220]
mov rax, rdi
xor edx, edx
shl rax, 0x10
div r9
mov edx, eax
test eax, eax
jne 0x14013ec0e
test rdi, rdi
mov eax, 1
cmovne edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax], edx
test rsi, rsi
je 0x140140986
mov r15, rsi
sub r15, qword [rsp + 0x78]
cmp r15, rcx
ja 0x14013f8ff
mov rcx, qword [0x1403e9220]
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 0x14013e7fc
test r15, r15
mov eax, 1
cmovne edx, eax
jmp 0x14013e7fc
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.14013ba90
jmp 0x14013eb7a
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 0x14013ecdd
cmp ecx, r11d
je 0x14013ecd9
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 0x14013eca0
cmp byte [0x1403e8a08], 2
lea r13d, [r11 + 1]
ja 0x14022582a
mov edx, r13d
jmp 0x14013e3b7
mov r10d, dword [r9 + 0xc]
test eax, eax
jne 0x140140aea
cmp r10d, 1
je 0x14013e000
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x14013e0b8
mov esi, dword [r15 + 0xc]
jmp 0x14013e4c2
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 0x14013ed85
cmp edx, r9d
je 0x14013ed81
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 0x14013ed48
cmp byte [0x1403e8a08], 2
lea r11d, [r9 - 1]
ja 0x140225756
mov eax, r11d
jmp 0x14013e6ff
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 0x14013eb00
mov ecx, dword [r14]
sub edx, esi
cmp esi, ecx
ja 0x14013ea56
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 0x14013ede8
jmp 0x14013ea56
xor edx, edx
mov rcx, r15
call fcn.1401340d0
mov rax, qword [r15 + 0xc8]
mov r11d, dword [rax + 4]
test r11d, r11d
jne 0x14013ee35
test byte [r15 + 4], 0xc
je 0x14013f43c
cmp dword [r15 + 0x68], 2
lea r13, [rsp + 0x270]
ja 0x14013f213
mov qword [rsp + 0x78], 0
cmp qword [rbp + 0x18], 0
je 0x14013ee7a
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.140130e40
test eax, eax
jne 0x140140668
mov rax, qword [r15 + 0xa0]
or dword [rsp + 0x2b8], 0x20
mov byte [rsp + 0x6b], 0
movdqa xmm6, xmmword [0x1402b5560]
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 0x14013ef39
cmp eax, dword [rbx + 0xd0]
ja 0x14013f456
mov r10d, dword [rsp + 0x80]
test r10d, r10d
je 0x14013fb6e
mov rax, qword [rsi + 0xd0]
test rax, rax
je 0x14013ef63
mov edx, dword [rsp + 0x58]
cmp rdx, qword [rax]
jb 0x14013fd01
mov rcx, rsi
call fcn.14013ba90
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x14013f657
cmp qword [rsi + 0xd0], 0
mov ecx, dword [rsi + 0xe8]
je 0x140140308
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 0x14014036a
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 0x14013efc0
mov dword [r12], edx
mov rcx, r12
call fcn.14021a5e0
mov rcx, qword [rsi + 0xa8]
mov rdx, r12
call fcn.14020e130
mov r14, qword [rsi + 0xc8]
xor r15d, r15d
mov edx, dword [r14 + 4]
test edx, edx
je 0x140140360
mov edi, 1
mov r12d, 1
jmp 0x14013f048
lea r8d, [rdi - 1]
lea ecx, [r15 + 1]
cmp r15d, r8d
je 0x14013f7a8
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 0x14013f5fe
mov eax, edi
add rax, 1
shl rax, 4
add rax, r14
mov r9, qword [rax]
test byte [r9 + 0xb], 0x40
je 0x14013f018
mov eax, dword [rbx + 4]
test eax, 0x80000
jne 0x14013f03d
test eax, 0x8000000
jne 0x1401402cc
mov eax, dword [rbx + 0xe8]
cmp dword [rbx + 0x178], eax
jae 0x14013fb5d
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 0x14013f03d
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 0x14013f0b8
mov ecx, dword [r14]
jmp 0x14013ea56
mov ecx, dword [r12 + 0xf8]
cmp ecx, 0x7fffffff
je 0x14013f135
cmp esi, ecx
jb 0x14013f11a
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 0x14013f100
lea eax, [rcx - 1]
mov dword [rbx], eax
mov dword [r12 + 0xf8], 0x7fffffff
mov esi, dword [rbx]
test esi, esi
je 0x14013e212
mov eax, dword [r12 + 0x28]
lea ecx, [rax + rax]
cmp dword [rbx + 4], ecx
jb 0x14013f17a
xor eax, eax
jmp 0x14013f158
add edx, 2
cmp ecx, dword [rbx + rdx*4]
ja 0x14013f161
mov edx, eax
add eax, 1
cmp eax, esi
jb 0x14013f150
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 0x14013f4e0
mov r13, rax
test edi, edi
jne 0x14013f1cb
jmp 0x14013f4e0
mov edx, edi
shr eax, 1
mov edx, dword [r13 + rdx*4]
cmp eax, edx
je 0x14013f4c0
setbe cl
movzx ecx, cl
sub esi, ecx
cmp eax, edx
seta al
movzx eax, al
sub edi, eax
test esi, esi
je 0x14013f4e0
test edi, edi
je 0x14013f4e0
mov eax, esi
mov eax, dword [rbx + rax*4]
test al, 1
je 0x14013f198
sub esi, 1
jmp 0x14013f1bb
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.14013d320
mov r8d, dword [rsp + 0x98]
jmp 0x14013eb88
mov r8d, 1
mov rdx, r15
mov rcx, r13
mov qword [rsp + 0xd8], 0x30
call fcn.140130e40
mov r8d, eax
test eax, eax
jne 0x14013f340
mov ecx, dword [r15 + 0x68]
mov ebx, 2
lea rsi, [rsp + 0xe0]
cmp ecx, 2
ja 0x14013f30e
jmp 0x14013ee48
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 0x14013f2c5
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.140131ba0
mov rdx, qword [rdi + 8]
mov qword [r12], rdx
test eax, eax
jne 0x14013fec8
mov ecx, dword [r15 + 0x68]
add ebx, 1
cmp ebx, ecx
jae 0x14013ee48
mov rax, qword [r15 + 0x60]
mov edx, ebx
test byte [rax + rdx], 1
je 0x14013f303
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 0x14013f260
mov r8d, 0xffff87c4
nop dword [rax + rax]
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
jmp 0x14013f1f6
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xb1
mov rcx, r15
call fcn.1401412d0
mov r8d, eax
jmp 0x14013eb88
mov r8d, 1
jmp 0x14013e476
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov r8d, 0x57
jmp 0x14013f1f6
test rcx, rcx
jne 0x14013f3f4
mov rcx, qword [0x1403e9220]
test rcx, rcx
je 0x140140298
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 [0x1403e8a10], rax
cmp rbx, rax
jbe 0x14013e891
mov edx, 0xffffffff
jmp 0x14013e8ae
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 0x14013e5f0
mov esi, dword [rsp + 0x58]
mov edi, r11d
jmp 0x14013e551
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xf1
jmp 0x14013f36d
lea r8d, [rax + 1]
lea r9, [rsp + 0xb4]
mov rdx, r13
mov rcx, rsi
shl r8, 2
call fcn.14013a8a0
mov r8d, eax
test eax, eax
je 0x14013ef39
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 0x14013f1f6
mov ecx, ebx
jmp 0x14013ea17
mov edx, esi
mov r8d, 1
mov rcx, r12
sub esi, 1
call fcn.14013c210
sub edi, 1
jmp 0x14013f1bb
mov rax, qword [rsp + 0x80]
mov edx, 1
mov esi, dword [rax + 4]
mov rdi, rax
test esi, esi
je 0x14013f570
nop word [rax + rax]
cmp dword [rbx], edx
jb 0x14013f570
mov eax, edx
mov eax, dword [rbx + rax*4]
test al, 1
jne 0x14013f5d8
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 0x14013f7fe
cmp r9d, r8d
jb 0x14013f5f0
add r8d, r10d
lea r13d, [rdx + 1]
cmp r9d, r8d
jae 0x14013f5e0
mov r8d, 1
mov rcx, r12
call fcn.14013c210
mov edx, r13d
cmp dword [rbx], edx
jae 0x14013f504
nop dword [rax]
mov r8, qword [r12 + 0xf0]
mov ecx, dword [r12 + 0xf8]
mov r11d, dword [r8]
cmp ecx, 0x7fffffff
je 0x14013e212
cmp ecx, r11d
ja 0x14013f5bc
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 0x14013f5a0
sub ecx, 1
mov dword [r8], ecx
mov dword [r12 + 0xf8], 0x7fffffff
jmp 0x14013e212
add edx, 1
jmp 0x14013f500
mov edx, r13d
jmp 0x14013f500
sub esi, 1
jne 0x14013f500
jmp 0x14013f570
lea eax, [r15 + 1]
mov rdx, qword [0x1402b5528]
add rax, 1
lea rdi, [0x1402b47d0]
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 0x14013fa10
test edi, edi
je 0x1401403b0
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 0x14013f6e2
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 0x14013ff04
shl r8, 2
mov r9, rdi
mov rdx, r13
mov rcx, rsi
mov qword [rsp + 0xe8], r8
call fcn.14013a8a0
mov r8, r14
mov rdx, r12
mov rcx, r13
mov r9d, 0x10000
call fcn.140131ba0
test eax, eax
je 0x14013f6c0
mov r8d, eax
mov r15, rsi
jmp 0x14013f47f
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 0x1401402c1
lea rax, [rbx - 0x20]
shr rax, 4
sub rax, 0x12
shr rax, 1
mov dword [rdx + 8], eax
mov qword [r12 + 0xc8], rdx
jmp 0x14013de4b
mov rcx, rax
call fcn.14021d920
mov qword [rsp + 0x80], rax
jmp 0x14013dfd0
mov rcx, r14
call fcn.14021d920
mov ebx, dword [rax + 4]
mov r14, rax
jmp 0x14013dfe5
mov r15d, ecx
jmp 0x14013f03d
mov r8d, 0x57
jmp 0x14013e8b5
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 0x14013e595
mov rax, qword [rcx + 0x10]
mov r10d, dword [rax + 0xc]
jmp 0x14013f53b
lea rcx, [r12 + 0xf0]
call fcn.14013a800
mov r8d, eax
test eax, eax
jne 0x14013f340
mov r8, qword [r15 + 0xf0]
mov r11d, dword [r8]
jmp 0x14013dde8
lea rcx, [r15 + 0xa8]
call fcn.14013a800
mov r8d, eax
test eax, eax
je 0x14013ddb8
jmp 0x14013f340
mov dword [rsp + 0x94], 0xffffffff
test rax, rax
jne 0x14013e817
mov rcx, qword [0x1403e9220]
test rcx, rcx
je 0x1401404ae
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 [0x1403e8a10], rax
cmp r12, rax
jbe 0x14013e9d5
jmp 0x14013e817
test rax, rax
jne 0x14013f8f5
mov rcx, qword [0x1403e9220]
test rcx, rcx
je 0x140140417
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 [0x1403e8a10], rax
cmp rsi, rax
jbe 0x14013e91d
mov edx, 0xffffffff
jmp 0x14013e93a
test rcx, rcx
jne 0x14013f943
mov rcx, qword [0x1403e9220]
test rcx, rcx
je 0x1401403ee
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 [0x1403e8a10], rax
cmp r15, rax
jbe 0x14013ec35
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, 0xffffffff
jmp 0x14013e7fc
mov edx, 0xffffffff
test rcx, rcx
jne 0x14013ec0e
mov r9, qword [0x1403e9220]
test r9, r9
je 0x140140485
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 [0x1403e8a10], rcx
cmp rdi, rcx
jbe 0x14013ebf1
jmp 0x14013ec0e
test rcx, rcx
jne 0x14013f9ef
mov r9, qword [0x1403e9220]
test r9, r9
je 0x14014045c
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 [0x1403e8a10], rcx
cmp rsi, rcx
jbe 0x14013e98c
mov rax, qword [rbp + 0x18]
sub rbx, qword [rsp + 0x70]
mov dword [rax + 0x14], 0xffffffff
cmp rbx, rcx
jbe 0x14013e88a
jmp 0x14013f3f4
mov r14d, r15d
sub r14d, dword [rsp + 0x6c]
test r14d, r14d
jle 0x1401406a9
mov r9d, dword [rsp + 0x80]
test r9d, r9d
je 0x14013fe50
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x14014003e
mov rdx, qword [rcx]
mov r8d, dword [rbx + 0xd0]
mov eax, edx
sub eax, dword [rsp + 0x88]
cmp edx, 0x100
jbe 0x140140072
mov rax, qword [rcx + rax*8]
add dword [rsp + 0x88], 1
mov qword [rsp + 0xc8], rax
cmp r14d, r8d
ja 0x140140440
test rax, rax
je 0x1401402ee
mov rax, qword [rbx + 0x70]
mov rax, qword [rax + 0x80]
cmp rax, qword [rsp + 0xc8]
jbe 0x1401402ee
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.14013a8a0
lea r8, [rsp + 0xe0]
mov rdx, r12
mov rcx, r13
mov r9d, 0x10010
call fcn.140131ba0
mov r8d, eax
test eax, eax
jne 0x14013f47c
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov dword [rcx], 0
test dword [rbx + 4], 0x1080000
je 0x140140032
add dword [rsp + 0x6c], r14d
cmp qword [rsi + 0xd0], 0
je 0x14013fb4a
mov rax, qword [rsi + 0xa8]
mov eax, dword [rax]
cmp r15d, eax
jb 0x1401405b0
mov edx, dword [rsp + 0xb4]
mov rax, qword [rsi + 0xd8]
jmp 0x14013ef27
mov rcx, r9
call sub.msvcrt.dll_free
mov edx, dword [r14 + 4]
jmp 0x14013f03d
cmp byte [rsp + 0x6b], 0
lea rdi, [rsp + 0xd0]
jne 0x14013fc45
mov r12d, dword [rsp + 0x6c]
mov r14d, dword [rsp + 0x88]
mov rax, qword [rsi + 0xb0]
cmp qword [rsp + 0xb8], rax
ja 0x14014064c
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.1401304f0
test eax, eax
jne 0x140140270
cmp qword [rsp + 0xd8], 8
jne 0x14013fed0
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 0x14013fed0
cmp qword [rsi + 0xb0], rax
jb 0x1401405e0
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.14013a8a0
test eax, eax
jne 0x14013f714
xor edx, edx
mov rcx, r13
call fcn.14012fbd0
test eax, eax
jne 0x14013f714
xor r14d, r14d
xor r12d, r12d
jmp 0x14013fb8e
mov rax, qword [rsp + 0xb8]
cmp qword [rsi + 0xb0], rax
jb 0x14013ef63
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.1401304f0
mov r8d, eax
test eax, eax
jne 0x140140280
cmp qword [rsp + 0xd8], 8
jne 0x14013fed0
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 0x14013fed0
cmp rax, qword [rsi + 0xb0]
ja 0x1401405e0
xor edx, edx
mov rcx, r13
call fcn.14012fbd0
mov r8d, eax
test eax, eax
jne 0x14013f47c
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
jmp 0x14013fc45
mov r8d, 0xffff892c
jmp 0x14013e488
xor edi, edi
cmp byte [rsp + 0x6b], 0
lea r12, [rsp + 0xd0]
lea r14, [rsp + 0xb8]
jne 0x14013fdd0
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.1401306a0
cmp eax, 0xffff87b2
je 0x14013fd93
test eax, eax
jne 0x14013f714
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.14013a8a0
test eax, eax
jne 0x14013f714
xor edx, edx
mov rcx, r13
call fcn.14012fbd0
test eax, eax
jne 0x14013f714
mov rax, qword [rsi + 0xd0]
mov rdx, qword [rax]
cmp rdx, r15
ja 0x14013fd1e
lea rdx, [rax + rdx*8 + 8]
lea rcx, [rax + 8]
mov dword [rsp + 0x58], edi
call fcn.140217c10
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x88], 0
jmp 0x14013ef63
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.1401306a0
mov r8d, eax
cmp eax, 0xffff87b2
je 0x14013fe32
test eax, eax
jne 0x14013f47c
xor edx, edx
mov rcx, r13
call fcn.14012fbd0
mov r8d, eax
test eax, eax
jne 0x14013f47c
mov rax, qword [rsi + 0xd0]
mov rdx, qword [rax]
cmp r15, rdx
jb 0x14013fdd0
jmp 0x14013fda6
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x1401404d7
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 0x14013fa87
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
jne 0x140140440
cmp rdx, 0x7ffe
jbe 0x14014044e
mov edx, 0x7fff
lea ecx, [r8 + r8]
cmp r14d, ecx
jae 0x1401405f8
shr r14d, 1
jmp 0x14013fa7e
mov r8d, eax
jmp 0x14013f340
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 0x14013f1f6
mov dword [rsp + 0xb4], edx
call fcn.14021a5e0
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 0x14013fb4a
cmp dword [rsp + 0x6c], 0
je 0x14013fb4a
mov r15, rsi
add dword [rsp + 0x60], 1
mov eax, dword [rsp + 0x60]
cmp eax, 0x2a
ja 0x14013fff4
mov edx, dword [rsp + 0xb4]
cmp byte [rsp + 0x6b], 0
mov eax, edx
je 0x14013ffb1
mov edx, eax
mov byte [rsp + 0x6b], 1
mov rax, qword [r15 + 0xd8]
test edx, edx
je 0x14013eeee
mov eax, dword [rax]
lea r9, [rsp + 0xb4]
mov rdx, r13
mov rcx, r15
lea r8d, [rax + 1]
shl r8, 2
call fcn.14013a8a0
mov r8d, eax
test eax, eax
jne 0x14013f47f
mov edx, dword [rsp + 0xb4]
mov rax, qword [r15 + 0xd8]
jmp 0x14013eeee
mov r8d, 0xffff892c
jmp 0x14013e8b5
mov edx, dword [rsp + 0x88]
cmp rax, rdx
ja 0x140140246
add dword [rsp + 0x60], 1
cmp byte [0x1403e8a08], 2
mov r15, rsi
ja 0x1402256ce
cmp dword [rsp + 0x60], 0x2a
jbe 0x14013ffaa
cmp byte [0x1403e8a08], 0
jne 0x1402257ce
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 0x14013f1f6
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x14013fb29
mov ecx, 0xf0
call sub.msvcrt.dll_malloc
mov rcx, rax
test rax, rax
je 0x14014099d
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 0x14013fa61
cmp byte [rsp + 0x6b], 0
jne 0x14013fa61
xor edi, edi
lea r12, [rsp + 0xa0]
and dword [rsp + 0x2b8], 0xffffffdf
jmp 0x1401400d1
mov rax, qword [rsi + 0xd0]
mov rax, qword [rax]
cmp eax, 0x100
ja 0x14014069c
sub eax, dword [rsp + 0x88]
imul eax, dword [rbx + 0xd0]
mov edi, 1
cmp r14d, eax
jbe 0x14014069c
mov rcx, qword [rsi + 0x40]
call fcn.140135bb0
xor r8d, r8d
mov rdx, r13
mov rcx, r12
mov r9d, 0x1a
mov qword [rsp + 0x50], rax
call fcn.140222a60
mov rax, qword [rsp + 0xa8]
mov r8d, eax
test eax, eax
je 0x1401400a0
or dword [rsp + 0x2b8], 0x20
cmp eax, 0xffff87b2
jne 0x14013f47c
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rcx]
test rax, rax
jne 0x1401408f6
mov rcx, qword [rsi + 0x40]
call fcn.140135bb0
mov rcx, qword [rsp + 0x50]
cmp rcx, rax
jne 0x140140096
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 0x140140246
mov edx, eax
sub edx, dword [rsp + 0x88]
imul edx, dword [rbx + 0xd0]
cmp r14d, edx
jbe 0x140140246
mov rdx, qword [rsp + 0xc0]
cmp rdx, 1
jbe 0x14013ffc8
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.1401306a0
mov rdx, qword [rsp + 0x48]
test eax, eax
je 0x1401409dc
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsi + 0xd0]
call fcn.14013d260
mov r8d, eax
test eax, eax
jne 0x14013f47c
mov r8d, dword [rsp + 0x88]
test r8d, r8d
jne 0x14014065e
add dword [rsp + 0x58], 1
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rcx]
cmp rax, 0x100
jbe 0x140140180
test dil, dil
jne 0x140140b13
mov eax, dword [rcx]
mov r8d, dword [rbx + 0xd0]
mov byte [rsp + 0x6b], 0
sub eax, dword [rsp + 0x88]
jmp 0x14013fa61
mov dword [rsp + 0x6c], r12d
mov r8d, eax
mov dword [rsp + 0x88], r14d
cmp r8d, 0xffff87b2
je 0x14013ef63
jmp 0x14013f47c
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403e9220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403e9220]
mov r8d, dword [rsp + 0x98]
jmp 0x14013f3c5
mov r8d, 0xe
jmp 0x14013f340
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 0x14013f074
cmp byte [0x1403e8a08], 0
mov r15, rsi
je 0x140140001
jmp 0x14022585d
cmp qword [rsi + 0xb0], 0
jne 0x14013ef8f
test ecx, ecx
je 0x14013eff1
mov r8, qword [rsi + 0xd8]
mov edx, dword [r8]
add rdx, rcx
mov ecx, dword [r8 - 4]
cmp rdx, rcx
ja 0x14014095a
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 0x140140338
jmp 0x14013eff1
mov eax, 1
jmp 0x14013f602
lea rcx, [rsi + 0xa8]
call fcn.14013a800
mov r8d, eax
test eax, eax
jne 0x14013f47c
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 0x14013efb5
xor edx, edx
jmp 0x14013efd6
mov r8d, 9
xor edx, edx
mov rcx, r13
and dword [rsp + 0x2b8], 0xffffffdf
call fcn.140224010
or dword [rsp + 0x2b8], 0x20
mov r8d, eax
test eax, eax
je 0x1401403e2
cmp eax, 0xffff87b2
jne 0x14013f47c
mov rax, qword [rsi + 0xd8]
jmp 0x14013f67f
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403e9220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403e9220]
mov r8d, dword [rsp + 0x98]
jmp 0x14013f914
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403e9220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403e9220]
mov r8d, dword [rsp + 0x98]
jmp 0x14013f8c6
mov edx, 1
sub edx, dword [rsp + 0x88]
add edx, dword [rcx]
cmp edx, 1
ja 0x14013feaf
jmp 0x14013fa7e
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403e9220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r9, qword [0x1403e9220]
mov r8d, dword [rsp + 0x98]
jmp 0x14013f9c0
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403e9220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r9, qword [0x1403e9220]
mov r8d, dword [rsp + 0x98]
jmp 0x14013f972
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403e9220]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403e9220]
mov r8d, dword [rsp + 0x98]
jmp 0x14013f872
mov rcx, qword [rsi + 0x40]
lea r12, [rsp + 0xd0]
call fcn.140135bb0
xor r8d, r8d
xor r9d, r9d
mov rdx, r12
sub rax, 1
mov rcx, r13
mov qword [rsp + 0xc0], rax
call fcn.1401306a0
mov r8d, eax
test eax, eax
jne 0x140140684
cmp qword [rsp + 0xd8], 8
jne 0x14013fed0
mov rax, qword [rsp + 0xd0]
movabs rdi, 0xfffffffefffffffe
mov rdx, qword [rax]
lea rax, [rdx - 1]
cmp rax, rdi
ja 0x14013fed0
cmp rdx, qword [rsp + 0xc0]
ja 0x140140553
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0xc0], 0
je 0x14014090f
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 0x14013fa7e
jmp 0x14013fe8d
cmp dword [rsp + 0x60], 4
jbe 0x1401405c8
mov edx, eax
sub edx, r15d
cmp edx, dword [rbx + 0xd0]
jbe 0x14013fb4a
cmp byte [0x1403e8a08], 2
mov r14d, r15d
mov r15, rsi
jbe 0x14013ff4a
jmp 0x140225707
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
jmp 0x14013ef63
mov ecx, 0x101
cmp edx, ecx
cmovbe ecx, edx
imul ecx, r8d
cmp r14d, ecx
jb 0x140140694
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 0x140140a58
sub r14d, r8d
jmp 0x14013fa7e
mov dword [rsp + 0x6c], r12d
mov dword [rsp + 0x88], r14d
jmp 0x14013ef63
mov edi, 1
jmp 0x140140230
mov rdx, qword [r15 + 0xa8]
mov r8d, eax
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov dword [rdx], 0
jmp 0x14013f1f6
cmp eax, 0xffff87b2
je 0x140140562
jmp 0x14013f47c
mov r14d, r8d
jmp 0x14013fa7e
or dword [rsp + 0x2b8], 0x20
jmp 0x14013fb4a
mov rcx, qword [rsi + 0xd0]
mov r15, rsi
mov rax, rcx
test rcx, rcx
je 0x14014110e
mov esi, dword [rcx]
sub esi, dword [rsp + 0x88]
cmp dword [rdx], 0
mov dword [rsp + 0x88], esi
je 0x1401411e1
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 0x14014116a
mov rdx, qword [rax]
add esi, 1
cmp esi, edx
ja 0x140141151
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.1401306a0
mov r8d, eax
test eax, eax
jne 0x14013f47f
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 0x1401411ba
mov rdx, qword [rsp + 0x88]
mov r8, rdi
mov r9d, 0x10040
mov rcx, r13
call fcn.140131ba0
and dword [rsp + 0x2b8], 0xffffffbf
mov r8d, eax
test eax, eax
jne 0x14013f47f
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov dword [rcx], 0
test dword [rbx + 4], 0x1080000
je 0x1401411ae
mov eax, dword [r15 + 0xe8]
test eax, eax
jne 0x1401411f7
mov rdx, qword [r15 + 0xa8]
mov ecx, dword [rsp + 0x6c]
cmp dword [rdx], ecx
jne 0x1401411f7
mov rax, qword [r15 + 0xd0]
test rax, rax
je 0x140141137
mov edx, dword [rsp + 0x58]
cmp rdx, qword [rax]
setb al
movzx eax, al
test eax, eax
jne 0x1401410fc
mov rax, qword [r15 + 0xd8]
mov eax, dword [rax]
cmp dword [rsp + 0x48], eax
jne 0x1401410e6
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 0x140140b49
cmp qword [r15 + 0xd0], 0
je 0x140140b20
mov rax, qword [r15 + 0xd0]
mov edx, esi
jmp 0x140140754
test dil, dil
jne 0x14014093b
mov rax, qword [rcx]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xc0], rax
jmp 0x14014015c
add dword [rsp + 0x60], 1
cmp byte [0x1403e8a08], 0
mov r15, rsi
jne 0x140225791
cmp dword [rsp + 0x60], 0x2a
ja 0x140140001
mov eax, dword [rsp + 0xb4]
jmp 0x14013ff6c
lea rdx, [rcx + rax*8 + 8]
add rcx, 8
call fcn.140217c10
mov dword [rsp + 0x58], 0
mov rcx, qword [rsi + 0xd0]
jmp 0x1401408fb
lea rcx, [rsi + 0xd8]
call fcn.14013a800
mov r8d, eax
test eax, eax
jne 0x14013f47c
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x14013eff1
jmp 0x140140338
mov rax, qword [rbp + 0x18]
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [rax + 4], 0
jmp 0x14013e817
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 0x14013f1f6
xor r9d, r9d
mov r8, r12
mov rcx, r13
add qword [rsp + 0xc0], 1
call fcn.1401306a0
cmp eax, 0xffff87b2
je 0x140140a46
test eax, eax
jne 0x14013fed0
cmp qword [rsp + 0xd8], 4
jne 0x14013fed0
mov rax, qword [rsp + 0xd0]
movabs rcx, 0xfffffffefffffffe
mov rdx, qword [rax]
lea rax, [rdx - 1]
cmp rax, rcx
ja 0x14013fed0
sub rdx, 1
je 0x140140a46
mov qword [rsp + 0xc0], rax
jmp 0x1401401fb
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x6b], 1
jmp 0x14013fb4a
mov r9d, r15d
sub r9d, 1
je 0x140140ac5
mov r10, qword [rsi + 0xa8]
mov r11d, r9d
lea rdi, [r10 + r11*4]
jmp 0x140140a82
sub rdi, 4
sub r9d, 1
je 0x140140abc
mov r11d, dword [rdi]
lea r12d, [r8 + r9]
sub r11d, r8d
cmp r11d, dword [r10 + r12*4]
jne 0x140140a78
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 0x140140a78
jmp 0x140140644
cmp r14d, ecx
jbe 0x140140644
cmp edx, 3
jbe 0x14013fa7e
cmp dword [rsp + 0x88], 0xfd
ja 0x14013fa7e
sub ecx, r8d
mov r14d, ecx
jmp 0x14013fa7e
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 0x14013ed0c
mov dword [rsp + 0x58], 0
jmp 0x14013fb4a
mov rdx, qword [rsp + 0x88]
mov r8, rdi
mov r9d, 8
mov rcx, r13
call fcn.140131250
mov r8d, eax
test eax, eax
je 0x1401408e8
jmp 0x14013f47f
mov eax, dword [r15 + 0xe8]
mov dword [rsp + 0x88], esi
test eax, eax
jne 0x140141125
mov rcx, qword [r15 + 0xd0]
test rcx, rcx
je 0x140140b6d
mov eax, dword [rcx]
cmp dword [rsp + 0x88], eax
jne 0x1401410c9
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 0x140140fde
mov rdx, qword [r15 + 0x30]
mov qword [rax + 0x28], rdx
mov rax, qword [r15 + 0x60]
test byte [rax + 1], 1
je 0x140140fe7
mov rdx, qword [r15 + 0x30]
mov rax, qword [r15 + 0x50]
xor esi, esi
cmp qword [rbp + 0x18], 0
mov qword [rax + 0x58], rdx
je 0x140140bf2
mov qword [rsp + 0x270], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rsi, qword [rsp + 0x270]
mov rax, qword [0x1402b5538]
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 0x140140c35
cmp dword [r12], edx
jne 0x14014108c
xor r8d, r8d
mov r14d, 1
mov ebx, 1
test edx, edx
je 0x140140d29
mov ebx, 1
mov edi, 1
mov r14, r13
jmp 0x140140c8d
mov r9d, 1
test byte [rax + 0xc], 1
jne 0x140140fd5
mov rdx, r14
mov rcx, r15
call fcn.140122e90
test eax, eax
jne 0x140140cc3
add ebx, 1
cmp ebx, dword [r12 + 4]
ja 0x14014100c
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 0x140140c60
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 0x140140c7f
mov edx, dword [rsp + 0x270]
mov r8d, eax
mov rax, r14
mov r14d, r13d
mov r13, rax
test edx, edx
jne 0x14014101d
mov ecx, dword [r12 + 4]
cmp ebx, ecx
ja 0x1401410bd
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 0x140140d00
lea r14d, [rdx + 1]
mov eax, r14d
mov rcx, qword [0x1402b5528]
movd xmm6, edx
lea rdi, [0x1402b47d0]
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 0x140140ff4
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 0x140140f8a
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 0x14014104c
xor ecx, ecx
cmp r11, r9
jne 0x14014105d
mov r11, qword [rdx + 0xa8]
cmp r9, rcx
je 0x140141064
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 0x140141030
xor ecx, ecx
mov r9, qword [rax + 8]
mov r8, qword [rax + 0xb0]
cmp r9, r8
jne 0x14014106d
mov r9, qword [rax + 0xa8]
cmp r8, rcx
je 0x140141074
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 [0x1403e9450]
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.14013c2f0
cmp qword [rbp + 0x18], 0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8d, eax
je 0x140140fb3
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 0x14013f36d
mov rax, qword [rsp + 0x98]
or dword [rax + 4], 0x80000000
jmp 0x14013f1f6
mov r9d, dword [r8 + 0xc]
jmp 0x140140c70
mov rdx, qword [rax + 0x28]
jmp 0x140140bae
mov rax, qword [r15 + 0x50]
mov rdx, qword [rax + 0x58]
jmp 0x140140bc8
xor ebx, ebx
lea r12, [rsp + 0xe0]
xor r13d, r13d
test r8d, r8d
je 0x140140dba
jmp 0x140140fc1
mov r13, r14
mov r14d, edi
mov eax, dword [rsp + 0x270]
test eax, eax
je 0x14014107d
mov rdx, r13
mov rcx, r15
call fcn.140136140
mov r8d, eax
jmp 0x140140cde
mov r9, qword [rax + 8]
mov r8, qword [rax + 0xb0]
cmp r9, r8
je 0x140140e58
xor r8d, r8d
jmp 0x140140e58
cmp r11, r9
je 0x140140e11
xor r9d, r9d
jmp 0x140140e11
mov r11, qword [rdx + 0xa8]
cmp r11, 1
jmp 0x140140e21
mov r9, qword [rax + 0xa8]
cmp r9, 1
jmp 0x140140e68
mov edx, dword [rsp + 0x90]
xor r8d, r8d
jmp 0x140140d29
mov rcx, r12
call fcn.14021d920
mov ecx, dword [rax + 4]
mov r12, rax
test ecx, ecx
jne 0x140140c4b
mov dword [rsp + 0x90], 0
mov r14d, 1
mov ebx, 1
jmp 0x140141012
mov edx, dword [rsp + 0x90]
jmp 0x140140d29
cmp byte [0x1403e8a08], 2
ja 0x14022564f
cmp dword [rsp + 0x60], 8
jbe 0x14013ff4a
jmp 0x140140b7a
cmp byte [0x1403e8a08], 2
mov edi, dword [rsp + 0x48]
jbe 0x14013ff4a
jmp 0x14022558c
cmp byte [0x1403e8a08], 2
jbe 0x14013ff4a
jmp 0x14022569f
cmp dword [rdx], 0
jne 0x140141235
mov eax, dword [rsi + 0xe8]
test eax, eax
je 0x140140b6d
cmp byte [0x1403e8a08], 2
jbe 0x14013ff4a
jmp 0x140225628
mov rax, qword [rsp + 0xb8]
cmp qword [r15 + 0xb0], rax
seta al
movzx eax, al
jmp 0x140140889
cmp byte [0x1403e8a08], 2
mov dword [rsp + 0x88], esi
jbe 0x14013ff4a
jmp 0x1402255b7
mov rax, qword [rsp + 0xd0]
sub esi, 1
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
test edx, edx
je 0x140141225
cmp rax, qword [r15 + 0xb0]
jbe 0x1401407b6
mov dword [rsp + 0x88], esi
cmp byte [0x1403e8a08], 2
jbe 0x14013ff4a
jmp 0x1402255e9
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x14014084a
mov edx, r12d
sub edx, r14d
cmp dword [rsp + 0x60], 4
ja 0x14014129a
cmp dword [rsp + 0x44], edx
jb 0x140141209
cmp dword [rbx + 0xd0], edx
jb 0x140141209
mov r12d, r14d
jmp 0x1401407fb
mov eax, dword [r15 + 0xe8]
test eax, eax
jne 0x140141125
mov eax, dword [rcx]
jmp 0x140140b6d
cmp byte [0x1403e8a08], 2
jbe 0x14013ff4a
jmp 0x140225550
lea edx, [r14 + 1]
shl rdx, 2
mov qword [rsp + 0xe8], rdx
and eax, 0xffffffbf
mov dword [rsp + 0x2b8], eax
jmp 0x1401411d9
mov dword [rsp + 0x88], 0xffffffff
jmp 0x14014119c
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.1401304f0
mov r8d, eax
test eax, eax
jne 0x14013f47f
mov rax, qword [r15 + 0xd0]
jmp 0x14014070e
mov r12d, r14d
cmp dword [rbx + 0xd0], edx
jae 0x1401407fb
lea edx, [r14 + 1]
shl rdx, 2
cmp dword [rsp + 0x60], 6
mov qword [rsp + 0xe8], rdx
ja 0x1401407fb
jmp 0x140141219
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.14021c450
jmp 0x14013ff4a
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.14021c450
jmp 0x14013ff4a
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.14021c450
jmp 0x14013ff4a
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.14021c450
jmp 0x14013ff4a
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.14021c450
jmp 0x14013ff4a
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.14021c450
jmp 0x1401410d6
lea rax, str._restart:_reclaimed_slots_changed
lea r9, [0x1402b2f99]
mov r8d, 0x3349
mov ecx, 3
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_update_gc
call fcn.14021c450
jmp 0x14013ff4a
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.14021c450
cmp dword [rsp + 0x60], 0x2a
ja 0x140225733
jmp 0x14013ffaa
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.14021c450
jmp 0x14013ff4a
jmp 0x14013fff4
mov r8d, 0x3415
lea rdx, str.mdbx_txn_merge
lea rcx, str.err__MDBX_SUCCESS
call fcn.14021d420
jmp 0x14013e1da
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.14021c450
mov r11d, dword [rsp + 0x88]
lea r10, str.mdbx_txn_merge
jmp 0x14013ed9d
lea rax, str._no_GC_tail_space_to_store__going_dense_mode_
lea r9, [0x1402b2f99]
mov r8d, 0x326e
mov ecx, 1
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_update_gc
call fcn.14021c450
cmp dword [rsp + 0x60], 0x2a
ja 0x140225825
mov eax, dword [rsp + 0xb4]
jmp 0x14013ff6c
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.14021c450
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 0x14013f1f6
jmp 0x14013fff4
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.14021c450
mov eax, dword [r14 + 4]
lea r10, str.mdbx_txn_merge
jmp 0x14013ecf5
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.14021c450
jmp 0x1402257f4