Function at 0x140140df0
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 0x1401415b0
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 0x140141958
cmp dword [r15], 0x93d53a31
jne 0x140142e86
mov eax, dword [r15 + 4]
mov edi, eax
and edi, 1
mov dword [rsp + 0x94], edi
jne 0x140141600
test eax, 0x200000
je 0x1401415d8
mov rax, qword [r15 + 0x40]
cmp qword [rax + 8], 0
mov qword [rsp + 0x98], rax
je 0x140142510
mov eax, dword [r15 + 4]
test al, 2
jne 0x140142370
and eax, 0x20000
mov dword [rsp + 0x90], eax
jne 0x1401424e8
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x140140eda
xor edx, edx
call fcn.140140df0
mov r8d, eax
test eax, eax
jne 0x1401424d0
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x138], r15
jne 0x140142520
mov r12, qword [r15 + 8]
test r12, r12
je 0x140141fa0
mov rax, qword [r15 + 0xc8]
mov ecx, dword [rax + 4]
test ecx, ecx
jne 0x140140f15
test byte [r15 + 4], 4
je 0x140141928
mov rax, qword [r15 + 0xd8]
mov rsi, qword [r12 + 0xd8]
mov eax, dword [rax]
mov dword [rsp + 0x6c], esi
sub eax, esi
je 0x140140f48
mov rcx, qword [r15 + 0xa8]
mov eax, eax
mov edx, dword [rcx]
add rdx, rax
mov eax, dword [rcx - 4]
cmp rdx, rax
ja 0x1401429c2
mov r8, qword [r15 + 0xf0]
test r8, r8
je 0x140140fbd
mov rax, qword [r12 + 0xf0]
mov r11d, dword [r8]
test rax, rax
je 0x140140f78
mov edx, dword [rax]
mov ecx, r11d
mov eax, dword [rax - 4]
add rdx, rcx
cmp rdx, rax
ja 0x14014299b
mov ecx, dword [r15 + 0xf8]
cmp ecx, 0x7fffffff
je 0x140140fbd
cmp ecx, r11d
ja 0x140140fac
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 0x140140f90
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 0x1401428b0
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 0x140141025
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.140137260
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 0x140141114
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 0x1401410f0
cmp qword [rbp + 0x18], 0
je 0x140141900
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 0x140142908
mov r14, qword [r12 + 0xc8]
mov ebx, dword [r14 + 4]
cmp dword [r14], ebx
jne 0x140142920
test ebx, ebx
je 0x140141255
mov edi, ebx
shl rdi, 4
add rdi, r14
jmp 0x1401411ca
mov eax, dword [r13 + 0xe8]
cmp dword [r13 + 0x178], eax
jae 0x140141240
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 0x140141255
mov eax, dword [r12 + 0x28]
cmp dword [rdi + 0x18], eax
jb 0x1401418f8
mov r13, qword [r15 + 0x40]
mov eax, dword [r13 + 4]
test eax, 0x80000
jne 0x1401411bd
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 0x140141e90
test eax, eax
je 0x140141190
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 0x1401411a4
nop dword [rax + rax]
mov rcx, r9
call sub.msvcrt.dll_free
sub rdi, 0x10
sub ebx, 1
jne 0x1401411ca
xor ebx, ebx
mov eax, 1
mov edx, dword [r14]
add rax, 1
movd xmm4, ebx
add edx, dword [r12 + 0xbc]
movq xmm6, qword [0x1402b6ec8]
shl rax, 4
sub edx, ebx
lea rdi, [0x1402b6170]
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 0x1401412c2
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.140138030
mov rax, qword [r12 + 0xd8]
lea ebx, [rsi + 1]
mov edi, esi
lea rsi, [r12 + 0xa8]
cmp ebx, dword [rax]
ja 0x140141389
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.14021fd40
mov edx, eax
lea rcx, [rdx + 1]
shl rcx, 4
cmp dword [rsi + rcx + 8], r13d
jne 0x140141322
test eax, eax
jne 0x140141638
mov r11, qword [r12 + 0xf0]
test r11, r11
je 0x140141358
lea esi, [r13 + r13]
mov rcx, r11
mov edx, esi
call fcn.140210480
mov edx, eax
cmp eax, dword [r11]
ja 0x140141358
mov eax, eax
cmp dword [r11 + rax*4], esi
jne 0x140141358
test edx, edx
jne 0x140141a61
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 0x1401412f0
mov r14, qword [rsp + 0x88]
mov r15, qword [rbp + 0x10]
mov dword [rax], edi
mov rbx, qword [r12 + 0xf0]
test rbx, rbx
je 0x1401413a2
mov esi, dword [rbx]
test esi, esi
jne 0x140142278
mov rdx, qword [r15 + 0xf0]
test rdx, rdx
je 0x1401413b8
mov esi, dword [rdx]
test esi, esi
jne 0x140141910
mov rdi, qword [rsp + 0x80]
mov ebx, dword [r14 + 4]
mov esi, dword [rdi + 4]
test ebx, ebx
je 0x140141493
test esi, esi
je 0x140141493
mov r13d, dword [rsp + 0x90]
jmp 0x1401413ff
sub ebx, 1
add r13d, 1
test ebx, ebx
je 0x140141490
test esi, esi
je 0x140141490
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 0x140141840
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 0x140141830
mov edx, dword [rax + 0x18]
add ecx, r8d
cmp edx, ecx
jae 0x1401413e8
add edx, r10d
cmp r8d, edx
jb 0x140141700
movzx eax, word [r11 + 0xa]
cmp ax, 0x4000
je 0x14014147e
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 0x1401413f7
nop dword [rax]
add ebx, r13d
add ebx, esi
mov dword [r14], ebx
test esi, esi
je 0x1401414e9
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 0x1401414dd
mov r9, qword [r12 + 0x38]
and ah, 0xdf
mov word [rcx + 0xa], ax
mov qword [rcx], r9
sub rdx, 0x10
cmp rdx, r8
jne 0x1401414c0
mov ebx, dword [r14]
mov rdi, qword [rsp + 0x80]
mov eax, dword [r14 + 4]
mov r13d, dword [rdi + 4]
cmp eax, ebx
jbe 0x140141850
mov edi, 1
mov edx, 1
mov esi, 1
mov ecx, ebx
lea r10, str.mdbx_txn_merge
test r13d, r13d
je 0x140141f6b
mov rbx, qword [rsp + 0x80]
jmp 0x140141550
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 0x140141f68
cmp edx, eax
ja 0x140142238
cmp edx, esi
jbe 0x140141e28
mov r9d, edx
mov r8, r9
shl r8, 4
add r8, r14
cmp qword [r8 + 0x10], 0
je 0x140141820
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 0x140141530
movdqu xmm5, xmmword [rcx]
add edi, 1
movups xmmword [rsi + r14 + 0x10], xmm5
mov esi, r11d
jmp 0x140141547
test rcx, rcx
je 0x140142940
cmp dword [rcx], 0x93d53a31
jne 0x14014314d
mov qword [rsp + 0x70], 0
jmp 0x140140e69
mov rbx, qword [r15 + 0x70]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov eax, eax
cmp rbx, rax
je 0x140140e8a
cmp qword [r15 + 0x70], 0
mov r8d, 0xffff8930
jne 0x140141606
nop word [rax + rax]
mov r8d, 0xffff87c2
cmp qword [rbp + 0x18], 0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
je 0x140141a45
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 0x140141980
add rcx, qword [rsp + 0x88]
mov esi, 1
mov r15, qword [rcx]
test byte [rcx + 0xc], 1
jne 0x140141eb8
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 0x140141770
cmp esi, 1
ja 0x1401417c9
mov esi, 1
mov r8d, esi
mov edx, r13d
mov rcx, r14
call fcn.14021e9e0
test eax, eax
je 0x14014136a
jmp 0x140227a18
mov qword [rax + 0x10], 0
sub ebx, 1
test byte [r15 + 6], 8
jne 0x1401413ef
mov r11, qword [r15 + 0x40]
test byte [r11 + 7], 8
jne 0x14014294b
cmp r10d, 1
jne 0x140141760
mov eax, dword [r11 + 0xe8]
cmp dword [r11 + 0x178], eax
jae 0x140141760
mov rax, qword [r11 + 0x170]
mov qword [r9], rax
mov qword [r11 + 0x170], r9
add dword [r11 + 0x178], 1
jmp 0x1401413ef
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x1401413ef
mov r9, qword [r12 + 0x40]
test byte [r9 + 7], 8
jne 0x140142590
cmp esi, 1
jne 0x1401417b8
mov eax, dword [r9 + 0xe8]
cmp dword [r9 + 0x178], eax
jae 0x1401417b8
mov rax, qword [r9 + 0x170]
mov qword [r15], rax
mov qword [r9 + 0x170], r15
add dword [r9 + 0x178], 1
jmp 0x1401416e1
mov rcx, r15
call sub.msvcrt.dll_free
cmp esi, 1
jbe 0x1401416dc
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 0x14014180e
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 0x140141818
cmp eax, r11d
je 0x1401425c0
mov edi, eax
mov r10d, r9d
sub r10d, edi
cmp esi, edi
jb 0x1401417e8
mov esi, r10d
jmp 0x1401416e1
add edx, 1
jmp 0x140141547
mov r10d, dword [r9 + 0xc]
jmp 0x14014144d
mov ecx, dword [r11 + 0xc]
jmp 0x140141423
test r13d, r13d
je 0x140142640
test eax, eax
je 0x140142640
mov rsi, rdi
lea r10, str.mdbx_txn_merge
lea rdi, str.squash_to_begin_for_extending_merge__u_____u_n
jmp 0x1401418a0
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 0x140141ba0
test eax, eax
je 0x140141ba0
cmp ebx, eax
jbe 0x140141ec8
mov r8d, eax
mov rcx, r8
shl rcx, 4
add rcx, r14
cmp qword [rcx + 0x10], 0
je 0x140141a80
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 0x140141878
movdqu xmm5, xmmword [rdx]
sub r13d, 1
movups xmmword [rbx + r14 + 0x10], xmm5
mov ebx, r9d
jmp 0x14014188f
lea eax, [rbx + 1]
jmp 0x14014125c
mov qword [rsp + 0x78], 0
jmp 0x140141146
mov r8d, 1
mov rcx, r12
call fcn.140138030
jmp 0x1401413b8
mov eax, dword [r15 + 0x68]
cmp dword [r12 + 0x68], eax
jne 0x140140f15
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xa1
jmp 0x1401424fd
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 0x140141b48
mov rax, qword [rbp + 0x18]
mov esi, dword [rsp + 0x94]
mov dword [rax + 0xc], esi
test r14b, r14b
jne 0x140141a90
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 0x140141aff
mov rcx, qword [0x1403eba30]
xor edx, edx
mov rax, qword [rbp + 0x18]
sub rbx, qword [rsp + 0x70]
mov dword [rax + 0x14], edx
cmp rbx, rcx
ja 0x140142540
mov rcx, qword [0x1403ec240]
mov rax, rbx
xor edx, edx
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x140141a3e
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.14013f3a0
jmp 0x1401416e1
sub eax, 1
jmp 0x14014188f
mov rsi, r13
mov rax, qword [0x1403eba30]
sub rsi, rbx
cmp rsi, rax
ja 0x140142a41
mov rcx, qword [0x1403ec240]
mov rax, rsi
xor edx, edx
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x140141aca
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 [0x1403eba30]
sub rsi, r13
cmp rsi, rcx
ja 0x140142b3b
mov r9, qword [0x1403ec240]
mov rax, rsi
xor edx, edx
shl rax, 0x10
div r9
mov edx, eax
test eax, eax
jne 0x140141a05
test rsi, rsi
mov eax, 1
cmovne edx, eax
jmp 0x140141a05
mov r12, rbx
mov rax, qword [0x1403eba30]
sub r12, rsi
cmp r12, rax
ja 0x1401429de
mov rcx, qword [0x1403ec240]
mov rax, r12
xor edx, edx
shl rax, 0x10
div rcx
mov dword [rsp + 0x94], eax
mov esi, eax
test eax, eax
jne 0x1401419a7
test r12, r12
mov eax, 1
cmove eax, esi
mov dword [rsp + 0x94], eax
jmp 0x1401419a7
mov eax, dword [r14 + 4]
mov ecx, dword [r14]
test r13d, r13d
je 0x140141be6
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 0x140141bc8
sub eax, ecx
add dword [r12 + 0xbc], eax
mov eax, dword [r14]
lea rdi, [0x1402b6170]
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 0x140141c3f
call sub.msvcrt.dll_free
mov qword [r15 + 0xc8], 0
mov rdx, qword [r15 + 0xf0]
mov rcx, qword [r12 + 0xf0]
test rdx, rdx
je 0x140141c7e
test rcx, rcx
je 0x140141f38
call fcn.140210410
mov rcx, qword [r15 + 0xf0]
test rcx, rcx
je 0x140141c76
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 0x140141c9e
mov ebx, dword [rcx]
test ebx, ebx
je 0x140141c9e
or eax, 8
mov dword [r12 + 4], eax
cmp qword [rbp + 0x18], 0
je 0x140141df8
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.14013ec20
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 0x140141a45
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 0x140141d60
test rsi, rsi
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
setne al
and r12d, eax
jmp 0x140141980
mov rcx, qword [0x1403eba30]
mov rdi, qword [rsp + 0x78]
sub rdi, qword [rsp + 0x70]
cmp rdi, rcx
ja 0x140142ae4
mov r9, qword [0x1403ec240]
mov rax, rdi
xor edx, edx
shl rax, 0x10
div r9
mov edx, eax
test eax, eax
jne 0x140141d9e
test rdi, rdi
mov eax, 1
cmovne edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax], edx
test rsi, rsi
je 0x140143b16
mov r15, rsi
sub r15, qword [rsp + 0x78]
cmp r15, rcx
ja 0x140142a8f
mov rcx, qword [0x1403ec240]
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 0x14014198c
test r15, r15
mov eax, 1
cmovne edx, eax
jmp 0x14014198c
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.14013ec20
jmp 0x140141d0a
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 0x140141e6d
cmp ecx, r11d
je 0x140141e69
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 0x140141e30
cmp byte [0x1403eba28], 2
lea r13d, [r11 + 1]
ja 0x140227b0a
mov edx, r13d
jmp 0x140141547
mov r10d, dword [r9 + 0xc]
test eax, eax
jne 0x140143c7a
cmp r10d, 1
je 0x140141190
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x140141248
mov esi, dword [r15 + 0xc]
jmp 0x140141652
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 0x140141f15
cmp edx, r9d
je 0x140141f11
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 0x140141ed8
cmp byte [0x1403eba28], 2
lea r11d, [r9 - 1]
ja 0x140227a36
mov eax, r11d
jmp 0x14014188f
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 0x140141c90
mov ecx, dword [r14]
sub edx, esi
cmp esi, ecx
ja 0x140141be6
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 0x140141f78
jmp 0x140141be6
xor edx, edx
mov rcx, r15
call fcn.140137260
mov rax, qword [r15 + 0xc8]
mov r11d, dword [rax + 4]
test r11d, r11d
jne 0x140141fc5
test byte [r15 + 4], 0xc
je 0x1401425cc
cmp dword [r15 + 0x68], 2
lea r13, [rsp + 0x270]
ja 0x1401423a3
mov qword [rsp + 0x78], 0
cmp qword [rbp + 0x18], 0
je 0x14014200a
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.140133fd0
test eax, eax
jne 0x1401437f8
mov rax, qword [r15 + 0xa0]
or dword [rsp + 0x2b8], 0x20
mov byte [rsp + 0x6b], 0
movdqa xmm6, xmmword [0x1402b6f00]
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 0x1401420c9
cmp eax, dword [rbx + 0xd0]
ja 0x1401425e6
mov r10d, dword [rsp + 0x80]
test r10d, r10d
je 0x140142cfe
mov rax, qword [rsi + 0xd0]
test rax, rax
je 0x1401420f3
mov edx, dword [rsp + 0x58]
cmp rdx, qword [rax]
jb 0x140142e91
mov rcx, rsi
call fcn.14013ec20
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x1401427e7
cmp qword [rsi + 0xd0], 0
mov ecx, dword [rsi + 0xe8]
je 0x140143498
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 0x1401434fa
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 0x140142150
mov dword [r12], edx
mov rcx, r12
call fcn.14021c8c0
mov rcx, qword [rsi + 0xa8]
mov rdx, r12
call fcn.140210410
mov r14, qword [rsi + 0xc8]
xor r15d, r15d
mov edx, dword [r14 + 4]
test edx, edx
je 0x1401434f0
mov edi, 1
mov r12d, 1
jmp 0x1401421d8
lea r8d, [rdi - 1]
lea ecx, [r15 + 1]
cmp r15d, r8d
je 0x140142938
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 0x14014278e
mov eax, edi
add rax, 1
shl rax, 4
add rax, r14
mov r9, qword [rax]
test byte [r9 + 0xb], 0x40
je 0x1401421a8
mov eax, dword [rbx + 4]
test eax, 0x80000
jne 0x1401421cd
test eax, 0x8000000
jne 0x14014345c
mov eax, dword [rbx + 0xe8]
cmp dword [rbx + 0x178], eax
jae 0x140142ced
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 0x1401421cd
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 0x140142248
mov ecx, dword [r14]
jmp 0x140141be6
mov ecx, dword [r12 + 0xf8]
cmp ecx, 0x7fffffff
je 0x1401422c5
cmp esi, ecx
jb 0x1401422aa
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 0x140142290
lea eax, [rcx - 1]
mov dword [rbx], eax
mov dword [r12 + 0xf8], 0x7fffffff
mov esi, dword [rbx]
test esi, esi
je 0x1401413a2
mov eax, dword [r12 + 0x28]
lea ecx, [rax + rax]
cmp dword [rbx + 4], ecx
jb 0x14014230a
xor eax, eax
jmp 0x1401422e8
add edx, 2
cmp ecx, dword [rbx + rdx*4]
ja 0x1401422f1
mov edx, eax
add eax, 1
cmp eax, esi
jb 0x1401422e0
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 0x140142670
mov r13, rax
test edi, edi
jne 0x14014235b
jmp 0x140142670
mov edx, edi
shr eax, 1
mov edx, dword [r13 + rdx*4]
cmp eax, edx
je 0x140142650
setbe cl
movzx ecx, cl
sub esi, ecx
cmp eax, edx
seta al
movzx eax, al
sub edi, eax
test esi, esi
je 0x140142670
test edi, edi
je 0x140142670
mov eax, esi
mov eax, dword [rbx + rax*4]
test al, 1
je 0x140142328
sub esi, 1
jmp 0x14014234b
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.1401404b0
mov r8d, dword [rsp + 0x98]
jmp 0x140141d18
mov r8d, 1
mov rdx, r15
mov rcx, r13
mov qword [rsp + 0xd8], 0x30
call fcn.140133fd0
mov r8d, eax
test eax, eax
jne 0x1401424d0
mov ecx, dword [r15 + 0x68]
mov ebx, 2
lea rsi, [rsp + 0xe0]
cmp ecx, 2
ja 0x14014249e
jmp 0x140141fd8
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 0x140142455
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.140134d30
mov rdx, qword [rdi + 8]
mov qword [r12], rdx
test eax, eax
jne 0x140143058
mov ecx, dword [r15 + 0x68]
add ebx, 1
cmp ebx, ecx
jae 0x140141fd8
mov rax, qword [r15 + 0x60]
mov edx, ebx
test byte [rax + rdx], 1
je 0x140142493
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 0x1401423f0
mov r8d, 0xffff87c4
nop dword [rax + rax]
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
jmp 0x140142386
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xb1
mov rcx, r15
call fcn.140144460
mov r8d, eax
jmp 0x140141d18
mov r8d, 1
jmp 0x140141606
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov r8d, 0x57
jmp 0x140142386
test rcx, rcx
jne 0x140142584
mov rcx, qword [0x1403ec240]
test rcx, rcx
je 0x140143428
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 [0x1403eba30], rax
cmp rbx, rax
jbe 0x140141a21
mov edx, 0xffffffff
jmp 0x140141a3e
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 0x140141780
mov esi, dword [rsp + 0x58]
mov edi, r11d
jmp 0x1401416e1
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xf1
jmp 0x1401424fd
lea r8d, [rax + 1]
lea r9, [rsp + 0xb4]
mov rdx, r13
mov rcx, rsi
shl r8, 2
call fcn.14013da30
mov r8d, eax
test eax, eax
je 0x1401420c9
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 0x140142386
mov ecx, ebx
jmp 0x140141ba7
mov edx, esi
mov r8d, 1
mov rcx, r12
sub esi, 1
call fcn.14013f3a0
sub edi, 1
jmp 0x14014234b
mov rax, qword [rsp + 0x80]
mov edx, 1
mov esi, dword [rax + 4]
mov rdi, rax
test esi, esi
je 0x140142700
nop word [rax + rax]
cmp dword [rbx], edx
jb 0x140142700
mov eax, edx
mov eax, dword [rbx + rax*4]
test al, 1
jne 0x140142768
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 0x14014298e
cmp r9d, r8d
jb 0x140142780
add r8d, r10d
lea r13d, [rdx + 1]
cmp r9d, r8d
jae 0x140142770
mov r8d, 1
mov rcx, r12
call fcn.14013f3a0
mov edx, r13d
cmp dword [rbx], edx
jae 0x140142694
nop dword [rax]
mov r8, qword [r12 + 0xf0]
mov ecx, dword [r12 + 0xf8]
mov r11d, dword [r8]
cmp ecx, 0x7fffffff
je 0x1401413a2
cmp ecx, r11d
ja 0x14014274c
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 0x140142730
sub ecx, 1
mov dword [r8], ecx
mov dword [r12 + 0xf8], 0x7fffffff
jmp 0x1401413a2
add edx, 1
jmp 0x140142690
mov edx, r13d
jmp 0x140142690
sub esi, 1
jne 0x140142690
jmp 0x140142700
lea eax, [r15 + 1]
mov rdx, qword [0x1402b6ec8]
add rax, 1
lea rdi, [0x1402b6170]
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 0x140142ba0
test edi, edi
je 0x140143540
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 0x140142872
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 0x140143094
shl r8, 2
mov r9, rdi
mov rdx, r13
mov rcx, rsi
mov qword [rsp + 0xe8], r8
call fcn.14013da30
mov r8, r14
mov rdx, r12
mov rcx, r13
mov r9d, 0x10000
call fcn.140134d30
test eax, eax
je 0x140142850
mov r8d, eax
mov r15, rsi
jmp 0x14014260f
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 0x140143451
lea rax, [rbx - 0x20]
shr rax, 4
sub rax, 0x12
shr rax, 1
mov dword [rdx + 8], eax
mov qword [r12 + 0xc8], rdx
jmp 0x140140fdb
mov rcx, rax
call fcn.14021fc00
mov qword [rsp + 0x80], rax
jmp 0x140141160
mov rcx, r14
call fcn.14021fc00
mov ebx, dword [rax + 4]
mov r14, rax
jmp 0x140141175
mov r15d, ecx
jmp 0x1401421cd
mov r8d, 0x57
jmp 0x140141a45
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 0x140141725
mov rax, qword [rcx + 0x10]
mov r10d, dword [rax + 0xc]
jmp 0x1401426cb
lea rcx, [r12 + 0xf0]
call fcn.14013d990
mov r8d, eax
test eax, eax
jne 0x1401424d0
mov r8, qword [r15 + 0xf0]
mov r11d, dword [r8]
jmp 0x140140f78
lea rcx, [r15 + 0xa8]
call fcn.14013d990
mov r8d, eax
test eax, eax
je 0x140140f48
jmp 0x1401424d0
mov dword [rsp + 0x94], 0xffffffff
test rax, rax
jne 0x1401419a7
mov rcx, qword [0x1403ec240]
test rcx, rcx
je 0x14014363e
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 [0x1403eba30], rax
cmp r12, rax
jbe 0x140141b65
jmp 0x1401419a7
test rax, rax
jne 0x140142a85
mov rcx, qword [0x1403ec240]
test rcx, rcx
je 0x1401435a7
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 [0x1403eba30], rax
cmp rsi, rax
jbe 0x140141aad
mov edx, 0xffffffff
jmp 0x140141aca
test rcx, rcx
jne 0x140142ad3
mov rcx, qword [0x1403ec240]
test rcx, rcx
je 0x14014357e
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 [0x1403eba30], rax
cmp r15, rax
jbe 0x140141dc5
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, 0xffffffff
jmp 0x14014198c
mov edx, 0xffffffff
test rcx, rcx
jne 0x140141d9e
mov r9, qword [0x1403ec240]
test r9, r9
je 0x140143615
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 [0x1403eba30], rcx
cmp rdi, rcx
jbe 0x140141d81
jmp 0x140141d9e
test rcx, rcx
jne 0x140142b7f
mov r9, qword [0x1403ec240]
test r9, r9
je 0x1401435ec
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 [0x1403eba30], rcx
cmp rsi, rcx
jbe 0x140141b1c
mov rax, qword [rbp + 0x18]
sub rbx, qword [rsp + 0x70]
mov dword [rax + 0x14], 0xffffffff
cmp rbx, rcx
jbe 0x140141a1a
jmp 0x140142584
mov r14d, r15d
sub r14d, dword [rsp + 0x6c]
test r14d, r14d
jle 0x140143839
mov r9d, dword [rsp + 0x80]
test r9d, r9d
je 0x140142fe0
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x1401431ce
mov rdx, qword [rcx]
mov r8d, dword [rbx + 0xd0]
mov eax, edx
sub eax, dword [rsp + 0x88]
cmp edx, 0x100
jbe 0x140143202
mov rax, qword [rcx + rax*8]
add dword [rsp + 0x88], 1
mov qword [rsp + 0xc8], rax
cmp r14d, r8d
ja 0x1401435d0
test rax, rax
je 0x14014347e
mov rax, qword [rbx + 0x70]
mov rax, qword [rax + 0x80]
cmp rax, qword [rsp + 0xc8]
jbe 0x14014347e
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.14013da30
lea r8, [rsp + 0xe0]
mov rdx, r12
mov rcx, r13
mov r9d, 0x10010
call fcn.140134d30
mov r8d, eax
test eax, eax
jne 0x14014260c
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov dword [rcx], 0
test dword [rbx + 4], 0x1080000
je 0x1401431c2
add dword [rsp + 0x6c], r14d
cmp qword [rsi + 0xd0], 0
je 0x140142cda
mov rax, qword [rsi + 0xa8]
mov eax, dword [rax]
cmp r15d, eax
jb 0x140143740
mov edx, dword [rsp + 0xb4]
mov rax, qword [rsi + 0xd8]
jmp 0x1401420b7
mov rcx, r9
call sub.msvcrt.dll_free
mov edx, dword [r14 + 4]
jmp 0x1401421cd
cmp byte [rsp + 0x6b], 0
lea rdi, [rsp + 0xd0]
jne 0x140142dd5
mov r12d, dword [rsp + 0x6c]
mov r14d, dword [rsp + 0x88]
mov rax, qword [rsi + 0xb0]
cmp qword [rsp + 0xb8], rax
ja 0x1401437dc
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.140133680
test eax, eax
jne 0x140143400
cmp qword [rsp + 0xd8], 8
jne 0x140143060
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 0x140143060
cmp qword [rsi + 0xb0], rax
jb 0x140143770
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.14013da30
test eax, eax
jne 0x1401428a4
xor edx, edx
mov rcx, r13
call fcn.140132d60
test eax, eax
jne 0x1401428a4
xor r14d, r14d
xor r12d, r12d
jmp 0x140142d1e
mov rax, qword [rsp + 0xb8]
cmp qword [rsi + 0xb0], rax
jb 0x1401420f3
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.140133680
mov r8d, eax
test eax, eax
jne 0x140143410
cmp qword [rsp + 0xd8], 8
jne 0x140143060
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 0x140143060
cmp rax, qword [rsi + 0xb0]
ja 0x140143770
xor edx, edx
mov rcx, r13
call fcn.140132d60
mov r8d, eax
test eax, eax
jne 0x14014260c
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
jmp 0x140142dd5
mov r8d, 0xffff892c
jmp 0x140141618
xor edi, edi
cmp byte [rsp + 0x6b], 0
lea r12, [rsp + 0xd0]
lea r14, [rsp + 0xb8]
jne 0x140142f60
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.140133830
cmp eax, 0xffff87b2
je 0x140142f23
test eax, eax
jne 0x1401428a4
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.14013da30
test eax, eax
jne 0x1401428a4
xor edx, edx
mov rcx, r13
call fcn.140132d60
test eax, eax
jne 0x1401428a4
mov rax, qword [rsi + 0xd0]
mov rdx, qword [rax]
cmp rdx, r15
ja 0x140142eae
lea rdx, [rax + rdx*8 + 8]
lea rcx, [rax + 8]
mov dword [rsp + 0x58], edi
call fcn.140219ef0
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x88], 0
jmp 0x1401420f3
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.140133830
mov r8d, eax
cmp eax, 0xffff87b2
je 0x140142fc2
test eax, eax
jne 0x14014260c
xor edx, edx
mov rcx, r13
call fcn.140132d60
mov r8d, eax
test eax, eax
jne 0x14014260c
mov rax, qword [rsi + 0xd0]
mov rdx, qword [rax]
cmp r15, rdx
jb 0x140142f60
jmp 0x140142f36
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x140143667
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 0x140142c17
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
jne 0x1401435d0
cmp rdx, 0x7ffe
jbe 0x1401435de
mov edx, 0x7fff
lea ecx, [r8 + r8]
cmp r14d, ecx
jae 0x140143788
shr r14d, 1
jmp 0x140142c0e
mov r8d, eax
jmp 0x1401424d0
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 0x140142386
mov dword [rsp + 0xb4], edx
call fcn.14021c8c0
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 0x140142cda
cmp dword [rsp + 0x6c], 0
je 0x140142cda
mov r15, rsi
add dword [rsp + 0x60], 1
mov eax, dword [rsp + 0x60]
cmp eax, 0x2a
ja 0x140143184
mov edx, dword [rsp + 0xb4]
cmp byte [rsp + 0x6b], 0
mov eax, edx
je 0x140143141
mov edx, eax
mov byte [rsp + 0x6b], 1
mov rax, qword [r15 + 0xd8]
test edx, edx
je 0x14014207e
mov eax, dword [rax]
lea r9, [rsp + 0xb4]
mov rdx, r13
mov rcx, r15
lea r8d, [rax + 1]
shl r8, 2
call fcn.14013da30
mov r8d, eax
test eax, eax
jne 0x14014260f
mov edx, dword [rsp + 0xb4]
mov rax, qword [r15 + 0xd8]
jmp 0x14014207e
mov r8d, 0xffff892c
jmp 0x140141a45
mov edx, dword [rsp + 0x88]
cmp rax, rdx
ja 0x1401433d6
add dword [rsp + 0x60], 1
cmp byte [0x1403eba28], 2
mov r15, rsi
ja 0x1402279ae
cmp dword [rsp + 0x60], 0x2a
jbe 0x14014313a
cmp byte [0x1403eba28], 0
jne 0x140227aae
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 0x140142386
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x140142cb9
mov ecx, 0xf0
call sub.msvcrt.dll_malloc
mov rcx, rax
test rax, rax
je 0x140143b2d
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 0x140142bf1
cmp byte [rsp + 0x6b], 0
jne 0x140142bf1
xor edi, edi
lea r12, [rsp + 0xa0]
and dword [rsp + 0x2b8], 0xffffffdf
jmp 0x140143261
mov rax, qword [rsi + 0xd0]
mov rax, qword [rax]
cmp eax, 0x100
ja 0x14014382c
sub eax, dword [rsp + 0x88]
imul eax, dword [rbx + 0xd0]
mov edi, 1
cmp r14d, eax
jbe 0x14014382c
mov rcx, qword [rsi + 0x40]
call fcn.140138d40
xor r8d, r8d
mov rdx, r13
mov rcx, r12
mov r9d, 0x1a
mov qword [rsp + 0x50], rax
call fcn.140224d40
mov rax, qword [rsp + 0xa8]
mov r8d, eax
test eax, eax
je 0x140143230
or dword [rsp + 0x2b8], 0x20
cmp eax, 0xffff87b2
jne 0x14014260c
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rcx]
test rax, rax
jne 0x140143a86
mov rcx, qword [rsi + 0x40]
call fcn.140138d40
mov rcx, qword [rsp + 0x50]
cmp rcx, rax
jne 0x140143226
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 0x1401433d6
mov edx, eax
sub edx, dword [rsp + 0x88]
imul edx, dword [rbx + 0xd0]
cmp r14d, edx
jbe 0x1401433d6
mov rdx, qword [rsp + 0xc0]
cmp rdx, 1
jbe 0x140143158
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.140133830
mov rdx, qword [rsp + 0x48]
test eax, eax
je 0x140143b6c
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsi + 0xd0]
call fcn.1401403f0
mov r8d, eax
test eax, eax
jne 0x14014260c
mov r8d, dword [rsp + 0x88]
test r8d, r8d
jne 0x1401437ee
add dword [rsp + 0x58], 1
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rcx]
cmp rax, 0x100
jbe 0x140143310
test dil, dil
jne 0x140143ca3
mov eax, dword [rcx]
mov r8d, dword [rbx + 0xd0]
mov byte [rsp + 0x6b], 0
sub eax, dword [rsp + 0x88]
jmp 0x140142bf1
mov dword [rsp + 0x6c], r12d
mov r8d, eax
mov dword [rsp + 0x88], r14d
cmp r8d, 0xffff87b2
je 0x1401420f3
jmp 0x14014260c
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ec240]
mov r8d, dword [rsp + 0x98]
jmp 0x140142555
mov r8d, 0xe
jmp 0x1401424d0
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 0x140142204
cmp byte [0x1403eba28], 0
mov r15, rsi
je 0x140143191
jmp 0x140227b3d
cmp qword [rsi + 0xb0], 0
jne 0x14014211f
test ecx, ecx
je 0x140142181
mov r8, qword [rsi + 0xd8]
mov edx, dword [r8]
add rdx, rcx
mov ecx, dword [r8 - 4]
cmp rdx, rcx
ja 0x140143aea
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 0x1401434c8
jmp 0x140142181
mov eax, 1
jmp 0x140142792
lea rcx, [rsi + 0xa8]
call fcn.14013d990
mov r8d, eax
test eax, eax
jne 0x14014260c
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 0x140142145
xor edx, edx
jmp 0x140142166
mov r8d, 9
xor edx, edx
mov rcx, r13
and dword [rsp + 0x2b8], 0xffffffdf
call fcn.1402262f0
or dword [rsp + 0x2b8], 0x20
mov r8d, eax
test eax, eax
je 0x140143572
cmp eax, 0xffff87b2
jne 0x14014260c
mov rax, qword [rsi + 0xd8]
jmp 0x14014280f
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ec240]
mov r8d, dword [rsp + 0x98]
jmp 0x140142aa4
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ec240]
mov r8d, dword [rsp + 0x98]
jmp 0x140142a56
mov edx, 1
sub edx, dword [rsp + 0x88]
add edx, dword [rcx]
cmp edx, 1
ja 0x14014303f
jmp 0x140142c0e
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r9, qword [0x1403ec240]
mov r8d, dword [rsp + 0x98]
jmp 0x140142b50
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r9, qword [0x1403ec240]
mov r8d, dword [rsp + 0x98]
jmp 0x140142b02
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403ec240]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403ec240]
mov r8d, dword [rsp + 0x98]
jmp 0x140142a02
mov rcx, qword [rsi + 0x40]
lea r12, [rsp + 0xd0]
call fcn.140138d40
xor r8d, r8d
xor r9d, r9d
mov rdx, r12
sub rax, 1
mov rcx, r13
mov qword [rsp + 0xc0], rax
call fcn.140133830
mov r8d, eax
test eax, eax
jne 0x140143814
cmp qword [rsp + 0xd8], 8
jne 0x140143060
mov rax, qword [rsp + 0xd0]
movabs rdi, 0xfffffffefffffffe
mov rdx, qword [rax]
lea rax, [rdx - 1]
cmp rax, rdi
ja 0x140143060
cmp rdx, qword [rsp + 0xc0]
ja 0x1401436e3
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0xc0], 0
je 0x140143a9f
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 0x140142c0e
jmp 0x14014301d
cmp dword [rsp + 0x60], 4
jbe 0x140143758
mov edx, eax
sub edx, r15d
cmp edx, dword [rbx + 0xd0]
jbe 0x140142cda
cmp byte [0x1403eba28], 2
mov r14d, r15d
mov r15, rsi
jbe 0x1401430da
jmp 0x1402279e7
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
jmp 0x1401420f3
mov ecx, 0x101
cmp edx, ecx
cmovbe ecx, edx
imul ecx, r8d
cmp r14d, ecx
jb 0x140143824
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 0x140143be8
sub r14d, r8d
jmp 0x140142c0e
mov dword [rsp + 0x6c], r12d
mov dword [rsp + 0x88], r14d
jmp 0x1401420f3
mov edi, 1
jmp 0x1401433c0
mov rdx, qword [r15 + 0xa8]
mov r8d, eax
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov dword [rdx], 0
jmp 0x140142386
cmp eax, 0xffff87b2
je 0x1401436f2
jmp 0x14014260c
mov r14d, r8d
jmp 0x140142c0e
or dword [rsp + 0x2b8], 0x20
jmp 0x140142cda
mov rcx, qword [rsi + 0xd0]
mov r15, rsi
mov rax, rcx
test rcx, rcx
je 0x14014429e
mov esi, dword [rcx]
sub esi, dword [rsp + 0x88]
cmp dword [rdx], 0
mov dword [rsp + 0x88], esi
je 0x140144371
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 0x1401442fa
mov rdx, qword [rax]
add esi, 1
cmp esi, edx
ja 0x1401442e1
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.140133830
mov r8d, eax
test eax, eax
jne 0x14014260f
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 0x14014434a
mov rdx, qword [rsp + 0x88]
mov r8, rdi
mov r9d, 0x10040
mov rcx, r13
call fcn.140134d30
and dword [rsp + 0x2b8], 0xffffffbf
mov r8d, eax
test eax, eax
jne 0x14014260f
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov dword [rcx], 0
test dword [rbx + 4], 0x1080000
je 0x14014433e
mov eax, dword [r15 + 0xe8]
test eax, eax
jne 0x140144387
mov rdx, qword [r15 + 0xa8]
mov ecx, dword [rsp + 0x6c]
cmp dword [rdx], ecx
jne 0x140144387
mov rax, qword [r15 + 0xd0]
test rax, rax
je 0x1401442c7
mov edx, dword [rsp + 0x58]
cmp rdx, qword [rax]
setb al
movzx eax, al
test eax, eax
jne 0x14014428c
mov rax, qword [r15 + 0xd8]
mov eax, dword [rax]
cmp dword [rsp + 0x48], eax
jne 0x140144276
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 0x140143cd9
cmp qword [r15 + 0xd0], 0
je 0x140143cb0
mov rax, qword [r15 + 0xd0]
mov edx, esi
jmp 0x1401438e4
test dil, dil
jne 0x140143acb
mov rax, qword [rcx]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xc0], rax
jmp 0x1401432ec
add dword [rsp + 0x60], 1
cmp byte [0x1403eba28], 0
mov r15, rsi
jne 0x140227a71
cmp dword [rsp + 0x60], 0x2a
ja 0x140143191
mov eax, dword [rsp + 0xb4]
jmp 0x1401430fc
lea rdx, [rcx + rax*8 + 8]
add rcx, 8
call fcn.140219ef0
mov dword [rsp + 0x58], 0
mov rcx, qword [rsi + 0xd0]
jmp 0x140143a8b
lea rcx, [rsi + 0xd8]
call fcn.14013d990
mov r8d, eax
test eax, eax
jne 0x14014260c
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x140142181
jmp 0x1401434c8
mov rax, qword [rbp + 0x18]
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [rax + 4], 0
jmp 0x1401419a7
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 0x140142386
xor r9d, r9d
mov r8, r12
mov rcx, r13
add qword [rsp + 0xc0], 1
call fcn.140133830
cmp eax, 0xffff87b2
je 0x140143bd6
test eax, eax
jne 0x140143060
cmp qword [rsp + 0xd8], 4
jne 0x140143060
mov rax, qword [rsp + 0xd0]
movabs rcx, 0xfffffffefffffffe
mov rdx, qword [rax]
lea rax, [rdx - 1]
cmp rax, rcx
ja 0x140143060
sub rdx, 1
je 0x140143bd6
mov qword [rsp + 0xc0], rax
jmp 0x14014338b
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x6b], 1
jmp 0x140142cda
mov r9d, r15d
sub r9d, 1
je 0x140143c55
mov r10, qword [rsi + 0xa8]
mov r11d, r9d
lea rdi, [r10 + r11*4]
jmp 0x140143c12
sub rdi, 4
sub r9d, 1
je 0x140143c4c
mov r11d, dword [rdi]
lea r12d, [r8 + r9]
sub r11d, r8d
cmp r11d, dword [r10 + r12*4]
jne 0x140143c08
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 0x140143c08
jmp 0x1401437d4
cmp r14d, ecx
jbe 0x1401437d4
cmp edx, 3
jbe 0x140142c0e
cmp dword [rsp + 0x88], 0xfd
ja 0x140142c0e
sub ecx, r8d
mov r14d, ecx
jmp 0x140142c0e
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 0x140141e9c
mov dword [rsp + 0x58], 0
jmp 0x140142cda
mov rdx, qword [rsp + 0x88]
mov r8, rdi
mov r9d, 8
mov rcx, r13
call fcn.1401343e0
mov r8d, eax
test eax, eax
je 0x140143a78
jmp 0x14014260f
mov eax, dword [r15 + 0xe8]
mov dword [rsp + 0x88], esi
test eax, eax
jne 0x1401442b5
mov rcx, qword [r15 + 0xd0]
test rcx, rcx
je 0x140143cfd
mov eax, dword [rcx]
cmp dword [rsp + 0x88], eax
jne 0x140144259
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 0x14014416e
mov rdx, qword [r15 + 0x30]
mov qword [rax + 0x28], rdx
mov rax, qword [r15 + 0x60]
test byte [rax + 1], 1
je 0x140144177
mov rdx, qword [r15 + 0x30]
mov rax, qword [r15 + 0x50]
xor esi, esi
cmp qword [rbp + 0x18], 0
mov qword [rax + 0x58], rdx
je 0x140143d82
mov qword [rsp + 0x270], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rsi, qword [rsp + 0x270]
mov rax, qword [0x1402b6ed8]
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 0x140143dc5
cmp dword [r12], edx
jne 0x14014421c
xor r8d, r8d
mov r14d, 1
mov ebx, 1
test edx, edx
je 0x140143eb9
mov ebx, 1
mov edi, 1
mov r14, r13
jmp 0x140143e1d
mov r9d, 1
test byte [rax + 0xc], 1
jne 0x140144165
mov rdx, r14
mov rcx, r15
call fcn.140126020
test eax, eax
jne 0x140143e53
add ebx, 1
cmp ebx, dword [r12 + 4]
ja 0x14014419c
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 0x140143df0
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 0x140143e0f
mov edx, dword [rsp + 0x270]
mov r8d, eax
mov rax, r14
mov r14d, r13d
mov r13, rax
test edx, edx
jne 0x1401441ad
mov ecx, dword [r12 + 4]
cmp ebx, ecx
ja 0x14014424d
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 0x140143e90
lea r14d, [rdx + 1]
mov eax, r14d
mov rcx, qword [0x1402b6ec8]
movd xmm6, edx
lea rdi, [0x1402b6170]
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 0x140144184
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 0x14014411a
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 0x1401441dc
xor ecx, ecx
cmp r11, r9
jne 0x1401441ed
mov r11, qword [rdx + 0xa8]
cmp r9, rcx
je 0x1401441f4
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 0x1401441c0
xor ecx, ecx
mov r9, qword [rax + 8]
mov r8, qword [rax + 0xb0]
cmp r9, r8
jne 0x1401441fd
mov r9, qword [rax + 0xa8]
cmp r8, rcx
je 0x140144204
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 [0x1403ec470]
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.14013f480
cmp qword [rbp + 0x18], 0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8d, eax
je 0x140144143
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 0x1401424fd
mov rax, qword [rsp + 0x98]
or dword [rax + 4], 0x80000000
jmp 0x140142386
mov r9d, dword [r8 + 0xc]
jmp 0x140143e00
mov rdx, qword [rax + 0x28]
jmp 0x140143d3e
mov rax, qword [r15 + 0x50]
mov rdx, qword [rax + 0x58]
jmp 0x140143d58
xor ebx, ebx
lea r12, [rsp + 0xe0]
xor r13d, r13d
test r8d, r8d
je 0x140143f4a
jmp 0x140144151
mov r13, r14
mov r14d, edi
mov eax, dword [rsp + 0x270]
test eax, eax
je 0x14014420d
mov rdx, r13
mov rcx, r15
call fcn.1401392d0
mov r8d, eax
jmp 0x140143e6e
mov r9, qword [rax + 8]
mov r8, qword [rax + 0xb0]
cmp r9, r8
je 0x140143fe8
xor r8d, r8d
jmp 0x140143fe8
cmp r11, r9
je 0x140143fa1
xor r9d, r9d
jmp 0x140143fa1
mov r11, qword [rdx + 0xa8]
cmp r11, 1
jmp 0x140143fb1
mov r9, qword [rax + 0xa8]
cmp r9, 1
jmp 0x140143ff8
mov edx, dword [rsp + 0x90]
xor r8d, r8d
jmp 0x140143eb9
mov rcx, r12
call fcn.14021fc00
mov ecx, dword [rax + 4]
mov r12, rax
test ecx, ecx
jne 0x140143ddb
mov dword [rsp + 0x90], 0
mov r14d, 1
mov ebx, 1
jmp 0x1401441a2
mov edx, dword [rsp + 0x90]
jmp 0x140143eb9
cmp byte [0x1403eba28], 2
ja 0x14022792f
cmp dword [rsp + 0x60], 8
jbe 0x1401430da
jmp 0x140143d0a
cmp byte [0x1403eba28], 2
mov edi, dword [rsp + 0x48]
jbe 0x1401430da
jmp 0x14022786c
cmp byte [0x1403eba28], 2
jbe 0x1401430da
jmp 0x14022797f
cmp dword [rdx], 0
jne 0x1401443c5
mov eax, dword [rsi + 0xe8]
test eax, eax
je 0x140143cfd
cmp byte [0x1403eba28], 2
jbe 0x1401430da
jmp 0x140227908
mov rax, qword [rsp + 0xb8]
cmp qword [r15 + 0xb0], rax
seta al
movzx eax, al
jmp 0x140143a19
cmp byte [0x1403eba28], 2
mov dword [rsp + 0x88], esi
jbe 0x1401430da
jmp 0x140227897
mov rax, qword [rsp + 0xd0]
sub esi, 1
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
test edx, edx
je 0x1401443b5
cmp rax, qword [r15 + 0xb0]
jbe 0x140143946
mov dword [rsp + 0x88], esi
cmp byte [0x1403eba28], 2
jbe 0x1401430da
jmp 0x1402278c9
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x1401439da
mov edx, r12d
sub edx, r14d
cmp dword [rsp + 0x60], 4
ja 0x14014442a
cmp dword [rsp + 0x44], edx
jb 0x140144399
cmp dword [rbx + 0xd0], edx
jb 0x140144399
mov r12d, r14d
jmp 0x14014398b
mov eax, dword [r15 + 0xe8]
test eax, eax
jne 0x1401442b5
mov eax, dword [rcx]
jmp 0x140143cfd
cmp byte [0x1403eba28], 2
jbe 0x1401430da
jmp 0x140227830
lea edx, [r14 + 1]
shl rdx, 2
mov qword [rsp + 0xe8], rdx
and eax, 0xffffffbf
mov dword [rsp + 0x2b8], eax
jmp 0x140144369
mov dword [rsp + 0x88], 0xffffffff
jmp 0x14014432c
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.140133680
mov r8d, eax
test eax, eax
jne 0x14014260f
mov rax, qword [r15 + 0xd0]
jmp 0x14014389e
mov r12d, r14d
cmp dword [rbx + 0xd0], edx
jae 0x14014398b
lea edx, [r14 + 1]
shl rdx, 2
cmp dword [rsp + 0x60], 6
mov qword [rsp + 0xe8], rdx
ja 0x14014398b
jmp 0x1401443a9
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.14021e730
jmp 0x1401430da
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.14021e730
jmp 0x1401430da
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.14021e730
jmp 0x1401430da
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.14021e730
jmp 0x1401430da
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.14021e730
jmp 0x1401430da
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.14021e730
jmp 0x140144266
lea rax, str._restart:_reclaimed_slots_changed
lea r9, [0x1402b4939]
mov r8d, 0x3349
mov ecx, 3
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_update_gc
call fcn.14021e730
jmp 0x1401430da
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.14021e730
cmp dword [rsp + 0x60], 0x2a
ja 0x140227a13
jmp 0x14014313a
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.14021e730
jmp 0x1401430da
jmp 0x140143184
mov r8d, 0x3415
lea rdx, str.mdbx_txn_merge
lea rcx, str.err__MDBX_SUCCESS
call fcn.14021f700
jmp 0x14014136a
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.14021e730
mov r11d, dword [rsp + 0x88]
lea r10, str.mdbx_txn_merge
jmp 0x140141f2d
lea rax, str._no_GC_tail_space_to_store__going_dense_mode_
lea r9, [0x1402b4939]
mov r8d, 0x326e
mov ecx, 1
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_update_gc
call fcn.14021e730
cmp dword [rsp + 0x60], 0x2a
ja 0x140227b05
mov eax, dword [rsp + 0xb4]
jmp 0x1401430fc
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.14021e730
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 0x140142386
jmp 0x140143184
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.14021e730
mov eax, dword [r14 + 4]
lea r10, str.mdbx_txn_merge
jmp 0x140141e85
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.14021e730
jmp 0x140227ad4