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

Disassembly:
push ebp
push edi
xor ecx, ecx
push esi
push ebx
xor edx, edx
mov eax, 6
mov ebx, 0xe
sub esp, 0x7c
call fcn.00477ad0
test eax, eax
mov dword [esp + 0x28], eax
je 0x4787e0
lea esi, [esp + 0x6c]
mov dword [esp + 0x6c], 0
xor ebp, ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0
call sub.IPHLPAPI.DLL_GetAdaptersAddresses
sub esp, 0x14
test eax, eax
mov edi, eax
je 0x478830
mov dword [esp], ebp
call fcn.004559d0
cmp edi, 0x6f
je 0x478810
jbe 0x4787c5
cmp edi, 0xe8
je 0x478791
cmp edi, 0x4cc
mov eax, 0xfffff008
jne 0x4787cf
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 1
call fcn.004559c0
test eax, eax
je 0x478826
mov esi, dword [esp + 0x94]
mov dword [esi], 0
mov esi, dword [esp + 0x90]
mov dword [esi], eax
add esp, 0x7c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edi, 0x57
mov eax, 0xfffff024
je 0x478789
mov dword [esp], edi
call fcn.004588d0
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, 1
mov edx, 1
mov eax, 5
call fcn.00477ad0
test eax, eax
je 0x478c67
mov ebx, 0x1e
jmp 0x478726
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.004559c0
test eax, eax
mov ebp, eax
jne 0x478734
mov eax, 0xfffff027
jmp 0x478789
test ebp, ebp
mov esi, ebp
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], 0
mov ebx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
je 0x478cbb
mov dword [esp + 0x24], ebp
xor edi, edi
xor ebp, ebp
nop
lea esi, [esi]
cmp dword [esi + 0x44], 1
jne 0x4788ce
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4788ce
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
mov dword [esp + 8], eax
call ebx
sub esp, 0x20
test eax, eax
jle 0x478c71
add edi, eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4788ce
mov eax, dword [eax + 8]
add ebp, 1
add edi, 0x48
test eax, eax
jne 0x4788c1
mov esi, dword [esi + 8]
test esi, esi
jne 0x478860
mov dword [esp], edi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x50], edi
mov ebp, dword [esp + 0x24]
call fcn.004559c0
test eax, eax
mov dword [esp + 0x54], eax
je 0x478cd8
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov ebx, ebp
mov dword [esp + 0x5c], ebp
lea eax, [eax + eax*8]
mov ebp, esi
lea eax, [esi + eax*8]
mov esi, ebx
mov dword [esp + 0x30], eax
cmp dword [esi + 0x44], 1
jne 0x478b7c
mov eax, dword [esi + 0x10]
test eax, eax
je 0x478b7c
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x50]
mov edx, 0x7fffffff
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0xffffffff
sub eax, ebx
mov dword [esp + 0x10], ebx
cmovs eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
mov dword [esp + 8], eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
sub esp, 0x20
test eax, eax
mov dword [esp + 0x4c], eax
jle 0x478c90
mov eax, dword [esi + 0x10]
test eax, eax
je 0x478b74
mov dword [esp + 0x2c], esi
mov esi, eax
jmp 0x478a3c
movzx eax, byte [esi + 0x2c]
mov dword [esp + 0x24], eax
lea edx, [ebp + 4]
lea edi, [ebp + 8]
xor eax, eax
mov dword [ebp + 4], 0
mov dword [ebp + 0x44], 0
and edi, 0xfffffffc
mov ecx, edx
sub ecx, edi
add ecx, 0x44
shr ecx, 2
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x30]
mov dword [ebp], eax
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x34], 6
je 0x478c40
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x40], 0x18
sete al
cmp word [ebx], 0x17
movzx eax, al
mov dword [ebp + 0xc], eax
mov eax, dword [ebx]
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [ebp + 0x14], eax
mov eax, dword [ebx + 8]
mov dword [ebp + 0x18], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp + 0x1c], eax
je 0x478be0
mov edx, dword [esp + 0x24]
mov eax, 2
mov word [ebp + 0x2c], ax
xor eax, eax
test edx, edx
jne 0x478bb4
mov dword [ebp + 0x30], eax
mov esi, dword [esi + 8]
add ebp, 0x48
test esi, esi
je 0x478b70
mov eax, dword [esp + 0x28]
mov ebx, dword [esi + 0xc]
test eax, eax
jne 0x4789a0
mov eax, dword [esp + 0x2c]
movzx ecx, word [ebx]
mov dword [esp + 0x24], 0
mov eax, dword [eax + 0x8c]
mov word [esp + 0x3e], cx
lea ecx, [ebx + 4]
test eax, eax
mov dword [esp + 0x38], ecx
je 0x478b53
mov dword [esp + 0x40], ebx
movzx ebx, word [esp + 0x3e]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], esi
mov edx, dword [eax + 0xc]
cmp word [edx], bx
jne 0x478b30
mov ebp, dword [eax + 0x14]
cmp ebp, dword [esp + 0x24]
jbe 0x478b30
cmp bx, 0x17
mov edi, dword [esp + 0x38]
lea ecx, [edx + 4]
jne 0x478ab5
mov esi, dword [esp + 0x40]
lea ecx, [edx + 8]
lea edi, [esi + 8]
mov esi, ebp
sar esi, 3
test esi, esi
jle 0x478c60
movzx edx, byte [edi]
cmp byte [ecx], dl
jne 0x478b30
xor edx, edx
mov dword [esp + 0x34], eax
jmp 0x478ade
movzx eax, byte [ecx + edx]
cmp byte [edi + edx], al
jne 0x478bd5
add edx, 1
cmp edx, esi
jne 0x478ad1
mov eax, dword [esp + 0x34]
test ebp, 7
je 0x478c55
movzx edx, byte [ecx + esi]
mov ecx, ebp
sar ecx, 0x1f
shr ecx, 0x1d
mov dword [esp + 0x34], edx
lea edx, [ebp + ecx]
and edx, 7
sub edx, ecx
mov ecx, 8
sub ecx, edx
mov edx, 0xff
shl edx, cl
movzx ecx, byte [edi + esi]
and edx, ecx
cmp dword [esp + 0x34], edx
cmovne ebp, dword [esp + 0x24]
mov dword [esp + 0x24], ebp
nop
mov eax, dword [eax + 8]
test eax, eax
jne 0x478a85
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
test edi, edi
jne 0x4789a8
cmp word [esp + 0x3e], 0x17
mov edx, 0x20
mov eax, pe_nt_image_headers32
cmovne eax, edx
mov dword [esp + 0x24], eax
jmp 0x4789a8
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x4c]
add dword [esp + 0x30], ebx
mov esi, dword [esi + 8]
test esi, esi
jne 0x478911
mov ebp, dword [esp + 0x5c]
mov dword [esp], ebp
call fcn.004559d0
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x54]
mov dword [eax], esi
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x58]
mov dword [eax], esi
xor eax, eax
jmp 0x478789
mov ecx, 0x20
sub ecx, dword [esp + 0x24]
mov eax, 0xffffffff
shl eax, cl
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_htonl]
sub esp, 4
jmp 0x478a2b
mov eax, dword [esp + 0x34]
jmp 0x478b30
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x24]
mov ecx, 0x17
mov dword [ebp + 0x20], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp + 0x24], eax
mov eax, dword [ebx + 0x18]
mov ebx, edi
shr ebx, 3
mov word [ebp + 0x2c], cx
mov dword [ebp + 0x28], eax
lea eax, [ebp + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xff
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, edi
and eax, 7
je 0x478a2e
mov ecx, 8
sub ecx, eax
mov eax, 0xff
shl eax, cl
mov byte [ebp + ebx + 0x34], al
jmp 0x478a2e
mov ecx, eax
mov eax, dword [eax + 0x2c]
mov dword [ebp + 4], eax
movzx eax, word [ecx + 0x30]
mov word [ebp + 8], ax
jmp 0x4789e2
mov dword [esp + 0x24], ebp
jmp 0x478b30
xor esi, esi
jmp 0x478ae9
mov eax, 0xfffff02f
jmp 0x478789
mov ebp, dword [esp + 0x24]
mov dword [esp], ebp
call fcn.004559d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], eax
call fcn.004588d0
jmp 0x478789
mov ebp, dword [esp + 0x5c]
mov dword [esp], ebp
call fcn.004559d0
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.004559d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], eax
call fcn.004588d0
jmp 0x478789
mov dword [esp], 0
call fcn.004559c0
test eax, eax
mov dword [esp + 0x54], eax
je 0x478cd8
mov dword [esp + 0x58], ebp
jmp 0x478b8b
mov dword [esp], ebp
call fcn.004559d0
jmp 0x478826