Function at 0x140001780
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x140009040]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor r13d, r13d
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateWaitableTimerW]
mov r15, rax
test rax, rax
jne 0x14000194b
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov ecx, 0x20
call fcn.140004130
mov qword [rsp + 0x40], rax
movdqa xmm6, xmmword [0x1400065f0]
movdqa xmmword [rsp + 0x50], xmm6
movups xmm0, xmmword [str.APIC_Timer_Deviation]
movups xmmword [rax], xmm0
mov edx, dword [0x140006470]
mov dword [rax + 0x10], edx
mov byte [rax + 0x14], r13b
mov byte [rsp + 0x60], r15b
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r13
mov ecx, 0x20
call fcn.140004130
mov qword [rsp + 0x68], rax
mov ecx, 0x16
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x80], 0x1f
movups xmm0, xmmword [str.Failed_to_create_timer]
movups xmmword [rax], xmm0
mov ecx, dword [0x140006488]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x14000648c]
mov word [rax + 0x14], cx
mov byte [rax + 0x16], r15b
mov rdx, qword [0x140009730]
cmp rdx, qword [0x140009738]
je 0x1400018bf
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm6
mov ebx, 0xf
mov byte [rsp + 0x40], r15b
mov byte [rdx + 0x20], r15b
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [rdx + 0x38], xmm1
mov edx, ebx
mov byte [rsp + 0x68], r15b
add qword [0x140009730], 0x48
jmp 0x1400018d2
lea r8, [rsp + 0x40]
call fcn.140003810
mov rdx, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x14000190a
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001905
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001e36
call fcn.1400043ac
cmp rbx, 0xf
jbe 0x140001e48
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001e43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001e36
jmp 0x140001e43
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
mov rsi, r13
mov qword [rbp - 0x40], r13
mov r14d, 0xa
mov rdi, qword [rbp - 0x48]
nop dword [rax]
nop dword [rax + rax]
mov qword [rbp - 0x38], 0xffffffffff676980
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x38]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_SetWaitableTimer]
rdtsc
shl rdx, 0x20
or rax, rdx
mov rbx, rax
mov edx, 0xffffffff
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
rdtsc
shl rdx, 0x20
or rax, rdx
sub rax, rbx
mov qword [rsp + 0x38], rax
cmp rdi, rsi
je 0x1400019d2
mov qword [rdi], rax
add rdi, 8
mov qword [rbp - 0x48], rdi
jmp 0x1400019eb
lea r8, [rsp + 0x38]
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.140003680
mov rsi, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x48]
sub r14, 1
jne 0x140001970
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8b, 1
mov rdx, rdi
mov r12, qword [rbp - 0x50]
mov rcx, r12
call fcn.1400040f0
mov rbx, qword [rax]
mov r8b, 1
mov rdx, rdi
mov rcx, r12
call fcn.1400040e0
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rax]
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
divsd xmm6, xmm0
comisd xmm6, xmmword [0x1400065c8]
seta dil
mov byte [rsp + 0x30], dil
movaps xmm1, xmm6
movq rdx, xmm6
lea rcx, [0x140006418]
call fcn.140001080
movsxd rbx, eax
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.140002a90
lea rcx, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova rcx, qword [rbp - 0x70]
lea rdx, [rbx + 1]
movaps xmm3, xmm6
movq r9, xmm6
lea r8, [0x140006418]
call fcn.140001020
nop
mov r8, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
sub rax, r8
mov r15d, 0x19
lea r14, str.Min_Max_deviation_ratio:
cmp rax, r15
jb 0x140001b30
lea rax, [r8 + 0x19]
mov qword [rbp - 0x60], rax
lea rbx, [rbp - 0x70]
cmp rcx, 0xf
cmova rbx, qword [rbp - 0x70]
lea rax, [0x1400064a9]
cmp rax, rbx
jbe 0x140001aef
lea rax, [rbx + r8]
cmp r14, rax
ja 0x140001aef
cmp rbx, r14
ja 0x140001ae7
mov rdi, r13
jmp 0x140001af2
mov rdi, rbx
sub rdi, r14
jmp 0x140001af2
mov rdi, r15
lea rcx, [rbx + 0x19]
inc r8
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, rdi
mov rdx, r14
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx + rdi]
sub r15, rdi
lea rdx, [r14 + 0x19]
add rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp - 0x70]
movzx edi, byte [rsp + 0x30]
jmp 0x140001b46
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.140003ad0
movups xmm7, xmmword [rax]
movups xmmword [rbp - 0x30], xmm7
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm6
mov qword [rax + 0x10], r13
mov ebx, 0xf
mov qword [rax + 0x18], rbx
mov byte [rax], 0
mov rdx, qword [rbp - 0x58]
cmp rdx, rbx
jbe 0x140001ba2
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001b9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001b9d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400043ac
movdqa xmm0, xmmword [0x1400065d0]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov ecx, 0x20
call fcn.140004130
mov qword [rsp + 0x40], rax
movdqa xmm8, xmmword [0x1400065f0]
movdqa xmmword [rsp + 0x50], xmm8
movups xmm0, xmmword [str.APIC_Timer_Deviation]
movups xmmword [rax], xmm0
mov ecx, dword [0x140006470]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x14], 0
mov byte [rsp + 0x60], dil
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r13
lea r13, [rbp - 0x30]
movq r15, xmm7
movdqa xmm0, xmm6
psrldq xmm0, 8
movq rax, xmm0
mov qword [rsp + 0x38], rax
cmp rax, 0xf
cmova r13, r15
movabs rdi, 0x7fffffffffffffff
movq r14, xmm6
cmp r14, rdi
ja 0x140001e84
cmp r14, 0xf
ja 0x140001c61
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], rbx
movups xmm1, xmmword [r13]
movups xmmword [rsp + 0x68], xmm1
jmp 0x140001cfb
mov rax, r14
or rax, 0xf
cmp rax, rdi
jbe 0x140001c99
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140004130
mov rcx, rax
test rax, rax
je 0x140001ccd
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140001cd9
mov rdi, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x140001cb5
xor eax, eax
jmp 0x140001cd9
cmp rcx, 0x1000
jb 0x140001cd4
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001e8a
jmp 0x140001c7b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140004130
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], r14
mov qword [rbp - 0x80], rdi
lea r8, [r14 + 1]
mov rdx, r13
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
movups xmm1, xmmword [rsp + 0x68]
mov rdx, qword [0x140009730]
cmp rdx, qword [0x140009738]
je 0x140001d45
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm8
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x30]
mov byte [rdx + 0x20], al
xor eax, eax
movups xmmword [rdx + 0x28], xmm1
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rdx + 0x38], xmm0
mov rdx, rbx
mov byte [rsp + 0x68], al
add qword [0x140009730], 0x48
jmp 0x140001d58
lea r8, [rsp + 0x40]
call fcn.140003810
mov rdx, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140001d8c
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001d87
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001dbc
call fcn.1400043ac
cmp rbx, 0xf
jbe 0x140001dc9
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001dc3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001dc3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400043ac
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x140001e08
inc rdx
mov rax, r15
cmp rdx, 0x1000
jb 0x140001dff
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001dff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r15
call fcn.1400043ac
nop
test r12, r12
je 0x140001e48
sub rsi, r12
and rsi, 0xfffffffffffffff8
mov rax, r12
cmp rsi, 0x1000
jb 0x140001e3d
add rsi, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001e3d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rsi
mov rcx, r12
call fcn.1400043ac
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140004110
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140001280
nop
call fcn.1400011e0
int3