Function at 0x14001f390
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 [0x140a480a8]
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 0x14001f3f1
test bp, bp
je 0x14001f8df
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 0x14001f511
mov rcx, r12
call fcn.140894ba0
cmp rax, 0xfe
ja 0x14001f511
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, [0x1408da3af]
mov r8d, 3
mov rdx, r12
call fcn.1408950f0
mov ebx, eax
test eax, eax
je 0x14001f54d
lea rcx, str.host_
mov r8d, 5
mov rdx, r12
call fcn.1408950f0
test eax, eax
jne 0x14001f551
add r12, 5
jmp 0x14001f5da
cmp r15d, 2
je 0x14001f72a
xor r12d, r12d
cmp r15d, 0x17
jne 0x14001f74a
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 0x14001f74a
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.1400044f0
cmp eax, 2
je 0x14001f5a1
cmp eax, 1
je 0x14001f705
test eax, eax
jne 0x14001f5d2
test ebx, ebx
jne 0x14001f5da
lea rdx, str.Couldnt_bind_to_interface__s
jmp 0x14001f6f5
cmp byte [rsi + 0xaaf], 0
je 0x14001f6ab
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.140004380
jmp 0x14001f6ab
test ebx, ebx
je 0x14001f6e7
movzx ebx, byte [r14 + 0x70c]
cmp r15d, 2
je 0x14001f5f2
cmp r15d, 0x17
jne 0x14001f5fb
mov al, 2
jmp 0x14001f5f4
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.140029180
cmp eax, 1
jne 0x14001f62b
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.140006ee0
mov byte [r14 + 0x70c], bl
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14001f6e7
mov rcx, qword [rax]
lea rbx, [rsp + 0xd0]
mov r8d, 0x100
mov rdx, rbx
call fcn.1400289a0
cmp byte [rsi + 0xaaf], 0
je 0x14001f68b
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.140004380
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
call fcn.140029650
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov eax, 1
cmp dword [rcx + 4], r15d
jne 0x14001f705
xor r12d, r12d
cmp r15d, 2
je 0x14001f70c
cmp r15d, 0x17
jne 0x14001f74a
lea rcx, [rsp + 0xd0]
mov edx, Ordinal_41
call fcn.140880fe0
test rax, rax
je 0x14001f905
mov rbx, rax
inc rbx
mov byte [rax], 0
jmp 0x14001f907
mov byte [rsi + 0x1367], 0
lea rdx, str.Couldnt_bind_to__s
mov rcx, rsi
mov r8, r12
call fcn.1400042b0
mov eax, Ordinal_46
mov ebx, eax
jmp 0x14001f8df
lea r8, [rsp + 0x1d4]
lea rdx, [rsp + 0xd0]
mov ecx, 2
call fcn.14004e5a0
test eax, eax
jle 0x14001f74a
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 0x14001f800
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 0x14001f876
test rsi, rsi
je 0x14001f7ed
cmp byte [rsi + 0xaaf], 0
je 0x14001f7ed
movzx r8d, bp
lea rdx, str.Local_port:__hu
mov rcx, rsi
call fcn.140004380
mov rax, qword [rsp + 0x38]
mov byte [rax + 0x2de], 1
xor ebx, ebx
jmp 0x14001f8df
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 0x14001f84a
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 0x14001f76d
cmp edi, 2
jl 0x14001f8a2
test r15w, r15w
je 0x14001f8a2
cmp byte [rsi + 0xaaf], 0
je 0x14001f820
movzx r8d, r15w
dec r8d
mov rcx, rsi
lea rdx, str.Bind_to_local_port__d_failed__trying_next
call fcn.140004380
jmp 0x14001f820
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.140001470
lea rdx, str.getsockname___failed_with_errno__d:__s
jmp 0x14001f8cc
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.140001470
lea rdx, str.bind_failed_with_errno__d:__s
mov rcx, rsi
mov r8d, edi
mov r9, rax
call fcn.1400042b0
mov ebx, Ordinal_46
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.14087bc90
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 0x14001f74a
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 0x14001f74a
mov rcx, rbx
xor edx, edx
mov r8d, 0xa
call fcn.140895a60
mov dword [rsp + 0x1e8], eax
jmp 0x14001f74a