Function at 0x4287ef
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov edx, 0x12
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4287f5
call fcn.0048d6d0
push dword [esp + 0x5c]
call fcn.0042e610
mov edx, dword [esp + 0x50]
lea ecx, [esp]
call fcn.0042e000
mov edx, dword [esp + 0x54]
lea ecx, [esp + 4]
call fcn.0042e000
mov edx, dword [esp + 0x58]
lea ecx, [esp + 8]
call fcn.0042e000
push dword [esp]
call fcn.0042a08e
push dword [esp + 8]
mov edx, 0x5cf9a6
pop ecx
call fcn.0042e590
je 0x4288a2
cmp dword [0x8f9d74], 0
je 0x428886
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0x8f9d8c]
or ebx, 0xf003f
push ebx
push 0
push dword [0x8f9d54]
push dword [0x8f9d70]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x4288a0
lea eax, [esp + 0x10]
push eax
push dword [0x8f9d54]
push dword [0x8f9d70]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
jmp 0x428907
lea eax, [esp + 0x18]
push eax
push dword [0x8f9d70]
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegConnectRegistryW
mov dword [esp + 0x14], eax
cmp dword [0x8f9d74], 0
je 0x4288ef
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0x8f9d8c]
or ebx, 0xf003f
push ebx
push 0
push dword [0x8f9d54]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x428907
lea eax, [esp + 0x10]
push eax
push dword [0x8f9d54]
push dword [esp + 0x20]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x428be1
mov dword [esp + 0x1c], 0x400
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
push dword [esp + 0x24]
call fcn.0048ad40
lea eax, [esp + 0x24]
push eax
call fcn.0048d5d0
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
push eax
lea eax, [esp + 0x2c]
push eax
push 0
push dword [esp + 0x14]
push dword [esp + 0x24]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x428be1
push dword [esp + 0x24]
mov ebx, 1
cmp ebx, dword [esp]
jne 0x4289e8
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x4289d5
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.0048b530
lea eax, [esp + 0x30]
push eax
call fcn.0048d5d0
jmp 0x4289e3
mov edx, 0x5cf064
lea ecx, [esp + 0x2c]
call fcn.0042e008
jmp 0x428be0
mov ebx, 2
cmp ebx, dword [esp]
jne 0x428a5d
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x428a4a
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.0048b530
lea eax, [esp + 0x30]
push eax
call fcn.0048d5d0
jmp 0x428a58
mov edx, 0x5cf064
lea ecx, [esp + 0x2c]
call fcn.0042e008
jmp 0x428be0
mov ebx, 4
cmp ebx, dword [esp]
jne 0x428acf
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x428abc
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov eax, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.0048ad90
lea eax, [esp + 0x30]
push eax
call fcn.0048d5d0
jmp 0x428aca
mov edx, 0x5cf9ec
lea ecx, [esp + 0x2c]
call fcn.0042e008
jmp 0x428be0
mov ebx, 3
cmp ebx, dword [esp]
jne 0x428be0
mov dword [esp + 0x38], 0x400
push dword [esp + 0x38]
call fcn.0048c290
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x48]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x428be0
mov edx, 0x5cf064
lea ecx, [esp + 0x2c]
call fcn.0042e008
mov dword [esp + 0x44], 0
jmp 0x428b3a
mov ebx, dword [esp + 0x38]
dec ebx
cmp ebx, dword [esp + 0x44]
jl 0x428bd7
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x44]
push ebx
pop eax
call fcn.0042e550
mov ebx, eax
and ebx, 0xff
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x48]
cmp ebx, 0x10
jge 0x428b94
mov edx, dword [esp + 0x2c]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
mov edx, 0x5cf9ec
push edx
call fcn.0048d570
lea eax, [esp + 0x30]
push eax
call fcn.0048d5d0
mov edx, dword [esp + 0x2c]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d530
pop edx
push eax
mov eax, dword [esp + 0x54]
cdq
push edx
push eax
call fcn.0048ab40
pop eax
lea eax, [esp + 0x30]
push eax
call fcn.0048d5d0
inc dword [esp + 0x44]
jno 0x428b3a
push dword [esp + 0x3c]
call fcn.0048c470
pop eax
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegCloseKey
mov edx, dword [esp + 0x28]
push edx
call fcn.0048d530
pop edx
push eax
push edx
call fcn.0048d570
pop eax
push eax
call fcn.0042e5d0
pop edx
add eax, edx
jmp 0x428c12
push dword [esp + 8]
call fcn.0048d760
push dword [esp + 0x20]
call fcn.0048d760
push dword [esp]
call fcn.0048d760
push dword [esp + 4]
call fcn.0048d760
push dword [esp + 0x28]
call fcn.0048d760
add esp, 0x48
pop ebx
ret 0xc