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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4aecf1
mov eax, dword fs:[0]
push eax
sub esp, 0x280
mov eax, dword [0x4de080]
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 0x4177bf
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.00485270
add esp, 0xc
xor eax, eax
mov word [esi + edi*2 + 0x28], ax
jmp 0x4177d9
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 0x4178cb
lea ecx, [ebp - 0x230]
call fcn.00467c30
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41782b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x1ff
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_open_service_registry:
mov ecx, eax
call fcn.00411040
push esi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov ecx, dword [ebp - 0x21c]
add esp, 4
cmp ecx, 7
jbe 0x419dbc
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418bf9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e3b
jmp 0x418bf9
push 0
lea eax, [ebp - 0x26c]
push eax
push 0
push 0x2001f
push 0
push 0
push 0
push 0x4c1f4c
push dword [ebp - 0x270]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov esi, eax
test esi, esi
je 0x4179cb
lea ecx, [ebp - 0x230]
call fcn.00467c30
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417916
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x206
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_create_service_parameters_registry:
mov ecx, eax
call fcn.00411040
push esi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov ecx, dword [ebp - 0x21c]
add esp, 4
cmp ecx, 7
jbe 0x4179b3
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4179a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e40
push ecx
push edx
call fcn.0048355d
add esp, 8
push dword [ebp - 0x270]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 0x271], 0
jmp 0x419ddc
cmp byte [ebp + 0xc], 0
je 0x417da8
mov ecx, dword [0x4def20]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
test ecx, ecx
je 0x417acf
cmp dword [0x4def24], 7
lea ecx, [ecx*2 + 2]
push ecx
mov eax, 0x4def10
cmova eax, dword [0x4def10]
push eax
push 1
push str.ProxyServer
push 0
push dword [ebp - 0x26c]
call esi
mov edi, eax
test edi, edi
je 0x417acf
lea ecx, [ebp - 0x230]
call fcn.00467c30
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417a3a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x214
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_ProxyServer_value:
mov ecx, eax
call fcn.00411040
push edi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x417acf
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417ac5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e45
push ecx
push edx
call fcn.0048355d
add esp, 8
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x417bb7
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 0x417bb7
lea ecx, [ebp - 0x230]
call fcn.00467c30
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417b22
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x21e
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_ProxyPort_value:
mov ecx, eax
call fcn.00411040
push edi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x417bb7
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417bad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e4a
push ecx
push edx
call fcn.0048355d
add esp, 8
mov ecx, dword [0x4def38]
test ecx, ecx
je 0x417cab
cmp dword [0x4def3c], 7
lea ecx, [ecx*2 + 2]
push ecx
mov eax, 0x4def28
cmova eax, dword [0x4def28]
push eax
push 1
push str.ProxyUsername
push 0
push dword [ebp - 0x26c]
call esi
mov edi, eax
test edi, edi
je 0x417cab
lea ecx, [ebp - 0x230]
call fcn.00467c30
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417c16
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x226
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_ProxyUsername_value:
mov ecx, eax
call fcn.00411040
push edi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x417cab
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417ca1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e4f
push ecx
push edx
call fcn.0048355d
add esp, 8
mov ecx, dword [0x4def50]
test ecx, ecx
je 0x4181f5
cmp dword [0x4def54], 7
lea ecx, [ecx*2 + 2]
push ecx
mov eax, 0x4def40
cmova eax, dword [0x4def40]
push eax
push 1
push str.ProxyPassword
push 0
push dword [ebp - 0x26c]
call esi
mov esi, eax
test esi, esi
je 0x4181f5
lea ecx, [ebp - 0x230]
call fcn.00467c30
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417d0a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x22e
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_ProxyPassword_value:
mov ecx, eax
call fcn.00411040
push esi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x4181f5
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417d99
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e54
push ecx
push edx
call fcn.0048355d
add esp, 8
jmp 0x4181f5
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.00416c10
lea ecx, [ebp - 0x28c]
test al, al
je 0x4180e1
mov byte [ebp - 0x271], 1
call fcn.00467c30
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417e2f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x23a
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Found_proxy_settings:
mov ecx, eax
call fcn.00411040
cmp dword [ebp - 0x23c], 7
lea edx, [ebp - 0x250]
push dword [ebp - 0x240]
cmova edx, dword [ebp - 0x250]
mov ecx, eax
call fcn.00412510
push eax
call fcn.004113c0
mov byte [ebp - 4], 8
add esp, 8
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x417edd
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417ed3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e59
push ecx
push edx
call fcn.0048355d
add esp, 8
mov ecx, dword [ebp - 0x240]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
test ecx, ecx
je 0x417fe4
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 0x417fe4
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x417f43
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x23f
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_Proxy_value:
mov ecx, eax
call fcn.00411040
push edi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov byte [ebp - 4], 8
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x417fe4
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x417fda
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e5e
push ecx
push edx
call fcn.0048355d
add esp, 8
mov ecx, dword [ebp - 0x220]
test ecx, ecx
je 0x418144
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 0x418144
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418044
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x246
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_ProxyBypass_value:
mov ecx, eax
call fcn.00411040
push esi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov byte [ebp - 4], 8
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x418144
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41813a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
jmp 0x41813a
call fcn.00467c30
mov byte [ebp - 4], 0xc
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4180f5
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x24c
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Did_not_find_proxy_settings
mov ecx, eax
call fcn.00411040
jmp 0x418098
push ecx
push edx
call fcn.0048355d
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x418188
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41817e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
call fcn.0048355d
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 0x4181e8
mov edx, dword [ebp - 0x250]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4181de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
call fcn.0048355d
add esp, 8
cmp byte [ebp - 0x271], 0
je 0x4182d6
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 0x4182d6
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418241
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x257
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_SetProxyConfigOnSDK_value:
mov ecx, eax
call fcn.00411040
push esi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x4182d6
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4182cc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
call fcn.0048355d
add esp, 8
push 0x202
lea eax, [ebp - 0x214]
push 0
push eax
call fcn.00485800
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 0x4184b6
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 0x418340
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 0x41846f
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 0x41846f
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4183ca
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x266
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_userName_value:
mov ecx, eax
call fcn.00411040
push esi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov byte [ebp - 4], 0xe
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x41845f
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418455
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
call fcn.0048355d
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 0x41856d
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418563
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x418563
jmp 0x419e63
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4184d0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x26e
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Error_calling_GetUserName:
mov ecx, eax
call fcn.00411040
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.0041b4e0
push eax
call fcn.004113c0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x41856d
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418563
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
call fcn.0048355d
add esp, 8
mov esi, dword [ebp - 0x234]
mov eax, dword [esi + 0x30]
test eax, eax
je 0x418672
cmp dword [esi + 0x34], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x20]
jbe 0x418590
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 0x418672
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x11
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4185cf
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x276
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_ProductCode_value:
mov ecx, eax
call fcn.00411040
push dword [ebp - 0x218]
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov ecx, dword [ebp - 0x278]
add esp, 4
cmp ecx, 7
jbe 0x419dac
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x41866b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
jmp 0x419da4
mov eax, dword [esi + 0x48]
test eax, eax
je 0x418718
cmp dword [esi + 0x4c], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x38]
jbe 0x41868f
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 0x4187cc
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x12
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4186ce
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x283
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_ProductBuild_2__value:
jmp 0x418614
cmp dword [esi + 0x30], 0
je 0x4187cc
cmp dword [esi + 0x34], 7
lea eax, [esi + 0x20]
jbe 0x41872d
mov eax, dword [eax]
push eax
push str.MDAM_B
call fcn.0048d3cc
add esp, 8
test eax, eax
jne 0x4187cc
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 0x4187cc
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418782
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x28d
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_ProductBuild_value:
jmp 0x418614
mov eax, dword [esi + 0x78]
test eax, eax
je 0x41886e
cmp dword [esi + 0x7c], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x68]
jbe 0x4187e9
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 0x41886e
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418824
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x298
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_ProgramDirectory_value:
jmp 0x418614
mov eax, dword [esi + 0x90]
test eax, eax
je 0x418919
cmp dword [esi + 0x94], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x80]
jbe 0x418894
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 0x418919
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4188cf
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x2a3
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_DataDirectory_value:
jmp 0x418614
mov eax, dword [esi + 0x150]
test eax, eax
je 0x4189c4
cmp dword [esi + 0x154], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x140]
jbe 0x41893f
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 0x4189c4
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x16
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41897a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x2af
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_LocalAppDataDir_value:
jmp 0x418614
mov eax, dword [esi + 0xa8]
test eax, eax
je 0x418a6f
cmp dword [esi + 0xac], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x98]
jbe 0x4189ea
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 0x418a6f
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x17
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418a25
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x2ba
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_Build_value:
jmp 0x418614
cmp byte [ebp + 8], 0
je 0x418c53
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x220], 0
push 0x4c2388
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 0x418c0f
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418b0d
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x2c7
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_UseLocalISvcForUninst_value:
mov ecx, eax
call fcn.00411040
push dword [ebp - 0x218]
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov ecx, dword [ebp - 0x278]
add esp, 4
cmp ecx, 7
jbe 0x418baf
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418ba5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
call fcn.0048355d
add esp, 8
push dword [ebp - 0x26c]
call edi
push dword [ebp - 0x270]
call edi
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x419dbc
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418bf9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
call fcn.0048355d
add esp, 8
mov byte [ebp - 0x271], 0
jmp 0x419ddc
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x418c53
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x418c49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
call fcn.0048355d
add esp, 8
mov eax, dword [esi + 0xc0]
test eax, eax
je 0x418cfe
cmp dword [esi + 0xc4], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0xb0]
jbe 0x418c79
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 0x418cfe
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x1a
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418cb4
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x2d2
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_Channel_value:
jmp 0x418614
mov eax, dword [esi + 0xf0]
test eax, eax
je 0x418da9
cmp dword [esi + 0xf4], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0xe0]
jbe 0x418d24
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 0x418da9
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x1b
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418d5f
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x2dd
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_ServiceChannel_value:
jmp 0x418614
mov eax, dword [esi + 0x108]
test eax, eax
je 0x418e54
cmp dword [esi + 0x10c], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0xf8]
jbe 0x418dcf
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 0x418e54
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x1c
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418e0a
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x2e8
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_ControllerChannel_value:
jmp 0x418614
mov eax, dword [esi + 0x120]
test eax, eax
je 0x418eff
cmp dword [esi + 0x124], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x110]
jbe 0x418e7a
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 0x418eff
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x1d
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418eb5
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x2f3
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_DBChannel_value:
jmp 0x418614
mov eax, dword [esi + 0x138]
test eax, eax
je 0x418faa
cmp dword [esi + 0x13c], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x128]
jbe 0x418f25
mov eax, dword [eax]
push ecx
push eax
push 1
push 0x4c24e0
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x418faa
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x1e
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x418f60
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x2fe
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_Key_value:
jmp 0x418614
mov eax, dword [esi + 0x18]
test eax, eax
je 0x41904c
cmp dword [esi + 0x1c], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 8]
jbe 0x418fc7
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 0x41904c
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x1f
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419002
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x309
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_installer_Path_value:
jmp 0x418614
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 0x4190f4
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x20
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4190aa
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x313
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_Silent_value:
jmp 0x418614
mov cl, byte [0x4e2734]
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 0x4c2588
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4191f0
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x21
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419156
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x31c
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_MB4SilentMigration_value:
mov ecx, eax
call fcn.00411040
push dword [ebp - 0x218]
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x278]
cmp ecx, 7
jbe 0x4191f0
mov edx, dword [ebp - 0x28c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4191e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
call fcn.0048355d
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 0x419298
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x22
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41924e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x322
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_Reboot_value:
jmp 0x418614
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 0x41933d
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x23
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4192f3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x32b
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_Staging_value:
jmp 0x418614
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 0x4193e5
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x24
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41939b
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x334
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_CreateIcon_value:
jmp 0x418614
cmp byte [esi + 0x15b], 0
je 0x41947c
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 0x41947c
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x25
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419432
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x33e
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_uninstall_value:
jmp 0x418614
cmp byte [esi + 0x15c], 0
je 0x419513
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 0x419513
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x26
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4194c9
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x349
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_bifurcationShown_value:
jmp 0x418614
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 0x4c26f8
push 0
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegSetKeyValueW]
mov dword [ebp - 0x218], eax
test eax, eax
je 0x4195bb
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x27
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419571
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x353
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_start_trial_value:
jmp 0x418614
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 0x419663
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x28
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419619
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x35c
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_skip_onboarding_value:
jmp 0x418614
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 0x4196ff
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x29
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4196c1
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x365
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_LogTelemetry_value:
jmp 0x418614
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 0x41979b
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x2a
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x41975d
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x36e
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_DebugLogging_value:
jmp 0x418614
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 0x419837
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x2b
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4197f9
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x377
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_FoundIFEOKey_value:
jmp 0x418614
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 0x4198df
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x2c
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419895
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x380
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_Language_set_value:
jmp 0x418614
cmp dword [esi + 0x178], 7
mov eax, dword [esi + 0x174]
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x164]
jbe 0x4198fd
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 0x419982
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x2d
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419938
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x389
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_language_code:
jmp 0x418614
cmp dword [esi + 0x190], 7
mov eax, dword [esi + 0x18c]
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x17c]
jbe 0x4199a0
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 0x419a25
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x2e
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x4199db
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x392
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_affiliate_name:
jmp 0x418614
cmp dword [esi + 0x1a8], 7
mov eax, dword [esi + 0x1a4]
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x194]
jbe 0x419a43
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 0x419ac8
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x2f
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419a7e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x39b
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_affiliate_id:
jmp 0x418614
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x419b67
cmp dword [esi + 0x1c0], 7
lea ecx, [eax*2 + 2]
lea eax, [esi + 0x1ac]
jbe 0x419aee
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 0x419b67
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x30
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419b29
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x3a6
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_InstUUID:
jmp 0x418614
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 0x419c0f
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x31
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419bc5
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x3b0
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_InstallBrowserGuard:
jmp 0x418614
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 0x419cab
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x32
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419c6d
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x3b9
mov ecx, eax
call fcn.0040f7e0
mov edx, str.:_Failed_to_set_UseStagingLicense_value:
jmp 0x418614
cmp byte [esi + 0x1c7], 0
je 0x419dc5
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 0x419dc5
lea ecx, [ebp - 0x28c]
call fcn.00467c30
mov byte [ebp - 4], 0x33
cmp dword [eax + 0x14], 7
mov ecx, dword [eax + 0x10]
jbe 0x419cf8
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e14e8
call fcn.00412510
add esp, 4
mov edx, 0x4c17e8
mov ecx, eax
call fcn.00411040
mov edx, 0x4c14f8
mov ecx, eax
call fcn.00411040
push 0x3c4
mov ecx, eax
call fcn.0040f7e0
mov edx, 0x4c1738
mov ecx, eax
call fcn.00411040
mov edx, str.Failed_to_set_InstallCTSDKApp_value:
mov ecx, eax
call fcn.00411040
push esi
mov ecx, eax
call fcn.0041b6a0
push eax
call fcn.004113c0
mov eax, dword [ebp - 0x278]
add esp, 4
cmp eax, 7
jbe 0x419dac
mov ecx, dword [ebp - 0x28c]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x218], ecx
cmp eax, 0x1000
jb 0x419da2
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.0048355d
add esp, 8
push dword [ebp - 0x26c]
call edi
push dword [ebp - 0x270]
call edi
mov byte [ebp - 0x271], 0
jmp 0x419ddc
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 0x419e18
mov edx, dword [ebp - 0x268]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x419e0e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x419e63
push ecx
push edx
call fcn.0048355d
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.00483226
mov esp, ebp
pop ebp
ret 0x18
call fcn.0048878f
call fcn.0048878f
call fcn.0048878f
call fcn.0048878f
call fcn.0048878f
call fcn.0048878f
call fcn.0048878f
call fcn.0048878f
call fcn.0048878f
int3