Function at 0x4417bf
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x24
mov eax, 0x473ae0
call fcn.0045be74
push str.RepairInstalledArm...
lea ecx, [ebp - 0x28]
call fcn.004020a6
xor ebx, ebx
push ebx
lea eax, [ebp - 0x28]
push eax
push 2
mov dword [ebp - 4], ebx
call fcn.004152d1
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025d2
push str.armsvc.exe
call dword [sym.imp.kernel32.dll_lstrlenW]
test eax, eax
je 0x4419d9
lea eax, [ebp - 0x28]
push eax
push 0x20019
push ebx
push str.SYSTEMCurrentControlSetControlSession_Manager
push reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp - 0xe], bl
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], 0x104
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4418ab
push 0x208
call main
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
pop ecx
lea ecx, [ebp - 0x24]
push ecx
push eax
push ebx
push ebx
mov edi, str.PendingFileRenameOperations
push edi
push dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
call esi
cmp eax, 0xea
jne 0x44189a
cmp dword [ebp - 0x14], ebx
je 0x441874
push dword [ebp - 0x14]
call fcn.004595f2
pop ecx
mov eax, dword [ebp - 0x24]
add eax, eax
push eax
call main
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4418a2
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x14]
push ebx
push ebx
push edi
push dword [ebp - 0x28]
call esi
test eax, eax
jmp 0x44189c
cmp eax, ebx
jne 0x4418a2
mov byte [ebp - 0xe], 1
push dword [ebp - 0x28]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xe], bl
je 0x441991
mov esi, dword [ebp - 0x14]
cmp esi, ebx
je 0x4419d9
push str.armsvc.exe
lea ecx, [ebp - 0x20]
call fcn.004020a6
lea edi, [ebp - 0x20]
mov dword [ebp - 4], 1
call fcn.0040c442
mov dword [ebp - 0x18], esi
push dword [ebp - 0x18]
call dword [sym.imp.kernel32.dll_lstrlenW]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x441982
push dword [ebp - 0x18]
lea ecx, [ebp - 0x1c]
call fcn.004020a6
lea edi, [ebp - 0x1c]
mov byte [ebp - 4], 2
call fcn.0040c442
push dword [ebp - 0x20]
xor ecx, ecx
mov esi, edi
call fcn.0040ad24
cmp eax, 0xffffffff
je 0x441921
mov byte [ebp - 0xd], 1
cmp byte [ebp - 0xd], bl
jne 0x44196a
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
lea eax, [eax + ecx*2 + 2]
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x18], eax
call fcn.0040211a
lea edi, [ebp - 0x1c]
call fcn.0040c442
push dword [ebp - 0x20]
xor ecx, ecx
mov esi, edi
call fcn.0040ad24
cmp eax, 0xffffffff
je 0x441959
mov byte [ebp - 0xd], 1
mov esi, dword [ebp - 0x18]
push esi
call dword [sym.imp.kernel32.dll_lstrlenW]
lea eax, [esi + eax*2 + 2]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.004025d2
cmp byte [ebp - 0xd], bl
je 0x4418e1
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.004025d2
cmp dword [ebp - 0x14], ebx
je 0x44199f
push dword [ebp - 0x14]
call fcn.004595f2
pop ecx
cmp byte [ebp - 0xd], bl
je 0x4419d9
push str.will_not_repair__found_pending_reboot
lea ecx, [ebp - 0x20]
call fcn.004020a6
push ebx
lea eax, [ebp - 0x20]
push eax
push 2
mov dword [ebp - 4], 3
call fcn.004152d1
mov ecx, dword [ebp - 0x20]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.004025d2
xor eax, eax
jmp 0x441aed
call fcn.0044825c
push eax
lea ecx, [ebp - 0x14]
call fcn.0041872d
mov dword [ebp - 4], 4
mov byte [ebp - 0xe], bl
xor edi, edi
cmp byte [ebp - 0xe], bl
jne 0x441a6b
push 0x104
lea ecx, [ebp - 0x14]
call fcn.0040241d
push eax
push edi
push ebx
push str.A6EADE66_0804_0000_1959_000000000000
call sub.msi.dll_MsiSourceListClearAllW
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
mov esi, eax
call fcn.0040b00b
cmp esi, ebx
jne 0x441a61
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], ebx
je 0x441a61
push str.found_installed:
lea ecx, [ebp - 0x28]
mov byte [ebp - 0xe], 1
call fcn.004020a6
push ebx
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
push 2
mov byte [ebp - 4], 5
call fcn.00414e01
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x28]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025d2
inc edi
cmp esi, ebx
je 0x4419f3
cmp byte [ebp - 0xe], bl
je 0x441ae0
push ebx
push 2
call sub.msi.dll_MsiSetPropertyW
push 4
push dword [ebp - 0x14]
call sub.msi.dll_MsiSetComponentStateW
mov esi, eax
cmp esi, ebx
je 0x441ab1
cmp esi, 0xbc2
je 0x441ab1
push str.failed_to_reinstall:
lea ecx, [ebp - 0x1c]
call fcn.004020a6
push esi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
push 2
mov byte [ebp - 4], 7
call fcn.00414e01
mov ecx, dword [ebp - 0x1c]
jmp 0x441ad5
push str.successfully_reinstalled:
lea ecx, [ebp - 0x28]
call fcn.004020a6
push esi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
push 2
mov byte [ebp - 4], 6
call fcn.00414e01
mov ecx, dword [ebp - 0x28]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.004025d2
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004025d2
mov eax, esi
call fcn.0045bf4c
ret