Function at 0x140009b30
Capabilities:
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4c0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x1400b0178]
xor rax, rsp
mov qword [rsp + 0x4b8], rax
mov r14, r8
mov r12, rdx
mov rbx, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x58], r8
mov r15, qword [rsp + 0x528]
mov qword [rsp + 0x60], r15
xor edi, edi
mov dword [rsp + 0x34], edi
lea rcx, [0x1400b6a20]
call fcn.140035a84
test eax, eax
je 0x140009ba0
mov ecx, eax
call fcn.140035654
mov qword [rbx + 0x18], sendto
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x140009bb8
mov rax, qword [rbx]
jmp 0x140009bbb
mov rax, rbx
mov byte [rax], 0
xor r8d, r8d
lea rdx, [0x1400985da]
mov rcx, rbx
call fcn.140007880
mov dword [rsp + 0x34], 1
mov esi, 1
lea r13d, [rsi + 1]
mov dword [rsp + 0x30], esi
cmp esi, 3
jg 0x140009e2b
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov word [rsp + 0x68], r13w
lea ecx, [rax + 0x35]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x6a], ax
mov rcx, r15
call fcn.1400074f0
mov rcx, rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x6c], eax
mov rcx, r14
call fcn.1400074f0
mov rdx, rax
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, dword [r14 + 0x10]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
jne 0x140009c67
xor r8d, r8d
lea rdx, [0x1400985da]
mov rcx, rbx
call fcn.140007880
mov qword [rsp + 0xa8], r12
mov dword [rsp + 0xa0], 1
mov qword [rsp + 0x38], 0xa
lea ecx, [r12 + 1]
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0xa0]
call qword [sym.imp.WS2_32.dll_select]
cmp eax, 1
sete al
test al, al
je 0x140009df1
xor r9d, r9d
mov r8d, 0x200
lea rdx, [rsp + 0x2b0]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_recv]
movsxd r8, eax
test eax, eax
jle 0x140009df1
mov ecx, r8d
mov rdx, r8
mov rax, r8
test r8d, r8d
jle 0x140009df1
nop dword [rax + rax]
cmp byte [rsp + rax + 0x2b0], 0
jne 0x140009de3
cmp rdx, rax
je 0x140009de3
test ecx, ecx
je 0x140009df1
add ecx, 3
cmp ecx, r8d
jge 0x140009df1
lea r8, [rsp + 0x2b0]
add r8, rdx
movsxd rax, ecx
lea rdx, [rsp + 0x2b0]
add rdx, rax
mov eax, recv
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x88], rdi
mov byte [rsp + 0x78], 0
cmp rdx, r8
je 0x140009d68
sub r8, rdx
lea rcx, [rsp + 0x78]
call fcn.140007880
mov rax, qword [rsp + 0x90]
lea rcx, [rsp + 0x78]
cmp rbx, rcx
je 0x140009d8e
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.1400079b0
mov rax, qword [rsp + 0x90]
cmp rax, 0x10
jb 0x140009df1
inc rax
mov rcx, qword [rsp + 0x78]
cmp rax, 0x1000
jb 0x140009ddc
test cl, 0x1f
je 0x140009daf
call fcn.140062e60
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140009dbe
call fcn.140062e60
int3
sub rcx, rax
cmp rcx, 8
jae 0x140009dcd
call fcn.140062e60
int3
cmp rcx, 0x27
jbe 0x140009dd9
call fcn.140062e60
int3
mov rcx, rax
call fcn.140025800
jmp 0x140009df1
dec ecx
dec rax
test rax, rax
jg 0x140009cf0
jmp 0x140009e11
lea rdx, [0x1400985da]
mov rcx, rbx
call fcn.140007430
test eax, eax
jne 0x140009e2b
inc esi
jmp 0x140009be1
lea rcx, [0x1400b6a20]
call fcn.140035aa8
test eax, eax
je 0x140009e43
mov ecx, eax
call fcn.140035654
nop
cmp qword [r14 + 0x18], 0x10
jb 0x140009e99
mov rcx, qword [r14]
mov rax, qword [r14 + 0x18]
inc rax
cmp rax, 0x1000
jb 0x140009e94
test cl, 0x1f
je 0x140009e67
call fcn.140062e60
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140009e76
call fcn.140062e60
int3
sub rcx, rax
cmp rcx, 8
jae 0x140009e85
call fcn.140062e60
int3
cmp rcx, 0x27
jbe 0x140009e91
call fcn.140062e60
int3
mov rcx, rax
call fcn.140025800
mov qword [r14 + 0x18], sendto
mov qword [r14 + 0x10], rdi
cmp qword [r14 + 0x18], 0x10
jb 0x140009eaf
mov r14, qword [r14]
mov byte [r14], 0
mov rax, qword [r15 + 0x18]
cmp rax, 0x10
jb 0x140009f08
inc rax
mov rcx, qword [r15]
cmp rax, 0x1000
jb 0x140009f03
test cl, 0x1f
je 0x140009ed6
call fcn.140062e60
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140009ee5
call fcn.140062e60
int3
sub rcx, rax
cmp rcx, 8
jae 0x140009ef4
call fcn.140062e60
int3
cmp rcx, 0x27
jbe 0x140009f00
call fcn.140062e60
int3
mov rcx, rax
call fcn.140025800
mov qword [r15 + 0x18], sendto
mov qword [r15 + 0x10], rdi
cmp qword [r15 + 0x18], 0x10
jb 0x140009f1e
mov r15, qword [r15]
mov byte [r15], 0
mov rax, rbx
mov rcx, qword [rsp + 0x4b8]
xor rcx, rsp
call fcn.140037e50
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret