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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff14
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x502785
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.00404574
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.iphlpapi.dll_GetAdaptersInfo
cmp eax, 0x6f
jne 0x50256d
mov eax, dword [ebp - 0x10]
call fcn.0040280c
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.iphlpapi.dll_GetAdaptersInfo
push ebp
push 0x502760
push dword fs:[0]
mov dword fs:[0], esp
test eax, eax
jne 0x50274a
cmp dword [ebp - 0x10], 0
jbe 0x50274a
mov ebx, dword [ebp - 0x14]
xor esi, esi
mov dword [ebp - 0x1c], 0xffffffff
test ebx, ebx
je 0x5025f9
lea eax, [ebp - 0xe8]
lea edx, [ebx + 8]
mov ecx, 0x104
call fcn.004047f4
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0x18]
call fcn.00501d64
test al, 4
je 0x5025f3
cmp dword [ebp - 0x18], 2
sete al
lea edi, [esi + esi*2]
mov byte [ebp + edi*4 - 0xe4], al
mov eax, dword [ebx + 0x19c]
call fcn.00501bc0
mov dword [ebp + edi*4 - 0xe0], eax
mov dword [ebp + edi*4 - 0xdc], ebx
inc esi
mov ebx, dword [ebx]
test ebx, ebx
jne 0x5025a3
cmp dword [ebp - 0x1c], 0
jge 0x5026a7
or edx, 0xffffffff
or ecx, 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov ebx, esi
dec ebx
test ebx, ebx
jl 0x502672
inc ebx
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0xe4]
cmp byte [eax], 0
je 0x50264d
cmp ecx, 0xffffffff
jne 0x502639
mov ecx, dword [ebp - 0x1c]
cmp dword [eax + 4], 5
jne 0x502669
cmp dword [ebp - 0x24], 0xffffffff
jne 0x502669
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x24], esi
jmp 0x502669
cmp edx, 0xffffffff
jne 0x502655
mov edx, dword [ebp - 0x1c]
cmp dword [eax + 4], 5
jne 0x502669
cmp dword [ebp - 0x20], 0xffffffff
jne 0x502669
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
jmp 0x502672
inc dword [ebp - 0x1c]
add eax, 0xc
dec ebx
jne 0x50262c
cmp dword [ebp - 0x20], 0
jl 0x502680
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x5026a7
cmp dword [ebp - 0x24], 0
jl 0x50268e
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
jmp 0x5026a7
test edx, edx
jl 0x502697
mov dword [ebp - 0x1c], edx
jmp 0x5026a7
test ecx, ecx
jl 0x5026a0
mov dword [ebp - 0x1c], ecx
jmp 0x5026a7
mov dword [ebp - 0x1c], 0xffffffff
cmp dword [ebp - 0x1c], 0
jl 0x50274a
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0x1c]
lea esi, [esi + esi*2]
mov ebx, dword [ebp + esi*4 - 0xdc]
lea edx, [ebx + 0x1b0]
mov ecx, 0x10
call fcn.004047f4
cmp dword [ebp - 4], 0
je 0x502709
lea eax, [ebp - 0xec]
push eax
mov ecx, dword [ebx + 0x190]
lea eax, [ebx + 0x194]
mov edx, 7
call fcn.00502110
mov eax, dword [ebp - 0xec]
call fcn.00404a44
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.0040a574
cmp dword [ebp - 8], 0
je 0x50274a
mov eax, dword [ebp + esi*4 - 0xdc]
cmp dword [eax + 0x1ac], 0
je 0x502744
mov eax, dword [ebp - 0x1c]
lea eax, [eax + eax*2]
mov eax, dword [ebp + eax*4 - 0xdc]
mov eax, dword [eax + 0x1ac]
lea edx, [eax + 4]
mov ecx, 0x10
mov eax, dword [ebp - 8]
call fcn.0040a5c8
jmp 0x50274a
mov eax, dword [ebp - 8]
mov byte [eax], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x502767
mov eax, dword [ebp - 0x14]
call fcn.0040282c
ret