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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x4ce540]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor esi, esi
lea eax, [ebp - 0x14]
push eax
push esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0xc], esi
xor ebx, ebx
mov dword [ebp - 0x1c], esi
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, esi
je 0x4144aa
cmp eax, 0x6f
je 0x4144aa
cmp eax, 0xe8
je 0x4149f0
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, 0x20000000
je 0x414484
cmp eax, esi
jle 0x414a41
and eax, 0xffff
or eax, 0xa0070000
lea esp, [ebp - 0x2c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004265ea
mov esp, ebp
pop ebp
ret
cmp eax, esi
jle 0x414a41
and eax, 0xffff
or eax, 0x80070000
lea esp, [ebp - 0x2c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004265ea
mov esp, ebp
pop ebp
ret
cmp eax, 0xe8
je 0x4149f0
xor ecx, ecx
mov eax, 0x400
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004261ca
mov ebx, eax
add esp, 4
mov dword [ebp - 0x18], ebx
cmp ebx, esi
jne 0x4144e6
mov esi, 0x8007000e
jmp 0x414a32
push 0x800
push esi
push ebx
call fcn.00427b00
mov eax, dword [ebp - 0x14]
inc eax
push eax
call fcn.004261ca
mov edi, eax
add esp, 0x10
mov dword [ebp - 0x20], edi
cmp edi, esi
jne 0x414512
mov esi, 0x8007000e
jmp 0x414a22
mov ecx, dword [ebp - 0x14]
inc ecx
push ecx
push esi
push edi
call fcn.00427b00
add esp, 0xc
lea edx, [ebp - 0x14]
push edx
push edi
call sub.IPHLPAPI.DLL_GetAdaptersInfo
test eax, eax
je 0x414574
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, 0x20000000
je 0x414558
cmp eax, esi
jg 0x414547
mov esi, eax
jmp 0x414a22
and eax, 0xffff
or eax, 0xa0070000
mov esi, eax
jmp 0x414a22
cmp eax, esi
jg 0x414563
mov esi, eax
jmp 0x414a22
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
jmp 0x414a22
mov dword [ebp - 8], edi
jmp 0x414580
mov edi, dword [ebp - 8]
xor esi, esi
cmp dword [edi + 0x1a4], 1
jne 0x414593
mov esi, 4
lea eax, [edi + 0x1b0]
push str.0.0.0.0
push eax
call fcn.004391f0
add esp, 8
test eax, eax
je 0x4145ae
or esi, 2
lea eax, [edi + 0x1d8]
push str.0.0.0.0
push eax
call fcn.004391f0
add esp, 8
test eax, eax
je 0x4145c9
or esi, 1
mov ecx, esi
and ecx, 3
cmp cl, 3
jne 0x4145dc
cmp dword [ebp - 0xc], 0
jne 0x4145dc
mov dword [ebp - 0xc], edi
cmp esi, 7
jne 0x4145e6
lea eax, [esi - 4]
jmp 0x414603
cmp esi, 3
jne 0x4145f0
lea eax, [esi - 1]
jmp 0x414603
cmp esi, 1
je 0x4145fe
cmp esi, 4
je 0x4145fe
xor eax, eax
jmp 0x414603
mov eax, 1
mov ecx, dword [ebp - 8]
mov edi, dword [ecx + 0x1a0]
sub edi, 6
neg edi
sbb edi, edi
and edi, 0xfffffff7
add edi, 0xa
lea esi, [ecx + 8]
imul edi, eax
call fcn.00414130
test eax, eax
je 0x4147d9
cmp edi, dword [ebp - 0x1c]
jbe 0x41463a
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0xc], edx
test edi, edi
jbe 0x4147d9
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414647
sub eax, edx
sar eax, 1
add eax, 0x23
cmp eax, 0x400
ja 0x4147e9
mov eax, ebx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414670
sub eax, edx
sar eax, 1
mov edi, 0x4c8994
jne 0x41468b
mov edi, 0x4c664c
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414690
sub eax, edx
sar eax, 1
mov edx, eax
mov eax, ebx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4146a6
push edi
sub eax, esi
mov ecx, 0x400
sub ecx, edx
sar eax, 1
push 0x4c7554
push ecx
lea edx, [ebx + eax*2]
push edx
call fcn.004266d6
mov eax, dword [ebp - 8]
xor esi, esi
add esp, 0x10
cmp dword [eax + 0x190], esi
jbe 0x414754
lea esp, [esp]
mov dword [ebp - 0x10], 0x4c8998
test esi, esi
ja 0x4146f2
mov dword [ebp - 0x10], 0x4c664c
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4146f7
sub eax, edx
sar eax, 1
mov edx, eax
mov eax, ebx
lea edi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414710
mov ecx, dword [ebp - 8]
movzx ecx, byte [ecx + esi + 0x194]
push ecx
mov ecx, dword [ebp - 0x10]
push ecx
sub eax, edi
mov ecx, 0x400
sub ecx, edx
sar eax, 1
push 0x4c899c
push ecx
lea edx, [ebx + eax*2]
push edx
call fcn.004266d6
mov eax, dword [ebp - 8]
inc esi
add esp, 0x14
cmp esi, dword [eax + 0x190]
jb 0x4146e0
mov eax, dword [ebp - 8]
add eax, 0x1b0
je 0x41478f
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
inc edi
cmp edi, 0x3fffffff
jle 0x414774
xor eax, eax
jmp 0x41478f
lea eax, [edi + edi]
call fcn.00434de0
mov eax, dword [ebp - 8]
mov esi, esp
push 3
mov edx, edi
add eax, 0x1b0
call fcn.00414ed0
mov ecx, ebx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x414794
sub ecx, esi
sar ecx, 1
mov esi, ecx
mov ecx, ebx
lea edi, [ecx + 2]
lea ebx, [ebx]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4147b0
push eax
sub ecx, edi
mov edx, 0x400
sar ecx, 1
push str._ws
sub edx, esi
push edx
lea eax, [ebx + ecx*2]
push eax
call fcn.004266d6
add esp, 0x10
mov ecx, dword [ebp - 8]
mov eax, dword [ecx]
mov dword [ebp - 8], eax
test eax, eax
jne 0x414580
mov eax, ebx
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4147f0
sub eax, edx
sar eax, 1
jne 0x41493c
cmp dword [ebp - 0xc], 0
je 0x41493c
push 0x400
push 0
push ebx
call fcn.00427b00
mov edx, dword [ebp - 0xc]
xor esi, esi
add esp, 0xc
cmp dword [edx + 0x190], esi
jbe 0x4148a4
lea esp, [esp]
mov dword [ebp - 0x10], 0x4c8998
test esi, esi
ja 0x414842
mov dword [ebp - 0x10], 0x4c664c
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414847
sub eax, edx
sar eax, 1
mov edx, eax
mov eax, ebx
lea edi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414860
mov ecx, dword [ebp - 0xc]
movzx ecx, byte [ecx + esi + 0x194]
push ecx
mov ecx, dword [ebp - 0x10]
push ecx
sub eax, edi
mov ecx, 0x400
sub ecx, edx
sar eax, 1
push 0x4c899c
push ecx
lea edx, [ebx + eax*2]
push edx
call fcn.004266d6
mov eax, dword [ebp - 0xc]
inc esi
add esp, 0x14
cmp esi, dword [eax + 0x190]
jb 0x414830
mov ebx, dword [ebp - 0xc]
add ebx, 0x1b0
je 0x4148ee
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
inc esi
cmp esi, 0x3fffffff
jg 0x4148ea
lea eax, [esi + esi]
call fcn.00434de0
mov edi, esp
test edi, edi
je 0x4148ea
push esi
push edi
push 0xffffffffffffffff
xor ecx, ecx
push ebx
push ecx
push 3
mov word [edi], cx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb eax, eax
and eax, edi
jmp 0x4148ec
xor eax, eax
mov ebx, eax
mov edx, dword [ebp - 0x18]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4148f6
sub eax, esi
sar eax, 1
mov esi, eax
mov eax, edx
lea edi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414910
push ebx
sub eax, edi
mov ecx, 0x400
sar eax, 1
push str._ws
sub ecx, esi
push ecx
lea edx, [edx + eax*2]
push edx
call fcn.004266d6
mov ebx, dword [ebp - 0x18]
add esp, 0x10
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414941
sub eax, edx
sar eax, 1
inc eax
push eax
call fcn.004261ca
mov edi, eax
add esp, 4
test edi, edi
jne 0x41496a
mov esi, 0x8007000e
jmp 0x414a22
mov eax, ebx
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x414970
sub eax, edx
sar eax, 1
inc eax
push eax
push 0
push edi
call fcn.00427b00
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jg 0x4149cc
add eax, eax
mov dword [ebp - 0x18], eax
call fcn.00434de0
mov esi, esp
test esi, esi
je 0x4149cc
mov eax, dword [ebp - 0x18]
push 0
push 0
push eax
push esi
push 0xffffffffffffffff
push ebx
push 0
push 3
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
neg eax
sbb eax, eax
and eax, esi
jmp 0x4149ce
xor eax, eax
mov ecx, ebx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4149d3
sub ecx, esi
sar ecx, 1
push eax
inc ecx
push ecx
push edi
call fcn.0042e825
add esp, 0xc
jmp 0x414a1b
push 1
call fcn.004261ca
mov edi, eax
add esp, 4
cmp edi, esi
jne 0x414a19
mov eax, 0x8007000e
lea esp, [ebp - 0x2c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004265ea
mov esp, ebp
pop ebp
ret
mov byte [edi], bl
mov ecx, dword [ebp + 8]
mov dword [ecx], edi
xor esi, esi
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x414a32
push eax
call fcn.00427598
add esp, 4
test ebx, ebx
je 0x414a3f
push ebx
call fcn.00427598
add esp, 4
mov eax, esi
lea esp, [ebp - 0x2c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004265ea
mov esp, ebp
pop ebp
ret