Function at 0x1402d0c30
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 0x1402d0c98
mov rsi, rdx
mov r13, rcx
call fcn.1402d17b0
rdtsc
mov r15, rax
mov r12, rdx
shl r12, 0x20
test rsi, rsi
je 0x1402d0cea
mov rax, qword [rsi]
cmp rax, 7
jb 0x1402d0cda
inc qword [0x1404a3b10]
jmp 0x1402d0d16
cmp qword [0x1404a3b7c], 0x33c0
jne 0x1402d1745
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 [0x1404a3b7c], rax
jmp 0x1402d1745
cmp rax, qword [0x1404a3b08]
jbe 0x1402d0cea
mov qword [0x1404a3b08], rax
test r13, r13
je 0x1402d0d16
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 0x1402d0d20
cmp eax, 0x2e
je 0x1402d0d20
inc ebx
jmp 0x1402d0d00
xor edi, edi
xor r14d, r14d
jmp 0x1402d1641
xor edi, edi
cmp byte [r13 + rsi], 0x2e
mov r14d, 0
jne 0x1402d1641
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.140371420
lea rdi, [rbp + 0x7d0]
mov rcx, rdi
mov qword [rbp + 0xc30], r14
mov rdx, r14
mov r8, rsi
call fcn.140370d70
xor ecx, ecx
xor edx, edx
mov r8, rdi
mov r9d, 0x14416bce
call fcn.1402d3370
mov qword [rbp + 0xc58], rax
test rax, rax
jne 0x1402d0e93
xor r13d, r13d
lea rcx, [rbp + 0x7d0]
xor edx, edx
call fcn.1402d0400
xor ecx, ecx
test rax, rax
sete cl
lea rdi, [0x1404a3a60]
inc qword [rdi + rcx*8 + 0x58]
mov qword [rbp + 0xc58], rax
test rax, rax
jne 0x1402d0e93
xor r13d, r13d
mov r14d, 1
mov ecx, 1
xor edx, edx
xor r8d, r8d
mov r9d, 0x14416bce
call fcn.1402d3370
test rax, rax
je 0x1402d0e93
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 0x1402d0e20
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.0x14011905d.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.140371420
lea eax, [rbx - 1]
mov rcx, qword [0x1404a3bb0]
movsxd r8, dword [rcx]
add r8, rcx
nop word cs:[rax + rax]
mov r9d, dword [0x1403b5a70]
mov ecx, dword [0x1404c212c]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1402d0ee0
mov ecx, dword [0x1403b5a70]
jmp 0x1402d0ec0
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 0x1402d0f20
mov ecx, ebx
add rcx, qword [rbp + 0xc30]
mov edx, 0xea944db6
call fcn.14024f410
mov esi, eax
mov cl, 1
mov eax, ebx
mov qword [rbp + 0xbf8], rcx
mov rcx, qword [rbp + 0xc20]
test rcx, rcx
je 0x1402d0f45
cmp qword [rcx], 7
jb 0x1402d0f45
inc qword [0x1404a3b10]
jmp 0x1402d15f2
mov rdi, qword [rbp + 0xc58]
test rdi, rdi
je 0x1402d15f2
movsxd rdx, dword [rdi + 0x3c]
mov ecx, dword [rdi + rdx + 0x88]
test rcx, rcx
je 0x1402d15f2
mov r8d, dword [rdi + rdx + 0x8c]
test r8, r8
je 0x1402d15f2
cmp dword [rdi + rdx + 0x8c], 0x28
jb 0x1402d15f2
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 0x1402d104c
mov r8d, dword [r9 + 0x10]
inc qword [0x1404a3a90]
test edx, edx
je 0x1402d15f2
mov r14b, 1
mov eax, esi
sub eax, r8d
jb 0x1402d15f5
cmp eax, edx
jae 0x1402d15f5
mov edx, eax
mov eax, dword [0x1404becc4]
mov r8, qword [rbp + 0xc08]
add eax, dword [r8 + rdx*4]
je 0x1402d15f2
mov ebx, eax
add rbx, rdi
cmp eax, ecx
jb 0x1402d14d0
cmp rbx, qword [rbp + 0xc10]
ja 0x1402d14d0
mov rcx, rbx
mov rdx, qword [rbp + 0xc30]
call fcn.1402d02b0
test al, al
je 0x1402d14dc
mov rcx, rbx
mov rdx, rdi
call fcn.1402d0400
test rax, rax
je 0x1402d1523
mov qword [rbp + 0xc58], rax
lea rax, [0x1404a3ab8]
jmp 0x1402d152a
mov r8d, dword [r9 + 0x20]
mov ecx, dword [r9 + 0x24]
mov r10d, dword [r9 + 0x18]
inc qword [0x1404a3a98]
xor r14d, r14d
test edx, edx
je 0x1402d15f5
add r8, rdi
add rcx, rdi
test r10d, r10d
je 0x1402d15f5
mov qword [rbp + 0xbd8], rcx
mov qword [rbp + 0xbe0], r9
je 0x1402d15f5
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 0x1402d1107
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 0x1402d15f5
mov qword [rbp + 0xc00], rax
mov eax, eax
mov edx, dword [r8 + rax*4]
test rdx, rdx
je 0x1402d10cf
mov rsi, qword [rbp + 0xc58]
mov rbx, qword [rbp + 0xbd0]
mov r14d, dword [rbp + 0xc1c]
mov r8d, dword [0x1404a3b40]
lea ecx, [r8 + 1]
mov dword [0x1404a3b40], ecx
mov r9d, r8d
not r9d
xor r8d, ecx
not ecx
and ecx, r9d
or ecx, r8d
xor ecx, 0xffffffff
je 0x1402d1160
xor r8d, r8d
jmp 0x1402d11e1
mov r8d, dword [0x1404c212c]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1402d1160
xor r9d, r9d
mov r8d, 0
test r14d, r14d
jle 0x1402d11e1
xor r8d, r8d
nop word cs:[rax + rax]
movsxd r10, r9d
mov r11d, dword [0x1404c2130]
nop word [rax + rax]
mov r11d, dword [0x1404c2130]
cmp r11d, 0x46
jg 0x1402d11a0
add r10, rbx
movzx r10d, word [r10]
mov r11d, dword [0x1404c2130]
nop dword [rax + rax]
mov r11d, dword [0x1404c212c]
lea edi, [r11 - 1]
imul edi, r11d
test dil, 1
jne 0x1402d11c0
xor r8d, r10d
add r9d, 2
cmp r9d, r14d
jl 0x1402d1190
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 0x1402d1214
inc r9
cmp r10b, r11b
je 0x1402d11f0
cmp r10b, r11b
jne 0x1402d10cf
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 0x1402d10cf
add rdi, rsi
movzx eax, word [0x1403b5500]
cmp ecx, 1
mov ecx, 0
sbb ecx, ecx
sub eax, r8d
mov rdx, qword [rbp + 0xc30]
nop dword [rax]
mov r9d, dword [0x1404c212c]
lea r8d, [r9 - 1]
imul r8d, r9d
test r8b, 1
je 0x1402d1282
mov r8d, dword [0x1404c2130]
cmp r8d, 0x60
jge 0x1402d1260
mov r8d, eax
not r8d
movsx ecx, cx
xor eax, ecx
not ecx
and ecx, r8d
or ecx, eax
not ecx
add word [0x1404c2138], cx
cmp rdi, qword [rbp + 0xbe0]
mov rax, qword [rbp + 0xc10]
jb 0x1402d1349
cmp rdi, rax
ja 0x1402d1349
mov rcx, rdi
call fcn.1402d02b0
test al, al
je 0x1402d1328
mov rcx, rdi
mov rdx, rsi
call fcn.1402d0400
test rax, rax
je 0x1402d1396
mov qword [rbp + 0xc58], rax
mov rcx, qword [0x1404a3ab8]
mov rdx, rcx
xor rdx, 1
and ecx, 1
lea rcx, [rdx + rcx*2]
mov qword [0x1404a3ab8], rcx
mov rcx, rax
mov rdx, qword [rbp + 0xc28]
call fcn.1402d1a30
mov qword [rbp + 0xc68], rax
inc qword [0x1404a3a68]
test rax, rax
je 0x1402d13af
jmp 0x1402d1506
inc qword [0x1404a3a60]
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x1402d133e
inc qword [rdx]
mov rcx, rdi
call fcn.1402d0c30
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 0x1402d15f5
mov rax, qword [rbp + 0xc00]
inc eax
cmp eax, r10d
jb 0x1402d1107
jmp 0x1402d15f5
inc qword [0x1404a3ac0]
mov qword [rbp + 0xc68], 0
inc qword [0x1404a3a68]
call fcn.1402dd450
test rax, rax
je 0x1402d10c4
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 0x1402d13d6
add cx, word [0x1404c2138]
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.0x14011905d.0]
cmp eax, 0xc0000142
je 0x1402d1430
cmp eax, 0xc0000138
jne 0x1402d147c
mov qword [rbp + 0xc68], 0
inc qword [0x1404a3ac8]
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 [0x1404a3b00]
lea rax, [0x1404a3ad0]
lea rcx, [0x1404a3ae0]
jmp 0x1402d14be
inc qword [0x1404a3ac8]
cmp qword [rbp + 0xc68], 0
lea rax, [0x1404a3ae8]
lea rcx, [0x1404a3af8]
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 0x1402d1465
inc qword [rax]
inc qword [rcx]
mov rdi, qword [rbp + 0xc68]
jmp 0x1402d1373
mov qword [rbp + 0xc68], rbx
jmp 0x1402d15f2
inc qword [0x1404a3a60]
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x1402d14f2
inc qword [rdx]
mov rcx, rbx
call fcn.1402d0c30
mov qword [rbp + 0xc68], rax
jmp 0x1402d15f2
xor r14d, r14d
mov r15, qword [rbp + 0xc40]
mov r12, qword [rbp + 0xc48]
mov r13, qword [rbp + 0xc50]
jmp 0x1402d15f5
lea rax, [0x1404a3ac0]
inc qword [rax]
mov qword [rbp + 0xc68], 0
inc qword [0x1404a3a68]
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 0x1402d159a
inc qword [0x1404a3ac8]
mov rcx, qword [rbp + 0xc58]
lea r9, [rbp + 0xc68]
xor edx, edx
mov r8d, esi
call qword [case.0x14011905d.0]
cmp eax, 0xc0000138
jne 0x1402d15a7
mov qword [rbp + 0xc68], 0
jmp 0x1402d15dd
mov qword [rbp + 0xc68], 0
jmp 0x1402d15f2
cmp qword [rbp + 0xc68], 0
je 0x1402d15dd
inc qword [0x1404a3b00]
inc qword [0x1404a3ae8]
mov rax, qword [0x1404a3af0]
mov rcx, rax
xor rcx, 1
and eax, 1
lea rax, [rcx + rax*2]
mov qword [0x1404a3af0], rax
jmp 0x1402d15f2
inc qword [0x1404a3b00]
inc qword [0x1404a3ad0]
inc qword [0x1404a3ad8]
xor r14d, r14d
mov rax, qword [rbp + 0xc68]
test rax, rax
jne 0x1402d1760
test r13, r13
mov rdi, qword [rbp + 0xbf8]
je 0x1402d1648
mov dword [rsp + 0x28], 0x8e6a4c0c
mov dword [rsp + 0x20], 1
mov ecx, 1
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1402d3840
test rax, rax
je 0x1402d1641
mov rcx, r13
call qword [case.0x14011905d.0]
mov rax, qword [rbp + 0xc68]
or r15, r12
test rax, rax
je 0x1402d1659
lea rax, [0x1404a3a70]
jmp 0x1402d1677
lea rax, [0x1404a3a60]
inc qword [0x1404a3a78]
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 [0x1404a3b30], 0
je 0x1402d169c
mov rax, qword [0x1404a3b30]
cmp rax, rdx
jae 0x1402d16a3
mov qword [0x1404a3b30], rdx
cmp qword [rbp + 0xc68], 0
je 0x1402d16cb
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 0x1402d173d
lea eax, [rdi - 2]
test al, dil
sete cl
xor r14b, 1
xorps xmm0, xmm0
or r14b, cl
jne 0x1402d16fe
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 0x1402d173d
test al, dil
je 0x1402d1721
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 0x1402d173d
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.1402d35c0
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 0x1402d1648