Function at 0x42fca0
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6319c2
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2130
call fcn.00610bb0
mov eax, dword [0x721970]
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.00449f50
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x2048]
cmp dword [eax + 0x1c], 0
jne 0x42fd32
mov ecx, dword [ebp - 0x204c]
mov dword [ebp - 0x2094], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2044]
call fcn.0044a010
mov eax, dword [ebp - 0x2094]
jmp 0x4304ad
lea ecx, [ebp - 0x20b4]
call fcn.00411390
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.00432c70
mov byte [ebp - 4], 3
lea eax, [ebp - 0x205c]
push eax
lea ecx, [ebp - 0x2060]
call fcn.004064e0
mov byte [ebp - 4], 4
push 0x662f94
lea ecx, [ebp - 0x2060]
call fcn.0040c280
mov dword [ebp - 0x2078], 0
lea ecx, [ebp - 0x2140]
call fcn.004f5cfc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x20c8]
call fcn.004f5cfc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x212c]
call fcn.004f5cfc
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2078]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x2060]
call fcn.004a7500
push eax
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x20b0], eax
cmp dword [ebp - 0x20b0], 0
jne 0x43020d
mov dword [ebp - 0x207c], 0x800
mov dword [ebp - 0x2080], 0x800
mov dword [ebp - 0x2070], 0
push 0x663038
lea ecx, [ebp - 0x2088]
call fcn.004065a0
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 0x4301f1
lea edx, [ebp - 0x2060]
push edx
lea ecx, [ebp - 0x2064]
call fcn.004064e0
mov byte [ebp - 4], 9
push 0x663044
lea ecx, [ebp - 0x2064]
call fcn.0040c280
lea eax, [ebp - 0x1018]
push eax
lea ecx, [ebp - 0x2064]
call fcn.0040c280
lea ecx, [ebp - 0x206c]
push ecx
lea ecx, [ebp - 0x2088]
call fcn.004a7500
push eax
lea ecx, [ebp - 0x2064]
call fcn.004a7500
push eax
push SysReAllocStringLen
call fcn.0040dc90
cmp dword [ebp - 0x206c], 0
jb 0x4301ba
cmp dword [ebp - 0x206c], 3
jae 0x4301ba
lea edx, [ebp - 0x1018]
push edx
lea ecx, [ebp - 0x2084]
call fcn.004065a0
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.004351f0
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.00479c50
mov dword [ebp - 0x2114], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x2084]
call fcn.004068c0
push 0
lea ecx, [ebp - 0x2058]
call fcn.0040c0e0
movzx eax, al
test eax, eax
je 0x42ff7b
lea ecx, [ebp - 0x1018]
push ecx
lea ecx, [ebp - 0x2140]
call fcn.00435510
jmp 0x4301ab
push ecx
mov ecx, esp
mov dword [ebp - 0x210c], esp
lea edx, [ebp - 0x2058]
push edx
call fcn.0044bca0
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 0x43002d
push ecx
mov ecx, esp
mov dword [ebp - 0x20f8], esp
lea edx, [ebp - 0x2058]
push edx
call fcn.0044bca0
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 0x430084
lea ecx, [ebp - 0x20f4]
call fcn.004692a0
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x1018]
push edx
lea ecx, [ebp - 0x20f4]
call fcn.00469380
lea ecx, [ebp - 0x205c]
call fcn.004a7500
push eax
lea ecx, [ebp - 0x20f4]
call fcn.004693e0
lea ecx, [ebp - 0x20f4]
call fcn.00469420
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x20f4]
call fcn.00469310
jmp 0x4301ab
cmp dword [ebp - 0x206c], 0
jne 0x430199
cmp dword [ebp + 8], 0
jne 0x430197
push 0x663058
push ecx
mov ecx, esp
mov dword [ebp - 0x2104], esp
lea eax, [ebp - 0x2058]
push eax
call fcn.0044bca0
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.00478d40
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.00406bc0
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 fcn.004068c0
movzx eax, byte [ebp - 0x204e]
test eax, eax
je 0x430197
lea ecx, [ebp - 0x20e4]
call fcn.004692a0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1018]
push ecx
lea ecx, [ebp - 0x20e4]
call fcn.00469380
lea ecx, [ebp - 0x205c]
call fcn.004a7500
push eax
lea ecx, [ebp - 0x20e4]
call fcn.004693e0
lea ecx, [ebp - 0x20e4]
call fcn.00469530
movzx edx, al
test edx, edx
jne 0x430188
lea eax, [ebp - 0x1018]
push eax
lea ecx, [ebp - 0x212c]
call fcn.00435510
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x20e4]
call fcn.00469310
jmp 0x4301ab
lea ecx, [ebp - 0x1018]
push ecx
lea ecx, [ebp - 0x20c8]
call fcn.00435510
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2058]
call fcn.00468ec0
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 fcn.004068c0
jmp 0x42fe29
mov eax, dword [ebp - 0x2078]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2088]
call fcn.004068c0
lea ecx, [ebp - 0x20c8]
call fcn.004caa90
cmp eax, 1
jne 0x430245
mov ecx, dword [ebp + 8]
push ecx
push 0
lea ecx, [ebp - 0x20c8]
call fcn.00435570
push eax
mov ecx, dword [ebp - 0x2048]
call fcn.00434dd0
mov dword [ebp - 0x204c], eax
jmp 0x43034b
lea ecx, [ebp - 0x20c8]
call fcn.004caa90
cmp eax, 1
jle 0x430341
mov edx, dword [ebp - 0x2048]
cmp dword [edx + 0x2c], 0
je 0x430323
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.00432dc0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2054]
call fcn.00407940
movzx eax, al
test eax, eax
jne 0x430312
push 0
push 0x663080
lea ecx, [ebp - 0x2054]
call fcn.00407530
cmp eax, 0xffffffff
jne 0x4302d1
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x2054]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.00434dd0
mov dword [ebp - 0x204c], eax
jmp 0x430312
lea ecx, [ebp - 0x2054]
call fcn.004a7500
push eax
mov ecx, dword [ebp - 0x2048]
call fcn.00432d40
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 fcn.004068c0
jmp 0x43033f
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x20c8]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.00435110
mov dword [ebp - 0x204c], eax
jmp 0x43034b
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.00435110
mov dword [ebp - 0x2068], eax
mov edx, dword [ebp - 0x2068]
push edx
mov eax, dword [ebp - 0x204c]
push eax
call fcn.004351d0
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.00435110
mov dword [ebp - 0x2068], eax
mov eax, dword [ebp - 0x2068]
push eax
mov ecx, dword [ebp - 0x204c]
push ecx
call fcn.004351d0
add esp, 8
mov dword [ebp - 0x204c], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x212c]
call fcn.004f5d13
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x20c8]
call fcn.004f5d13
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2140]
call fcn.004f5d13
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2060]
call fcn.004068c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x205c]
call fcn.004068c0
jmp 0x43046a
mov dword [ebp - 4], 1
jmp 0x43047a
mov eax, dword [ebp - 0x204c]
mov dword [ebp - 0x2090], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20b4]
call fcn.004113b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2044]
call fcn.0044a010
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.0060f7c8
mov esp, ebp
pop ebp
ret 8