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

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xd0
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x108], rbx
mov rax, qword [0x18010f050]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
xor r9d, r9d
mov r8d, 0x1f4
mov rdx, qword [rcx + 0x38]
mov rcx, qword [rcx]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x18000ab79
call fcn.180003220
test eax, eax
js 0x18000b048
cmp eax, 1
jne 0x18000ab84
jmp 0x18000b048
movsxd rcx, eax
mov rax, qword [rsi + 0x38]
mov byte [rcx + rax], 0
mov r8, rbx
lea rdx, str.USER
lea rcx, [rsp + 0x48]
call fcn.18000c000
nop
lea r8, [0x1800ef090]
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.18000c0c0
nop
cmp qword [rsp + 0x68], 0x10
jb 0x18000abc3
mov rcx, qword [rsp + 0x50]
call fcn.180076a50
mov qword [rsp + 0x68], socket
xor ebp, ebp
mov qword [rsp + 0x60], rbp
mov byte [rsp + 0x50], bpl
lea rdx, [rsp + 0xa8]
cmp qword [rsp + 0xc0], 0x10
cmovae rdx, qword [rsp + 0xa8]
xor r9d, r9d
mov r8d, dword [rsp + 0xb8]
mov rcx, qword [rsi]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x18000ac31
call fcn.180003220
mov ebx, eax
cmp qword [rsp + 0xc0], 0x10
jb 0x18000ac2a
mov rcx, qword [rsp + 0xa8]
call fcn.180076a50
mov eax, ebx
jmp 0x18000b048
mov rcx, rsi
call fcn.18000bc90
mov ebx, eax
test eax, eax
js 0x18000b02e
cmp eax, 1
je 0x18000b02e
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.18000bce0
nop
mov rbx, qword [rax + 0x18]
cmp rbx, rbx
cmovb rbx, rbx
cmp qword [rax + 0x20], 0x10
jb 0x18000ac72
mov rcx, qword [rax + 8]
jmp 0x18000ac76
lea rcx, [rax + 8]
mov r8d, 3
cmp rbx, r8
cmovb r8, rbx
lea rdx, [0x1800ef09c]
call fcn.180085890
movsxd rcx, eax
test eax, eax
jne 0x18000acac
cmp rbx, 3
jae 0x18000aca1
or ecx, 0xffffffff
jmp 0x18000acac
mov eax, ebp
cmp rbx, 3
setne al
mov ecx, eax
test ecx, ecx
sete bl
cmp qword [rsp + 0x40], 0x10
jb 0x18000acc3
mov rcx, qword [rsp + 0x28]
call fcn.180076a50
test bl, bl
je 0x18000b012
mov r8, rdi
lea rdx, str.PASS
lea rcx, [rsp + 0x20]
call fcn.18000c000
nop
lea r8, [0x1800ef090]
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.18000c0c0
nop
cmp qword [rsp + 0x40], 0x10
jb 0x18000ad07
mov rcx, qword [rsp + 0x28]
call fcn.180076a50
mov qword [rsp + 0x40], socket
mov qword [rsp + 0x38], rbp
mov byte [rsp + 0x28], 0
lea rdx, [rsp + 0x80]
cmp qword [rsp + 0x98], 0x10
cmovae rdx, qword [rsp + 0x80]
xor r9d, r9d
mov r8d, dword [rsp + 0x90]
mov rcx, qword [rsi]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x18000ada7
call fcn.180003220
mov ebx, eax
cmp qword [rsp + 0x98], 0x10
jb 0x18000ad6c
mov rcx, qword [rsp + 0x80]
call fcn.180076a50
mov qword [rsp + 0x98], socket
mov qword [rsp + 0x90], rbp
mov byte [rsp + 0x80], 0
cmp qword [rsp + 0xc0], 0x10
jb 0x18000ada0
mov rcx, qword [rsp + 0xa8]
call fcn.180076a50
mov eax, ebx
jmp 0x18000b048
mov rcx, rsi
call fcn.18000bc90
mov ebx, eax
test eax, eax
js 0x18000afc2
cmp eax, 1
je 0x18000afc2
mov edi, ebp
nop word [rax + rax]
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.18000bce0
nop
mov rbx, qword [rax + 0x18]
cmp rbx, rbx
cmovb rbx, rbx
cmp qword [rax + 0x20], 0x10
jb 0x18000adf6
mov rcx, qword [rax + 8]
jmp 0x18000adfa
lea rcx, [rax + 8]
mov r8d, 3
cmp rbx, r8
cmovb r8, rbx
lea rdx, [0x1800ef0a8]
call fcn.180085890
movsxd rcx, eax
test eax, eax
jne 0x18000ae30
cmp rbx, 3
jae 0x18000ae25
or ecx, 0xffffffff
jmp 0x18000ae30
mov eax, ebp
cmp rbx, 3
setne al
mov ecx, eax
test ecx, ecx
setne bl
cmp qword [rsp + 0x68], 0x10
jb 0x18000ae47
mov rcx, qword [rsp + 0x50]
call fcn.180076a50
test bl, bl
je 0x18000afa8
cmp edi, 3
jge 0x18000af52
lea rdx, [rsp + 0x80]
cmp qword [rsp + 0x98], 0x10
cmovae rdx, qword [rsp + 0x80]
xor r9d, r9d
mov r8d, dword [rsp + 0x90]
mov rcx, qword [rsi]
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x18000aef8
mov rcx, rsi
call fcn.18000bc90
mov ebx, eax
test eax, eax
js 0x18000aea5
cmp eax, 1
je 0x18000aea5
inc edi
jmp 0x18000add0
cmp qword [rsp + 0x98], 0x10
jb 0x18000aebd
mov rcx, qword [rsp + 0x80]
call fcn.180076a50
mov qword [rsp + 0x98], socket
mov qword [rsp + 0x90], rbp
mov byte [rsp + 0x80], 0
cmp qword [rsp + 0xc0], 0x10
jb 0x18000aef1
mov rcx, qword [rsp + 0xa8]
call fcn.180076a50
mov eax, ebx
jmp 0x18000b048
call fcn.180003220
mov ebx, eax
cmp qword [rsp + 0x98], 0x10
jb 0x18000af17
mov rcx, qword [rsp + 0x80]
call fcn.180076a50
mov qword [rsp + 0x98], socket
mov qword [rsp + 0x90], rbp
mov byte [rsp + 0x80], 0
cmp qword [rsp + 0xc0], 0x10
jb 0x18000af4b
mov rcx, qword [rsp + 0xa8]
call fcn.180076a50
mov eax, ebx
jmp 0x18000b048
cmp qword [rsp + 0x98], 0x10
jb 0x18000af6a
mov rcx, qword [rsp + 0x80]
call fcn.180076a50
mov qword [rsp + 0x98], socket
mov qword [rsp + 0x90], rbp
mov byte [rsp + 0x80], 0
cmp qword [rsp + 0xc0], 0x10
jb 0x18000af9e
mov rcx, qword [rsp + 0xa8]
call fcn.180076a50
mov eax, 0xe0036003
jmp 0x18000b048
cmp qword [rsp + 0x98], 0x10
jb 0x18000b012
mov rcx, qword [rsp + 0x80]
call fcn.180076a50
jmp 0x18000b012
cmp qword [rsp + 0x98], 0x10
jb 0x18000afda
mov rcx, qword [rsp + 0x80]
call fcn.180076a50
mov qword [rsp + 0x98], socket
mov qword [rsp + 0x90], rbp
mov byte [rsp + 0x80], 0
cmp qword [rsp + 0xc0], 0x10
jb 0x18000b00e
mov rcx, qword [rsp + 0xa8]
call fcn.180076a50
mov eax, ebx
jmp 0x18000b048
cmp qword [rsp + 0xc0], 0x10
jb 0x18000b02a
mov rcx, qword [rsp + 0xa8]
call fcn.180076a50
xor eax, eax
jmp 0x18000b048
cmp qword [rsp + 0xc0], 0x10
jb 0x18000b046
mov rcx, qword [rsp + 0xa8]
call fcn.180076a50
mov eax, ebx
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.180076a70
mov rbx, qword [rsp + 0x108]
add rsp, 0xd0
pop rdi
pop rsi
pop rbp
ret