Function at 0x1402cefd0
Capabilities:
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xcf8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc70], 0xfffffffffffffffe
mov qword [rbp + 0xc68], 0
cmp rcx, 0x1fefa
je 0x1402cf038
mov rsi, rdx
mov r13, rcx
call fcn.1402cfb50
rdtsc
mov r15, rax
mov r12, rdx
shl r12, 0x20
test rsi, rsi
je 0x1402cf08a
mov rax, qword [rsi]
cmp rax, 7
jb 0x1402cf07a
inc qword [0x1404a2ad0]
jmp 0x1402cf0b6
cmp qword [0x1404a2b3c], 0x33c0
jne 0x1402cfae5
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.1402d1a20
add rax, 0x33c0
mov qword [0x1404a2b3c], rax
jmp 0x1402cfae5
cmp rax, qword [0x1404a2ac8]
jbe 0x1402cf08a
mov qword [0x1404a2ac8], rax
test r13, r13
je 0x1402cf0b6
mov qword [rbp + 0xc20], rsi
mov ebx, 2
nop dword [rax + rax]
lea esi, [rbx - 2]
movzx eax, byte [r13 + rsi]
test eax, eax
je 0x1402cf0c0
cmp eax, 0x2e
je 0x1402cf0c0
inc ebx
jmp 0x1402cf0a0
xor edi, edi
xor r14d, r14d
jmp 0x1402cf9e1
xor edi, edi
cmp byte [r13 + rsi], 0x2e
mov r14d, 0
jne 0x1402cf9e1
mov qword [rbp + 0xc58], 0
mov r8d, 0x400
sub r8, rsi
mov r14, r13
xor r13d, r13d
cmp esi, 0x400
cmovae r8, r13
lea rcx, [rsi + rbp]
add rcx, 0x7d0
xor edx, edx
call fcn.14036f7c0
lea rdi, [rbp + 0x7d0]
mov rcx, rdi
mov qword [rbp + 0xc30], r14
mov rdx, r14
mov r8, rsi
call fcn.14036f110
xor ecx, ecx
xor edx, edx
mov r8, rdi
mov r9d, 0x14416bce
call fcn.1402d1710
mov qword [rbp + 0xc58], rax
test rax, rax
jne 0x1402cf233
xor r13d, r13d
lea rcx, [rbp + 0x7d0]
xor edx, edx
call fcn.1402ce7a0
xor ecx, ecx
test rax, rax
sete cl
lea rdi, [0x1404a2a20]
inc qword [rdi + rcx*8 + 0x58]
mov qword [rbp + 0xc58], rax
test rax, rax
jne 0x1402cf233
xor r13d, r13d
mov r14d, 1
mov ecx, 1
xor edx, edx
xor r8d, r8d
mov r9d, 0x14416bce
call fcn.1402d1710
test rax, rax
je 0x1402cf233
mov qword [rbp + 0xbe8], 0
lea rcx, [rbp - 0x30]
mov qword [rbp + 0xbf0], rcx
xor ecx, ecx
nop dword [rax]
mov edx, r13d
mov r8d, r13d
movsx r9d, byte [rbp + r8 + 0x7d0]
xor r13d, r13d
test r9w, r9w
setne r13b
mov word [rbp + r8*2 - 0x30], r9w
movzx ecx, cl
cmove ecx, r14d
add r13d, edx
test cl, 1
je 0x1402cf1c0
lea ecx, [r13 + r13]
mov word [rbp + 0xbe8], cx
lea ecx, [r13 + r13 + 2]
mov word [rbp + 0xbea], cx
lea r8, [rbp + 0xbe8]
lea r9, [rbp + 0xc58]
xor ecx, ecx
xor edx, edx
call qword [case.0x140116dad.0]
mov r13, qword [rbp + 0xc58]
xor eax, eax
test r13, r13
sete al
inc qword [rdi + rax*8 + 0x20]
lea rcx, [rbp + 0x7d0]
xor edx, edx
mov r8, rsi
call fcn.14036f7c0
lea eax, [rbx - 1]
mov rcx, qword [0x1404a2b70]
movsxd r8, dword [rcx]
add r8, rcx
nop word cs:[rax + rax]
mov r9d, dword [0x1403b4a90]
mov ecx, dword [0x1404c10d4]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1402cf280
mov ecx, dword [0x1403b4a90]
jmp 0x1402cf260
mov dword [rbp + 0xc1c], r9d
mov qword [rbp + 0xbd0], r8
mov rcx, qword [rbp + 0xc30]
movzx r14d, byte [rcx + rax]
xor esi, esi
mov ecx, 0
cmp r14b, 0x23
jne 0x1402cf2c0
mov ecx, ebx
add rcx, qword [rbp + 0xc30]
mov edx, 0xea944db6
call fcn.14024d7a0
mov esi, eax
mov cl, 1
mov eax, ebx
mov qword [rbp + 0xbf8], rcx
mov rcx, qword [rbp + 0xc20]
test rcx, rcx
je 0x1402cf2e5
cmp qword [rcx], 7
jb 0x1402cf2e5
inc qword [0x1404a2ad0]
jmp 0x1402cf992
mov rdi, qword [rbp + 0xc58]
test rdi, rdi
je 0x1402cf992
movsxd rdx, dword [rdi + 0x3c]
mov ecx, dword [rdi + rdx + 0x88]
test rcx, rcx
je 0x1402cf992
mov r8d, dword [rdi + rdx + 0x8c]
test r8, r8
je 0x1402cf992
cmp dword [rdi + rdx + 0x8c], 0x28
jb 0x1402cf992
lea r9, [rdi + rcx]
add r8, r9
mov qword [rbp + 0xc10], r8
mov edx, dword [r9 + 0x1c]
add rdx, rdi
mov qword [rbp + 0xc08], rdx
mov edx, dword [r9 + 0x14]
cmp r14b, 0x23
jne 0x1402cf3ec
mov r8d, dword [r9 + 0x10]
inc qword [0x1404a2a50]
test edx, edx
je 0x1402cf992
mov r14b, 1
mov eax, esi
sub eax, r8d
jb 0x1402cf995
cmp eax, edx
jae 0x1402cf995
mov edx, eax
mov eax, dword [0x1404bdc74]
mov r8, qword [rbp + 0xc08]
add eax, dword [r8 + rdx*4]
je 0x1402cf992
mov ebx, eax
add rbx, rdi
cmp eax, ecx
jb 0x1402cf870
cmp rbx, qword [rbp + 0xc10]
ja 0x1402cf870
mov rcx, rbx
mov rdx, qword [rbp + 0xc30]
call fcn.1402ce650
test al, al
je 0x1402cf87c
mov rcx, rbx
mov rdx, rdi
call fcn.1402ce7a0
test rax, rax
je 0x1402cf8c3
mov qword [rbp + 0xc58], rax
lea rax, [0x1404a2a78]
jmp 0x1402cf8ca
mov r8d, dword [r9 + 0x20]
mov ecx, dword [r9 + 0x24]
mov r10d, dword [r9 + 0x18]
inc qword [0x1404a2a58]
xor r14d, r14d
test edx, edx
je 0x1402cf995
add r8, rdi
add rcx, rdi
test r10d, r10d
je 0x1402cf995
mov qword [rbp + 0xbd8], rcx
mov qword [rbp + 0xbe0], r9
je 0x1402cf995
mov eax, eax
add rax, qword [rbp + 0xc30]
mov qword [rbp + 0xc28], rax
xor eax, eax
mov qword [rbp + 0xc40], r15
mov qword [rbp + 0xc48], r12
mov qword [rbp + 0xc50], r13
mov qword [rbp + 0xc38], r8
mov dword [rbp + 0xc64], r10d
jmp 0x1402cf4a7
mov qword [rbp + 0xc68], 0
mov rax, qword [rbp + 0xc00]
inc eax
xor r14d, r14d
mov r10d, dword [rbp + 0xc64]
cmp eax, r10d
mov r15, qword [rbp + 0xc40]
mov r12, qword [rbp + 0xc48]
mov r13, qword [rbp + 0xc50]
mov r8, qword [rbp + 0xc38]
jae 0x1402cf995
mov qword [rbp + 0xc00], rax
mov eax, eax
mov edx, dword [r8 + rax*4]
test rdx, rdx
je 0x1402cf46f
mov rsi, qword [rbp + 0xc58]
mov rbx, qword [rbp + 0xbd0]
mov r14d, dword [rbp + 0xc1c]
mov r8d, dword [0x1404a2b00]
lea ecx, [r8 + 1]
mov dword [0x1404a2b00], ecx
mov r9d, r8d
not r9d
xor r8d, ecx
not ecx
and ecx, r9d
or ecx, r8d
xor ecx, 0xffffffff
je 0x1402cf500
xor r8d, r8d
jmp 0x1402cf581
mov r8d, dword [0x1404c10d4]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1402cf500
xor r9d, r9d
mov r8d, 0
test r14d, r14d
jle 0x1402cf581
xor r8d, r8d
nop word cs:[rax + rax]
movsxd r10, r9d
mov r11d, dword [0x1404c10d8]
nop word [rax + rax]
mov r11d, dword [0x1404c10d8]
cmp r11d, 0x46
jg 0x1402cf540
add r10, rbx
movzx r10d, word [r10]
mov r11d, dword [0x1404c10d8]
nop dword [rax + rax]
mov r11d, dword [0x1404c10d4]
lea edi, [r11 - 1]
imul edi, r11d
test dil, 1
jne 0x1402cf560
xor r8d, r10d
add r9d, 2
cmp r9d, r14d
jl 0x1402cf530
add rdx, rsi
xor r9d, r9d
mov r14, qword [rbp + 0xc28]
nop
movzx r10d, byte [rdx + r9]
movzx r11d, byte [r14 + r9]
cmp r10b, r11b
sete bl
test r10b, r10b
sete dil
cmp bl, dil
je 0x1402cf5b4
inc r9
cmp r10b, r11b
je 0x1402cf590
cmp r10b, r11b
jne 0x1402cf46f
mov rdx, qword [rbp + 0xbd8]
movzx eax, word [rdx + rax*2]
mov rdx, qword [rbp + 0xc08]
mov edi, dword [rdx + rax*4]
test rdi, rdi
je 0x1402cf46f
add rdi, rsi
movzx eax, word [0x1403b4520]
cmp ecx, 1
mov ecx, 0
sbb ecx, ecx
sub eax, r8d
mov rdx, qword [rbp + 0xc30]
nop dword [rax]
mov r9d, dword [0x1404c10d4]
lea r8d, [r9 - 1]
imul r8d, r9d
test r8b, 1
je 0x1402cf622
mov r8d, dword [0x1404c10d8]
cmp r8d, 0x60
jge 0x1402cf600
mov r8d, eax
not r8d
movsx ecx, cx
xor eax, ecx
not ecx
and ecx, r8d
or ecx, eax
not ecx
add word [0x1404c10e0], cx
cmp rdi, qword [rbp + 0xbe0]
mov rax, qword [rbp + 0xc10]
jb 0x1402cf6e9
cmp rdi, rax
ja 0x1402cf6e9
mov rcx, rdi
call fcn.1402ce650
test al, al
je 0x1402cf6c8
mov rcx, rdi
mov rdx, rsi
call fcn.1402ce7a0
test rax, rax
je 0x1402cf736
mov qword [rbp + 0xc58], rax
mov rcx, qword [0x1404a2a78]
mov rdx, rcx
xor rdx, 1
and ecx, 1
lea rcx, [rdx + rcx*2]
mov qword [0x1404a2a78], rcx
mov rcx, rax
mov rdx, qword [rbp + 0xc28]
call fcn.1402cfdd0
mov qword [rbp + 0xc68], rax
inc qword [0x1404a2a28]
test rax, rax
je 0x1402cf74f
jmp 0x1402cf8a6
inc qword [0x1404a2a20]
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x1402cf6de
inc qword [rdx]
mov rcx, rdi
call fcn.1402cefd0
mov rdi, rax
mov qword [rbp + 0xc68], rdi
mov r15, qword [rbp + 0xc40]
mov r12, qword [rbp + 0xc48]
mov r13, qword [rbp + 0xc50]
mov r8, qword [rbp + 0xc38]
mov r10d, dword [rbp + 0xc64]
xor r14d, r14d
test rdi, rdi
jne 0x1402cf995
mov rax, qword [rbp + 0xc00]
inc eax
cmp eax, r10d
jb 0x1402cf4a7
jmp 0x1402cf995
inc qword [0x1404a2a80]
mov qword [rbp + 0xc68], 0
inc qword [0x1404a2a28]
call fcn.1402db7f0
test rax, rax
je 0x1402cf464
mov qword [rbp - 0x30], 0
xor ecx, ecx
xor edx, edx
mov r9, qword [rbp + 0xc28]
mov r10d, 1
mov r8, rcx
xor ecx, ecx
cmp byte [r9 + r8], 0
setne cl
movzx edx, dl
cmove edx, r10d
add rcx, r8
test dl, 1
je 0x1402cf776
add cx, word [0x1404c10e0]
mov word [rbp - 0x30], cx
inc ecx
mov word [rbp - 0x2e], cx
mov qword [rbp - 0x28], r9
mov rcx, qword [rbp + 0xc58]
lea rdx, [rbp - 0x30]
xor r8d, r8d
lea r9, [rbp + 0xc68]
call qword [case.0x140116dad.0]
cmp eax, 0xc0000142
je 0x1402cf7d0
cmp eax, 0xc0000138
jne 0x1402cf81c
mov qword [rbp + 0xc68], 0
inc qword [0x1404a2a88]
mov r15, qword [rbp + 0xc40]
mov r12, qword [rbp + 0xc48]
mov r13, qword [rbp + 0xc50]
mov r8, qword [rbp + 0xc38]
mov r10d, dword [rbp + 0xc64]
inc qword [0x1404a2ac0]
lea rax, [0x1404a2a90]
lea rcx, [0x1404a2aa0]
jmp 0x1402cf85e
inc qword [0x1404a2a88]
cmp qword [rbp + 0xc68], 0
lea rax, [0x1404a2aa8]
lea rcx, [0x1404a2ab8]
mov r15, qword [rbp + 0xc40]
mov r12, qword [rbp + 0xc48]
mov r13, qword [rbp + 0xc50]
mov r8, qword [rbp + 0xc38]
mov r10d, dword [rbp + 0xc64]
je 0x1402cf805
inc qword [rax]
inc qword [rcx]
mov rdi, qword [rbp + 0xc68]
jmp 0x1402cf713
mov qword [rbp + 0xc68], rbx
jmp 0x1402cf992
inc qword [0x1404a2a20]
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x1402cf892
inc qword [rdx]
mov rcx, rbx
call fcn.1402cefd0
mov qword [rbp + 0xc68], rax
jmp 0x1402cf992
xor r14d, r14d
mov r15, qword [rbp + 0xc40]
mov r12, qword [rbp + 0xc48]
mov r13, qword [rbp + 0xc50]
jmp 0x1402cf995
lea rax, [0x1404a2a80]
inc qword [rax]
mov qword [rbp + 0xc68], 0
inc qword [0x1404a2a28]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xb9607c76
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.1402d1be0
test rax, rax
je 0x1402cf93a
inc qword [0x1404a2a88]
mov rcx, qword [rbp + 0xc58]
lea r9, [rbp + 0xc68]
xor edx, edx
mov r8d, esi
call qword [case.0x140116dad.0]
cmp eax, 0xc0000138
jne 0x1402cf947
mov qword [rbp + 0xc68], 0
jmp 0x1402cf97d
mov qword [rbp + 0xc68], 0
jmp 0x1402cf992
cmp qword [rbp + 0xc68], 0
je 0x1402cf97d
inc qword [0x1404a2ac0]
inc qword [0x1404a2aa8]
mov rax, qword [0x1404a2ab0]
mov rcx, rax
xor rcx, 1
and eax, 1
lea rax, [rcx + rax*2]
mov qword [0x1404a2ab0], rax
jmp 0x1402cf992
inc qword [0x1404a2ac0]
inc qword [0x1404a2a90]
inc qword [0x1404a2a98]
xor r14d, r14d
mov rax, qword [rbp + 0xc68]
test rax, rax
jne 0x1402cfb00
test r13, r13
mov rdi, qword [rbp + 0xbf8]
je 0x1402cf9e8
mov dword [rsp + 0x28], 0x8e6a4c0c
mov dword [rsp + 0x20], 1
mov ecx, 1
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1402d1be0
test rax, rax
je 0x1402cf9e1
mov rcx, r13
call qword [case.0x140116dad.0]
mov rax, qword [rbp + 0xc68]
or r15, r12
test rax, rax
je 0x1402cf9f9
lea rax, [0x1404a2a30]
jmp 0x1402cfa17
lea rax, [0x1404a2a20]
inc qword [0x1404a2a38]
xor ecx, ecx
test dil, dil
sete cl
lea rax, [rax + rcx*8]
add rax, 0x40
inc qword [rax]
rdtsc
shl rdx, 0x20
or rdx, rax
sub rdx, r15
cmp qword [0x1404a2af0], 0
je 0x1402cfa3c
mov rax, qword [0x1404a2af0]
cmp rax, rdx
jae 0x1402cfa43
mov qword [0x1404a2af0], rdx
cmp qword [rbp + 0xc68], 0
je 0x1402cfa6b
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 r8d, r8d
jmp 0x1402cfadd
lea eax, [rdi - 2]
test al, dil
sete cl
xor r14b, 1
xorps xmm0, xmm0
or r14b, cl
jne 0x1402cfa9e
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x40], 0xfa42d69f
xor ecx, ecx
xor edx, edx
mov r8d, 0x4750412d
jmp 0x1402cfadd
test al, dil
je 0x1402cfac1
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x40], 0xfa42d69f
xor ecx, ecx
xor edx, edx
mov r8d, 0xc0000138
jmp 0x1402cfadd
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x40], 0xfa42d69f
xor ecx, ecx
xor edx, edx
mov r8d, 0xc0000139
xor r9d, r9d
call fcn.1402d1960
mov rax, qword [rbp + 0xc68]
add rsp, 0xcf8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdi, qword [rbp + 0xbf8]
jmp 0x1402cf9e8