Function at 0x1404d2210
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, 0xd58
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xcd0], 0xfffffffffffffffe
nop
mov eax, dword [0x14077407c]
mov qword [rbp + 0xcc8], 0
mov qword [rbp + 0xcb0], rcx
cmp rcx, 0x1fefa
je 0x1404d229c
mov rsi, rdx
call fcn.1404d2bf0
rdtsc
mov r15, rax
mov r12, rdx
shl r12, 0x20
mov qword [rbp + 0xc88], rsi
test rsi, rsi
je 0x1404d230a
nop
mov rax, qword [rbp + 0xc88]
mov rax, qword [rax]
cmp rax, 7
jb 0x1404d22f8
inc qword [0x140772f30]
xor r13d, r13d
jmp 0x1404d251a
cmp qword [0x140772f8c], 0x33c0
jne 0x1404d2702
mov ecx, 0x8a02d9ee
xor rcx, rax
mov qword [rsp + 0x38], rcx
lea rax, [rbp + 0xc30]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xc20]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x40], 0xa0a9440b
lea r8, [rbp + 0xc10]
call fcn.1404dc260
add rax, 0x33c0
mov qword [0x140772f8c], rax
jmp 0x1404d2702
nop
cmp rax, qword [0x140772f28]
jbe 0x1404d230a
nop
mov qword [0x140772f28], rax
xor r14d, r14d
cmp qword [rbp + 0xcb0], 0
je 0x1404d2340
nop word [rax + rax]
mov edi, r14d
mov rax, qword [rbp + 0xcb0]
movzx eax, byte [rax + rdi]
test eax, eax
je 0x1404d2517
cmp eax, 0x2e
je 0x1404d2348
inc r14d
jmp 0x1404d2320
xor r13d, r13d
jmp 0x1404d251d
mov qword [rbp + 0xcb8], 0
mov r8d, 0x400
sub r8, rdi
xor esi, esi
cmp r14d, 0x400
cmovae r8, rsi
lea rcx, [rdi + rbp]
add rcx, 0x7e0
xor edx, edx
call fcn.1405c44a0
lea rbx, [rbp + 0x7e0]
mov rcx, rbx
mov rdx, qword [rbp + 0xcb0]
mov r8, rdi
call fcn.1405c4870
mov rcx, rbx
call fcn.140163870
mov qword [rbp + 0xcb8], rax
test rax, rax
mov eax, 0
mov qword [rbp + 0xc90], rax
jne 0x1404d24aa
xor eax, eax
mov qword [rbp + 0xc90], rax
lea rcx, [rbp + 0x7e0]
xor edx, edx
call fcn.1404d5470
xor ecx, ecx
test rax, rax
sete cl
lea rbx, [0x140772e80]
inc qword [rbx + rcx*8 + 0x58]
test rax, rax
mov qword [rbp + 0xcb8], rax
jne 0x1404d24aa
call fcn.1404d4800
xor ecx, ecx
mov qword [rbp + 0xc90], rcx
test rax, rax
je 0x1404d24aa
mov qword [rbp + 0xc50], 0
lea rcx, [rbp - 0x20]
mov qword [rbp + 0xc58], rcx
mov ecx, 1
xor edx, edx
xor r11d, r11d
nop word [rax + rax]
mov r8d, r11d
mov r9d, r11d
movsx r10d, byte [rbp + r9 + 0x7e0]
xor r11d, r11d
test r10w, r10w
setne r11b
mov word [rbp + r9*2 - 0x20], r10w
movzx edx, dl
cmove edx, ecx
add r11d, r8d
test dl, 1
je 0x1404d2430
lea ecx, [r11 + r11]
mov word [rbp + 0xc50], cx
lea ecx, [r11*2 + 2]
mov word [rbp + 0xc52], cx
lea r8, [rbp + 0xc50]
lea r9, [rbp + 0xcb8]
xor ecx, ecx
xor edx, edx
call rax
mov rdx, qword [rbp + 0xcb8]
xor eax, eax
mov rcx, rdx
mov qword [rbp + 0xc90], rdx
test rdx, rdx
sete al
inc qword [rbx + rax*8 + 0x20]
lea rcx, [rbp + 0x7e0]
xor edx, edx
mov r8, rdi
call fcn.1405c44a0
lea eax, [r14 + 1]
mov rcx, qword [rbp + 0xcb0]
movzx ebx, byte [rcx + rax]
cmp bl, 0x23
sete r13b
jne 0x1404d24ec
add r14d, 2
mov rax, qword [rbp + 0xcb0]
lea rcx, [rax + r14]
call fcn.1402f9590
mov esi, eax
mov eax, r14d
nop
mov rcx, qword [rbp + 0xc88]
test rcx, rcx
je 0x1404d25ca
nop
cmp qword [rcx], 7
jb 0x1404d25ca
inc qword [0x140772f30]
xor r14d, r14d
jmp 0x1404d26bd
xor r13d, r13d
xor r14d, r14d
nop
mov rax, qword [rbp + 0xcc8]
or r15, r12
test rax, rax
je 0x1404d2536
lea rax, [0x140772e90]
jmp 0x1404d2555
lea rax, [0x140772e80]
inc qword [0x140772e98]
mov ecx, r13d
xor cl, 1
movzx ecx, cl
lea rax, [rax + rcx*8]
add rax, 0x40
nop
inc qword [rax]
rdtsc
shl rdx, 0x20
or rdx, rax
sub rdx, r15
cmp qword [0x140772f50], 0
je 0x1404d257c
nop
mov rax, qword [0x140772f50]
cmp rax, rdx
jae 0x1404d2584
nop
mov qword [0x140772f50], rdx
cmp qword [rbp + 0xcc8], 0
je 0x1404d259a
xor ecx, ecx
call fcn.1404a3e30
jmp 0x1404d2702
and r14b, r13b
cmp r14b, 1
jne 0x1404d25b2
mov ecx, 0x4750412d
call fcn.1404a3e30
jmp 0x1404d2702
test r13b, r13b
je 0x1404d26f8
mov ecx, 0xc0000138
call fcn.1404a3e30
jmp 0x1404d2702
mov rdi, qword [rbp + 0xcb8]
test rdi, rdi
je 0x1404d26ba
movsxd rdx, dword [rdi + 0x3c]
mov ecx, dword [rdi + rdx + 0x88]
test rcx, rcx
je 0x1404d26ba
nop
mov edx, dword [rdi + rdx + 0x8c]
test rdx, rdx
je 0x1404d26ba
cmp edx, 0x28
jb 0x1404d26ba
lea r8, [rdi + rcx]
add rdx, r8
mov qword [rbp + 0xc78], rdx
mov edx, dword [r8 + 0x1c]
add rdx, rdi
mov qword [rbp + 0xc68], rdx
cmp bl, 0x23
mov edx, dword [r8 + 0x14]
jne 0x1404d271e
nop
mov r8d, dword [r8 + 0x10]
inc qword [0x140772eb0]
test edx, edx
je 0x1404d26ba
mov r14b, 1
mov eax, esi
sub eax, r8d
jb 0x1404d26bd
cmp eax, edx
jae 0x1404d26bd
mov eax, eax
mov rdx, qword [rbp + 0xc68]
mov ebx, dword [rdx + rax*4]
test rbx, rbx
je 0x1404d26ba
mov eax, ebx
add rbx, rdi
cmp eax, ecx
jb 0x1404d2a72
nop
cmp rbx, qword [rbp + 0xc78]
ja 0x1404d2a72
mov rcx, rbx
mov rdx, qword [rbp + 0xcb0]
call fcn.1404d20b0
test al, al
je 0x1404d2a82
mov rcx, rbx
mov rdx, rdi
call fcn.1404d5470
test rax, rax
je 0x1404d2ace
nop
mov qword [rbp + 0xcb8], rax
lea rax, [0x140772ed8]
jmp 0x1404d2ad5
xor r14d, r14d
mov rax, qword [rbp + 0xcc8]
cmp qword [rbp + 0xc90], 0
je 0x1404d2525
test rax, rax
jne 0x1404d2525
call fcn.1404d4820
test rax, rax
je 0x1404d251d
nop
mov rcx, qword [rbp + 0xc90]
call rax
jmp 0x1404d251d
mov ecx, 0xc0000139
call fcn.1404a3e30
nop
mov rax, qword [rbp + 0xcc8]
add rsp, 0xd58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
nop
mov ecx, dword [r8 + 0x20]
mov qword [rbp + 0xc60], rcx
mov ecx, dword [r8 + 0x24]
mov qword [rbp + 0xc70], rcx
mov r9d, dword [r8 + 0x18]
inc qword [0x140772eb8]
xor r14d, r14d
test edx, edx
je 0x1404d26bd
nop
mov qword [rbp + 0xc48], r8
test r9d, r9d
je 0x1404d26bd
nop
add qword [rbp + 0xc60], rdi
add qword [rbp + 0xc70], rdi
mov eax, eax
add rax, qword [rbp + 0xcb0]
mov qword [rbp + 0xc80], rax
xor edx, edx
nop
mov qword [rbp + 0xca0], r15
mov qword [rbp + 0xca8], r12
mov dword [rbp + 0xcc4], r13d
mov dword [rbp + 0xcc0], r9d
jmp 0x1404d27db
nop
mov qword [rbp + 0xcc8], 0
nop
mov rdx, qword [rbp + 0xc98]
inc edx
xor r14d, r14d
mov r9d, dword [rbp + 0xcc0]
cmp edx, r9d
nop
mov r15, qword [rbp + 0xca0]
mov r12, qword [rbp + 0xca8]
mov r13d, dword [rbp + 0xcc4]
jae 0x1404d26bd
mov qword [rbp + 0xc98], rdx
mov eax, edx
mov rcx, qword [rbp + 0xc60]
mov ecx, dword [rcx + rax*4]
test rcx, rcx
je 0x1404d27a8
nop
mov rdi, qword [rbp + 0xcb8]
add rcx, rdi
xor edx, edx
mov r10, qword [rbp + 0xc80]
nop word [rax + rax]
movzx r8d, byte [rcx + rdx]
movzx r9d, byte [r10 + rdx]
test r8b, r8b
je 0x1404d2827
inc rdx
cmp r8b, r9b
je 0x1404d2810
cmp r8b, r9b
jne 0x1404d27a8
nop
mov rcx, qword [rbp + 0xc70]
movzx eax, word [rcx + rax*2]
mov rcx, qword [rbp + 0xc68]
mov esi, dword [rcx + rax*4]
test rsi, rsi
je 0x1404d27a8
add rsi, rdi
cmp rsi, qword [rbp + 0xc48]
nop
mov rax, qword [rbp + 0xc78]
jb 0x1404d28ca
cmp rsi, rax
ja 0x1404d28ca
mov rcx, rsi
mov rdx, qword [rbp + 0xcb0]
call fcn.1404d20b0
test al, al
je 0x1404d28d4
mov rcx, rsi
mov rdx, rdi
call fcn.1404d5470
test rax, rax
je 0x1404d293d
nop
mov qword [rbp + 0xcb8], rax
inc qword [0x140772ed8]
mov rcx, rax
mov rdx, qword [rbp + 0xc80]
call fcn.1404d3040
nop
mov qword [rbp + 0xcc8], rax
inc qword [0x140772e88]
test rax, rax
je 0x1404d2957
jmp 0x1404d2ab1
nop
mov qword [rbp + 0xcc8], rsi
jmp 0x1404d28fe
nop
inc qword [0x140772e80]
mov rdx, qword [rbp + 0xc88]
test rdx, rdx
je 0x1404d28ec
nop
inc qword [rdx]
mov rcx, rsi
call fcn.1404d2210
mov rsi, rax
mov qword [rbp + 0xcc8], rax
mov r15, qword [rbp + 0xca0]
mov r12, qword [rbp + 0xca8]
mov r13d, dword [rbp + 0xcc4]
mov r9d, dword [rbp + 0xcc0]
mov rdx, qword [rbp + 0xc98]
xor r14d, r14d
test rsi, rsi
jne 0x1404d26bd
inc edx
cmp edx, r9d
jb 0x1404d27db
jmp 0x1404d26bd
nop
inc qword [0x140772ee0]
mov qword [rbp + 0xcc8], 0
inc qword [0x140772e88]
call fcn.1404d4810
test rax, rax
je 0x1404d279c
nop
mov qword [rbp - 0x20], 0
xor ecx, ecx
xor edx, edx
mov r9, qword [rbp + 0xc80]
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 0x1404d297f
mov word [rbp - 0x20], cx
inc ecx
mov word [rbp - 0x1e], cx
mov qword [rbp - 0x18], r9
mov rcx, qword [rbp + 0xcb8]
lea rdx, [rbp - 0x20]
xor r8d, r8d
lea r9, [rbp + 0xcc8]
call rax
cmp eax, 0xc0000142
je 0x1404d29ce
cmp eax, 0xc0000138
jne 0x1404d2a1d
nop
mov qword [rbp + 0xcc8], 0
inc qword [0x140772ee8]
nop
mov r15, qword [rbp + 0xca0]
mov r12, qword [rbp + 0xca8]
mov r13d, dword [rbp + 0xcc4]
mov r9d, dword [rbp + 0xcc0]
mov rdx, qword [rbp + 0xc98]
nop
inc qword [0x140772f20]
lea rax, [0x140772ef0]
lea rcx, [0x140772f00]
jmp 0x1404d2a5f
inc qword [0x140772ee8]
cmp qword [rbp + 0xcc8], 0
lea rax, [0x140772f08]
lea rcx, [0x140772f18]
mov r15, qword [rbp + 0xca0]
mov r12, qword [rbp + 0xca8]
mov r13d, dword [rbp + 0xcc4]
mov r9d, dword [rbp + 0xcc0]
mov rdx, qword [rbp + 0xc98]
je 0x1404d2a05
nop
inc qword [rax]
inc qword [rcx]
mov rsi, qword [rbp + 0xcc8]
jmp 0x1404d2921
nop
mov qword [rbp + 0xcc8], rbx
xor r14d, r14d
jmp 0x1404d26bd
nop
inc qword [0x140772e80]
mov rdx, qword [rbp + 0xc88]
test rdx, rdx
je 0x1404d2a9a
nop
inc qword [rdx]
mov rcx, rbx
call fcn.1404d2210
mov qword [rbp + 0xcc8], rax
xor r14d, r14d
jmp 0x1404d26bd
xor r14d, r14d
mov r15, qword [rbp + 0xca0]
mov r12, qword [rbp + 0xca8]
mov r13d, dword [rbp + 0xcc4]
jmp 0x1404d26bd
lea rax, [0x140772ee0]
nop
inc qword [rax]
mov qword [rbp + 0xcc8], 0
inc qword [0x140772e88]
lea rax, [rbp + 0xc00]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0xbf0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x40], 0x74099069
lea r8, [rbp + 0xbe0]
call fcn.1404dc260
test rax, rax
je 0x1404d2b4e
nop
inc qword [0x140772ee8]
mov rcx, qword [rbp + 0xcb8]
lea r9, [rbp + 0xcc8]
xor edx, edx
mov r8d, esi
call rax
cmp eax, 0xc0000138
jne 0x1404d2b62
nop
mov qword [rbp + 0xcc8], 0
jmp 0x1404d2b8a
nop
mov qword [rbp + 0xcc8], 0
xor r14d, r14d
jmp 0x1404d26bd
cmp qword [rbp + 0xcc8], 0
je 0x1404d2b8a
nop
inc qword [0x140772f20]
inc qword [0x140772f08]
inc qword [0x140772f10]
xor r14d, r14d
jmp 0x1404d26bd
nop
inc qword [0x140772f20]
inc qword [0x140772ef0]
inc qword [0x140772ef8]
xor r14d, r14d
jmp 0x1404d26bd