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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10057740
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x1007200c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.10001e10
mov ecx, eax
test ecx, ecx
jne 0x10002bad
push 0x80004005
call fcn.10001bc0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
call fcn.10001e10
mov ecx, eax
test ecx, ecx
jne 0x10002bd4
push 0x80004005
call fcn.10001bc0
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x10], esi
push 0x1d
push str._r_nWindows_IP_Configuration:_r_n
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.10001aa0
push 0x288
mov dword [ebp - 0x1c], 0x288
call fcn.1002a412
add esp, 4
mov dword [ebp - 0x18], eax
or edi, 0xffffffff
test eax, eax
je 0x10002c3d
mov ebx, dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
lea ecx, [ebp - 0x1c]
push ecx
push eax
call ebx
cmp eax, 0x6f
mov eax, dword [ebp - 0x18]
jne 0x10002c6f
push eax
call fcn.1002a35d
push dword [ebp - 0x1c]
call fcn.1002a412
add esp, 8
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x10002c6f
push 0x2d
push str.Error_allocating_memory_for_IP_ADAPTER_INFO_r_n
lea ecx, [ebp - 0x14]
call fcn.10001530
push ecx
mov ecx, esp
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x3c], ecx
call fcn.10001780
mov ecx, 5
call fcn.10004060
add esp, 4
xor bl, bl
jmp 0x1000316f
lea ecx, [ebp - 0x1c]
push ecx
push eax
call ebx
test eax, eax
jne 0x10003120
mov eax, dword [ebp - 0x18]
mov ebx, eax
test eax, eax
je 0x10003141
nop dword [eax + eax]
lea edx, [ebx + 8]
lea ecx, [ebp - 0x20]
call fcn.10003ac0
mov byte [ebp - 4], 2
push dword [eax]
lea eax, [ebp - 0x10]
push str._tAdapter_Name:__t_s_r_n
push eax
call fcn.10001600
mov byte [ebp - 4], 1
add esp, 0xc
mov edx, dword [ebp - 0x20]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10002cd0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push dword [eax - 0xc]
push eax
call fcn.10001530
lea edx, [ebx + 0x10c]
lea ecx, [ebp - 0x24]
call fcn.10003ac0
mov byte [ebp - 4], 3
push dword [eax]
lea eax, [ebp - 0x10]
push str._tAdapter_Desc:__t_s_r_n
push eax
call fcn.10001600
mov byte [ebp - 4], 1
add esp, 0xc
mov edx, dword [ebp - 0x24]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10002d22
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push dword [eax - 0xc]
push eax
call fcn.10001530
lea eax, [ebp - 0x10]
push str._tAdapter_Addr:__t
push eax
call fcn.10001600
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
add esp, 8
push dword [esi - 0xc]
push esi
call fcn.10001530
mov eax, dword [ebx + 0x190]
xor edi, edi
test eax, eax
je 0x10002d94
nop dword [eax]
dec eax
cmp edi, eax
movzx eax, byte [ebx + edi + 0x194]
push eax
lea eax, [ebp - 0x10]
jne 0x10002d78
push str._.2X_r_n
jmp 0x10002d7d
push str._.2X_
push eax
call fcn.10001600
mov eax, dword [ebx + 0x190]
inc edi
add esp, 0xc
cmp edi, eax
jb 0x10002d60
mov esi, dword [ebp - 0x10]
push dword [esi - 0xc]
lea ecx, [ebp - 0x14]
push esi
call fcn.10001530
push dword [ebx + 0x19c]
lea eax, [ebp - 0x10]
push str._tIndex:__t_d_r_n
push eax
call fcn.10001600
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
add esp, 0xc
push dword [eax - 0xc]
push eax
call fcn.10001530
lea eax, [ebp - 0x10]
push str._tType:__t
push eax
call fcn.10001600
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
add esp, 8
push dword [eax - 0xc]
push eax
call fcn.10001530
mov ecx, dword [ebx + 0x1a0]
lea eax, [ecx - 1]
cmp eax, 0x1b
ja case.0x10002dff.2
movzx eax, byte [eax + 0x100031e0]
jmp dword [eax*4 + 0x100031c0]
lea eax, [ebp - 0x10]
push str.Other_r_n
push eax
call fcn.10001600
add esp, 8
jmp 0x10002ea0
lea eax, [ebp - 0x10]
push str.Ethernet_r_n
push eax
call fcn.10001600
add esp, 8
jmp 0x10002ea0
lea eax, [ebp - 0x10]
push str.Token_Ring_r_n
push eax
call fcn.10001600
add esp, 8
jmp 0x10002ea0
lea eax, [ebp - 0x10]
push str.FDDI_r_n
push eax
call fcn.10001600
add esp, 8
jmp 0x10002ea0
lea eax, [ebp - 0x10]
push str.PPP_r_n
push eax
call fcn.10001600
add esp, 8
jmp 0x10002ea0
lea eax, [ebp - 0x10]
push str.Lookback_r_n
push eax
call fcn.10001600
add esp, 8
jmp 0x10002ea0
lea eax, [ebp - 0x10]
push str.Slip_r_n
push eax
call fcn.10001600
add esp, 8
jmp 0x10002ea0
push ecx
lea eax, [ebp - 0x10]
push str.Unknown_type__ld_r_n
push eax
call fcn.10001600
add esp, 0xc
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push dword [eax - 0xc]
push eax
call fcn.10001530
lea edx, [ebx + 0x1b0]
lea ecx, [ebp - 0x28]
call fcn.10003ac0
mov byte [ebp - 4], 4
push dword [eax]
lea eax, [ebp - 0x10]
push str._tIP_Address:__t_s_r_n
push eax
call fcn.10001600
mov byte [ebp - 4], 1
or edi, 0xffffffff
mov edx, dword [ebp - 0x28]
add esp, 0xc
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10002ef5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push dword [eax - 0xc]
push eax
call fcn.10001530
lea edx, [ebx + 0x1c0]
lea ecx, [ebp - 0x2c]
call fcn.10003ac0
mov byte [ebp - 4], 5
push dword [eax]
lea eax, [ebp - 0x10]
push str._tIP_Mask:__t_s_r_n
push eax
call fcn.10001600
mov byte [ebp - 4], 1
add esp, 0xc
mov edx, dword [ebp - 0x2c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10002f47
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push dword [eax - 0xc]
push eax
call fcn.10001530
lea edx, [ebx + 0x1d8]
lea ecx, [ebp - 0x30]
call fcn.10003ac0
mov byte [ebp - 4], 6
push dword [eax]
lea eax, [ebp - 0x10]
push str._tGateway:__t_s_r_n
push eax
call fcn.10001600
mov byte [ebp - 4], 1
add esp, 0xc
mov edx, dword [ebp - 0x30]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10002f99
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push dword [eax - 0xc]
push eax
call fcn.10001530
cmp dword [ebx + 0x1a4], 0
lea eax, [ebp - 0x10]
je 0x10003016
push str._tDHCP_Enabled:_Yes_r_n
push eax
call fcn.10001600
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
add esp, 8
push dword [eax - 0xc]
push eax
call fcn.10001530
lea edx, [ebx + 0x200]
lea ecx, [ebp - 0x34]
call fcn.10003ac0
mov byte [ebp - 4], 7
push dword [eax]
lea eax, [ebp - 0x10]
push str._t__DHCP_Server:__t_s_r_n
push eax
call fcn.10001600
mov byte [ebp - 4], 1
add esp, 0xc
mov edx, dword [ebp - 0x34]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10003024
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x10003024
push str._tDHCP_Enabled:_No_r_n
push eax
call fcn.10001600
add esp, 8
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push dword [eax - 0xc]
push eax
call fcn.10001530
cmp dword [ebx + 0x224], 0
lea eax, [ebp - 0x10]
je 0x100030f7
push str._tHave_Wins:_Yes_r_n
push eax
call fcn.10001600
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
add esp, 8
push dword [eax - 0xc]
push eax
call fcn.10001530
lea edx, [ebx + 0x22c]
lea ecx, [ebp - 0x38]
call fcn.10003ac0
mov byte [ebp - 4], 8
push dword [eax]
lea eax, [ebp - 0x10]
push str._t__Primary_Wins_Server:_____s_r_n
push eax
call fcn.10001600
mov byte [ebp - 4], 1
add esp, 0xc
mov edx, dword [ebp - 0x38]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100030a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push dword [eax - 0xc]
push eax
call fcn.10001530
lea edx, [ebx + 0x254]
lea ecx, [ebp - 0x3c]
call fcn.10003ac0
mov byte [ebp - 4], 9
push dword [eax]
lea eax, [ebp - 0x10]
push str._t__Secondary_Wins_Server:___s_r_n
push eax
call fcn.10001600
mov byte [ebp - 4], 1
add esp, 0xc
mov edx, dword [ebp - 0x3c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10003105
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x10003105
push str._tHave_Wins:_No_r_n
push eax
call fcn.10001600
add esp, 8
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push dword [esi - 0xc]
push esi
call fcn.10001530
mov ebx, dword [ebx]
test ebx, ebx
jne 0x10002c90
jmp 0x10003141
push eax
lea eax, [ebp - 0x10]
push str.GetAdaptersInfo_failed_with_error:__d_r_n
push eax
call fcn.10001600
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
add esp, 0xc
push dword [esi - 0xc]
push esi
call fcn.10001530
push ecx
mov ecx, esp
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x38], ecx
call fcn.10001780
mov ecx, 5
call fcn.10004060
mov eax, dword [ebp - 0x18]
add esp, 4
test eax, eax
je 0x1000316d
push eax
call fcn.1002a35d
add esp, 4
mov bl, 1
mov byte [ebp - 4], 0
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1000318a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], edi
dec edi
test edi, edi
jg 0x100031a9
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret