Function at 0x43b4b0
Capabilities:
Check for time delay via queryperformancecounter
Execute anti-debugging instructions
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x458004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xorps xmm0, xmm0
xor edi, edi
push str.___smack_1_____n
movlpd qword [ebp - 0x38], xmm0
call fcn.00401330
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
push 0x540
call esi
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x43b516
push str.smack
push str._s:_out_of_memory_error_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
add esp, 0xc
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 0x540
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
or dword [ebx + 4], 1
add esp, 0xc
push 0xb
call esi
mov ecx, eax
add esp, 4
mov dword [ebx], ecx
test ecx, ecx
je 0x43b4f0
movq xmm0, qword [str.benchmark1]
movq qword [ecx], xmm0
mov ax, word [0x455470]
mov word [ecx + 8], ax
mov al, byte [0x455472]
push 0x100000
mov byte [ecx + 0xa], al
call esi
mov edx, eax
add esp, 4
mov dword [ebp - 0x3c], edx
test edx, edx
je 0x43b4f0
xor ecx, ecx
nop dword [eax]
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov eax, edi
shr eax, 0x10
and al, 0x7f
mov byte [ecx + edx], al
inc ecx
cmp ecx, 0x100000
jb 0x43b570
mov dword [ebp - 0x2c], 0
nop word [eax + eax]
imul eax, edi, 0x343fd
xor ecx, ecx
add eax, 0x269ec3
mov esi, eax
imul edi, eax, 0x343fd
shr esi, 0x10
mov eax, 0xaaaaaaab
and esi, 0x7fff
mul esi
add edi, 0x269ec3
shr edx, 1
lea eax, [edx + edx*2]
mov edx, edi
shr edx, 0x10
and edx, 3
sub edx, eax
add edx, 4
add edx, esi
je 0x43b5fd
imul edi, edi, 0x343fd
add edi, 0x269ec3
mov eax, edi
shr eax, 0x10
or al, 0x80
mov byte [ebp + ecx - 0x18], al
inc ecx
cmp ecx, edx
jb 0x43b5e1
mov esi, dword [ebp - 0x2c]
mov ecx, ebx
push 0
push esi
push edx
lea edx, [ebp - 0x18]
call fcn.0043a740
inc esi
add esp, 0xc
mov dword [ebp - 0x2c], esi
cmp esi, 0x14
jb 0x43b5a0
mov ecx, ebx
call fcn.0043aee0
xorps xmm0, xmm0
lea eax, [ebp - 0x48]
push eax
movlpd qword [ebp - 0x48], xmm0
movlpd qword [ebp - 0x20], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
call fcn.004448f0
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
movsd qword [ebp - 0x20], xmm0
call fcn.004448f0
movaps xmm1, xmm0
xorps xmm0, xmm0
divsd xmm1, qword [ebp - 0x20]
movlpd qword [ebp - 0x20], xmm0
mulsd xmm1, qword [0x456c90]
movsd xmm0, qword [0x456ca0]
comisd xmm1, xmm0
jb 0x43b69e
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x43b69e
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
add esi, 0
adc edi, 0x80000000
jmp 0x43b6a4
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
movaps xmm0, xmm1
call fcn.00444840
add eax, esi
mov dword [ebp - 0x24], 0x1e
mov esi, dword [ebp - 0x38]
adc edx, edi
mov dword [ebp - 0x4c], eax
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x54], edx
rdtsc
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], edx
nop dword [eax + eax]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0
nop
push 0x100000
lea eax, [ebp - 0x2c]
mov ecx, ebx
push eax
push dword [ebp - 0x3c]
lea edx, [ebp - 0x34]
call fcn.0043b380
add esp, 0xc
add esi, eax
adc edi, 0
cmp dword [ebp - 0x2c], 0x100000
jb 0x43b6e0
sub dword [ebp - 0x24], 1
jne 0x43b6d0
rdtsc
mov ebx, eax
mov dword [ebp - 0x34], edx
xorps xmm0, xmm0
lea eax, [ebp - 0x30]
push eax
movlpd qword [ebp - 0x30], xmm0
movlpd qword [ebp - 0x28], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
or esi, edi
je 0x43b854
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
call fcn.004448f0
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
movsd qword [ebp - 0x28], xmm0
call fcn.004448f0
movaps xmm1, xmm0
xorps xmm0, xmm0
divsd xmm1, qword [ebp - 0x28]
movlpd qword [ebp - 0x28], xmm0
mulsd xmm1, qword [0x456c90]
movsd xmm0, qword [0x456ca0]
comisd xmm1, xmm0
jb 0x43b799
subsd xmm1, xmm0
comisd xmm0, xmm1
jbe 0x43b799
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
add esi, 0
adc edi, 0x80000000
jmp 0x43b79f
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
movaps xmm0, xmm1
call fcn.00444840
add eax, esi
adc edx, edi
sub eax, dword [ebp - 0x4c]
mov ecx, eax
sbb edx, dword [ebp - 0x54]
call fcn.004448f0
divsd xmm0, qword [0x456c90]
sub esp, 8
movsd xmm1, qword [0x456c88]
divsd xmm1, xmm0
movsd qword [ebp - 0x58], xmm0
divsd xmm1, qword [0x456c70]
movsd qword [esp], xmm1
push str.bits_second___5.3f_million_n
call fcn.00401330
mov edx, dword [ebp - 0x34]
add esp, 0xc
sub ebx, dword [ebp - 0x44]
mov ecx, ebx
sbb edx, dword [ebp - 0x1c]
call fcn.004448f0
movsd xmm1, qword [0x456c80]
sub esp, 8
divsd xmm1, xmm0
movsd xmm2, qword [0x456bf8]
divsd xmm2, xmm1
movsd qword [ebp - 0x20], xmm0
movsd qword [esp], xmm2
push str.clocks_byte___5.3f_n
call fcn.00401330
movsd xmm0, qword [ebp - 0x20]
add esp, 4
divsd xmm0, qword [ebp - 0x58]
divsd xmm0, qword [0x456c90]
movsd qword [esp], xmm0
push str.clockrate___5.3f_GHz_n
call fcn.00401330
add esp, 0xc
push dword [ebp - 0x3c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
xor eax, eax
pop edi
pop esi
pop ebx
call fcn.00443732
mov esp, ebp
pop ebp
ret