Function at 0x426ac0
Capabilities:
Get hostname
Get local ipv4 addresses
Get socket information
Resolve dns
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc0
push esi
push edi
xor eax, eax
test ebx, ebx
mov ecx, 0x24
lea edi, [esp + 0x34]
mov dword [esp + 0x30], 0
rep stosd dword es:[edi], eax
jne 0x426af0
or eax, 0xffffffff
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x50
push ebx
call sub.WS2_32.dll_gethostname
test eax, eax
jne 0x426ee2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 8]
push edx
push eax
mov dword [esp + 0x20], 0x10
call sub.WS2_32.dll_getsockname
test eax, eax
jne 0x426b54
cmp dword [esp + 0x14], 8
jl 0x426b54
mov eax, dword [esp + 0x20]
mov cl, byte [esp + 0x22]
mov dl, byte [esp + 0x23]
mov byte [ebx + 0x57], 1
mov byte [ebx + 0x58], al
mov byte [ebx + 0x59], ah
mov byte [ebx + 0x5a], cl
mov byte [ebx + 0x5b], dl
jmp 0x426b91
push ebx
call sub.WS2_32.dll_gethostbyname
test eax, eax
je 0x426ed7
mov byte [ebx + 0x57], 1
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov cl, byte [edx]
mov byte [ebx + 0x58], cl
mov edx, dword [eax + 0xc]
mov ecx, dword [edx]
mov dl, byte [ecx + 1]
mov byte [ebx + 0x59], dl
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov cl, byte [edx + 2]
mov byte [ebx + 0x5a], cl
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov cl, byte [eax + 3]
mov byte [ebx + 0x5b], cl
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x34], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp eax, 1
jne 0x426be3
cmp dword [esp + 0x40], 1
jne 0x426be3
mov eax, dword [esp + 0x38]
test eax, eax
jbe 0x426be3
mov eax, dword [esp + 0x3c]
mov ecx, eax
and ecx, 0xff000000
cmp ecx, 0x4000000
ja 0x426bd8
and eax, 0xff0000
cmp eax, 0x5a0000
jb 0x426be3
mov eax, 0xfffffff8
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push str.iphlpapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
mov dword [esp + 0x10], edi
jne 0x426c03
mov eax, 0xfffffffc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push str.GetAdaptersInfo
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
jne 0x426c27
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffffb
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea edx, [esp + 8]
push edx
push 0
mov dword [esp + 0x10], 0
call esi
cmp eax, 0x6f
jne 0x426ec5
mov eax, dword [esp + 8]
test eax, eax
jbe 0x426ec5
push eax
call fcn.00459619
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x18], edi
jne 0x426c76
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffff9
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 8]
push ecx
push edi
call esi
test eax, eax
je 0x426ca1
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edi
call fcn.0045932f
add esp, 4
mov eax, 0xfffffffa
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [edi + 0x1ac]
lea esi, [esp + 0xc]
call fcn.00423d00
test eax, eax
jne 0x426cbd
mov ecx, dword [ebx + 0x58]
mov eax, esi
cmp ecx, dword [eax]
je 0x426cc8
mov edi, dword [edi]
test edi, edi
jne 0x426ca1
jmp 0x426ea5
mov eax, dword [edi + 0x1a4]
test eax, eax
sete dl
inc dl
lea esi, [ebx + 0x53]
lea eax, [edi + 0x1fc]
mov byte [ebx + 0x51], dl
call fcn.00423d00
test eax, eax
jne 0x426d08
cmp byte [esi], 0
jne 0x426d04
mov al, byte [ebx + 0x54]
test al, al
jne 0x426d04
mov al, byte [ebx + 0x55]
test al, al
jne 0x426d04
mov al, byte [ebx + 0x56]
test al, al
je 0x426d08
mov byte [ebx + 0x52], 1
lea esi, [ebx + 0x5d]
lea eax, [edi + 0x1ac]
call fcn.00423d80
test eax, eax
jne 0x426d1e
mov byte [ebx + 0x5c], 1
lea esi, [ebx + 0x76]
lea eax, [edi + 0x1d4]
call fcn.00423d00
test eax, eax
jne 0x426d4e
cmp byte [esi], 0
jne 0x426d4a
mov al, byte [ebx + 0x77]
test al, al
jne 0x426d4a
mov al, byte [ebx + 0x78]
test al, al
jne 0x426d4a
mov al, byte [ebx + 0x79]
test al, al
je 0x426d4e
mov byte [ebx + 0x75], 1
mov esi, dword [edi + 0x224]
test esi, esi
sete al
inc al
mov byte [ebx + 0x7a], al
lea esi, [ebx + 0x7c]
lea eax, [edi + 0x228]
call fcn.00423d00
test eax, eax
jne 0x426d8e
cmp byte [esi], 0
jne 0x426d8a
mov al, byte [ebx + 0x7d]
test al, al
jne 0x426d8a
mov al, byte [ebx + 0x7e]
test al, al
jne 0x426d8a
mov al, byte [ebx + 0x7f]
test al, al
je 0x426d8e
mov byte [ebx + 0x7b], 1
lea esi, [ebx + 0x81]
lea eax, [edi + 0x250]
call fcn.00423d00
test eax, eax
jne 0x426dcd
cmp byte [esi], 0
jne 0x426dc6
mov al, byte [ebx + 0x82]
test al, al
jne 0x426dc6
mov al, byte [ebx + 0x83]
test al, al
jne 0x426dc6
mov al, byte [ebx + 0x84]
test al, al
je 0x426dcd
mov byte [ebx + 0x80], 1
mov ecx, dword [esp + 0x10]
push str.GetNetworkParams
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x426ea5
lea edx, [esp + 8]
push edx
push 0
mov dword [esp + 0x10], 0
call esi
cmp eax, 0x6f
jne 0x426ea5
mov eax, dword [esp + 8]
test eax, eax
jbe 0x426ea5
push eax
call fcn.00459619
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0xc], edi
je 0x426ea5
lea eax, [esp + 8]
push eax
push edi
call esi
test eax, eax
jne 0x426e9c
lea eax, [edi + 0x10c]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x426e9c
lea esi, [ebx + 0x62]
call fcn.00423d00
test eax, eax
jne 0x426e4e
mov byte [ebx + 0x61], 1
mov ecx, dword [esp + 0x2c]
mov edi, dword [ecx]
test edi, edi
je 0x426e98
lea esi, [ebx + 0x67]
mov eax, edi
call fcn.00423d00
test eax, eax
jne 0x426e6a
mov byte [ebx + 0x66], 1
mov edi, dword [edi]
test edi, edi
je 0x426e98
lea esi, [ebx + 0x6c]
mov eax, edi
call fcn.00423d00
test eax, eax
jne 0x426e82
mov byte [ebx + 0x6b], 1
mov eax, dword [edi]
test eax, eax
je 0x426e98
lea esi, [ebx + 0x71]
call fcn.00423d00
test eax, eax
jne 0x426e98
mov byte [ebx + 0x70], 1
mov edi, dword [esp + 0xc]
push edi
call fcn.0045932f
add esp, 4
mov edx, dword [esp + 0x18]
push edx
call fcn.0045932f
mov eax, dword [esp + 0x14]
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 0xfffffffa
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffd
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
mov eax, 0xfffffffe
pop esi
mov esp, ebp
pop ebp
ret