Function at 0x419de0
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42e9fe
mov eax, dword fs:[0]
push eax
sub esp, 0x458
mov eax, dword [0x440d84]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x420], esi
push 0x432c58
lea ecx, [ebp - 0x434]
mov dword [ebp - 4], 1
call dword [sym.imp.mfc110u.dll_Ordinal_286]
lea eax, [ebp - 0x434]
push eax
push ecx
lea eax, [ebp + 8]
mov ecx, esp
push eax
mov byte [ebp - 4], 2
call dword [sym.imp.mfc110u.dll_Ordinal_280]
lea ecx, [esi + 0xcc]
call fcn.00425300
test eax, eax
jne 0x419eaf
push dword [ebp + 8]
push str._OLREG__RegisterComboProduct__:_fail_to_get_combo_SR_Number_of_the_product:__s
call fcn.00401440
add esp, 8
mov dword [esi + 0xdb4], 0xffffffdf
xor esi, esi
lea ecx, [ebp - 0x434]
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
lea ecx, [ebp + 8]
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
lea ecx, [ebp + 0xc]
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042b9f8
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x42c]
push eax
push 0x20019
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionApp_Paths
push SysStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x419eef
push str.SoftwareMicrosoftWindowsCurrentVersionApp_Paths
push str._OLREG__RegisterComboProduct__:_fail_to_open_key:__s
call fcn.00401440
add esp, 8
mov dword [esi + 0xdb4], 0xffffff01
jmp 0x419e6f
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x418], ax
lea eax, [ebp - 0x416]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x458]
push eax
lea eax, [ebp - 0x45c]
push eax
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x460]
push eax
lea eax, [ebp - 0x430]
push eax
push 0
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x418]
push eax
push dword [ebp - 0x42c]
mov dword [ebp - 0x43c], 0x104
mov dword [ebp - 0x430], 0
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x419f8b
push str._OLREG__RegisterComboProduct__:_fail_to_call_RegQueryInfoKey
call fcn.00401440
add esp, 4
jmp 0x419e6f
mov eax, dword [ebp - 0x430]
xor edi, edi
xor ebx, ebx
test eax, eax
je 0x41a268
xor esi, esi
test eax, eax
je 0x41a256
lea eax, [ebp - 0x454]
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x210]
push eax
push esi
push dword [ebp - 0x42c]
mov dword [ebp - 0x440], 0xff
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x419fef
push str._OLREG__RegisterComboProduct__:_fail_to_call_RegEnumKeyEx
call fcn.00401440
add esp, 4
jmp 0x41a212
mov ecx, dword [ebp - 0x420]
lea eax, [ebp - 0x210]
push eax
call fcn.004134d0
test eax, eax
je 0x41a212
push 0x432c58
lea ecx, [ebp - 0x41c]
call dword [sym.imp.mfc110u.dll_Ordinal_286]
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x41c]
push 0x43454c
push eax
mov byte [ebp - 4], 3
call dword [sym.imp.mfc110u.dll_Ordinal_4754]
add esp, 0xc
lea ecx, [ebp - 0x428]
push 0x432c58
call dword [sym.imp.mfc110u.dll_Ordinal_286]
lea eax, [ebp - 0x428]
push eax
push ecx
lea eax, [ebp - 0x41c]
mov ecx, esp
push eax
mov byte [ebp - 4], 4
call dword [sym.imp.mfc110u.dll_Ordinal_280]
mov ecx, dword [ebp - 0x420]
lea ecx, [ecx + 0xcc]
call fcn.00425300
test eax, eax
je 0x41a1f6
push dword [ebp - 0x428]
lea ecx, [ebp - 0x434]
call dword [sym.imp.mfc110u.dll_Ordinal_2935]
test eax, eax
jne 0x41a1f6
push 0x432c58
lea ecx, [ebp - 0x424]
call dword [sym.imp.mfc110u.dll_Ordinal_286]
push dword [ebp - 0x41c]
lea ecx, [ebp + 8]
mov byte [ebp - 4], 5
call dword [sym.imp.mfc110u.dll_Ordinal_2935]
test eax, eax
je 0x41a0eb
lea eax, [ebp - 0x424]
push eax
push ecx
lea eax, [ebp - 0x41c]
mov ecx, esp
push eax
call dword [sym.imp.mfc110u.dll_Ordinal_280]
mov ecx, dword [ebp - 0x420]
add ecx, 0xcc
call fcn.004255e0
jmp 0x41a0fb
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0x424]
call dword [sym.imp.mfc110u.dll_Ordinal_1514]
inc edi
cmp dword [ebp + 0x10], 0
je 0x41a159
push dword [ebp - 0x41c]
lea ecx, [ebp + 8]
call dword [sym.imp.mfc110u.dll_Ordinal_2935]
test eax, eax
je 0x41a147
push str._OLREG__RegisterComboProduct__:_call_RegForSilent
call fcn.00401440
mov ecx, dword [ebp - 0x420]
add esp, 4
push 0
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0
push dword [ebp - 0x424]
push dword [ebp - 0x41c]
call fcn.00419570
jmp 0x41a1a8
push dword [ebp + 8]
push str._OLREG__RegisterComboProduct__:_skip_register_product:__s_temporarily
call fcn.00401440
add esp, 8
jmp 0x41a1ac
push str._OLREG__RegisterComboProduct__:_call_SetReMindMeLater
call fcn.00401440
add esp, 4
lea eax, [ebp - 0x424]
push dword [ebp + 0x14]
push ecx
mov ecx, esp
mov dword [ebp - 0x438], esp
push eax
call dword [sym.imp.mfc110u.dll_Ordinal_280]
push ecx
lea eax, [ebp - 0x41c]
mov ecx, esp
push eax
mov byte [ebp - 4], 6
call dword [sym.imp.mfc110u.dll_Ordinal_280]
mov ecx, dword [ebp - 0x420]
mov byte [ebp - 4], 5
lea ecx, [ecx + 0xcc]
call fcn.004281b0
test eax, eax
jne 0x41a1e9
mov ecx, dword [ebp - 0x420]
lea ecx, [ecx + 0xcc]
call fcn.00423810
test eax, eax
jne 0x41a221
push dword [ebp - 0x41c]
lea ecx, [ebp + 8]
call dword [sym.imp.mfc110u.dll_Ordinal_2935]
test eax, eax
je 0x41a1e9
push dword [ebp - 0x41c]
push str._OLREG__RegisterComboProduct__:__s_fail_
call fcn.00401440
add esp, 8
jmp 0x41a1ea
inc ebx
lea ecx, [ebp - 0x424]
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
lea ecx, [ebp - 0x428]
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
lea ecx, [ebp - 0x41c]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
inc esi
cmp esi, dword [ebp - 0x430]
jb 0x419fa7
jmp 0x41a256
push str._OLREG__RegisterComboProduct__:_Cancel
call fcn.00401440
add esp, 4
lea ecx, [ebp - 0x424]
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
lea ecx, [ebp - 0x428]
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
lea ecx, [ebp - 0x41c]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc110u.dll_Ordinal_1039]
push dword [ebp - 0x42c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp - 0x420]
cmp dword [ebp + 0x10], 0
je 0x41a29d
cmp dword [ebp + 8], 0
je 0x41a29d
push str._OLREG__RegisterComboProduct__:_call_RegForSilent_for_reg_product_with_bHasSentMail__TRUE
call fcn.00401440
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
add esp, 4
mov ecx, esi
push 0
push 0
push edx
push eax
push 1
push edx
push eax
call fcn.00419570
test eax, eax
jne 0x41a29d
dec ebx
test edi, edi
je 0x419e6f
cmp edi, ebx
jne 0x419e6f
mov esi, 1
jmp 0x419e71