Function at 0x14015dbd0
Capabilities:
Connect socket
Get local ipv4 addresses
Get socket information
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x458
mov ebp, r8d
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x140430040]
xor rax, rsp
mov qword [rsp + 0x450], rax
lea r14, [rsp + 0x1c0]
mov r8d, Ordinal_145
mov rcx, r14
mov dl, 0xaa
call fcn.1402b6a10
mov rdi, qword [rsi]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r15, [rsp + 0x78]
mov qword [r15], rax
movaps xmm0, xmmword [0x1403d4b30]
movups xmmword [rsp + 0x1ae], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
lea rcx, [rsp + 0x90]
mov r8d, 0x100
mov dl, 0xaa
call fcn.1402b6a10
movsxd r12, ebp
mov qword [rsi + r12*8 + 0x4d0], 0xffffffffffffffff
mov rcx, rsi
mov rdx, rbx
mov r8, r14
mov r9, r15
call fcn.14015e680
test eax, eax
je 0x14015dcb1
mov rcx, qword [rsp + 0x450]
xor rcx, rsp
cmp rcx, qword [0x140430040]
je 0x14015dc9d
call fcn.140278ca0
int3
add rsp, 0x458
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r9, [rsp + 0x74]
mov dword [r9], 0xaaaaaaaa
lea r13, [rsp + 0x1d0]
lea r8, [rsp + 0x190]
mov rcx, r13
call fcn.14015cb20
test al, al
jne 0x14015dd24
call fcn.14028de30
mov ecx, dword [rax]
lea rdx, [rsp + 0x90]
mov r8d, 0x100
call fcn.14017a680
mov rbx, rax
call fcn.14028de30
mov r8d, dword [rax]
lea rdx, str.sa_addr_inet_ntop___failed_with_errno__d:__s
mov rcx, rdi
mov r9, rbx
call fcn.140158420
mov rdx, qword [rsp + 0x78]
mov rcx, rsi
call fcn.14015d840
xor eax, eax
jmp 0x14015dc83
mov r9d, dword [rsp + 0x74]
lea rdx, str.__Trying__s:_ld..._n
lea r8, [rsp + 0x190]
mov rcx, rdi
call fcn.1401581f0
mov eax, dword [rsp + 0x1c0]
cmp eax, 0x17
je 0x14015dd51
cmp eax, 2
jne 0x14015dd5f
cmp dword [rsp + 0x1c4], 1
je 0x14015df38
mov rcx, qword [rsp + 0x78]
call fcn.14015d8d0
cmp qword [rdi + 0x728], 0
je 0x14015ddc9
mov r15b, 1
mov rcx, rdi
mov dl, 1
call fcn.14015c7d0
mov rbx, qword [rsp + 0x78]
mov rax, qword [rdi + 0x728]
mov rcx, qword [rdi + 0x730]
mov rdx, rbx
xor r8d, r8d
call qword [str._a_]
mov ebp, eax
mov rcx, rdi
xor edx, edx
call fcn.14015c7d0
test ebp, ebp
je 0x14015ddc9
cmp ebp, 2
je 0x14015ddcc
mov rcx, rsi
mov rdx, rbx
call fcn.14015d840
mov eax, Ordinal_46
jmp 0x14015dc83
xor r15d, r15d
mov eax, dword [rsp + 0x1c0]
cmp eax, 0x17
je 0x14015dddd
cmp eax, 2
jne 0x14015de3c
mov qword [rsp + 0x68], r12
mov rcx, r13
call fcn.14019d700
mov r13d, eax
mov edx, dword [rsp + 0x1c0]
mov rbp, qword [rsp + 0x78]
mov r14, qword [rsi]
mov qword [rsp + 0x88], 0
movzx r12d, word [r14 + 0x6e0]
mov rbx, qword [r14 + 0xc18]
test rbx, rbx
setne al
test r12w, r12w
setne cl
or cl, al
cmp cl, 1
je 0x14015e0c6
mov r12, qword [rsp + 0x68]
lea r13, [rsp + 0x1d0]
mov rbx, qword [rsp + 0x78]
mov rcx, rbx
mov edx, 1
call fcn.14019ac40
lea r14, [rsp + 0x2d0]
mov rcx, r14
call fcn.14017b110
movups xmm0, xmmword [r14]
movups xmmword [rsi + 0x678], xmm0
cmp dword [rsi + 0x688], 2
jl 0x14015de87
mov rdx, qword [rsi + 0x690]
mov rcx, rdi
mov r8d, 3
call fcn.1401593b0
test r15b, r15b
jne 0x14015deb7
cmp dword [rsi + 0x32c], 4
je 0x14015deb7
cmp byte [rsi + 0x66f], 0
jne 0x14015dec4
mov r8d, dword [rsp + 0x1cc]
mov rcx, rbx
mov rdx, r13
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x14015dec4
mov qword [rsi + r12*8 + 0x4d0], rbx
jmp 0x14015dd1d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r14d, eax
lea eax, [r14 - 0x2733]
cmp eax, 2
jb 0x14015deb7
cmp r14d, 0xb
je 0x14015deb7
lea rdx, [rsp + 0x90]
mov r8d, 0x100
mov ecx, r14d
call fcn.14017a680
lea rdx, str.Immediate_connect_fail_for__s:__s_n
lea r8, [rsp + 0x190]
mov rcx, rdi
mov r9, rax
call fcn.1401581f0
mov dword [rdi + 0x11b0], r14d
mov rcx, rsi
mov rdx, rbx
jmp 0x14015e4fc
lea rdx, str.Failed_to_set_SO_KEEPALIVE_on_fd__d_n
mov rcx, rdi
mov r8, r14
call fcn.1401581f0
jmp 0x14015dd69
mov r14, qword [rsp + 0x78]
cmp byte [rdi + 0xf23], 1
jne 0x14015dfbd
lea r15, [rsp + 0x3d0]
mov dword [r15], 1
mov rbx, qword [rsi]
lea rcx, [rsp + 0x2d0]
mov r8d, 0x100
mov dl, 0xaa
call fcn.1402b6a10
mov dword [rsp + 0x20], 4
mov rcx, r14
mov edx, 6
mov r8d, 1
mov r9, r15
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x14015dfbd
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0x2d0]
mov r8d, 0x100
mov ecx, eax
call fcn.14017a680
lea rdx, str.Could_not_set_TCP_NODELAY:__s_n
mov rcx, rbx
mov r8, rax
call fcn.1401581f0
mov rcx, r14
call fcn.14015d8d0
movzx eax, byte [rdi + 0xf2c]
cmp eax, 1
jne 0x14015dd69
lea r9, [rsp + 0x3d0]
mov dword [r9], eax
mov dword [rsp + 0x20], 4
mov rcx, r14
mov edx, 0xffff
mov r8d, 8
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
js 0x14015df21
mov eax, 0xaaaaaaaa
lea rbx, [rsp + 0x2d0]
mov dword [rbx + 8], eax
movabs rcx, 0xaaaaaaaa00000001
mov qword [rbx], rcx
mov r15, rdi
lea rdi, [rsp + 0x250]
mov dword [rdi], eax
mov ecx, dword [r15 + 0xe8c]
call fcn.1401518c0
imul eax, eax, 0x3e8
mov dword [rsp + 0x3d0], eax
mov dword [rbx + 4], eax
mov ecx, dword [r15 + 0xe90]
call fcn.1401518c0
imul eax, eax, 0x3e8
mov dword [rsp + 0x3d0], eax
mov dword [rbx + 8], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x30], rdi
mov rdi, r15
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x98000004
mov r8, rbx
mov r9d, recv
call qword [sym.imp.WS2_32.dll_WSAIoctl]
test eax, eax
je 0x14015dd69
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, str.Failed_to_set_SIO_KEEPALIVE_VALS_on_fd__d:__d_n
mov rcx, rdi
mov r8d, r14d
mov r9d, eax
call fcn.1401581f0
jmp 0x14015dd69
mov dword [rsp + 0x5c], r15d
mov eax, dword [r14 + 0x6e4]
mov dword [rsp + 0x4c], eax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x440], xmm0
movaps xmmword [rsp + 0x430], xmm0
movaps xmmword [rsp + 0x420], xmm0
movaps xmmword [rsp + 0x410], xmm0
movaps xmmword [rsp + 0x400], xmm0
movaps xmmword [rsp + 0x3f0], xmm0
movaps xmmword [rsp + 0x3e0], xmm0
movaps xmmword [rsp + 0x3d0], xmm0
test rbx, rbx
mov qword [rsp + 0x50], rbp
je 0x14015e13d
mov rcx, rbx
mov r15d, edx
call fcn.14029c0d0
mov edx, r15d
cmp rax, 0xfe
jbe 0x14015e32e
cmp edx, 2
mov qword [rsp + 0x60], rdi
mov r15, r14
je 0x14015e175
xor r13d, r13d
cmp edx, 0x17
jne 0x14015e196
mov word [rsp + 0x3d0], reloc.WS2_32.dll_socket
mov ecx, r12d
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x3d2], ax
mov r13d, 0x1c
jmp 0x14015e196
mov word [rsp + 0x3d0], 2
mov ecx, r12d
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x3d2], ax
mov r13d, reloc.WS2_32.dll_recv
lea rbx, [rsp + 0x3d0]
mov r14, qword [sym.imp.WS2_32.dll_bind]
lea rbp, str.Bind_to_local_port__hu_failed__trying_next_n
mov rdi, qword [sym.imp.WS2_32.dll_ntohs]
jmp 0x14015e1da
dec eax
mov dword [rsp + 0x4c], eax
movzx r8d, r12w
mov rcx, r15
mov rdx, rbp
call fcn.1401581f0
inc r12d
mov ecx, r12d
call rdi
mov word [rsp + 0x3d2], ax
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
mov r8d, r13d
call r14
test eax, eax
jns 0x14015e258
mov eax, dword [rsp + 0x4c]
cmp eax, 2
jge 0x14015e1b5
lea rdi, [rsp + 0x2d0]
mov r8d, 0x100
mov rcx, rdi
mov dl, 0xaa
call fcn.1402b6a10
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov dword [r15 + 0x11b0], eax
mov r8d, 0x100
mov ecx, eax
mov rdx, rdi
call fcn.14017a680
lea rdx, str.bind_failed_with_errno__d:__s
mov rcx, r15
mov r8d, ebx
mov r9, rax
call fcn.140158420
mov rdx, qword [rsp + 0x78]
mov rcx, rsi
call fcn.14015d840
mov eax, Ordinal_46
jmp 0x14015dc83
lea r8, [rsp + 0x84]
mov dword [r8], Ordinal_133
xorps xmm0, xmm0
lea rdx, [rsp + 0x250]
movaps xmmword [rdx], xmm0
movaps xmmword [rdx + 0x10], xmm0
movaps xmmword [rdx + 0x20], xmm0
movaps xmmword [rdx + 0x30], xmm0
movaps xmmword [rdx + 0x40], xmm0
movaps xmmword [rdx + 0x50], xmm0
movaps xmmword [rdx + 0x60], xmm0
movaps xmmword [rdx + 0x70], xmm0
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
js 0x14015e2c9
movzx r8d, r12w
lea rdx, str.Local_port:__hu_n
mov rcx, r15
call fcn.1401581f0
mov byte [rsi + 0x66c], 1
mov rdi, qword [rsp + 0x60]
mov r15d, dword [rsp + 0x5c]
jmp 0x14015de2f
lea rdi, [rsp + 0x2d0]
mov r8d, 0x100
mov rcx, rdi
mov dl, 0xaa
call fcn.1402b6a10
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov dword [r15 + 0x11b0], eax
mov r8d, 0x100
mov ecx, eax
mov rdx, rdi
call fcn.14017a680
lea rdx, str.getsockname___failed_with_errno__d:__s
jmp 0x14015e233
mov r9, r13
mov byte [r14 + 0x1597], 0
lea rdx, str.Couldnt_bind_to__s
mov rcx, r14
mov r8, r9
call fcn.140158420
jmp 0x14015e241
lea rcx, [rsp + 0x2d0]
mov r8d, 0x100
xor edx, edx
call fcn.1402b6a10
movzx ebp, byte [rbx]
sub ebp, 0x69
jne 0x14015e361
movzx ebp, byte [rbx + 1]
sub ebp, 0x66
jne 0x14015e361
movzx eax, byte [rbx + 2]
mov ebp, 0x21
sub ebp, eax
jmp 0x14015e363
neg ebp
test ebp, ebp
je 0x14015e47e
lea rcx, str.host_
mov r8d, 5
mov rdx, rbx
call fcn.14029c190
xor ecx, ecx
test eax, eax
sete cl
lea r9, [rcx + rcx*4]
add r9, rbx
test eax, eax
jne 0x14015e485
mov rbx, rdi
mov edi, dword [rsi + 0x6a8]
cmp r15d, 2
je 0x14015e3b2
cmp r15d, 0x17
jne 0x14015e3bd
mov eax, 2
jmp 0x14015e3b7
mov eax, 1
mov dword [rsi + 0x6a8], eax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov r13, r9
mov rdx, r9
xor r8d, r8d
xor r9d, r9d
call fcn.140178830
cmp eax, 1
jne 0x14015e3f3
lea rdx, [rsp + 0x88]
mov rcx, rsi
call fcn.1401571b0
mov dword [rsi + 0x6a8], edi
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14015e30c
mov rcx, qword [rax]
mov r8d, 0x100
lea rdi, [rsp + 0x2d0]
mov rdx, rdi
call fcn.140178240
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov eax, dword [rax + 4]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
lea rdx, str.Name__s_family__i_resolved_to__s_family__i_n
mov rcx, r14
mov r8, r13
mov r9d, r15d
call fcn.1401581f0
mov rdx, qword [rsp + 0x88]
mov rcx, r14
call fcn.140178b50
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
cmp r15d, dword [rax + 4]
mov rdi, rbx
je 0x14015e52a
mov rdx, qword [rsp + 0x78]
jmp 0x14015e4f9
add rbx, 3
mov r9, rbx
mov r8d, dword [rsi + 0x328]
lea rax, [rsp + 0x2d0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0x100
mov ecx, r15d
mov edx, r13d
mov rbx, r9
call fcn.1400c24e0
cmp eax, 2
je 0x14015e50b
cmp eax, 1
je 0x14015e4f4
test eax, eax
je 0x14015e4cd
test ebp, ebp
mov r9, rbx
jne 0x14015e396
jmp 0x14015e30f
test ebp, ebp
mov r9, rbx
jne 0x14015e396
lea rdx, str.Couldnt_bind_to_interface__s
mov rcx, r14
mov r8, r9
call fcn.140158420
mov rdx, qword [rsp + 0x50]
jmp 0x14015e246
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
call fcn.14015d840
mov eax, 7
jmp 0x14015dc83
mov dword [rsp + 0x20], r15d
lea rdx, str.Local_Interface__s_is_ip__s_using_address_family__i_n
lea r9, [rsp + 0x2d0]
mov rcx, r14
mov r8, rbx
call fcn.1401581f0
xor r13d, r13d
cmp r15d, 2
je 0x14015e5ba
cmp r15d, 0x17
jne 0x14015e5f9
lea rcx, [rsp + 0x2d0]
mov edx, Ordinal_41
call fcn.14027a740
test rax, rax
je 0x14015e5b6
mov rbx, rax
inc rbx
mov byte [rax], 0
lea r8, [rsp + 0x3d8]
lea rdx, [rsp + 0x2d0]
mov ecx, reloc.WS2_32.dll_socket
call fcn.140177d60
mov r13d, 0x1c
test eax, eax
jle 0x14015e5f9
mov word [rsp + 0x3d0], reloc.WS2_32.dll_socket
mov ecx, r12d
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x3d2], ax
test rbx, rbx
je 0x14015e5f9
mov rcx, rbx
call fcn.1402972bc
mov dword [rsp + 0x3e8], eax
jmp 0x14015e5f9
xor ebx, ebx
jmp 0x14015e561
lea r8, [rsp + 0x3d4]
lea rdx, [rsp + 0x2d0]
mov ecx, 2
call fcn.140177d60
test eax, eax
jle 0x14015e5f9
mov word [rsp + 0x3d0], 2
mov ecx, r12d
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x3d2], ax
mov r13d, reloc.WS2_32.dll_recv
mov r15, r14
mov qword [rsp + 0x60], rdi
jmp 0x14015e196