Function at 0x401090
Capabilities:
Convert ip address from string
Get local ipv4 addresses
Reference cloudflare dns server

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x118
mov eax, dword [0x44e004]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
lea eax, [ebp - 0x10c]
push edi
push eax
push 0
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0
push 0xf
push 0
movaps xmmword [ebp - 0x60], xmm0
movaps xmmword [ebp - 0x50], xmm0
movq qword [ebp - 0x40], xmm0
mov dword [ebp - 0x10c], 0
call esi
cmp eax, 0x6f
jne 0x401131
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x4012b6
add eax, 0x6000
push eax
mov dword [ebp - 0x10c], eax
call fcn.0042ff7c
add esp, 4
mov dword [ebp - 0x110], eax
mov edi, eax
lea eax, [ebp - 0x10c]
push eax
push edi
push 0
push 0xf
push 0
call esi
jmp 0x40113d
mov edi, dword [ebp - 0x110]
mov dword [ebp - 0x110], edi
test eax, eax
jne 0x4012b6
mov esi, dword [sym.imp.WS2_32.dll_inet_pton]
xorps xmm0, xmm0
mov eax, 2
movaps xmmword [ebp - 0x30], xmm0
mov word [ebp - 0x30], ax
mov eax, 0x17
movaps xmmword [ebp - 0x80], xmm0
mov word [ebp - 0x80], ax
lea eax, [ebp - 0x2c]
push eax
push str.1.1.1.1
push 2
movq qword [ebp - 0x70], xmm0
mov dword [ebp - 0x68], 0
call esi
cmp eax, 1
jne 0x4012a9
lea eax, [ebp - 0x78]
push eax
push str.2606:4700:4700::1111
push 0x17
call esi
cmp eax, 1
jne 0x4012a9
or eax, 0xffffffff
mov dword [ebp - 0x114], 0xffffffff
mov dword [ebp - 0x118], eax
mov esi, edi
test edi, edi
je 0x4012b6
nop dword [eax]
cmp dword [esi + 0x44], 1
jne 0x401296
mov eax, dword [esi + 0x40]
cmp eax, 0x18
je 0x401296
cmp eax, 0x35
je 0x401296
cmp eax, 0x83
je 0x401296
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x108]
push eax
push 0
lea eax, [ebp - 0x30]
push eax
push 0
push 0
lea edi, [esi + 0xb0]
push edi
call dword [sym.imp.IPHLPAPI.DLL_GetBestRoute2]
test eax, eax
jne 0x401238
mov eax, dword [esi + 0xa8]
add eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x114]
jae 0x401238
movups xmm0, xmmword [ebp - 0xa0]
mov dword [ebp - 0x114], eax
movups xmmword [ebp - 0x60], xmm0
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x108]
push eax
push 0
lea eax, [ebp - 0x80]
push eax
push 0
push 0
push edi
call dword [sym.imp.IPHLPAPI.DLL_GetBestRoute2]
test eax, eax
jne 0x401296
mov eax, dword [esi + 0xac]
add eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x118]
jae 0x401296
movaps xmm0, xmmword [ebp - 0xa0]
movaps xmmword [ebp - 0x50], xmm0
movq xmm0, qword [ebp - 0x90]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x88]
movq qword [ebp - 0x40], xmm0
mov dword [ebp - 0x38], eax
mov esi, dword [esi + 8]
test esi, esi
jne 0x4011c0
mov edi, dword [ebp - 0x110]
jmp 0x4012ad
test edi, edi
je 0x4012b6
push edi
call fcn.0042f371
add esp, 4
movaps xmm1, xmmword [ebp - 0x60]
movups xmm0, xmmword [ebp - 0x50]
mov eax, dword [ebp - 0x38]
mov esi, dword [sym.imp.WS2_32.dll_inet_ntop]
mov dword [0x44fb90], eax
movd eax, xmm1
movups xmmword [0x44fb78], xmm0
movq xmm0, qword [ebp - 0x40]
movq qword [0x44fb88], xmm0
movups xmmword [0x44fb94], xmm1
test ax, ax
je 0x4012fe
push 0x16
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x5c]
push eax
push 2
call esi
cmp word [ebp - 0x50], 0
je 0x401316
push 0x41
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x48]
push eax
push 0x17
call esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00429577
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret