Function at 0x1402d1a30
Capabilities:
Execute anti-debugging instructions

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4d8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x450], 0xfffffffffffffffe
mov rdi, rdx
mov rbx, rcx
mov qword [rbp + 0x440], 0
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9d, 0x14416bce
call fcn.1402d3370
cmp rbx, 0x12345678
je 0x1402d1ab4
mov rsi, rax
call fcn.1402d17b0
test rdi, rdi
sets al
cmp rdi, 0x10000
setb cl
or cl, al
mov byte [rbp + 0x44f], cl
rdtsc
mov r15, rdx
mov r14, rax
je 0x1402d1af6
xor r13d, r13d
jmp 0x1402d1afd
cmp qword [0x1404a3b9c], 0x33c0
jne 0x1402d1fb8
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x30], 0xa70a6ac1
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1402d3680
add rax, 0x33c0
mov qword [0x1404a3b9c], rax
jmp 0x1402d1fb8
cmp byte [rdi], 0
sete r13b
mov r12, rbx
test rbx, rbx
jne 0x1402d1b2d
mov dword [rsp + 0x28], 0x8e6a4c0c
mov dword [rsp + 0x20], 1
mov ecx, 1
xor edx, edx
mov r8d, 1
xor r9d, r9d
call fcn.1402d3840
mov r12, rax
movzx eax, byte [0x1404c2118]
test al, 1
mov qword [rbp + 0x3e8], rsi
je 0x1402d1b83
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xb9607c76
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.1402d3840
test rax, rax
je 0x1402d1b83
cmp byte [rbp + 0x44f], 0
je 0x1402d1bcd
lea r9, [rbp + 0x440]
mov rcx, rbx
xor edx, edx
mov r8d, edi
jmp 0x1402d1c2b
test r12, r12
je 0x1402d1c43
mov eax, dword [r12 + 0x3c]
test rax, rax
je 0x1402d1c43
mov ecx, dword [0x1404becc4]
add ecx, dword [r12 + rax]
cmp ecx, 0x4550
jne 0x1402d1c43
cmp dword [r12 + rax + 0x88], 0
je 0x1402d1bc6
cmp dword [r12 + rax + 0x8c], 0
jne 0x1402d1c43
xor esi, esi
jmp 0x1402d1c60
mov qword [rbp - 0x30], 0
xor ecx, ecx
test rdi, rdi
je 0x1402d1c0c
mov edx, 1
xor r8d, r8d
nop word cs:[rax + rax]
xor r9d, r9d
cmp byte [rdi + rcx], 0
setne r9b
movzx r8d, r8b
cmove r8d, edx
add rcx, r9
test r8b, 1
je 0x1402d1bf0
mov word [rbp - 0x30], cx
inc ecx
mov word [rbp - 0x2e], cx
mov qword [rbp - 0x28], rdi
lea rdx, [rbp - 0x30]
lea r9, [rbp + 0x440]
mov rcx, rbx
xor r8d, r8d
call qword [case.0x14011905d.0]
cmp eax, 0xc0000138
jne 0x1402d1c43
mov qword [rbp + 0x440], 0
lea rcx, [rbp - 0x30]
mov r8d, 0x400
xor edx, edx
call fcn.140371420
mov sil, 1
test r13b, r13b
je 0x1402d1d4a
shl r15, 0x20
or r14, r15
lea rcx, [rbp - 0x30]
mov r8d, 0x400
xor edx, edx
call fcn.140371420
rdtsc
shl rdx, 0x20
or rdx, rax
sub rdx, r14
cmp qword [0x1404a3b28], 0
je 0x1402d1c9a
mov rax, qword [0x1404a3b28]
cmp rax, rdx
jae 0x1402d1ca1
mov qword [0x1404a3b28], rdx
cmp qword [rbp + 0x440], 0
setne al
xor sil, 1
or sil, al
jne 0x1402d1f51
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0x23e02ef3
mov qword [rsp + 0x40], 0
mov ecx, 1
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.1402d3300
cmp eax, 0x4750412d
je 0x1402d1f51
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xb9607c76
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.1402d3840
test rax, rax
je 0x1402d1f51
inc qword [0x1404a3ac8]
cmp rdi, 0xffff
ja 0x1402d1e1e
lea r9, [rbp + 0x440]
mov rcx, rbx
xor edx, edx
mov r8d, edi
jmp 0x1402d1e90
xor r12d, r12d
xor ecx, ecx
mov edx, 1
mov r8, rbx
mov r9d, 0x2d64d34e
call fcn.1402d33b0
test rax, rax
je 0x1402d1c60
nop dword [rax + rax]
mov r13d, r12d
movzx ecx, word [rax + r13*2]
test ecx, ecx
je 0x1402d1d8b
cmp ecx, 0x2e
je 0x1402d1d8b
mov byte [rbp + r13 - 0x30], cl
inc r12d
jmp 0x1402d1d70
mov eax, 0x400
sub eax, r12d
cmp eax, 2
jb 0x1402d1c60
mov dword [rbp + 0x3f4], eax
mov qword [rbp + 0x438], 0xf
mov qword [rbp + 0x430], 1
mov word [rbp + 0x420], 0x2e
cmp byte [rbp + 0x44f], 0
je 0x1402d1eda
mov rax, qword [rbp + 0x430]
mov rcx, qword [rbp + 0x438]
cmp rcx, rax
jne 0x1402d1fd3
mov dword [rsp + 0x20], 0xa156f710
xor ecx, ecx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1402d38e0
mov qword [rsp + 0x20], 1
lea rcx, [rbp + 0x420]
mov edx, 1
mov r9, rax
call fcn.14008ea30
jmp 0x1402d201d
mov qword [rbp + 0x420], 0
xor ecx, ecx
test rdi, rdi
je 0x1402d1e65
mov edx, 1
xor r8d, r8d
nop dword [rax + rax]
mov r9, rcx
xor ecx, ecx
cmp byte [rdi + r9], 0
setne cl
movzx r8d, r8b
cmove r8d, edx
add rcx, r9
test r8b, 1
je 0x1402d1e40
add cx, word [0x1404c2138]
mov word [rbp + 0x420], cx
inc ecx
mov word [rbp + 0x422], cx
mov qword [rbp + 0x428], rdi
lea rdx, [rbp + 0x420]
lea r9, [rbp + 0x440]
mov rcx, rbx
xor r8d, r8d
call qword [case.0x14011905d.0]
cmp eax, 0xc0000142
je 0x1402d1ea4
cmp eax, 0xc0000138
jne 0x1402d1f20
mov qword [rbp + 0x440], 0
xor eax, eax
cmp rdi, 0x10000
setae al
lea rcx, [0x1404a3a60]
inc qword [0x1404a3b00]
inc qword [0x1404a3ad0]
lea rax, [rcx + rax*8]
add rax, 0x78
jmp 0x1402d1f4e
mov rcx, rdi
mov edx, 0x6e42fcf7
call fcn.14009da60
mov rcx, qword [rbp + 0x430]
mov rdx, qword [rbp + 0x438]
mov r8, rdx
sub r8, rcx
cmp r8, rax
jae 0x1402d1fed
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x420]
mov rdx, rax
mov r9, rdi
call fcn.14008ea30
jmp 0x1402d21cf
cmp qword [rbp + 0x440], 0
je 0x1402d1eaf
xor eax, eax
cmp rdi, 0x10000
setae al
lea rcx, [0x1404a3a60]
inc qword [0x1404a3ae8]
lea rax, [rcx + rax*8]
add rax, 0x90
inc qword [rax]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xb9607c76
xor esi, esi
xor ecx, ecx
mov edx, 1
mov r8d, 1
mov r9, qword [rbp + 0x3e8]
call fcn.1402d3840
movzx r8d, byte [rbp + 0x44f]
xor r8d, 0xc0000139
cmp qword [rbp + 0x440], 0
cmovne r8d, esi
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x40], 0xfa42d69f
xor ecx, ecx
xor edx, edx
xor r9d, r9d
call fcn.1402d35c0
mov rax, qword [rbp + 0x440]
add rsp, 0x4d8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rdx, [rax + 1]
mov qword [rbp + 0x430], rdx
cmp rcx, 0x10
jb 0x1402d2010
mov rcx, qword [rbp + 0x420]
jmp 0x1402d2017
mov r12, rax
add r12, rcx
mov qword [rbp + 0x430], r12
cmp rdx, 0x10
jb 0x1402d213c
mov rdx, qword [rbp + 0x420]
jmp 0x1402d2143
lea rcx, [rbp + 0x420]
mov word [rcx + rax], 0x23
movzx ecx, di
lea r9, [rbp + 0x3e5]
xor r12d, r12d
movabs r8, 0xcccccccccccccccd
nop word cs:[rax + rax]
mov rax, rcx
mul r8
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov r10d, ecx
sub r10d, eax
or r10b, 0x30
mov byte [r9 - 1], r10b
dec r9
inc r12
cmp rcx, 9
mov rcx, rdx
ja 0x1402d2040
mov qword [rbp + 0x408], 0
mov qword [rbp + 0x410], 0xf
mov byte [rbp + 0x3f8], 0
test r12, r12
je 0x1402d20c8
cmp r12, 0xf
jbe 0x1402d20a6
lea rcx, [rbp + 0x3f8]
mov rdx, r12
call fcn.14008e2e0
jmp 0x1402d20c8
mov qword [rbp + 0x408], r12
lea rcx, [rbp + 0x3f8]
mov rdx, r9
mov r8, r12
call fcn.140370d70
mov byte [rbp + r12 + 0x3f8], 0
mov r8, qword [rbp + 0x408]
cmp qword [rbp + 0x410], 0x10
jb 0x1402d20e2
mov r9, qword [rbp + 0x3f8]
jmp 0x1402d20e9
lea r9, [rbp + 0x3f8]
mov rcx, qword [rbp + 0x430]
mov rax, qword [rbp + 0x438]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1402d2118
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x420]
mov rdx, r8
call fcn.14008ea30
jmp 0x1402d2184
lea r10, [rcx + r8]
mov rdx, r10
mov qword [rbp + 0x418], r10
mov qword [rbp + 0x430], r10
cmp rax, 0x10
jb 0x1402d2166
mov r12, qword [rbp + 0x420]
jmp 0x1402d216d
lea rdx, [rbp + 0x420]
mov qword [rbp + 0x418], rdx
add rcx, rdx
mov rdx, rdi
mov r8, rax
call fcn.140370d70
mov rax, qword [rbp + 0x418]
mov byte [rax + r12], 0
jmp 0x1402d21cf
lea r12, [rbp + 0x420]
add rcx, r12
mov rdx, r9
call fcn.140370d70
mov rax, qword [rbp + 0x418]
mov byte [r12 + rax], 0
mov rax, qword [rbp + 0x410]
cmp rax, 0x10
jb 0x1402d21cf
mov rcx, qword [rbp + 0x3f8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402d21c4
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1402d229f
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov r8d, 0xf33697e3
call fcn.14009d7c0
mov rax, qword [rbp + 0x430]
mov ecx, dword [rbp + 0x3f4]
cmp rax, rcx
jae 0x1402d224a
cmp qword [rbp + 0x438], 0x10
jb 0x1402d21f4
mov rdx, qword [rbp + 0x420]
jmp 0x1402d21fb
lea rdx, [rbp + 0x420]
lea rcx, [r13 - 0x30]
add rcx, rbp
xor r8d, r8d
test rax, rax
je 0x1402d2221
nop
movzx r9d, byte [rdx + r8]
mov byte [rcx + r8], r9b
inc r8d
cmp rax, r8
ja 0x1402d2210
mov eax, r8d
mov byte [rcx + rax], 0
mov qword [rbp + 0x3f8], 0
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x3f8]
call fcn.1402d0c30
mov qword [rbp + 0x440], rax
mov rax, qword [rbp + 0x438]
cmp rax, 0x10
jb 0x1402d1c60
mov rcx, qword [rbp + 0x420]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402d228a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1402d229a
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov r8d, 0xf33697e3
call fcn.14009d7c0
jmp 0x1402d1c60
call fcn.1403294cc
call fcn.1403294cc
int3