Function at 0x46eb50
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2978
call fcn.00473e00
mov dword [ebp - 4], 0
lea eax, [ebp - 0xc04]
push eax
lea ecx, [ebp - 0x804]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0046e910
test eax, eax
je 0x46f112
mov dword [ebp - 0xc08], 0
lea eax, [ebp - 0xc04]
push eax
push 0x4e3f54
lea ecx, [ebp - 0x1a78]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea ecx, [ebp - 0x404]
push ecx
call fcn.00473c05
add esp, 0xc
lea edx, [ebp - 0xc08]
push edx
push 0x20019
push 0
lea eax, [ebp - 0x404]
push eax
push 0x80000002
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
jne 0x46f112
mov dword [ebp - 0xc0c], 0x10
lea ecx, [ebp - 0xc0c]
push ecx
lea edx, [ebp - 0xc1c]
push edx
push 0
push 0
push 0x4e3f64
lea ecx, [ebp - 0x1b78]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov eax, dword [ebp - 0xc08]
push eax
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
test eax, eax
jne 0x46f105
push 0x4e3f70
lea ecx, [ebp - 0x1c78]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea ecx, [ebp - 0xc1c]
push ecx
call fcn.00474780
add esp, 8
test eax, eax
jne 0x46f105
mov dword [ebp - 0xd68], 0x40
lea edx, [ebp - 0xd68]
push edx
lea eax, [ebp - 0xd60]
push eax
push 0
push 0
push 0x4e3f7c
lea ecx, [ebp - 0x1d78]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov ecx, dword [ebp - 0xc08]
push ecx
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
mov edx, dword [ebp + 0xc]
mov al, byte [ebp - 0xd60]
mov byte [edx + 0x180], al
mov dword [ebp - 0xd64], 0x80
lea ecx, [ebp - 0xd64]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 0
push 0
push 0x4e3fa0
lea ecx, [ebp - 0x1e78]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov eax, dword [ebp - 0xc08]
push eax
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
mov dword [ebp - 0xd64], 0x80
lea ecx, [ebp - 0xd64]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x80
push edx
push 0
push 0
push 0x4e3fb0
lea ecx, [ebp - 0x1f78]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov eax, dword [ebp - 0xc08]
push eax
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
mov dword [ebp - 0xd64], 0x80
lea ecx, [ebp - 0xd64]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x100
push edx
push 0
push 0
push 0x4e3fc4
lea ecx, [ebp - 0x2078]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov eax, dword [ebp - 0xc08]
push eax
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
lea ecx, [ebp - 0xc04]
push ecx
lea edx, [ebp - 0xd20]
push edx
call fcn.00474490
add esp, 8
lea eax, [ebp - 0xc04]
push eax
lea ecx, [ebp - 0x804]
push ecx
lea edx, [ebp - 0x804]
push edx
call fcn.0046e910
mov dword [ebp - 0xc20], eax
cmp dword [ebp - 0xc20], 0
jne 0x46edd6
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x689], 1
lea ecx, [ebp - 0xc04]
push ecx
lea edx, [ebp - 0xd20]
push edx
call fcn.0046ea70
mov dword [ebp - 0xc20], eax
cmp dword [ebp - 0xc20], 0
je 0x46f0fe
lea eax, [ebp - 0xc04]
push eax
push 0x4e3fd8
lea ecx, [ebp - 0x2178]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea ecx, [ebp - 0x1570]
push ecx
call fcn.00473c05
add esp, 0xc
lea edx, [ebp - 0xd70]
push edx
push 0x20019
push 0
lea eax, [ebp - 0x1570]
push eax
push 0x80000002
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
jne 0x46f045
mov dword [ebp - 0x1574], 0x100
lea ecx, [ebp - 0x1574]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x281
push edx
push 0
push 0
push 0x4e3fe8
lea ecx, [ebp - 0x2278]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov eax, dword [ebp - 0xd70]
push eax
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
mov dword [ebp - 0x1574], 0x400
lea ecx, [ebp - 0x1574]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x181
push edx
push 0
push 0
push 0x4e3ff4
lea ecx, [ebp - 0x2378]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov eax, dword [ebp - 0xd70]
push eax
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
mov dword [ebp - 0x1574], 0x100
lea ecx, [ebp - 0x1574]
push ecx
lea edx, [ebp - 0x1974]
push edx
push 0
push 0
push 0x4e4004
lea ecx, [ebp - 0x2478]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov eax, dword [ebp - 0xd70]
push eax
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
mov dword [ebp - 0x1978], 0
lea ecx, [ebp - 0x1974]
push ecx
push 0x4e4010
lea ecx, [ebp - 0x2578]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea edx, [ebp - 0x1570]
push edx
call fcn.00473c05
add esp, 0xc
lea eax, [ebp - 0x1978]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x1570]
push ecx
push 0x80000002
call dword [sym.imp.advapi32.dll_RegOpenKeyExA]
test eax, eax
jne 0x46f038
mov dword [ebp - 0x1574], 0x100
lea edx, [ebp - 0x1574]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x381
push eax
push 0
push 0
push 0x4e4044
lea ecx, [ebp - 0x2678]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov ecx, dword [ebp - 0x1978]
push ecx
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
mov dword [ebp - 0x1574], 0x100
lea edx, [ebp - 0x1574]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x481
push eax
push 0
push 0
push 0x4e4054
lea ecx, [ebp - 0x2778]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov ecx, dword [ebp - 0x1978]
push ecx
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
mov dword [ebp - 0x1574], 0x100
lea edx, [ebp - 0x1574]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x581
push eax
push 0
push 0
push 0x4e4060
lea ecx, [ebp - 0x2878]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
mov ecx, dword [ebp - 0x1978]
push ecx
call dword [sym.imp.advapi32.dll_RegQueryValueExA]
mov edx, dword [ebp - 0x1978]
push edx
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov eax, dword [ebp - 0xd70]
push eax
call dword [sym.imp.advapi32.dll_RegCloseKey]
push 0x400
push 0
lea ecx, [ebp - 0x1170]
push ecx
call fcn.00473c80
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x681], 0
mov dword [ebp - 0xd6c], 0
push 0x4e4070
lea ecx, [ebp - 0x2978]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea eax, [ebp - 0x1170]
push eax
call fcn.00474780
add esp, 8
test eax, eax
je 0x46f0fe
lea ecx, [ebp - 0xc04]
push ecx
lea edx, [ebp - 0x1170]
push edx
lea eax, [ebp - 0x804]
push eax
call fcn.0046e910
test eax, eax
je 0x46f0d2
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x681]
add edx, 1
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x681], edx
jmp 0x46f0d4
jmp 0x46f0fe
lea ecx, [ebp - 0x1170]
push ecx
lea edx, [ebp - 0x804]
push edx
call fcn.00474490
add esp, 8
mov eax, dword [ebp - 0xd6c]
add eax, 1
mov dword [ebp - 0xd6c], eax
jmp 0x46f072
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0xc08]
push ecx
call dword [sym.imp.advapi32.dll_RegCloseKey]
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 8