Function at 0x1400156c0
Capabilities:
Check for time delay via queryperformancecounter
Terminate process

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x138]
sub rsp, 0x238
mov rax, qword [0x140028008]
xor rax, rsp
mov qword [rbp + 0xd8], rax
mov rax, qword [0x140028658]
mov r15, rdx
mov r12, qword [rbp + 0x1b0]
mov dword [rsp + 0x60], r9d
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x68], rdx
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x20], r12
cmp rax, 0x20
jb 0x140015724
cmp dword [0x14002863c], 0
je 0x140015727
mov rax, r15
mov r14d, dword [rbp + 0x1a8]
xor r13d, r13d
test r15, r15
mov esi, r13d
sete sil
add rsi, rax
lea rax, [rdx - 1]
add rax, rsi
xor edx, edx
div rsi
lea ebx, [r14 + rax]
mov eax, 0x38
mov ecx, ebx
mul rcx
mov rcx, 0xffffffffffffffff
mov qword [rbp - 0x78], rcx
cmovo rax, rcx
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x58], rax
mov rdi, rax
cmp r15d, 0x7e000000
jbe 0x140015786
mov ecx, r13d
jmp 0x1400157a1
mov eax, 0x80808081
lea ecx, [r15 + 0x10]
imul r15d
add edx, r15d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add ecx, edx
movsxd rax, ecx
shl ebx, 0xa
mov edx, ebx
add rdx, rax
mov rcx, rdx
mov qword [rbp - 0x38], rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
cmp dword [0x14002863c], r13d
mov r8d, 1
mov rbx, rax
mov qword [rbp - 0x40], rax
mov eax, 0xff
cmovne r8d, eax
xor edx, edx
mov eax, 0x7e000000
mov qword [rbp - 0x60], r8
div r8
mov r15, rax
mov rax, qword [rsp + 0x68]
cmp rax, r15
jae 0x1400157fa
mov rcx, rax
imul rcx, r8
jmp 0x1400157ff
mov ecx, 0x7e000000
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp - 0x80], rax
test rbx, rbx
je 0x140016962
test rax, rax
je 0x140016962
test rdi, rdi
je 0x140016962
mov rdx, qword [rsp + 0x70]
mov rax, 0xffffffffffffffff
mov rcx, rax
inc rcx
cmp byte [rdx + rcx], r13b
jne 0x140015833
cmp rcx, 0x11
jbe 0x140015857
inc rax
cmp byte [rdx + rax], r13b
jne 0x140015842
add rdx, 0xffffffffffffffef
add rdx, rax
mov qword [rsp + 0x70], rdx
mov eax, dword [rbp + 0x1b8]
mov ecx, dword [rsp + 0x60]
mov dword [rbp + 0x20], ecx
mov qword [rbp + 0x28], r12
mov dword [rbp + 0x30], eax
test eax, eax
je 0x1400158c8
cmp ecx, 3
jge 0x14001589e
lea rax, [0x140015400]
mov qword [rbp + 0x60], rax
lea rdx, [0x1400152d0]
lea rax, [0x140015560]
mov qword [rbp + 0x68], rax
lea rax, [0x1400155b0]
mov qword [rbp + 0x70], rax
jmp 0x1400158fe
lea rax, [0x1400154c0]
mov qword [rbp + 0x60], rax
lea rdx, [0x140015360]
lea rax, [0x1400155a0]
mov qword [rbp + 0x68], rax
lea rax, [0x1400155f0]
mov qword [rbp + 0x70], rax
jmp 0x1400158fe
lea rax, [fcn.1400153f0]
cmp ecx, 3
mov qword [rbp + 0x60], rax
lea r8, [0x1400154f0]
lea rax, [fcn.1400153f0]
mov qword [rbp + 0x70], rax
lea rdx, [0x1400152b0]
lea rax, [0x140015530]
cmovl rax, r8
mov qword [rbp + 0x68], rax
movaps xmmword [rsp + 0x220], xmm6
lea rcx, [rbp + 0x20]
movaps xmmword [rsp + 0x210], xmm7
movaps xmmword [rsp + 0x200], xmm8
movaps xmmword [rsp + 0x1f0], xmm9
movaps xmmword [rsp + 0x1e0], xmm10
mov qword [rbp + 0x58], rdx
call rdx
cmp qword [0x140028648], r13
jne 0x1400159ce
movups xmm6, xmmword [0x140022478]
mov edx, 0x120
mov ecx, 1
movups xmm7, xmmword [0x140022488]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
test rax, rax
jne 0x1400159b9
cmp dword [0x140028034], 1
mov qword [0x140028648], r13
jb 0x1400165e1
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, 1
lea rdx, str.Error__i_:
mov rcx, rax
call fcn.140015200
cmp dword [0x140028034], 1
jb 0x1400165e1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.allocation_error___decompression_state
jmp 0x1400165b6
movups xmmword [rax], xmm6
mov dword [rax + 0x40], 0x64
movups xmmword [rax + 0x10], xmm7
mov qword [0x140028648], rax
mov r11, qword [rbp - 0x70]
mov r12d, r13d
mov rdi, qword [rbp - 0x80]
mov dword [rsp + 0x50], r13d
test r14d, r14d
je 0x140015ada
mov r12, qword [rbp + 0x1a0]
mov r13, r14
mov r10d, dword [rsp + 0x50]
nop word [rax + rax]
mov r9, qword [r12]
xor edx, edx
lea rax, [r9 - 1]
add rax, rsi
div rsi
lea ecx, [rax + r10]
cmp r10d, ecx
jae 0x140015ac0
mov r8, qword [rsp + 0x58]
mov ecx, r10d
add r8, 0x28
imul rdx, rcx, 0x38
add r10d, eax
mov r14d, eax
add r8, rdx
mov dword [rsp + 0x50], r10d
mov rdx, qword [rbp - 0x60]
xor r12d, r12d
cmp r9, rsi
mov qword [r8 - 0x28], r11
mov rcx, rsi
mov qword [r8 - 0x18], rbx
cmovb rcx, r9
mov qword [r8], rdi
mov rax, rcx
mov qword [r8 - 0x20], rcx
imul rax, rdx
cmp rcx, r15
mov r10d, 0x7e000000
cmovb r10, rax
cmp ecx, 0x7e000000
jbe 0x140015a7c
mov eax, r12d
jmp 0x140015a98
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
add edx, 0x10
shr eax, 0x1f
add eax, edx
mov rdx, qword [rbp - 0x60]
add eax, ecx
cdqe
add r11, rcx
mov qword [r8 - 0x10], rax
add rbx, rax
add r8, 0x38
add rdi, r10
sub r9, rcx
sub r14, 1
jne 0x140015a42
mov r12, qword [rbp + 0x1a0]
mov r10d, dword [rsp + 0x50]
add r12, 8
mov qword [rbp + 0x1a0], r12
sub r13, 1
jne 0x140015a00
mov r12d, dword [rsp + 0x50]
movsd xmm3, qword [0x140025a50]
movsd xmm2, qword [0x140025a48]
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x40]
mov dword [rsp + 0x20], 1
call fcn.140017b80
cmp dword [0x14002863c], 0
je 0x140015b41
test r12d, r12d
je 0x140015b41
mov rbx, qword [rsp + 0x58]
add rbx, 8
mov edi, r12d
nop dword [rax]
mov r8, qword [rbx]
mov rdx, qword [rbx - 8]
mov rcx, qword [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx]
mov qword [rbx + 0x18], rax
lea rbx, [rbx + 0x38]
sub rdi, 1
jne 0x140015b20
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x70]
mov rdx, rbx
mov qword [rbp - 0x50], 0xffffffffffffffff
call fcn.140015080
lea rcx, [rbp + 0x80]
mov qword [rbp - 0x18], rax
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [0x140028038]
xor edx, edx
mov rdi, qword [rbp + 0x80]
mov r14d, r13d
imul rax, rcx, 0x3b9aca00
xorps xmm8, xmm8
lea rcx, [rbx + 1]
mov qword [rbp - 0x30], r13
add rax, 0x64
mov qword [rbp - 0x28], r13
mov qword [rbp + 0x80], rax
mov r15d, r13d
mov eax, 0x500000
mov dword [rsp + 0x50], r13d
div rcx
xor edx, edx
mov qword [rbp - 0x48], rbx
inc eax
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x68], rax
mov rsi, rbx
mov eax, 0xc800000
div rcx
inc eax
cmp dword [0x14002863c], 1
mov qword [rbp - 0x58], rax
lea rax, [0x140022b68]
mov qword [rbp - 8], rax
sete r14b
cmp dword [0x140028034], 2
lea rax, [0x140022b6c]
mov qword [rbp], rax
lea rax, [0x140022b70]
mov qword [rbp + 8], rax
lea rax, [0x140022b74]
mov qword [rbp + 0x10], rax
mov dword [rsp + 0x64], r14d
jb 0x140015c37
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, [0x140022b76]
lea rdx, str._r_79s_r
call fcn.140015200
movsd xmm9, qword [0x140025a90]
movsd xmm10, qword [0x140025a70]
nop dword [rax]
test r14d, r14d
je 0x140015c5e
test r15d, r15d
jne 0x1400167cb
lea rcx, [rbp + 0x88]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp dword [0x140028650], 0
mov rbx, qword [rbp + 0x88]
jne 0x140015cae
lea rcx, [0x140028660]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x140015ca4
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.ERROR:_QueryPerformanceFrequency___failure_n
call fcn.140015200
mov dword [0x140028650], 1
sub rbx, rdi
xor edx, edx
imul rax, rbx, 0xf4240
div qword [0x140028660]
cmp rax, 0x42c1d80
jbe 0x140015d0b
cmp dword [0x140028034], 2
jb 0x140015cec
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._rcooling_down_..._____r
call fcn.140015200
mov ecx, 0x2710
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rdi, qword [rbp + 0x90]
cmp dword [0x140028034], 2
jb 0x140015d45
mov ebx, dword [rsp + 0x50]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, qword [rsp + 0x70]
lea rdx, str._2s___17.17s_:_10u____r
mov r8, qword [rbp + rbx*8 - 8]
mov rcx, rax
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.140015200
test r14d, r14d
jne 0x140015d5c
mov r8, qword [rbp - 0x38]
mov edx, 0xe5
mov rcx, qword [rbp - 0x40]
call sub.VCRUNTIME140.dll_memset
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rbp + 0x98]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rbx, qword [rbp + 0x98]
nop dword [rax + rax]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp dword [0x140028668], 0
jne 0x140015dc9
lea rcx, [0x140028640]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x140015dbf
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.ERROR:_QueryPerformanceFrequency___failure_n
call fcn.140015200
mov dword [0x140028668], 1
mov rax, qword [rbp + 0xa0]
xor edx, edx
sub rax, rbx
imul rax, rax, 0x3b9aca00
div qword [0x140028640]
test rax, rax
je 0x140015d80
test r14d, r14d
jne 0x1400160ef
lea rcx, [rbp + 0xb0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rsi, qword [rbp - 0x68]
mov r14d, r13d
test esi, esi
je 0x140015e6f
nop dword [rax]
lea rcx, [rbp + 0x20]
call qword [rbp + 0x60]
mov esi, r13d
test r12d, r12d
je 0x140015e63
mov rbx, qword [rsp + 0x58]
add rbx, 8
nop dword [rax + rax]
mov eax, dword [rbx + 0x10]
lea rcx, [rbp + 0x20]
mov r9d, dword [rbx]
mov r8, qword [rbx + 8]
mov rdx, qword [rbx - 8]
mov dword [rsp + 0x20], eax
call qword [rbp + 0x68]
movsxd rcx, eax
test eax, eax
je 0x140016572
mov qword [rbx + 0x18], rcx
inc esi
add rbx, 0x38
cmp esi, r12d
jb 0x140015e30
mov rsi, qword [rbp - 0x68]
inc r14d
cmp r14d, esi
jb 0x140015e10
lea rcx, [rbp + 0xa8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp dword [0x140028668], 0
mov rbx, qword [rbp + 0xa8]
jne 0x140015ebf
lea rcx, [0x140028640]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x140015eb5
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.ERROR:_QueryPerformanceFrequency___failure_n
call fcn.140015200
mov dword [0x140028668], 1
sub rbx, qword [rbp + 0xb0]
xor edx, edx
imul rax, rbx, 0x3b9aca00
div qword [0x140028640]
mov rbx, rax
test rax, rax
je 0x140015f31
mov r11, qword [rbp - 0x78]
mov ecx, esi
imul rcx, r11
mov r8d, esi
cmp rax, rcx
jae 0x140015efc
xor edx, edx
div r8
mov r11, rax
mov qword [rbp - 0x78], rax
test r11, r11
jne 0x140015f1f
mov r8d, 0x1d9
lea rdx, str.c:_b_abs_fcz738m_9xcrootlz4_c_1670944697368workprograms_bench.c
lea rcx, str.fastestC___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r11, qword [rbp - 0x78]
xor edx, edx
mov eax, 0x3b9aca00
div r11
inc eax
mov qword [rbp - 0x68], rax
jmp 0x140015f5e
cmp esi, 0x2625a00
jb 0x140015f53
mov r8d, 0x1dc
lea rdx, str.c:_b_abs_fcz738m_9xcrootlz4_c_1670944697368workprograms_bench.c
lea rcx, str.nbCompressionLoops___40000000
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r11, qword [rbp - 0x78]
imul esi, esi, 0x64
mov qword [rbp - 0x68], rsi
mov rax, qword [rbp - 0x30]
mov r14d, r13d
add rax, rbx
mov rsi, r13
cmp rax, qword [rbp + 0x80]
mov r8d, r13d
mov qword [rbp - 0x30], rax
seta r14b
mov dword [rsp + 0x64], r14d
test r12d, r12d
je 0x14001603f
mov r10, qword [rsp + 0x58]
cmp r12d, 4
jb 0x140016019
mov r9d, r12d
xorps xmm1, xmm1
and r9d, 0xfffffffc
xorps xmm2, xmm2
mov edx, 2
nop dword [rax]
mov eax, r8d
add r8d, 4
imul rcx, rax, 0x38
movq xmm0, qword [rcx + r10 + 0x20]
lea ecx, [rdx - 1]
imul rax, rcx, 0x38
movhpd xmm0, qword [rax + r10 + 0x20]
paddq xmm0, xmm1
mov eax, edx
imul rcx, rax, 0x38
movdqa xmm1, xmm0
movq xmm0, qword [rcx + r10 + 0x20]
lea ecx, [rdx + 1]
imul rax, rcx, 0x38
add edx, 4
movhpd xmm0, qword [rax + r10 + 0x20]
paddq xmm0, xmm2
movdqa xmm2, xmm0
cmp r8d, r9d
jb 0x140015fb0
paddq xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
paddq xmm1, xmm0
movq rsi, xmm1
cmp r8d, r12d
jae 0x14001603f
mov eax, r8d
lea rdx, [r10 + 0x20]
imul rcx, rax, 0x38
add rdx, rcx
mov ecx, r12d
sub ecx, r8d
add rsi, qword [rdx]
lea rdx, [rdx + 0x38]
sub rcx, 1
jne 0x140016032
test rsi, rsi
mov rax, r13
sete al
add rsi, rax
mov eax, dword [rsp + 0x50]
inc eax
mov qword [rbp - 0x48], rsi
and eax, 3
cmp dword [0x140028034], 2
mov dword [rsp + 0x50], eax
jb 0x1400160ef
mov r14, qword [rsp + 0x78]
xorps xmm6, xmm6
cvtsi2sd xmm6, r14
test r14, r14
jns 0x140016080
addsd xmm6, xmm9
xorps xmm0, xmm0
cvtsi2sd xmm0, r11
test r11, r11
jns 0x140016092
addsd xmm0, xmm9
movaps xmm7, xmm6
divsd xmm7, xmm0
xorps xmm0, xmm0
mulsd xmm7, xmm10
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x1400160b0
addsd xmm0, xmm9
mov ecx, 2
mov ebx, eax
divsd xmm6, xmm0
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, qword [rsp + 0x70]
lea rdx, str._2s___17.17s_:_10u____10u___5.3f___6.1f_MB_s_r
mov r8, qword [rbp + rbx*8 - 8]
mov rcx, rax
movsd qword [rsp + 0x38], xmm7
movsd qword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r14d
call fcn.140015200
test r15d, r15d
jne 0x140016107
mov r8, qword [rsp + 0x68]
mov edx, 0xd6
mov rcx, qword [rbp - 0x80]
call sub.VCRUNTIME140.dll_memset
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rbp + 0xb8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rbx, qword [rbp + 0xb8]
nop word [rax + rax]
lea rcx, [rbp + 0xc0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp dword [0x140028668], 0
jne 0x140016179
lea rcx, [0x140028640]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x14001616f
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.ERROR:_QueryPerformanceFrequency___failure_n
call fcn.140015200
mov dword [0x140028668], 1
mov rax, qword [rbp + 0xc0]
xor edx, edx
sub rax, rbx
imul rax, rax, 0x3b9aca00
div qword [0x140028640]
test rax, rax
je 0x140016130
test r15d, r15d
jne 0x140016379
mov eax, dword [0x14002863c]
lea rcx, [0x140015630]
test eax, eax
lea r15, [0x140008430]
lea rax, str.LZ4F_decompress
cmovne r15, rcx
lea rcx, str.LZ4_decompress_safe_usingDict
cmovne rcx, rax
mov qword [rbp - 0x10], rcx
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rsi, qword [rbp - 0x58]
test esi, esi
je 0x140016276
nop word [rax + rax]
xor esi, esi
test r12d, r12d
je 0x140016266
mov r8, qword [rbp - 0x60]
xor edx, edx
mov rbx, qword [rsp + 0x58]
mov eax, 0x7fffffff
div r8
add rbx, 0x20
mov r14, rax
mov rcx, qword [rbx - 0x18]
cmp rcx, r14
jae 0x140016220
imul rcx, r8
jmp 0x140016225
mov ecx, 0x7fffffff
mov eax, dword [rbp + 0x1b8]
mov r9d, ecx
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx - 0x10]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp - 0x20]
mov qword [rsp + 0x20], rax
call r15
test eax, eax
js 0x1400165ed
mov r8, qword [rbp - 0x60]
inc esi
cdqe
mov qword [rbx + 0x10], rax
add rbx, 0x38
cmp esi, r12d
jb 0x140016211
mov rsi, qword [rbp - 0x58]
inc r13d
cmp r13d, esi
jb 0x1400161f0
lea rcx, [rbp + 0xc8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
cmp dword [0x140028668], 0
mov rbx, qword [rbp + 0xc8]
jne 0x1400162c6
lea rcx, [0x140028640]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
jne 0x1400162bc
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.ERROR:_QueryPerformanceFrequency___failure_n
call fcn.140015200
mov dword [0x140028668], 1
sub rbx, qword [rbp + 0xd0]
xor edx, edx
imul rax, rbx, 0x3b9aca00
div qword [0x140028640]
mov rbx, rax
test rax, rax
je 0x140016334
mov ecx, esi
mov r8d, esi
mov rsi, qword [rbp - 0x50]
imul rcx, rsi
cmp rax, rcx
jae 0x140016303
xor edx, edx
div r8
mov rsi, rax
mov qword [rbp - 0x50], rax
test rsi, rsi
jne 0x140016322
mov r8d, 0x216
lea rdx, str.c:_b_abs_fcz738m_9xcrootlz4_c_1670944697368workprograms_bench.c
lea rcx, str.fastestD___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
xor edx, edx
mov eax, 0x3b9aca00
div rsi
inc eax
mov qword [rbp - 0x58], rax
jmp 0x14001635d
cmp esi, 0x2625a00
jb 0x140016356
mov r8d, 0x219
lea rdx, str.c:_b_abs_fcz738m_9xcrootlz4_c_1670944697368workprograms_bench.c
lea rcx, str.nbDecodeLoops___40000000
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
imul esi, esi, 0x64
mov qword [rbp - 0x58], rsi
mov rax, qword [rbp - 0x28]
xor r13d, r13d
add rax, rbx
mov r15d, r13d
cmp rax, qword [rbp + 0x80]
mov qword [rbp - 0x28], rax
seta r15b
mov r10d, dword [0x14002863c]
test r10d, r10d
je 0x140016462
mov qword [rsp + 0x78], r13
mov r9, r13
mov r8d, r13d
test r12d, r12d
je 0x140016462
mov r11, qword [rsp + 0x58]
cmp r12d, 4
jb 0x14001642e
mov r9d, r12d
xorps xmm1, xmm1
and r9d, 0xfffffffc
xorps xmm2, xmm2
mov edx, 2
nop
mov eax, r8d
add r8d, 4
imul rcx, rax, 0x38
movq xmm0, qword [rcx + r11 + 0x30]
lea ecx, [rdx - 1]
imul rax, rcx, 0x38
movhpd xmm0, qword [rax + r11 + 0x30]
paddq xmm0, xmm1
mov eax, edx
imul rcx, rax, 0x38
movdqa xmm1, xmm0
movq xmm0, qword [rcx + r11 + 0x30]
lea ecx, [rdx + 1]
imul rax, rcx, 0x38
add edx, 4
movhpd xmm0, qword [rax + r11 + 0x30]
paddq xmm0, xmm2
movdqa xmm2, xmm0
cmp r8d, r9d
jb 0x1400163c0
paddq xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
paddq xmm1, xmm0
movq r9, xmm1
mov qword [rsp + 0x78], r9
cmp r8d, r12d
jae 0x140016462
mov eax, r8d
lea rdx, [r11 + 0x30]
imul rcx, rax, 0x38
add rdx, rcx
mov ecx, r12d
sub ecx, r8d
nop word [rax + rax]
add r9, qword [rdx]
lea rdx, [rdx + 0x38]
sub rcx, 1
jne 0x140016450
mov qword [rsp + 0x78], r9
mov eax, dword [rsp + 0x50]
xorps xmm6, xmm6
mov r14, qword [rsp + 0x78]
inc eax
and eax, 3
mov dword [rsp + 0x50], eax
cvtsi2sd xmm6, r14
test r14, r14
jns 0x140016486
addsd xmm6, xmm9
mov rsi, qword [rbp - 0x48]
xorps xmm0, xmm0
cvtsi2sd xmm0, rsi
test rsi, rsi
jns 0x14001649c
addsd xmm0, xmm9
cmp dword [0x140028034], 2
movaps xmm8, xmm6
divsd xmm8, xmm0
jb 0x14001653c
mov rcx, qword [rbp - 0x50]
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
test rcx, rcx
jns 0x1400164c8
addsd xmm0, xmm9
mov rcx, qword [rbp - 0x78]
movaps xmm7, xmm6
divsd xmm7, xmm0
xorps xmm0, xmm0
mulsd xmm7, xmm10
cvtsi2sd xmm0, rcx
test rcx, rcx
jns 0x1400164ea
addsd xmm0, xmm9
divsd xmm6, xmm0
mov ecx, 2
mov ebx, eax
mulsd xmm6, xmm10
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, qword [rsp + 0x70]
lea rdx, str._2s___17.17s_:_10u____10u___5.3f___6.1f_MB_s___6.1f_MB_s_r
mov r8, qword [rbp + rbx*8 - 8]
mov rcx, rax
movsd qword [rsp + 0x40], xmm7
movsd qword [rsp + 0x38], xmm6
movsd qword [rsp + 0x30], xmm8
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r14d
call fcn.140015200
mov r10d, dword [0x14002863c]
mov r14d, dword [rsp + 0x64]
test r10d, r10d
jne 0x140015c50
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x80]
call fcn.140015080
mov r14, qword [rbp - 0x18]
mov rbx, rax
cmp r14, rax
jne 0x1400166bf
mov r14d, dword [rsp + 0x64]
jmp 0x140015c50
cmp dword [0x140028034], 1
jb 0x1400165e1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, 1
lea rdx, str.Error__i_:
mov rcx, rax
call fcn.140015200
cmp dword [0x140028034], 1
jb 0x1400165e1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str.LZ4_compression_failed
mov rcx, rax
call fcn.140015200
cmp dword [0x140028034], 1
jb 0x1400165e1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x140022b38]
call fcn.140015200
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov eax, esi
mov ecx, 2
imul rbx, rax, 0x38
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [rbp - 0x10]
lea rdx, str._s___failed_on_block__u_of_size__u__n
mov rcx, rax
mov r9d, esi
mov rax, qword [rsp + 0x58]
mov eax, dword [rbx + rax + 8]
mov dword [rsp + 0x20], eax
call fcn.140015200
cmp dword [0x14002863c], 0
je 0x140016644
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Is_input_using_LZ4_Frame_format____n
call fcn.140015200
cmp dword [0x140028034], 1
jb 0x1400166b3
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, 2
lea rdx, str.Error__i_:
mov rcx, rax
call fcn.140015200
cmp dword [0x140028034], 1
jb 0x1400166b3
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.error_during_decoding
call fcn.140015200
cmp dword [0x140028034], 1
jb 0x1400166b3
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x140022b38]
call fcn.140015200
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, r14d
mov dword [rsp + 0x20], ebx
mov r14, qword [rsp + 0x70]
lea rdx, str._n____WARNING______17s_:_Invalid_Checksum_:__x____x____n
mov r8, r14
mov rcx, rax
call fcn.140015200
mov rbx, qword [rsp + 0x68]
mov rdi, r13
mov r15, qword [rbp - 0x80]
test rbx, rbx
je 0x1400167d9
mov rdx, qword [rbp - 0x70]
sub rdx, r15
mov qword [rbp - 0x70], rdx
nop dword [rax + rax]
movzx eax, byte [rdi + r15]
lea rcx, [rdi + r15]
cmp byte [rcx + rdx], al
jne 0x140016752
lea rax, [rbx - 1]
cmp rdi, rax
jne 0x140016745
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.no_difference_detected_n
call fcn.140015200
mov rdx, qword [rbp - 0x70]
inc rdi
cmp rdi, rbx
jb 0x140016710
jmp 0x1400167d9
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, edi
lea rdx, str.Decoding_error_at_pos__u
mov rcx, rax
call fcn.140015200
mov esi, r13d
test r12d, r12d
je 0x140016799
mov rcx, qword [rsp + 0x58]
add rcx, 8
mov rdx, qword [rcx]
add rdx, r13
cmp rdx, rdi
ja 0x140016799
inc esi
add rcx, 0x38
mov r13, rdx
cmp esi, r12d
jb 0x140016780
sub edi, r13d
mov ecx, 2
mov ebx, edi
shr ebx, 0x11
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, ebx
mov dword [rsp + 0x20], edi
mov rcx, rax
lea rdx, str._block__u__sub__u__pos__u___n
mov r8d, esi
call fcn.140015200
mov rsi, qword [rbp - 0x48]
jmp 0x1400167d4
mov r14, qword [rsp + 0x70]
mov r15, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x68]
cmp dword [0x140028034], 1
jne 0x1400168c3
xorps xmm6, xmm6
cvtsi2sd xmm6, rbx
test rbx, rbx
jns 0x1400167f8
addsd xmm6, xmm9
mov rax, qword [rbp - 0x78]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
test rax, rax
jns 0x14001680e
addsd xmm0, xmm9
mov rax, qword [rbp - 0x50]
movaps xmm7, xmm6
divsd xmm7, xmm0
xorps xmm0, xmm0
mulsd xmm7, xmm10
cvtsi2sd xmm0, rax
test rax, rax
jns 0x140016830
addsd xmm0, xmm9
cmp dword [0x140028630], 0
mov ecx, 2
divsd xmm6, xmm0
mulsd xmm6, xmm10
je 0x14001688a
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ebx, dword [rsp + 0x60]
lea rdx, str.___3i_11i___5.3f___6.2f_MB_s__6.1f_MB_s___s__param_d__n
mov rcx, rax
mov r9d, esi
mov eax, dword [0x140028630]
mov r8d, ebx
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], r14
movsd qword [rsp + 0x30], xmm6
movsd qword [rsp + 0x28], xmm7
movsd qword [rsp + 0x20], xmm8
call fcn.140015200
jmp 0x1400168c7
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov ebx, dword [rsp + 0x60]
lea rdx, str.___3i_11i___5.3f___6.2f_MB_s__6.1f_MB_s___s_n
mov qword [rsp + 0x38], r14
mov rcx, rax
movsd qword [rsp + 0x30], xmm6
mov r9d, esi
movsd qword [rsp + 0x28], xmm7
mov r8d, ebx
movsd qword [rsp + 0x20], xmm8
call fcn.140015200
jmp 0x1400168c7
mov ebx, dword [rsp + 0x60]
cmp dword [0x140028034], 2
jb 0x1400168ed
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, ebx
lea rdx, str._2i_n
mov rcx, rax
call fcn.140015200
lea rcx, [rbp + 0x20]
call qword [rbp + 0x70]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
movaps xmm9, xmmword [rsp + 0x1f0]
xor eax, eax
movaps xmm8, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm6, xmmword [rsp + 0x220]
movaps xmm10, xmmword [rsp + 0x1e0]
mov rcx, qword [rbp + 0xd8]
xor rcx, rsp
call fcn.140020560
add rsp, 0x238
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp dword [0x140028034], 1
jb 0x1400169d1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, 0x1f
lea rdx, str.Error__i_:
mov rcx, rax
call fcn.140015200
cmp dword [0x140028034], 1
jb 0x1400169d1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.allocation_error_:_not_enough_memory
call fcn.140015200
cmp dword [0x140028034], 1
jb 0x1400169d1
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x140022b38]
call fcn.140015200
mov ecx, 0x1f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3