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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bc861
mov eax, dword fs:[0]
push eax
sub esp, 0x280
mov eax, dword [0x50c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x234], ecx
push 0x22
xorps xmm0, xmm0
mov byte [ebp - 0x271], 0
push str.SystemCurrentControlSetServices_
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
movups xmmword [ebp - 0x268], xmm0
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0
call fcn.0040df90
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x254]
mov eax, ecx
mov edi, dword [ebp - 0x258]
sub eax, edi
cmp eax, 0x14
jb 0x41786f
cmp ecx, 7
lea esi, [ebp - 0x268]
lea eax, [edi + 0x14]
cmova esi, dword [ebp - 0x268]
push 0x28
mov dword [ebp - 0x258], eax
push str.MBAMInstallerService
lea eax, [esi + edi*2]
push eax
call fcn.00492c90
add esp, 0xc
xor eax, eax
mov word [esi + edi*2 + 0x28], ax
jmp 0x417889
push 0x14
push str.MBAMInstallerService
push dword [ebp - 0x238]
lea ecx, [ebp - 0x268]
push 0x14
call fcn.0040d970
cmp dword [ebp - 0x254], 7
lea ecx, [ebp - 0x270]
push ecx
push 0x2001f
lea eax, [ebp - 0x268]
cmova eax, dword [ebp - 0x268]
push 0
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov esi, eax
test esi, esi
je 0x41797b
lea ecx, [ebp - 0x230]
call fcn.00467cf0
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4178db
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x1ff
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_open_service_registry:
mov ecx, eax
call fcn.00411050
push esi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov ecx, dword [ebp - 0x21c]
add esp, 4
cmp ecx, 7
jbe 0x419e6c
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418ca9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419eeb
jmp 0x418ca9
push 0
lea eax, [ebp - 0x26c]
push eax
push 0
push 0x2001f
push 0
push 0
push 0
push 0x4ecfbc
push dword [ebp - 0x270]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov esi, eax
test esi, esi
je 0x417a7b
lea ecx, [ebp - 0x230]
call fcn.00467cf0
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4179c6
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x206
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_create_service_parameters_registry:
mov ecx, eax
call fcn.00411050
push esi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov ecx, dword [ebp - 0x21c]
add esp, 4
cmp ecx, 7
jbe 0x417a63
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417a59
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419ef0
push ecx
push edx
call fcn.00490f7d
add esp, 8
push dword [ebp - 0x270]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 0x271], 0
jmp 0x419e8c
cmp byte [ebp + 0xc], 0
je 0x417e58
mov ecx, dword [0x50cf20]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
test ecx, ecx
je 0x417b7f
cmp dword [0x50cf24], 7
lea ecx, [ecx*2 + 2]
push ecx
mov eax, 0x50cf10
cmova eax, dword [0x50cf10]
push eax
push 1
push str.ProxyServer
push 0
push dword [ebp - 0x26c]
call esi
mov edi, eax
test edi, edi
je 0x417b7f
lea ecx, [ebp - 0x230]
call fcn.00467cf0
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417aea
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x214
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_ProxyServer_value:
mov ecx, eax
call fcn.00411050
push edi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x417b7f
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417b75
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419ef5
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x417c67
push 4
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x218]
push eax
push 4
push 0
push str.ProxyPort
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov edi, eax
test edi, edi
je 0x417c67
lea ecx, [ebp - 0x230]
call fcn.00467cf0
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417bd2
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x21e
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_ProxyPort_value:
mov ecx, eax
call fcn.00411050
push edi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x417c67
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417c5d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419efa
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov ecx, dword [0x50cf38]
test ecx, ecx
je 0x417d5b
cmp dword [0x50cf3c], 7
lea ecx, [ecx*2 + 2]
push ecx
mov eax, 0x50cf28
cmova eax, dword [0x50cf28]
push eax
push 1
push str.ProxyUsername
push 0
push dword [ebp - 0x26c]
call esi
mov edi, eax
test edi, edi
je 0x417d5b
lea ecx, [ebp - 0x230]
call fcn.00467cf0
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417cc6
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x226
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_ProxyUsername_value:
mov ecx, eax
call fcn.00411050
push edi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x417d5b
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417d51
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419eff
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov ecx, dword [0x50cf50]
test ecx, ecx
je 0x4182a5
cmp dword [0x50cf54], 7
lea ecx, [ecx*2 + 2]
push ecx
mov eax, 0x50cf40
cmova eax, dword [0x50cf40]
push eax
push 1
push str.ProxyPassword
push 0
push dword [ebp - 0x26c]
call esi
mov esi, eax
test esi, esi
je 0x4182a5
lea ecx, [ebp - 0x230]
call fcn.00467cf0
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417dba
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x22e
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_ProxyPassword_value:
mov ecx, eax
call fcn.00411050
push esi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x4182a5
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417e49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f04
push ecx
push edx
call fcn.00490f7d
add esp, 8
jmp 0x4182a5
xorps xmm0, xmm0
mov dword [ebp - 0x240], 0
xor eax, eax
mov dword [ebp - 0x23c], 7
movups xmmword [ebp - 0x250], xmm0
mov word [ebp - 0x250], ax
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x250]
push eax
push 1
call fcn.00416cc0
lea ecx, [ebp - 0x28c]
test al, al
je 0x418191
mov byte [ebp - 0x271], 1
call fcn.00467cf0
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417edf
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x23a
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Found_proxy_settings:
mov ecx, eax
call fcn.00411050
cmp dword [ebp - 0x23c], 7
lea edx, [ebp - 0x250]
push dword [ebp - 0x240]
cmova edx, dword [ebp - 0x250]
mov ecx, eax
call fcn.00412550
push eax
call fcn.004113d0
mov byte [ebp - 4], 8
add esp, 8
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x417f8d
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417f83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f09
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov ecx, dword [ebp - 0x240]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
test ecx, ecx
je 0x418094
cmp dword [ebp - 0x23c], 7
lea ecx, [ecx*2 + 2]
push ecx
lea eax, [ebp - 0x250]
cmova eax, dword [ebp - 0x250]
push eax
push 1
push str.Proxy
push 0
push dword [ebp - 0x26c]
call esi
mov edi, eax
test edi, edi
je 0x418094
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417ff3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x23f
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_Proxy_value:
mov ecx, eax
call fcn.00411050
push edi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov byte [ebp - 4], 8
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x418094
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41808a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f0e
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov ecx, dword [ebp - 0x220]
test ecx, ecx
je 0x4181f4
cmp dword [ebp - 0x21c], 7
lea ecx, [ecx*2 + 2]
push ecx
lea eax, [ebp - 0x230]
cmova eax, dword [ebp - 0x230]
push eax
push 1
push str.ProxyBypass
push 0
push dword [ebp - 0x26c]
call esi
mov esi, eax
test esi, esi
je 0x4181f4
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4180f4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x246
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_ProxyBypass_value:
mov ecx, eax
call fcn.00411050
push esi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov byte [ebp - 4], 8
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x4181f4
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4181ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
jmp 0x4181ea
call fcn.00467cf0
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4181a5
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x24c
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Did_not_find_proxy_settings
mov ecx, eax
call fcn.00411050
jmp 0x418148
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x418238
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41822e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
call fcn.00490f7d
add esp, 8
xor eax, eax
mov dword [ebp - 0x220], 0
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
cmp ecx, 7
jbe 0x418298
mov edx, dword [ebp - 0x250]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41828e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
call fcn.00490f7d
add esp, 8
cmp byte [ebp - 0x271], 0
je 0x418386
push 4
lea eax, [ebp - 0x218]
mov dword [ebp - 0x218], 1
push eax
push 4
push 0
push str.SetProxyConfigOnSDK
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, eax
test esi, esi
je 0x418386
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4182f1
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x257
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_SetProxyConfigOnSDK_value:
mov ecx, eax
call fcn.00411050
push esi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x418386
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41837c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
call fcn.00490f7d
add esp, 8
push 0x202
lea eax, [ebp - 0x214]
push 0
push eax
call fcn.00493220
add esp, 0xc
mov dword [ebp - 0x238], 0xff
lea eax, [ebp - 0x238]
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 0x418566
xorps xmm0, xmm0
mov dword [ebp - 0x220], 0
lea ecx, [ebp - 0x214]
mov dword [ebp - 0x21c], 0
movups xmmword [ebp - 0x230], xmm0
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4183f0
sub ecx, edx
lea eax, [ebp - 0x214]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x230]
call fcn.0040df90
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x220]
test ecx, ecx
je 0x41851f
cmp dword [ebp - 0x21c], 7
lea ecx, [ecx*2 + 2]
push ecx
lea eax, [ebp - 0x230]
cmova eax, dword [ebp - 0x230]
push eax
push 1
push str.UserName
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov esi, eax
test esi, esi
je 0x41851f
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41847a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x266
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_userName_value:
mov ecx, eax
call fcn.00411050
push esi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov byte [ebp - 4], 0xe
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x41850f
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418505
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
call fcn.00490f7d
add esp, 8
push dword [ebp - 0x26c]
call edi
push dword [ebp - 0x270]
call edi
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x41861d
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418613
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x418613
jmp 0x419f13
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418580
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x26e
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Error_calling_GetUserName:
mov ecx, eax
call fcn.00411050
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.0041b590
push eax
call fcn.004113d0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x41861d
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418613
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov esi, dword [ebp - 0x234]
mov eax, dword [esi + 0x30]
test eax, eax
je 0x418722
cmp dword [esi + 0x34], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x20]
jbe 0x418640
mov eax, dword [eax]
push ecx
push eax
push 1
push str.ProductCode
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x418722
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x11
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41867f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x276
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_ProductCode_value:
mov ecx, eax
call fcn.00411050
push dword [ebp - 0x218]
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov ecx, dword [ebp - 0x278]
add esp, 4
cmp ecx, 7
jbe 0x419e5c
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41871b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
jmp 0x419e54
mov eax, dword [esi + 0x48]
test eax, eax
je 0x4187c8
cmp dword [esi + 0x4c], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x38]
jbe 0x41873f
mov eax, dword [eax]
push ecx
push eax
push 1
push str.ProductBuild
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41887c
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x12
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41877e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x283
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_ProductBuild_2__value:
jmp 0x4186c4
cmp dword [esi + 0x30], 0
je 0x41887c
cmp dword [esi + 0x34], 7
lea eax, [esi + 0x20]
jbe 0x4187dd
mov eax, dword [eax]
push eax
push str.MDAM_B
call fcn.0049adec
add esp, 8
test eax, eax
jne 0x41887c
push 0x12
push str.business
push 1
push str.ProductBuild
push eax
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41887c
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418832
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x28d
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_ProductBuild_value:
jmp 0x4186c4
mov eax, dword [esi + 0x78]
test eax, eax
je 0x41891e
cmp dword [esi + 0x7c], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x68]
jbe 0x418899
mov eax, dword [eax]
push ecx
push eax
push 1
push str.ProgramDirectory
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41891e
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4188d4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x298
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_ProgramDirectory_value:
jmp 0x4186c4
mov eax, dword [esi + 0x90]
test eax, eax
je 0x4189c9
cmp dword [esi + 0x94], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x80]
jbe 0x418944
mov eax, dword [eax]
push ecx
push eax
push 1
push str.DataDirectory
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4189c9
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41897f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x2a3
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_DataDirectory_value:
jmp 0x4186c4
mov eax, dword [esi + 0x150]
test eax, eax
je 0x418a74
cmp dword [esi + 0x154], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x140]
jbe 0x4189ef
mov eax, dword [eax]
push ecx
push eax
push 1
push str.LocalAppDataDir
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x418a74
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x16
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418a2a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x2af
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_LocalAppDataDir_value:
jmp 0x4186c4
mov eax, dword [esi + 0xa8]
test eax, eax
je 0x418b1f
cmp dword [esi + 0xac], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x98]
jbe 0x418a9a
mov eax, dword [eax]
push ecx
push eax
push 1
push str.Build
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x418b1f
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x17
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418ad5
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x2ba
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_Build_value:
jmp 0x4186c4
cmp byte [ebp + 8], 0
je 0x418d03
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x220], 0
push 0x4ed3f8
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 0
movups xmmword [ebp - 0x230], xmm0
call fcn.0040df90
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x220]
cmp dword [ebp - 0x21c], 7
lea ecx, [eax*2 + 2]
push ecx
lea eax, [ebp - 0x230]
cmova eax, dword [ebp - 0x230]
push eax
push 1
push str.UseLocalISvcForUninst
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x418cbf
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418bbd
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x2c7
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_UseLocalISvcForUninst_value:
mov ecx, eax
call fcn.00411050
push dword [ebp - 0x218]
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov ecx, dword [ebp - 0x278]
add esp, 4
cmp ecx, 7
jbe 0x418c5f
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418c55
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
call fcn.00490f7d
add esp, 8
push dword [ebp - 0x26c]
call edi
push dword [ebp - 0x270]
call edi
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x419e6c
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418ca9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov byte [ebp - 0x271], 0
jmp 0x419e8c
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x418d03
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418cf9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov eax, dword [esi + 0xc0]
test eax, eax
je 0x418dae
cmp dword [esi + 0xc4], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0xb0]
jbe 0x418d29
mov eax, dword [eax]
push ecx
push eax
push 1
push str.Channel
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x418dae
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x1a
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418d64
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x2d2
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_Channel_value:
jmp 0x4186c4
mov eax, dword [esi + 0xf0]
test eax, eax
je 0x418e59
cmp dword [esi + 0xf4], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0xe0]
jbe 0x418dd4
mov eax, dword [eax]
push ecx
push eax
push 1
push str.ServiceChannel
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x418e59
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x1b
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418e0f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x2dd
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_ServiceChannel_value:
jmp 0x4186c4
mov eax, dword [esi + 0x108]
test eax, eax
je 0x418f04
cmp dword [esi + 0x10c], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0xf8]
jbe 0x418e7f
mov eax, dword [eax]
push ecx
push eax
push 1
push str.ControllerChannel
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x418f04
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x1c
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418eba
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x2e8
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_ControllerChannel_value:
jmp 0x4186c4
mov eax, dword [esi + 0x120]
test eax, eax
je 0x418faf
cmp dword [esi + 0x124], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x110]
jbe 0x418f2a
mov eax, dword [eax]
push ecx
push eax
push 1
push str.DBChannel
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x418faf
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418f65
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x2f3
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_DBChannel_value:
jmp 0x4186c4
mov eax, dword [esi + 0x138]
test eax, eax
je 0x41905a
cmp dword [esi + 0x13c], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x128]
jbe 0x418fd5
mov eax, dword [eax]
push ecx
push eax
push 1
push 0x4ed550
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41905a
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x1e
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419010
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x2fe
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_Key_value:
jmp 0x4186c4
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4190fc
cmp dword [esi + 0x1c], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 8]
jbe 0x419077
mov eax, dword [eax]
push ecx
push eax
push 1
push str.Installer
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4190fc
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x1f
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4190b2
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x309
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_installer_Path_value:
jmp 0x4186c4
mov cl, byte [esi + 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 - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4191a4
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x20
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41915a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x313
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_Silent_value:
jmp 0x4186c4
mov cl, byte [0x51091c]
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 0x4ed5f8
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4192a0
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x21
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419206
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x31c
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_MB4SilentMigration_value:
mov ecx, eax
call fcn.00411050
push dword [ebp - 0x218]
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x4192a0
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x419296
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov cl, byte [esi + 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 - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x419348
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x22
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4192fe
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x322
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_Reboot_value:
jmp 0x4186c4
mov cl, byte [esi + 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 - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4193ed
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x23
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4193a3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x32b
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_Staging_value:
jmp 0x4186c4
mov cl, byte [esi + 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 - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x419495
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x24
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41944b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x334
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_CreateIcon_value:
jmp 0x4186c4
cmp byte [esi + 0x15b], 0
je 0x41952c
push 0xa
push str.true
push 1
push str.Uninstall
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41952c
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x25
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4194e2
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x33e
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_uninstall_value:
jmp 0x4186c4
cmp byte [esi + 0x15c], 0
je 0x4195c3
push 0xa
push str.true
push 1
push str.BifurcationShown
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4195c3
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x26
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419579
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x349
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_bifurcationShown_value:
jmp 0x4186c4
mov cl, byte [esi + 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 0x4ed768
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41966b
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x27
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419621
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x353
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_start_trial_value:
jmp 0x4186c4
mov cl, byte [esi + 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 - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x419713
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x28
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4196c9
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x35c
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_skip_onboarding_value:
jmp 0x4186c4
mov cl, byte [esi + 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 - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4197af
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x29
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419771
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x365
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_LogTelemetry_value:
jmp 0x4186c4
mov cl, byte [esi + 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 - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41984b
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x2a
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41980d
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x36e
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_DebugLogging_value:
jmp 0x4186c4
mov cl, byte [esi + 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 - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4198e7
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x2b
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4198a9
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x377
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_FoundIFEOKey_value:
jmp 0x4186c4
mov cl, byte [esi + 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 - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x41998f
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x2c
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419945
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x380
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_Language_set_value:
jmp 0x4186c4
cmp dword [esi + 0x178], 7
mov eax, dword [esi + 0x174]
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x164]
jbe 0x4199ad
mov eax, dword [eax]
push ecx
push eax
push 1
push str.Language
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x419a32
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x2d
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4199e8
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x389
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_language_code:
jmp 0x4186c4
cmp dword [esi + 0x190], 7
mov eax, dword [esi + 0x18c]
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x17c]
jbe 0x419a50
mov eax, dword [eax]
push ecx
push eax
push 1
push str.Affiliate
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x419ad5
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x2e
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419a8b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x392
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_affiliate_name:
jmp 0x4186c4
cmp dword [esi + 0x1a8], 7
mov eax, dword [esi + 0x1a4]
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x194]
jbe 0x419af3
mov eax, dword [eax]
push ecx
push eax
push 1
push str.AffiliateId
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x419b78
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x2f
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419b2e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x39b
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_affiliate_id:
jmp 0x4186c4
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x419c17
cmp dword [esi + 0x1c0], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x1ac]
jbe 0x419b9e
mov eax, dword [eax]
push ecx
push eax
push 1
push str.InstUUID
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x419c17
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x30
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419bd9
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x3a6
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_InstUUID:
jmp 0x4186c4
mov cl, byte [esi + 0x1c4]
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.InstallBrowserGuard
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x419cbf
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x31
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419c75
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x3b0
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_InstallBrowserGuard:
jmp 0x4186c4
mov cl, byte [esi + 0x1c5]
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.UseStagingLicense
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x419d5b
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x32
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419d1d
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x3b9
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_UseStagingLicense_value:
jmp 0x4186c4
cmp byte [esi + 0x1c7], 0
je 0x419e75
push 0xa
push str.true
push 1
push str.InstallCTSDKApp
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov esi, eax
test esi, esi
je 0x419e75
lea ecx, [ebp - 0x28c]
call fcn.00467cf0
mov byte [ebp - 4], 0x33
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419da8
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x50f6d0
call fcn.00412550
add esp, 4
mov edx, 0x4ec858
mov ecx, eax
call fcn.00411050
mov edx, 0x4ec568
mov ecx, eax
call fcn.00411050
push 0x3c4
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4ec7a8
mov ecx, eax
call fcn.00411050
mov edx, str.Failed_to_set_InstallCTSDKApp_value:
mov ecx, eax
call fcn.00411050
push esi
mov ecx, eax
call fcn.0041b750
push eax
call fcn.004113d0
mov eax, dword [ebp - 0x278]
add esp, 4
cmp eax, 7
jbe 0x419e5c
mov ecx, dword [ebp - 0x28c]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x218], ecx
cmp eax, 0x1000
jb 0x419e52
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00409370
mov eax, dword [ebp - 0x234]
add esp, 8
mov ecx, dword [ebp - 0x218]
push eax
push ecx
call fcn.00490f7d
add esp, 8
push dword [ebp - 0x26c]
call edi
push dword [ebp - 0x270]
call edi
mov byte [ebp - 0x271], 0
jmp 0x419e8c
push dword [ebp - 0x26c]
call edi
push dword [ebp - 0x270]
call edi
mov byte [ebp - 0x271], 1
mov ecx, dword [ebp - 0x254]
cmp ecx, 7
jbe 0x419ec8
mov edx, dword [ebp - 0x268]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x419ebe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419f13
push ecx
push edx
call fcn.00490f7d
add esp, 8
mov al, byte [ebp - 0x271]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00490c46
mov esp, ebp
pop ebp
ret 0x18
call fcn.004961af
call fcn.004961af
call fcn.004961af
call fcn.004961af
call fcn.004961af
call fcn.004961af
call fcn.004961af
call fcn.004961af
call fcn.004961af
int3