Function at 0x14002ef20
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
xor esi, esi
xor dl, dl
xor r13b, r13b
mov r12, rcx
mov word [rbp - 0x29], 0x15ff
mov dword [rbp - 0x27], 2
mov byte [rbp + 0x6f], r13b
mov word [rbp - 0x23], 0x8eb
mov qword [rbp - 0x21], rsi
mov word [rbp - 0x49], 0x25ff
mov dword [rbp - 0x47], esi
mov qword [rbp - 0x43], rsi
mov qword [rbp - 0x39], 0x25ff0e70
mov qword [rbp - 0x31], rsi
mov byte [rbp + 0x67], dl
mov r14d, esi
mov r15d, esi
mov qword [rcx + 0x20], rsi
nop word [rax + rax]
mov rax, qword [r12 + 0x10]
movzx ebx, dl
movzx edi, r13b
add rbx, qword [r12]
lea rdx, [rbp - 9]
mov qword [rbp + 0x77], rdi
mov rcx, rbx
lea r13, [rdi + rax]
call fcn.1400eb854
mov r8d, dword [rbp + 0x18]
mov r11d, eax
bt r8d, 0xc
jb 0x14002f2cc
movzx edx, byte [rbp + 0x67]
movzx r10d, byte [rbp - 9]
mov r9, rbx
cmp dl, 5
jb 0x14002efee
mov r11d, send
mov qword [rbp - 0x43], rbx
lea r9, [rbp - 0x49]
lea r15d, [r11 - 0xd]
jmp 0x14002f18d
movzx eax, byte [rbp + 4]
and al, 0xc7
cmp al, 5
jne 0x14002f04c
lea rdi, [rbp - 0x19]
mov rcx, r11
mov rsi, rbx
rep movsb byte [rdi], byte [rsi]
mov rdi, qword [rbp + 0x77]
mov ecx, r8d
shr rcx, 2
mov edx, ebx
movzx eax, r10b
sub edx, r13d
and ecx, 0xf
lea r9, [rbp - 0x19]
add edx, dword [rbp + 0x14]
sub rax, rcx
cmp byte [rbp + 2], 0xff
mov dword [rbp + rax - 0x1d], edx
jne 0x14002f189
cmp byte [rbp + 6], 4
movzx edx, byte [rbp + 0x67]
jne 0x14002f18d
mov r15d, 1
jmp 0x14002f18d
movzx edx, byte [rbp + 2]
cmp dl, 0xe8
jne 0x14002f070
movsxd rax, dword [rbp + 0xc]
movzx ecx, r10b
lea r9, [rbp - 0x29]
add rax, rbx
add rcx, rax
mov qword [rbp - 0x21], rcx
jmp 0x14002f183
movzx eax, dl
and al, 0xfd
cmp al, 0xe9
jne 0x14002f0d5
movsx rax, byte [rbp + 0xc]
movzx ecx, r10b
add rcx, rbx
cmp dl, 0xeb
je 0x14002f08e
movsxd rax, dword [rbp + 0xc]
add rcx, rax
mov rax, qword [r12]
cmp rax, rcx
ja 0x14002f0b8
add rax, 5
cmp rcx, rax
jae 0x14002f0b8
movzx edx, byte [rbp + 0x67]
cmp r14, rcx
jae 0x14002f18d
mov r14, rcx
jmp 0x14002f18d
cmp rbx, r14
mov r15d, esi
mov qword [rbp - 0x43], rcx
lea r9, [rbp - 0x49]
mov r11d, send
setae r15b
jmp 0x14002f189
movzx esi, byte [rbp + 3]
movzx ecx, dl
and cl, 0xf0
cmp cl, 0x70
je 0x14002f10f
movzx eax, dl
and al, 0xfc
cmp al, 0xe0
je 0x14002f10f
movzx eax, sil
and al, 0xf0
cmp al, 0x80
je 0x14002f10f
and dl, 0xfe
cmp dl, 0xc2
jne 0x14002f189
xor r15d, r15d
cmp rbx, r14
setae r15b
jmp 0x14002f189
movzx edi, r10b
add rdi, rbx
cmp cl, 0x70
je 0x14002f128
movzx eax, dl
and al, 0xfc
cmp al, 0xe0
movsxd rax, dword [rbp + 0xc]
jne 0x14002f12d
movsx rax, byte [rbp + 0xc]
add rdi, rax
mov rax, qword [r12]
cmp rax, rdi
ja 0x14002f154
add rax, 5
cmp rdi, rax
jae 0x14002f154
movzx edx, byte [rbp + 0x67]
cmp r14, rdi
jae 0x14002f14e
mov r14, rdi
mov rdi, qword [rbp + 0x77]
jmp 0x14002f18d
movzx eax, dl
and al, 0xfc
cmp al, 0xe0
je 0x14002f2cc
cmp dl, 0xf
movzx ecx, sil
movzx eax, dl
cmovne ecx, eax
mov qword [rbp - 0x31], rdi
mov rdi, qword [rbp + 0x77]
and cl, 0xf
lea r9, [rbp - 0x39]
xor cl, 0x71
mov byte [rbp - 0x39], cl
mov r11d, reloc.WSOCK32.dll_recv
movzx edx, byte [rbp + 0x67]
cmp rbx, r14
jae 0x14002f19f
movzx eax, r10b
cmp r11d, eax
jne 0x14002f2cc
movzx r13d, byte [rbp + 0x6f]
lea eax, [r11 + r13]
cmp eax, 0x32
ja 0x14002f2cc
mov eax, dword [r12 + 0x24]
cmp eax, 8
jae 0x14002f2cc
mov byte [rax + r12 + 0x28], dl
mov eax, dword [r12 + 0x24]
add dl, r10b
mov byte [rax + r12 + 0x30], r13b
add rdi, qword [r12 + 0x10]
inc dword [r12 + 0x24]
add r13b, r11b
mov ecx, r11d
mov rsi, r9
rep movsb byte [rdi], byte [rsi]
mov byte [rbp + 0x6f], r13b
mov byte [rbp + 0x67], dl
test r15d, r15d
jne 0x14002f1f9
xor esi, esi
jmp 0x14002ef90
cmp dl, 5
jae 0x14002f299
mov rdi, qword [r12]
movzx r9d, dl
movzx esi, dl
add r9, rdi
mov edx, 5
mov rcx, r9
sub edx, esi
call fcn.14002eee0
test eax, eax
jne 0x14002f299
cmp byte [rbp + 0x67], 2
jae 0x14002f240
mov edx, 2
mov rcx, r9
sub edx, esi
call fcn.14002eee0
test eax, eax
je 0x14002f2cc
lea rcx, [rdi - 5]
lea rdx, [rbp - 9]
mov r8d, gethostbyaddr
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
cmp dword [rbp + 0x17], 0x1000
jne 0x14002f2cc
test byte [rbp + 0x1b], 0xf0
je 0x14002f2cc
mov rax, qword [r12]
movzx edx, byte [rax - 5]
test dl, dl
je 0x14002f279
cmp dl, 0x90
je 0x14002f279
cmp dl, 0xcc
jne 0x14002f2cc
mov ecx, 1
add rax, 0xfffffffffffffffc
cmp byte [rax], dl
jne 0x14002f2cc
inc ecx
inc rax
cmp ecx, 5
jb 0x14002f282
mov dword [r12 + 0x20], 1
mov rcx, qword [r12 + 8]
movzx edx, r13b
mov eax, 1
add rdx, qword [r12 + 0x10]
mov qword [rbp - 0x43], rcx
mov rcx, qword [rbp - 0x49]
mov qword [rdx], rcx
mov ecx, dword [rbp - 0x41]
mov qword [r12 + 0x18], rdx
mov dword [rdx + 8], ecx
movzx ecx, word [rbp - 0x3d]
mov word [rdx + 0xc], cx
jmp 0x14002f2ce
xor eax, eax
mov rbx, qword [rsp + 0xe8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret