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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff18
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5023df
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.00404574
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.iphlpapi.dll_GetAdaptersInfo
cmp eax, 0x6f
jne 0x502202
mov eax, dword [ebp - 0xc]
call fcn.0040280c
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.iphlpapi.dll_GetAdaptersInfo
push ebp
push 0x5023ba
push dword fs:[0]
mov dword fs:[0], esp
test eax, eax
jne 0x5023a4
cmp dword [ebp - 0xc], 0
jbe 0x5023a4
mov ebx, dword [ebp - 0x10]
xor esi, esi
mov dword [ebp - 0x18], 0xffffffff
test ebx, ebx
je 0x5022c9
lea eax, [ebp - 0xe4]
lea edx, [ebx + 8]
mov ecx, 0x104
call fcn.004047f4
mov eax, dword [ebp - 0xe4]
lea edx, [ebp - 0x14]
call fcn.00501d64
test al, 4
je 0x5022bf
cmp dword [ebp - 0x14], 2
sete al
lea edi, [esi + esi*2]
mov byte [ebp + edi*4 - 0xe0], al
mov eax, dword [ebx + 0x19c]
call fcn.00501bc0
mov dword [ebp + edi*4 - 0xdc], eax
mov dword [ebp + edi*4 - 0xd8], ebx
cmp dword [ebp - 4], 0
je 0x5022be
lea eax, [ebp - 0xe8]
lea edx, [ebx + 0x1b0]
mov ecx, 0x10
call fcn.004047f4
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 4]
call fcn.00409418
test al, al
je 0x5022be
mov dword [ebp - 0x18], esi
jmp 0x5022c9
inc esi
mov ebx, dword [ebx]
test ebx, ebx
jne 0x50223c
cmp dword [ebp - 0x18], 0
jge 0x502377
or edx, 0xffffffff
or ecx, 0xffffffff
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov ebx, esi
dec ebx
test ebx, ebx
jl 0x502342
inc ebx
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0xe0]
cmp byte [eax], 0
je 0x50231d
cmp ecx, 0xffffffff
jne 0x502309
mov ecx, dword [ebp - 0x18]
cmp dword [eax + 4], 5
jne 0x502339
cmp dword [ebp - 0x20], 0xffffffff
jne 0x502339
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x20], esi
jmp 0x502339
cmp edx, 0xffffffff
jne 0x502325
mov edx, dword [ebp - 0x18]
cmp dword [eax + 4], 5
jne 0x502339
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x502339
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x502342
inc dword [ebp - 0x18]
add eax, 0xc
dec ebx
jne 0x5022fc
cmp dword [ebp - 0x1c], 0
jl 0x502350
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
jmp 0x502377
cmp dword [ebp - 0x20], 0
jl 0x50235e
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
jmp 0x502377
test edx, edx
jl 0x502367
mov dword [ebp - 0x18], edx
jmp 0x502377
test ecx, ecx
jl 0x502370
mov dword [ebp - 0x18], ecx
jmp 0x502377
mov dword [ebp - 0x18], 0xffffffff
cmp dword [ebp - 0x18], 0
jl 0x5023a4
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov ebx, dword [ebp + eax*4 - 0xd8]
mov ecx, dword [ebx + 0x190]
lea eax, [ebx + 0x194]
mov edx, 7
call fcn.00502110
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5023c1
mov eax, dword [ebp - 0x10]
call fcn.0040282c
ret