Function at 0x42bf10
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e5ed7
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2130
call fcn.004e1270
mov eax, dword [0x572734]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2048], ecx
mov dword [ebp - 0x204c], 0xffffffff
push str.MS::RPI
lea ecx, [ebp - 0x2044]
call fcn.00445780
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x2048]
cmp dword [eax + 0x1c], 0
jne 0x42bfa2
mov ecx, dword [ebp - 0x204c]
mov dword [ebp - 0x2094], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2044]
call fcn.00445840
mov eax, dword [ebp - 0x2094]
jmp 0x42c735
lea ecx, [ebp - 0x20b4]
call fcn.0040e230
mov byte [ebp - 4], 1
mov byte [ebp - 4], 2
mov byte [ebp - 0x2071], 0
lea edx, [ebp - 0x205c]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.0042ef30
mov byte [ebp - 4], 3
lea eax, [ebp - 0x205c]
push eax
lea ecx, [ebp - 0x2060]
call dword [sym.imp.mfc120u.dll_Ordinal_280]
mov byte [ebp - 4], 4
push 0x506bb4
lea ecx, [ebp - 0x2060]
call dword [sym.imp.mfc120u.dll_Ordinal_1687]
mov dword [ebp - 0x2078], 0
lea ecx, [ebp - 0x2140]
call sub.mfc120u.dll_Ordinal_971
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x20c8]
call sub.mfc120u.dll_Ordinal_971
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x212c]
call sub.mfc120u.dll_Ordinal_971
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2078]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x2060]
call dword [sym.imp.mfc120u.dll_Ordinal_1658]
push eax
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x20b0], eax
cmp dword [ebp - 0x20b0], 0
jne 0x42c48f
mov dword [ebp - 0x207c], 0x800
mov dword [ebp - 0x2080], 0x800
mov dword [ebp - 0x2070], 0
push 0x506c58
lea ecx, [ebp - 0x2088]
call dword [sym.imp.mfc120u.dll_Ordinal_286]
mov byte [ebp - 4], 8
push 0
lea edx, [ebp - 0x2080]
push edx
lea eax, [ebp - 0x201c]
push eax
push 0
lea ecx, [ebp - 0x207c]
push ecx
lea edx, [ebp - 0x1018]
push edx
mov eax, dword [ebp - 0x2070]
push eax
mov ecx, dword [ebp - 0x2078]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x42c472
lea edx, [ebp - 0x2060]
push edx
lea ecx, [ebp - 0x2064]
call dword [sym.imp.mfc120u.dll_Ordinal_280]
mov byte [ebp - 4], 9
push 0x506c64
lea ecx, [ebp - 0x2064]
call dword [sym.imp.mfc120u.dll_Ordinal_1687]
lea eax, [ebp - 0x1018]
push eax
lea ecx, [ebp - 0x2064]
call dword [sym.imp.mfc120u.dll_Ordinal_1687]
lea ecx, [ebp - 0x206c]
push ecx
lea ecx, [ebp - 0x2088]
call dword [sym.imp.mfc120u.dll_Ordinal_1658]
push eax
lea ecx, [ebp - 0x2064]
call dword [sym.imp.mfc120u.dll_Ordinal_1658]
push eax
push SysReAllocString
call fcn.0040ab10
cmp dword [ebp - 0x206c], 0
jb 0x42c43a
cmp dword [ebp - 0x206c], 3
jae 0x42c43a
lea edx, [ebp - 0x1018]
push edx
lea ecx, [ebp - 0x2084]
call dword [sym.imp.mfc120u.dll_Ordinal_286]
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x2084]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x2110], esp
mov edx, dword [ebp - 0x2048]
mov eax, dword [edx + 0x24]
push eax
call fcn.00431530
mov dword [ebp - 0x20ac], eax
mov ecx, dword [ebp - 0x20ac]
mov dword [ebp - 0x2108], ecx
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x2058]
push edx
mov byte [ebp - 4], 0xa
call fcn.00474860
mov dword [ebp - 0x2114], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x2084]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
push 0
lea ecx, [ebp - 0x2058]
call fcn.004091d0
movzx eax, al
test eax, eax
je 0x42c1f6
lea ecx, [ebp - 0x1018]
push ecx
lea ecx, [ebp - 0x2140]
call fcn.004318d0
jmp 0x42c42b
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x210c], esp
lea edx, [ebp - 0x2058]
push edx
call fcn.004315c0
mov dword [ebp - 0x209c], eax
mov eax, dword [ebp - 0x209c]
mov dword [ebp - 0x20fc], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x2048]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ebp - 0x2048]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edx]
mov byte [ebp - 4], 0xd
mov eax, dword [edx + 0x38]
call eax
mov byte [ebp - 0x2050], al
movzx ecx, byte [ebp - 0x2050]
test ecx, ecx
je 0x42c2aa
push ecx
mov ecx, esp
mov dword [ebp - 0x20f8], esp
lea edx, [ebp - 0x2058]
push edx
call fcn.004315c0
mov dword [ebp - 0x208c], eax
mov eax, dword [ebp - 0x208c]
mov dword [ebp - 0x2118], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x2048]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ebp - 0x2048]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edx]
mov byte [ebp - 4], 0xd
mov eax, dword [edx + 0x3c]
call eax
mov byte [ebp - 0x204f], al
movzx ecx, byte [ebp - 0x204f]
test ecx, ecx
jne 0x42c302
lea ecx, [ebp - 0x20f4]
call fcn.004643d0
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x1018]
push edx
lea ecx, [ebp - 0x20f4]
call fcn.004644b0
lea ecx, [ebp - 0x205c]
call dword [sym.imp.mfc120u.dll_Ordinal_1658]
push eax
lea ecx, [ebp - 0x20f4]
call fcn.00464510
lea ecx, [ebp - 0x20f4]
call fcn.00464550
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x20f4]
call fcn.00464440
jmp 0x42c42b
cmp dword [ebp - 0x206c], 0
jne 0x42c419
cmp dword [ebp + 8], 0
jne 0x42c417
push 0x506c78
push ecx
mov ecx, esp
mov dword [ebp - 0x2104], esp
lea eax, [ebp - 0x2058]
push eax
call fcn.004315c0
mov dword [ebp - 0x2098], eax
mov ecx, dword [ebp - 0x2098]
mov dword [ebp - 0x2100], ecx
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x20a4]
push edx
mov byte [ebp - 4], 0xd
call fcn.004738f0
mov dword [ebp - 0x20a0], eax
mov eax, dword [ebp - 0x20a0]
mov dword [ebp - 0x20a8], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x20a8]
push ecx
call fcn.00405e40
add esp, 8
mov byte [ebp - 0x204d], al
mov dl, byte [ebp - 0x204d]
mov byte [ebp - 0x204e], dl
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x20a4]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
movzx eax, byte [ebp - 0x204e]
test eax, eax
je 0x42c417
lea ecx, [ebp - 0x20e4]
call fcn.004643d0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1018]
push ecx
lea ecx, [ebp - 0x20e4]
call fcn.004644b0
lea ecx, [ebp - 0x205c]
call dword [sym.imp.mfc120u.dll_Ordinal_1658]
push eax
lea ecx, [ebp - 0x20e4]
call fcn.00464510
lea ecx, [ebp - 0x20e4]
call fcn.00464660
movzx edx, al
test edx, edx
jne 0x42c408
lea eax, [ebp - 0x1018]
push eax
lea ecx, [ebp - 0x212c]
call fcn.004318d0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x20e4]
call fcn.00464440
jmp 0x42c42b
lea ecx, [ebp - 0x1018]
push ecx
lea ecx, [ebp - 0x20c8]
call fcn.004318d0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2058]
call fcn.00409150
mov edx, dword [ebp - 0x2070]
add edx, 1
mov dword [ebp - 0x2070], edx
mov dword [ebp - 0x207c], 0x800
mov dword [ebp - 0x2080], 0x800
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2064]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
jmp 0x42c09d
mov eax, dword [ebp - 0x2078]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2088]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
lea ecx, [ebp - 0x20c8]
call fcn.004656a0
cmp eax, 1
jne 0x42c4c7
mov ecx, dword [ebp + 8]
push ecx
push 0
lea ecx, [ebp - 0x20c8]
call fcn.00431930
push eax
mov ecx, dword [ebp - 0x2048]
call fcn.004310f0
mov dword [ebp - 0x204c], eax
jmp 0x42c5d1
lea ecx, [ebp - 0x20c8]
call fcn.004656a0
cmp eax, 1
jle 0x42c5c7
mov edx, dword [ebp - 0x2048]
cmp dword [edx + 0x2c], 0
je 0x42c5a9
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x20c8]
push ecx
lea edx, [ebp - 0x2054]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.0042f080
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2054]
call dword [sym.imp.mfc120u.dll_Ordinal_8064]
movzx eax, al
test eax, eax
jne 0x42c597
push 0
push 0x506ca0
lea ecx, [ebp - 0x2054]
call dword [sym.imp.mfc120u.dll_Ordinal_4621]
cmp eax, 0xffffffff
jne 0x42c555
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x2054]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.004310f0
mov dword [ebp - 0x204c], eax
jmp 0x42c597
lea ecx, [ebp - 0x2054]
call dword [sym.imp.mfc120u.dll_Ordinal_1658]
push eax
mov ecx, dword [ebp - 0x2048]
call fcn.0042f000
push 0
push 0
push 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x2048]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2048]
mov eax, dword [edx + 0xd4]
call eax
mov dword [ebp - 0x204c], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2054]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
jmp 0x42c5c5
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x20c8]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.00431450
mov dword [ebp - 0x204c], eax
jmp 0x42c5d1
mov dword [ebp - 0x204c], 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x212c]
push ecx
mov ecx, dword [ebp - 0x2048]
call fcn.00431450
mov dword [ebp - 0x2068], eax
mov edx, dword [ebp - 0x2068]
push edx
mov eax, dword [ebp - 0x204c]
push eax
call fcn.00431510
add esp, 8
mov dword [ebp - 0x204c], eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x2140]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.00431450
mov dword [ebp - 0x2068], eax
mov eax, dword [ebp - 0x2068]
push eax
mov ecx, dword [ebp - 0x204c]
push ecx
call fcn.00431510
add esp, 8
mov dword [ebp - 0x204c], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x212c]
call sub.mfc120u.dll_Ordinal_1445
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x20c8]
call sub.mfc120u.dll_Ordinal_1445
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2140]
call sub.mfc120u.dll_Ordinal_1445
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2060]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x205c]
call dword [sym.imp.mfc120u.dll_Ordinal_1042]
jmp 0x42c6f2
mov dword [ebp - 4], 1
jmp 0x42c702
mov eax, dword [ebp - 0x204c]
mov dword [ebp - 0x2090], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20b4]
call fcn.0040e260
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2044]
call fcn.00445840
mov eax, dword [ebp - 0x2090]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004e11cc
mov esp, ebp
pop ebp
ret 8