Function at 0x40c480
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4172f6
mov eax, dword fs:[0]
push eax
sub esp, 0x460
mov eax, dword [0x4241a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call esi
sub esp, 0x18
mov ecx, esp
push str.explorer.exe
call fcn.0040a660
lea eax, [ebp - 0x450]
push eax
call fcn.00405a60
add esp, 0x1c
test eax, eax
je 0x40c4b2
xor eax, eax
mov dword [ebp - 0x434], 0
mov dword [ebp - 0x430], 7
mov word [ebp - 0x444], ax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x444]
push eax
push dword [ebp - 0x450]
call fcn.0040cff0
add esp, 8
test eax, eax
je 0x40c904
push 0x400
lea eax, [ebp - 0x410]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
cmp dword [ebp - 0x430], 8
lea eax, [ebp - 0x444]
mov dword [ebp - 0x448], 0x400
cmovae eax, dword [ebp - 0x444]
push eax
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x414], 1
push str._sSoftwareMicrosoftWindowsCurrentVersionUninstallwinManager
push eax
call fcn.0040df60
add esp, 0x18
cmp dword [ebp - 0x418], 8
lea ecx, [ebp - 0x44c]
push ecx
push 0x20019
lea eax, [ebp - 0x42c]
mov byte [ebp - 4], 1
cmovae eax, dword [ebp - 0x42c]
push 0
push eax
push 0x80000003
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x414]
push eax
push 0
push str.DisplayVersion
push dword [ebp - 0x44c]
call esi
sub esp, 0x18
lea eax, [ebp - 0x410]
mov ecx, esp
push dword [ebp - 0x448]
push eax
call fcn.0040ba00
lea eax, [ebp - 0x46c]
push eax
call fcn.0040e0c0
add esp, 0x1c
mov ecx, 0x4240b4
push eax
call fcn.004052b0
lea ecx, [ebp - 0x46c]
call fcn.004022d0
cmp dword [0x4240c8], 0x10
mov eax, 0x4240b4
cmovae eax, dword [0x4240b4]
push eax
call fcn.00406400
push 0x200
lea eax, [ebp - 0x410]
mov dword [ebp - 0x448], 0x400
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x414]
push eax
push 0
push str.InstallerName
push dword [ebp - 0x44c]
call esi
sub esp, 0x18
lea eax, [ebp - 0x410]
mov ecx, esp
push dword [ebp - 0x448]
push eax
call fcn.0040ba00
lea eax, [ebp - 0x46c]
push eax
call fcn.0040e0c0
add esp, 0x1c
mov ecx, 0x4240cc
push eax
call fcn.004052b0
lea ecx, [ebp - 0x46c]
call fcn.004022d0
cmp dword [0x4240e0], 0x10
mov eax, 0x4240cc
cmovae eax, dword [0x4240cc]
push eax
call fcn.00406400
push 0x200
lea eax, [ebp - 0x410]
mov dword [ebp - 0x448], 0x400
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x414]
push eax
push 0
push str.InstallTime
push dword [ebp - 0x44c]
call esi
sub esp, 0x18
lea eax, [ebp - 0x410]
mov ecx, esp
push dword [ebp - 0x448]
push eax
call fcn.0040ba00
lea eax, [ebp - 0x46c]
push eax
call fcn.0040e0c0
add esp, 0x1c
mov ecx, 0x4240e4
push eax
call fcn.004052b0
lea ecx, [ebp - 0x46c]
call fcn.004022d0
cmp dword [0x4240f8], 0x10
mov eax, 0x4240e4
cmovae eax, dword [0x4240e4]
push eax
call fcn.00406400
cmp dword [ebp - 0x430], 8
lea eax, [ebp - 0x444]
cmovae eax, dword [ebp - 0x444]
push eax
lea eax, [ebp - 0x46c]
push str._sSoftwarewinManager
push eax
call fcn.0040df60
add esp, 0x10
lea ecx, [ebp - 0x42c]
push eax
call fcn.00402f30
mov edx, dword [ebp - 0x458]
cmp edx, 8
jb 0x40c7c2
mov ecx, dword [ebp - 0x46c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c7b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c7b8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0040fd80
add esp, 8
cmp dword [ebp - 0x418], 8
lea ecx, [ebp - 0x44c]
push ecx
push 0x20019
lea eax, [ebp - 0x42c]
cmovae eax, dword [ebp - 0x42c]
push 0
push eax
push 0x80000003
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push 0x200
lea eax, [ebp - 0x410]
mov dword [ebp - 0x448], 0x400
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x414]
push eax
push 0
push str.userHash
push dword [ebp - 0x44c]
call esi
sub esp, 0x18
lea eax, [ebp - 0x410]
mov ecx, esp
push dword [ebp - 0x448]
push eax
call fcn.0040ba00
lea eax, [ebp - 0x46c]
push eax
call fcn.0040e0c0
add esp, 0x1c
mov ecx, 0x42409c
push eax
call fcn.004052b0
lea ecx, [ebp - 0x46c]
call fcn.004022d0
cmp dword [0x4240b0], 0x10
mov eax, 0x42409c
cmovae eax, dword [0x42409c]
push eax
call fcn.00406400
add esp, 4
push dword [ebp - 0x44c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.___get_user_info___
call fcn.00406400
mov edx, dword [ebp - 0x418]
add esp, 4
cmp edx, 8
jb 0x40c8e7
mov ecx, dword [ebp - 0x42c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c8dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c8dd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0040fd80
add esp, 8
xor eax, eax
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x418], 7
mov word [ebp - 0x42c], ax
mov edx, dword [ebp - 0x430]
cmp edx, 8
jb 0x40c946
mov ecx, dword [ebp - 0x444]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40c93c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40c93c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0040fd80
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040fd3f
mov esp, ebp
pop ebp
ret