Function at 0x180002890
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov qword [rbp - 0x49], 0xfffffffffffffffe
mov qword [rsp + 0xe8], rbx
mov rax, qword [0x1800eb008]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
xor r9d, r9d
mov r8d, 0x1f4
mov rdx, qword [rcx + 0x30]
mov rcx, qword [rcx]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x1800028f9
call fcn.180002050
test eax, eax
js 0x180002b87
cmp eax, 1
jne 0x180002904
jmp 0x180002b87
movsxd rcx, eax
mov rax, qword [rdi + 0x30]
mov byte [rcx + rax], 0
mov r8, rbx
lea rdx, str.USER
lea rcx, [rbp - 0x21]
call fcn.180003a50
nop
mov rdx, rax
lea rcx, [rbp - 1]
call fcn.180003ba0
nop
mov rax, qword [rbp - 9]
cmp rax, 0x10
jb 0x18000297b
inc rax
mov rcx, qword [rbp - 0x21]
cmp rax, 0x1000
jb 0x180002976
test cl, 0x1f
je 0x180002949
call fcn.18008d744
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180002958
call fcn.18008d744
int3
sub rcx, rax
cmp rcx, 8
jae 0x180002967
call fcn.18008d744
int3
cmp rcx, 0x27
jbe 0x180002973
call fcn.18008d744
int3
mov rcx, rax
call fcn.180072908
mov qword [rbp - 9], send
mov qword [rbp - 0x11], 0
mov byte [rbp - 0x21], 0
lea rdx, [rbp - 1]
cmp qword [rbp + 0x17], 0x10
cmovae rdx, qword [rbp - 1]
xor r9d, r9d
mov r8d, dword [rbp + 0xf]
mov rcx, qword [rdi]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1800029be
call fcn.180002050
mov ebx, eax
jmp 0x180002b2f
mov rcx, rdi
call fcn.1800036d0
mov ebx, eax
test eax, eax
js 0x180002b2f
cmp eax, 1
je 0x180002b2f
lea rdx, [rbp - 0x41]
mov rcx, rdi
call fcn.180003720
lea rdx, [0x1800b92ac]
mov rcx, rax
call fcn.180003cd0
mov ebx, eax
lea rcx, [rbp - 0x41]
call fcn.180004cb0
test ebx, ebx
jne 0x180002b2d
mov r8, rsi
lea rdx, str.PASS
lea rcx, [rbp + 0x1f]
call fcn.180003a50
nop
mov rdx, rax
lea rcx, [rbp - 0x41]
call fcn.180003ba0
nop
lea rcx, [rbp + 0x1f]
call fcn.180004cb0
lea rdx, [rbp - 0x41]
cmp qword [rbp - 0x29], 0x10
cmovae rdx, qword [rbp - 0x41]
xor r9d, r9d
mov r8d, dword [rbp - 0x31]
mov rcx, qword [rdi]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x180002a60
call fcn.180002050
mov ebx, eax
jmp 0x180002b22
mov rcx, rdi
call fcn.1800036d0
mov ebx, eax
test eax, eax
js 0x180002b22
cmp eax, 1
je 0x180002b22
xor esi, esi
lea rdx, [rbp - 0x21]
mov rcx, rdi
call fcn.180003720
lea rdx, [0x1800b92b8]
mov rcx, rax
call fcn.180003cd0
mov ebx, eax
lea rcx, [rbp - 0x21]
call fcn.180004cb0
test ebx, ebx
je 0x180002b17
cmp esi, 3
jge 0x180002b10
lea rdx, [rbp - 0x41]
cmp qword [rbp - 0x29], 0x10
cmovae rdx, qword [rbp - 0x41]
xor r9d, r9d
mov r8d, dword [rbp - 0x31]
mov rcx, qword [rdi]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x180002a54
mov rcx, rdi
call fcn.1800036d0
mov ebx, eax
test eax, eax
js 0x180002b22
cmp eax, 1
je 0x180002b22
inc esi
lea rdx, [rbp - 0x21]
mov rcx, rdi
call fcn.180003720
lea rdx, [0x1800b92b8]
mov rcx, rax
call fcn.180003cd0
mov ebx, eax
lea rcx, [rbp - 0x21]
call fcn.180004cb0
test ebx, ebx
jne 0x180002aa7
jmp 0x180002b17
mov ebx, 0xe0036003
jmp 0x180002b22
lea rcx, [rbp - 0x41]
call fcn.180004cb0
jmp 0x180002b2d
lea rcx, [rbp - 0x41]
call fcn.180004cb0
jmp 0x180002b2f
xor ebx, ebx
mov rax, qword [rbp + 0x17]
cmp rax, 0x10
jb 0x180002b85
inc rax
mov rcx, qword [rbp - 1]
cmp rax, 0x1000
jb 0x180002b80
test cl, 0x1f
je 0x180002b53
call fcn.18008d744
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x180002b62
call fcn.18008d744
int3
sub rcx, rax
cmp rcx, 8
jae 0x180002b71
call fcn.18008d744
int3
cmp rcx, 0x27
jbe 0x180002b7d
call fcn.18008d744
int3
mov rcx, rax
call fcn.180072908
mov eax, ebx
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.180072920
mov rbx, qword [rsp + 0xe8]
add rsp, 0xb0
pop rdi
pop rsi
pop rbp
ret