Function at 0x414f70
Capabilities:
Get proxy
Get session user name
Persist via windows service
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b03bc
mov eax, dword fs:[0]
push eax
sub esp, 0x27c
mov eax, dword [0x4e706c]
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 ebx, ecx
push str.SystemCurrentControlSetServices_
lea ecx, [ebp - 0x264]
mov byte [ebp - 0x285], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
call fcn.00404c70
push 0x14
push str.MBAMInstallerService
lea ecx, [ebp - 0x264]
mov dword [ebp - 4], 0
call fcn.0040c260
cmp dword [ebp - 0x250], 8
lea ecx, [ebp - 0x26c]
push ecx
push 0x2001f
lea eax, [ebp - 0x264]
cmovae eax, dword [ebp - 0x264]
push 0
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test esi, esi
je 0x415096
lea ecx, [ebp - 0x230]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 1
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x1ff
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_open_service_registry:
mov ecx, eax
call fcn.0040f730
push esi
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 2
call fcn.00404cc0
xor bl, bl
jmp 0x4171ee
push 0
lea eax, [ebp - 0x268]
push eax
push 0
push 0x2001f
push 0
push 0
push 0
push 0x4c9b3c
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov esi, eax
test esi, esi
je 0x415151
lea ecx, [ebp - 0x230]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 4
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x206
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_create_service_parameters_registry:
mov ecx, eax
call fcn.0040f730
push esi
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 5
call fcn.00404cc0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor bl, bl
jmp 0x4171ee
cmp byte [ebp + 0xc], 0
je 0x41541e
mov ecx, dword [0x4e7e90]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
test ecx, ecx
je 0x415211
cmp dword [0x4e7e94], 8
lea ecx, [ecx*2 + 2]
push ecx
mov eax, 0x4e7e80
cmovae eax, dword [0x4e7e80]
push eax
push 1
push str.ProxyServer
push 0
push dword [ebp - 0x268]
call esi
mov edi, eax
test edi, edi
je 0x415211
lea ecx, [ebp - 0x230]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 7
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x214
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_ProxyServer_value:
mov ecx, eax
call fcn.0040f730
push edi
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 8
call fcn.00404cc0
mov byte [ebp - 4], 0
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x4152b5
push 4
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x218]
push eax
push 4
push 0
push str.ProxyPort
push dword [ebp - 0x268]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
test edi, edi
je 0x4152b5
lea ecx, [ebp - 0x230]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 9
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x21e
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_ProxyPort_value:
mov ecx, eax
call fcn.0040f730
push edi
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0xa
call fcn.00404cc0
mov byte [ebp - 4], 0
mov ecx, dword [0x4e7ea8]
test ecx, ecx
je 0x415365
cmp dword [0x4e7eac], 8
lea ecx, [ecx*2 + 2]
push ecx
mov eax, 0x4e7e98
cmovae eax, dword [0x4e7e98]
push eax
push 1
push str.ProxyUsername
push 0
push dword [ebp - 0x268]
call esi
mov edi, eax
test edi, edi
je 0x415365
lea ecx, [ebp - 0x230]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0xb
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x226
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_ProxyUsername_value:
mov ecx, eax
call fcn.0040f730
push edi
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0xc
call fcn.00404cc0
mov byte [ebp - 4], 0
mov ecx, dword [0x4e7ec0]
test ecx, ecx
je 0x4156f3
cmp dword [0x4e7ec4], 8
lea ecx, [ecx*2 + 2]
push ecx
mov eax, 0x4e7eb0
cmovae eax, dword [0x4e7eb0]
push eax
push 1
push str.ProxyPassword
push 0
push dword [ebp - 0x268]
call esi
mov esi, eax
test esi, esi
je 0x4156f3
lea ecx, [ebp - 0x230]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0xd
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x22e
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_ProxyPassword_value:
mov ecx, eax
call fcn.0040f730
push esi
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0xe
call fcn.00404cc0
mov byte [ebp - 4], 0
jmp 0x4156f3
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0xf
call fcn.00404d20
lea ecx, [ebp - 0x24c]
call fcn.00404d40
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x11
call fcn.00404d20
lea ecx, [ebp - 0x230]
call fcn.00404d40
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x24c]
mov ecx, ebx
push eax
push 1
call fcn.004145d0
lea ecx, [ebp - 0x284]
test al, al
je 0x415667
mov byte [ebp - 0x285], 1
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x13
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x23a
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Found_proxy_settings:
mov ecx, eax
call fcn.0040f730
lea edx, [ebp - 0x24c]
mov ecx, eax
call fcn.0040f710
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x14
call fcn.00404cc0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x23c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
test ecx, ecx
je 0x4155b3
cmp dword [ebp - 0x238], 8
lea ecx, [ecx*2 + 2]
push ecx
lea eax, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x24c]
push eax
push 1
push str.Proxy
push 0
push dword [ebp - 0x268]
call esi
mov edi, eax
test edi, edi
je 0x4155b3
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x15
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x23f
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_Proxy_value:
mov ecx, eax
call fcn.0040f730
push edi
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x16
call fcn.00404cc0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x220]
test ecx, ecx
je 0x4156c4
cmp dword [ebp - 0x21c], 8
lea ecx, [ecx*2 + 2]
push ecx
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push 1
push str.ProxyBypass
push 0
push dword [ebp - 0x268]
call esi
mov esi, eax
test esi, esi
je 0x4156c4
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x17
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x246
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_ProxyBypass_value:
mov ecx, eax
call fcn.0040f730
push esi
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
mov byte [ebp - 4], 0x18
jmp 0x4156b9
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x19
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x24c
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Did_not_find_proxy_settings
mov ecx, eax
call fcn.0040f730
push eax
call fcn.0040faa0
add esp, 4
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x284]
call fcn.00404cc0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x1b
call fcn.00404cc0
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0x1c
call fcn.00404cc0
cmp byte [ebp - 0x285], 0
mov byte [ebp - 4], 0
je 0x415790
push 4
lea eax, [ebp - 0x218]
mov dword [ebp - 0x218], 1
push eax
push 4
push 0
push str.SetProxyConfigOnSDK
push dword [ebp - 0x268]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
je 0x415790
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x1d
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x257
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_SetProxyConfigOnSDK_value:
mov ecx, eax
call fcn.0040f730
push esi
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x1e
call fcn.00404cc0
mov byte [ebp - 4], 0
push 0x202
lea eax, [ebp - 0x214]
push 0
push eax
call fcn.00486d70
add esp, 0xc
mov dword [ebp - 0x234], 0xff
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x4158b5
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x230]
call fcn.00404c70
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x220]
test ecx, ecx
je 0x4158a9
cmp dword [ebp - 0x21c], 8
lea ecx, [ecx*2 + 2]
push ecx
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push 1
push str.UserName
push 0
push dword [ebp - 0x268]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov esi, eax
test esi, esi
je 0x4158a9
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x20
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x266
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_userName_value:
mov ecx, eax
call fcn.0040f730
push esi
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x21
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x230]
jmp 0x415923
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x23
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x26e
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Error_calling_GetUserName:
mov ecx, eax
call fcn.0040f730
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.004186b0
push eax
call fcn.0040faa0
add esp, 4
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x284]
call fcn.00404cc0
mov byte [ebp - 4], 0
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x4159e2
cmp dword [ebx + 0x34], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0x20]
jb 0x415949
mov eax, dword [eax]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
push ecx
push eax
push 1
push str.ProductCode
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4159e8
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x25
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x276
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_ProductCode_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
mov byte [ebp - 4], 0x26
jmp 0x415e38
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov eax, dword [ebx + 0x48]
test eax, eax
je 0x415a9c
cmp dword [ebx + 0x4c], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0x38]
jb 0x415a05
mov eax, dword [eax]
push ecx
push eax
push 1
push str.ProductBuild
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x415b5e
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x28
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x283
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_ProductBuild_2__value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
mov byte [ebp - 4], 0x29
jmp 0x415e38
cmp dword [ebx + 0x30], 0
je 0x415b5e
cmp dword [ebx + 0x34], 8
lea eax, [ebx + 0x20]
jb 0x415ab1
mov eax, dword [eax]
push eax
push str.MDAM_B
call fcn.0048cdc7
add esp, 8
test eax, eax
jne 0x415b5e
push 0x12
push str.business
push 1
push str.ProductBuild
push eax
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x415b5e
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x2b
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x28d
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_ProductBuild_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
mov byte [ebp - 4], 0x2c
jmp 0x415e38
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x415c0e
cmp dword [ebx + 0x7c], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0x68]
jb 0x415b7b
mov eax, dword [eax]
push ecx
push eax
push 1
push str.ProgramDirectory
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x415c0e
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x2e
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x298
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_ProgramDirectory_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
mov byte [ebp - 4], 0x2f
jmp 0x415e38
mov eax, dword [ebx + 0x90]
test eax, eax
je 0x415cc7
cmp dword [ebx + 0x94], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0x80]
jb 0x415c34
mov eax, dword [eax]
push ecx
push eax
push 1
push str.DataDirectory
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x415cc7
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x31
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x2a3
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_DataDirectory_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
mov byte [ebp - 4], 0x32
jmp 0x415e38
mov eax, dword [ebx + 0x150]
test eax, eax
je 0x415d80
cmp dword [ebx + 0x154], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0x140]
jb 0x415ced
mov eax, dword [eax]
push ecx
push eax
push 1
push str.LocalAppDataDir
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x415d80
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x34
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x2af
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_LocalAppDataDir_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
mov byte [ebp - 4], 0x35
jmp 0x415e38
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x415e5a
cmp dword [ebx + 0xac], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0x98]
jb 0x415da6
mov eax, dword [eax]
push ecx
push eax
push 1
push str.Build
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x415e5a
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x37
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x2ba
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_Build_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x284]
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
cmp byte [ebp + 8], 0
je 0x415f6f
push 0x4c9f78
lea ecx, [ebp - 0x230]
call fcn.00404c70
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x220]
cmp dword [ebp - 0x21c], 8
lea ecx, [eax*2 + 2]
push ecx
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push 1
push str.UseLocalISvcForUninst
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x415f5c
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x3b
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x2c7
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_UseLocalISvcForUninst_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x3c
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x3d
call fcn.00404cc0
xor bl, bl
jmp 0x4171ee
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x3f
call fcn.00404cc0
mov byte [ebp - 4], 0
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x416049
cmp dword [ebx + 0xc4], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0xb0]
jb 0x415f95
mov eax, dword [eax]
push ecx
push eax
push 1
push str.Channel
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x416049
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x40
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x2d2
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_Channel_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x41
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
mov eax, dword [ebx + 0xf0]
test eax, eax
je 0x416123
cmp dword [ebx + 0xf4], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0xe0]
jb 0x41606f
mov eax, dword [eax]
push ecx
push eax
push 1
push str.ServiceChannel
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x416123
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x43
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x2dd
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_ServiceChannel_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x44
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
mov eax, dword [ebx + 0x108]
test eax, eax
je 0x4161fd
cmp dword [ebx + 0x10c], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0xf8]
jb 0x416149
mov eax, dword [eax]
push ecx
push eax
push 1
push str.ControllerChannel
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4161fd
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x46
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x2e8
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_ControllerChannel_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x47
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
mov eax, dword [ebx + 0x120]
test eax, eax
je 0x4162d7
cmp dword [ebx + 0x124], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0x110]
jb 0x416223
mov eax, dword [eax]
push ecx
push eax
push 1
push str.DBChannel
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4162d7
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x49
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x2f3
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_DBChannel_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x4a
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
mov eax, dword [ebx + 0x138]
test eax, eax
je 0x4163b1
cmp dword [ebx + 0x13c], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 0x128]
jb 0x4162fd
mov eax, dword [eax]
push ecx
push eax
push 1
push 0x4ca0d0
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4163b1
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x4c
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x2fe
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_Key_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x4d
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x416482
cmp dword [ebx + 0x1c], 8
lea ecx, [eax*2 + 2]
lea eax, [ebx + 8]
jb 0x4163ce
mov eax, dword [eax]
push ecx
push eax
push 1
push str.Installer
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x416482
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x4f
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x309
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_installer_Path_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x50
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
mov cl, byte [ebx + 0x158]
xor eax, eax
test cl, cl
mov edx, str.false
sete al
test cl, cl
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, edx
push eax
push 1
push str.Silent
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x416559
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x52
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x313
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_Silent_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x53
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
mov cl, byte [0x4ec9dc]
xor eax, eax
test cl, cl
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, ecx
push eax
push 1
push 0x4ca178
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41660d
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x55
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x31c
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_MB4SilentMigration_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x56
call fcn.00404cc0
mov byte [ebp - 4], 0
mov cl, byte [ebx + 0x159]
xor eax, eax
test cl, cl
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, ecx
push eax
push 1
push str.Reboot
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4166e4
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x57
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x322
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_Reboot_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x58
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
mov cl, byte [ebx + 5]
xor eax, eax
test cl, cl
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, ecx
push eax
push 1
push str.Staging
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4167b8
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x5a
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x32b
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_Staging_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x5b
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
mov cl, byte [ebx + 0x15a]
xor eax, eax
test cl, cl
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, ecx
push eax
push 1
push str.CreateIcon
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41688f
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x5d
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x334
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_CreateIcon_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x5e
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
cmp byte [ebx + 0x15b], 0
je 0x416955
push 0xa
push str.true
push 1
push str.Uninstall
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x416955
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x60
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x33e
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_uninstall_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
mov ecx, eax
call fcn.00418860
push eax
call fcn.0040faa0
add esp, 4
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x61
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
cmp byte [ebx + 0x15c], 0
je 0x4169e6
push 0xa
push str.true
push 1
push str.BifurcationShown
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4169e6
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x63
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x349
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_bifurcationShown_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
jmp 0x416d84
mov cl, byte [ebx + 0x15d]
xor eax, eax
test cl, cl
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, ecx
push eax
push 1
push 0x4ca2e8
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x416a88
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x64
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x353
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_start_trial_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
jmp 0x416d84
mov cl, byte [ebx + 0x15e]
xor eax, eax
test cl, cl
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, ecx
push eax
push 1
push str.SkipOnboarding
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x416b2a
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x65
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x35c
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_skip_onboarding_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
jmp 0x416d84
mov cl, byte [ebx + 0x15f]
xor eax, eax
test cl, cl
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, ecx
push eax
push 1
push str.LogTelemetry
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x416bc0
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x66
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x365
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_LogTelemetry_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
jmp 0x416d84
mov cl, byte [ebx + 0x160]
xor eax, eax
test cl, cl
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, ecx
push eax
push 1
push str.DebugLogging
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x416c56
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x67
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x36e
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_DebugLogging_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
jmp 0x416d84
mov cl, byte [ebx + 0x162]
xor eax, eax
test cl, cl
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, ecx
push eax
push 1
push str.FoundIFEOKey
push 0
push dword [ebp - 0x268]
call esi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x416cec
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x68
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x377
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_FoundIFEOKey_value:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
jmp 0x416d84
mov cl, byte [ebx + 0x161]
xor eax, eax
test cl, cl
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.true
cmove eax, ecx
push eax
push 1
push str.LanguageSet
push 0
push dword [ebp - 0x268]
call esi
mov esi, eax
test esi, esi
je 0x416db9
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x69
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x380
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_Language_set_value:
mov ecx, eax
call fcn.0040f730
push esi
mov ecx, eax
call fcn.00418860
push fcn.0040faa0
mov ecx, eax
call fcn.0040dee0
lea ecx, [ebp - 0x284]
call fcn.00404cc0
push dword [ebp - 0x268]
call edi
push dword [ebp - 0x26c]
call edi
xor bl, bl
jmp 0x4171ee
lea ecx, [ebx + 0x164]
call fcn.004186a0
lea ecx, [ebx + 0x164]
lea edi, [eax*2 + 2]
call fcn.0040c3b0
push edi
push eax
push 1
push str.Language
push 0
push dword [ebp - 0x268]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov esi, eax
test esi, esi
je 0x416e48
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x6a
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x389
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_language_code:
jmp 0x417196
lea ecx, [ebx + 0x17c]
call fcn.004186a0
lea ecx, [ebx + 0x17c]
lea edi, [eax*2 + 2]
call fcn.0040c3b0
push edi
push eax
push 1
push str.Affiliate
push 0
push dword [ebp - 0x268]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov esi, eax
test esi, esi
je 0x416ed7
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x6b
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x392
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_affiliate_name:
jmp 0x417196
lea ecx, [ebx + 0x194]
call fcn.004186a0
lea ecx, [ebx + 0x194]
lea edi, [eax*2 + 2]
call fcn.0040c3b0
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
push eax
push 1
push str.AffiliateId
push 0
push dword [ebp - 0x268]
call edi
mov esi, eax
test esi, esi
je 0x416f68
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x6c
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x39b
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_affiliate_id:
jmp 0x417196
lea ecx, [ebx + 0x1ac]
call fcn.0040bf90
test al, al
jne 0x416ff6
lea ecx, [ebx + 0x1ac]
call fcn.004186a0
lea ecx, [ebx + 0x1ac]
lea esi, [eax*2 + 2]
call fcn.0040c3b0
push esi
push eax
push 1
push str.InstUUID
push 0
push dword [ebp - 0x268]
call edi
mov esi, eax
test esi, esi
je 0x416ff6
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x6d
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x3a6
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_InstUUID:
jmp 0x417196
mov cl, byte [ebx + 0x1c4]
xor eax, eax
test cl, cl
mov esi, str.true
sete al
test cl, cl
mov ecx, str.false
lea eax, [eax*2 + 0xa]
push eax
mov eax, esi
cmove eax, ecx
push eax
push 1
push str.InstallBrowserGuard
push 0
push dword [ebp - 0x268]
call edi
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41709a
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x6e
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x3b0
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_InstallBrowserGuard:
mov ecx, eax
call fcn.0040f730
push dword [ebp - 0x218]
jmp 0x41719e
mov cl, byte [ebx + 0x1c5]
xor eax, eax
test cl, cl
sete al
test cl, cl
lea eax, [eax*2 + 0xa]
push eax
mov eax, str.false
cmove esi, eax
push esi
push 1
push str.UseStagingLicense
push 0
push dword [ebp - 0x268]
call edi
mov esi, eax
test esi, esi
je 0x417117
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x6f
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x3b9
mov ecx, eax
call fcn.0040dd30
mov edx, str.:_Failed_to_set_UseStagingLicense_value:
jmp 0x417196
cmp byte [ebx + 0x1c7], 0
je 0x4171d6
push 0xa
push str.true
push 1
push str.InstallCTSDKApp
push 0
push dword [ebp - 0x268]
call edi
mov esi, eax
test esi, esi
je 0x4171d6
lea ecx, [ebp - 0x284]
call fcn.0045ef40
mov edx, eax
mov byte [ebp - 4], 0x70
mov ecx, 0x4eb4d8
call fcn.0040f710
mov edx, 0x4c93f8
mov ecx, eax
call fcn.0040f730
mov edx, 0x4c9104
mov ecx, eax
call fcn.0040f730
push 0x3c4
mov ecx, eax
call fcn.0040dd30
mov edx, 0x4c932c
mov ecx, eax
call fcn.0040f730
mov edx, str.Failed_to_set_InstallCTSDKApp_value:
mov ecx, eax
call fcn.0040f730
push esi
mov ecx, eax
call fcn.00418860
push fcn.0040faa0
mov ecx, eax
call fcn.0040dee0
lea ecx, [ebp - 0x284]
call fcn.00404cc0
push dword [ebp - 0x268]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x26c]
call esi
xor bl, bl
jmp 0x4171ee
push dword [ebp - 0x268]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
push dword [ebp - 0x26c]
call esi
mov bl, 1
lea ecx, [ebp - 0x264]
call fcn.00404cc0
mov al, bl
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.0046e70f
mov esp, ebp
pop ebp
ret 0x18