Function at 0x407492
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov edx, 0x12
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x407498
call fcn.004234e0
push dword [esp + 0x5c]
call fcn.0040d5f0
mov edx, dword [esp + 0x50]
lea ecx, [esp]
call fcn.0040d000
mov edx, dword [esp + 0x54]
lea ecx, [esp + 4]
call fcn.0040d000
mov edx, dword [esp + 0x58]
lea ecx, [esp + 8]
call fcn.0040d000
push dword [esp]
call fcn.00408b31
push dword [esp + 8]
mov edx, 0x4832dc
pop ecx
call fcn.0040d580
je 0x407545
cmp dword [0x79e98c], 0
je 0x407529
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0x79e9a4]
or ebx, 0xf003f
push ebx
push 0
push dword [0x79e96c]
push dword [0x79e988]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x407543
lea eax, [esp + 0x10]
push eax
push dword [0x79e96c]
push dword [0x79e988]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
jmp 0x4075aa
lea eax, [esp + 0x18]
push eax
push dword [0x79e988]
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegConnectRegistryW
mov dword [esp + 0x14], eax
cmp dword [0x79e98c], 0
je 0x407592
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0x79e9a4]
or ebx, 0xf003f
push ebx
push 0
push dword [0x79e96c]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x4075aa
lea eax, [esp + 0x10]
push eax
push dword [0x79e96c]
push dword [esp + 0x20]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x407884
mov dword [esp + 0x1c], 0x400
push edx
call main
pop edx
push eax
push edx
call main
pop edx
push eax
push dword [esp + 0x24]
call fcn.00420d30
lea eax, [esp + 0x24]
push eax
call fcn.004233b0
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 0x407884
push dword [esp + 0x24]
mov ebx, 1
cmp ebx, dword [esp]
jne 0x40768b
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 0x407678
push edx
call main
pop edx
push eax
push edx
call main
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.00421080
lea eax, [esp + 0x30]
push eax
call fcn.004233b0
jmp 0x407686
mov edx, 0x483028
lea ecx, [esp + 0x2c]
call fcn.0040d008
jmp 0x407883
mov ebx, 2
cmp ebx, dword [esp]
jne 0x407700
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 0x4076ed
push edx
call main
pop edx
push eax
push edx
call main
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.00421080
lea eax, [esp + 0x30]
push eax
call fcn.004233b0
jmp 0x4076fb
mov edx, 0x483028
lea ecx, [esp + 0x2c]
call fcn.0040d008
jmp 0x407883
mov ebx, 4
cmp ebx, dword [esp]
jne 0x407772
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 0x40775f
push edx
call main
pop edx
push eax
push edx
call main
pop edx
push eax
mov eax, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.00421450
lea eax, [esp + 0x30]
push eax
call fcn.004233b0
jmp 0x40776d
mov edx, 0x483316
lea ecx, [esp + 0x2c]
call fcn.0040d008
jmp 0x407883
mov ebx, 3
cmp ebx, dword [esp]
jne 0x407883
mov dword [esp + 0x38], 0x400
push dword [esp + 0x38]
call fcn.00422380
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 0x407883
mov edx, 0x483028
lea ecx, [esp + 0x2c]
call fcn.0040d008
mov dword [esp + 0x44], 0
jmp 0x4077dd
mov ebx, dword [esp + 0x38]
dec ebx
cmp ebx, dword [esp + 0x44]
jl 0x40787a
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x44]
push ebx
pop eax
call fcn.0040d530
mov ebx, eax
and ebx, 0xff
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x48]
cmp ebx, 0x10
jge 0x407837
mov edx, dword [esp + 0x2c]
push edx
call main
pop edx
push eax
push edx
call fcn.00423440
mov edx, 0x483316
push edx
call fcn.00423440
lea eax, [esp + 0x30]
push eax
call fcn.004233b0
mov edx, dword [esp + 0x2c]
push edx
call main
pop edx
push eax
push edx
call fcn.00423440
push edx
call main
pop edx
push eax
push edx
call main
pop edx
push eax
mov eax, dword [esp + 0x54]
cdq
push edx
push eax
call fcn.00421a90
pop eax
lea eax, [esp + 0x30]
push eax
call fcn.004233b0
inc dword [esp + 0x44]
jno 0x4077dd
push dword [esp + 0x3c]
call fcn.004222d0
pop eax
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegCloseKey
mov edx, dword [esp + 0x28]
push edx
call main
pop edx
push eax
push edx
call fcn.00423440
pop eax
push eax
call fcn.0040d5c0
pop edx
add eax, edx
jmp 0x4078b5
push dword [esp + 8]
call fcn.00423570
push dword [esp + 0x20]
call fcn.00423570
push dword [esp]
call fcn.00423570
push dword [esp + 4]
call fcn.00423570
push dword [esp + 0x28]
call fcn.00423570
add esp, 0x48
pop ebx
ret 0xc