Function at 0x422f88
Capabilities:
Set registry value

Disassembly:
sub esp, 0x104
and byte [esp], 0
push ebx
push ebp
push esi
push edi
push 0x40
pop ecx
xor eax, eax
lea edi, [esp + 0x11]
cmp byte [esp + 0x124], 0
rep stosd dword es:[edi], eax
push dword [esp + 0x118]
stosw word es:[edi], ax
stosb byte es:[edi], al
je 0x422fbd
push str.SoftwareArray_NetworksAdapter_Interface_For_VNic
jmp 0x422fc2
push str.SoftwareArray_NetworksAdapter_Interface
lea eax, [esp + 0x18]
push str._s_s
push eax
call sub.MSVCRT.dll_sprintf
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 0x10
cmp byte [esp + 0x120], 0
je 0x423088
cmp dword [0x441ff4], 0
je 0x42306e
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x423013
mov ecx, dword [0x441fdc]
cmp dword [ecx], 0
jne 0x42306e
cmp eax, 3
jle 0x42306e
call esi
mov ebp, eax
call edi
cmp dword [0x43d8ac], 0
mov ebx, eax
jge 0x42302e
mov eax, dword [0x441fa0]
mov dword [0x43d8ac], eax
call fcn.0041c4b1
test eax, eax
je 0x423060
push 3
push dword [0x43d8ac]
push 0x615
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutility_apiext.cpp
call fcn.0041c4e1
push str.Save_OldDNS:_it_is_dhcp_dns._n
call fcn.0041c506
add esp, 0x14
call fcn.0041c4cc
push ebp
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ebp, dword [esp + 0x11c]
push ebp
call sub.MSVCRT.dll_strlen
pop ecx
inc eax
push eax
push ebp
push 1
push str.DhcpNameServer
jmp 0x4230a0
mov ebp, dword [esp + 0x11c]
push ebp
call sub.MSVCRT.dll_strlen
pop ecx
inc eax
push eax
push ebp
push 1
push str.NameServer
lea eax, [esp + 0x20]
push eax
push reloc.WS2_32.dll_bind
call dword [sym.imp.SHLWAPI.dll_SHSetValueA]
mov ebx, eax
xor ecx, ecx
cmp ebx, ecx
je 0x423142
cmp dword [0x441ff4], ecx
je 0x42313b
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 1
je 0x4230df
mov edx, dword [0x441fdc]
cmp dword [edx], ecx
jne 0x42313b
cmp eax, 1
jle 0x42313b
call esi
mov esi, eax
call edi
cmp dword [0x43d8ac], 0
mov edi, eax
jge 0x4230fa
mov eax, dword [0x441fa0]
mov dword [0x43d8ac], eax
call fcn.0041c4b1
test eax, eax
je 0x42312d
push 1
push dword [0x43d8ac]
push 0x61f
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutility_apiext.cpp
call fcn.0041c4e1
push ebx
push str.Save_OldDNS_failed__error_is__d._n
call fcn.0041c506
add esp, 0x18
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x4231c9
cmp dword [0x441ff4], ecx
je 0x4231c6
mov eax, dword [0x441fd4]
mov eax, dword [eax]
cmp eax, 3
je 0x423165
mov edx, dword [0x441fdc]
cmp dword [edx], ecx
jne 0x4231c6
cmp eax, 3
jle 0x4231c6
call esi
mov esi, eax
call edi
cmp dword [0x43d8ac], 0
mov edi, eax
jge 0x423180
mov eax, dword [0x441fa0]
mov dword [0x43d8ac], eax
call fcn.0041c4b1
test eax, eax
je 0x4231b8
push 3
push dword [0x43d8ac]
push 0x623
push str.C:_build_rel_sp_8_4_6_2_srcwindowsSHAREDutility_apiext.cpp
call fcn.0041c4e1
lea eax, [esp + 0x20]
push ebp
push eax
push str.Save_OldDNS_success__the_interface_is__s__dns_value_is__s._n
call fcn.0041c506
add esp, 0x1c
call fcn.0041c4cc
push esi
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
push 1
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x104
ret