Function at 0x49fb40
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc64
mov eax, dword [0x4c32cc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x103
xor edi, edi
lea eax, [ebp - 0x10f]
push edi
push eax
mov byte [ebp - 0x110], 0
call fcn.004a3190
add esp, 0xc
mov dword [ebp - 0xc40], 0x104
mov dword [ebp - 0xc3c], edi
cmp dword [0x4d2b24], edi
je 0x49fe26
cmp dword [0x4d2b00], edi
jne 0x49fe26
push str.VerifyMissingRunPrograms
mov esi, str.bMsgOpen__TRUE
mov dword [0x4d2b00], 1
call fcn.0047fb10
add esp, 4
xor esi, esi
call fcn.00488040
cmp dword [0x4d2afc], edi
je 0x49fbf3
mov ecx, dword [0x4c6444]
mov edx, dword [0x4c6448]
mov dword [ebp - 0xc28], ecx
mov dword [ebp - 0xc24], edx
mov dword [0x4c6444], 0x20019
mov dword [0x4c6448], 0xf003f
mov ecx, dword [0x4c6444]
lea eax, [ebp - 0xc1c]
push eax
push ecx
push edi
push str.SoftwareBillP_StudiosWinPatrolActiveRun
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, edi
jne 0x49fdef
lea edx, [ebp - 0xc60]
push edx
lea eax, [ebp - 0xc58]
push eax
lea ecx, [ebp - 0xc44]
push ecx
lea edx, [ebp - 0xc50]
push edx
lea eax, [ebp - 0xc34]
push eax
lea ecx, [ebp - 0xc48]
push ecx
lea edx, [ebp - 0xc4c]
push edx
lea eax, [ebp - 0xc3c]
push eax
mov eax, dword [ebp - 0xc1c]
push edi
lea ecx, [ebp - 0xc40]
push ecx
lea edx, [ebp - 0x110]
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
cmp dword [ebp - 0xc34], edi
je 0x49fde0
mov dword [ebp - 0xc20], edi
lea ecx, [ebp - 0xc2c]
push ecx
lea edx, [ebp - 0xa18]
push edx
lea eax, [ebp - 0xc54]
push eax
mov eax, dword [ebp - 0xc20]
push 0
lea ecx, [ebp - 0xc30]
push ecx
mov ecx, dword [ebp - 0xc1c]
lea edx, [ebp - 0x618]
push edx
push eax
mov ebx, 0x200
push ecx
mov dword [ebp - 0xc2c], ebx
mov dword [ebp - 0xc30], ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
mov esi, eax
mov dword [ebp - 0xc38], esi
test esi, esi
jne 0x49fdce
lea edx, [ebp - 0x618]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x49fdce
mov eax, dword [0x4cd38c]
xor edi, edi
test eax, eax
jle 0x49fd55
lea ebx, [ebx]
lea esi, [ebp - 0x818]
call fcn.0048fb30
lea eax, [ebp - 0x218]
push eax
mov ecx, esi
call fcn.0047f1b0
add esp, 4
push edi
lea ebx, [ebp - 0xc18]
call fcn.0048fac0
add esp, 4
lea ecx, [ebp - 0x218]
push ecx
lea edx, [ebp - 0x618]
push edx
call fcn.00483b10
test eax, eax
je 0x49fdc8
mov eax, dword [0x4cd38c]
inc edi
cmp edi, eax
jl 0x49fd00
mov ebx, 0x200
mov esi, eax
lea eax, [ebp - 0x618]
push eax
mov edx, 0x7ffffffe
mov eax, 0x104
mov ecx, 0x4cc358
call fcn.00401000
lea ecx, [ebp - 0xa18]
push ecx
mov edx, 0x7ffffffe
mov eax, ebx
mov ecx, 0x4c72a0
call fcn.00401000
xor ebx, ebx
cmp dword [0x4d2aa4], ebx
jne 0x49fe39
mov edx, dword [0x4c78c4]
mov eax, dword [0x4cbe20]
push ebx
push 0x47c440
push edx
push 0xc2
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
mov edi, eax
cmp dword [0x4d2aa4], ebx
jge 0x49fe3e
mov dword [0x4d2aa4], ebx
jmp 0x49fe3e
mov esi, dword [ebp - 0xc38]
inc dword [ebp - 0xc20]
cmp esi, 0x103
jne 0x49fc80
mov ecx, dword [ebp - 0xc1c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edi, edi
cmp dword [0x4d2afc], edi
je 0x49fe0e
mov edx, dword [ebp - 0xc28]
mov eax, dword [ebp - 0xc24]
mov dword [0x4c6444], edx
mov dword [0x4c6448], eax
push str.VerifyMissingRunPrograms
mov esi, str.___END___
call fcn.0047fb10
add esp, 4
mov dword [0x4d2b00], edi
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a01d6
mov esp, ebp
pop ebp
ret
mov edi, 7
mov ecx, dword [ebp - 0xc1c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [0x4d2b00], ebx
mov dword [0x4cd38c], esi
cmp dword [0x4d2afc], ebx
je 0x49fe76
mov edx, dword [ebp - 0xc28]
mov eax, dword [ebp - 0xc24]
mov dword [0x4c6444], edx
mov dword [0x4c6448], eax
call fcn.0049c590
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a01d6
mov esp, ebp
pop ebp
ret