Function at 0x1402a1350
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 0x1402a13b8
mov rsi, rdx
mov r13, rcx
call fcn.1402a1ed0
rdtsc
mov r15, rax
mov r12, rdx
shl r12, 0x20
test rsi, rsi
je 0x1402a140a
mov rax, qword [rsi]
cmp rax, 7
jb 0x1402a13fa
inc qword [0x140475230]
jmp 0x1402a1436
cmp qword [0x14047529c], 0x33c0
jne 0x1402a1e65
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.1402a3da0
add rax, 0x33c0
mov qword [0x14047529c], rax
jmp 0x1402a1e65
cmp rax, qword [0x140475228]
jbe 0x1402a140a
mov qword [0x140475228], rax
test r13, r13
je 0x1402a1436
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 0x1402a1440
cmp eax, 0x2e
je 0x1402a1440
inc ebx
jmp 0x1402a1420
xor edi, edi
xor r14d, r14d
jmp 0x1402a1d61
xor edi, edi
cmp byte [r13 + rsi], 0x2e
mov r14d, 0
jne 0x1402a1d61
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.140341b50
lea rdi, [rbp + 0x7d0]
mov rcx, rdi
mov qword [rbp + 0xc30], r14
mov rdx, r14
mov r8, rsi
call fcn.1403414a0
xor ecx, ecx
xor edx, edx
mov r8, rdi
mov r9d, 0x14416bce
call fcn.1402a3a90
mov qword [rbp + 0xc58], rax
test rax, rax
jne 0x1402a15b3
xor r13d, r13d
lea rcx, [rbp + 0x7d0]
xor edx, edx
call fcn.1402a0b20
xor ecx, ecx
test rax, rax
sete cl
lea rdi, [0x140475180]
inc qword [rdi + rcx*8 + 0x58]
mov qword [rbp + 0xc58], rax
test rax, rax
jne 0x1402a15b3
xor r13d, r13d
mov r14d, 1
mov ecx, 1
xor edx, edx
xor r8d, r8d
mov r9d, 0x14416bce
call fcn.1402a3a90
test rax, rax
je 0x1402a15b3
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 0x1402a1540
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.0x1400eabdd.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.140341b50
lea eax, [rbx - 1]
mov rcx, qword [0x1404752d0]
movsxd r8, dword [rcx]
add r8, rcx
nop word cs:[rax + rax]
mov r9d, dword [0x140386a60]
mov ecx, dword [0x140493834]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1402a1600
mov ecx, dword [0x140386a60]
jmp 0x1402a15e0
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 0x1402a1640
mov ecx, ebx
add rcx, qword [rbp + 0xc30]
mov edx, 0xea944db6
call fcn.14021fb20
mov esi, eax
mov cl, 1
mov eax, ebx
mov qword [rbp + 0xbf8], rcx
mov rcx, qword [rbp + 0xc20]
test rcx, rcx
je 0x1402a1665
cmp qword [rcx], 7
jb 0x1402a1665
inc qword [0x140475230]
jmp 0x1402a1d12
mov rdi, qword [rbp + 0xc58]
test rdi, rdi
je 0x1402a1d12
movsxd rdx, dword [rdi + 0x3c]
mov ecx, dword [rdi + rdx + 0x88]
test rcx, rcx
je 0x1402a1d12
mov r8d, dword [rdi + rdx + 0x8c]
test r8, r8
je 0x1402a1d12
cmp dword [rdi + rdx + 0x8c], 0x28
jb 0x1402a1d12
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 0x1402a176c
mov r8d, dword [r9 + 0x10]
inc qword [0x1404751b0]
test edx, edx
je 0x1402a1d12
mov r14b, 1
mov eax, esi
sub eax, r8d
jb 0x1402a1d15
cmp eax, edx
jae 0x1402a1d15
mov edx, eax
mov eax, dword [0x1404903d4]
mov r8, qword [rbp + 0xc08]
add eax, dword [r8 + rdx*4]
je 0x1402a1d12
mov ebx, eax
add rbx, rdi
cmp eax, ecx
jb 0x1402a1bf0
cmp rbx, qword [rbp + 0xc10]
ja 0x1402a1bf0
mov rcx, rbx
mov rdx, qword [rbp + 0xc30]
call fcn.1402a09d0
test al, al
je 0x1402a1bfc
mov rcx, rbx
mov rdx, rdi
call fcn.1402a0b20
test rax, rax
je 0x1402a1c43
mov qword [rbp + 0xc58], rax
lea rax, [0x1404751d8]
jmp 0x1402a1c4a
mov r8d, dword [r9 + 0x20]
mov ecx, dword [r9 + 0x24]
mov r10d, dword [r9 + 0x18]
inc qword [0x1404751b8]
xor r14d, r14d
test edx, edx
je 0x1402a1d15
add r8, rdi
add rcx, rdi
test r10d, r10d
je 0x1402a1d15
mov qword [rbp + 0xbd8], rcx
mov qword [rbp + 0xbe0], r9
je 0x1402a1d15
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 0x1402a1827
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 0x1402a1d15
mov qword [rbp + 0xc00], rax
mov eax, eax
mov edx, dword [r8 + rax*4]
test rdx, rdx
je 0x1402a17ef
mov rsi, qword [rbp + 0xc58]
mov rbx, qword [rbp + 0xbd0]
mov r14d, dword [rbp + 0xc1c]
mov r8d, dword [0x140475260]
lea ecx, [r8 + 1]
mov dword [0x140475260], ecx
mov r9d, r8d
not r9d
xor r8d, ecx
not ecx
and ecx, r9d
or ecx, r8d
xor ecx, 0xffffffff
je 0x1402a1880
xor r8d, r8d
jmp 0x1402a1901
mov r8d, dword [0x140493834]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1402a1880
xor r9d, r9d
mov r8d, 0
test r14d, r14d
jle 0x1402a1901
xor r8d, r8d
nop word cs:[rax + rax]
movsxd r10, r9d
mov r11d, dword [0x140493838]
nop word [rax + rax]
mov r11d, dword [0x140493838]
cmp r11d, 0x46
jg 0x1402a18c0
add r10, rbx
movzx r10d, word [r10]
mov r11d, dword [0x140493838]
nop dword [rax + rax]
mov r11d, dword [0x140493834]
lea edi, [r11 - 1]
imul edi, r11d
test dil, 1
jne 0x1402a18e0
xor r8d, r10d
add r9d, 2
cmp r9d, r14d
jl 0x1402a18b0
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 0x1402a1934
inc r9
cmp r10b, r11b
je 0x1402a1910
cmp r10b, r11b
jne 0x1402a17ef
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 0x1402a17ef
add rdi, rsi
movzx eax, word [0x1403864f0]
cmp ecx, 1
mov ecx, 0
sbb ecx, ecx
sub eax, r8d
mov rdx, qword [rbp + 0xc30]
nop dword [rax]
mov r9d, dword [0x140493834]
lea r8d, [r9 - 1]
imul r8d, r9d
test r8b, 1
je 0x1402a19a2
mov r8d, dword [0x140493838]
cmp r8d, 0x60
jge 0x1402a1980
mov r8d, eax
not r8d
movsx ecx, cx
xor eax, ecx
not ecx
and ecx, r8d
or ecx, eax
not ecx
add word [0x140493840], cx
cmp rdi, qword [rbp + 0xbe0]
mov rax, qword [rbp + 0xc10]
jb 0x1402a1a69
cmp rdi, rax
ja 0x1402a1a69
mov rcx, rdi
call fcn.1402a09d0
test al, al
je 0x1402a1a48
mov rcx, rdi
mov rdx, rsi
call fcn.1402a0b20
test rax, rax
je 0x1402a1ab6
mov qword [rbp + 0xc58], rax
mov rcx, qword [0x1404751d8]
mov rdx, rcx
xor rdx, 1
and ecx, 1
lea rcx, [rdx + rcx*2]
mov qword [0x1404751d8], rcx
mov rcx, rax
mov rdx, qword [rbp + 0xc28]
call fcn.1402a2150
mov qword [rbp + 0xc68], rax
inc qword [0x140475188]
test rax, rax
je 0x1402a1acf
jmp 0x1402a1c26
inc qword [0x140475180]
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x1402a1a5e
inc qword [rdx]
mov rcx, rdi
call fcn.1402a1350
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 0x1402a1d15
mov rax, qword [rbp + 0xc00]
inc eax
cmp eax, r10d
jb 0x1402a1827
jmp 0x1402a1d15
inc qword [0x1404751e0]
mov qword [rbp + 0xc68], 0
inc qword [0x140475188]
call fcn.1402adb70
test rax, rax
je 0x1402a17e4
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 0x1402a1af6
add cx, word [0x140493840]
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.0x1400eabdd.0]
cmp eax, 0xc0000142
je 0x1402a1b50
cmp eax, 0xc0000138
jne 0x1402a1b9c
mov qword [rbp + 0xc68], 0
inc qword [0x1404751e8]
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 [0x140475220]
lea rax, [0x1404751f0]
lea rcx, [0x140475200]
jmp 0x1402a1bde
inc qword [0x1404751e8]
cmp qword [rbp + 0xc68], 0
lea rax, [0x140475208]
lea rcx, [0x140475218]
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 0x1402a1b85
inc qword [rax]
inc qword [rcx]
mov rdi, qword [rbp + 0xc68]
jmp 0x1402a1a93
mov qword [rbp + 0xc68], rbx
jmp 0x1402a1d12
inc qword [0x140475180]
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x1402a1c12
inc qword [rdx]
mov rcx, rbx
call fcn.1402a1350
mov qword [rbp + 0xc68], rax
jmp 0x1402a1d12
xor r14d, r14d
mov r15, qword [rbp + 0xc40]
mov r12, qword [rbp + 0xc48]
mov r13, qword [rbp + 0xc50]
jmp 0x1402a1d15
lea rax, [0x1404751e0]
inc qword [rax]
mov qword [rbp + 0xc68], 0
inc qword [0x140475188]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xb9607c76
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.1402a3f60
test rax, rax
je 0x1402a1cba
inc qword [0x1404751e8]
mov rcx, qword [rbp + 0xc58]
lea r9, [rbp + 0xc68]
xor edx, edx
mov r8d, esi
call qword [case.0x1400eabdd.0]
cmp eax, 0xc0000138
jne 0x1402a1cc7
mov qword [rbp + 0xc68], 0
jmp 0x1402a1cfd
mov qword [rbp + 0xc68], 0
jmp 0x1402a1d12
cmp qword [rbp + 0xc68], 0
je 0x1402a1cfd
inc qword [0x140475220]
inc qword [0x140475208]
mov rax, qword [0x140475210]
mov rcx, rax
xor rcx, 1
and eax, 1
lea rax, [rcx + rax*2]
mov qword [0x140475210], rax
jmp 0x1402a1d12
inc qword [0x140475220]
inc qword [0x1404751f0]
inc qword [0x1404751f8]
xor r14d, r14d
mov rax, qword [rbp + 0xc68]
test rax, rax
jne 0x1402a1e80
test r13, r13
mov rdi, qword [rbp + 0xbf8]
je 0x1402a1d68
mov dword [rsp + 0x28], 0x8e6a4c0c
mov dword [rsp + 0x20], 1
mov ecx, 1
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1402a3f60
test rax, rax
je 0x1402a1d61
mov rcx, r13
call qword [case.0x1400eabdd.0]
mov rax, qword [rbp + 0xc68]
or r15, r12
test rax, rax
je 0x1402a1d79
lea rax, [0x140475190]
jmp 0x1402a1d97
lea rax, [0x140475180]
inc qword [0x140475198]
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 [0x140475250], 0
je 0x1402a1dbc
mov rax, qword [0x140475250]
cmp rax, rdx
jae 0x1402a1dc3
mov qword [0x140475250], rdx
cmp qword [rbp + 0xc68], 0
je 0x1402a1deb
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 0x1402a1e5d
lea eax, [rdi - 2]
test al, dil
sete cl
xor r14b, 1
xorps xmm0, xmm0
or r14b, cl
jne 0x1402a1e1e
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 0x1402a1e5d
test al, dil
je 0x1402a1e41
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 0x1402a1e5d
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.1402a3ce0
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 0x1402a1d68