Function at 0x14029f880
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 0x14029f8e8
mov rsi, rdx
mov r13, rcx
call fcn.1402a0400
rdtsc
mov r15, rax
mov r12, rdx
shl r12, 0x20
test rsi, rsi
je 0x14029f93a
mov rax, qword [rsi]
cmp rax, 7
jb 0x14029f92a
inc qword [0x14045d590]
jmp 0x14029f966
cmp qword [0x14045d5fc], 0x33c0
jne 0x1402a0395
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.1402a22d0
add rax, 0x33c0
mov qword [0x14045d5fc], rax
jmp 0x1402a0395
cmp rax, qword [0x14045d588]
jbe 0x14029f93a
mov qword [0x14045d588], rax
test r13, r13
je 0x14029f966
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 0x14029f970
cmp eax, 0x2e
je 0x14029f970
inc ebx
jmp 0x14029f950
xor edi, edi
xor r14d, r14d
jmp 0x1402a0291
xor edi, edi
cmp byte [r13 + rsi], 0x2e
mov r14d, 0
jne 0x1402a0291
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.1403364d0
lea rdi, [rbp + 0x7d0]
mov rcx, rdi
mov qword [rbp + 0xc30], r14
mov rdx, r14
mov r8, rsi
call fcn.140335e20
xor ecx, ecx
xor edx, edx
mov r8, rdi
mov r9d, 0x14416bce
call fcn.1402a1fc0
mov qword [rbp + 0xc58], rax
test rax, rax
jne 0x14029fae3
xor r13d, r13d
lea rcx, [rbp + 0x7d0]
xor edx, edx
call fcn.14029f050
xor ecx, ecx
test rax, rax
sete cl
lea rdi, [0x14045d4e0]
inc qword [rdi + rcx*8 + 0x58]
mov qword [rbp + 0xc58], rax
test rax, rax
jne 0x14029fae3
xor r13d, r13d
mov r14d, 1
mov ecx, 1
xor edx, edx
xor r8d, r8d
mov r9d, 0x14416bce
call fcn.1402a1fc0
test rax, rax
je 0x14029fae3
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 0x14029fa70
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.0x1401085ed.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.1403364d0
lea eax, [rbx - 1]
mov rcx, qword [0x14045d630]
movsxd r8, dword [rcx]
add r8, rcx
nop word cs:[rax + rax]
mov r9d, dword [0x14037a830]
mov ecx, dword [0x14047a98c]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x14029fb30
mov ecx, dword [0x14037a830]
jmp 0x14029fb10
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 0x14029fb70
mov ecx, ebx
add rcx, qword [rbp + 0xc30]
mov edx, 0xea944db6
call fcn.14021e030
mov esi, eax
mov cl, 1
mov eax, ebx
mov qword [rbp + 0xbf8], rcx
mov rcx, qword [rbp + 0xc20]
test rcx, rcx
je 0x14029fb95
cmp qword [rcx], 7
jb 0x14029fb95
inc qword [0x14045d590]
jmp 0x1402a0242
mov rdi, qword [rbp + 0xc58]
test rdi, rdi
je 0x1402a0242
movsxd rdx, dword [rdi + 0x3c]
mov ecx, dword [rdi + rdx + 0x88]
test rcx, rcx
je 0x1402a0242
mov r8d, dword [rdi + rdx + 0x8c]
test r8, r8
je 0x1402a0242
cmp dword [rdi + rdx + 0x8c], 0x28
jb 0x1402a0242
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 0x14029fc9c
mov r8d, dword [r9 + 0x10]
inc qword [0x14045d510]
test edx, edx
je 0x1402a0242
mov r14b, 1
mov eax, esi
sub eax, r8d
jb 0x1402a0245
cmp eax, edx
jae 0x1402a0245
mov edx, eax
mov eax, dword [0x14047766c]
mov r8, qword [rbp + 0xc08]
add eax, dword [r8 + rdx*4]
je 0x1402a0242
mov ebx, eax
add rbx, rdi
cmp eax, ecx
jb 0x1402a0120
cmp rbx, qword [rbp + 0xc10]
ja 0x1402a0120
mov rcx, rbx
mov rdx, qword [rbp + 0xc30]
call fcn.14029ef00
test al, al
je 0x1402a012c
mov rcx, rbx
mov rdx, rdi
call fcn.14029f050
test rax, rax
je 0x1402a0173
mov qword [rbp + 0xc58], rax
lea rax, [0x14045d538]
jmp 0x1402a017a
mov r8d, dword [r9 + 0x20]
mov ecx, dword [r9 + 0x24]
mov r10d, dword [r9 + 0x18]
inc qword [0x14045d518]
xor r14d, r14d
test edx, edx
je 0x1402a0245
add r8, rdi
add rcx, rdi
test r10d, r10d
je 0x1402a0245
mov qword [rbp + 0xbd8], rcx
mov qword [rbp + 0xbe0], r9
je 0x1402a0245
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 0x14029fd57
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 0x1402a0245
mov qword [rbp + 0xc00], rax
mov eax, eax
mov edx, dword [r8 + rax*4]
test rdx, rdx
je 0x14029fd1f
mov rsi, qword [rbp + 0xc58]
mov rbx, qword [rbp + 0xbd0]
mov r14d, dword [rbp + 0xc1c]
mov r8d, dword [0x14045d5c0]
lea ecx, [r8 + 1]
mov dword [0x14045d5c0], ecx
mov r9d, r8d
not r9d
xor r8d, ecx
not ecx
and ecx, r9d
or ecx, r8d
xor ecx, 0xffffffff
je 0x14029fdb0
xor r8d, r8d
jmp 0x14029fe31
mov r8d, dword [0x14047a98c]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x14029fdb0
xor r9d, r9d
mov r8d, 0
test r14d, r14d
jle 0x14029fe31
xor r8d, r8d
nop word cs:[rax + rax]
movsxd r10, r9d
mov r11d, dword [0x14047a990]
nop word [rax + rax]
mov r11d, dword [0x14047a990]
cmp r11d, 0x46
jg 0x14029fdf0
add r10, rbx
movzx r10d, word [r10]
mov r11d, dword [0x14047a990]
nop dword [rax + rax]
mov r11d, dword [0x14047a98c]
lea edi, [r11 - 1]
imul edi, r11d
test dil, 1
jne 0x14029fe10
xor r8d, r10d
add r9d, 2
cmp r9d, r14d
jl 0x14029fde0
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 0x14029fe64
inc r9
cmp r10b, r11b
je 0x14029fe40
cmp r10b, r11b
jne 0x14029fd1f
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 0x14029fd1f
add rdi, rsi
movzx eax, word [0x14037a2c0]
cmp ecx, 1
mov ecx, 0
sbb ecx, ecx
sub eax, r8d
mov rdx, qword [rbp + 0xc30]
nop dword [rax]
mov r9d, dword [0x14047a98c]
lea r8d, [r9 - 1]
imul r8d, r9d
test r8b, 1
je 0x14029fed2
mov r8d, dword [0x14047a990]
cmp r8d, 0x60
jge 0x14029feb0
mov r8d, eax
not r8d
movsx ecx, cx
xor eax, ecx
not ecx
and ecx, r8d
or ecx, eax
not ecx
add word [0x14047a998], cx
cmp rdi, qword [rbp + 0xbe0]
mov rax, qword [rbp + 0xc10]
jb 0x14029ff99
cmp rdi, rax
ja 0x14029ff99
mov rcx, rdi
call fcn.14029ef00
test al, al
je 0x14029ff78
mov rcx, rdi
mov rdx, rsi
call fcn.14029f050
test rax, rax
je 0x14029ffe6
mov qword [rbp + 0xc58], rax
mov rcx, qword [0x14045d538]
mov rdx, rcx
xor rdx, 1
and ecx, 1
lea rcx, [rdx + rcx*2]
mov qword [0x14045d538], rcx
mov rcx, rax
mov rdx, qword [rbp + 0xc28]
call fcn.1402a0680
mov qword [rbp + 0xc68], rax
inc qword [0x14045d4e8]
test rax, rax
je 0x14029ffff
jmp 0x1402a0156
inc qword [0x14045d4e0]
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x14029ff8e
inc qword [rdx]
mov rcx, rdi
call fcn.14029f880
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 0x1402a0245
mov rax, qword [rbp + 0xc00]
inc eax
cmp eax, r10d
jb 0x14029fd57
jmp 0x1402a0245
inc qword [0x14045d540]
mov qword [rbp + 0xc68], 0
inc qword [0x14045d4e8]
call fcn.1402ac0a0
test rax, rax
je 0x14029fd14
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 0x1402a0026
add cx, word [0x14047a998]
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.0x1401085ed.0]
cmp eax, 0xc0000142
je 0x1402a0080
cmp eax, 0xc0000138
jne 0x1402a00cc
mov qword [rbp + 0xc68], 0
inc qword [0x14045d548]
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 [0x14045d580]
lea rax, [0x14045d550]
lea rcx, [0x14045d560]
jmp 0x1402a010e
inc qword [0x14045d548]
cmp qword [rbp + 0xc68], 0
lea rax, [0x14045d568]
lea rcx, [0x14045d578]
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 0x1402a00b5
inc qword [rax]
inc qword [rcx]
mov rdi, qword [rbp + 0xc68]
jmp 0x14029ffc3
mov qword [rbp + 0xc68], rbx
jmp 0x1402a0242
inc qword [0x14045d4e0]
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x1402a0142
inc qword [rdx]
mov rcx, rbx
call fcn.14029f880
mov qword [rbp + 0xc68], rax
jmp 0x1402a0242
xor r14d, r14d
mov r15, qword [rbp + 0xc40]
mov r12, qword [rbp + 0xc48]
mov r13, qword [rbp + 0xc50]
jmp 0x1402a0245
lea rax, [0x14045d540]
inc qword [rax]
mov qword [rbp + 0xc68], 0
inc qword [0x14045d4e8]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xb9607c76
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.1402a2490
test rax, rax
je 0x1402a01ea
inc qword [0x14045d548]
mov rcx, qword [rbp + 0xc58]
lea r9, [rbp + 0xc68]
xor edx, edx
mov r8d, esi
call qword [case.0x1401085ed.0]
cmp eax, 0xc0000138
jne 0x1402a01f7
mov qword [rbp + 0xc68], 0
jmp 0x1402a022d
mov qword [rbp + 0xc68], 0
jmp 0x1402a0242
cmp qword [rbp + 0xc68], 0
je 0x1402a022d
inc qword [0x14045d580]
inc qword [0x14045d568]
mov rax, qword [0x14045d570]
mov rcx, rax
xor rcx, 1
and eax, 1
lea rax, [rcx + rax*2]
mov qword [0x14045d570], rax
jmp 0x1402a0242
inc qword [0x14045d580]
inc qword [0x14045d550]
inc qword [0x14045d558]
xor r14d, r14d
mov rax, qword [rbp + 0xc68]
test rax, rax
jne 0x1402a03b0
test r13, r13
mov rdi, qword [rbp + 0xbf8]
je 0x1402a0298
mov dword [rsp + 0x28], 0x8e6a4c0c
mov dword [rsp + 0x20], 1
mov ecx, 1
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1402a2490
test rax, rax
je 0x1402a0291
mov rcx, r13
call qword [case.0x1401085ed.0]
mov rax, qword [rbp + 0xc68]
or r15, r12
test rax, rax
je 0x1402a02a9
lea rax, [0x14045d4f0]
jmp 0x1402a02c7
lea rax, [0x14045d4e0]
inc qword [0x14045d4f8]
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 [0x14045d5b0], 0
je 0x1402a02ec
mov rax, qword [0x14045d5b0]
cmp rax, rdx
jae 0x1402a02f3
mov qword [0x14045d5b0], rdx
cmp qword [rbp + 0xc68], 0
je 0x1402a031b
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 0x1402a038d
lea eax, [rdi - 2]
test al, dil
sete cl
xor r14b, 1
xorps xmm0, xmm0
or r14b, cl
jne 0x1402a034e
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 0x1402a038d
test al, dil
je 0x1402a0371
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 0x1402a038d
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.1402a2210
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 0x1402a0298