Function at 0x4021d0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x407560
push 0x406b20
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push esi
push edi
xor esi, esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x40], 0x20
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 4], esi
lea eax, [ebp - 0x5c]
push eax
push 0xf003f
push esi
mov ecx, dword [str.SOFTWAREMDCDriverInstallReboot]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x402263
push str.IsCurrentInstNewOrSame
push 0x40a5b4
push 6
call fcn.00403190
push 0xffffffffffffffff
lea edx, [ebp - 0x10]
push edx
call sub.MSVCRT.dll__local_unwind2
add esp, 0x14
mov eax, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x468e90
call fcn.004027a0
test eax, eax
jne 0x40228a
push str.IsCurrentInstNewOrSame
push str._s____failed_to_get_AegisI5nstaller_path
push 6
call fcn.00403190
push 0xffffffffffffffff
lea eax, [ebp - 0x10]
push eax
jmp 0x402245
mov dword [ebp - 0x4c], 0x469ee0
push 0x40a5b0
push 0x469ee0
call dword [sym.imp.MSVCRT.dll__wfopen]
add esp, 8
mov dword [ebp - 0x58], eax
cmp eax, esi
je 0x4023d8
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
lea ecx, [ebp - 0x40]
push ecx
lea edx, [ebp - 0x38]
push edx
push esi
push esi
push str.DrvVersion
mov eax, dword [ebp - 0x5c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x48], eax
cmp eax, esi
je 0x4022fe
push eax
push str.IsCurrentInstNewOrSame
push str._s:_RegQueryValueEx_failed_with_error:__08x
push 6
call fcn.00403190
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
push ecx
call sub.MSVCRT.dll__local_unwind2
add esp, 0x18
jmp 0x40224d
lea edx, [ebp - 0x44]
push edx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0x3c]
push edx
push 0x409fb4
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.MSVCRT.dll_swscanf]
add esp, 0x18
cmp eax, 4
je 0x402341
push str.IsCurrentInstNewOrSame
push str._s____could_not_parse_version_string_in_DrvVersion
push 6
call fcn.00403190
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
push ecx
jmp 0x402245
mov eax, dword [ebp - 0x3c]
cmp eax, 3
jg 0x4023a6
jne 0x4023c7
mov eax, dword [ebp - 0x54]
cmp eax, 7
jle 0x402374
push 0xffffffffffffffff
lea eax, [ebp - 0x10]
push eax
call sub.MSVCRT.dll__local_unwind2
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jne 0x4023c7
mov eax, dword [ebp - 0x50]
cmp eax, 5
jle 0x40239f
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
push ecx
call sub.MSVCRT.dll__local_unwind2
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jne 0x4023c7
cmp dword [ebp - 0x44], esi
jle 0x4023c7
push 0xffffffffffffffff
lea edx, [ebp - 0x10]
push edx
call sub.MSVCRT.dll__local_unwind2
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 4], 0xffffffff
call fcn.004023f6
jmp 0x40224d
push str.IsCurrentInstNewOrSame
push str._s____AegisI5nstaller_file_does_not_exist_in_system
push 6
call fcn.00403190
push 0xffffffffffffffff
lea eax, [ebp - 0x10]
push eax
jmp 0x402245