Function at 0x140312330
Capabilities:
Get local ipv4 addresses
Get mac address on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x590]
sub rsp, 0x690
mov rax, qword [0x14057c500]
xor rax, rsp
mov qword [rbp + 0x580], rax
xor r12d, r12d
mov qword [rbp - 0x40], rcx
mov dword [rsp + 0x38], r12d
lea rax, [rsp + 0x38]
mov r13, rcx
mov dword [rsp + 0x38], 0x380
lea rbx, [0x140049658]
mov qword [rsp + 0x20], rax
lea rdi, [rbp - 0x10]
mov qword [rsp + 0x30], rbx
lea edx, [r12 + 0x1c]
mov qword [rsp + 0x68], rdi
lea r9, [rbp - 0x10]
xor r8d, r8d
xor ecx, ecx
mov r15d, r12d
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
cmp eax, 0x6f
jne 0x140312452
mov ecx, dword [rsp + 0x38]
call fcn.140507b2c
mov qword [rsp + 0x68], rax
mov rdi, rax
test rax, rax
jne 0x1403123fc
mov rax, qword [rsp + 0x30]
mov qword [r13], rax
mov eax, dword [0x140049658]
mov qword [rsp + 0x30], rbx
test eax, eax
je 0x1403129fb
cmp eax, 0xffffffff
je 0x140312a03
or rsi, 0xffffffffffffffff
jmp 0x1403129e9
xor r8d, r8d
lea rax, [rsp + 0x38]
mov r9, rdi
mov qword [rsp + 0x20], rax
xor ecx, ecx
lea edx, [r8 + 0x1c]
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
test eax, eax
je 0x140312484
mov rcx, rdi
call fcn.1405050f4
mov rax, qword [rsp + 0x30]
mov qword [r13], rax
mov eax, dword [0x140049658]
mov qword [rsp + 0x30], rbx
test eax, eax
je 0x1403129fb
cmp eax, 0xffffffff
je 0x140312a03
or rsi, 0xffffffffffffffff
jmp 0x1403129e9
test eax, eax
je 0x140312484
mov rax, qword [rsp + 0x30]
mov qword [r13], rax
mov eax, dword [0x140049658]
mov qword [rsp + 0x30], rbx
test eax, eax
je 0x1403129fb
cmp eax, 0xffffffff
je 0x140312a03
or rsi, 0xffffffffffffffff
jmp 0x1403129e9
or rsi, 0xffffffffffffffff
mov qword [rsp + 0x6c8], r14
mov r14, rdi
test rdi, rdi
je 0x1403129b3
movabs r13, 0x7fffffffffffffff
mov ecx, gethostname
call fcn.1404e17f4
mov rdi, rax
lea rcx, [rsp + 0x30]
mov qword [rax], 0
mov dword [rax + 0x10], r12d
lea r12, [rdi + 0x30]
mov qword [rax + 8], 0
lea rax, [0x1400495e0]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov qword [r12], rbx
mov rax, qword [rsp + 0x30]
cmp dword [rax], 1
jbe 0x140312502
mov edx, 0x7fffffff
mov r8d, 1
call fcn.14030f090
jmp 0x140312507
call fcn.140379820
mov qword [rax], rdi
mov dword [rdi + 4], 0
mov eax, dword [r14 + 0x6c]
test eax, eax
jne 0x140312525
mov ecx, dword [r14 + 4]
test ecx, ecx
mov eax, dword [rdi + 4]
cmovne eax, ecx
mov dword [rdi + 4], eax
mov eax, 0x7fffffff
mov ecx, dword [r14 + 0x60]
cmp rcx, rax
mov dword [rdi + 0xc], 4
mov qword [rbp - 0x38], rcx
cmovl eax, ecx
mov dword [rdi + 8], eax
cmp dword [r14 + 0x68], 1
jne 0x140312550
or dword [rdi + 0xc], 3
test byte [r14 + 0x5c], 0x10
jne 0x14031255b
or dword [rdi + 0xc], 0x20
cmp dword [r14 + 0x64], 0x17
jne 0x140312566
or dword [rdi + 0xc], 0x10
mov eax, dword [r14 + 0x64]
add eax, 0xfffffffa
cmp eax, 0xfd
ja case.0x14031258d.7
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x312a5c]
mov ecx, dword [rdx + rax*4 + 0x312a34]
add rcx, rdx
jmp rcx
mov dword [rdi + 0x10], 3
jmp case.0x14031258d.7
mov dword [rdi + 0x10], 7
jmp case.0x14031258d.7
mov dword [rdi + 0x10], 6
jmp case.0x14031258d.7
mov dword [rdi + 0x10], 4
jmp case.0x14031258d.7
mov dword [rdi + 0x10], 1
or dword [rdi + 0xc], 8
jmp case.0x14031258d.7
mov dword [rdi + 0x10], 8
jmp case.0x14031258d.7
mov dword [rdi + 0x10], reloc.WS2_32.dll_listen
jmp case.0x14031258d.7
mov dword [rdi + 0x10], select
jmp case.0x14031258d.7
mov dword [rdi + 0x10], 0xa
lea rcx, [r14 + 0xe0]
mov r8d, 0x101
lea rdx, [rbp + 0x370]
call qword [sym.imp.IPHLPAPI.DLL_ConvertInterfaceLuidToNameW]
test eax, eax
jne 0x1403126c5
mov r8d, esi
lea rdx, [rbp + 0x370]
lea rcx, [rsp + 0x50]
or r15d, 1
call fcn.140367ed0
mov rcx, qword [rax]
mov qword [rbp - 0x68], rcx
lea rcx, [0x1400495e0]
mov qword [rax], rcx
test r15b, 2
je 0x140312663
mov rcx, qword [rbp - 0x70]
and r15d, 0xfffffffd
mov eax, dword [rcx]
test eax, eax
je 0x140312655
cmp eax, 0xffffffff
je 0x140312663
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140312663
mov rcx, qword [rbp - 0x70]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
mov rcx, qword [rsp + 0x50]
and r15d, 0xfffffffe
mov eax, dword [rcx]
test eax, eax
je 0x140312687
cmp eax, 0xffffffff
je 0x140312695
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140312695
mov rcx, qword [rsp + 0x50]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
mov rcx, qword [rdi + 0x18]
mov rax, qword [rbp - 0x68]
mov qword [rdi + 0x18], rax
mov eax, dword [rcx]
test eax, eax
je 0x1403126b7
cmp eax, 0xffffffff
je 0x1403126c5
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1403126c5
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
mov rax, qword [rdi + 0x18]
cmp dword [rax + 4], 0
jne 0x140312735
mov rdx, qword [r14 + 0x10]
test rdx, rdx
je 0x1403126eb
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x1403126e0
jmp 0x1403126ed
mov eax, esi
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.140367d20
mov rcx, qword [rdi + 0x18]
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x18], rax
mov qword [rsp + 0x48], rcx
mov eax, dword [rcx]
test eax, eax
je 0x140312727
cmp eax, 0xffffffff
je 0x140312735
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140312735
mov rcx, qword [rsp + 0x48]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
mov rdx, qword [r14 + 0x48]
lea rcx, [rsp + 0x58]
mov r8d, esi
or r15d, 4
call fcn.140367ed0
mov rcx, qword [rax]
mov qword [rbp - 0x58], rcx
lea rcx, [0x1400495e0]
mov qword [rax], rcx
test r15b, 8
je 0x140312791
mov rcx, qword [rbp - 0x60]
and r15d, 0xfffffff7
mov eax, dword [rcx]
test eax, eax
je 0x140312783
cmp eax, 0xffffffff
je 0x140312791
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140312791
mov rcx, qword [rbp - 0x60]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
mov rcx, qword [rsp + 0x58]
and r15d, 0xfffffffb
mov eax, dword [rcx]
test eax, eax
je 0x1403127b5
cmp eax, 0xffffffff
je 0x1403127c3
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1403127c3
mov rcx, qword [rsp + 0x58]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
mov rcx, qword [rdi + 0x20]
mov rax, qword [rbp - 0x58]
mov qword [rdi + 0x20], rax
mov eax, dword [rcx]
test eax, eax
je 0x1403127e5
cmp eax, 0xffffffff
je 0x1403127f3
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1403127f3
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
mov edx, dword [r14 + 0x58]
test edx, edx
je 0x140312845
lea r8, [r14 + 0x50]
lea rcx, [rsp + 0x60]
call fcn.1403071c0
mov rdx, qword [rdi + 0x28]
mov rcx, qword [rax]
mov qword [rdi + 0x28], rcx
mov qword [rax], rdx
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx]
test eax, eax
je 0x140312837
cmp eax, 0xffffffff
je 0x140312845
mov eax, esi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140312845
mov rcx, qword [rsp + 0x60]
mov edx, 2
lea r8d, [rdx + 6]
call fcn.140379300
mov rdi, qword [r14 + 0x18]
test rdi, rdi
je 0x140312997
cmp dword [rdi + 0x28], 0
je 0x14031298a
lea rcx, [rsp + 0x40]
call fcn.140305e10
mov rdx, qword [rdi + 0x10]
lea rcx, [rbp - 0x50]
call fcn.140312080
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140307710
lea rcx, [rbp - 0x50]
call fcn.140302c20
movzx edx, byte [rdi + 0x38]
lea rcx, [rsp + 0x40]
call fcn.140307720
mov eax, dword [rdi + 0x30]
cmp eax, 0xffffffff
jne 0x1403128b6
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x7c], 1
jmp 0x1403128cc
imul edx, eax, 0x3e8
lea rcx, [rsp + 0x70]
mov r8d, 1
call fcn.1403e1ce0
movaps xmm0, xmmword [rsp + 0x70]
mov eax, dword [rdi + 0x2c]
movdqa xmmword [rbp - 0x30], xmm0
cmp eax, 0xffffffff
jne 0x1403128f2
mov qword [rbp - 0x80], r13
mov dword [rbp - 0x78], 0
mov dword [rbp - 0x74], 1
jmp 0x140312907
imul edx, eax, 0x3e8
lea rcx, [rbp - 0x80]
mov r8d, 1
call fcn.1403e1ce0
movaps xmm0, xmmword [rbp - 0x80]
lea r8, [rbp - 0x30]
lea rdx, [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rsp + 0x40]
call fcn.1403076e0
movzx edx, byte [rdi + 4]
lea rcx, [rsp + 0x40]
and dl, 1
call fcn.140307700
mov rax, qword [r12]
cmp dword [rax], 1
jbe 0x140312963
mov edx, 0x7fffffff
mov r8d, 1
mov rcx, r12
call fcn.140312190
test rax, rax
je 0x140312980
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.140305d90
jmp 0x140312980
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x48]
call fcn.140305d90
mov rcx, r12
call fcn.140379820
mov rcx, qword [rbp - 0x48]
mov qword [rax], rcx
lea rcx, [rsp + 0x40]
call fcn.140305e80
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x140312852
mov r14, qword [r14 + 8]
mov r12d, 0
test r14, r14
jne 0x1403124a6
mov r13, qword [rbp - 0x40]
mov rdi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x6c8]
lea rax, [rbp - 0x10]
cmp rdi, rax
je 0x1403129cc
mov rcx, rdi
call fcn.1405050f4
mov rax, qword [rsp + 0x30]
mov qword [r13], rax
mov eax, dword [0x140049658]
mov qword [rsp + 0x30], rbx
test eax, eax
je 0x1403129fb
cmp eax, 0xffffffff
je 0x140312a03
lock xadd dword [0x140049658], esi
cmp esi, 1
jne 0x140312a03
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.1404e1e20
mov rax, r13
mov rcx, qword [rbp + 0x580]
xor rcx, rsp
call fcn.1404e17d0
lea r11, [rsp + 0x690]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret