Function at 0x14006e400
Capabilities:
Get local ipv4 addresses
Get socket information
Get socket status
Set socket configuration

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x5a8]
sub rsp, 0x6a8
mov rax, qword [0x1403e3c28]
xor rax, rsp
mov qword [rbp + 0x590], rax
mov r15, qword [0x140400720]
mov rsi, r9
mov r14d, r8d
mov ebx, edx
mov rdi, rcx
test r9, r9
je 0x14006e456
cmp edx, 0x6c616472
je 0x14006e456
mov edx, dword [rbp + 0x600]
mov rcx, r9
call fcn.140063da0
test rdi, rdi
jne 0x14006e474
mov r9d, dword [rbp + 0x600]
mov r8, rsi
mov edx, r14d
mov ecx, ebx
call fcn.14006f430
jmp 0x14006e7bd
cmp ebx, 0x62696e64
jne 0x14006e555
cmp byte [rdi + 0x26], 0
mov ebx, 0xffffffff
je 0x14006e4b3
lea rcx, [rsi + 2]
mov word [rsi], 2
lea edx, [rbx + 0xf]
call fcn.140063da0
movzx eax, byte [rdi + 0x4d]
xor ebx, ebx
mov byte [rsi + 2], al
movzx eax, byte [rdi + 0x4c]
mov byte [rsi + 3], al
mov eax, ebx
jmp 0x14006e7bd
cmp qword [rdi + 0x10], 0xffffffffffffffff
je 0x14006e54e
mov rcx, qword [rdi + 0x10]
lea r8, [rbp + 0x600]
lea rdx, [rsp + 0x40]
mov dword [rbp + 0x600], 0x1c
call qword [sym.imp.WS2_32.dll_getsockname]
mov ebx, eax
test eax, eax
jne 0x14006e53d
lea rcx, [rsi + 2]
mov word [rsi], 2
lea edx, [rax + 0xe]
call fcn.140063da0
movzx ecx, word [rsp + 0x42]
call fcn.14006a570
movzx ecx, word [rsp + 0x42]
shr ax, 8
mov byte [rsi + 2], al
call fcn.14006a570
lea rcx, [r15 + 0x90]
mov byte [rsi + 3], al
lea r8d, [rbx + 0x1c]
lea rdx, [rsp + 0x40]
call fcn.140069a90
mov byte [rsi + 7], al
shr eax, 8
mov byte [rsi + 6], al
shr eax, 8
mov byte [rsi + 5], al
shr eax, 8
mov byte [rsi + 4], al
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
mov ecx, ebx
call fcn.140070040
mov ebx, eax
mov eax, ebx
jmp 0x14006e7bd
cmp ebx, 0x6d617872
jne 0x14006e568
mov eax, dword [rdi + 0xfc]
jmp 0x14006e7bd
cmp ebx, 0x6d617873
jne 0x14006e578
mov eax, dword [rdi + 0x54]
jmp 0x14006e7bd
cmp ebx, 0x70726f74
jne 0x14006e588
mov eax, dword [rdi + 0x20]
jmp 0x14006e7bd
cmp ebx, 0x76697274
jne 0x14006e599
movzx eax, byte [rdi + 0x26]
jmp 0x14006e7bd
cmp qword [rdi + 8], 0
je 0x14006e5b1
mov dword [rdi + 0x28], 0xfffffff5
mov eax, 0xfffffff5
jmp 0x14006e7bd
cmp ebx, 0x636f6e6e
je 0x14006e7a7
cmp ebx, 0x70656572
je 0x14006e7a7
cmp ebx, 0x70647270
je 0x14006e77b
cmp ebx, 0x706d6178
je 0x14006e77b
cmp ebx, 0x7073697a
je 0x14006e77b
cmp ebx, 0x72617472
jne 0x14006e600
mov eax, dword [rdi + 0x100]
jmp 0x14006e7bd
cmp ebx, 0x72617473
jne 0x14006e610
mov eax, dword [rdi + 0x58]
jmp 0x14006e7bd
cmp ebx, 0x73657272
jne 0x14006e620
mov eax, dword [rdi + 0x28]
jmp 0x14006e7bd
cmp ebx, 0x736f636b
jne 0x14006e650
test rsi, rsi
je 0x14006e648
cmp dword [rbp + 0x600], 8
jne 0x14006e648
lea rdx, [rdi + 0x10]
mov r8d, 8
mov rcx, rsi
call fcn.140063db0
mov eax, dword [rdi + 0x10]
jmp 0x14006e7bd
cmp ebx, 0x73746174
jne 0x14006e774
cmp dword [rdi + 0x1c], 1
je 0x14006e66c
mov eax, 1
jmp 0x14006e7bd
xor ebx, ebx
cmp byte [rdi + 0x24], bl
jne 0x14006e6db
mov rax, qword [rdi + 0x10]
lea r9, [rsp + 0x60]
mov ecx, eax
mov qword [rbp + 0x178], rax
mov qword [rsp + 0x68], rax
lea r8, [rbp + 0x170]
lea rax, [rsp + 0x38]
mov dword [rbp + 0x170], 1
inc ecx
mov qword [rsp + 0x20], rax
xor edx, edx
mov dword [rsp + 0x60], 1
mov qword [rsp + 0x38], rbx
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x14006e6d8
cmp dword [rsp + 0x60], ebx
jbe 0x14006e6cc
mov byte [rdi + 0x24], 0xff
jmp 0x14006e6d8
cmp dword [rbp + 0x170], ebx
jbe 0x14006e6d8
mov byte [rdi + 0x24], 1
cmp byte [rdi + 0x24], bl
jle 0x14006e76e
mov rax, qword [rdi + 0x10]
lea r9, [rsp + 0x60]
mov ecx, eax
mov qword [rbp + 0x388], rax
mov qword [rsp + 0x68], rax
lea rdx, [rbp + 0x380]
lea rax, [rsp + 0x38]
mov dword [rbp + 0x380], 1
inc ecx
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov dword [rsp + 0x60], 1
mov qword [rsp + 0x38], rbx
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x14006e76e
cmp dword [rsp + 0x60], ebx
ja 0x14006e76a
cmp dword [rbp + 0x380], ebx
jbe 0x14006e76e
mov rcx, qword [rdi + 0x10]
lea r8, [rsp + 0x30]
mov edx, 0x4004667f
mov dword [rsp + 0x30], 1
call qword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
jne 0x14006e763
cmp dword [rsp + 0x30], ebx
jne 0x14006e76e
mov dword [rdi + 0x28], 0xffffffff
mov byte [rdi + 0x24], 0xff
movsx eax, byte [rdi + 0x24]
jmp 0x14006e7bd
mov eax, 0xffffffff
jmp 0x14006e7bd
lea rcx, [rdi + 0x1e0]
call fcn.14006bf70
mov rcx, qword [rdi + 0x228]
mov edx, ebx
call fcn.14006b070
lea rcx, [rdi + 0x1e0]
mov ebx, eax
call fcn.14006c200
mov eax, ebx
jmp 0x14006e7bd
mov rcx, qword [rdi + 0x10]
lea r8, [rbp + 0x600]
mov rdx, rsi
call qword [sym.imp.WS2_32.dll_getpeername]
xor eax, eax
mov rcx, qword [rbp + 0x590]
xor rcx, rsp
call fcn.1401f11e0
add rsp, 0x6a8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret