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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x970]
sub rsp, 0xa70
mov rax, qword [0x1800f4320]
xor rax, rsp
mov qword [rbp + 0x960], rax
mov r15, qword [rcx]
mov r13d, edx
or qword [rsp + 0x40], 0xffffffffffffffff
mov rbx, rcx
xor edx, edx
lea rcx, [rbp + 0x50]
mov r8d, 0x100
call fcn.180084ad0
mov rdi, qword [r15 + 0xc28]
xor r14d, r14d
mov qword [rsp + 0x48], r14
mov r12d, r14d
mov rcx, qword [r15 + 0xc28]
mov esi, r14d
mov word [rsp + 0x32], r14w
mov word [rsp + 0x34], r14w
lea edx, [r14 + 1]
mov byte [rsp + 0x30], dl
test rcx, rcx
je 0x18006d7eb
or r8, 0xffffffffffffffff
mov rax, r8
inc rax
cmp byte [rcx + rax], r14b
jne 0x18006d658
cmp rax, rdx
jbe 0x18006d7eb
mov rax, r8
inc rax
cmp byte [rdi + rax], r14b
jne 0x18006d66d
mov ecx, socket
cmp rax, rcx
jb 0x18006d68c
mov rcx, r8
inc rcx
cmp byte [rdi + rcx], r14b
jne 0x18006d683
inc rcx
call qword [fcn.1800868fc]
mov rsi, rax
test rax, rax
jne 0x18006d6a5
lea eax, [rsi + 0x1b]
jmp 0x18006dcc5
cmp byte [rdi], 0x3a
jne 0x18006d6af
mov r14, rdi
jmp 0x18006d6e6
mov edx, 0x3a
mov rcx, rdi
call fcn.180085180
mov r14, rax
mov rcx, rsi
test rax, rax
je 0x18006d6d7
mov r8, rax
mov rdx, rdi
sub r8, rdi
call fcn.18008ab00
jmp 0x18006d6e6
sub rcx, rdi
mov al, byte [rdi]
mov byte [rcx + rdi], al
inc rdi
test al, al
jne 0x18006d6da
test r14, r14
je 0x18006d74d
mov edx, 0x3a
mov rcx, r14
call fcn.180085180
mov rdi, rax
test rax, rax
je 0x18006d74d
xor edx, edx
lea rcx, [rax + 1]
lea r8d, [rdx + 0xa]
call fcn.18008a92c
mov ecx, eax
call fcn.18004f078
mov edx, 0x2d
mov rcx, rdi
movzx r14d, ax
call fcn.180085180
test rax, rax
je 0x18006d747
xor edx, edx
lea rcx, [rax + 1]
lea r8d, [rdx + 0xa]
call fcn.18008a92c
mov ecx, eax
call fcn.18004f078
movzx ecx, ax
jmp 0x18006d755
movzx ecx, r14w
jmp 0x18006d755
movzx ecx, r12w
movzx r14d, cx
xor edi, edi
cmp r14w, cx
cmovbe di, cx
xor eax, eax
cmp r14w, cx
cmovbe ax, r14w
movzx r14d, ax
mov word [rsp + 0x32], ax
cmp byte [rsi], r12b
je 0x18006d7d4
mov rcx, qword [rbx + 0x70]
mov rcx, qword [rcx + 0x20]
call fcn.18004320c
mov r8d, dword [rbx + 0xb8]
lea rcx, [rbp + 0x150]
mov edx, eax
mov dword [rsp + 0x28], 0x401
mov rax, qword [rbx + 0x70]
mov r9, rsi
mov qword [rsp + 0x20], rcx
mov ecx, dword [rax + 4]
call fcn.18004320c
xor r14d, r14d
test eax, eax
je 0x18006d7cf
sub eax, 1
je 0x18006dcc0
cmp eax, 1
jne 0x18006d7dd
lea r12, [rbp + 0x150]
jmp 0x18006d7dd
mov r12, rsi
jmp 0x18006d7dd
mov word [rsp + 0x32], r14w
xor r14d, r14d
mov word [rsp + 0x34], di
test r12, r12
jne 0x18006d86d
mov rcx, qword [rbx + 0x240]
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x38], 0x80
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x18006d845
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, 0x80
lea rdx, [rbp - 0x30]
mov ecx, eax
call fcn.18003b70c
mov r8, rax
lea rdx, str.getsockname___failed:__s
mov rcx, r15
call fcn.18004ce58
mov rcx, rsi
call qword [fcn.18008628c]
jmp 0x18006dcc0
movzx ecx, word [rsp + 0x50]
lea r8, [rbp + 0x150]
mov r9d, 0x401
lea rdx, [rsp + 0x54]
call fcn.18005b8d0
lea r12, [rbp + 0x150]
mov byte [rsp + 0x30], r14b
lea r9, [rsp + 0x48]
xor r8d, r8d
mov rdx, r12
mov rcx, rbx
call fcn.180044038
cmp eax, 1
jne 0x18006d892
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.1800433a8
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x18006d8a9
mov rdi, qword [rdx]
mov rcx, r15
call fcn.180044254
jmp 0x18006d8ac
mov rdi, r14
test rdi, rdi
jne 0x18006d8c0
mov r8, r12
lea rdx, str.failed_to_resolve_the_address_provided_to_PORT:__s
jmp 0x18006d82f
mov rcx, rsi
call qword [fcn.18008628c]
or qword [rsp + 0x40], 0xffffffffffffffff
lea r9, [rsp + 0x40]
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.18004e214
mov esi, eax
test eax, eax
je 0x18006d8fa
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rdi, qword [rdi + 0x28]
mov r14d, eax
test rdi, rdi
jne 0x18006d8cf
test rdi, rdi
jne 0x18006d928
mov r8d, 0x80
lea rdx, [rbp - 0x30]
mov ecx, r14d
call fcn.18003b70c
mov r8, rax
lea rdx, str.socket_failure:__s
mov rcx, r15
call fcn.18004ce58
jmp 0x18006dcc0
movsxd r8, dword [rdi + 0x10]
lea rcx, [rsp + 0x50]
mov rdx, qword [rdi + 0x20]
call fcn.180083f00
mov eax, dword [rdi + 0x10]
movzx r12d, word [rsp + 0x34]
mov dword [rsp + 0x38], eax
movzx r14d, word [rsp + 0x32]
cmp r14w, r12w
ja 0x18006dca4
mov eax, 2
cmp word [rsp + 0x50], ax
jne 0x18006d972
movzx ecx, r14w
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x52], ax
mov r8d, dword [rsp + 0x38]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x18006da65
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp byte [rsp + 0x30], 0
je 0x18006d9f9
mov ecx, 0x2741
cmp eax, ecx
jne 0x18006d9f9
mov r8d, 0x80
lea rdx, [rbp - 0x30]
call fcn.18003b70c
mov r9, rax
movzx r8d, r14w
lea rdx, str.bind_port_hu__on_non_local_address_failed:__s_n
mov rcx, r15
call fcn.18004cf4c
mov rcx, qword [rbx + 0x240]
lea r8, [rsp + 0x38]
mov r14d, 0x80
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x38], r14d
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x18006da0e
mov byte [rsp + 0x30], al
jmp 0x18006d947
cmp eax, 0x2740
je 0x18006da05
cmp eax, 0xd
jne 0x18006da39
inc r14w
jmp 0x18006d94d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, r14
mov ecx, eax
lea rdx, [rbp - 0x30]
call fcn.18003b70c
lea rdx, str.getsockname___failed:__s
mov r8, rax
mov rcx, r15
call fcn.18004ce58
jmp 0x18006dcb3
mov r8d, 0x80
lea rdx, [rbp - 0x30]
mov ecx, eax
call fcn.18003b70c
mov r9, rax
movzx r8d, r14w
lea rdx, str.bind_port_hu__failed:__s
mov rcx, r15
call fcn.18004ce58
jmp 0x18006dcb3
cmp r14w, r12w
ja 0x18006dca4
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x38]
mov r12d, 0x80
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x38], r12d
call qword [sym.imp.WS2_32.dll_getsockname]
xor r14d, r14d
test eax, eax
je 0x18006daa4
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, r12d
jmp 0x18006da17
mov rcx, qword [rsp + 0x40]
mov r12d, 1
mov edx, r12d
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
je 0x18006dade
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
lea r8d, [r12 + 0x7f]
lea rdx, [rbp - 0x30]
call fcn.18003b70c
lea rdx, str.socket_failure:__s
jmp 0x18006da29
mov r8d, 0x100
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.180044014
mov edi, 2
cmp r13d, edi
je 0x18006db49
movzx eax, word [rsp + 0x50]
test dword [rbx + 0x3c4], 0x40000
jne 0x18006db10
test r13d, r13d
je 0x18006db41
cmp r13d, r12d
jne 0x18006db1a
cmp ax, di
jne 0x18006db41
cmp ax, di
jne 0x18006db41
movzx ecx, word [rsp + 0x52]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r8d, ax
test r13d, r13d
je 0x18006dc25
cmp r13d, r12d
je 0x18006db81
movzx eax, word [rsp + 0x50]
add r13d, r12d
cmp r13d, edi
jne 0x18006daff
lea rdi, [rbx + 0x798]
mov rcx, rbx
mov dword [rdi + 0xb0], r13d
call fcn.18006b628
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0x248], rax
mov byte [rbx + 0x3c3], r12b
mov dword [rbx + 0x854], 0x1c
jmp 0x18006dca0
lea rcx, [rbp + 0x560]
lea rdx, [rbp + 0x50]
cmp byte [rdx], r14b
je 0x18006dbab
cmp byte [rdx], 0x2e
mov r9d, 0x2c
movzx eax, byte [rdx]
cmove eax, r9d
mov byte [rcx], al
add rcx, r12
add rdx, r12
jne 0x18006db8c
movzx r9d, r8w
mov edx, reloc.WS2_32.dll_sendto
movzx eax, r9b
lea r8, str.__d__d
shr r9d, 8
mov dword [rsp + 0x20], eax
mov byte [rcx], r14b
call fcn.18004f8f0
lea rdi, [rbx + 0x798]
mov rcx, rdi
lea r9, [rbp + 0x560]
lea r8, str.PORT
lea rdx, [0x1800c00a0]
call fcn.180076c74
mov esi, eax
test eax, eax
je 0x18006db50
mov ecx, eax
call fcn.18003b840
mov r8, rax
lea rdx, str.Failure_sending_PORT_command:__s
mov rcx, r15
call fcn.18004ce58
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.18004d91c
jmp 0x18006dc99
cmp word [rsp + 0x50], di
lea rdx, str._s__d_s_hu
movzx eax, r8w
lea rdi, [rbx + 0x798]
mov r9d, r14d
mov dword [rsp + 0x28], eax
setne r9b
lea rax, [rbp + 0x50]
add r9d, r12d
mov qword [rsp + 0x20], rax
lea r8, str.EPRT
mov rcx, rdi
call fcn.180076c74
mov esi, eax
test eax, eax
je 0x18006db50
mov ecx, eax
call fcn.18003b840
mov r8, rax
lea rdx, str.Failure_sending_EPRT_command:__s
mov rcx, r15
call fcn.18004ce58
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.18004d91c
mov dword [rdi + 0xb0], r12d
mov dword [rbx + 0x854], r14d
mov eax, esi
jmp 0x18006dcc5
lea rdx, str.bind___failed__we_ran_out_of_ports_
mov rcx, r15
call fcn.18004ce58
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.18004d91c
mov eax, 0x1e
mov rcx, qword [rbp + 0x960]
xor rcx, rsp
call fcn.180081d90
mov rbx, qword [rsp + 0xac0]
add rsp, 0xa70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret