Function at 0x1401444d0
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 0x140144c90
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 0x140145038
cmp dword [r15], 0x93d53a31
jne 0x140146566
mov eax, dword [r15 + 4]
mov edi, eax
and edi, 1
mov dword [rsp + 0x94], edi
jne 0x140144ce0
test eax, 0x200000
je 0x140144cb8
mov rax, qword [r15 + 0x40]
cmp qword [rax + 8], 0
mov qword [rsp + 0x98], rax
je 0x140145bf0
mov eax, dword [r15 + 4]
test al, 2
jne 0x140145a50
and eax, 0x20000
mov dword [rsp + 0x90], eax
jne 0x140145bc8
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x1401445ba
xor edx, edx
call fcn.1401444d0
mov r8d, eax
test eax, eax
jne 0x140145bb0
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x138], r15
jne 0x140145c00
mov r12, qword [r15 + 8]
test r12, r12
je 0x140145680
mov rax, qword [r15 + 0xc8]
mov ecx, dword [rax + 4]
test ecx, ecx
jne 0x1401445f5
test byte [r15 + 4], 4
je 0x140145008
mov rax, qword [r15 + 0xd8]
mov rsi, qword [r12 + 0xd8]
mov eax, dword [rax]
mov dword [rsp + 0x6c], esi
sub eax, esi
je 0x140144628
mov rcx, qword [r15 + 0xa8]
mov eax, eax
mov edx, dword [rcx]
add rdx, rax
mov eax, dword [rcx - 4]
cmp rdx, rax
ja 0x1401460a2
mov r8, qword [r15 + 0xf0]
test r8, r8
je 0x14014469d
mov rax, qword [r12 + 0xf0]
mov r11d, dword [r8]
test rax, rax
je 0x140144658
mov edx, dword [rax]
mov ecx, r11d
mov eax, dword [rax - 4]
add rdx, rcx
cmp rdx, rax
ja 0x14014607b
mov ecx, dword [r15 + 0xf8]
cmp ecx, 0x7fffffff
je 0x14014469d
cmp ecx, r11d
ja 0x14014468c
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 0x140144670
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 0x140145f90
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 0x140144705
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.14013a940
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 0x1401447f4
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 0x1401447d0
cmp qword [rbp + 0x18], 0
je 0x140144fe0
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 0x140145fe8
mov r14, qword [r12 + 0xc8]
mov ebx, dword [r14 + 4]
cmp dword [r14], ebx
jne 0x140146000
test ebx, ebx
je 0x140144935
mov edi, ebx
shl rdi, 4
add rdi, r14
jmp 0x1401448aa
mov eax, dword [r13 + 0xe8]
cmp dword [r13 + 0x178], eax
jae 0x140144920
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 0x140144935
mov eax, dword [r12 + 0x28]
cmp dword [rdi + 0x18], eax
jb 0x140144fd8
mov r13, qword [r15 + 0x40]
mov eax, dword [r13 + 4]
test eax, 0x80000
jne 0x14014489d
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 0x140145570
test eax, eax
je 0x140144870
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 0x140144884
nop dword [rax + rax]
mov rcx, r9
call sub.msvcrt.dll_free
sub rdi, 0x10
sub ebx, 1
jne 0x1401448aa
xor ebx, ebx
mov eax, 1
mov edx, dword [r14]
add rax, 1
movd xmm4, ebx
add edx, dword [r12 + 0xbc]
movq xmm6, qword [0x1402bcb48]
shl rax, 4
sub edx, ebx
lea rdi, [0x1402bbdf0]
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 0x1401449a2
xor r8d, r8d
mov rdx, rax
mov rcx, r12
call fcn.14013b710
mov rax, qword [r12 + 0xd8]
lea ebx, [rsi + 1]
mov edi, esi
lea rsi, [r12 + 0xa8]
cmp ebx, dword [rax]
ja 0x140144a69
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.140224900
mov edx, eax
lea rcx, [rdx + 1]
shl rcx, 4
cmp dword [rsi + rcx + 8], r13d
jne 0x140144a02
test eax, eax
jne 0x140144d18
mov r11, qword [r12 + 0xf0]
test r11, r11
je 0x140144a38
lea esi, [r13 + r13]
mov rcx, r11
mov edx, esi
call fcn.140215040
mov edx, eax
cmp eax, dword [r11]
ja 0x140144a38
mov eax, eax
cmp dword [r11 + rax*4], esi
jne 0x140144a38
test edx, edx
jne 0x140145141
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 0x1401449d0
mov r14, qword [rsp + 0x88]
mov r15, qword [rbp + 0x10]
mov dword [rax], edi
mov rbx, qword [r12 + 0xf0]
test rbx, rbx
je 0x140144a82
mov esi, dword [rbx]
test esi, esi
jne 0x140145958
mov rdx, qword [r15 + 0xf0]
test rdx, rdx
je 0x140144a98
mov esi, dword [rdx]
test esi, esi
jne 0x140144ff0
mov rdi, qword [rsp + 0x80]
mov ebx, dword [r14 + 4]
mov esi, dword [rdi + 4]
test ebx, ebx
je 0x140144b73
test esi, esi
je 0x140144b73
mov r13d, dword [rsp + 0x90]
jmp 0x140144adf
sub ebx, 1
add r13d, 1
test ebx, ebx
je 0x140144b70
test esi, esi
je 0x140144b70
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 0x140144f20
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 0x140144f10
mov edx, dword [rax + 0x18]
add ecx, r8d
cmp edx, ecx
jae 0x140144ac8
add edx, r10d
cmp r8d, edx
jb 0x140144de0
movzx eax, word [r11 + 0xa]
cmp ax, 0x4000
je 0x140144b5e
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 0x140144ad7
nop dword [rax]
add ebx, r13d
add ebx, esi
mov dword [r14], ebx
test esi, esi
je 0x140144bc9
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 0x140144bbd
mov r9, qword [r12 + 0x38]
and ah, 0xdf
mov word [rcx + 0xa], ax
mov qword [rcx], r9
sub rdx, 0x10
cmp rdx, r8
jne 0x140144ba0
mov ebx, dword [r14]
mov rdi, qword [rsp + 0x80]
mov eax, dword [r14 + 4]
mov r13d, dword [rdi + 4]
cmp eax, ebx
jbe 0x140144f30
mov edi, 1
mov edx, 1
mov esi, 1
mov ecx, ebx
lea r10, str.mdbx_txn_merge
test r13d, r13d
je 0x14014564b
mov rbx, qword [rsp + 0x80]
jmp 0x140144c30
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 0x140145648
cmp edx, eax
ja 0x140145918
cmp edx, esi
jbe 0x140145508
mov r9d, edx
mov r8, r9
shl r8, 4
add r8, r14
cmp qword [r8 + 0x10], 0
je 0x140144f00
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 0x140144c10
movdqu xmm5, xmmword [rcx]
add edi, 1
movups xmmword [rsi + r14 + 0x10], xmm5
mov esi, r11d
jmp 0x140144c27
test rcx, rcx
je 0x140146020
cmp dword [rcx], 0x93d53a31
jne 0x14014682d
mov qword [rsp + 0x70], 0
jmp 0x140144549
mov rbx, qword [r15 + 0x70]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov eax, eax
cmp rbx, rax
je 0x14014456a
cmp qword [r15 + 0x70], 0
mov r8d, 0xffff8930
jne 0x140144ce6
nop word [rax + rax]
mov r8d, 0xffff87c2
cmp qword [rbp + 0x18], 0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
je 0x140145125
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 0x140145060
add rcx, qword [rsp + 0x88]
mov esi, 1
mov r15, qword [rcx]
test byte [rcx + 0xc], 1
jne 0x140145598
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 0x140144e50
cmp esi, 1
ja 0x140144ea9
mov esi, 1
mov r8d, esi
mov edx, r13d
mov rcx, r14
call fcn.1402235a0
test eax, eax
je 0x140144a4a
jmp 0x14022c5d8
mov qword [rax + 0x10], 0
sub ebx, 1
test byte [r15 + 6], 8
jne 0x140144acf
mov r11, qword [r15 + 0x40]
test byte [r11 + 7], 8
jne 0x14014602b
cmp r10d, 1
jne 0x140144e40
mov eax, dword [r11 + 0xe8]
cmp dword [r11 + 0x178], eax
jae 0x140144e40
mov rax, qword [r11 + 0x170]
mov qword [r9], rax
mov qword [r11 + 0x170], r9
add dword [r11 + 0x178], 1
jmp 0x140144acf
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x140144acf
mov r9, qword [r12 + 0x40]
test byte [r9 + 7], 8
jne 0x140145c70
cmp esi, 1
jne 0x140144e98
mov eax, dword [r9 + 0xe8]
cmp dword [r9 + 0x178], eax
jae 0x140144e98
mov rax, qword [r9 + 0x170]
mov qword [r15], rax
mov qword [r9 + 0x170], r15
add dword [r9 + 0x178], 1
jmp 0x140144dc1
mov rcx, r15
call sub.msvcrt.dll_free
cmp esi, 1
jbe 0x140144dbc
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 0x140144eee
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 0x140144ef8
cmp eax, r11d
je 0x140145ca0
mov edi, eax
mov r10d, r9d
sub r10d, edi
cmp esi, edi
jb 0x140144ec8
mov esi, r10d
jmp 0x140144dc1
add edx, 1
jmp 0x140144c27
mov r10d, dword [r9 + 0xc]
jmp 0x140144b2d
mov ecx, dword [r11 + 0xc]
jmp 0x140144b03
test r13d, r13d
je 0x140145d20
test eax, eax
je 0x140145d20
mov rsi, rdi
lea r10, str.mdbx_txn_merge
lea rdi, str.squash_to_begin_for_extending_merge__u_____u_n
jmp 0x140144f80
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 0x140145280
test eax, eax
je 0x140145280
cmp ebx, eax
jbe 0x1401455a8
mov r8d, eax
mov rcx, r8
shl rcx, 4
add rcx, r14
cmp qword [rcx + 0x10], 0
je 0x140145160
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 0x140144f58
movdqu xmm5, xmmword [rdx]
sub r13d, 1
movups xmmword [rbx + r14 + 0x10], xmm5
mov ebx, r9d
jmp 0x140144f6f
lea eax, [rbx + 1]
jmp 0x14014493c
mov qword [rsp + 0x78], 0
jmp 0x140144826
mov r8d, 1
mov rcx, r12
call fcn.14013b710
jmp 0x140144a98
mov eax, dword [r15 + 0x68]
cmp dword [r12 + 0x68], eax
jne 0x1401445f5
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xa1
jmp 0x140145bdd
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 0x140145228
mov rax, qword [rbp + 0x18]
mov esi, dword [rsp + 0x94]
mov dword [rax + 0xc], esi
test r14b, r14b
jne 0x140145170
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 0x1401451df
mov rcx, qword [0x1403f1a50]
xor edx, edx
mov rax, qword [rbp + 0x18]
sub rbx, qword [rsp + 0x70]
mov dword [rax + 0x14], edx
cmp rbx, rcx
ja 0x140145c20
mov rcx, qword [0x1403f2260]
mov rax, rbx
xor edx, edx
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x14014511e
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.140142a80
jmp 0x140144dc1
sub eax, 1
jmp 0x140144f6f
mov rsi, r13
mov rax, qword [0x1403f1a50]
sub rsi, rbx
cmp rsi, rax
ja 0x140146121
mov rcx, qword [0x1403f2260]
mov rax, rsi
xor edx, edx
shl rax, 0x10
div rcx
mov edx, eax
test eax, eax
jne 0x1401451aa
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 [0x1403f1a50]
sub rsi, r13
cmp rsi, rcx
ja 0x14014621b
mov r9, qword [0x1403f2260]
mov rax, rsi
xor edx, edx
shl rax, 0x10
div r9
mov edx, eax
test eax, eax
jne 0x1401450e5
test rsi, rsi
mov eax, 1
cmovne edx, eax
jmp 0x1401450e5
mov r12, rbx
mov rax, qword [0x1403f1a50]
sub r12, rsi
cmp r12, rax
ja 0x1401460be
mov rcx, qword [0x1403f2260]
mov rax, r12
xor edx, edx
shl rax, 0x10
div rcx
mov dword [rsp + 0x94], eax
mov esi, eax
test eax, eax
jne 0x140145087
test r12, r12
mov eax, 1
cmove eax, esi
mov dword [rsp + 0x94], eax
jmp 0x140145087
mov eax, dword [r14 + 4]
mov ecx, dword [r14]
test r13d, r13d
je 0x1401452c6
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 0x1401452a8
sub eax, ecx
add dword [r12 + 0xbc], eax
mov eax, dword [r14]
lea rdi, [0x1402bbdf0]
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 0x14014531f
call sub.msvcrt.dll_free
mov qword [r15 + 0xc8], 0
mov rdx, qword [r15 + 0xf0]
mov rcx, qword [r12 + 0xf0]
test rdx, rdx
je 0x14014535e
test rcx, rcx
je 0x140145618
call fcn.140214fd0
mov rcx, qword [r15 + 0xf0]
test rcx, rcx
je 0x140145356
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 0x14014537e
mov ebx, dword [rcx]
test ebx, ebx
je 0x14014537e
or eax, 8
mov dword [r12 + 4], eax
cmp qword [rbp + 0x18], 0
je 0x1401454d8
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.140142300
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 0x140145125
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 0x140145440
test rsi, rsi
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
setne al
and r12d, eax
jmp 0x140145060
mov rcx, qword [0x1403f1a50]
mov rdi, qword [rsp + 0x78]
sub rdi, qword [rsp + 0x70]
cmp rdi, rcx
ja 0x1401461c4
mov r9, qword [0x1403f2260]
mov rax, rdi
xor edx, edx
shl rax, 0x10
div r9
mov edx, eax
test eax, eax
jne 0x14014547e
test rdi, rdi
mov eax, 1
cmovne edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax], edx
test rsi, rsi
je 0x1401471f6
mov r15, rsi
sub r15, qword [rsp + 0x78]
cmp r15, rcx
ja 0x14014616f
mov rcx, qword [0x1403f2260]
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 0x14014506c
test r15, r15
mov eax, 1
cmovne edx, eax
jmp 0x14014506c
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.140142300
jmp 0x1401453ea
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 0x14014554d
cmp ecx, r11d
je 0x140145549
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 0x140145510
cmp byte [0x1403f1a48], 2
lea r13d, [r11 + 1]
ja 0x14022c6ca
mov edx, r13d
jmp 0x140144c27
mov r10d, dword [r9 + 0xc]
test eax, eax
jne 0x14014735a
cmp r10d, 1
je 0x140144870
mov rcx, r9
call sub.msvcrt.dll_free
jmp 0x140144928
mov esi, dword [r15 + 0xc]
jmp 0x140144d32
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 0x1401455f5
cmp edx, r9d
je 0x1401455f1
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 0x1401455b8
cmp byte [0x1403f1a48], 2
lea r11d, [r9 - 1]
ja 0x14022c5f6
mov eax, r11d
jmp 0x140144f6f
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 0x140145370
mov ecx, dword [r14]
sub edx, esi
cmp esi, ecx
ja 0x1401452c6
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 0x140145658
jmp 0x1401452c6
xor edx, edx
mov rcx, r15
call fcn.14013a940
mov rax, qword [r15 + 0xc8]
mov r11d, dword [rax + 4]
test r11d, r11d
jne 0x1401456a5
test byte [r15 + 4], 0xc
je 0x140145cac
cmp dword [r15 + 0x68], 2
lea r13, [rsp + 0x270]
ja 0x140145a83
mov qword [rsp + 0x78], 0
cmp qword [rbp + 0x18], 0
je 0x1401456ea
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.1401376b0
test eax, eax
jne 0x140146ed8
mov rax, qword [r15 + 0xa0]
or dword [rsp + 0x2b8], 0x20
mov byte [rsp + 0x6b], 0
movdqa xmm6, xmmword [0x1402bcb80]
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 0x1401457a9
cmp eax, dword [rbx + 0xd0]
ja 0x140145cc6
mov r10d, dword [rsp + 0x80]
test r10d, r10d
je 0x1401463de
mov rax, qword [rsi + 0xd0]
test rax, rax
je 0x1401457d3
mov edx, dword [rsp + 0x58]
cmp rdx, qword [rax]
jb 0x140146571
mov rcx, rsi
call fcn.140142300
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x140145ec7
cmp qword [rsi + 0xd0], 0
mov ecx, dword [rsi + 0xe8]
je 0x140146b78
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 0x140146bda
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 0x140145830
mov dword [r12], edx
mov rcx, r12
call fcn.140221480
mov rcx, qword [rsi + 0xa8]
mov rdx, r12
call fcn.140214fd0
mov r14, qword [rsi + 0xc8]
xor r15d, r15d
mov edx, dword [r14 + 4]
test edx, edx
je 0x140146bd0
mov edi, 1
mov r12d, 1
jmp 0x1401458b8
lea r8d, [rdi - 1]
lea ecx, [r15 + 1]
cmp r15d, r8d
je 0x140146018
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 0x140145e6e
mov eax, edi
add rax, 1
shl rax, 4
add rax, r14
mov r9, qword [rax]
test byte [r9 + 0xb], 0x40
je 0x140145888
mov eax, dword [rbx + 4]
test eax, 0x80000
jne 0x1401458ad
test eax, 0x8000000
jne 0x140146b3c
mov eax, dword [rbx + 0xe8]
cmp dword [rbx + 0x178], eax
jae 0x1401463cd
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 0x1401458ad
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 0x140145928
mov ecx, dword [r14]
jmp 0x1401452c6
mov ecx, dword [r12 + 0xf8]
cmp ecx, 0x7fffffff
je 0x1401459a5
cmp esi, ecx
jb 0x14014598a
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 0x140145970
lea eax, [rcx - 1]
mov dword [rbx], eax
mov dword [r12 + 0xf8], 0x7fffffff
mov esi, dword [rbx]
test esi, esi
je 0x140144a82
mov eax, dword [r12 + 0x28]
lea ecx, [rax + rax]
cmp dword [rbx + 4], ecx
jb 0x1401459ea
xor eax, eax
jmp 0x1401459c8
add edx, 2
cmp ecx, dword [rbx + rdx*4]
ja 0x1401459d1
mov edx, eax
add eax, 1
cmp eax, esi
jb 0x1401459c0
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 0x140145d50
mov r13, rax
test edi, edi
jne 0x140145a3b
jmp 0x140145d50
mov edx, edi
shr eax, 1
mov edx, dword [r13 + rdx*4]
cmp eax, edx
je 0x140145d30
setbe cl
movzx ecx, cl
sub esi, ecx
cmp eax, edx
seta al
movzx eax, al
sub edi, eax
test esi, esi
je 0x140145d50
test edi, edi
je 0x140145d50
mov eax, esi
mov eax, dword [rbx + rax*4]
test al, 1
je 0x140145a08
sub esi, 1
jmp 0x140145a2b
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.140143b90
mov r8d, dword [rsp + 0x98]
jmp 0x1401453f8
mov r8d, 1
mov rdx, r15
mov rcx, r13
mov qword [rsp + 0xd8], 0x30
call fcn.1401376b0
mov r8d, eax
test eax, eax
jne 0x140145bb0
mov ecx, dword [r15 + 0x68]
mov ebx, 2
lea rsi, [rsp + 0xe0]
cmp ecx, 2
ja 0x140145b7e
jmp 0x1401456b8
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 0x140145b35
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.140138410
mov rdx, qword [rdi + 8]
mov qword [r12], rdx
test eax, eax
jne 0x140146738
mov ecx, dword [r15 + 0x68]
add ebx, 1
cmp ebx, ecx
jae 0x1401456b8
mov rax, qword [r15 + 0x60]
mov edx, ebx
test byte [rax + rdx], 1
je 0x140145b73
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 0x140145ad0
mov r8d, 0xffff87c4
nop dword [rax + rax]
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
jmp 0x140145a66
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xb1
mov rcx, r15
call fcn.140147b40
mov r8d, eax
jmp 0x1401453f8
mov r8d, 1
jmp 0x140144ce6
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov r8d, 0x57
jmp 0x140145a66
test rcx, rcx
jne 0x140145c64
mov rcx, qword [0x1403f2260]
test rcx, rcx
je 0x140146b08
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 [0x1403f1a50], rax
cmp rbx, rax
jbe 0x140145101
mov edx, 0xffffffff
jmp 0x14014511e
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 0x140144e60
mov esi, dword [rsp + 0x58]
mov edi, r11d
jmp 0x140144dc1
mov qword [rsp + 0x78], 0
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov edx, 0xf1
jmp 0x140145bdd
lea r8d, [rax + 1]
lea r9, [rsp + 0xb4]
mov rdx, r13
mov rcx, rsi
shl r8, 2
call fcn.140141110
mov r8d, eax
test eax, eax
je 0x1401457a9
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 0x140145a66
mov ecx, ebx
jmp 0x140145287
mov edx, esi
mov r8d, 1
mov rcx, r12
sub esi, 1
call fcn.140142a80
sub edi, 1
jmp 0x140145a2b
mov rax, qword [rsp + 0x80]
mov edx, 1
mov esi, dword [rax + 4]
mov rdi, rax
test esi, esi
je 0x140145de0
nop word [rax + rax]
cmp dword [rbx], edx
jb 0x140145de0
mov eax, edx
mov eax, dword [rbx + rax*4]
test al, 1
jne 0x140145e48
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 0x14014606e
cmp r9d, r8d
jb 0x140145e60
add r8d, r10d
lea r13d, [rdx + 1]
cmp r9d, r8d
jae 0x140145e50
mov r8d, 1
mov rcx, r12
call fcn.140142a80
mov edx, r13d
cmp dword [rbx], edx
jae 0x140145d74
nop dword [rax]
mov r8, qword [r12 + 0xf0]
mov ecx, dword [r12 + 0xf8]
mov r11d, dword [r8]
cmp ecx, 0x7fffffff
je 0x140144a82
cmp ecx, r11d
ja 0x140145e2c
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 0x140145e10
sub ecx, 1
mov dword [r8], ecx
mov dword [r12 + 0xf8], 0x7fffffff
jmp 0x140144a82
add edx, 1
jmp 0x140145d70
mov edx, r13d
jmp 0x140145d70
sub esi, 1
jne 0x140145d70
jmp 0x140145de0
lea eax, [r15 + 1]
mov rdx, qword [0x1402bcb48]
add rax, 1
lea rdi, [0x1402bbdf0]
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 0x140146280
test edi, edi
je 0x140146c20
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 0x140145f52
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 0x140146774
shl r8, 2
mov r9, rdi
mov rdx, r13
mov rcx, rsi
mov qword [rsp + 0xe8], r8
call fcn.140141110
mov r8, r14
mov rdx, r12
mov rcx, r13
mov r9d, 0x10000
call fcn.140138410
test eax, eax
je 0x140145f30
mov r8d, eax
mov r15, rsi
jmp 0x140145cef
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 0x140146b31
lea rax, [rbx - 0x20]
shr rax, 4
sub rax, 0x12
shr rax, 1
mov dword [rdx + 8], eax
mov qword [r12 + 0xc8], rdx
jmp 0x1401446bb
mov rcx, rax
call fcn.1402247c0
mov qword [rsp + 0x80], rax
jmp 0x140144840
mov rcx, r14
call fcn.1402247c0
mov ebx, dword [rax + 4]
mov r14, rax
jmp 0x140144855
mov r15d, ecx
jmp 0x1401458ad
mov r8d, 0x57
jmp 0x140145125
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 0x140144e05
mov rax, qword [rcx + 0x10]
mov r10d, dword [rax + 0xc]
jmp 0x140145dab
lea rcx, [r12 + 0xf0]
call fcn.140141070
mov r8d, eax
test eax, eax
jne 0x140145bb0
mov r8, qword [r15 + 0xf0]
mov r11d, dword [r8]
jmp 0x140144658
lea rcx, [r15 + 0xa8]
call fcn.140141070
mov r8d, eax
test eax, eax
je 0x140144628
jmp 0x140145bb0
mov dword [rsp + 0x94], 0xffffffff
test rax, rax
jne 0x140145087
mov rcx, qword [0x1403f2260]
test rcx, rcx
je 0x140146d1e
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 [0x1403f1a50], rax
cmp r12, rax
jbe 0x140145245
jmp 0x140145087
test rax, rax
jne 0x140146165
mov rcx, qword [0x1403f2260]
test rcx, rcx
je 0x140146c87
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 [0x1403f1a50], rax
cmp rsi, rax
jbe 0x14014518d
mov edx, 0xffffffff
jmp 0x1401451aa
test rcx, rcx
jne 0x1401461b3
mov rcx, qword [0x1403f2260]
test rcx, rcx
je 0x140146c5e
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 [0x1403f1a50], rax
cmp r15, rax
jbe 0x1401454a5
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edx, 0xffffffff
jmp 0x14014506c
mov edx, 0xffffffff
test rcx, rcx
jne 0x14014547e
mov r9, qword [0x1403f2260]
test r9, r9
je 0x140146cf5
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 [0x1403f1a50], rcx
cmp rdi, rcx
jbe 0x140145461
jmp 0x14014547e
test rcx, rcx
jne 0x14014625f
mov r9, qword [0x1403f2260]
test r9, r9
je 0x140146ccc
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 [0x1403f1a50], rcx
cmp rsi, rcx
jbe 0x1401451fc
mov rax, qword [rbp + 0x18]
sub rbx, qword [rsp + 0x70]
mov dword [rax + 0x14], 0xffffffff
cmp rbx, rcx
jbe 0x1401450fa
jmp 0x140145c64
mov r14d, r15d
sub r14d, dword [rsp + 0x6c]
test r14d, r14d
jle 0x140146f19
mov r9d, dword [rsp + 0x80]
test r9d, r9d
je 0x1401466c0
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x1401468ae
mov rdx, qword [rcx]
mov r8d, dword [rbx + 0xd0]
mov eax, edx
sub eax, dword [rsp + 0x88]
cmp edx, 0x100
jbe 0x1401468e2
mov rax, qword [rcx + rax*8]
add dword [rsp + 0x88], 1
mov qword [rsp + 0xc8], rax
cmp r14d, r8d
ja 0x140146cb0
test rax, rax
je 0x140146b5e
mov rax, qword [rbx + 0x70]
mov rax, qword [rax + 0x80]
cmp rax, qword [rsp + 0xc8]
jbe 0x140146b5e
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.140141110
lea r8, [rsp + 0xe0]
mov rdx, r12
mov rcx, r13
mov r9d, 0x10010
call fcn.140138410
mov r8d, eax
test eax, eax
jne 0x140145cec
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov dword [rcx], 0
test dword [rbx + 4], 0x1080000
je 0x1401468a2
add dword [rsp + 0x6c], r14d
cmp qword [rsi + 0xd0], 0
je 0x1401463ba
mov rax, qword [rsi + 0xa8]
mov eax, dword [rax]
cmp r15d, eax
jb 0x140146e20
mov edx, dword [rsp + 0xb4]
mov rax, qword [rsi + 0xd8]
jmp 0x140145797
mov rcx, r9
call sub.msvcrt.dll_free
mov edx, dword [r14 + 4]
jmp 0x1401458ad
cmp byte [rsp + 0x6b], 0
lea rdi, [rsp + 0xd0]
jne 0x1401464b5
mov r12d, dword [rsp + 0x6c]
mov r14d, dword [rsp + 0x88]
mov rax, qword [rsi + 0xb0]
cmp qword [rsp + 0xb8], rax
ja 0x140146ebc
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.140136d60
test eax, eax
jne 0x140146ae0
cmp qword [rsp + 0xd8], 8
jne 0x140146740
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 0x140146740
cmp qword [rsi + 0xb0], rax
jb 0x140146e50
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.140141110
test eax, eax
jne 0x140145f84
xor edx, edx
mov rcx, r13
call fcn.140136440
test eax, eax
jne 0x140145f84
xor r14d, r14d
xor r12d, r12d
jmp 0x1401463fe
mov rax, qword [rsp + 0xb8]
cmp qword [rsi + 0xb0], rax
jb 0x1401457d3
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.140136d60
mov r8d, eax
test eax, eax
jne 0x140146af0
cmp qword [rsp + 0xd8], 8
jne 0x140146740
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 0x140146740
cmp rax, qword [rsi + 0xb0]
ja 0x140146e50
xor edx, edx
mov rcx, r13
call fcn.140136440
mov r8d, eax
test eax, eax
jne 0x140145cec
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
jmp 0x1401464b5
mov r8d, 0xffff892c
jmp 0x140144cf8
xor edi, edi
cmp byte [rsp + 0x6b], 0
lea r12, [rsp + 0xd0]
lea r14, [rsp + 0xb8]
jne 0x140146640
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.140136f10
cmp eax, 0xffff87b2
je 0x140146603
test eax, eax
jne 0x140145f84
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov rcx, rsi
call fcn.140141110
test eax, eax
jne 0x140145f84
xor edx, edx
mov rcx, r13
call fcn.140136440
test eax, eax
jne 0x140145f84
mov rax, qword [rsi + 0xd0]
mov rdx, qword [rax]
cmp rdx, r15
ja 0x14014658e
lea rdx, [rax + rdx*8 + 8]
lea rcx, [rax + 8]
mov dword [rsp + 0x58], edi
call fcn.14021eab0
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x88], 0
jmp 0x1401457d3
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.140136f10
mov r8d, eax
cmp eax, 0xffff87b2
je 0x1401466a2
test eax, eax
jne 0x140145cec
xor edx, edx
mov rcx, r13
call fcn.140136440
mov r8d, eax
test eax, eax
jne 0x140145cec
mov rax, qword [rsi + 0xd0]
mov rdx, qword [rax]
cmp r15, rdx
jb 0x140146640
jmp 0x140146616
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x140146d47
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 0x1401462f7
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
jne 0x140146cb0
cmp rdx, 0x7ffe
jbe 0x140146cbe
mov edx, 0x7fff
lea ecx, [r8 + r8]
cmp r14d, ecx
jae 0x140146e68
shr r14d, 1
jmp 0x1401462ee
mov r8d, eax
jmp 0x140145bb0
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 0x140145a66
mov dword [rsp + 0xb4], edx
call fcn.140221480
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 0x1401463ba
cmp dword [rsp + 0x6c], 0
je 0x1401463ba
mov r15, rsi
add dword [rsp + 0x60], 1
mov eax, dword [rsp + 0x60]
cmp eax, 0x2a
ja 0x140146864
mov edx, dword [rsp + 0xb4]
cmp byte [rsp + 0x6b], 0
mov eax, edx
je 0x140146821
mov edx, eax
mov byte [rsp + 0x6b], 1
mov rax, qword [r15 + 0xd8]
test edx, edx
je 0x14014575e
mov eax, dword [rax]
lea r9, [rsp + 0xb4]
mov rdx, r13
mov rcx, r15
lea r8d, [rax + 1]
shl r8, 2
call fcn.140141110
mov r8d, eax
test eax, eax
jne 0x140145cef
mov edx, dword [rsp + 0xb4]
mov rax, qword [r15 + 0xd8]
jmp 0x14014575e
mov r8d, 0xffff892c
jmp 0x140145125
mov edx, dword [rsp + 0x88]
cmp rax, rdx
ja 0x140146ab6
add dword [rsp + 0x60], 1
cmp byte [0x1403f1a48], 2
mov r15, rsi
ja 0x14022c56e
cmp dword [rsp + 0x60], 0x2a
jbe 0x14014681a
cmp byte [0x1403f1a48], 0
jne 0x14022c66e
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 0x140145a66
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x140146399
mov ecx, 0xf0
call sub.msvcrt.dll_malloc
mov rcx, rax
test rax, rax
je 0x14014720d
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 0x1401462d1
cmp byte [rsp + 0x6b], 0
jne 0x1401462d1
xor edi, edi
lea r12, [rsp + 0xa0]
and dword [rsp + 0x2b8], 0xffffffdf
jmp 0x140146941
mov rax, qword [rsi + 0xd0]
mov rax, qword [rax]
cmp eax, 0x100
ja 0x140146f0c
sub eax, dword [rsp + 0x88]
imul eax, dword [rbx + 0xd0]
mov edi, 1
cmp r14d, eax
jbe 0x140146f0c
mov rcx, qword [rsi + 0x40]
call fcn.14013c420
xor r8d, r8d
mov rdx, r13
mov rcx, r12
mov r9d, 0x1a
mov qword [rsp + 0x50], rax
call fcn.140229900
mov rax, qword [rsp + 0xa8]
mov r8d, eax
test eax, eax
je 0x140146910
or dword [rsp + 0x2b8], 0x20
cmp eax, 0xffff87b2
jne 0x140145cec
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rcx]
test rax, rax
jne 0x140147166
mov rcx, qword [rsi + 0x40]
call fcn.14013c420
mov rcx, qword [rsp + 0x50]
cmp rcx, rax
jne 0x140146906
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 0x140146ab6
mov edx, eax
sub edx, dword [rsp + 0x88]
imul edx, dword [rbx + 0xd0]
cmp r14d, edx
jbe 0x140146ab6
mov rdx, qword [rsp + 0xc0]
cmp rdx, 1
jbe 0x140146838
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.140136f10
mov rdx, qword [rsp + 0x48]
test eax, eax
je 0x14014724c
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsi + 0xd0]
call fcn.140143ad0
mov r8d, eax
test eax, eax
jne 0x140145cec
mov r8d, dword [rsp + 0x88]
test r8d, r8d
jne 0x140146ece
add dword [rsp + 0x58], 1
mov rcx, qword [rsi + 0xd0]
mov rax, qword [rcx]
cmp rax, 0x100
jbe 0x1401469f0
test dil, dil
jne 0x140147383
mov eax, dword [rcx]
mov r8d, dword [rbx + 0xd0]
mov byte [rsp + 0x6b], 0
sub eax, dword [rsp + 0x88]
jmp 0x1401462d1
mov dword [rsp + 0x6c], r12d
mov r8d, eax
mov dword [rsp + 0x88], r14d
cmp r8d, 0xffff87b2
je 0x1401457d3
jmp 0x140145cec
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403f2260]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403f2260]
mov r8d, dword [rsp + 0x98]
jmp 0x140145c35
mov r8d, 0xe
jmp 0x140145bb0
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 0x1401458e4
cmp byte [0x1403f1a48], 0
mov r15, rsi
je 0x140146871
jmp 0x14022c6fd
cmp qword [rsi + 0xb0], 0
jne 0x1401457ff
test ecx, ecx
je 0x140145861
mov r8, qword [rsi + 0xd8]
mov edx, dword [r8]
add rdx, rcx
mov ecx, dword [r8 - 4]
cmp rdx, rcx
ja 0x1401471ca
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 0x140146ba8
jmp 0x140145861
mov eax, 1
jmp 0x140145e72
lea rcx, [rsi + 0xa8]
call fcn.140141070
mov r8d, eax
test eax, eax
jne 0x140145cec
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 0x140145825
xor edx, edx
jmp 0x140145846
mov r8d, 9
xor edx, edx
mov rcx, r13
and dword [rsp + 0x2b8], 0xffffffdf
call fcn.14022aeb0
or dword [rsp + 0x2b8], 0x20
mov r8d, eax
test eax, eax
je 0x140146c52
cmp eax, 0xffff87b2
jne 0x140145cec
mov rax, qword [rsi + 0xd8]
jmp 0x140145eef
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403f2260]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403f2260]
mov r8d, dword [rsp + 0x98]
jmp 0x140146184
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403f2260]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403f2260]
mov r8d, dword [rsp + 0x98]
jmp 0x140146136
mov edx, 1
sub edx, dword [rsp + 0x88]
add edx, dword [rcx]
cmp edx, 1
ja 0x14014671f
jmp 0x1401462ee
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403f2260]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r9, qword [0x1403f2260]
mov r8d, dword [rsp + 0x98]
jmp 0x140146230
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403f2260]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r9, qword [0x1403f2260]
mov r8d, dword [rsp + 0x98]
jmp 0x1401461e2
mov dword [rsp + 0x98], r8d
lea rcx, [0x1403f2260]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov rcx, qword [0x1403f2260]
mov r8d, dword [rsp + 0x98]
jmp 0x1401460e2
mov rcx, qword [rsi + 0x40]
lea r12, [rsp + 0xd0]
call fcn.14013c420
xor r8d, r8d
xor r9d, r9d
mov rdx, r12
sub rax, 1
mov rcx, r13
mov qword [rsp + 0xc0], rax
call fcn.140136f10
mov r8d, eax
test eax, eax
jne 0x140146ef4
cmp qword [rsp + 0xd8], 8
jne 0x140146740
mov rax, qword [rsp + 0xd0]
movabs rdi, 0xfffffffefffffffe
mov rdx, qword [rax]
lea rax, [rdx - 1]
cmp rax, rdi
ja 0x140146740
cmp rdx, qword [rsp + 0xc0]
ja 0x140146dc3
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0xc0], 0
je 0x14014717f
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 0x1401462ee
jmp 0x1401466fd
cmp dword [rsp + 0x60], 4
jbe 0x140146e38
mov edx, eax
sub edx, r15d
cmp edx, dword [rbx + 0xd0]
jbe 0x1401463ba
cmp byte [0x1403f1a48], 2
mov r14d, r15d
mov r15, rsi
jbe 0x1401467ba
jmp 0x14022c5a7
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x6c], 0
jmp 0x1401457d3
mov ecx, 0x101
cmp edx, ecx
cmovbe ecx, edx
imul ecx, r8d
cmp r14d, ecx
jb 0x140146f04
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 0x1401472c8
sub r14d, r8d
jmp 0x1401462ee
mov dword [rsp + 0x6c], r12d
mov dword [rsp + 0x88], r14d
jmp 0x1401457d3
mov edi, 1
jmp 0x140146aa0
mov rdx, qword [r15 + 0xa8]
mov r8d, eax
xor r13d, r13d
xor ebx, ebx
xor esi, esi
mov dword [rdx], 0
jmp 0x140145a66
cmp eax, 0xffff87b2
je 0x140146dd2
jmp 0x140145cec
mov r14d, r8d
jmp 0x1401462ee
or dword [rsp + 0x2b8], 0x20
jmp 0x1401463ba
mov rcx, qword [rsi + 0xd0]
mov r15, rsi
mov rax, rcx
test rcx, rcx
je 0x14014797e
mov esi, dword [rcx]
sub esi, dword [rsp + 0x88]
cmp dword [rdx], 0
mov dword [rsp + 0x88], esi
je 0x140147a51
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 0x1401479da
mov rdx, qword [rax]
add esi, 1
cmp esi, edx
ja 0x1401479c1
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.140136f10
mov r8d, eax
test eax, eax
jne 0x140145cef
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 0x140147a2a
mov rdx, qword [rsp + 0x88]
mov r8, rdi
mov r9d, 0x10040
mov rcx, r13
call fcn.140138410
and dword [rsp + 0x2b8], 0xffffffbf
mov r8d, eax
test eax, eax
jne 0x140145cef
mov rcx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
mov dword [rcx], 0
test dword [rbx + 4], 0x1080000
je 0x140147a1e
mov eax, dword [r15 + 0xe8]
test eax, eax
jne 0x140147a67
mov rdx, qword [r15 + 0xa8]
mov ecx, dword [rsp + 0x6c]
cmp dword [rdx], ecx
jne 0x140147a67
mov rax, qword [r15 + 0xd0]
test rax, rax
je 0x1401479a7
mov edx, dword [rsp + 0x58]
cmp rdx, qword [rax]
setb al
movzx eax, al
test eax, eax
jne 0x14014796c
mov rax, qword [r15 + 0xd8]
mov eax, dword [rax]
cmp dword [rsp + 0x48], eax
jne 0x140147956
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 0x1401473b9
cmp qword [r15 + 0xd0], 0
je 0x140147390
mov rax, qword [r15 + 0xd0]
mov edx, esi
jmp 0x140146fc4
test dil, dil
jne 0x1401471ab
mov rax, qword [rcx]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xc0], rax
jmp 0x1401469cc
add dword [rsp + 0x60], 1
cmp byte [0x1403f1a48], 0
mov r15, rsi
jne 0x14022c631
cmp dword [rsp + 0x60], 0x2a
ja 0x140146871
mov eax, dword [rsp + 0xb4]
jmp 0x1401467dc
lea rdx, [rcx + rax*8 + 8]
add rcx, 8
call fcn.14021eab0
mov dword [rsp + 0x58], 0
mov rcx, qword [rsi + 0xd0]
jmp 0x14014716b
lea rcx, [rsi + 0xd8]
call fcn.140141070
mov r8d, eax
test eax, eax
jne 0x140145cec
mov rax, qword [rsi + 0xe0]
test rax, rax
je 0x140145861
jmp 0x140146ba8
mov rax, qword [rbp + 0x18]
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [rax + 4], 0
jmp 0x140145087
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 0x140145a66
xor r9d, r9d
mov r8, r12
mov rcx, r13
add qword [rsp + 0xc0], 1
call fcn.140136f10
cmp eax, 0xffff87b2
je 0x1401472b6
test eax, eax
jne 0x140146740
cmp qword [rsp + 0xd8], 4
jne 0x140146740
mov rax, qword [rsp + 0xd0]
movabs rcx, 0xfffffffefffffffe
mov rdx, qword [rax]
lea rax, [rdx - 1]
cmp rax, rcx
ja 0x140146740
sub rdx, 1
je 0x1401472b6
mov qword [rsp + 0xc0], rax
jmp 0x140146a6b
mov dword [rsp + 0x58], 0
mov byte [rsp + 0x6b], 1
jmp 0x1401463ba
mov r9d, r15d
sub r9d, 1
je 0x140147335
mov r10, qword [rsi + 0xa8]
mov r11d, r9d
lea rdi, [r10 + r11*4]
jmp 0x1401472f2
sub rdi, 4
sub r9d, 1
je 0x14014732c
mov r11d, dword [rdi]
lea r12d, [r8 + r9]
sub r11d, r8d
cmp r11d, dword [r10 + r12*4]
jne 0x1401472e8
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 0x1401472e8
jmp 0x140146eb4
cmp r14d, ecx
jbe 0x140146eb4
cmp edx, 3
jbe 0x1401462ee
cmp dword [rsp + 0x88], 0xfd
ja 0x1401462ee
sub ecx, r8d
mov r14d, ecx
jmp 0x1401462ee
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 0x14014557c
mov dword [rsp + 0x58], 0
jmp 0x1401463ba
mov rdx, qword [rsp + 0x88]
mov r8, rdi
mov r9d, 8
mov rcx, r13
call fcn.140137ac0
mov r8d, eax
test eax, eax
je 0x140147158
jmp 0x140145cef
mov eax, dword [r15 + 0xe8]
mov dword [rsp + 0x88], esi
test eax, eax
jne 0x140147995
mov rcx, qword [r15 + 0xd0]
test rcx, rcx
je 0x1401473dd
mov eax, dword [rcx]
cmp dword [rsp + 0x88], eax
jne 0x140147939
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 0x14014784e
mov rdx, qword [r15 + 0x30]
mov qword [rax + 0x28], rdx
mov rax, qword [r15 + 0x60]
test byte [rax + 1], 1
je 0x140147857
mov rdx, qword [r15 + 0x30]
mov rax, qword [r15 + 0x50]
xor esi, esi
cmp qword [rbp + 0x18], 0
mov qword [rax + 0x58], rdx
je 0x140147462
mov qword [rsp + 0x270], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rsi, qword [rsp + 0x270]
mov rax, qword [0x1402bcb58]
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 0x1401474a5
cmp dword [r12], edx
jne 0x1401478fc
xor r8d, r8d
mov r14d, 1
mov ebx, 1
test edx, edx
je 0x140147599
mov ebx, 1
mov edi, 1
mov r14, r13
jmp 0x1401474fd
mov r9d, 1
test byte [rax + 0xc], 1
jne 0x140147845
mov rdx, r14
mov rcx, r15
call fcn.140129700
test eax, eax
jne 0x140147533
add ebx, 1
cmp ebx, dword [r12 + 4]
ja 0x14014787c
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 0x1401474d0
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 0x1401474ef
mov edx, dword [rsp + 0x270]
mov r8d, eax
mov rax, r14
mov r14d, r13d
mov r13, rax
test edx, edx
jne 0x14014788d
mov ecx, dword [r12 + 4]
cmp ebx, ecx
ja 0x14014792d
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 0x140147570
lea r14d, [rdx + 1]
mov eax, r14d
mov rcx, qword [0x1402bcb48]
movd xmm6, edx
lea rdi, [0x1402bbdf0]
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 0x140147864
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 0x1401477fa
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 0x1401478bc
xor ecx, ecx
cmp r11, r9
jne 0x1401478cd
mov r11, qword [rdx + 0xa8]
cmp r9, rcx
je 0x1401478d4
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 0x1401478a0
xor ecx, ecx
mov r9, qword [rax + 8]
mov r8, qword [rax + 0xb0]
cmp r9, r8
jne 0x1401478dd
mov r9, qword [rax + 0xa8]
cmp r8, rcx
je 0x1401478e4
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 [0x1403f2490]
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.140142b60
cmp qword [rbp + 0x18], 0
mov rdi, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8d, eax
je 0x140147823
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 0x140145bdd
mov rax, qword [rsp + 0x98]
or dword [rax + 4], 0x80000000
jmp 0x140145a66
mov r9d, dword [r8 + 0xc]
jmp 0x1401474e0
mov rdx, qword [rax + 0x28]
jmp 0x14014741e
mov rax, qword [r15 + 0x50]
mov rdx, qword [rax + 0x58]
jmp 0x140147438
xor ebx, ebx
lea r12, [rsp + 0xe0]
xor r13d, r13d
test r8d, r8d
je 0x14014762a
jmp 0x140147831
mov r13, r14
mov r14d, edi
mov eax, dword [rsp + 0x270]
test eax, eax
je 0x1401478ed
mov rdx, r13
mov rcx, r15
call fcn.14013c9b0
mov r8d, eax
jmp 0x14014754e
mov r9, qword [rax + 8]
mov r8, qword [rax + 0xb0]
cmp r9, r8
je 0x1401476c8
xor r8d, r8d
jmp 0x1401476c8
cmp r11, r9
je 0x140147681
xor r9d, r9d
jmp 0x140147681
mov r11, qword [rdx + 0xa8]
cmp r11, 1
jmp 0x140147691
mov r9, qword [rax + 0xa8]
cmp r9, 1
jmp 0x1401476d8
mov edx, dword [rsp + 0x90]
xor r8d, r8d
jmp 0x140147599
mov rcx, r12
call fcn.1402247c0
mov ecx, dword [rax + 4]
mov r12, rax
test ecx, ecx
jne 0x1401474bb
mov dword [rsp + 0x90], 0
mov r14d, 1
mov ebx, 1
jmp 0x140147882
mov edx, dword [rsp + 0x90]
jmp 0x140147599
cmp byte [0x1403f1a48], 2
ja 0x14022c4ef
cmp dword [rsp + 0x60], 8
jbe 0x1401467ba
jmp 0x1401473ea
cmp byte [0x1403f1a48], 2
mov edi, dword [rsp + 0x48]
jbe 0x1401467ba
jmp 0x14022c42c
cmp byte [0x1403f1a48], 2
jbe 0x1401467ba
jmp 0x14022c53f
cmp dword [rdx], 0
jne 0x140147aa5
mov eax, dword [rsi + 0xe8]
test eax, eax
je 0x1401473dd
cmp byte [0x1403f1a48], 2
jbe 0x1401467ba
jmp 0x14022c4c8
mov rax, qword [rsp + 0xb8]
cmp qword [r15 + 0xb0], rax
seta al
movzx eax, al
jmp 0x1401470f9
cmp byte [0x1403f1a48], 2
mov dword [rsp + 0x88], esi
jbe 0x1401467ba
jmp 0x14022c457
mov rax, qword [rsp + 0xd0]
sub esi, 1
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
test edx, edx
je 0x140147a95
cmp rax, qword [r15 + 0xb0]
jbe 0x140147026
mov dword [rsp + 0x88], esi
cmp byte [0x1403f1a48], 2
jbe 0x1401467ba
jmp 0x14022c489
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x1401470ba
mov edx, r12d
sub edx, r14d
cmp dword [rsp + 0x60], 4
ja 0x140147b0a
cmp dword [rsp + 0x44], edx
jb 0x140147a79
cmp dword [rbx + 0xd0], edx
jb 0x140147a79
mov r12d, r14d
jmp 0x14014706b
mov eax, dword [r15 + 0xe8]
test eax, eax
jne 0x140147995
mov eax, dword [rcx]
jmp 0x1401473dd
cmp byte [0x1403f1a48], 2
jbe 0x1401467ba
jmp 0x14022c3f0
lea edx, [r14 + 1]
shl rdx, 2
mov qword [rsp + 0xe8], rdx
and eax, 0xffffffbf
mov dword [rsp + 0x2b8], eax
jmp 0x140147a49
mov dword [rsp + 0x88], 0xffffffff
jmp 0x140147a0c
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.140136d60
mov r8d, eax
test eax, eax
jne 0x140145cef
mov rax, qword [r15 + 0xd0]
jmp 0x140146f7e
mov r12d, r14d
cmp dword [rbx + 0xd0], edx
jae 0x14014706b
lea edx, [r14 + 1]
shl rdx, 2
cmp dword [rsp + 0x60], 6
mov qword [rsp + 0xe8], rdx
ja 0x14014706b
jmp 0x140147a89
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.1402232f0
jmp 0x1401467ba
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.1402232f0
jmp 0x1401467ba
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.1402232f0
jmp 0x1401467ba
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.1402232f0
jmp 0x1401467ba
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.1402232f0
jmp 0x1401467ba
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.1402232f0
jmp 0x140147946
lea rax, str._restart:_reclaimed_slots_changed
lea r9, [0x1402ba5b9]
mov r8d, 0x3349
mov ecx, 3
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_update_gc
call fcn.1402232f0
jmp 0x1401467ba
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.1402232f0
cmp dword [rsp + 0x60], 0x2a
ja 0x14022c5d3
jmp 0x14014681a
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.1402232f0
jmp 0x1401467ba
jmp 0x140146864
mov r8d, 0x3415
lea rdx, str.mdbx_txn_merge
lea rcx, str.err__MDBX_SUCCESS
call fcn.1402242c0
jmp 0x140144a4a
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.1402232f0
mov r11d, dword [rsp + 0x88]
lea r10, str.mdbx_txn_merge
jmp 0x14014560d
lea rax, str._no_GC_tail_space_to_store__going_dense_mode_
lea r9, [0x1402ba5b9]
mov r8d, 0x326e
mov ecx, 1
mov qword [rsp + 0x20], rax
lea rdx, str.mdbx_update_gc
call fcn.1402232f0
cmp dword [rsp + 0x60], 0x2a
ja 0x14022c6c5
mov eax, dword [rsp + 0xb4]
jmp 0x1401467dc
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.1402232f0
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 0x140145a66
jmp 0x140146864
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.1402232f0
mov eax, dword [r14 + 4]
lea r10, str.mdbx_txn_merge
jmp 0x140145565
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.1402232f0
jmp 0x14022c694