Function at 0x483590
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe64
mov eax, dword [0x4f4b40]
mov dword [ebp - 0x418], eax
mov ecx, dword [0x4f4b44]
mov dword [ebp - 0x414], ecx
mov edx, dword [0x4f4b48]
mov dword [ebp - 0x410], edx
mov ax, word [0x4f4b4c]
mov word [ebp - 0x40c], ax
push 0x3f2
push 0
lea ecx, [ebp - 0x40a]
push ecx
call fcn.0049fd30
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push 0x4f4b50
push 0x10c
lea eax, [ebp - 0x658]
push eax
call fcn.00482570
add esp, 0x10
push 0x5c
lea ecx, [ebp - 0x658]
push ecx
call fcn.004a42c9
add esp, 8
mov dword [ebp - 0x430], eax
cmp dword [ebp - 0x430], 0
jne 0x48362a
lea edx, [ebp - 0x658]
mov dword [ebp - 0x430], edx
jmp 0x483639
mov eax, dword [ebp - 0x430]
add eax, 2
mov dword [ebp - 0x430], eax
lea ecx, [ebp - 0x418]
push ecx
call fcn.004a3c86
add esp, 4
push eax
lea edx, [ebp - 0x418]
push edx
mov eax, dword [ebp - 0x430]
push eax
call fcn.004a4294
add esp, 0xc
test eax, eax
jne 0x483681
lea ecx, [ebp - 0x418]
push ecx
call fcn.004a3c86
add esp, 4
mov edx, dword [ebp - 0x430]
lea eax, [edx + eax*2]
mov dword [ebp - 0x430], eax
lea ecx, [ebp - 0x428]
push ecx
push 0x20019
push 0
push str.SYSTEMCurrentControlSetServicesTcpipParametersInterfaces
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4836eb
lea edx, [ebp - 0x42c]
push edx
push 0x20019
push 0
mov eax, dword [ebp - 0x430]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x4836e6
mov edx, dword [ebp - 0x428]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x483e34
jmp 0x48382b
lea eax, [ebp - 0xe64]
push eax
push 0x20019
push 0
push str.SYSTEMCurrentControlSetServices
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x48371d
jmp 0x483e34
lea ecx, [ebp - 0x18]
push ecx
push 0x20019
push 0
mov edx, dword [ebp - 0x430]
push edx
mov eax, dword [ebp - 0xe64]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x48376a
mov ecx, dword [ebp - 0xe64]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x428]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x483e34
mov eax, dword [ebp - 0xe64]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x420]
push ecx
push 0x20019
push 0
push str.Parameters
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x4837bf
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x428]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x483e34
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x42c]
push eax
push 0x20019
push 0
push str.TcpIp
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x483817
mov edx, dword [ebp - 0x420]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x483e34
mov ecx, dword [ebp - 0x420]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0xc], 0x802
mov dword [ebp - 0xc], 4
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x41c]
push ecx
push 0
push str.UseZeroBroadcast
mov edx, dword [ebp - 0x42c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x48386b
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 4
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x41c]
push edx
push 0
push str.EnableDHCP
mov eax, dword [ebp - 0x42c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x4838ab
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x10], 0
je 0x483b5d
mov dword [ebp - 0xc], 0x802
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0xe60]
push edx
lea eax, [ebp - 0x41c]
push eax
push 0
push str.DhcpIPAddress
mov ecx, dword [ebp - 0x42c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x483910
mov edx, dword [ebp - 0x42c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x483e34
mov dword [ebp - 4], 0
mov dword [ebp - 0x434], 0
jmp 0x483932
mov ecx, dword [ebp - 0x434]
add ecx, 1
mov dword [ebp - 0x434], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x434]
cmp eax, dword [edx]
jge 0x483a13
mov ecx, dword [ebp - 0x434]
imul ecx, ecx, 0x180
add ecx, dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 4]
lea eax, [ebp + edx*2 - 0xe60]
push eax
call fcn.00480960
add esp, 4
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x14]
cmp dword [edx + 4], 0xffffffff
je 0x483a0c
mov eax, dword [ebp - 0x14]
mov word [eax], 2
mov ecx, dword [ebp - 0x434]
imul ecx, ecx, 0x180
mov edx, dword [ebp + 0xc]
lea eax, [edx + ecx + 0x100]
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x438]
mov word [ecx], 2
cmp dword [ebp - 8], 0
jne 0x4839bf
mov edx, dword [ebp - 0x438]
mov dword [edx + 4], 0xffffffff
jmp 0x4839cc
mov eax, dword [ebp - 0x438]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 4]
movzx edx, word [ebp + ecx*2 - 0xe60]
test edx, edx
je 0x4839e6
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
jmp 0x4839cc
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
movzx eax, word [ebp + edx*2 - 0xe60]
test eax, eax
je 0x483a08
mov ecx, dword [ebp - 4]
shl ecx, 1
cmp ecx, dword [ebp - 0xc]
jb 0x483a0a
jmp 0x483a13
jmp 0x483a0e
jmp 0x483a13
jmp 0x483923
mov dword [ebp - 0xc], 0x802
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0xe60]
push eax
lea ecx, [ebp - 0x41c]
push ecx
push 0
push str.DhcpSubnetMask
mov edx, dword [ebp - 0x42c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x483a6e
mov eax, dword [ebp - 0x42c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x428]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x483e34
mov dword [ebp - 4], 0
mov dword [ebp - 0x424], 0
jmp 0x483a90
mov edx, dword [ebp - 0x424]
add edx, 1
mov dword [ebp - 0x424], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x424]
cmp ecx, dword [eax]
jge 0x483b2b
mov edx, dword [ebp - 0x424]
imul edx, edx, 0x180
mov eax, dword [ebp + 0xc]
lea ecx, [eax + edx + 0x80]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 4]
lea eax, [ebp + edx*2 - 0xe60]
push eax
call fcn.00480960
add esp, 4
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x14]
cmp dword [edx + 4], 0xffffffff
je 0x483b24
mov eax, dword [ebp - 0x14]
mov word [eax], 2
mov ecx, dword [ebp - 4]
movzx edx, word [ebp + ecx*2 - 0xe60]
test edx, edx
je 0x483afe
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
jmp 0x483ae4
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
movzx eax, word [ebp + edx*2 - 0xe60]
test eax, eax
je 0x483b20
mov ecx, dword [ebp - 4]
shl ecx, 1
cmp ecx, dword [ebp - 0xc]
jb 0x483b22
jmp 0x483b2b
jmp 0x483b26
jmp 0x483b2b
jmp 0x483a81
mov edx, dword [ebp - 0x424]
cmp edx, dword [ebp - 0x434]
je 0x483b58
mov eax, dword [ebp - 0x42c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x428]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x483e34
jmp 0x483dfd
mov dword [ebp - 0xc], 0x802
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0xe60]
push eax
lea ecx, [ebp - 0x41c]
push ecx
push 0
push str.IPAddress
mov edx, dword [ebp - 0x42c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x483bb8
mov eax, dword [ebp - 0x42c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x428]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x483e34
mov dword [ebp - 4], 0
mov dword [ebp - 0x434], 0
jmp 0x483bda
mov edx, dword [ebp - 0x434]
add edx, 1
mov dword [ebp - 0x434], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x434]
cmp ecx, dword [eax]
jge 0x483cbb
mov edx, dword [ebp - 0x434]
imul edx, edx, 0x180
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
lea ecx, [ebp + eax*2 - 0xe60]
push ecx
call fcn.00480960
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 4], 0xffffffff
je 0x483cb4
mov ecx, dword [ebp - 0x14]
mov word [ecx], 2
mov edx, dword [ebp - 0x434]
imul edx, edx, 0x180
mov eax, dword [ebp + 0xc]
lea ecx, [eax + edx + 0x100]
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x438]
mov word [edx], 2
cmp dword [ebp - 8], 0
jne 0x483c67
mov eax, dword [ebp - 0x438]
mov dword [eax + 4], 0xffffffff
jmp 0x483c74
mov ecx, dword [ebp - 0x438]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 4]
movzx eax, word [ebp + edx*2 - 0xe60]
test eax, eax
je 0x483c8e
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
jmp 0x483c74
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
movzx ecx, word [ebp + eax*2 - 0xe60]
test ecx, ecx
je 0x483cb0
mov edx, dword [ebp - 4]
shl edx, 1
cmp edx, dword [ebp - 0xc]
jb 0x483cb2
jmp 0x483cbb
jmp 0x483cb6
jmp 0x483cbb
jmp 0x483bcb
mov dword [ebp - 0xc], 0x802
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0xe60]
push ecx
lea edx, [ebp - 0x41c]
push edx
push 0
push str.SubnetMask
mov eax, dword [ebp - 0x42c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0
je 0x483d16
mov ecx, dword [ebp - 0x42c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x428]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x483e34
mov dword [ebp - 4], 0
mov dword [ebp - 0x424], 0
jmp 0x483d38
mov eax, dword [ebp - 0x424]
add eax, 1
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x424]
cmp edx, dword [ecx]
jge 0x483dd3
mov eax, dword [ebp - 0x424]
imul eax, eax, 0x180
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + eax + 0x80]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
lea ecx, [ebp + eax*2 - 0xe60]
push ecx
call fcn.00480960
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 4], 0xffffffff
je 0x483dcc
mov ecx, dword [ebp - 0x14]
mov word [ecx], 2
mov edx, dword [ebp - 4]
movzx eax, word [ebp + edx*2 - 0xe60]
test eax, eax
je 0x483da6
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
jmp 0x483d8c
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
movzx ecx, word [ebp + eax*2 - 0xe60]
test ecx, ecx
je 0x483dc8
mov edx, dword [ebp - 4]
shl edx, 1
cmp edx, dword [ebp - 0xc]
jb 0x483dca
jmp 0x483dd3
jmp 0x483dce
jmp 0x483dd3
jmp 0x483d29
mov eax, dword [ebp - 0x424]
cmp eax, dword [ebp - 0x434]
je 0x483dfd
mov ecx, dword [ebp - 0x42c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x428]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x483e34
mov eax, dword [ebp - 0x434]
add eax, 1
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov edx, dword [ebp - 0x42c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x428]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x43c], 0
je 0x483e30
jmp 0x483e34
mov al, 1
jmp 0x483e36
xor al, al
mov esp, ebp
pop ebp
ret