Function at 0x1801e8f30
Capabilities:
Execute anti-debugging instructions

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r15, qword [rcx + 0x40]
xor esi, esi
mov r13, rdx
mov rbx, rcx
mov edi, esi
test r15, r15
je 0x1801e8f61
cmp r15, qword [rcx + 0xa0]
je 0x1801e8f61
xor cl, cl
jmp 0x1801e8f63
mov cl, 1
mov rax, qword [rbx + 0x80]
mov qword [rsp + 0x98], rax
mov rax, qword [rbx + 0x48]
mov byte [rsp + 0x80], cl
test rax, rax
je 0x1801e8f86
mov byte [rax + 0x10], 1
test cl, cl
je 0x1801e8fcc
mov rax, qword [rbx + 0x30]
mov r8, qword [rax + 0x120]
test r8, r8
je 0x1801e8fcc
mov rcx, qword [rbx + 0x30]
mov rax, r8
lock cmpxchg qword [rcx + 0x120], rsi
jne 0x1801e8fcc
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x88]
cmp r8, rcx
jle 0x1801e8fcc
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x88]
call fcn.1801ebac0
mov rax, qword [rbx + 0x30]
mov r14d, dword [rax + 0x90]
dec r14d
mov r12d, esi
cmp qword [r13], 1
mov ebp, 0xffffffff
je 0x1801e942b
nop dword [rax]
test r15, r15
jne 0x1801e902c
mov rax, qword [rbx + 0x30]
mov ecx, dword [rax + 0x84]
mov rdx, qword [rbx + 0x30]
shr ecx, 0xc
cmp dword [rdx + 0x80], ecx
jb 0x1801e945d
mov rax, qword [rdx + 0x128]
cmp dword [rax + 0x2c], r15d
je 0x1801e902c
cmp dword [rdx + 0x148], r15d
je 0x1801e945d
mov rax, qword [rbx + 0x30]
mov rsi, qword [rax + 0x88]
test r14, r14
je 0x1801e905c
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax]
test rcx, rcx
je 0x1801e905c
mov rcx, rbx
call fcn.1801e8080
mov rdi, rax
test rax, rax
jne 0x1801e9193
cmp byte [rsp + 0x80], 0
je 0x1801e909a
mov rax, qword [rbx + 0x30]
movsxd rcx, esi
cmp qword [rax + rcx*8 + 0x98], 0
je 0x1801e909a
mov r8, qword [rbx + 0x28]
lea rcx, [rax + 0x98]
sub r8, 0xffffffffffffff80
mov edx, esi
call fcn.1801ea290
mov rdi, rax
test rax, rax
jne 0x1801e9477
cmp qword [rbx + 0x158], 0
je 0x1801e90b8
mov rcx, rbx
call fcn.1801e7b80
mov rdi, rax
test rax, rax
jne 0x1801e9193
lea rax, [rsp + 0x20]
cmp qword [rsp + 0x98], rax
jae 0x1801e9203
test r14, r14
je 0x1801e9203
mov edx, dword [rbx + 0x90]
mov ecx, dword [rbx + 0x94]
imul eax, edx, 0x61c8864f
sub ecx, eax
mov eax, edx
shr rax, 0x10
xor edx, edx
div r14
mov dword [rbx + 0x90], ecx
mov eax, 0x280
cmp rdx, qword [rbx + 0x20]
mov ecx, 0x180
cmovb eax, ecx
shl rdx, 8
add rax, rdx
add rax, qword [rbx + 0x30]
cmp qword [rax + 8], 0
je 0x1801e9203
mov rdx, rax
mov rcx, rbx
call fcn.1801e7ea0
mov rdi, rax
test rax, rax
je 0x1801e9203
cmp byte [rax - 0xb], 0x20
jne 0x1801e9170
mov rdi, qword [rax + 8]
lea rcx, [rax + 8]
mov rdx, rax
cmp rdi, 1
je 0x1801e91f9
mov rax, rdi
mov r8d, 2
lock cmpxchg qword [rcx], r8
jne 0x1801e91f9
and rdi, 0xfffffffffffffffc
je 0x1801e91fb
or byte [rdi - 0xb], 0x80
movzx eax, byte [rdi - 0xb]
and al, 0xf
cmp al, 1
jb 0x1801e9193
mov qword [rbx + 0x38], rdi
mov rcx, rdi
mov rax, qword [rdi]
mov qword [rdi - 0x28], rbx
movzx edx, word [rbx + 0x50]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rbx + 0x30]
lea rdx, [rbx + 0x60]
add rcx, 0xe0
mov rax, qword [rcx + 8]
cmp qword [rdx], rax
je 0x1801e91b5
movzx r8d, byte [rbx + 0x78]
call fcn.180252cb0
mov rax, qword [0x18067cd68]
lea rdx, [rbx + 0x58]
cmp qword [rdx], rax
je 0x1801e91d6
movzx r8d, byte [rbx + 0x78]
lea rcx, [0x18067cd60]
call fcn.180252cb0
cmp ebp, 0xffffffff
je 0x1801e943c
mov rax, qword [case.0x1801e63e9.2]
test rax, rax
je 0x1801e943c
mov rcx, rbx
call rax
jmp 0x1801e943c
xor edi, edi
mov rcx, rbx
call fcn.1801ea110
cmp ebp, 0xffffffff
jne 0x1801e921f
mov rax, qword [0x1806702e0]
test rax, rax
je 0x1801e9219
mov rcx, rbx
call rax
xor esi, esi
mov ebp, esi
jmp 0x1801e9221
xor esi, esi
rdtsc
shl rdx, 0x20
mov ecx, 1
or rax, rdx
mov r8, rax
lea r9, [rax + 0x3e8]
nop dword [rax]
movsxd rdx, ecx
test ecx, ecx
je 0x1801e924f
pause
sub rdx, 1
jne 0x1801e9247
cmp ecx, 0x10
lea eax, [rcx + rcx]
cmovge eax, ecx
mov ecx, eax
rdtsc
shl rdx, 0x20
or rax, rdx
cmp rax, r8
jbe 0x1801e9270
mov r8, rax
cmp rax, r9
jb 0x1801e9240
lea eax, [r14*2 + 2]
cmp ebp, eax
jl 0x1801e93f7
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
mov rcx, qword [rbx + 0x30]
cmp qword [rcx + 0x110], 0
je 0x1801e9370
mov eax, 1
lock xadd qword [rcx + 0x118], rax
mov rcx, qword [rbx + 0x30]
mov rax, rsi
xchg qword [rcx + 0x110], rax
mov qword [rsp + 0x88], rax
test rax, rax
je 0x1801e9370
dec qword [rbx + 0x168]
cmp qword [rbx + 0x40], 0
mov qword [rsp + 0x90], rsi
jne 0x1801e9308
mov rax, qword [rbx + 0x30]
mov ecx, dword [rax + 0x84]
mov rax, qword [rbx + 0x30]
shr ecx, 0xc
cmp dword [rax + 0x80], ecx
jae 0x1801e92ff
cmp dword [rax + 0x148], 2
jne 0x1801e9308
mov r9, qword [rax + 0x88]
jmp 0x1801e930f
mov rax, qword [rbx + 0x68]
mov r9, qword [rax]
lea r8, [rsp + 0x90]
mov rcx, rbx
lea rdx, [rsp + 0x88]
call fcn.1801e78e0
cmp qword [rsp + 0x88], 0
mov rdi, rax
je 0x1801e9367
mov rcx, qword [rsp + 0x90]
mov rax, qword [rbx + 0x158]
mov qword [rcx], rax
cmp qword [rbx + 0x158], 0
jne 0x1801e9358
mov qword [rbx + 0x160], rcx
mov rax, qword [rsp + 0x88]
mov qword [rbx + 0x158], rax
test rdi, rdi
jne 0x1801e9499
mov eax, r12d
inc r12d
cmp eax, 0x64
jl 0x1801e93e9
test r15, r15
je 0x1801e9398
mov rax, qword [rbx + 0x30]
mov rcx, qword [rax + 0x88]
mov rax, qword [rbx + 0x30]
cmp rcx, qword [rax + 0x100]
jle 0x1801e93ae
mov rcx, qword [rbx + 0x30]
call fcn.1801f7220
test al, al
je 0x1801e93ae
test r15, r15
je 0x1801e9462
cmp qword [rbx + 0x158], 0
je 0x1801e93e9
dec qword [rbx + 0x168]
test r15, r15
je 0x1801e93e9
mov rax, qword [rbx + 0x30]
mov rdx, qword [rax + 0x88]
mov rax, qword [rbx + 0x68]
mov rcx, qword [rax]
cmp rcx, rdx
jle 0x1801e93e9
mov rax, qword [rbx + 0x30]
add rax, 0x88
mov qword [rbx + 0x68], rax
mov rax, qword [rbx + 0x30]
mov r14d, dword [rax + 0x90]
dec r14d
inc ebp
cmp qword [r13], 1
jne 0x1801e8ff0
cmp ebp, 0xffffffff
je 0x1801e942b
mov rax, qword [0x1806702e0]
test rax, rax
je 0x1801e941a
mov rcx, r13
call rax
mov rax, qword [case.0x1801e63e9.2]
test rax, rax
je 0x1801e943c
mov rcx, rbx
call rax
mov rax, qword [case.0x1801e63e9.2]
test rax, rax
je 0x1801e943c
mov rcx, r13
call rax
mov rax, qword [rbx + 0x48]
test rax, rax
je 0x1801e9449
mov byte [rax + 0x10], 0
mov rax, rdi
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp ebp, 0xffffffff
je 0x1801e9473
mov rax, qword [0x1806702e8]
test rax, rax
je 0x1801e9473
mov rcx, rbx
call rax
xor eax, eax
jmp 0x1801e944c
mov rax, qword [case.0x1801e63e9.2]
test rax, rax
je 0x1801e9193
mov rcx, qword [rbx + 0x30]
add rcx, 0x98
call rax
jmp 0x1801e9193
mov rax, qword [0x1806702e8]
test rax, rax
je 0x1801e943c
mov rcx, rbx
call rax
jmp 0x1801e943c