Function at 0x4230a0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2c38
call fcn.00439b40
mov eax, dword [0x4713e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x2c08], 0
lea eax, [ebp - 0x1c04]
mov dword [ebp - 0x2c38], eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
push str.RegOpenKeyEx__08x__s_r_n
call fcn.004145f0
add esp, 0xc
lea eax, [ebp - 0x2c14]
push eax
mov ecx, dword [ebp + 0xc]
or ecx, 0x20019
push ecx
push 0
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x423125
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.RegOpenKeyEx_error__d_r_n
call fcn.004145f0
add esp, 8
mov eax, 1
jmp 0x423347
cmp dword [ebp - 0x2c08], 0x100
jae 0x423335
mov dword [ebp - 0x2c28], 0x3f0
mov ecx, 1
imul edx, ecx, 0x3ff
mov dword [ebp - 0x2c1c], edx
cmp dword [ebp - 0x2c1c], 0x400
jae 0x42315e
jmp 0x423163
call fcn.0043920a
mov eax, dword [ebp - 0x2c1c]
mov byte [ebp + eax - 0x404], 0
mov dword [ebp - 0x2c0c], 0xffe
mov ecx, 1
imul edx, ecx, 0xfff
mov dword [ebp - 0x2c20], edx
cmp dword [ebp - 0x2c20], 0x1000
jae 0x42319a
jmp 0x42319f
call fcn.0043920a
mov eax, dword [ebp - 0x2c20]
mov byte [ebp + eax - 0x2c04], 0
mov ecx, dword [ebp - 0x2c08]
mov dword [ebp - 0x2c34], ecx
lea edx, [ebp - 0x2c0c]
push edx
lea eax, [ebp - 0x2c04]
push eax
lea ecx, [ebp - 0x2c10]
push ecx
push 0
lea edx, [ebp - 0x2c28]
push edx
lea eax, [ebp - 0x3fa]
push eax
mov ecx, dword [ebp - 0x2c34]
push ecx
mov edx, dword [ebp - 0x2c14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov dword [ebp - 0x2c2c], eax
mov eax, dword [ebp - 0x2c08]
add eax, 1
mov dword [ebp - 0x2c08], eax
cmp dword [ebp - 0x2c2c], 0
je 0x423215
jmp 0x423335
mov ecx, dword [ebp - 0x2c28]
add ecx, 0xa
mov dword [ebp - 0x2c24], ecx
cmp dword [ebp - 0x2c24], 0x400
jae 0x423232
jmp 0x423237
call fcn.0043920a
mov edx, dword [ebp - 0x2c24]
mov byte [ebp + edx - 0x404], 0
mov eax, dword [ebp - 0x2c0c]
mov dword [ebp - 0x2c18], eax
cmp dword [ebp - 0x2c18], 0x1000
jae 0x42325f
jmp 0x423264
call fcn.0043920a
mov ecx, dword [ebp - 0x2c18]
mov byte [ebp + ecx - 0x2c04], 0
push 0x1800
lea edx, [ebp - 0x1c04]
push edx
mov eax, dword [ebp - 0x2c0c]
push eax
lea ecx, [ebp - 0x2c04]
push ecx
mov edx, dword [ebp - 0x2c10]
push edx
call fcn.004215d0
add esp, 0x14
push 6
push str.Value_
lea eax, [ebp - 0x400]
push eax
call fcn.0043a1e0
add esp, 0xc
lea ecx, [ebp - 0x400]
push ecx
mov edx, dword [ebp + 0x14]
push edx
call fcn.004373f0
add esp, 8
mov dword [ebp - 0x2c30], eax
cmp dword [ebp + 0x18], 0
je 0x4232dd
mov eax, dword [ebp - 0x2c30]
movsx ecx, byte [eax]
test ecx, ecx
je 0x423330
lea edx, [ebp - 0x1c04]
push edx
lea eax, [ebp - 0x400]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.00437060
add esp, 0xc
push 5
push str.Type_
lea edx, [ebp - 0x3ff]
push edx
call fcn.0043a1e0
add esp, 0xc
mov eax, dword [ebp - 0x2c10]
push eax
call fcn.00421230
add esp, 4
push eax
lea ecx, [ebp - 0x3ff]
push ecx
mov edx, dword [ebp + 0x14]
push edx
call fcn.00437060
add esp, 0xc
jmp 0x423125
mov eax, dword [ebp - 0x2c14]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439b24
mov esp, ebp
pop ebp
ret