Function at 0x140023770
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov rax, rsp
push rbx
push r12
push r13
sub rsp, 0x90
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r14
xor r14d, r14d
lea rcx, str.___smack_1_____n
mov ebx, r14d
mov edi, r14d
call fcn.140026e88
lea edx, [r14 + 1]
lea rcx, str.benchmark1
call fcn.140022150
mov ecx, 0x100000
mov rsi, rax
call fcn.140026dd0
mov rbp, rax
mov rdx, rax
mov eax, 0x100000
nop dword [rax]
imul ebx, ebx, 0x343fd
inc rdx
add ebx, 0x269ec3
mov ecx, ebx
shr ecx, 0x10
and cl, 0x7f
dec rax
mov byte [rdx - 1], cl
jne 0x1400237d0
mov r12, r14
lea r13d, [rax + 0x14]
nop word [rax + rax]
imul ebx, ebx, 0x343fd
mov eax, 0xaaaaaaab
add ebx, 0x269ec3
mov r8d, ebx
shr r8d, 0x10
imul ebx, ebx, 0x343fd
and r8d, 0x7fff
add ebx, 0x269ec3
mov ecx, ebx
shr ecx, 0x10
and ecx, 3
mul r8d
shr edx, 1
lea eax, [rdx + rdx*2]
sub ecx, eax
lea r8d, [rcx + r8 + 4]
test r8d, r8d
je 0x14002386e
lea rcx, [rsp + 0x30]
mov edx, r8d
nop
imul ebx, ebx, 0x343fd
inc rcx
add ebx, 0x269ec3
mov eax, ebx
shr eax, 0x10
or al, 0x80
dec rdx
mov byte [rcx - 1], al
jne 0x140023850
lea rdx, [rsp + 0x30]
mov r9, r12
mov rcx, rsi
mov dword [rsp + 0x20], r14d
call fcn.1400225f0
inc r12
dec r13
jne 0x140023800
mov rcx, rsi
call fcn.140023390
call fcn.1400186d0
mov r12, rax
rdtsc
shl rdx, 0x20
mov ebx, 0x1e
or rax, rdx
mov r13, rax
mov dword [rsp + 0xb8], r14d
mov dword [rsp + 0xb0], r14d
lea r9, [rsp + 0xb0]
lea rdx, [rsp + 0xb8]
mov r8, rbp
mov rcx, rsi
mov dword [rsp + 0x20], 0x100000
call fcn.140023610
add rdi, rax
cmp dword [rsp + 0xb0], 0x100000
jb 0x1400238c0
dec rbx
jne 0x1400238b0
rdtsc
shl rdx, 0x20
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0xb0], r14
or rax, rdx
mov qword [rsp + 0xb8], r14
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov r14, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xc0]
test rdi, rdi
mov rdi, qword [rsp + 0x88]
je 0x140023aae
mov rcx, qword [rsp + 0xb0]
movaps xmmword [rsp + 0x70], xmm6
movsd xmm6, qword [0x140050528]
pxor xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x50], xmm8
cvtsi2sd xmm0, rcx
test rcx, rcx
jns 0x14002398b
addsd xmm0, xmm6
mov rax, qword [rsp + 0xb8]
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x1400239a5
addsd xmm1, xmm6
divsd xmm0, xmm1
movsd xmm1, qword [0x140050518]
xor ecx, ecx
mulsd xmm0, qword [0x140050530]
comisd xmm0, xmm1
jbe 0x1400239d8
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x1400239d8
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm0
pxor xmm8, xmm8
add rax, rcx
sub rax, r12
cvtsi2sd xmm8, rax
jns 0x1400239f4
addsd xmm8, xmm6
divsd xmm8, qword [0x140050530]
mov eax, 0xf000000
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
test rax, rax
jns 0x140023a14
addsd xmm1, xmm6
divsd xmm1, xmm8
lea rcx, str.bits_second___5.3f_million_n
divsd xmm1, qword [0x140050538]
movq rdx, xmm1
call fcn.140026e88
pxor xmm7, xmm7
sub rbx, r13
cvtsi2sd xmm7, rbx
jns 0x140023a44
addsd xmm7, xmm6
mov eax, 0x1e00000
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
test rax, rax
jns 0x140023a5b
addsd xmm0, xmm6
movsd xmm1, qword [0x140050578]
divsd xmm0, xmm7
lea rcx, str.clocks_byte___5.3f_n
divsd xmm1, xmm0
movq rdx, xmm1
call fcn.140026e88
divsd xmm7, xmm8
lea rcx, str.clockrate___5.3f_GHz_n
divsd xmm7, qword [0x140050530]
movapd xmm1, xmm7
movq rdx, xmm1
call fcn.140026e88
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x70]
xor eax, eax
add rsp, 0x90
pop r13
pop r12
pop rbx
ret