Function at 0x63d0e0
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push edi
push esi
sub esp, 8
mov dword [esp], str.KERNEL32.DLL
call sub.KERNEL32.dll_GetModuleHandleA
sub esp, 4
mov dword [0x80f2e4], eax
mov dword [esp], str.ADVAPI32.DLL
call fcn.007c60a0
mov dword [0x80f2e8], eax
mov dword [esp], str.IPHLPAPI.DLL
call fcn.007c60a0
mov dword [0x80f2ec], eax
mov dword [esp], str.DHCPCSVC.DLL
call fcn.007c60a0
mov dword [0x80f2f0], eax
mov dword [esp], str.PSAPI.DLL
call fcn.007c60a0
mov dword [0x80f2f4], eax
test eax, eax
je 0x63d486
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x63d486
mov eax, dword [0x80f2e4]
test eax, eax
je 0x63d486
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x63d486
mov ecx, dword [0x80f2e8]
test ecx, ecx
je 0x63d486
mov ecx, dword [0x80f2ec]
test ecx, ecx
je 0x63d486
mov ecx, dword [0x80f2f0]
test ecx, ecx
je 0x63d486
mov dword [esp], eax
mov dword [esp + 4], str.GetComputerNameExA
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2bc], eax
test eax, eax
je 0x63d486
imul eax, eax
and eax, 3
cmp eax, 2
je 0x63d486
mov eax, dword [0x80f2e4]
mov dword [esp], eax
mov dword [esp + 4], str.GetSystemFirmwareTable
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2b8], eax
mov eax, dword [0x80f2e8]
mov dword [esp], eax
mov dword [esp + 4], 0x7e2321
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f294], eax
test eax, eax
je 0x63d486
xor eax, eax
test al, al
jne 0x63d486
mov eax, dword [0x80f2e8]
mov dword [esp], eax
mov dword [esp + 4], 0x7e232f
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f298], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2e8]
mov dword [esp], eax
mov dword [esp + 4], 0x7e2340
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f29c], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2e8]
mov dword [esp], eax
mov dword [esp + 4], 0x7e234c
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2a0], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2e8]
mov dword [esp], eax
mov dword [esp + 4], 0x7e235b
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2a4], eax
test eax, eax
jne 0x63d2b7
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x63d486
mov eax, dword [0x80f2e8]
mov dword [esp], eax
mov dword [esp + 4], 0x7e236b
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2a8], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2e8]
mov dword [esp], eax
mov dword [esp + 4], str.RegEnumKeyExA
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2ac], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2e8]
mov dword [esp], eax
mov dword [esp + 4], str.ConvertSidToStringSidA
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2b0], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2e8]
mov dword [esp], eax
mov dword [esp + 4], str.LookupAccountNameW
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2b4], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2ec]
mov dword [esp], eax
mov dword [esp + 4], str.GetAdaptersInfo
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2c0], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2ec]
mov dword [esp], eax
mov dword [esp + 4], str.GetAdaptersAddresses
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2c4], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2f0]
mov dword [esp], eax
mov dword [esp + 4], str.DhcpRequestParams
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2c8], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2f0]
mov dword [esp], eax
mov dword [esp + 4], str.DhcpCApiInitialize
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2cc], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2f0]
mov dword [esp], eax
mov dword [esp + 4], str.DhcpCApiCleanup
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2d0], eax
test eax, eax
je 0x63d486
mov eax, dword [0x80f2f4]
mov dword [esp], eax
mov dword [esp + 4], str.EnumDeviceDrivers
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2d4], eax
test eax, eax
je 0x63d486
imul eax, eax
and eax, 3
cmp eax, 3
je 0x63d486
mov eax, dword [0x80f2f4]
mov dword [esp], eax
mov dword [esp + 4], str.GetDeviceDriverBaseNameA
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x80f2d8], eax
test eax, eax
jne 0x63d45c
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x63d486
mov eax, dword [0x80f2f4]
mov dword [esp], eax
mov dword [esp + 4], str.EnumProcessModules
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov ecx, eax
mov dword [0x80f2e0], ecx
xor eax, eax
test ecx, ecx
jne 0x63d580
mov esi, dword [0x80f2e8]
test esi, esi
je 0x63d4de
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
je 0x63d4de
xor edi, edi
mov bl, 1
jmp 0x63d4d6
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx eax, al
add edi, eax
mov dword [esp], esi
call sub.KERNEL32.dll_FreeLibrary
sub esp, 4
mov dword [0x80f2e8], 0
test edi, edi
je 0x63d4b0
test bl, bl
je 0x63d4b0
mov eax, dword [0x80f2ec]
test eax, eax
je 0x63d4fc
mov dword [esp], eax
call sub.KERNEL32.dll_FreeLibrary
sub esp, 4
mov dword [0x80f2ec], 0
mov esi, dword [0x80f2f0]
test esi, esi
je 0x63d546
xor edi, edi
jmp 0x63d533
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
adc edi, 0
mov dword [esp], esi
call sub.KERNEL32.dll_FreeLibrary
sub esp, 4
mov dword [0x80f2f0], 0
mov eax, 3
sub eax, edi
xor eax, edi
setne al
movzx eax, al
cmp edi, eax
jb 0x63d510
mov eax, dword [0x80f2f4]
test eax, eax
jne 0x63d55c
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb 0x63d571
mov dword [esp], eax
call sub.KERNEL32.dll_FreeLibrary
sub esp, 4
mov dword [0x80f2f4], 0
mov dword [0x80f2e4], 0
mov eax, 0xffffffff
add esp, 8
pop esi
pop edi
pop ebx
ret