Function at 0x14018a730
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, 0x698
movaps xmmword [rsp + 0x680], xmm6
mov edi, edx
mov rsi, rcx
mov rax, qword [0x140430040]
xor rax, rsp
mov qword [rsp + 0x678], rax
mov rbp, qword [rcx]
mov qword [rsp + 0x58], 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rsp + 0x65f], xmm0
movaps xmmword [rsp + 0x650], xmm0
movaps xmmword [rsp + 0x640], xmm0
movaps xmm6, xmmword [0x1403d4b30]
movaps xmmword [rsp + 0x630], xmm6
movaps xmmword [rsp + 0x620], xmm6
movaps xmmword [rsp + 0x610], xmm6
movaps xmmword [rsp + 0x600], xmm6
movaps xmmword [rsp + 0x5f0], xmm6
movaps xmmword [rsp + 0x5e0], xmm6
movaps xmmword [rsp + 0x5d0], xmm6
movaps xmmword [rsp + 0x5c0], xmm6
mov dword [rsp + 0x54], 0xaaaaaaaa
lea r15, [rsp + 0x1b0]
mov r8d, 0x401
mov rcx, r15
mov dl, 0xaa
call fcn.1402b6a10
mov r12, qword [rbp + 0xc38]
mov qword [rsp + 0x48], 0
lea rcx, [rsp + 0xb0]
mov r8d, 0x100
mov dl, 0xaa
call fcn.1402b6a10
test r12, r12
je 0x14018a82c
mov rcx, r12
call fcn.14029c0d0
cmp rax, 2
jae 0x14018aa58
xor r14d, r14d
xor r12d, r12d
xor ebx, ebx
lea r8, [rsp + 0x54]
mov dword [r8], Ordinal_133
mov rcx, qword [rsi + 0x4c0]
lea rdx, [rsp + 0x5c0]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x14018a8e6
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.14017a680
lea rdx, str.getsockname___failed:__s
mov rcx, rbp
mov r8, rax
call fcn.140158420
mov rax, qword [fcn.140119970]
mov rcx, r14
call qword [str._a_]
mov ebx, 0x1e
mov rcx, qword [rsp + 0x678]
xor rcx, rsp
cmp rcx, qword [0x140430040]
je 0x14018a8b9
call fcn.140278ca0
int3
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x680]
add rsp, 0x698
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.failed_to_resolve_the_address_provided_to_PORT:__s
mov rcx, rbp
mov r8, r15
jmp 0x14018a885
mov dword [rsp + 0x34], edi
movzx ecx, word [rsp + 0x5c0]
cmp ecx, 0x17
je 0x14018a90f
lea rdx, [rsp + 0x5c4]
lea r15, [rsp + 0x1b0]
mov r9d, 0x401
jmp 0x14018a92a
lea rdx, [rsp + 0x5c8]
lea r15, [rsp + 0x1b0]
mov r9d, 0x401
mov ecx, reloc.WS2_32.dll_socket
mov r8, r15
call fcn.14019d1d0
xor edi, edi
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r15
xor r8d, r8d
xor r9d, r9d
call fcn.140178830
cmp eax, 1
jne 0x14018a961
lea rdx, [rsp + 0x48]
mov rcx, rsi
call fcn.1401571b0
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x14018a8d7
mov r13, qword [rdx]
mov rcx, rbp
call fcn.140178b50
test r13, r13
je 0x14018a8d7
lea rax, [rsi + 0xa00]
mov qword [rsp + 0x40], rax
mov rax, qword [fcn.140119970]
mov rcx, r14
call qword [str._a_]
lea r14, [rsp + 0x58]
mov qword [r14], 0xffffffffffffffff
mov r15, qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov rcx, rsi
mov rdx, r13
xor r8d, r8d
mov r9, r14
call fcn.14015e680
test eax, eax
je 0x14018a9ff
call r15
mov r13, qword [r13 + 0x28]
test r13, r13
jne 0x14018a9b2
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.14017a680
lea rdx, str.socket_failure:__s
mov rcx, rbp
mov r8, rax
call fcn.140158420
jmp 0x14018a89a
mov qword [rsp + 0x38], rbp
mov rdx, qword [r13 + 0x20]
movsxd r8, dword [r13 + 0x10]
lea rcx, [rsp + 0x5c0]
call fcn.1402b6370
mov eax, dword [r13 + 0x10]
mov dword [rsp + 0x54], eax
cmp bx, r12w
jbe 0x14018abf4
lea rdx, str.bind___failed__we_ran_out_of_ports_
mov rcx, qword [rsp + 0x38]
call fcn.140158420
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
call fcn.14015d840
jmp 0x14018a89a
mov ebx, reloc.WLDAP32.dll_Ordinal_27
jmp 0x14018a89f
cmp rax, 0x42
mov ecx, 0x41
cmovae rcx, rax
mov rax, qword [fcn.140119ad0]
inc rcx
mov edx, 1
call qword [str._a_]
test rax, rax
je 0x14018aa4e
mov r14, rax
movzx eax, byte [r12]
cmp eax, 0x3a
je 0x14018aac5
mov rcx, r12
cmp eax, 0x5b
jne 0x14018ab30
mov edx, 0x5d
call fcn.14027a740
test rax, rax
je 0x14018ab6b
mov rbx, rax
inc r12
mov r8, rbx
sub r8, r12
mov rcx, r14
mov rdx, r12
call fcn.14029c220
mov r12, rbx
mov rcx, r12
mov edx, 0x3a
call fcn.14027a740
test rax, rax
je 0x14018ab6b
mov r12, rax
mov rcx, rax
inc rcx
xor edx, edx
mov r8d, 0xa
call fcn.140293a98
mov ecx, eax
call fcn.1401518a0
mov ebx, eax
mov rcx, r12
mov edx, Ordinal_46
call fcn.14027a740
test rax, rax
je 0x14018ab2b
inc rax
mov rcx, rax
xor edx, edx
mov r8d, 0xa
call fcn.140293a98
mov ecx, eax
call fcn.1401518a0
mov r12d, eax
jmp 0x14018ab70
mov r12d, ebx
jmp 0x14018ab70
mov edx, 0x3a
call fcn.14027a740
test rax, rax
je 0x14018ab60
mov rbx, rax
lea r8, [rsp + 0x5c0]
mov ecx, reloc.WS2_32.dll_socket
mov rdx, r12
call fcn.140177d60
cmp eax, 1
jne 0x14018aab1
mov rcx, r14
mov rdx, r12
call fcn.14029b970
xor ebx, ebx
xor r12d, r12d
xor eax, eax
cmp bx, r12w
cmova ebx, eax
cmova r12d, eax
cmp byte [r14], 0
je 0x14018a834
mov dword [rsp + 0x34], edi
mov r13, rbp
mov ebp, dword [rsi + 0x328]
mov rax, qword [rsi + 0x2e0]
mov rcx, qword [rax + 0x20]
call fcn.14019d700
mov rcx, qword [rsi + 0x2e0]
mov ecx, dword [rcx + 4]
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x28], 0x401
mov edx, eax
mov r8d, ebp
mov r9, r14
call fcn.1400c24e0
mov dil, 1
test eax, eax
je 0x14018abe9
cmp eax, 1
je 0x14018a89a
cmp eax, 2
je 0x14018abec
mov rbp, r13
mov edi, dword [rsp + 0x34]
jmp 0x14018a834
mov r15, r14
mov rbp, r13
jmp 0x14018a934
lea r14, [rsp + 0x5c0]
mov ebp, ebx
jmp 0x14018ac0c
inc ebp
cmp bp, r12w
ja 0x14018aa2b
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x5c2], ax
mov r8d, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x14018ace5
call r15
cmp eax, 0x2741
sete cl
and cl, dil
cmp cl, 1
je 0x14018ac8a
cmp eax, 0xd
je 0x14018ac00
cmp eax, 0x2740
je 0x14018ac00
movzx ebx, bp
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.14017a680
lea rdx, str.bind_port_hu__failed:__s
mov rcx, qword [rsp + 0x38]
mov r8d, ebx
mov r9, rax
call fcn.140158420
jmp 0x14018aa3c
movzx ebp, bp
mov r8d, 0x100
mov ecx, 0x2741
lea rdx, [rsp + 0xb0]
call fcn.14017a680
mov rcx, qword [rsp + 0x38]
lea rdx, str.bind_port_hu__on_non_local_address_failed:__s_n
mov r8d, ebp
mov r9, rax
call fcn.1401581f0
mov dword [rsp + 0x54], Ordinal_133
mov rcx, qword [rsi + 0x4c0]
mov rdx, r14
lea r8, [rsp + 0x54]
call qword [sym.imp.WS2_32.dll_getsockname]
xor edi, edi
test eax, eax
je 0x14018abfc
jmp 0x14018ad08
lea r8, [rsp + 0x54]
mov dword [r8], Ordinal_133
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x5c0]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x14018ad3c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.14017a680
lea rdx, str.getsockname___failed:__s
mov rcx, qword [rsp + 0x38]
mov r8, rax
call fcn.140158420
jmp 0x14018aa3c
mov rcx, qword [rsp + 0x58]
mov edx, 1
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
mov r15, qword [rsp + 0x38]
je 0x14018ad7c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, [rsp + 0xb0]
mov r8d, 0x100
mov ecx, eax
call fcn.14017a680
lea rdx, str.socket_failure:__s
mov rcx, r15
jmp 0x14018ad2f
lea r14, [rsp + 0x640]
mov r8d, 0x2f
mov rcx, r13
mov rdx, r14
call fcn.140178240
cmp byte [rsi + 0x667], 0
jne 0x14018adae
cmp byte [rsi + 0x65f], 1
jne 0x14018adae
mov byte [rsi + 0x667], 1
mov edi, 2
cmp dword [rsp + 0x34], 2
je 0x14018ae25
mov rbx, qword [sym.imp.WS2_32.dll_ntohs]
mov eax, dword [rsp + 0x34]
jmp 0x14018adeb
movzx ecx, word [rsp + 0x5c2]
call rbx
test ebp, ebp
je 0x14018af18
cmp ebp, 1
je 0x14018ae64
mov eax, ebp
inc eax
cmp eax, 2
je 0x14018ae25
mov ebp, eax
test eax, eax
jne 0x14018adfa
cmp byte [rsi + 0x667], 0
je 0x14018ade2
cmp ebp, 1
setne cl
movzx eax, word [rsp + 0x5c0]
cmp ax, 2
sete dl
or dl, cl
cmp dl, 1
jne 0x14018ae25
movzx eax, ax
cmp eax, 0x17
je 0x14018adc7
cmp eax, 2
je 0x14018adc7
jmp 0x14018ade2
mov dword [rsi + 0xaac], edi
mov rdx, qword [rsi + 0x4c8]
cmp rdx, 0xffffffffffffffff
je 0x14018ae40
mov rcx, rsi
call fcn.14015d840
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x4c8], rax
mov byte [rsi + 0x653], 1
mov dword [rsi + 0xab8], 0x1c
xor ebx, ebx
jmp 0x14018a89f
lea rcx, [rsp + 0x60]
movaps xmmword [rcx + 0x30], xmm6
movaps xmmword [rcx + 0x20], xmm6
movaps xmmword [rcx + 0x10], xmm6
movaps xmmword [rcx], xmm6
mov dword [rcx + 0x3f], 0xaaaaaaaa
jmp 0x14018ae8f
mov r8d, edx
mov byte [rcx], r8b
inc rcx
inc r14
je 0x14018ae9f
movzx edx, byte [r14]
mov r8b, Ordinal_46
cmp edx, 0x2e
je 0x14018ae84
test edx, edx
jne 0x14018ae81
mov byte [rcx], 0
movzx r9d, ax
movzx eax, r9b
shr r9d, 8
mov dword [rsp + 0x20], eax
lea r8, str.__d__d
mov edx, reloc.WS2_32.dll_sendto
call fcn.140172120
lea rdx, [0x1403e0bc5]
lea r8, str.PORT
lea r9, [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
call fcn.1401aa640
test eax, eax
je 0x14018af0e
mov ebx, eax
mov ecx, eax
call fcn.14017a3a0
lea rdx, str.Failure_sending_PORT_command:__s
mov rcx, r15
mov r8, rax
call fcn.140158420
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
call fcn.14015d840
jmp 0x14018af85
mov edi, 1
jmp 0x14018ae25
movzx eax, ax
xor r9d, r9d
cmp word [rsp + 0x5c0], 2
setne r9b
inc r9d
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r14
lea rdx, str._s__d_s_hu
lea r8, str.EPRT
mov rcx, qword [rsp + 0x40]
call fcn.1401aa640
test eax, eax
je 0x14018af94
mov ebx, eax
mov ecx, eax
call fcn.14017a3a0
lea rdx, str.Failure_sending_EPRT_command:__s
mov rcx, r15
mov r8, rax
call fcn.140158420
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
call fcn.14015d840
mov dword [rsi + 0xaac], 1
mov dword [rsi + 0xab8], 0
jmp 0x14018a89f
xor edi, edi
jmp 0x14018ae25