Function at 0x14003f3a0
Capabilities:
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, 0x278
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x1400cb080]
xor rax, rsp
mov qword [rsp + 0x270], rax
mov r13, qword [rcx + 0x10]
lea rcx, [rsp + 0xf0]
call fcn.140036620
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [r13 + 0x148], xmm0
lea rbx, [r13 + 8]
cmp qword [rdi + 0x278], 0
je 0x14003f430
mov rcx, rdi
mov dl, 1
call fcn.14002a280
mov rcx, qword [rdi + 0x280]
xor edx, edx
mov r8, rbx
call qword [rdi + 0x278]
mov qword [r13 + 0x98], rax
mov rcx, rdi
xor edx, edx
call fcn.14002a280
mov rax, qword [r13 + 0x98]
jmp 0x14003f449
mov r8d, dword [r13 + 0x10]
mov ecx, dword [r13 + 8]
mov edx, dword [r13 + 0xc]
call qword [sym.imp.WS2_32.dll_socket]
mov qword [r13 + 0x98], rax
mov ebp, 7
cmp rax, 0xffffffffffffffff
je 0x14003f67d
mov r14, qword [rsi + 0x10]
lea r9, [r14 + 0x110]
lea r8, [r14 + 0xe0]
mov edx, dword [r14 + 0x14]
lea rcx, [r14 + 0x18]
call fcn.1400347f0
test al, al
je 0x14003f633
cmp byte [rdi + 0xa87], 0
je 0x14003f4a5
mov r9d, dword [r13 + 0x110]
lea r8, [r13 + 0xe0]
lea rdx, str.__Trying__s:_d...
mov rcx, rdi
call fcn.14001cd60
cmp dword [rbx], 2
jne 0x14003f73a
cmp dword [r13 + 0xc], 1
jne 0x14003f73a
cmp byte [rdi + 0xa8c], 0
je 0x14003f52f
mov rcx, qword [r13 + 0x98]
mov dword [rsp + 0x1f0], 1
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x1f0]
mov edx, 6
mov r8d, 1
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x14003f52f
cmp byte [rdi + 0xa87], 0
je 0x14003f52f
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0xf0]
mov r8d, 0x100
mov ecx, eax
call fcn.140050c90
lea rdx, str.Could_not_set_TCP_NODELAY:__s
mov rcx, rdi
mov r8, rax
call fcn.14001cd60
mov rcx, qword [r13 + 0x98]
call fcn.14003d980
movzx eax, byte [rdi + 0xa93]
test eax, eax
je 0x14003f746
mov r14, qword [r13 + 0x98]
mov dword [rsp + 0x1f0], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x1f0]
mov rcx, r14
mov edx, 0xffff
mov r8d, 8
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
js 0x14003f908
mov dword [rsp + 0xf0], 1
mov ecx, dword [rdi + 0xa04]
call fcn.14002d8e0
imul eax, eax, 0x3e8
mov dword [rsp + 0x1f0], eax
mov dword [rsp + 0xf4], eax
mov ecx, dword [rdi + 0xa08]
call fcn.14002d8e0
imul eax, eax, 0x3e8
mov dword [rsp + 0x1f0], eax
mov dword [rsp + 0xf8], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0xf0]
mov rcx, r14
mov edx, 0x98000004
mov r9d, ntohs
call qword [sym.imp.WS2_32.dll_WSAIoctl]
test eax, eax
je 0x14003f746
cmp byte [rdi + 0xa87], 0
je 0x14003f746
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, str.Failed_to_set_SIO_KEEPALIVE_VALS_on_fd__qd:_errno__d
jmp 0x14003f922
call fcn.14008c87c
mov eax, dword [rax]
mov dword [r14 + 0x178], eax
call fcn.14008c87c
mov ecx, dword [rax]
lea rdx, [rsp + 0xf0]
mov r8d, 0x100
call fcn.140050c90
mov rbx, rax
call fcn.14008c87c
mov r8d, dword [rax]
lea rdx, str.sa_addr_inet_ntop___failed_with_errno__d:__s
mov rcx, rdi
mov r9, rbx
call fcn.14001cc90
mov ebp, 2
mov rbx, qword [r13 + 0x98]
cmp rbx, 0xffffffffffffffff
je 0x14003f6dc
mov r14, qword [rsi + 0x18]
test r14, r14
je 0x14003f6c8
mov r15, qword [r14 + 0x18]
mov rcx, rdi
mov rdx, rbx
call fcn.140029ca0
test r15, r15
je 0x14003f6c8
mov rcx, rdi
mov dl, 1
call fcn.14002a280
mov rcx, qword [r14 + 0x20]
mov rdx, rbx
call qword [r14 + Ordinal_26]
mov rcx, rdi
xor edx, edx
call fcn.14002a280
jmp 0x14003f6d1
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r13 + 0x98], 0xffffffffffffffff
test rsi, rsi
je 0x14003f714
cmp byte [rdi + 0xa87], 0
je 0x14003f714
mov rax, qword [rsi]
cmp dword [rax + 0xc], 0
jle 0x14003f714
mov rax, qword [r13 + 0x98]
mov qword [rsp + 0x20], rax
lea r8, str.cf_socket_open_______d__fd_qd
mov rcx, rdi
mov rdx, rsi
mov r9d, ebp
call fcn.14001ce00
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
call fcn.140080da0
mov eax, ebp
add rsp, 0x278
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [r13 + 0x98]
call fcn.14003d980
cmp qword [rdi + 0x268], 0
je 0x14003f795
mov rcx, rdi
mov dl, 1
call fcn.14002a280
mov rdx, qword [r13 + 0x98]
mov rcx, qword [rdi + 0x270]
xor r12d, r12d
xor r8d, r8d
call qword [rdi + 0x268]
mov r14d, eax
mov rcx, rdi
xor edx, edx
call fcn.14002a280
cmp r14d, 2
je 0x14003f798
mov ebp, Ordinal_46
test r14d, r14d
jne 0x14003f67d
mov r12b, 1
cmp dword [rbx], 2
jne 0x14003fb6d
mov rax, qword [r13 + 0x98]
mov qword [rsp + 0x58], rax
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x68], 0
movzx ebx, word [rdi + 0x220]
movzx r14d, word [rdi + 0x222]
mov r15, qword [rdi + 0x740]
test r15, r15
jne 0x14003f7de
test bx, bx
je 0x14003fb6d
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x260], xmm0
movaps xmmword [rsp + 0x250], xmm0
movaps xmmword [rsp + 0x240], xmm0
movaps xmmword [rsp + 0x230], xmm0
movaps xmmword [rsp + 0x220], xmm0
movaps xmmword [rsp + 0x210], xmm0
movaps xmmword [rsp + 0x200], xmm0
movaps xmmword [rsp + 0x1f0], xmm0
test r15, r15
je 0x14003faa3
mov rcx, r15
call fcn.140094370
cmp rax, 0xfe
ja 0x14003faa3
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x170], xmm0
movaps xmmword [rsp + 0x160], xmm0
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0xf0], xmm0
lea rcx, [0x1400c287a]
mov r8d, 3
mov rdx, r15
call fcn.140094430
mov ebp, eax
test eax, eax
je 0x14003f935
lea rcx, str.host_
mov r8d, 5
mov rdx, r15
call fcn.140094430
test eax, eax
jne 0x14003f939
add r15, 5
mov rax, qword [rsp + 0x50]
jmp 0x14003f9bc
cmp byte [rdi + 0xa87], 0
je 0x14003f746
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, str.Failed_to_set_SO_KEEPALIVE_on_fd__qd:_errno__d
mov rcx, rdi
mov r8, r14
mov r9d, eax
call fcn.14001cd60
jmp 0x14003f746
add r15, 3
lea r8, [rsp + 0xf0]
mov ecx, 2
mov rdx, r15
mov r9d, 0x100
call fcn.14001ced0
cmp eax, 2
je 0x14003f97b
cmp eax, 1
je 0x14003fca9
test eax, eax
jne 0x14003f9af
test ebp, ebp
mov rax, qword [rsp + 0x50]
jne 0x14003f9bc
lea rdx, str.Couldnt_bind_to_interface__s
jmp 0x14003fcc1
cmp byte [rdi + 0xa87], 0
je 0x14003fa81
mov dword [rsp + 0x20], 2
lea rdx, str.Local_Interface__s_is_ip__s_using_address_family__i
lea r9, [rsp + 0xf0]
mov rcx, rdi
mov r8, r15
call fcn.14001cd60
jmp 0x14003fa81
test ebp, ebp
mov rax, qword [rsp + 0x50]
je 0x14003fcb3
movzx ebp, byte [rax + 0x6c7]
mov byte [rax + 0x6c7], 1
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, r15
mov r8d, 0x50
xor r9d, r9d
call fcn.14004a010
cmp eax, 1
jne 0x14003f9fa
lea rdx, [rsp + 0x68]
mov rcx, rdi
call fcn.140020520
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x6c7], bpl
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14003fcb3
mov rcx, qword [rax]
lea rbp, [rsp + 0xf0]
mov r8d, 0x100
mov rdx, rbp
call fcn.140049870
cmp byte [rdi + 0xa87], 0
je 0x14003fa62
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov eax, dword [rax + 4]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbp
lea rdx, str.Name__s_family__i_resolved_to__s_family__i
mov rcx, rdi
mov r8, r15
mov r9d, 2
call fcn.14001cd60
mov rdx, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14004a650
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
cmp dword [rax + 4], 2
jne 0x14003fca9
lea r8, [rsp + 0x1f4]
lea rdx, [rsp + 0xf0]
mov ecx, 2
call fcn.140044df0
test eax, eax
jle 0x14003fcd6
mov word [rsp + 0x1f0], 2
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x1f2], ax
mov ebp, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x1f0]
mov rcx, qword [rsp + 0x58]
mov r8d, ebp
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
js 0x14003fbc7
mov dword [rsp + 0x64], Ordinal_133
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x64]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
js 0x14003fc3b
cmp byte [rdi + 0xa87], 0
je 0x14003fb61
movzx r8d, bx
lea rdx, str.Local_port:__hu
mov rcx, rdi
call fcn.14001cd60
mov rax, qword [rsp + 0x50]
mov byte [rax + 0x2be], 1
mov rcx, qword [r13 + 0x98]
mov edx, 1
call fcn.140073460
cmp dword [r13 + 0xc], 2
setne byte [r13 + 0x17e]
xor ebp, ebp
test r12b, r12b
jne 0x14003f6dc
mov rcx, rsi
mov rdx, rdi
call fcn.14003eff0
lea rcx, [rsp + 0xf0]
call fcn.140036620
movups xmm0, xmmword [rsp + 0xf0]
movups xmmword [r13 + 0x158], xmm0
mov byte [rsi + 0x24], 1
jmp 0x14003f6dc
movzx ebx, bx
mov r15, qword [sym.imp.WS2_32.dll_bind]
jmp 0x14003fbf1
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x1f0]
mov r8d, ebp
call r15
dec r14d
test eax, eax
jns 0x14003fae0
cmp r14d, 2
jl 0x14003fc67
cmp bx, 0xffff
je 0x14003fc67
inc ebx
cmp byte [rdi + 0xa87], 0
je 0x14003fc1e
movzx r8d, bx
dec r8d
mov rcx, rdi
lea rdx, str.Bind_to_local_port__d_failed__trying_next
call fcn.14001cd60
cmp word [rsp + 0x1f0], 2
jne 0x14003fbd3
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_ntohs]
mov word [rsp + 0x1f2], ax
jmp 0x14003fbd3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov dword [rdi + 0xd5c], eax
lea rdx, [rsp + 0xf0]
mov r8d, 0x100
mov ecx, eax
call fcn.140050c90
lea rdx, str.getsockname___failed_with_errno__d:__s
jmp 0x14003fc91
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov dword [rdi + 0xd5c], eax
lea rdx, [rsp + 0xf0]
mov r8d, 0x100
mov ecx, eax
call fcn.140050c90
lea rdx, str.bind_failed_with_errno__d:__s
mov rcx, rdi
mov r8d, ebx
mov r9, rax
call fcn.14001cc90
mov ebp, Ordinal_46
jmp 0x14003f67d
mov ebp, 7
jmp 0x14003f67d
mov byte [rdi + 0x1357], 0
lea rdx, str.Couldnt_bind_to__s
mov rcx, rdi
mov r8, r15
call fcn.14001cc90
mov ebp, Ordinal_46
jmp 0x14003f67d
xor ebp, ebp
jmp 0x14003fac2