Function at 0x454074
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d2dfb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
mov dword [ebp - 0x10], ecx
push str.GREG::GetValueInfo
lea ecx, [ebp - 0x4c]
call fcn.00404f76
and dword [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
call fcn.00406f8f
mov eax, dword [ebp + 0x10]
and dword [eax], 0
mov eax, dword [ebp + 0x14]
and dword [eax], 0
cmp dword [ebp + 8], 0
jge 0x4540d7
push 0xa44
push str.D:projectsUTIL_srcgreg.cpp
push str.nIndex___0
call fcn.00403b39
add esp, 0xc
cmp dword [ebp + 8], 0
jge 0x4540f5
and dword [ebp - 0x60], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x60]
jmp 0x4545c4
mov eax, dword [ebp - 0x10]
add eax, 0xc
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
mov ecx, dword [ebp - 0x10]
call fcn.00456570
movzx eax, al
test eax, eax
je 0x4541f7
lea ecx, [ebp - 0x124]
call fcn.0044b693
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x10]
add eax, 0xc
push eax
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
lea eax, [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.00456134
mov eax, dword [ebp - 0x124]
lea ecx, [ebp - 0x124]
call dword [eax + 8]
cmp dword [ebp + 8], eax
jge 0x4541d0
push dword [ebp + 8]
lea ecx, [ebp - 0x124]
call fcn.0042721a
mov ecx, eax
call fcn.00455e21
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00405662
push dword [ebp + 8]
lea ecx, [ebp - 0x124]
call fcn.0042721a
mov ecx, eax
call fcn.0045a262
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
push dword [ebp + 8]
lea ecx, [ebp - 0x124]
call fcn.0042721a
mov ecx, eax
call fcn.0044c32a
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov dword [ebp - 0x64], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x124]
call fcn.0044b955
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x64]
jmp 0x4545c4
and dword [ebp - 0x6c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x124]
call fcn.0044b955
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x6c]
jmp 0x4545c4
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x15], 0
je 0x454448
push 0
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
lea eax, [ebp - 0x2c]
push eax
call fcn.00459c32
add esp, 0xc
mov byte [ebp - 4], 2
push 0
lea ecx, [ebp - 0x2c]
call fcn.00405ab8
movsx eax, byte [eax]
test eax, eax
jne 0x454251
and dword [ebp - 0x74], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x74]
jmp 0x4545c4
lea ecx, [ebp - 0xe0]
call fcn.0042583a
mov byte [ebp - 4], 3
lea eax, [ebp - 0x11]
push eax
lea eax, [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0x10]
add eax, 0xc
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x15]
call fcn.00432db5
movzx eax, al
test eax, eax
jne 0x4542bb
and dword [ebp - 0x58], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xe0]
call fcn.00425937
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x58]
jmp 0x4545c4
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x4542df
push str.__bKeyNotFound
push str.GREG
push 0xa5b
push str.D:projectsUTIL_srcgreg.cpp
call fcn.004044d6
add esp, 0x10
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x45431a
and dword [ebp - 0x7c], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xe0]
call fcn.00425937
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x7c]
jmp 0x4545c4
lea ecx, [ebp - 0xe0]
call fcn.0047e16a
cmp dword [ebp + 8], eax
jl 0x45435d
and dword [ebp - 0x50], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xe0]
call fcn.00425937
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x50]
jmp 0x4545c4
lea ecx, [ebp - 0xa4]
call fcn.0044b8b0
mov byte [ebp - 4], 4
push dword [ebp + 8]
lea ecx, [ebp - 0xe0]
call fcn.004259cf
push eax
lea ecx, [ebp - 0xa4]
call fcn.004553de
movzx eax, al
test eax, eax
jne 0x4543cf
and dword [ebp - 0x78], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa4]
call fcn.0044ba5a
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xe0]
call fcn.00425937
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x78]
jmp 0x4545c4
lea ecx, [ebp - 0xa4]
call fcn.00455e21
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00405662
lea ecx, [ebp - 0xa4]
call fcn.0045a262
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
lea ecx, [ebp - 0xa4]
call fcn.0044c32a
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov dword [ebp - 0x68], 1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa4]
call fcn.0044ba5a
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xe0]
call fcn.00425937
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x68]
jmp 0x4545c4
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jne 0x454468
push 0xa69
push str.D:projectsUTIL_srcgreg.cpp
push str.m_hkey
call fcn.00403b39
add esp, 0xc
mov eax, dword [ebp - 0x10]
cmp dword [eax + 4], 0
jne 0x454489
and dword [ebp - 0x80], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x80]
jmp 0x4545c4
mov dword [ebp - 0x18], 0x105
and dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x38]
call fcn.004054e3
mov byte [ebp - 4], 5
push dword [ebp + 0x14]
push 0
lea eax, [ebp - 0x1c]
push eax
push 0
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
call fcn.004065f0
push eax
push dword [ebp + 8]
mov eax, dword [ebp - 0x10]
push dword [eax + 4]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jge 0x4544ed
push 0xa71
push str.D:projectsUTIL_srcgreg.cpp
push str.RegEnumValue
push dword [ebp - 0x20]
call fcn.00403d51
add esp, 0x10
cmp dword [ebp - 0x20], 0
jne 0x4545a5
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00405662
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
cmp dword [ebp - 0x18], 0x104
jb 0x454581
mov dword [ebp - 0x18], 0x4000
push dword [ebp + 0x14]
push 0
lea eax, [ebp - 0x1c]
push eax
push 0
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x38]
call fcn.004065f0
push eax
push dword [ebp + 8]
mov eax, dword [ebp - 0x10]
push dword [eax + 4]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
jne 0x454581
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.00405662
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [ebp - 0x70], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x70]
jmp 0x4545c4
mov dword [ebp - 0x54], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x54]
jmp 0x4545c4
and dword [ebp - 0x5c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.004055b0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004050e2
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x10