Function at 0x4435c8
Capabilities:
Query or enumerate registry key
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x920
mov eax, dword [0x49f2a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x120], ecx
lea ecx, [ebp - 0x10c]
push ecx
push eax
push reloc.lu_heads___lu_sectors___lu_byte_Ordinal_2
mov dword [ebp - 0x11c], eax
call dword [sym.imp.ical_size__lu_MB_RegOpenKeyA]
push 2
mov ebx, 0x4d51b8
pop ecx
mov edi, str.11000001
mov esi, ebx
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0x44362c
push 2
pop ecx
mov edi, str.21000001
mov esi, ebx
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x443776
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x920]
push eax
xor esi, esi
push esi
push esi
mov edi, str.Element
push edi
push dword [ebp - 0x10c]
mov dword [ebp - 0x110], 0x200
call dword [sym.imp.ical_size__lu_MB_RegQueryValueExA]
test eax, eax
jne 0x443755
push dword [ebp - 0x120]
lea eax, [ebp - 0x920]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 0x110]
push eax
call fcn.00443486
test eax, eax
jle 0x443778
push dword [ebp - 0x110]
lea eax, [ebp - 0x920]
push eax
push 3
push esi
push edi
push dword [ebp - 0x10c]
call dword [sym.imp.ical_size__lu_MB_RegSetValueExA]
cmp eax, esi
je 0x443778
cmp eax, 5
jne 0x443778
push dword [ebp - 0x10c]
call fcn.004434fe
push dword [ebp - 0x10c]
mov dword [ebp - 0x118], eax
call dword [sym.imp.ical_size__lu_MB_RegCloseKey]
lea eax, [ebp - 0x10c]
push eax
push dword [ebp - 0x11c]
push reloc.lu_heads___lu_sectors___lu_byte_Ordinal_2
call dword [sym.imp.ical_size__lu_MB_RegOpenKeyA]
push dword [ebp - 0x110]
lea eax, [ebp - 0x920]
push eax
push 3
push esi
push edi
push dword [ebp - 0x10c]
call dword [sym.imp.ical_size__lu_MB_RegSetValueExA]
cmp eax, esi
je 0x443732
push eax
push ebx
push str.Setting_new_Value___s__in_registry_failed:_Last_Error_0x_x
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0xa6
push str.VISTACHECKBOOT
call fcn.0044dc85
add esp, 0x18
cmp dword [ebp - 0x118], esi
je 0x443778
push esi
push dword [ebp - 0x118]
push esi
push esi
push 4
push 4
push dword [ebp - 0x10c]
call dword [sym.imp.ical_size__lu_MB_SetSecurityInfo]
jmp 0x443778
push ebx
push str.Cant_read_Value__s_from_registry.
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0xaf
push str.VISTACHECKBOOT
call fcn.0044dc85
add esp, 0x14
jmp 0x443778
xor esi, esi
mov edi, dword [sym.imp.ical_size__lu_MB_RegEnumKeyExA]
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x114]
push eax
push ebx
mov dword [ebp - 0x110], esi
push esi
jmp 0x4437e4
push ebx
push dword [ebp - 0x11c]
lea eax, [ebp - 0x108]
push 0x4696e0
push eax
call fcn.00450c76
add esp, 0x10
push dword [ebp - 0x120]
lea eax, [ebp - 0x108]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
call fcn.004435c8
inc dword [ebp - 0x110]
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x114]
push eax
push ebx
push dword [ebp - 0x110]
push dword [ebp - 0x10c]
mov dword [ebp - 0x114], 0x104
call edi
test eax, eax
je 0x443793
push dword [ebp - 0x10c]
call dword [sym.imp.ical_size__lu_MB_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00450b32
leave
ret 0x18