Function at 0x18002bcfc
Capabilities:
Get local ipv4 addresses
Set socket configuration

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rbx, rcx
xor ebp, ebp
xor ecx, ecx
mov rsi, rbp
mov r15d, ebp
mov word [rax + 8], 0x9951
call fcn.18001a9f8
xor ecx, ecx
mov qword [rbx + 0xd70], rax
call fcn.18001a9f8
mov cx, 0x9951
add rax, 0x12c
mov word [rbx + 0xd80], 2
mov qword [rbx + 0xd78], rax
call qword [sym.imp.WS2_32.dll_htons]
mov dword [rbx + 0xd84], 0x10000e0
mov rdi, rbp
mov dword [rsp + 0x98], ebp
mov r13d, ebp
mov word [rbx + 0xd82], ax
mov r12d, ebp
xor r8d, r8d
lea rax, [rsp + 0x98]
mov r9, rdi
lea edx, [r8 + 0x2e]
mov qword [rsp + 0x20], rax
lea ecx, [rdx - 0x2c]
call sub.IPHLPAPI.DLL_GetAdaptersAddresses
cmp eax, 0x6f
mov ebp, eax
jne 0x18002bdf0
test rdi, rdi
je 0x18002bdb6
mov rcx, qword [0x180052eb0]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8d, dword [rsp + 0x98]
mov rcx, qword [0x180052eb0]
xor edx, edx
add r8d, 0xb8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
mov rdi, rax
je 0x18002bdeb
add r12d, 1
cmp r12d, 0xa
jb 0x18002bd79
xor r12d, r12d
jmp 0x18002bdf8
mov ebp, 8
xor r12d, r12d
cmp ebp, r12d
je 0x18002be11
cmp rdi, r12
je 0x18002be2c
mov rcx, qword [0x180052eb0]
mov r8, rdi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18002be2c
cmp rdi, r12
mov rax, rdi
je 0x18002be26
mov rax, qword [rax + 8]
add r13d, 1
cmp rax, r12
jne 0x18002be19
mov rsi, rdi
mov r15d, r13d
cmp ebp, r12d
lea rax, [0x18002b908]
mov r13d, 2
cmovne rsi, r12
lea rbp, [rbx + 0xdb0]
lea r9, [rsp + 0x90]
mov qword [rsp + 0x48], rbp
mov dword [rsp + 0x40], r12d
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rax
mov r8d, r13d
mov edx, r13d
mov rcx, rbx
mov dword [rsp + 0x28], 1
mov qword [rsp + 0xa0], rsi
mov dword [rsp + 0x20], 1
call fcn.1800357d0
cmp eax, r12d
mov edi, eax
jne 0x18002bf0a
mov rcx, qword [rbp]
mov dword [rsp + 0x90], r12d
lea r9, [rsp + 0x90]
mov rcx, qword [rcx]
lea r8d, [r13 + 9]
xor edx, edx
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp rsi, r12
je 0x18002bef4
mov r12, rsi
xor esi, esi
mov rcx, qword [rbp]
mov r8d, dword [r12 + 4]
lea rdx, [rbx + 0xd84]
mov rcx, qword [rcx]
call fcn.18003566c
mov r12, qword [r12 + 8]
cmp r12, rsi
jne 0x18002bec5
mov rsi, qword [rsp + 0xa0]
xor r12d, r12d
jmp 0x18002bf0a
mov rcx, qword [rbp]
lea rdx, [rbx + 0xd84]
xor r8d, r8d
mov rcx, qword [rcx]
call fcn.18003566c
mov rdx, qword [rbp]
cmp rdx, r12
jne 0x18002bf1c
cmp qword [rbx + 0xdb8], r12
je 0x18002bf63
cmp rdx, r12
mov edi, r12d
je 0x18002bf40
mov rcx, rbx
call fcn.1800356e8
cmp eax, r12d
mov edi, eax
je 0x18002bf40
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, r12d
mov edi, eax
jne 0x18002bf63
mov rdx, qword [rbx + 0xdb8]
cmp rdx, r12
je 0x18002bf63
mov rcx, rbx
call fcn.1800356e8
cmp eax, r12d
mov edi, eax
je 0x18002bf63
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov rcx, qword [0x180052eb0]
xor edx, edx
cmp rsi, r12
je 0x18002c0fa
lea r8d, [r15 + r15*8]
shl r8d, 4
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
cmp rax, r12
mov qword [rbx + 0xdc0], rax
je 0x18002c1c6
mov r14d, r12d
mov rbp, rsi
xor r15d, r15d
cmp dword [rbp + 0x68], 1
jne 0x18002c0de
mov rax, qword [rbp + 0x18]
cmp rax, r15
je 0x18002c0de
mov r13, qword [rax + 0x10]
cmp r13, r15
je 0x18002c0de
cmp dword [rax + 0x18], 0x10
jne 0x18002c0de
mov cx, 0x9951
call qword [sym.imp.WS2_32.dll_htons]
xor r8d, r8d
mov word [r13 + 2], ax
lea eax, [r8 + 2]
mov edx, eax
mov ecx, eax
call qword [sym.imp.WS2_32.dll_socket]
mov rcx, qword [rbx + 0xdc0]
mov qword [r12 + rcx], rax
mov rax, qword [rbx + 0xdc0]
mov rcx, qword [rax + r12]
cmp rcx, 0xffffffffffffffff
je 0x18002c0da
mov r8d, 0x10
mov rdx, r13
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, r15d
jne 0x18002c0c7
mov eax, r14d
mov r8d, 0x10
mov rdx, r13
lea rcx, [rax + rax*8]
mov rax, qword [rbx + 0xdc0]
add rcx, rcx
lea rcx, [rax + rcx*8 + 8]
call sub.ntdll.dll_memcpy
mov r11, qword [rbx + 0xdc0]
mov r13d, 4
mov dword [r11 + r12 + 0x88], 0x10
mov rcx, qword [rbx + 0xdc0]
mov dword [rsp + 0x90], 0x32
mov rcx, qword [rcx + r12]
lea r9, [rsp + 0x90]
lea r8d, [r13 + 6]
xor edx, edx
mov dword [rsp + 0x20], r13d
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rcx, qword [rbx + 0xdc0]
mov dword [rsp + 0x90], r15d
mov rcx, qword [rcx + r12]
lea r9, [rsp + 0x90]
lea r8d, [r13 + 7]
xor edx, edx
mov dword [rsp + 0x20], r13d
call qword [sym.imp.WS2_32.dll_setsockopt]
add r14d, 1
add r12, 0x90
jmp 0x18002c0de
mov rcx, qword [rbx + 0xdc0]
mov rcx, qword [rcx + r12]
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x18002c0de
mov qword [rax + r12], r15
mov rbp, qword [rbp + 8]
cmp rbp, r15
jne 0x18002bf9c
mov dword [rbx + 0xdc8], r14d
xor r12d, r12d
jmp 0x18002c1c6
mov r8d, 0x90
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
cmp rax, r12
mov qword [rbx + 0xdc0], rax
je 0x18002c1dd
xor r8d, r8d
mov edx, r13d
mov ecx, r13d
mov dword [rbx + 0xdc8], 1
call qword [sym.imp.WS2_32.dll_socket]
mov rcx, qword [rbx + 0xdc0]
mov qword [rcx], rax
mov rax, qword [rbx + 0xdc0]
cmp qword [rax], 0xffffffffffffffff
je 0x18002c1c3
lea rcx, [rax + 8]
xor edx, edx
mov r8d, 0x80
call sub.ntdll.dll_memset
mov r11, qword [rbx + 0xdc0]
mov esi, 4
mov dword [r11 + 0x88], r12d
mov rcx, qword [rbx + 0xdc0]
mov dword [rsp + 0x90], 0x32
mov rcx, qword [rcx]
lea r9, [rsp + 0x90]
lea r8d, [rsi + 6]
xor edx, edx
mov dword [rsp + 0x20], esi
call qword [sym.imp.WS2_32.dll_setsockopt]
mov rcx, qword [rbx + 0xdc0]
mov dword [rsp + 0xa0], r12d
mov rcx, qword [rcx]
lea r9, [rsp + 0xa0]
lea r8d, [rsi + 7]
xor edx, edx
mov dword [rsp + 0x20], esi
call qword [sym.imp.WS2_32.dll_setsockopt]
jmp 0x18002c1dd
mov qword [rax], r12
cmp rsi, r12
je 0x18002c1dd
mov rcx, qword [0x180052eb0]
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, edi
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret