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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017f7cb
mov eax, dword fs:[0]
push eax
sub esp, 0x270
mov eax, dword [0x101e9008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x264], 0
mov al, byte [0x101d7822]
mov byte [ebp - 0x114], al
push 0x103
push 0
lea ecx, [ebp - 0x113]
push ecx
call fcn.1009f7e0
add esp, 0xc
mov dword [ebp - 0x258], 0
lea edx, [ebp - 0x258]
push edx
push 0
call dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
cmp eax, 0x6f
je 0x1003171f
push 1
push str.:3:_d
lea eax, [ebp - 0x114]
push eax
call fcn.100325e0
add esp, 0xc
jmp 0x10031a80
mov ecx, dword [ebp - 0x258]
push ecx
call fcn.100a9d3c
add esp, 4
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
jne 0x10031758
push 1
push str.:4:_d
lea edx, [ebp - 0x114]
push edx
call fcn.100325e0
add esp, 0xc
jmp 0x10031a80
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x25c], eax
lea ecx, [ebp - 0x258]
push ecx
mov edx, dword [ebp - 0x25c]
push edx
call dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
test eax, eax
je 0x100317a6
push 1
push str.:5:_d
lea eax, [ebp - 0x114]
push eax
call fcn.100325e0
add esp, 0xc
mov ecx, dword [ebp - 0x260]
push ecx
call fcn.100a983f
add esp, 4
jmp 0x10031a80
cmp dword [ebp - 0x25c], 0
je 0x10031a69
mov edx, dword [ebp - 0x25c]
cmp dword [edx + 0x190], 6
jb 0x10031a56
mov eax, dword [ebp - 0x25c]
cmp dword [eax + 0x190], 8
ja 0x10031a56
lea ecx, [ebp - 0x254]
call fcn.10030ff0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x25c]
add ecx, 0x10c
push ecx
lea ecx, [ebp - 0x23c]
call fcn.1001ad20
push 7
mov edx, dword [ebp - 0x25c]
add edx, 0x1b0
push edx
push str.0.0.0.0
call fcn.100aadc0
add esp, 0xc
test eax, eax
je 0x10031a44
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x25c]
movsx eax, byte [edx + ecx + 8]
test eax, eax
je 0x10031a44
mov ecx, dword [ebp - 0x25c]
add ecx, 8
push ecx
lea ecx, [ebp - 0x27c]
call fcn.10003f60
mov byte [ebp - 4], 1
lea edx, [ebp - 0x27c]
push edx
call fcn.10031440
add esp, 4
mov dword [ebp - 0x224], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x27c]
call fcn.10003ed0
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0x1a0]
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 0x190]
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x25c]
cmp dword [ecx + 0x190], 6
jne 0x10031958
mov edx, 1
imul eax, edx, 5
mov ecx, dword [ebp - 0x25c]
movzx edx, byte [ecx + eax + 0x194]
push edx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 0x25c]
movzx edx, byte [ecx + eax + 0x194]
push edx
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 0x25c]
movzx eax, byte [edx + ecx + 0x194]
push eax
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 0x25c]
movzx eax, byte [edx + ecx + 0x194]
push eax
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x25c]
movzx eax, byte [edx + ecx + 0x194]
push eax
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x25c]
movzx ecx, byte [eax + edx + 0x194]
push ecx
push 0x101db350
lea edx, [ebp - 0x218]
push edx
call fcn.100325e0
add esp, 0x20
jmp 0x10031a23
mov eax, 1
imul ecx, eax, 7
mov edx, dword [ebp - 0x25c]
movzx eax, byte [edx + ecx + 0x194]
push eax
mov ecx, 1
imul edx, ecx, 6
mov eax, dword [ebp - 0x25c]
movzx ecx, byte [eax + edx + 0x194]
push ecx
mov edx, 1
imul eax, edx, 5
mov ecx, dword [ebp - 0x25c]
movzx edx, byte [ecx + eax + 0x194]
push edx
mov eax, 1
shl eax, 2
mov ecx, dword [ebp - 0x25c]
movzx edx, byte [ecx + eax + 0x194]
push edx
mov eax, 1
imul ecx, eax, 3
mov edx, dword [ebp - 0x25c]
movzx eax, byte [edx + ecx + 0x194]
push eax
mov ecx, 1
shl ecx, 1
mov edx, dword [ebp - 0x25c]
movzx eax, byte [edx + ecx + 0x194]
push eax
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp - 0x25c]
movzx eax, byte [edx + ecx + 0x194]
push eax
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x25c]
movzx ecx, byte [eax + edx + 0x194]
push ecx
push 0x101db370
lea edx, [ebp - 0x218]
push edx
call fcn.100325e0
add esp, 0x28
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x254]
call fcn.1001ad20
lea ecx, [ebp - 0x254]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.10032420
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x254]
call fcn.10006a00
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx]
mov dword [ebp - 0x25c], eax
jmp 0x100317a6
mov ecx, dword [ebp - 0x260]
push ecx
call fcn.100a983f
add esp, 4
xor edx, edx
jne 0x100316f0
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [ebp + 8]
call fcn.10003f60
mov ecx, dword [ebp - 0x264]
or ecx, 1
mov dword [ebp - 0x264], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100531cc
mov esp, ebp
pop ebp
ret