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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x47269a
mov eax, dword fs:[0]
push eax
sub esp, 0x3d0
mov eax, dword [0x48e780]
xor eax, esp
mov dword [esp + 0x3c8], eax
push ebx
push esi
push edi
mov eax, dword [0x48e780]
xor eax, esp
push eax
lea eax, [esp + 0x3e0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor esi, esi
push esi
lea ecx, [esp + 0xa0]
mov dword [esp + 0x34], eax
call fcn.00407520
push esi
lea ecx, [esp + 0x88]
mov dword [esp + 0x3ec], esi
call fcn.00407520
mov dword [esp + 0x18], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], esi
mov byte [esp + 0x144], 0
lea ecx, [esp + 0x24]
push ecx
push esi
push esi
push esi
push esi
mov byte [esp + 0x3fc], 2
call sub.IPHLPAPI.DLL_GetAdaptersAddresses
mov edx, dword [esp + 0x24]
push edx
call fcn.00459ab9
add esp, 4
mov edi, eax
lea eax, [esp + 0x24]
push eax
push edi
push esi
push 2
push 2
call sub.IPHLPAPI.DLL_GetAdaptersAddresses
cmp eax, esi
jne 0x4030dd
cmp edi, esi
je 0x403124
push esi
lea ecx, [esp + 0x38]
call fcn.00407520
mov byte [esp + 0x3e8], 3
movzx ecx, byte [edi + 0x31]
movzx edx, byte [edi + 0x30]
movzx eax, byte [edi + 0x2f]
push ecx
movzx ecx, byte [edi + 0x2e]
push edx
movzx edx, byte [edi + 0x2d]
push eax
movzx eax, byte [edi + 0x2c]
push ecx
mov ecx, dword [edi + 0x28]
push edx
push eax
push ecx
push str._s___.2x__.2x__.2x__.2x__.2x__.2x:__n
call fcn.004015d0
mov eax, dword [edi + 0x10]
add esp, 0x20
cmp dword [edi + 0x44], 1
jne 0x402e42
push str.Status:_active_n
jmp 0x402e47
push str.Status:_deactive_n
call fcn.004015d0
add esp, 4
xor ebx, ebx
cmp eax, esi
je 0x402ef6
lea esp, [esp]
mov edx, dword [eax + 0xc]
movzx ecx, word [edx]
cmp cx, 2
je 0x402e89
cmp cx, 0x17
je 0x402e7f
push str._tUNSPEC
call fcn.004015d0
add esp, 4
mov eax, dword [eax + 8]
inc ebx
cmp eax, esi
jne 0x402e60
jmp 0x402ef6
mov eax, edx
push eax
lea esi, [esp + 0xb8]
call fcn.00402b00
sub esp, 0x14
mov byte [esp + 0x400], 4
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00407770
push 0x482910
lea ecx, [esp + 0x50]
mov byte [esp + 0x404], 5
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 4
call fcn.00407c10
mov byte [esp + 0x3e8], 3
cmp dword [esp + 0xcc], 0x10
jb 0x402ef6
mov eax, dword [esp + 0xb8]
push eax
call fcn.0041da60
add esp, 4
push ebx
push str.Number_of_Unicast_Addresses:__d_n
call fcn.004015d0
add esp, 8
cmp byte [edi + 0x2c], 0
jne 0x402f2c
cmp byte [edi + 0x2d], 0
jne 0x402f2c
cmp byte [edi + 0x2e], 0
jne 0x402f2c
cmp byte [edi + 0x2f], 0
jne 0x402f2c
cmp byte [edi + 0x30], 0
jne 0x402f2c
cmp byte [edi + 0x31], 0
je 0x4030bd
movzx ecx, byte [edi + 0x31]
movzx edx, byte [edi + 0x30]
movzx eax, byte [edi + 0x2f]
push ecx
movzx ecx, byte [edi + 0x2e]
push edx
movzx edx, byte [edi + 0x2d]
push eax
movzx eax, byte [edi + 0x2c]
push ecx
push edx
push eax
lea ecx, [esp + 0x174]
push str._.2x__.2x__.2x__.2x__.2x__.2x
push ecx
call fcn.0045c402
add esp, 8
lea edx, [esp + 0x174]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00407710
push 0x48298c
lea ecx, [esp + 0x50]
mov byte [esp + 0x404], 6
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 3
call fcn.00407c10
mov ebx, dword [edi + 0x24]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push ebx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
test esi, esi
jne 0x402fbf
mov eax, 0x482b54
jmp 0x402fe9
lea eax, [esi + 1]
push eax
call fcn.00459ab9
add esp, 4
push 0
push 0
push esi
push eax
push 0xffffffffffffffff
push ebx
push 0
push 0xfde9
mov dword [esp + 0x3c], eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [esp + 0x1c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00407710
push str.desc
lea ecx, [esp + 0x50]
mov byte [esp + 0x404], 7
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 3
call fcn.00407c10
mov edx, dword [edi + 0x40]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00407620
push str.if_type
lea ecx, [esp + 0x50]
mov byte [esp + 0x404], 8
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 3
call fcn.00407c10
mov eax, dword [edi + 0x44]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00407620
push str.stat
lea ecx, [esp + 0x50]
mov byte [esp + 0x404], 9
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 3
call fcn.00407c10
mov ebx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0xa0]
call fcn.004091b0
sub esp, 0x18
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x2c], esp
inc ebx
push edx
mov esi, eax
mov dword [esp + 0x34], ebx
call fcn.004077e0
mov ecx, esi
call fcn.00407c10
mov edi, dword [edi + 8]
lea ecx, [esp + 0x34]
mov byte [esp + 0x3e8], 2
call fcn.00407b10
xor esi, esi
cmp edi, esi
jne 0x402df1
jmp 0x403124
push str.Call_to_GetAdaptersAddresses_failed._n
call fcn.004015d0
add esp, 4
push esi
push esi
lea ecx, [esp + 0x20]
push ecx
push 0x400
push eax
push esi
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
test eax, eax
je 0x403119
mov edx, dword [esp + 0x18]
push edx
push str._tError:__s
call fcn.004015d0
add esp, 8
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
push edi
call fcn.0045962a
mov eax, 7
xor ecx, ecx
add esp, 4
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe4], esi
mov word [esp + 0xd4], cx
xor edx, edx
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], esi
mov word [esp + 0xf0], dx
mov dword [esp + 0x120], eax
xor eax, eax
mov dword [esp + 0x11c], esi
mov word [esp + 0x10c], ax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0xd4]
push edx
mov byte [esp + 0x3f0], 0xc
call fcn.00402250
lea eax, [esp + 0x110]
push eax
call fcn.00402460
add esp, 0xc
cmp dword [esp + 0xe8], 8
jb 0x4031be
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x10], ecx
jmp 0x4031c9
lea edx, [esp + 0xd4]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
push esi
push esi
push esi
push 0xffffffffffffffff
push eax
push esi
push 0xfde9
call edi
mov esi, eax
test esi, esi
jne 0x4031f2
mov dword [esp + 0x28], 0x482b54
jmp 0x40321a
lea ecx, [esi + 1]
push ecx
call fcn.00459ab9
mov edx, dword [esp + 0x14]
add esp, 4
push 0
push 0
push esi
mov ebx, eax
push ebx
push 0xffffffffffffffff
push edx
push 0
push 0xfde9
call edi
mov dword [esp + 0x28], ebx
cmp dword [esp + 0x104], 8
jb 0x403231
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x10], eax
jmp 0x40323c
lea ecx, [esp + 0xf0]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edx
push 0
push 0xfde9
call edi
mov esi, eax
test esi, esi
jne 0x403264
mov dword [esp + 0x2c], 0x482b54
jmp 0x40328c
lea eax, [esi + 1]
push eax
call fcn.00459ab9
mov ecx, dword [esp + 0x14]
add esp, 4
push 0
push 0
push esi
mov ebx, eax
push ebx
push 0xffffffffffffffff
push ecx
push 0
push 0xfde9
call edi
mov dword [esp + 0x2c], ebx
cmp dword [esp + 0x120], 8
jb 0x4032a3
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x10], edx
jmp 0x4032ae
lea eax, [esp + 0x10c]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push ecx
push 0
push 0xfde9
call edi
mov esi, eax
test esi, esi
jne 0x4032d6
mov dword [esp + 0x18], 0x482b54
jmp 0x4032fe
lea edx, [esi + 1]
push edx
call fcn.00459ab9
add esp, 4
push 0
push 0
push esi
mov ebx, eax
mov eax, dword [esp + 0x1c]
push ebx
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
call edi
mov dword [esp + 0x18], ebx
push 0
lea ecx, [esp + 0x58]
call fcn.00407520
mov edx, dword [esp + 0x28]
sub esp, 0x18
mov byte [esp + 0x400], 0xd
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00407710
push str.manufacturer
lea ecx, [esp + 0x70]
mov byte [esp + 0x404], 0xe
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0xd
call fcn.00407c10
mov eax, dword [esp + 0x2c]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00407710
push 0x482a1c
lea ecx, [esp + 0x70]
mov byte [esp + 0x404], 0xf
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0xd
call fcn.00407c10
mov edx, dword [esp + 0x18]
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00407710
push str.uuid
lea ecx, [esp + 0x70]
mov byte [esp + 0x404], 0x10
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0xd
call fcn.00407c10
sub esp, 0x18
lea eax, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.004077e0
mov ebx, dword [esp + 0x48]
push str.bios
mov ecx, ebx
mov byte [esp + 0x404], 0x11
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0xd
call fcn.00407c10
xor edi, edi
push edi
lea ecx, [esp + 0x70]
call fcn.00407520
mov dword [esp + 0x13c], 0xf
mov dword [esp + 0x138], edi
mov byte [esp + 0x128], 0
lea ecx, [esp + 0x124]
push ecx
mov byte [esp + 0x3ec], 0x13
call fcn.00402c50
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00407650
push str.cpu_id
lea ecx, [esp + 0x88]
mov byte [esp + 0x404], 0x14
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0x13
call fcn.00407c10
sub esp, 0x18
lea edx, [esp + 0x13c]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00407770
push str.cpu_type
lea ecx, [esp + 0x88]
mov byte [esp + 0x404], 0x15
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0x13
call fcn.00407c10
sub esp, 0x18
lea eax, [esp + 0x84]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.004077e0
push 0x482a44
mov ecx, ebx
mov byte [esp + 0x404], 0x16
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0x13
call fcn.00407c10
call fcn.004016b0
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00407620
push str.win_ver
mov ecx, ebx
mov byte [esp + 0x404], 0x17
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0x13
call fcn.00407c10
call fcn.00402620
mov esi, eax
push esi
push str.disk_num_is__d_n
mov dword [esp + 0x58], esi
call fcn.004015d0
add esp, 8
cmp esi, edi
jle 0x40372c
xor ecx, ecx
mov edx, 0x200
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041da6b
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
test edi, edi
je 0x40372a
push edi
call fcn.004027d0
add esp, 4
mov dword [esp + 0x1c], 0
test esi, esi
jle 0x403721
mov dword [esp + 0x10], edi
push 0
lea ecx, [esp + 0x38]
call fcn.00407520
mov ebx, dword [esp + 0x10]
add ebx, 0x100
mov eax, ebx
mov byte [esp + 0x3e8], 0x18
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4035a0
sub eax, edx
sar eax, 1
lea edi, [eax + eax + 1]
push edi
call fcn.0041da6b
add esp, 4
push edi
mov esi, eax
push ebx
push esi
call fcn.0045c2f0
lea edx, [esp + 0x1d0]
add esp, 0xc
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4035d4
sub esp, 0x18
lea eax, [esp + 0x1dc]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00407710
push str.desc
lea ecx, [esp + 0x50]
mov byte [esp + 0x404], 0x19
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0x18
call fcn.00407c10
push esi
push str.diskDesc_is__s_n
call fcn.004015d0
mov ebx, dword [esp + 0x18]
mov eax, ebx
add esp, 8
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403630
sub eax, edx
sar eax, 1
lea edi, [eax + eax + 1]
push edi
call fcn.0041da6b
add esp, 4
push edi
mov esi, eax
push ebx
push esi
call fcn.0045c2f0
lea edx, [esp + 0x2d8]
add esp, 0xc
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x403664
sub esp, 0x18
lea edx, [esp + 0x2e4]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00407710
push str.code
lea ecx, [esp + 0x50]
mov byte [esp + 0x404], 0x1a
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0x18
call fcn.00407c10
push esi
push str.diskCode_is__s_n
call fcn.004015d0
sub esp, 0x10
lea eax, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.004077e0
mov esi, dword [esp + 0x34]
push esi
lea ecx, [esp + 0xa0]
mov byte [esp + 0x404], 0x1b
call fcn.004091b0
mov ecx, eax
mov byte [esp + 0x400], 0x18
call fcn.00407c10
lea ecx, [esp + 0x34]
mov byte [esp + 0x3e8], 0x13
call fcn.00407b10
inc esi
add ebx, 0x200
cmp esi, dword [esp + 0x50]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], ebx
jl 0x403578
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x30]
push edi
call fcn.0041da60
add esp, 4
xor edi, edi
sub esp, 0x18
lea edx, [esp + 0xb4]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.004077e0
push str.netcard
mov ecx, ebx
mov byte [esp + 0x404], 0x1c
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0x13
call fcn.00407c10
sub esp, 0x18
lea eax, [esp + 0x9c]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.004077e0
push str.disk
mov ecx, ebx
mov byte [esp + 0x404], 0x1d
call fcn.00409a40
mov ecx, eax
mov byte [esp + 0x400], 0x13
call fcn.00407c10
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0045962a
mov edx, dword [esp + 0x30]
add esp, 4
push edx
call fcn.0045962a
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
call fcn.0045962a
add esp, 4
call dword [sym.imp.ole32.dll_CoUninitialize]
cmp dword [esp + 0x13c], 0x10
jb 0x4037e5
mov ecx, dword [esp + 0x128]
push ecx
call fcn.0041da60
add esp, 4
lea ecx, [esp + 0x6c]
mov dword [esp + 0x13c], 0xf
mov dword [esp + 0x138], edi
mov byte [esp + 0x128], 0
mov byte [esp + 0x3e8], 0xd
call fcn.00407b10
lea ecx, [esp + 0x54]
mov byte [esp + 0x3e8], 0xc
call fcn.00407b10
mov ebx, 8
cmp dword [esp + 0x120], ebx
jb 0x40383f
mov edx, dword [esp + 0x10c]
push edx
call fcn.0041da60
add esp, 4
xor eax, eax
mov esi, 7
mov dword [esp + 0x120], esi
mov dword [esp + 0x11c], edi
mov word [esp + 0x10c], ax
cmp dword [esp + 0x104], ebx
jb 0x403875
mov ecx, dword [esp + 0xf0]
push ecx
call fcn.0041da60
add esp, 4
xor edx, edx
mov dword [esp + 0x104], esi
mov dword [esp + 0x100], edi
mov word [esp + 0xf0], dx
cmp dword [esp + 0xe8], ebx
jb 0x4038a6
mov eax, dword [esp + 0xd4]
push eax
call fcn.0041da60
add esp, 4
xor ecx, ecx
cmp dword [esp + 0x158], 0x10
mov dword [esp + 0xe8], esi
mov dword [esp + 0xe4], edi
mov word [esp + 0xd4], cx
jb 0x4038d8
mov edx, dword [esp + 0x144]
push edx
call fcn.0041da60
add esp, 4
lea ecx, [esp + 0x84]
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], edi
mov byte [esp + 0x144], 0
mov byte [esp + 0x3e8], 0
call fcn.00407b10
lea ecx, [esp + 0x9c]
mov dword [esp + 0x3e8], 0xffffffff
call fcn.00407b10
mov al, 1
mov ecx, dword [esp + 0x3e0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3c8]
xor ecx, esp
call fcn.00459157
mov esp, ebp
pop ebp
ret