Function at 0x40ccd0
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x43644d
mov eax, dword fs:[0]
push eax
sub esp, 0x22c
mov eax, dword [0x44c250]
xor eax, esp
mov dword [esp + 0x228], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x44c250]
xor eax, esp
push eax
lea eax, [esp + 0x240]
mov dword fs:[0], eax
xor esi, esi
mov edi, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x30], esi
call fcn.00413279
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x40cd31
push 0x80004005
call fcn.00401340
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
mov dword [esp + 0x248], esi
call fcn.00413279
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x40cd62
push 0x80004005
call fcn.00401340
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0x248], 1
call fcn.00413279
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x40cd94
push 0x80004005
call fcn.00401340
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
mov ecx, dword [edi + 0x5f8]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push esi
push esi
push 0x147
push ecx
mov byte [esp + 0x258], 2
call ebx
mov edx, dword [edi + 0x5f8]
push esi
mov ebp, eax
push ebp
push 0x149
push edx
call ebx
mov ecx, dword [edi + 0xbe0]
lea esi, [edi + 0xbe0]
sub ecx, 0x10
mov edx, 1
sub edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
sub ecx, eax
or ecx, edx
jge 0x40cdfc
push eax
mov ecx, esi
call fcn.00402120
mov eax, dword [esi]
push eax
mov eax, dword [edi + 0x5f8]
push ebp
push 0x148
push eax
call ebx
mov eax, dword [esi]
mov ecx, dword [eax - 8]
test eax, eax
je 0x40ce29
push ecx
push eax
call fcn.00423cdd
add esp, 8
test eax, eax
jl 0x40d359
mov ecx, dword [esi]
cmp eax, dword [ecx - 8]
jg 0x40d359
mov dword [ecx - 0xc], eax
mov ecx, dword [esi]
xor edx, edx
mov word [ecx + eax*2], dx
mov eax, dword [esi]
cmp dword [eax - 0xc], edx
jne 0x40ce78
mov edx, dword [edi + 0x784]
test edx, edx
jne 0x40ce54
xor eax, eax
jmp 0x40ce6f
mov eax, edx
lea ebp, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40ce60
sub eax, ebp
sar eax, 1
push eax
push edx
mov ecx, esi
call fcn.00402760
mov ecx, dword [esi]
push ecx
push str.Profiles
push str.SoftwareDameWare_DevelopmentDWRCSMSIDialog_Settings
lea edx, [esp + 0x30]
push str._s_s_s
push edx
call fcn.00402ca0
mov eax, dword [esp + 0x38]
mov edx, dword [eax - 0xc]
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edx
add esp, 0x14
or eax, ecx
jge 0x40ceb9
push edx
lea ecx, [esp + 0x28]
call fcn.00402120
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x20]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
push edx
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40d113
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [esp + 0x18], eax
mov eax, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push 0
push str.Operating_System
push eax
call ebp
push 0
test eax, eax
jne 0x40cf35
mov ecx, dword [esp + 0x1c]
mov edx, dword [edi + 0x748]
push ecx
push 0x14e
push edx
jmp 0x40cf43
mov eax, dword [edi + 0x748]
push 0
push 0x14e
push eax
call ebx
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push 0
push str.IncludeFIPS
push ecx
call ebp
lea ecx, [edi + 0x790]
test eax, eax
jne 0x40cf99
cmp dword [esp + 0x18], 1
jne 0x40cf86
push 1
call fcn.00409db0
mov dword [0x453f74], 1
jmp 0x40cfa0
push 0
call fcn.00409db0
mov dword [0x453f74], 0
jmp 0x40cfa0
push 0
call fcn.00409db0
lea edx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0
push str.InstallMirror
push edx
call ebp
lea ecx, [edi + 0x8a4]
test eax, eax
jne 0x40cff4
cmp dword [esp + 0x18], 1
jne 0x40cfe1
push 1
call fcn.00409db0
mov dword [0x4549a0], 1
jmp 0x40cffb
push 0
call fcn.00409db0
mov dword [0x4549a0], 0
jmp 0x40cffb
push 0
call fcn.00409db0
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x1c]