Function at 0x140002821
Capabilities:
Connect socket
Get local ipv4 addresses
Get socket information
Send data
Send data on socket

Disassembly:
push rbp
sub rsp, 0x1a0
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x130], ecx
mov qword [rbp + 0x138], rdx
mov qword [rbp + 0x140], r8
mov eax, r9d
mov word [rbp + 0x148], ax
lea rax, [rbp + 0xf0]
mov r8d, 0x1c
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov dword [rbp + 0x114], 0
mov dword [rbp + 0x110], 2
mov word [rbp + 0xf0], 2
movzx eax, word [rbp + 0x148]
mov word [rbp + 0xf2], ax
mov dword [rbp - 0x54], reloc.WS2_32.dll_recv
mov byte [rbp - 0x4f], 1
mov byte [rbp - 0x50], 5
cmp dword [rbp + 0x130], 1
jne 0x1400028c4
lea rax, [rbp + 0xf0]
add rax, 4
mov rdx, qword [rbp + 0x140]
mov edx, dword [rdx]
mov dword [rax], edx
jmp 0x140002922
cmp dword [rbp + 0x130], 4
jne 0x140002905
mov word [rbp + 0xf0], reloc.WS2_32.dll_socket
mov dword [rbp + 0x110], reloc.WS2_32.dll_socket
mov rax, qword [rbp + 0x140]
mov rdx, qword [rax + 8]
mov rax, qword [rax]
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x100], rdx
mov dword [rbp - 0x54], 0x1c
jmp 0x140002922
nop
jmp 0x14000290c
nop
jmp 0x14000290c
nop
mov dword [rbp + 0x114], 0xffffffff
mov dword [rbp - 0x54], 2
jmp 0x140002abe
mov eax, dword [rbp + 0x110]
mov r8d, 6
mov edx, 1
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_socket]
call rax
mov dword [rbp + 0x114], eax
cmp dword [rbp + 0x114], 0
jle 0x140002908
mov byte [rbp - 0x4e], 0
mov eax, dword [rbp + 0x130]
mov byte [rbp - 0x4d], al
mov rax, qword [rbp + 0x138]
mov edx, dword [rbp + 0x114]
mov dword [rax], edx
mov ecx, dword [rbp - 0x54]
mov rax, qword [rbp + 0x138]
mov eax, dword [rax]
cdqe
lea rdx, [rbp + 0xf0]
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_connect]
call rax
mov dword [rbp + 0x114], eax
cmp dword [rbp + 0x114], 0
jns 0x140002a03
mov rax, qword [sym.imp.WS2_32.dll_WSAGetLastError]
call rax
mov dword [rbp + 0x10c], eax
cmp dword [rbp + 0x10c], 0x2743
jne 0x1400029c0
mov byte [rbp - 0x4f], 3
jmp 0x14000290b
cmp dword [rbp + 0x10c], 0x2742
jne 0x1400029d5
mov byte [rbp - 0x4f], 3
jmp 0x14000290b
cmp dword [rbp + 0x10c], 0x274c
jne 0x1400029ea
mov byte [rbp - 0x4f], 4
jmp 0x14000290b
cmp dword [rbp + 0x10c], 0x274d
jne 0x14000290b
mov byte [rbp - 0x4f], 5
jmp 0x14000290b
mov rax, qword [rbp + 0x138]
mov eax, dword [rax]
cdqe
lea rcx, [rbp - 0x54]
lea rdx, [rbp + 0xf0]
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_getsockname]
call rax
mov dword [rbp + 0x114], eax
cmp dword [rbp + 0x114], 0
jne 0x140002b2f
mov eax, dword [rbp - 0x54]
cmp eax, 0x1c
jne 0x140002a5e
lea rax, [rbp + 0xf0]
add rax, 8
mov qword [rbp + 0x118], rax
mov dword [rbp - 0x54], reloc.WS2_32.dll_recv
jmp 0x140002a77
lea rax, [rbp + 0xf0]
add rax, 4
mov qword [rbp + 0x118], rax
mov dword [rbp - 0x54], 4
mov eax, dword [rbp - 0x54]
movsxd rcx, eax
lea rax, [rbp - 0x50]
add rax, 4
mov rdx, qword [rbp + 0x118]
mov r8, rcx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp - 0x54]
cdqe
lea rdx, [rax + 4]
lea rax, [rbp - 0x50]
add rdx, rax
movzx eax, word [rbp + 0xf2]
mov word [rdx], ax
mov eax, dword [rbp - 0x54]
add eax, 6
mov dword [rbp - 0x54], eax
mov byte [rbp - 0x4f], 0
call fcn.140003506
mov edx, dword [rbp - 0x54]
add eax, edx
mov dword [rbp - 0x54], eax
mov eax, dword [rbp - 0x54]
mov edx, eax
mov rax, qword [rbp + 0x138]
lea rcx, [rax + 0x11c]
lea rax, [rbp - 0x50]
mov r8d, edx
mov rdx, rax
call fcn.140003ee0
mov ecx, dword [rbp - 0x54]
mov rax, qword [rbp + 0x138]
mov eax, dword [rax + 4]
cdqe
lea rdx, [rbp - 0x50]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_send]
call rax
cmp dword [rbp + 0x114], 0
js 0x140002b2f
mov rax, qword [rbp + 0x138]
mov rcx, rax
call fcn.140003533
jmp 0x140002b30
nop
mov rax, qword [rbp + 0x138]
mov eax, dword [rax]
test eax, eax
jle 0x140002b70
mov rax, qword [rbp + 0x138]
mov eax, dword [rax]
cdqe
mov edx, 2
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_shutdown]
call rax
mov rax, qword [rbp + 0x138]
mov eax, dword [rax]
cdqe
mov rcx, rax
mov rax, qword [sym.imp.WS2_32.dll_closesocket]
call rax
mov eax, dword [rbp + 0x114]
add rsp, 0x1a0
pop rbp
ret