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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x730
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x770], rbx
mov rax, qword [0x14007e3c0]
xor rax, rsp
mov qword [rsp + 0x720], rax
mov rbp, r9
movzx edi, r8b
movsxd rsi, edx
mov rbx, rcx
mov qword [rsp + 0x58], rcx
xor eax, eax
mov qword [rcx], rax
mov dword [rcx + 8], eax
mov qword [rcx + 0x10], rax
mov dword [rcx + 0x18], eax
mov qword [rcx + 0x20], rax
mov dword [rcx + 0x28], eax
mov dword [rsp + 0x40], 0x80
xor edx, edx
mov r8d, 0x80
lea rcx, [rsp + 0x290]
call fcn.140035400
test dil, dil
je 0x14002e82a
mov rcx, rsi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x290]
call qword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x14002e8a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov byte [rsp + 0x60], 0
or r9d, 0xffffffff
lea r8, str.getsockname
mov edx, 0x100
lea rcx, [rsp + 0x60]
call fcn.14001a500
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.14001ac20
lea rcx, [rsp + 0x164]
lea rdx, [rsp + 0x60]
mov r8d, 0x104
call fcn.1400374a0
lea rdx, [0x14007a800]
lea rcx, [rsp + 0x164]
call fcn.140035840
int3
mov rcx, rsi
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x290]
call qword [sym.imp.WS2_32.dll_getpeername]
test eax, eax
je 0x14002e8a4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov byte [rsp + 0x60], 0
or r9d, 0xffffffff
lea r8, str.getpeername
mov edx, 0x100
lea rcx, [rsp + 0x60]
call fcn.14001a500
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.14001ac20
lea rcx, [rsp + 0x164]
lea rdx, [rsp + 0x60]
mov r8d, 0x104
call fcn.1400374a0
lea rdx, [0x14007a800]
lea rcx, [rsp + 0x164]
call fcn.140035840
int3
test rbp, rbp
je 0x14002e8d0
mov rdx, rbp
lea rcx, [rsp + 0x48]
call fcn.14002c0c0
or r8d, 0xffffffff
mov rdx, qword [rax]
lea rcx, [rbx + 0x10]
call fcn.1400134b0
mov rcx, qword [rsp + 0x48]
call fcn.140034ee0
mov edi, dword [rsp + 0x40]
mov rax, qword [0x1400805a8]
test rax, rax
jne 0x14002e8f0
mov cx, 1
call fcn.140028070
mov qword [0x1400805a8], rax
mov dword [rsp + 0x30], 0xa
mov qword [rsp + 0x28], 0x20
lea rcx, [rsp + 0x268]
mov qword [rsp + 0x20], rcx
mov r9d, 0x401
lea r8, [rsp + 0x310]
mov edx, edi
lea rcx, [rsp + 0x290]
call rax
mov edi, eax
mov ecx, eax
call qword [sym.imp.WS2_32.dll_WSASetLastError]
test edi, edi
je 0x14002e98e
mov byte [rsp + 0x60], 0
or r9d, 0xffffffff
lea r8, str.getnameinfo
mov edx, 0x100
lea rcx, [rsp + 0x60]
call fcn.14001a500
mov edx, edi
lea rcx, [rsp + 0x60]
call fcn.14001ac20
lea rcx, [rsp + 0x164]
lea rdx, [rsp + 0x60]
mov r8d, 0x104
call fcn.1400374a0
lea rdx, [0x14007a980]
lea rcx, [rsp + 0x164]
call fcn.140035840
int3
lea rdx, [rsp + 0x310]
lea rcx, [rsp + 0x48]
call fcn.14002c0c0
or r8d, 0xffffffff
mov rdx, qword [rax]
mov rcx, rbx
call fcn.1400134b0
mov rcx, qword [rsp + 0x48]
call fcn.140034ee0
lea rcx, [rsp + 0x268]
call fcn.140037ae0
mov dword [rbx + 0x30], eax
mov rdx, qword [rbx]
test rdx, rdx
je 0x14002e9ef
xor eax, eax
lea rdi, str._::_
mov rsi, rdx
mov ecx, 5
repe cmpsb byte [rsi], byte [rdi]
je 0x14002e9eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x14002ea12
test rdx, rdx
je 0x14002ea1a
xor eax, eax
lea rdi, str.0.0.0.0
mov rsi, rdx
mov ecx, 8
repe cmpsb byte [rsi], byte [rdi]
je 0x14002ea0e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14002ea1a
test rdx, rdx
je 0x14002ea1a
mov byte [rdx], 0
mov rdx, qword [rbx + 0x10]
test rdx, rdx
jne 0x14002ea26
mov rdx, qword [rbx]
mov dword [rsp + 0x20], 0xffffffff
or r9d, 0xffffffff
mov r8d, dword [rbx + 0x30]
lea rcx, [rsp + 0x48]
call fcn.14002c1c0
or r8d, 0xffffffff
mov rdx, qword [rax]
lea rcx, [rbx + 0x20]
call fcn.1400134b0
mov rcx, qword [rsp + 0x48]
call fcn.140034ee0
movzx edx, word [rsp + 0x290]
mov dword [rbx + 0x34], edx
mov rax, rbx
mov rcx, qword [rsp + 0x720]
xor rcx, rsp
call fcn.1400353d0
mov rbx, qword [rsp + 0x770]
add rsp, 0x730
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret