Function at 0x14001e910
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
mov r15d, r9d
mov qword [rsp + 0x30], r8
mov r14, rdx
mov rsi, rcx
mov rax, qword [0x140a7a0a8]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x48], 0
movzx ebp, word [rcx + 0x228]
movzx edi, word [rcx + 0x22a]
mov r12, qword [rcx + 0x758]
xor ebx, ebx
test r12, r12
jne 0x14001e971
test bp, bp
je 0x14001ee5f
xorps xmm0, 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
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
test r12, r12
je 0x14001ea91
mov rcx, r12
call fcn.1408c5050
cmp rax, 0xfe
ja 0x14001ea91
xorps xmm0, 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
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
lea rcx, [0x140907a3f]
mov r8d, 3
mov rdx, r12
call fcn.1408c55a0
mov ebx, eax
test eax, eax
je 0x14001eacd
lea rcx, str.host_
mov r8d, 5
mov rdx, r12
call fcn.1408c55a0
test eax, eax
jne 0x14001ead1
add r12, 5
jmp 0x14001eb5a
cmp r15d, 2
je 0x14001ecaa
xor r12d, r12d
cmp r15d, 0x17
jne 0x14001ecca
mov word [rsp + 0x1d0], reloc.WS2_32.dll_socket
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x1d2], ax
mov r12d, 0x1c
jmp 0x14001ecca
add r12, 3
mov edx, dword [rsp + 0x2c0]
mov r8d, dword [r14 + 0x700]
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0x100
mov ecx, r15d
mov r9, r12
call fcn.140003a70
cmp eax, 2
je 0x14001eb21
cmp eax, 1
je 0x14001ec85
test eax, eax
jne 0x14001eb52
test ebx, ebx
jne 0x14001eb5a
lea rdx, str.Couldnt_bind_to_interface__s
jmp 0x14001ec75
cmp byte [rsi + 0xaaf], 0
je 0x14001ec2b
mov dword [rsp + 0x20], r15d
lea rdx, str.Local_Interface__s_is_ip__s_using_address_family__i
lea r9, [rsp + 0xd0]
mov rcx, rsi
mov r8, r12
call fcn.140003900
jmp 0x14001ec2b
test ebx, ebx
je 0x14001ec67
movzx ebx, byte [r14 + 0x70c]
cmp r15d, 2
je 0x14001eb72
cmp r15d, 0x17
jne 0x14001eb7b
mov al, 2
jmp 0x14001eb74
mov al, 1
mov byte [r14 + 0x70c], al
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r12
mov r8d, 0x50
xor r9d, r9d
call fcn.140028700
cmp eax, 1
jne 0x14001ebab
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.140006460
mov byte [r14 + 0x70c], bl
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14001ec67
mov rcx, qword [rax]
lea rbx, [rsp + 0xd0]
mov r8d, 0x100
mov rdx, rbx
call fcn.140027f20
cmp byte [rsi + 0xaaf], 0
je 0x14001ec0b
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov eax, dword [rax + 4]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
lea rdx, str.Name__s_family__i_resolved_to__s_family__i
mov rcx, rsi
mov r8, r12
mov r9d, r15d
call fcn.140003900
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
call fcn.140028bd0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov eax, 1
cmp dword [rcx + 4], r15d
jne 0x14001ec85
xor r12d, r12d
cmp r15d, 2
je 0x14001ec8c
cmp r15d, 0x17
jne 0x14001ecca
lea rcx, [rsp + 0xd0]
mov edx, Ordinal_41
call fcn.1408b1cf0
test rax, rax
je 0x14001ee85
mov rbx, rax
inc rbx
mov byte [rax], 0
jmp 0x14001ee87
mov byte [rsi + 0x1367], 0
lea rdx, str.Couldnt_bind_to__s
mov rcx, rsi
mov r8, r12
call fcn.140003830
mov eax, Ordinal_46
mov ebx, eax
jmp 0x14001ee5f
lea r8, [rsp + 0x1d4]
lea rdx, [rsp + 0xd0]
mov ecx, 2
call fcn.14004e5a0
test eax, eax
jle 0x14001ecca
mov word [rsp + 0x1d0], 2
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x1d2], ax
mov r12d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x1d0]
mov rcx, qword [rsp + 0x30]
mov r8d, r12d
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
mov qword [rsp + 0x38], r14
js 0x14001ed80
mov dword [rsp + 0x44], Ordinal_133
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], 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
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x44]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
js 0x14001edf6
test rsi, rsi
je 0x14001ed6d
cmp byte [rsi + 0xaaf], 0
je 0x14001ed6d
movzx r8d, bp
lea rdx, str.Local_port:__hu
mov rcx, rsi
call fcn.140003900
mov rax, qword [rsp + 0x38]
mov byte [rax + 0x2de], 1
xor ebx, ebx
jmp 0x14001ee5f
movzx r15d, bp
inc r15d
mov r14, qword [sym.imp.WS2_32.dll_ntohs]
lea r13, [rsp + 0x1d0]
mov rbx, qword [sym.imp.WS2_32.dll_bind]
jmp 0x14001edca
mov ecx, r15d
call r14
mov word [rsp + 0x1d2], ax
mov rcx, qword [rsp + 0x30]
mov rdx, r13
mov r8d, r12d
call rbx
inc r15d
inc ebp
dec edi
test eax, eax
jns 0x14001eced
cmp edi, 2
jl 0x14001ee22
test r15w, r15w
je 0x14001ee22
cmp byte [rsi + 0xaaf], 0
je 0x14001eda0
movzx r8d, r15w
dec r8d
mov rcx, rsi
lea rdx, str.Bind_to_local_port__d_failed__trying_next
call fcn.140003900
jmp 0x14001eda0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov dword [rsi + 0xd74], eax
lea rdx, [rsp + 0xd0]
mov r8d, 0x100
mov ecx, eax
call fcn.140036ed0
lea rdx, str.getsockname___failed_with_errno__d:__s
jmp 0x14001ee4c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov dword [rsi + 0xd74], eax
lea rdx, [rsp + 0xd0]
mov r8d, 0x100
mov ecx, eax
call fcn.140036ed0
lea rdx, str.bind_failed_with_errno__d:__s
mov rcx, rsi
mov r8d, edi
mov r9, rax
call fcn.140003830
mov ebx, Ordinal_46
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.1408ac9a0
mov eax, ebx
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ebx, ebx
lea r8, [rsp + 0x1d8]
lea rdx, [rsp + 0xd0]
mov ecx, reloc.WS2_32.dll_socket
call fcn.14004e5a0
mov r12d, 0x1c
test eax, eax
jle 0x14001ecca
mov word [rsp + 0x1d0], reloc.WS2_32.dll_socket
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x1d2], ax
test rbx, rbx
je 0x14001ecca
mov rcx, rbx
xor edx, edx
mov r8d, 0xa
call fcn.1408c5f10
mov dword [rsp + 0x1e8], eax
jmp 0x14001ecca