Function at 0x10004c70
Capabilities:
Get installed programs
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10042783
mov eax, dword fs:[0]
push eax
sub esp, 0x130
mov eax, dword [0x1005a690]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 4], ebx
mov esi, dword [ecx + 0x70]
mov edi, dword [ecx + 0x74]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x108], ebx
lea ecx, [ecx]
cmp esi, edi
je 0x100053ec
xor eax, eax
push 0xffffffffffffffff
push eax
push esi
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x68], 7
mov dword [ebp - 0x6c], 0
mov word [ebp - 0x7c], ax
call fcn.1000a9a0
mov byte [ebp - 4], 1
call fcn.10029aa0
push 1
push 0
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x1c], 0x7c
call fcn.1000ac10
mov dword [ebp - 0x1c], eax
cmp eax, 0xffffffff
je 0x10005042
push eax
push 0
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x7c]
call fcn.1000a1e0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x1c]
push 0xffffffffffffffff
inc eax
push eax
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x7c]
call fcn.1000a1e0
xor eax, eax
mov dword [ebp - 0x98], 7
mov dword [ebp - 0x9c], 0
mov word [ebp - 0xac], ax
lea edx, [ebp - 0xac]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 4
call fcn.10014410
cmp dword [ebp - 0x98], 8
lea edx, [ebp - 0xfc]
push edx
push 0x20019
lea ecx, [ebp - 0xac]
cmovae ecx, dword [ebp - 0xac]
push 0
push ecx
push eax
mov dword [ebp - 0xfc], eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp dword [ebp - 0x84], 0
mov dword [ebp - 0x1c], eax
je 0x10004de7
cmp dword [ebp - 0x80], 8
push 0
push 0
push 0
lea eax, [ebp - 0x94]
cmovae eax, dword [ebp - 0x94]
push 0
push eax
push dword [ebp - 0xfc]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x10004dfb
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x1c]
test eax, eax
sete al
test al, al
je 0x10004f95
push 0xa0
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x124], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x10004eb3
xor eax, eax
push eax
push 0x10048468
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
mov word [ebp - 0x34], ax
call fcn.1000aac0
mov byte [ebp - 4], 6
push 5
xor eax, eax
or ebx, 1
push str.Value
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], ax
call fcn.1000aac0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0xc4]
push eax
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x1c]
or ebx, 2
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0xfc], ebx
call fcn.100112b0
jmp 0x10004eb5
xor eax, eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], eax
test bl, 2
je 0x10004ef5
and ebx, 0xfffffffd
cmp dword [ebp - 0x38], 8
mov dword [ebp - 0x108], ebx
jb 0x10004ee1
push dword [ebp - 0x4c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], ax
mov dword [ebp - 4], 4
test bl, 1
je 0x10004f1c
and ebx, 0xfffffffe
cmp dword [ebp - 0x20], 8
mov dword [ebp - 0x108], ebx
jb 0x10004f1c
push dword [ebp - 0x34]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x10004f2a
mov eax, dword [ecx]
call dword [eax]
mov edx, dword [ebp - 0x11c]
lea eax, [ebp - 0x100]
mov ecx, dword [edx + 4]
cmp eax, ecx
jae 0x10005017
mov edx, dword [edx]
cmp edx, eax
ja 0x10005011
sub eax, edx
mov edx, dword [ebp - 0x11c]
sar eax, 2
mov dword [ebp - 0x1c], eax
cmp ecx, dword [edx + 8]
jne 0x10004f6c
push ecx
mov ecx, edx
call fcn.1000ae60
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edx]
lea eax, [eax + ecx*4]
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x10004f7f
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x118]
add dword [edx + 4], 4
push eax
call fcn.10007320
cmp dword [ebp - 0x98], 8
jb 0x10004fad
push dword [ebp - 0xac]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
cmp dword [ebp - 0x80], 8
mov dword [ebp - 0x98], 7
mov dword [ebp - 0x9c], 0
mov word [ebp - 0xac], ax
jb 0x10004fdf
push dword [ebp - 0x94]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
cmp dword [ebp - 0xb0], 8
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], 0
mov word [ebp - 0x94], ax
jb 0x1000539d
push dword [ebp - 0xc4]
jmp 0x10005394
mov edx, dword [ebp - 0x11c]
cmp ecx, dword [edx + 8]
jne 0x1000502a
push ecx
mov ecx, edx
call fcn.1000ae60
mov edx, dword [ebp - 0x11c]
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x10004f7f
mov eax, dword [ebp - 0xfc]
mov dword [ecx], eax
jmp 0x10004f85
xor eax, eax
push 0xffffffffffffffff
push eax
mov word [ebp - 0x34], ax
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
call fcn.1000a9a0
xor eax, eax
mov dword [ebp - 0x98], 7
mov dword [ebp - 0x9c], 0
mov word [ebp - 0xac], ax
lea edx, [ebp - 0xac]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xb
call fcn.10014410
mov dword [ebp - 0x1c], eax
xor eax, eax
push eax
push 0x10048468
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], ax
call fcn.1000aac0
cmp dword [ebp - 0x98], 8
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0xfc]
push edx
push 0x20019
lea eax, [ebp - 0xac]
cmovae eax, dword [ebp - 0xac]
push 0
push eax
push ecx
mov dword [ebp - 0xfc], ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0x1c], eax
je 0x10005118
cmp dword [ebp - 0x38], 8
push 0
push 0
push 0
lea eax, [ebp - 0x4c]
cmovae eax, dword [ebp - 0x4c]
push 0
push eax
push dword [ebp - 0xfc]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x1000512c
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x1c]
test eax, eax
sete byte [ebp - 0x109]
cmp dword [ebp - 0x38], 8
jb 0x10005147
push dword [ebp - 0x4c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
cmp byte [ebp - 0x109], 0
je 0x10005356
push 0xa0
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x124], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x10005237
xor eax, eax
push eax
push 0x10048468
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], 0
mov word [ebp - 0x64], ax
call fcn.1000aac0
xor eax, eax
mov byte [ebp - 4], 0xd
push eax
or ebx, 4
push 0x10048468
lea ecx, [ebp - 0x94]
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], 0
mov word [ebp - 0x94], ax
call fcn.1000aac0
mov dword [ebp - 4], 0xe
push 3
xor eax, eax
or ebx, 8
push 0x100485c4
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], ax
call fcn.1000aac0
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 4], 0xf
mov ecx, dword [ebp - 0x1c]
or ebx, 0x10
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0xfc], ebx
call fcn.100112b0
jmp 0x10005239
xor eax, eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x104], eax
test bl, 0x10
je 0x10005279
and ebx, 0xffffffef
cmp dword [ebp - 0x38], 8
mov dword [ebp - 0x108], ebx
jb 0x10005265
push dword [ebp - 0x4c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], ax
test bl, 8
je 0x100052b6
and ebx, 0xfffffff7
cmp dword [ebp - 0x80], 8
mov dword [ebp - 0x108], ebx
jb 0x1000529c
push dword [ebp - 0x94]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], 0
mov word [ebp - 0x94], ax
mov dword [ebp - 4], 0xb
test bl, 4
je 0x100052dd
and ebx, 0xfffffffb
cmp dword [ebp - 0x50], 8
mov dword [ebp - 0x108], ebx
jb 0x100052dd
push dword [ebp - 0x64]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xfc]
test ecx, ecx
je 0x100052eb
mov eax, dword [ecx]
call dword [eax]
mov edx, dword [ebp - 0x11c]
lea eax, [ebp - 0x104]
mov ecx, dword [edx + 4]
cmp eax, ecx
jae 0x100053c1
mov edx, dword [edx]
cmp edx, eax
ja 0x100053bb
sub eax, edx
mov edx, dword [ebp - 0x11c]
sar eax, 2
mov dword [ebp - 0x1c], eax
cmp ecx, dword [edx + 8]
jne 0x1000532d
push ecx
mov ecx, edx
call fcn.1000ae60
mov edx, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edx]
lea eax, [eax + ecx*4]
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x10005340
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x118]
add dword [edx + 4], 4
push eax
call fcn.10007320
cmp dword [ebp - 0x98], 8
jb 0x1000536e
push dword [ebp - 0xac]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
cmp dword [ebp - 0x20], 8
mov dword [ebp - 0x98], 7
mov dword [ebp - 0x9c], 0
mov word [ebp - 0xac], ax
jb 0x1000539d
push dword [ebp - 0x34]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x68], 8
jb 0x100053b3
push dword [ebp - 0x7c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
add esi, 0x18
jmp 0x10004cd0
mov edx, dword [ebp - 0x11c]
cmp ecx, dword [edx + 8]
jne 0x100053d4
push ecx
mov ecx, edx
call fcn.1000ae60
mov edx, dword [ebp - 0x11c]
mov ecx, dword [edx + 4]
test ecx, ecx
je 0x10005340
mov eax, dword [ebp - 0xfc]
mov dword [ecx], eax
jmp 0x10005346
mov eax, dword [0x1005fd10]
test al, 1
jne 0x100056e5
or dword [0x1005fd10], 1
xor eax, eax
mov byte [ebp - 4], 0x13
xor ecx, ecx
cmp word [str.HKLMSOFTWAREClassesAppID_], cx
mov word [0x1005fd18], ax
mov esi, 0x1c
mov eax, esi
cmove eax, ecx
push eax
push str.HKLMSOFTWAREClassesAppID_
mov ecx, 0x1005fd18
mov dword [0x1005fd2c], 7
mov dword [0x1005fd28], 0
call fcn.1000aac0
mov byte [ebp - 4], 0x14
xor eax, eax
cmp word [str.HKLMSOFTWAREClassesCLSID_], ax
mov ecx, 0x1005fd30
cmove esi, eax
push esi
push str.HKLMSOFTWAREClassesCLSID_
mov dword [0x1005fd44], 7
mov dword [0x1005fd40], 0
mov word [0x1005fd30], ax
call fcn.1000aac0
xor eax, eax
mov byte [ebp - 4], 0x15
xor ecx, ecx
cmp word [str.HKLMSOFTWAREClassesInterface_], cx
mov word [0x1005fd48], ax
mov eax, 0x20
cmove eax, ecx
push eax
push str.HKLMSOFTWAREClassesInterface_
mov ecx, 0x1005fd48
mov dword [0x1005fd5c], 7
mov dword [0x1005fd58], 0
call fcn.1000aac0
xor eax, eax
mov byte [ebp - 4], 0x16
xor ecx, ecx
cmp word [str.HKLMSOFTWAREClassesTypeLib_], cx
mov word [0x1005fd60], ax
mov eax, 0x1e
cmove eax, ecx
push eax
push str.HKLMSOFTWAREClassesTypeLib_
mov ecx, 0x1005fd60
mov dword [0x1005fd74], 7
mov dword [0x1005fd70], 0
call fcn.1000aac0
xor eax, eax
mov byte [ebp - 4], 0x17
xor ecx, ecx
cmp word [str.HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser_Helper_Objects_], cx
mov word [0x1005fd78], ax
mov eax, 0x4f
cmove eax, ecx
push eax
push str.HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser_Helper_Objects_
mov ecx, 0x1005fd78
mov dword [0x1005fd8c], 7
mov dword [0x1005fd88], 0
call fcn.1000aac0
xor eax, eax
mov byte [ebp - 4], 0x18
xor ecx, ecx
cmp word [str.HKCUSoftwareMicrosoftWindowsCurrentVersionExtStats_], cx
mov word [0x1005fd90], ax
mov eax, 0x39
cmove eax, ecx
mov dword [0x1005fda4], 7
mov dword [0x1005fda0], 0
push eax
push str.HKCUSoftwareMicrosoftWindowsCurrentVersionExtStats_
mov ecx, 0x1005fd90
call fcn.1000aac0
xor eax, eax
mov byte [ebp - 4], 0x19
xor ecx, ecx
cmp word [str.HKCUSoftwareMicrosoftWindowsCurrentVersionExtSettings_], cx
mov word [0x1005fda8], ax
mov eax, 0x3c
cmove eax, ecx
push eax
push str.HKCUSoftwareMicrosoftWindowsCurrentVersionExtSettings_
mov ecx, 0x1005fda8
mov dword [0x1005fdbc], 7
mov dword [0x1005fdb8], 0
call fcn.1000aac0
xor eax, eax
mov byte [ebp - 4], 0x1a
xor ecx, ecx
cmp word [str.HKCUSoftwareMicrosoftWindowsCurrentVersionExtPreApproved_], cx
mov word [0x1005fdc0], ax
mov eax, 0x3f
cmove eax, ecx
push eax
push str.HKCUSoftwareMicrosoftWindowsCurrentVersionExtPreApproved_
mov ecx, 0x1005fdc0
mov dword [0x1005fdd4], 7
mov dword [0x1005fdd0], 0
call fcn.1000aac0
push str.HKLMSOFTWAREMicrosoftWindowsCurrentVersionExtPreApproved_
mov ecx, 0x1005fdd8
mov byte [ebp - 4], 0x1b
call fcn.10009fd0
push str.HKCUSoftwareMicrosoftInternet_ExplorerExplorer_Bars_
mov ecx, 0x1005fdf0
mov byte [ebp - 4], 0x1c
call fcn.10009fd0
push str.HKLMSOFTWAREMicrosoftInternet_ExplorerExplorer_Bars_
mov ecx, 0x1005fe08
mov byte [ebp - 4], 0x1d
call fcn.10009fd0
push str.HKLMSOFTWAREMicrosoftInternet_ExplorerExtensions_
mov ecx, 0x1005fe20
mov byte [ebp - 4], 0x1e
call fcn.10009fd0
push str.HKLMSOFTWAREMicrosoftInternet_ExplorerLow_RightsElevationPolicy_
mov ecx, 0x1005fe38
mov byte [ebp - 4], 0x1f
call fcn.10009fd0
push str.HKCUSoftwareMicrosoftInternet_ExplorerSearchScopes_
mov ecx, 0x1005fe50
mov byte [ebp - 4], 0x20
call fcn.10009fd0
push str.HKLMSOFTWAREMicrosoftInternet_ExplorerSearchScopes_
mov ecx, 0x1005fe68
mov byte [ebp - 4], 0x21
call fcn.10009fd0
push str.HKLMSOFTWAREMicrosoftInternet_ExplorerToolbar
mov ecx, 0x1005fe80
mov byte [ebp - 4], 0x22
call fcn.10009fd0
push str.HKCUSoftwareMicrosoftInternet_ExplorerToolbarWebBrowser
mov ecx, 0x1005fe98
mov byte [ebp - 4], 0x23
call fcn.10009fd0
push str.HKCUSoftwareMicrosoftInternet_ExplorerURLSearchHooks
mov ecx, 0x1005feb0
mov byte [ebp - 4], 0x24
call fcn.10009fd0
push str.HKLMSOFTWAREMicrosoftInternet_ExplorerURLSearchHooks
mov ecx, 0x1005fec8
mov byte [ebp - 4], 0x25
call fcn.10009fd0
push 0x10045540
call fcn.1003e542
add esp, 4
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x118]
push 9
lea ecx, [ecx + 0x10]
call fcn.10010710
mov dword [ebp - 0x124], eax
xor ecx, ecx
mov dword [ebp - 0x114], ecx
cmp ecx, 0x13
jge 0x10005cb8
mov esi, dword [eax]
mov edi, dword [eax + 4]
cmp esi, edi
je 0x10005ca6
xor eax, eax
push 0xffffffffffffffff
push eax
push esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], ax
call fcn.1000a9a0
mov byte [ebp - 4], 0x26
call fcn.10029aa0
mov eax, dword [ebp - 0x114]
push 1
lea eax, [eax + eax*2]
push 0
lea eax, [eax*8 + 0x1005fd18]
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
mov dword [ebp - 0x1c], 0x7c
mov dword [ebp - 0x110], eax
call fcn.1000ac10
mov dword [ebp - 0x120], eax
cmp eax, 0xffffffff
je 0x100059b7
xor ecx, ecx
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
mov word [ebp - 0x34], cx
push eax
push ecx
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x110]
push eax
call fcn.1000a1e0
lea edx, [ebp - 0x34]
mov ecx, eax
mov byte [ebp - 4], 0x28
call fcn.10014410
mov byte [ebp - 4], 0x27
cmp dword [ebp - 0x50], 8
mov dword [ebp - 0x1c], eax
jb 0x100057d0
push dword [ebp - 0x64]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
mov eax, dword [ebp - 0x1c]
add esp, 4
xor ecx, ecx
mov word [ebp - 0x64], cx
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x34]
mov ecx, eax
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], 0
call fcn.10014360
add esp, 4
test al, al
je 0x100059a5
push 0xa0
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 0x29
test eax, eax
je 0x100058cc
xor eax, eax
push eax
push 0x10048468
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], 0
mov word [ebp - 0x64], ax
call fcn.1000aac0
mov byte [ebp - 4], 0x2a
push 5
xor eax, eax
or ebx, 0x20
push str.Value
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0x68], 7
mov dword [ebp - 0x6c], 0
mov word [ebp - 0x7c], ax
call fcn.1000aac0
mov dword [ebp - 4], 0x2b
push dword [ebp - 0x120]
mov ecx, dword [ebp - 0x110]
push 0
lea eax, [ebp - 0x94]
or ebx, 0x40
push eax
mov dword [ebp - 0xfc], ebx
call fcn.1000a1e0
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x4c]
push ecx
push eax
mov dword [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x1c]
or ebx, 0x80
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0xfc], ebx
call fcn.100112b0
jmp 0x100058ce
xor eax, eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0xfc], eax
test bl, bl
jns 0x10005919
and ebx, 0xffffff7f
cmp dword [ebp - 0x80], 8
mov dword [ebp - 0x108], ebx
jb 0x100058ff
push dword [ebp - 0x94]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], 0
mov word [ebp - 0x94], ax
test bl, 0x40
je 0x1000594d
and ebx, 0xffffffbf
cmp dword [ebp - 0x68], 8
mov dword [ebp - 0x108], ebx
jb 0x10005939
push dword [ebp - 0x7c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x68], 7
mov dword [ebp - 0x6c], 0
mov word [ebp - 0x7c], ax
mov dword [ebp - 4], 0x27
test bl, 0x20
je 0x10005974
and ebx, 0xffffffdf
cmp dword [ebp - 0x50], 8
mov dword [ebp - 0x108], ebx
jb 0x10005974
push dword [ebp - 0x64]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x10005982
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0xfc]
push eax
call fcn.1000a500
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x118]
call fcn.10007320
cmp dword [ebp - 0x20], 8
jb 0x10005c88
push dword [ebp - 0x34]
jmp 0x10005c7f
xor eax, eax
mov dword [ebp - 0x68], 7
mov dword [ebp - 0x6c], 0
mov word [ebp - 0x7c], ax
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x110]
push eax
lea ecx, [ebp - 0x34]
call fcn.1000bc80
add esp, 4
lea edx, [ebp - 0x7c]
mov ecx, eax
mov byte [ebp - 4], 0x31
call fcn.10014410
mov byte [ebp - 4], 0x30
cmp dword [ebp - 0x20], 8
mov dword [ebp - 0x120], eax
jb 0x10005a0e
push dword [ebp - 0x34]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
push eax
push 0x10048468
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
mov word [ebp - 0x34], ax
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], eax
mov word [ebp - 0x64], ax
call fcn.1000aac0
mov ecx, dword [ebp - 0x120]
lea eax, [ebp - 0x64]
push eax
lea edx, [ebp - 0x7c]
call fcn.10014360
add esp, 4
cmp dword [ebp - 0x50], 8
mov byte [ebp - 0x109], al
jb 0x10005a71
push dword [ebp - 0x64]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
mov al, byte [ebp - 0x109]
add esp, 4
test al, al
je 0x10005c76
push 0xa0
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 0x32
test eax, eax
je 0x10005b4d
push 0x10048468
lea ecx, [ebp - 0xc4]
call fcn.10009fd0
mov byte [ebp - 4], 0x33
or ebx, 0x100
push 0x10048468
lea ecx, [ebp - 0x34]
mov dword [ebp - 0xfc], ebx
call fcn.10009fd0
mov dword [ebp - 4], 0x34
or ebx, 0x200
push 0x100485c4
lea ecx, [ebp - 0x64]
mov dword [ebp - 0xfc], ebx
call fcn.10009fd0
mov dword [ebp - 4], 0x35
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 0x4c]
or ebx, 0x400
push eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0xfc], ebx
call fcn.1000bc80
add esp, 4
lea ecx, [ebp - 0xc4]
push ecx
lea ecx, [ebp - 0x34]
push ecx
push eax
mov dword [ebp - 4], 0x36
mov ecx, dword [ebp - 0x120]
or ebx, 0x800
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0xfc], ebx
call fcn.100112b0
jmp 0x10005b4f
xor eax, eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0xfc], eax
test ebx, 0x800
je 0x10005b9e
and ebx, 0xfffff7ff
cmp dword [ebp - 0x80], 8
mov dword [ebp - 0x108], ebx
jb 0x10005b84
push dword [ebp - 0x94]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], 0
mov word [ebp - 0x94], ax
test ebx, 0x400
je 0x10005bd8
and ebx, 0xfffffbff
cmp dword [ebp - 0x50], 8
mov dword [ebp - 0x108], ebx
jb 0x10005bc4
push dword [ebp - 0x64]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], 0
mov word [ebp - 0x64], ax
test ebx, 0x200
je 0x10005c12
and ebx, 0xfffffdff
cmp dword [ebp - 0x20], 8
mov dword [ebp - 0x108], ebx
jb 0x10005bfe
push dword [ebp - 0x34]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
mov word [ebp - 0x34], ax
mov dword [ebp - 4], 0x30
test ebx, 0x100
je 0x10005c45
and ebx, 0xfffffeff
cmp dword [ebp - 0xb0], 8
mov dword [ebp - 0x108], ebx
jb 0x10005c45
push dword [ebp - 0xc4]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x10005c53
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0xfc]
push eax
call fcn.1000a500
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x118]
call fcn.10007320
cmp dword [ebp - 0x68], 8
jb 0x10005c88
push dword [ebp - 0x7c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x38], 8
jb 0x10005c9e
push dword [ebp - 0x4c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
add esi, 0x18
jmp 0x10005711
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x124]
inc ecx
jmp 0x100056fd
mov eax, dword [0x1005fd10]
test al, 2
jne 0x10005cff
or dword [0x1005fd10], 2
push str.HKLMSYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicyDomainProfileAuthorizedApplicationsList
mov ecx, 0x1005fee0
mov byte [ebp - 4], 0x3b
call fcn.10009fd0
push str.HKLMSYSTEMCurrentControlSetServicesSharedAccessParametersFirewallPolicyStandardProfileAuthorizedApplicationsList
mov ecx, 0x1005fef8
mov byte [ebp - 4], 0x3c
call fcn.10009fd0
push 0x10045520
call fcn.1003e542
add esp, 4
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x118]
push 0
lea ecx, [ecx + 0x10]
call fcn.10010710
mov edi, eax
mov dword [ebp - 0x120], edi
xor ecx, ecx
mov dword [ebp - 0x114], ecx
cmp ecx, 2
jge 0x10006009
xor eax, eax
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], ax
lea eax, [ecx + ecx*2]
lea edx, [ebp - 0x4c]
lea ecx, [eax*8 + 0x1005fee0]
mov byte [ebp - 4], 0x3d
call fcn.10014410
cmp dword [ebp - 0x38], 8
lea ecx, [ebp - 0x4c]
cmovae ecx, dword [ebp - 0x4c]
push ecx
push ecx
push eax
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
call fcn.1001ded0
mov byte [ebp - 4], 0x3e
jmp 0x10005da0
cmp dword [ebp - 0xf8], 0
je 0x10005fdc
cmp dword [ebp - 0xf4], 0
jl 0x10005fdc
mov esi, dword [edi]
mov edi, dword [edi + 4]
nop
cmp esi, edi
je 0x10005fc0
xor eax, eax
push 0xffffffffffffffff
push eax
push esi
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x68], 7
mov dword [ebp - 0x6c], 0
mov word [ebp - 0x7c], ax
call fcn.1000a9a0
mov byte [ebp - 4], 0x3f
call fcn.10029aa0
mov eax, dword [ebp - 0xd8]
xor ecx, ecx
cmp eax, dword [ebp - 0xd4]
cmove eax, ecx
push eax
lea ecx, [ebp - 0x34]
call fcn.10009fd0
mov byte [ebp - 4], 0x40
cmp dword [ebp - 0x24], 0
je 0x10005f90
push dword [ebp - 0x6c]
cmp dword [ebp - 0x68], 8
lea eax, [ebp - 0x7c]
cmovae eax, dword [ebp - 0x7c]
push 0
push eax
lea ecx, [ebp - 0x34]
call fcn.1000ac10
cmp eax, 0xffffffff
je 0x10005f90
push 0xa0
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 0x41
test eax, eax
je 0x10005ee4
cmp dword [ebp - 0xdc], 8
lea eax, [ebp - 0xf0]
cmovae eax, dword [ebp - 0xf0]
push eax
lea ecx, [ebp - 0xc4]
call fcn.10009fd0
mov byte [ebp - 4], 0x42
or ebx, 0x1000
push str.Value
lea ecx, [ebp - 0x64]
mov dword [ebp - 0xfc], ebx
call fcn.10009fd0
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 4], 0x43
mov ecx, dword [ebp - 0x124]
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0x114]
or ebx, 0x2000
lea eax, [eax + eax*2]
mov dword [ebp - 0x108], ebx
lea eax, [eax*8 + 0x1005fee0]
push eax
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 0xfc], ebx
call fcn.100112b0
jmp 0x10005ee6
xor eax, eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0xfc], eax
test ebx, 0x2000
je 0x10005f2c
and ebx, 0xffffdfff
cmp dword [ebp - 0x50], 8
mov dword [ebp - 0x108], ebx
jb 0x10005f18
push dword [ebp - 0x64]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], 0
mov word [ebp - 0x64], ax
mov dword [ebp - 4], 0x40
test ebx, 0x1000
je 0x10005f5f
and ebx, 0xffffefff
cmp dword [ebp - 0xb0], 8
mov dword [ebp - 0x108], ebx
jb 0x10005f5f
push dword [ebp - 0xc4]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x10005f6d
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0xfc]
push eax
call fcn.1000a500
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x118]
call fcn.10007320
cmp dword [ebp - 0x20], 8
jb 0x10005fa2
push dword [ebp - 0x34]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0x3e
cmp dword [ebp - 0x68], 8
jb 0x10005fb8
push dword [ebp - 0x7c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
add esi, 0x18
jmp 0x10005dc0
dec dword [ebp - 0xf4]
lea ecx, [ebp - 0xf8]
call fcn.1001e070
mov edi, dword [ebp - 0x120]
jmp 0x10005da0
lea ecx, [ebp - 0xf8]
call fcn.1001e010
mov byte [ebp - 4], 0
cmp dword [ebp - 0x38], 8
jb 0x10005ffd
push dword [ebp - 0x4c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0x114]
inc ecx
jmp 0x10005d19
mov eax, dword [0x1005fd10]
test al, 4
jne 0x100060c6
or dword [0x1005fd10], 4
push str.HKCUSoftware
mov ecx, 0x1005ff10
mov byte [ebp - 4], 0x46
call fcn.10009fd0
push str.HKCUSoftwareAppDataLow
mov ecx, 0x1005ff28
mov byte [ebp - 4], 0x47
call fcn.10009fd0
push str.HKCUSoftwareAppDataLowSoftware
mov ecx, 0x1005ff40
mov byte [ebp - 4], 0x48
call fcn.10009fd0
push str.HKLMSoftware
mov ecx, 0x1005ff58
mov byte [ebp - 4], 0x49
call fcn.10009fd0
push str.HKCUSoftwareMicrosoftWindowsCurrentVersionUninstall
mov ecx, 0x1005ff70
mov byte [ebp - 4], 0x4a
call fcn.10009fd0
push str.HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall
mov ecx, 0x1005ff88
mov byte [ebp - 4], 0x4b
call fcn.10009fd0
push str.HKCUSoftwareMicrosoftWindowsCurrentVersionApp_ManagementARPCache
mov ecx, 0x1005ffa0
mov byte [ebp - 4], 0x4c
call fcn.10009fd0
push str.HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp_ManagementARPCache
mov ecx, 0x1005ffb8
mov byte [ebp - 4], 0x4d
call fcn.10009fd0
push 0x10045500
call fcn.1003e542
add esp, 4
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x118]
push 8
lea ecx, [ecx + 0x10]
call fcn.10010710
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov dword [ebp - 0x114], ecx
cmp ecx, 8
jge 0x100064e3
mov esi, dword [eax]
mov edi, dword [eax + 4]
nop
cmp esi, edi
je 0x100064d4
xor eax, eax
push 0xffffffffffffffff
push eax
push esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], ax
call fcn.1000a9a0
mov byte [ebp - 4], 0x4e
call fcn.10029aa0
xor eax, eax
mov dword [ebp - 0xb0], 7
mov dword [ebp - 0xb4], 0
mov word [ebp - 0xc4], ax
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x114]
push 0x1004846c
lea eax, [eax + eax*2]
lea ecx, [ebp - 0x34]
lea eax, [eax*8 + 0x1005ff10]
mov edx, eax
mov dword [ebp - 0x120], eax
call fcn.1000bb60
add esp, 4
lea ecx, [ebp - 0x4c]
push ecx
mov edx, eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x50
call fcn.1000bc50
add esp, 4
lea edx, [ebp - 0xc4]
mov ecx, eax
mov byte [ebp - 4], 0x51
call fcn.10014410
cmp dword [ebp - 0x50], 8
mov dword [ebp - 0x124], eax
jb 0x100061a8
push dword [ebp - 0x64]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov byte [ebp - 4], 0x4f
cmp dword [ebp - 0x20], 8
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], 0
mov word [ebp - 0x64], ax
jb 0x100061d2
push dword [ebp - 0x34]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
push 0x10048468
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
mov word [ebp - 0x34], ax
call fcn.10009fd0
mov ecx, dword [ebp - 0x124]
lea eax, [ebp - 0x7c]
push eax
lea edx, [ebp - 0xc4]
call fcn.10014360
add esp, 4
cmp dword [ebp - 0x68], 8
mov byte [ebp - 0x109], al
jb 0x10006229
push dword [ebp - 0x7c]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
mov al, byte [ebp - 0x109]
add esp, 4
test al, al
je 0x100064b5
push 0xa0
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 0x52
test eax, eax
je 0x10006327
push 0x10048468
lea ecx, [ebp - 0x7c]
call fcn.10009fd0
mov byte [ebp - 4], 0x53
or ebx, 0x4000
push 0x10048468
lea ecx, [ebp - 0x34]
mov dword [ebp - 0xfc], ebx
call fcn.10009fd0
mov dword [ebp - 4], 0x54
or ebx, 0x8000
push 0x100485c4
lea ecx, [ebp - 0x64]
mov dword [ebp - 0xfc], ebx
call fcn.10009fd0
mov dword [ebp - 4], 0x55
mov edx, dword [ebp - 0x120]
or ebx, 0x10000
push 0x1004846c
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xfc], ebx
call fcn.1000bb60
add esp, 4
lea ecx, [ebp - 0x4c]
push ecx
mov dword [ebp - 4], 0x56
or ebx, 0x20000
mov edx, eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0xfc], ebx
call fcn.1000bc50
add esp, 4
lea ecx, [ebp - 0x7c]
push ecx
lea ecx, [ebp - 0x34]
push ecx
push eax
mov dword [ebp - 4], 0x57
mov ecx, dword [ebp - 0x124]
or ebx, 0x40000
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0xfc], ebx
call fcn.100112b0
jmp 0x10006329
xor eax, eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0xfc], eax
test ebx, 0x40000
je 0x10006378
and ebx, 0xfffbffff
cmp dword [ebp - 0x80], 8
mov dword [ebp - 0x108], ebx
jb 0x1000635e
push dword [ebp - 0x94]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x84], 0
mov word [ebp - 0x94], ax
test ebx, 0x20000
je 0x100063c1
and ebx, 0xfffdffff
cmp dword [ebp - 0x98], 8
mov dword [ebp - 0x108], ebx
jb 0x100063a4
push dword [ebp - 0xac]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x98], 7
mov dword [ebp - 0x9c], 0
mov word [ebp - 0xac], ax
test ebx, 0x10000
je 0x100063fb
and ebx, 0xfffeffff
cmp dword [ebp - 0x50], 8
mov dword [ebp - 0x108], ebx
jb 0x100063e7
push dword [ebp - 0x64]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], 0
mov word [ebp - 0x64], ax
test ebx, 0x8000
je 0x10006435
and ebx, 0xffff7fff
cmp dword [ebp - 0x20], 8
mov dword [ebp - 0x108], ebx
jb 0x10006421
push dword [ebp - 0x34]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
mov word [ebp - 0x34], ax
mov dword [ebp - 4], 0x4f
test ebx, 0x4000
je 0x10006484
mov eax, dword [ebp - 0x68]
and ebx, 0xffffbfff
mov dword [ebp - 0x108], ebx
cmp eax, 8
jb 0x10006473
inc eax
push eax
push dword [ebp - 0x7c]
lea eax, [ebp - 0x12d]
push eax
lea ecx, [ebp - 0x7c]
call fcn.1000ad30
mov ecx, eax
call fcn.1000a640
push 0
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x68], 7
call fcn.1000ad00
mov ecx, dword [ebp - 0x110]
test ecx, ecx
je 0x10006492
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0xfc]
push eax
call fcn.1000a500
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x118]
call fcn.10007320
lea ecx, [ebp - 0xc4]
call fcn.1000a0e0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call fcn.1000a0e0
add esi, 0x18
jmp 0x100060f0
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x1c]
inc ecx
jmp 0x100060db
mov eax, dword [0x1005fd10]
test al, 8
jne 0x10006567
or dword [0x1005fd10], 8
push str.HKLMSoftwareMicrosoftWindowsCurrentVersionInstallerUserDataS_1_5_18Components_
mov ecx, 0x1005ffd0
mov byte [ebp - 4], 0x5d
call fcn.10009fd0
push str.HKLMSoftwareMicrosoftWindowsCurrentVersionInstallerUserDataS_1_5_18Products_
mov ecx, 0x1005ffe8
mov byte [ebp - 4], 0x5e
call fcn.10009fd0
push str.HKLMSoftwareClassesInstallerFeatures_
mov ecx, 0x10060000
mov byte [ebp - 4], 0x5f
call fcn.10009fd0
push str.HKLMSoftwareClassesInstallerProducts_
mov ecx, 0x10060018
mov byte [ebp - 4], 0x60
call fcn.10009fd0
push str.HKLMSoftwareMicrosoftWindowsCurrentVersionInstallerUpgradeCodes_
mov ecx, 0x10060030
mov byte [ebp - 4], 0x61
call fcn.10009fd0
push 0x100454e0
call fcn.1003e542
add esp, 4
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x118]
add ecx, 0x10
push 7
call fcn.10010710
mov ebx, eax
mov dword [ebp - 0x1c], ebx
xor edi, edi
mov edi, edi
cmp edi, 5
jge 0x100068d6
push ecx
lea ecx, [ebp - 0x110]
call sym.isafemadwc.dll_public:_void___thiscall_CppSQLite3Binary::__autoclassinit_unsigned_int_
lea eax, [ebp - 0x110]
push eax
mov ecx, ebx
call fcn.1000a340
push ecx
lea ecx, [ebp - 0x114]
call sym.isafemadwc.dll_public:_void___thiscall_CppSQLite3Binary::__autoclassinit_unsigned_int_
lea eax, [ebp - 0x114]
push eax
mov ecx, ebx
call fcn.1000a350
lea ecx, [ecx]
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x110]
call fcn.1000a5a0
test al, al
je 0x100068d0
lea ecx, [ebp - 0x110]
call sym.isafemadwc.dll_public:_char_const____thiscall_CppSQLite3Buffer::operator_char_const__void_
push eax
lea ecx, [ebp - 0x64]
call fcn.10009f80
mov byte [ebp - 4], 0x62
call fcn.10029aa0
lea ecx, [ebp - 0xc4]
call fcn.10009fb0
lea eax, [ebp - 0x64]
push eax
push edi
mov ecx, ebx
mov byte [ebp - 4], 0x63
call fcn.1000a360
mov edx, eax
lea ecx, [ebp - 0x7c]
call fcn.1000bc80
add esp, 4
lea edx, [ebp - 0xc4]
mov ecx, eax
mov byte [ebp - 4], 0x64
call fcn.10014410
lea ecx, [ebp - 0x7c]
mov esi, eax
mov byte [ebp - 4], 0x63
call fcn.1000a0e0
push 0x10048468
lea ecx, [ebp - 0x34]
call fcn.10009fd0
lea eax, [ebp - 0x34]
push eax
lea edx, [ebp - 0xc4]
mov ecx, esi
call fcn.10014360
add esp, 4
lea ecx, [ebp - 0x34]
mov bl, al
call fcn.1000a0e0
test bl, bl
je 0x100067f9
push 0xa0
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
mov esi, eax
add esp, 4
mov dword [ebp - 0x12c], esi
mov byte [ebp - 4], 0x65
test esi, esi
je 0x10006744
push 0x10048468
lea ecx, [ebp - 0x4c]
call fcn.10009fd0
mov byte [ebp - 4], 0x66
mov ebx, dword [ebp - 0x108]
or ebx, 0x80000
push 0x10048468
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0xfc], ebx
call fcn.10009fd0
mov dword [ebp - 4], 0x67
or ebx, 0x100000
push 0x100485c4
lea ecx, [ebp - 0x34]
mov dword [ebp - 0xfc], ebx
call fcn.10009fd0
lea eax, [ebp - 0x64]
mov dword [ebp - 4], 0x68
mov ecx, dword [ebp - 0x1c]
push eax
or ebx, 0x200000
push edi
mov dword [ebp - 0xfc], ebx
call fcn.1000a360
mov edx, eax
lea ecx, [ebp - 0x94]
call fcn.1000bc80
add esp, 4
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x7c]
push ecx
push eax
or ebx, 0x400000
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0x69
push eax
mov ecx, esi
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0xfc], ebx
call fcn.100112b0
mov esi, eax
jmp 0x1000674c
mov ebx, dword [ebp - 0x108]
xor esi, esi
mov dword [ebp - 0xfc], esi
test ebx, 0x400000
je 0x10006771
and ebx, 0xffbfffff
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x108], ebx
call fcn.1000a0e0
test ebx, 0x200000
je 0x1000678d
and ebx, 0xffdfffff
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x108], ebx
call fcn.1000a0e0
test ebx, 0x100000
je 0x100067a9
and ebx, 0xffefffff
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x108], ebx
call fcn.1000a0e0
mov dword [ebp - 4], 0x63
test ebx, 0x80000
je 0x100067cc
and ebx, 0xfff7ffff
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x108], ebx
call fcn.1000a0e0
test esi, esi
je 0x100067d6
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp - 0x11c]
lea eax, [ebp - 0xfc]
push eax
call fcn.1000a500
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x118]
call fcn.10007320
lea ecx, [ebp - 0xc4]
call fcn.1000a0e0
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0
call fcn.1000a0e0
lea ecx, [ebp - 0x110]
call fcn.1000a590
mov ebx, dword [ebp - 0x1c]
jmp 0x100065c0
inc edi
jmp 0x10006580
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.1003e328
mov esp, ebp
pop ebp
ret 4