Function at 0x140255d30
Capabilities:
Connect socket
Get local ipv4 addresses
Get socket information

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x140398b38]
xor rax, rsp
mov qword [rbp - 0x10], rax
movzx eax, word [rcx + 0x4a4]
lea rdi, str.Unable_to_connect
xor r13d, r13d
mov word [rsp + 0x40], ax
mov r15d, r9d
mov rsi, r8
mov r14, rdx
mov rbx, rcx
test r8, r8
je 0x140255da7
add rcx, 0x200
call fcn.140249d60
mov rdx, rsi
mov rcx, rbx
call fcn.140257370
mov rdx, rsi
mov rcx, rbx
call fcn.14025ae40
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
xorps xmm0, xmm0
mov qword [rsp + 0x108], r12
xor eax, eax
lea rcx, [rbx + 0x290]
movups xmmword [rsp + 0x50], xmm0
mov qword [rbp - 0x50], rax
movups xmmword [rsp + 0x60], xmm0
mov dword [rbp - 0x48], eax
movups xmmword [rsp + 0x70], xmm0
mov word [rbp - 0x44], ax
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
call fcn.14023ef70
test eax, eax
je 0x140255e89
test r15d, r15d
je 0x140255eb2
cmp dword [rbx + 0x300], r13d
jne 0x140255eb2
cmp qword [rbx + 0x470], 0xffffffffffffffff
jne 0x140255eb2
cmp dword [rbx + 0x2e8], r13d
jne 0x140255eb2
mov rcx, rbx
call fcn.140241350
mov rcx, rax
mov dword [rsp + 0x30], r15d
lea rax, str.dns_lookup_failed__d
mov r9d, 4
mov qword [rsp + 0x28], rax
lea rdx, [0x140240a30]
lea rax, str.lws_client_connect_3_connect
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.14023ac90
mov rcx, qword [rbx]
lea r8, [rbx + 0x200]
mov eax, 0x200
mov qword [rsp + 0x20], 0xf4240
lea r9, [0x1402566b0]
mov word [rbx + 0x478], ax
xor edx, edx
call fcn.140249d80
mov rax, rbx
mov r12, qword [rsp + 0x108]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14025e930
add rsp, 0x110
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx eax, word [rbx + 0x478]
mov edx, 0x202
mov ecx, 1
mov r12, 0xffffffffffffffff
cmp eax, edx
jne 0x140256075
mov rcx, qword [rbx + 0x470]
cmp rcx, r12
je 0x140256070
cmp dword [rbx + 0x300], r13d
jne 0x140255ef8
cmp qword [rbx + 0x210], r13
je 0x140255ff8
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x140256600
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
cmp eax, 0x2748
je 0x140256600
cmp eax, 0x2735
jne 0x140255f7a
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 0x10]
call fcn.1402417b0
test eax, eax
je 0x1402565f9
mov rcx, rbx
call fcn.140241350
mov rcx, rax
lea rdx, [0x140240a30]
lea rax, str.pollfd_failed
mov r9d, 4
mov qword [rsp + 0x28], rax
mov r8, rbx
lea rax, str.lws_client_connect_check
mov qword [rsp + 0x20], rax
call fcn.14023ac90
xor eax, eax
jmp 0x140255e8c
test edi, edi
je 0x1402565f9
cmp edi, 0x2726
je 0x1402565f9
cmp edi, 0x2733
je 0x1402565f9
mov rcx, rbx
call fcn.140241350
mov rcx, rax
mov dword [rsp + 0x30], edi
lea rax, str.connect_check_take_as_FAILED:_errno__d
mov r9d, 4
mov qword [rsp + 0x28], rax
lea rdx, [0x140240a30]
lea rax, str.lws_client_connect_check
mov r8, rbx
mov qword [rsp + 0x20], rax
call fcn.14023ac90
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea r8, str.conn_fail:_errno__d
mov edx, gethostbyname
mov r9d, eax
lea rcx, [rbp - 0x40]
call fcn.14023f470
lea rdi, [rbp - 0x40]
lea r14, str.lws_client_connect_3_connect
mov rcx, rbx
call fcn.140241860
mov rcx, qword [rbx + 0x470]
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rbx + 0x470], r12
lea rcx, [rbx + 0x200]
call fcn.140249d60
cmp qword [rbx + 0x2f8], 0
jne 0x1402560c6
mov rcx, rbx
call fcn.14024ce50
nop dword [rax]
inc r12
cmp byte [rdi + r12], 0
jne 0x140256040
mov r8, r12
mov rdx, rdi
mov rcx, rbx
call fcn.14024cee0
lea r8, str.client_connect3
xor edx, edx
mov rcx, rbx
call fcn.14024cea0
xor eax, eax
jmp 0x140255e8c
mov ecx, 1
test r14, r14
je 0x1402560bf
cmp byte [r14], 0x2b
jne 0x1402560bf
xorps xmm0, xmm0
mov word [rsp + 0x50], cx
lea rsi, [rbx + 0x318]
mov r8d, WSAGetLastError
lea rcx, [rsp + 0x52]
lea rdx, [r14 + 1]
movups xmmword [rsi], xmm0
call fcn.140283750
cmp byte [rsp + 0x52], 0x40
lea r14, str.lws_client_connect_3_connect
mov byte [rbp - 0x43], r13b
jne 0x140256118
mov byte [rsp + 0x52], r13b
jmp 0x140256118
lea r14, str.lws_client_connect_3_connect
cmp dword [rbx + 0x300], 0
je 0x140256058
mov rdi, qword [rbx + 0x2f8]
mov rcx, rdi
call fcn.14023efd0
movups xmm0, xmmword [rdi + 0x28]
lea rsi, [rbx + 0x318]
xor edx, edx
lea r8, str.lws_free
mov rcx, rdi
movups xmmword [rsi], xmm0
call fcn.140241d60
movzx ecx, word [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbx + 0x31a], ax
mov r13, rsi
mov r15d, reloc.WS2_32.dll_recv
cmp qword [rbx + 0x470], r12
jne 0x14025642c
mov rax, qword [rbx]
mov rcx, qword [rax + 0x510]
mov rax, qword [rcx + 0x38]
test rax, rax
je 0x140256145
mov rcx, rbx
call rax
test eax, eax
jne 0x1402565bc
xor r8d, r8d
test byte [rbx + 0x498], 8
je 0x14025615e
mov eax, 1
mov edi, eax
mov edx, eax
mov ecx, eax
jmp 0x140256168
movzx edi, word [rsi]
mov edx, 1
mov ecx, edi
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbx + 0x470], rax
cmp rax, r12
jne 0x1402561e9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea r8, str.conn_fail:_skt_creation:_errno__d
mov edx, gethostbyname
mov r9d, eax
lea rcx, [rbp - 0x40]
call fcn.14023f470
mov rcx, rbx
lea rdi, [rbp - 0x40]
call fcn.140241350
mov rcx, rax
lea r14, str.lws_client_connect_3_connect
lea rax, [rbp - 0x40]
mov r9d, 2
mov qword [rsp + 0x30], rax
lea rdx, [0x140240a30]
lea rax, [0x1403337b0]
mov r8, rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
call fcn.14023ac90
lea r14, str.lws_client_connect_3_connect
jmp 0x14025601b
mov r8d, dword [rbx + 0x498]
mov rdx, rax
mov rcx, qword [rbx + 8]
shr r8d, 3
and r8d, 1
call fcn.140251300
test eax, eax
je 0x140256269
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea r8, str.conn_fail:_skt_options:_errno__d
mov edx, gethostbyname
mov r9d, eax
lea rcx, [rbp - 0x40]
call fcn.14023f470
mov rcx, rbx
lea rdi, [rbp - 0x40]
call fcn.140241350
mov rcx, rax
lea rdx, [0x140240a30]
lea rax, [rbp - 0x40]
mov r9d, 2
mov qword [rsp + 0x30], rax
mov r8, rbx
lea rax, [0x1403337b0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
call fcn.14023ac90
jmp 0x140256007
mov r8d, dword [rbx + 0x488]
movzx edx, byte [rbx + 0x4b6]
mov rcx, qword [rbx + 0x470]
call fcn.1402514f0
test eax, eax
je 0x1402562c1
mov rcx, rbx
call fcn.140241350
mov rcx, rax
lea r14, str.lws_client_connect_3_connect
lea rax, str.unable_to_set_ip_options
mov r9d, 2
mov qword [rsp + 0x28], rax
lea rdx, [0x140240a30]
mov r8, rbx
mov qword [rsp + 0x20], r14
call fcn.14023ac90
jmp 0x1402562c8
lea r14, str.lws_client_connect_3_connect
mov eax, 0x202
mov word [rbx + 0x478], ax
mov rax, qword [rbx]
mov rcx, qword [rax + 0x510]
mov rax, qword [rcx + 0x48]
test rax, rax
je 0x14025634f
mov rcx, rbx
call rax
test eax, eax
je 0x14025634f
lea r8, str.conn_fail:_sock_accept
mov edx, gethostbyname
lea rcx, [rbp - 0x40]
call fcn.14023f470
mov rcx, rbx
lea rdi, [rbp - 0x40]
call fcn.140241350
mov rcx, rax
lea rdx, [0x140240a30]
lea rax, [rbp - 0x40]
mov r9d, 2
mov qword [rsp + 0x30], rax
mov r8, rbx
lea rax, [0x1403337b0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
call fcn.14023ac90
lea r14, str.lws_client_connect_3_connect
jmp 0x140256007
mov rcx, qword [rbx]
mov rdx, rbx
call fcn.1402416b0
test eax, eax
je 0x140256383
lea r8, str.conn_fail:_insert_fd
mov edx, gethostbyname
lea rcx, [rbp - 0x40]
call fcn.14023f470
lea rdi, [rbp - 0x40]
lea r14, str.lws_client_connect_3_connect
jmp 0x140256007
xor edx, edx
mov r8d, 0x300
mov rcx, rbx
call fcn.1402417b0
test eax, eax
je 0x1402563b1
lea r8, str.conn_fail:_change_pollfd
mov edx, gethostbyname
lea rcx, [rbp - 0x40]
call fcn.14023f470
jmp 0x140255ff4
cmp qword [rbx + 0x10], 0
mov rcx, qword [rbx + 8]
jne 0x1402563c7
mov rax, qword [rcx + 0x388]
mov qword [rbx + 0x10], rax
mov r8d, dword [rcx + 0x4a8]
mov edx, 2
mov rcx, rbx
call fcn.14023fd90
mov edx, 6
mov rcx, rbx
lea r8d, [rdx + 0x58]
call fcn.140240eb0
test rax, rax
je 0x140256425
cmp byte [rax], 0
je 0x140256425
mov r8, qword [rbx + 0x470]
xor r9d, r9d
mov rcx, qword [rbx + 8]
mov rdx, rbx
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call fcn.14025afe0
test eax, eax
jns 0x140256425
lea r8, str.conn_fail:_socket_bind
jmp 0x14025639e
lea r14, str.lws_client_connect_3_connect
test byte [rbx + 0x498], 8
je 0x140256471
cmp byte [rsp + 0x52], 0
lea r13, [rsp + 0x50]
mov rdi, r12
je 0x14025645e
lea rax, [rsp + 0x52]
nop dword [rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140256450
add edi, 2
jmp 0x140256492
lea rax, [rsp + 0x53]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140256463
add edi, 3
jmp 0x140256492
lea rdi, str.Unable_to_connect
test r13, r13
je 0x140255fff
mov r8d, r15d
mov rdx, r13
mov rcx, rsi
call fcn.140260c10
mov edi, r15d
mov rcx, qword [rbx + 0x10]
mov r8d, 0x69
and dword [rbx + 0x494], 0xffffefff
mov rdx, rbx
mov rax, qword [rbx + 0x470]
mov r9, qword [rbx + 0x3b8]
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rax
call fcn.140241360
test eax, eax
jne 0x140256058
mov rcx, qword [rbx + 0x470]
mov r8d, edi
mov rdx, r13
call qword [sym.imp.WS2_32.dll_connect]
mov edi, eax
call fcn.14023fb90
mov qword [rbx + 0x3b0], rax
mov dword [rbx + 0x39c], 0
cmp edi, r12d
jne 0x140256600
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
test eax, eax
je 0x14025654d
add eax, 0xffffd8da
cmp eax, 0x22
ja 0x140256530
movabs rcx, 0x40000e001
bt rcx, rax
jb 0x14025654d
call fcn.14023fb90
sub eax, dword [rbx + 0x3b0]
lea rdi, str.Unable_to_connect
mov dword [rbx + 0x39c], eax
jmp 0x140255fff
mov rcx, rbx
lea rdi, str.Unable_to_connect
call fcn.1402510b0
test eax, eax
jne 0x140255fff
cmp esi, 0x2748
je 0x140256600
mov rcx, qword [rbx]
lea r8, [rbx + 0x200]
lea r9, [0x140255d00]
mov eax, dword [rcx + 0xd08]
imul rdx, rax, 0xf4240
mov qword [rsp + 0x20], rdx
xor edx, edx
call fcn.140249d80
xor edx, edx
lea rdi, str.Unable_to_connect
mov rcx, rbx
lea r8d, [rdx + 0x10]
call fcn.1402417b0
test eax, eax
je 0x140255e89
jmp 0x140255fff
test dword [rbx + 0x478], 0x10000000
je 0x1402565e4
cmp qword [rbx + 0x10], 0
je 0x1402565e4
mov r8d, Ordinal_41
lea rdx, str.waiting_for_event_loop_watcher_to_close
mov rcx, rbx
call fcn.14024cee0
cmp dword [rbx + 0x480], r12d
jne 0x140256058
mov rcx, rbx
call fcn.14024cb90
xor eax, eax
jmp 0x140255e8c
call fcn.14023fb90
sub eax, dword [rbx + 0x3b0]
lea rdx, [rbx + 0x308]
movsxd rcx, dword [rbx + 0x470]
lea r8, [rsp + 0x40]
mov dword [rbx + 0x39c], eax
mov dword [rsp + 0x40], reloc.WS2_32.dll_recv
call qword [sym.imp.WS2_32.dll_getsockname]
cmp eax, r12d
jne 0x140256658
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
call fcn.140287e8c
mov r8, rax
lea rdx, str.getsockname:__s_n
mov ecx, 2
call fcn.14023ac50
lea rcx, [rbx + 0x200]
call fcn.140249d60
mov rcx, rbx
call fcn.14024ce50
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140256692
mov r8, qword [rbx + 0x3b8]
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], 0
lea edx, [r9 + 0x1d]
call qword [rax + reloc.WS2_32.dll_htonl]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140258d80
jmp 0x140255e8c