Function at 0x140001c90
Capabilities:
Execute anti-debugging instructions
Reference processor manufacturer constants

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov eax, dword [0x1400512d0]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x1400512d4], 0xa
setl r8b
setge cl
cmp r8b, dl
jne 0x140001ccd
or cl, al
jne 0x140001d28
mov eax, 0x10
call fcn.1400177e0
sub rsp, rax
mov r8, rsp
mov eax, 0x10
call fcn.1400177e0
sub rsp, rax
mov rsi, rsp
mov eax, dword [0x1400512d0]
lea edx, [rax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
xor ecx, ecx
cmp edx, 0xffffffff
sete r9b
cmp dword [0x1400512d4], 0xa
mov eax, 1
xchg rbx, r10
cpuid
xchg rbx, r10
setl al
test al, r9b
jne 0x140001d37
xor al, r9b
jne 0x140001d37
mov eax, 0x10
call fcn.1400177e0
sub rsp, rax
jmp 0x140001ccd
test ecx, ecx
js 0x140001d92
sub rsp, 0x20
call fcn.140002530
add rsp, 0x20
mov ecx, dword [0x1400512d0]
lea edx, [rcx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
sete r8b
setne cl
cmp dword [0x1400512d4], 0xa
setl r9b
setge dl
cmp r9b, r8b
jne 0x140001fb3
or dl, cl
je 0x140001fb3
nop word cs:[rax + rax]
jmp 0x140001d90
xor ecx, ecx
mov eax, 0x40000000
xchg rbx, r10
cpuid
xchg rbx, r10
mov r9d, dword [0x1400512d0]
mov eax, dword [0x1400512d4]
lea r11d, [r9 + 1]
imul r11d, r9d
mov esi, r11d
xor esi, 0xfffffffe
test esi, r11d
sete r11b
cmp eax, 0xa
setl bl
test bl, r11b
jne 0x140001e23
xor bl, r11b
jne 0x140001e23
nop word cs:[rax + rax]
xor ecx, ecx
mov eax, 0x40000000
xchg rbx, r10
cpuid
xchg rbx, r10
mov r9d, dword [0x1400512d0]
mov eax, dword [0x1400512d4]
lea r11d, [r9 + 1]
imul r11d, r9d
test r11b, 1
sete sil
cmp eax, 0xa
setl dil
setge bl
cmp dil, sil
jne 0x140001e23
or bl, r11b
test bl, 1
jne 0x140001de0
cmp r10d, 0x7263694d
jne 0x140001fff
cmp ecx, 0x666f736f
jne 0x140001fff
cmp edx, 0x76482074
jne 0x140001fff
mov eax, 0x40000003
xor ecx, ecx
xchg rbx, r9
cpuid
xchg rbx, r9
mov ecx, dword [0x1400512d0]
mov eax, dword [0x1400512d4]
lea edx, [rcx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
sete r11b
setne dl
cmp eax, 0xa
setl bl
setge r10b
cmp bl, r11b
jne 0x140001ec8
or r10b, dl
je 0x140001ec8
nop dword [rax + rax]
mov eax, 0x40000003
xor ecx, ecx
xchg rbx, r9
cpuid
xchg rbx, r9
mov edx, dword [0x1400512d0]
mov eax, dword [0x1400512d4]
lea ecx, [rdx + 1]
imul ecx, edx
and ecx, 1
sete dl
cmp eax, 0xa
setl r10b
test r10b, dl
jne 0x140001ec8
xor r10b, dl
je 0x140001e90
not r9d
or r9d, 0xfffffffe
cmp r9d, 0xffffffff
je 0x14000200e
mov eax, dword [0x140051210]
mov ecx, dword [0x140051214]
lea edx, [rax + 1]
imul edx, eax
mov r9d, edx
xor r9d, 0xfffffffe
test r9d, edx
sete al
cmp ecx, 0xa
setl r10b
xor r10b, al
mov eax, 0x60194b2e
mov r10d, 0x709a5a43
cmovne r10d, eax
test r9d, edx
sete byte [rbp - 8]
cmovne eax, r10d
cmp ecx, 0xa
setl byte [rbp - 0x10]
cmovge eax, r10d
mov r11d, 0x5f27bdbb
mov r10d, 0x3dfb5130
nop word cs:[rax + rax]
cmp r11d, 0x60194b2d
jg 0x140001f90
cmp r11d, 0x3dfb5130
je 0x140001fae
cmp r11d, 0x5f27bdbb
jne 0x140001f40
movzx ebx, byte [rbp - 8]
movzx r11d, byte [rbp - 0x10]
mov esi, ebx
xor sil, r11b
mov esi, 0x709a5a43
cmovne esi, r10d
test r11b, r11b
mov r11d, esi
cmovne r11d, r10d
test bl, bl
cmove r11d, esi
jmp 0x140001f40
cmp r11d, 0x60194b2e
je 0x140002042
cmp r11d, 0x709a5a43
jne 0x140001f40
mov r11d, 0x3dfb5130
jmp 0x140001f40
mov r11d, eax
jmp 0x140001f40
or rax, 0x100
sub rsp, 0x20
mov rcx, rax
call fcn.140002520
add rsp, 0x20
mov eax, dword [0x1400512d0]
lea ecx, [rax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x1400512d4], 0xa
setl cl
test cl, al
jne 0x140002438
xor cl, al
je 0x14000246c
jmp 0x140002438
lea edx, [r9 + 1]
imul edx, r9d
mov ecx, edx
xor ecx, 0xfffffffe
and ecx, edx
test ecx, ecx
sete r8b
setne cl
cmp eax, 0xa
setl r9b
setge dl
mov al, 1
cmp r9b, r8b
jne 0x1400024d2
or dl, cl
je 0x1400024d2
nop word cs:[rax + rax]
jmp 0x140002040
test r9d, edx
mov byte [rbp], 0xd4
movzx r10d, byte [rbp]
sete byte [rbp - 8]
cmp ecx, 0xa
setl byte [rbp - 0x10]
mov byte [r8], r10b
mov r11d, 0x5f27bdbb
mov r10d, 0x3dfb5130
nop dword [rax + rax]
cmp r11d, 0x60194b2d
jg 0x1400020c0
cmp r11d, 0x3dfb5130
je 0x1400020da
cmp r11d, 0x5f27bdbb
jne 0x140002070
movzx ebx, byte [rbp - 8]
movzx r11d, byte [rbp - 0x10]
mov esi, ebx
xor sil, r11b
mov esi, 0x709a5a43
cmovne esi, r10d
test r11b, r11b
mov r11d, esi
cmovne r11d, r10d
test bl, bl
cmove r11d, esi
jmp 0x140002070
cmp r11d, 0x60194b2e
je 0x1400020df
cmp r11d, 0x709a5a43
jne 0x140002070
mov r11d, 0x3dfb5130
jmp 0x140002070
mov r11d, eax
jmp 0x140002070
test r9d, edx
mov byte [rbp], 0xf4
movzx r10d, byte [rbp]
sete byte [rbp - 8]
cmp ecx, 0xa
setl byte [rbp - 0x10]
mov byte [r8 + 1], r10b
mov r11d, 0x5f27bdbb
mov r10d, 0x3dfb5130
nop word cs:[rax + rax]
cmp r11d, 0x60194b2d
jg 0x140002160
cmp r11d, 0x3dfb5130
je 0x14000217a
cmp r11d, 0x5f27bdbb
jne 0x140002110
movzx ebx, byte [rbp - 8]
movzx r11d, byte [rbp - 0x10]
mov esi, ebx
xor sil, r11b
mov esi, 0x709a5a43
cmovne esi, r10d
test r11b, r11b
mov r11d, esi
cmovne r11d, r10d
test bl, bl
cmove r11d, esi
jmp 0x140002110
cmp r11d, 0x60194b2e
je 0x14000217f
cmp r11d, 0x709a5a43
jne 0x140002110
mov r11d, 0x3dfb5130
jmp 0x140002110
mov r11d, eax
jmp 0x140002110
test r9d, edx
mov byte [rbp], 0xbc
movzx r10d, byte [rbp]
sete byte [rbp - 8]
cmp ecx, 0xa
setl byte [rbp - 0x10]
mov byte [r8 + 2], r10b
mov r11d, 0x5f27bdbb
mov r10d, 0x3dfb5130
nop word cs:[rax + rax]
cmp r11d, 0x60194b2d
jg 0x140002200
cmp r11d, 0x3dfb5130
je 0x14000221a
cmp r11d, 0x5f27bdbb
jne 0x1400021b0
movzx ebx, byte [rbp - 8]
movzx r11d, byte [rbp - 0x10]
mov esi, ebx
xor sil, r11b
mov esi, 0x709a5a43
cmovne esi, r10d
test r11b, r11b
mov r11d, esi
cmovne r11d, r10d
test bl, bl
cmove r11d, esi
jmp 0x1400021b0
cmp r11d, 0x60194b2e
je 0x14000221f
cmp r11d, 0x709a5a43
jne 0x1400021b0
mov r11d, 0x3dfb5130
jmp 0x1400021b0
mov r11d, eax
jmp 0x1400021b0
test r9d, edx
mov byte [rbp], 0xb0
movzx edx, byte [rbp]
sete byte [rbp - 8]
cmp ecx, 0xa
setl byte [rbp - 0x10]
mov byte [r8 + 3], dl
mov r9d, 0x5f27bdbb
mov ecx, 0x3dfb5130
mov edx, 0x709a5a43
nop dword [rax]
cmp r9d, 0x60194b2d
jg 0x1400022a0
cmp r9d, 0x3dfb5130
je 0x1400022ba
cmp r9d, 0x5f27bdbb
jne 0x140002250
movzx r10d, byte [rbp - 8]
movzx r9d, byte [rbp - 0x10]
mov r11d, r9d
xor r11b, r10b
test r9b, r9b
mov r9d, 0x709a5a43
cmovne r9d, ecx
test r10b, r10b
cmove r9d, edx
test r11b, r11b
cmovne r9d, ecx
jmp 0x140002250
cmp r9d, 0x60194b2e
je 0x1400022bf
cmp r9d, 0x709a5a43
jne 0x140002250
mov r9d, 0x3dfb5130
jmp 0x140002250
mov r9d, eax
jmp 0x140002250
mov byte [rbp], 0xc8
movzx eax, byte [rbp]
mov byte [r8 + 4], al
lea rax, [r8 + 5]
mov qword [rbp - 8], rax
mov rax, r8
add rax, 6
mov qword [rbp - 0x10], rax
lea r9, [rbp - 8]
mov edx, 0x9b2b61b
mov eax, 0x8cfcf050
mov rcx, rbp
mov r9, qword [r9]
nop word cs:[rax + rax]
cmp edx, 0x8cfcf050
je 0x140002333
cmp edx, 0x9b2b61b
jne 0x140002300
mov byte [r9], 0
inc r9
mov qword [rbp], r9
mov rdx, qword [rbp - 0x10]
mov r9, qword [rbp]
cmp r9, rdx
mov edx, 0x9b2b61b
cmove edx, eax
mov r9, rcx
jmp 0x1400022ef
mov qword [rbp], r8
xor eax, eax
mov ecx, 0x888d037f
mov edx, eax
lea r8d, [rax - 0x66]
cmp eax, 5
mov r9d, 0x23b84f7d
cmovb r9d, ecx
mov r10d, 0x27f30c2f
nop word [rax + rax]
cmp r10d, 0x27f30c2e
jle 0x140002390
cmp r10d, 0x27f30c2f
je 0x1400023aa
cmp r10d, 0x2a5fcfe3
je 0x1400023d3
cmp r10d, 0x713ea43d
jne 0x140002360
jmp 0x1400023da
cmp r10d, 0x888d037f
je 0x1400023af
cmp r10d, 0x23b84f7d
jne 0x140002360
mov r10d, 0x713ea43d
jmp 0x140002360
mov r10d, r9d
jmp 0x140002360
mov r10, qword [rbp]
mov r11d, r8d
xor r11b, r8b
not r11b
and r11b, byte [r10 + rdx]
xor r11b, r8b
mov r10, qword [rbp]
mov byte [r10 + rdx], r11b
mov r10d, 0x2a5fcfe3
jmp 0x140002360
inc eax
jmp 0x14000233e
mov rax, qword [rbp]
mov byte [rax + 5], 0
mov rdx, qword [rbp]
sub rsp, 0x20
lea rcx, [0x140054dd0]
call fcn.140001180
add rsp, 0x20
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
sub rsp, 0x20
mov dl, 0xa
call fcn.140012e10
mov rcx, rsi
mov edx, eax
call fcn.140012b40
mov rcx, rsi
call fcn.14000d8f0
add rsp, 0x20
xor eax, eax
jmp 0x1400024d2
rdtsc
nop
nop
mov eax, dword [0x1400512d0]
lea ecx, [rax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete dl
cmp dword [0x1400512d4], 0xa
setge cl
setl r8b
xor r8b, dl
jne 0x140002472
or cl, al
je 0x140002472
rdtsc
nop
nop
jmp 0x140002438
sub rsp, 0x20
call fcn.140002530
add rsp, 0x20
or rax, 0x100
sub rsp, 0x20
mov rcx, rax
call fcn.140002520
add rsp, 0x20
nop
nop
xor eax, eax
mov edx, dword [0x1400512d0]
lea ecx, [rdx + 1]
imul ecx, edx
test cl, 1
sete r8b
cmp dword [0x1400512d4], 0xa
setl r9b
setge dl
cmp r9b, r8b
jne 0x1400024d2
or dl, cl
test dl, 1
je 0x1400024d2
nop word cs:[rax + rax]
jmp 0x1400024d0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop rbp
ret