Function at 0x1000cd07
Capabilities:
Check if file exists
Copy file
Create directory
Get common file path
Get program files directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006b938
mov eax, dword fs:[0]
push eax
mov eax, 0x1714
call fcn.10042c60
mov eax, dword [0x10086e84]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x168c], eax
mov eax, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x1688], edi
mov esi, dword [sym.imp.ole32.dll_CoInitializeEx]
push edi
mov dword [ebp - 0x1694], eax
call esi
cmp eax, 0x80010106
mov dword [ebp - 0x16f8], eax
jne 0x1000cd75
push 2
push edi
call esi
mov dword [ebp - 0x16f8], eax
cmp eax, edi
mov ebx, 0x80004005
mov dword [ebp - 0x167c], ebx
jl 0x1000cda0
mov ebx, dword [ebp - 0x168c]
neg ebx
sbb ebx, ebx
and ebx, 0x7ff8ffa9
add ebx, 0x80070057
mov dword [ebp - 0x167c], ebx
push dword [ebp - 0x1694]
lea ecx, [ebp - 0x1678]
call fcn.1000acc3
xor eax, eax
mov dword [ebp - 4], edi
mov dword [ebp - 0x169c], eax
cmp ebx, edi
jl 0x1000cde6
push dword [ebp - 0x168c]
lea ecx, [ebp - 0x169c]
call fcn.1000432d
mov eax, dword [ebp - 0x169c]
cmp eax, edi
jne 0x1000cde6
mov ebx, 0x80004003
mov dword [ebp - 0x167c], ebx
mov dword [ebp - 0x16cc], edi
cmp ebx, edi
mov byte [ebp - 4], 2
jl 0x1000ce14
mov ecx, dword [eax]
lea edx, [ebp - 0x16cc]
push edx
push str.InstallerFile
push eax
call dword [ecx + 0x40]
mov ebx, eax
mov eax, dword [ebp - 0x169c]
mov dword [ebp - 0x167c], ebx
mov dword [ebp - 0x16e8], edi
cmp ebx, edi
mov byte [ebp - 4], 3
jl 0x1000ce3c
mov ecx, dword [eax]
lea edx, [ebp - 0x16e8]
push edx
push str.InstallerPath
push eax
call dword [ecx + 0x40]
mov ebx, eax
mov dword [ebp - 0x167c], ebx
push dword [ebp - 0x16e8]
lea ecx, [ebp - 0x16b4]
call fcn.1000acc3
push 1
lea eax, [ebp - 0x1694]
push eax
lea ecx, [ebp - 0x16b4]
mov byte [ebp - 4], 4
call fcn.10008103
mov esi, 0x10070ae0
push esi
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.10004349
mov ecx, dword [ebp - 0x1694]
test eax, eax
setne byte [ebp - 0x1696]
add ecx, 0xfffffff0
mov byte [ebp - 4], 4
call fcn.1000285b
cmp byte [ebp - 0x1696], 0
je 0x1000cea6
push esi
lea ecx, [ebp - 0x16b4]
call fcn.10009352
push dword [ebp - 0x16cc]
lea ecx, [ebp - 0x16b4]
call fcn.10009352
push 0x10070adc
lea ecx, [ebp - 0x16d4]
call fcn.1000acc3
push 0x208
lea eax, [ebp - 0x1262]
push edi
push eax
mov byte [ebp - 4], 6
mov word [ebp - 0x1264], di
call fcn.10042010
add esp, 0xc
push 0x104
lea eax, [ebp - 0x1264]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp eax, edi
jbe 0x1000cf28
lea eax, [ebp - 0x1264]
push eax
push dword [ebp - 0x16b4]
call fcn.10042bdf
test eax, eax
pop ecx
pop ecx
je 0x1000cf28
lea eax, [ebp - 0x1264]
push eax
lea ecx, [ebp - 0x16d4]
call fcn.10009386
mov dword [ebp - 0x16ac], edi
cmp ebx, edi
mov byte [ebp - 4], 7
jl 0x1000cf56
mov eax, dword [ebp - 0x169c]
mov ecx, dword [eax]
lea edx, [ebp - 0x16ac]
push edx
push str.TempPath
push eax
call dword [ecx + 0x40]
mov ebx, eax
mov dword [ebp - 0x167c], ebx
mov byte [ebp - 0x1696], 0
mov dword [ebp - 0x16d0], edi
cmp ebx, edi
mov byte [ebp - 4], 8
jl 0x1000cfb4
mov eax, dword [ebp - 0x169c]
mov ecx, dword [eax]
lea edx, [ebp - 0x16d0]
push edx
push str.Silent
push eax
call dword [ecx + 0x40]
cmp eax, edi
jl 0x1000cfb4
push dword [ebp - 0x16d0]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1000cfb4
push dword [ebp - 0x16d0]
push str.True
call fcn.10042b4e
test eax, eax
pop ecx
pop ecx
jne 0x1000cfb4
mov byte [ebp - 0x1696], 1
cmp dword [ebp - 0x167c], edi
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 0x167d], 0
mov byte [ebp - 0x168c], 1
mov byte [ebp - 0x1695], 0
jl 0x1000d147
mov dword [ebp - 0x1684], edi
mov esi, dword [ebp - 0x169c]
push str.Upgrade
lea ecx, [ebp - 0x1694]
mov byte [ebp - 4], 9
call fcn.100031d0
mov eax, dword [eax]
mov ecx, dword [esi]
lea edx, [ebp - 0x1684]
push edx
push eax
push esi
mov byte [ebp - 4], 0xa
call dword [ecx + 0x40]
push dword [ebp - 0x1694]
mov esi, eax
call ebx
cmp esi, edi
jl 0x1000d04b
push dword [ebp - 0x1684]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jbe 0x1000d04b
push dword [ebp - 0x1684]
push str.true
call fcn.10042b4e
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [ebp - 0x167d], al
mov dword [ebp - 0x16a0], edi
mov esi, dword [ebp - 0x169c]
push str.Encrypted
lea ecx, [ebp - 0x1694]
mov byte [ebp - 4], 0xb
call fcn.100031d0
mov eax, dword [eax]
mov ecx, dword [esi]
lea edx, [ebp - 0x16a0]
push edx
push eax
push esi
mov byte [ebp - 4], 0xc
call dword [ecx + 0x40]
push dword [ebp - 0x1694]
mov esi, eax
call ebx
cmp esi, edi
jl 0x1000d0bb
push dword [ebp - 0x16a0]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jbe 0x1000d0bb
push dword [ebp - 0x16a0]
push str.true
call fcn.10042b4e
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [ebp - 0x168c], al
mov dword [ebp - 0x1690], edi
mov esi, dword [ebp - 0x169c]
push str.Registered
lea ecx, [ebp - 0x1694]
mov byte [ebp - 4], 0xd
call fcn.100031d0
mov eax, dword [eax]
mov ecx, dword [esi]
lea edx, [ebp - 0x1690]
push edx
push eax
push esi
mov byte [ebp - 4], 0xe
call dword [ecx + 0x40]
push dword [ebp - 0x1694]
mov esi, eax
call ebx
cmp esi, edi
jl 0x1000d12b
push dword [ebp - 0x1690]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jbe 0x1000d12b
push dword [ebp - 0x1690]
push str.true
call fcn.10042b4e
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [ebp - 0x1695], al
push dword [ebp - 0x1690]
call ebx
push dword [ebp - 0x16a0]
call ebx
push dword [ebp - 0x1684]
mov byte [ebp - 4], 8
call ebx
mov esi, 0x100884b0
push esi
lea ecx, [ebp - 0x16a4]
call fcn.10004658
push esi
lea ecx, [ebp - 0x16f0]
mov byte [ebp - 4], 0xf
call fcn.10004658
cmp dword [ebp - 0x167c], edi
mov byte [ebp - 4], 0x10
jl 0x1000d1a5
push edi
lea eax, [ebp - 0x16f0]
push eax
lea eax, [ebp - 0x16a4]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x16bc], esp
push dword [ebp - 0x16cc]
call fcn.1000acc3
call fcn.1000f9c8
add esp, 0x10
mov dword [ebp - 0x167c], eax
mov esi, 0x100884b0
push esi
lea ecx, [ebp - 0x16dc]
call fcn.10004658
push esi
lea ecx, [ebp - 0x16e0]
mov byte [ebp - 4], 0x11
call fcn.10004658
cmp dword [ebp - 0x167c], 0
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov byte [ebp - 4], 0x12
mov esi, 0x40e
jl 0x1000d2bc
push 0xa
push 5
push ecx
mov ecx, esp
mov dword [ebp - 0x16bc], esp
push 0x10070adc
call fcn.1000acc3
push ecx
lea eax, [ebp - 0x16a4]
mov dword [ebp - 0x16c4], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x13
call fcn.1000603a
lea eax, [ebp - 0x1694]
push eax
mov byte [ebp - 4], 0x12
call fcn.1000fd60
add esp, 0x14
push eax
lea ecx, [ebp - 0x16dc]
mov byte [ebp - 4], 0x14
call fcn.100092dc
mov ecx, dword [ebp - 0x1694]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x12
call fcn.1000285b
mov eax, dword [ebp - 0x16dc]
cmp word [eax], 0
je 0x1000d2bc
and word [ebp - 0x424], 0
push esi
lea eax, [ebp - 0x422]
push 0
push eax
call fcn.10042010
add esp, 0xc
push 0x208
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
call fcn.10002d13
test eax, eax
je 0x1000d29b
lea eax, [ebp - 0x424]
push 0x208
push eax
call fcn.10002dad
pop ecx
pop ecx
push dword [ebp - 0x16dc]
lea eax, [ebp - 0x424]
push eax
call edi
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x16e0]
call fcn.10009386
push 0x100884b0
lea ecx, [ebp - 0x16d8]
call fcn.10004658
cmp dword [ebp - 0x167c], 0
mov byte [ebp - 4], 0x15
jl 0x1000e7dc
and word [ebp - 0x1674], 0
push esi
lea eax, [ebp - 0x1672]
push 0
push eax
call fcn.10042010
add esp, 0xc
lea eax, [ebp - 0x1674]
push eax
xor eax, eax
push eax
push eax
push 0x26
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
mov dword [ebp - 0x167c], eax
jl 0x1000e7dc
push dword [section..data]
lea eax, [ebp - 0x1674]
push eax
call edi
lea eax, [ebp - 0x1674]
push eax
lea ecx, [ebp - 0x16d8]
call fcn.10009386
push str.demo
push dword [ebp - 0x1678]
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
lea eax, [ebp - 0x16d8]
jne 0x1000d35b
lea eax, [ebp - 0x16e0]
push eax
lea ecx, [ebp - 0x1684]
call fcn.1000603a
push str.demo
push dword [ebp - 0x1678]
mov byte [ebp - 4], 0x16
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
push str.createBaseDirectory
lea ecx, [ebp - 0x1678]
setne byte [ebp - 0x16a0]
call fcn.10004349
test eax, eax
je 0x1000e762
push str.createDemoBaseDirectory
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e762
push str.moveBaseFiles
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e57f
push str.moveBaseFilesUA
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e57f
push str.moveDemoBaseFiles
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e57f
push str.moveDemoBaseFilesUASD
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e57f
push str.moveBaseFilesUpdate
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e57f
push str.moveMiscFiles
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e17a
push str.moveMiscFilesUASD
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e17a
push str.moveDemoMiscFiles
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e17a
push str.moveDemoMiscFilesUASD
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e17a
push str.moveMiscFilesUA
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e17a
push str.moveMiscFilesUpdate
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e17a
push str.moveDlpFiles
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000dff1
push str.moveDlpFilesUA
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000dff1
push str.moveDlpFilesUpdate
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000dff1
push str.createCache
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000def9
push str.createDemoCache
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000def9
push str.writeAccountID
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000db0e
push str.writeDemoAccountID
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000db0e
push str.finish
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
mov edi, str.finishUpdate
je 0x1000d5e2
push str.finishDemo
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000d5e2
push str.finishDemoSilently
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000d5e2
push edi
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000d5e2
push str.finishSilently
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000d5e2
push str.finishSilentlyWI
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
jne 0x1000e79d
push edi
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000d9ec
push str.finishSilently
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000d9ec
push str.finishDemoSilently
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000d9ec
push str.finishSilentlyWI
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000d9ec
push str.False
lea ecx, [ebp - 0x16c8]
mov byte [ebp - 0x1690], 0
call fcn.100031d0
mov dword [ebp - 0x168c], eax
mov dword [ebp - 4], 0x37
mov dword [ebp - 0x1688], 0x80
mov edi, dword [ebp - 0x169c]
push str.Silent
lea ecx, [ebp - 0x1718]
call fcn.100031d0
mov ecx, dword [ebp - 0x168c]
mov ecx, dword [ecx]
mov eax, dword [eax]
mov edx, dword [edi]
push ecx
push eax
push edi
mov dword [ebp - 4], 0x38
call dword [edx + 0x44]
push dword [ebp - 0x1718]
mov dword [ebp - 0x167c], eax
call ebx
test byte [ebp - 0x1688], 0x80
je 0x1000d6c4
push dword [ebp - 0x16c8]
and dword [ebp - 0x1688], 0xffffff7f
call ebx
test byte [ebp - 0x1688], 0x40
mov dword [ebp - 4], 0x16
je 0x1000d6dc
push dword [ebp - 0x16b8]
call ebx
cmp byte [ebp - 0x167d], 0
je 0x1000d75a
cmp byte [ebp - 0x1690], 0
je 0x1000d75a
cmp byte [ebp - 0x1695], 0
jne 0x1000d75a
and word [ebp - 0x424], 0
push esi
lea eax, [ebp - 0x422]
push 0
push eax
call fcn.10042010
push 0xffffffffffffffff
push dword [ebp - 0x1684]
lea eax, [ebp - 0x424]
push 0x208
push eax
call fcn.100421ff
add esp, 0x1c
push str.WebWatcher.Lic
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1000d75a
lea eax, [ebp - 0x424]
push eax
call fcn.10010d10
pop ecx
cmp dword [ebp - 0x167c], 0
jl 0x1000d88f
push dword [ebp - 0x16ac]
lea ecx, [ebp - 0x1688]
call fcn.1000acc3
mov esi, eax
mov edi, str.finishUpdate
push edi
lea ecx, [ebp - 0x1678]
mov byte [ebp - 4], 0x39
call fcn.10004349
neg eax
sbb al, al
push 0
inc al
pop eax
setne al
inc eax
inc eax
push eax
push dword [ebp - 0x16a0]
lea eax, [ebp - 0x1684]
push 1
push eax
push esi
lea eax, [ebp - 0x16a4]
push eax
push 1
mov esi, 0x100853a8
push esi
call fcn.1000b7ea
mov ecx, dword [ebp - 0x1688]
add esp, 0x20
add ecx, 0xfffffff0
mov dword [ebp - 0x167c], eax
mov byte [ebp - 4], 0x16
call fcn.1000285b
cmp dword [ebp - 0x167c], 0
jge 0x1000d88f
call fcn.100038ee
push dword [ebp - 0x16ac]
lea ecx, [ebp - 0x16b0]
call fcn.1000acc3
mov dword [ebp - 0x168c], eax
push edi
lea ecx, [ebp - 0x1678]
mov byte [ebp - 4], 0x3a
call fcn.10004349
neg eax
sbb al, al
inc al
push str.finishSilentlyWI
lea ecx, [ebp - 0x1678]
mov byte [ebp - 0x16a5], al
call fcn.10004349
neg eax
sbb al, al
inc al
xor ecx, ecx
cmp byte [ebp - 0x16a5], cl
setne cl
test al, al
setne al
dec al
push ecx
push dword [ebp - 0x16a0]
and eax, dword [ebp - 0x1690]
push eax
lea eax, [ebp - 0x1684]
push eax
push dword [ebp - 0x168c]
lea eax, [ebp - 0x16a4]
push eax
push 1
push esi
call fcn.1000b7ea
mov ecx, dword [ebp - 0x16b0]
add esp, 0x20
add ecx, 0xfffffff0
mov dword [ebp - 0x167c], eax
mov byte [ebp - 4], 0x16
call fcn.1000285b
and dword [ebp - 0x1694], 0
and dword [ebp - 0x168c], 0
call fcn.10002d13
test eax, eax
je 0x1000d8b9
lea eax, [ebp - 0x1694]
push eax
call fcn.10002d53
pop ecx
mov dword [ebp - 0x168c], eax
push 0x12
pop ecx
push 0x1c0
lea eax, [ebp - 0x7ec]
push 0
mov esi, str.C:WindowsSystem32GroupPolicyAdm
lea edi, [ebp - 0x834]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.10042010
add esp, 0xc
lea eax, [ebp - 0x834]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1000d8fe
push eax
lea eax, [ebp - 0x834]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov esi, str.chrome.adm
push esi
lea eax, [ebp - 0x834]
push eax
call edi
lea eax, [ebp - 0x834]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1000d979
and word [ebp - 0x424], ax
push 0x40e
push eax
lea eax, [ebp - 0x422]
push eax
call fcn.10042010
push 0xffffffffffffffff
push dword [ebp - 0x1684]
lea eax, [ebp - 0x424]
push 0x208
push eax
call fcn.100421ff
add esp, 0x1c
push esi
lea eax, [ebp - 0x424]
push eax
call edi
push 1
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
xor edi, edi
cmp dword [ebp - 0x168c], edi
je 0x1000d98f
push dword [ebp - 0x1694]
call fcn.10002d80
pop ecx
call fcn.10002489
cmp dword [ebp - 0x167c], edi
jl 0x1000db04
cmp byte [ebp - 0x167d], 0
je 0x1000d9b2
cmp byte [ebp - 0x1695], 0
jne 0x1000da1c
cmp byte [ebp - 0x1690], 0
jne 0x1000da1c
push str.Local_dv5_showpanel
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov esi, eax
cmp esi, edi
je 0x1000db04
push 0x3a98
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1000db04
push str.True
lea ecx, [ebp - 0x16b8]
mov byte [ebp - 0x1690], 1
call fcn.100031d0
mov dword [ebp - 0x168c], eax
mov byte [ebp - 4], 0x36
mov dword [ebp - 0x1688], 0x40
jmp 0x1000d66c
cmp byte [ebp - 0x167d], 0
je 0x1000db04
cmp byte [ebp - 0x1690], 0
jne 0x1000db04
mov esi, dword [sym.imp.USER32.dll_MessageBoxW]
mov edi, 0x51034
push edi
push str.Delete_Installer_Files.
push str.Would_you_like_to_delete_installer_files_and_browsing_history_
push 0
call esi
cmp eax, 6
jne 0x1000daeb
push 0x10070d84
lea ecx, [ebp - 0x168c]
call fcn.1000acc3
push ecx
lea eax, [ebp - 0x168c]
mov dword [ebp - 0x16bc], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x3b
call fcn.1000603a
push ecx
lea eax, [ebp - 0x16d4]
mov dword [ebp - 0x16c4], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x3c
call fcn.1000603a
push ecx
lea eax, [ebp - 0x16b4]
mov dword [ebp - 0x16e4], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x3d
call fcn.1000603a
push ecx
lea eax, [ebp - 0x1684]
mov dword [ebp - 0x16ec], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x3e
call fcn.1000603a
mov byte [ebp - 4], 0x3b
call fcn.10006679
mov ecx, dword [ebp - 0x168c]
add esp, 0x10
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x16
call fcn.1000285b
push edi
push str.System_restart_recommended.
push str.Congratulations__n_nYour_software_has_been_successfully_updated_and_is_currently_running._n_nSome_of_the_changes_will_not_take_effect_until_after_you_restart_the_computer._n_nWould_you_like_to_restart_the_computer_now_
push 0
call esi
cmp eax, 6
jne 0x1000db04
call fcn.10011180
call fcn.1000b31c
jmp 0x1000e79d
push ecx
lea eax, [ebp - 0x16d4]
mov dword [ebp - 0x16bc], esp
mov ecx, esp
push eax
call fcn.1000603a
push ecx
lea eax, [ebp - 0x16b4]
mov dword [ebp - 0x16c4], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x29
call fcn.1000603a
push ecx
lea eax, [ebp - 0x16f0]
mov dword [ebp - 0x16e4], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x2a
call fcn.1000603a
push ecx
lea eax, [ebp - 0x16a4]
mov dword [ebp - 0x16ec], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x2b
call fcn.1000603a
push ecx
lea eax, [ebp - 0x1684]
mov dword [ebp - 0x16fc], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x2c
call fcn.1000603a
mov byte [ebp - 4], 0x16
call fcn.100069d5
add esp, 0x14
cmp byte [ebp - 0x16a0], 0
je 0x1000dbb3
push dword [0x10085004]
push dword [section..data]
call fcn.100099a4
pop ecx
jmp 0x1000dea3
cmp byte [ebp - 0x167d], 0
je 0x1000dd16
cmp byte [ebp - 0x1695], 0
je 0x1000dd16
and word [ebp - 0xe50], 0
push esi
lea eax, [ebp - 0xe4e]
push 0
push eax
call fcn.10042010
and word [ebp - 0x424], 0
push esi
lea eax, [ebp - 0x422]
push 0
push eax
call fcn.10042010
push 0xffffffffffffffff
push dword [ebp - 0x1684]
mov esi, 0x208
lea eax, [ebp - 0xe50]
push esi
push eax
call fcn.100421ff
add esp, 0x28
push str.Config.dat
lea eax, [ebp - 0xe50]
push eax
call edi
push 0xffffffffffffffff
push dword [ebp - 0x1684]
lea eax, [ebp - 0x424]
push esi
push eax
call fcn.100421ff
add esp, 0x10
cmp byte [ebp - 0x168c], 0
lea eax, [ebp - 0x424]
je 0x1000dc54
push str.SavedConfig.dat
jmp 0x1000dc59
push str.SavedConfig.xml
push eax
call edi
push dword [ebp - 0x168c]
lea eax, [ebp - 0xe50]
push ecx
mov ecx, esp
mov dword [ebp - 0x16bc], esp
push eax
call fcn.1000acc3
push ecx
lea eax, [ebp - 0x424]
mov ecx, esp
mov dword [ebp - 0x16c4], esp
push eax
mov byte [ebp - 4], 0x2d
call fcn.1000acc3
mov byte [ebp - 4], 0x16
call fcn.10006f94
mov dword [ebp - 0x167c], eax
lea eax, [ebp - 0x424]
push eax
call fcn.10010d10
add esp, 0x10
cmp dword [ebp - 0x167c], 0
jge 0x1000dea4
mov esi, dword [ebp - 0x169c]
push str.false
lea ecx, [ebp - 0x16a0]
call fcn.100031d0
mov edi, eax
push str.Upgrade
lea ecx, [ebp - 0x1690]
mov byte [ebp - 4], 0x2e
call fcn.100031d0
mov edi, dword [edi]
mov eax, dword [eax]
mov ecx, dword [esi]
push edi
push eax
push esi
mov byte [ebp - 4], 0x2f
call dword [ecx + 0x44]
push dword [ebp - 0x1690]
mov dword [ebp - 0x167c], eax
call ebx
push dword [ebp - 0x16a0]
mov byte [ebp - 4], 0x16
call ebx
jmp 0x1000dea4
and word [ebp - 0x424], 0
push esi
lea eax, [ebp - 0x422]
push 0
push eax
call fcn.10042010
add esp, 0xc
push 0x208
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push str.Config.dat
lea eax, [ebp - 0x424]
push eax
call edi
and word [ebp - 0xe50], 0
push esi
lea eax, [ebp - 0xe4e]
push 0
push eax
call fcn.10042010
push 0xffffffffffffffff
push dword [ebp - 0x1684]
lea eax, [ebp - 0xe50]
push 0x208
push eax
call fcn.100421ff
add esp, 0x1c
push str.Config.dat
lea eax, [ebp - 0xe50]
push eax
call edi
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1000dea4
push 1
push ecx
lea eax, [ebp - 0xe50]
mov ecx, esp
mov dword [ebp - 0x16bc], esp
push eax
call fcn.1000acc3
push ecx
lea eax, [ebp - 0x424]
mov ecx, esp
mov dword [ebp - 0x16c4], esp
push eax
mov byte [ebp - 4], 0x30
call fcn.1000acc3
mov byte [ebp - 4], 0x16
call fcn.10006f94
add esp, 0xc
test eax, eax
jl 0x1000de97
mov esi, dword [ebp - 0x169c]
mov edi, str.true
push edi
lea ecx, [ebp - 0x16c8]
call fcn.100031d0
mov dword [ebp - 0x16b0], eax
push str.Upgrade
lea ecx, [ebp - 0x16b8]
mov byte [ebp - 4], 0x31
call fcn.100031d0
mov ecx, dword [ebp - 0x16b0]
mov ecx, dword [ecx]
mov eax, dword [eax]
mov edx, dword [esi]
push ecx
push eax
push esi
mov byte [ebp - 4], 0x32
call dword [edx + 0x44]
push dword [ebp - 0x16b8]
mov esi, eax
call ebx
push dword [ebp - 0x16c8]
mov byte [ebp - 4], 0x16
call ebx
test esi, esi
jl 0x1000de97
mov esi, dword [ebp - 0x169c]
push edi
lea ecx, [ebp - 0x16b8]
call fcn.100031d0
mov edi, eax
push str.Registered
lea ecx, [ebp - 0x16b0]
mov byte [ebp - 4], 0x33
call fcn.100031d0
mov edi, dword [edi]
mov eax, dword [eax]
mov ecx, dword [esi]
push edi
push eax
push esi
mov byte [ebp - 4], 0x34
call dword [ecx + 0x44]
push dword [ebp - 0x16b0]
call ebx
push dword [ebp - 0x16b8]
mov byte [ebp - 4], 0x16
call ebx
lea eax, [ebp - 0x424]
push eax
call fcn.10010d10
pop ecx
push str.writeAccountID
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
jne 0x1000e79d
push ecx
lea eax, [ebp - 0x16a4]
mov dword [ebp - 0x16bc], esp
mov ecx, esp
push eax
call fcn.1000603a
push ecx
lea eax, [ebp - 0x1684]
mov dword [ebp - 0x16c4], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0x35
call fcn.1000603a
mov byte [ebp - 4], 0x16
call fcn.1000b3d2
pop ecx
jmp 0x1000e79c
and word [ebp - 0xa3c], 0
push esi
lea eax, [ebp - 0xa3a]
push 0
push eax
call fcn.10042010
push 0xffffffffffffffff
push dword [ebp - 0x1684]
lea eax, [ebp - 0xa3c]
push 0x208
push eax
call fcn.100421ff
add esp, 0x1c
push str.cache
lea eax, [ebp - 0xa3c]
push eax
call edi
lea eax, [ebp - 0xa3c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1000df66
push ecx
lea eax, [ebp - 0xa3c]
mov ecx, esp
mov dword [ebp - 0x16bc], esp
push eax
call fcn.1000acc3
call fcn.1000838d
pop ecx
cmp byte [ebp - 0x167d], 0
je 0x1000e79d
push str.Default
lea ecx, [ebp - 0x16c8]
call fcn.1000acc3
mov esi, eax
lea eax, [ebp - 0xa3c]
push eax
lea ecx, [ebp - 0x16b8]
mov byte [ebp - 4], 0x27
call fcn.1000acc3
mov edi, eax
lea eax, [ebp - 0xa3c]
push eax
lea ecx, [ebp - 0x16b0]
mov byte [ebp - 4], 0x28
call fcn.1000acc3
push esi
push edi
push eax
call fcn.10003ccf
mov ecx, dword [ebp - 0x16b0]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.1000285b
mov ecx, dword [ebp - 0x16b8]
add ecx, 0xfffffff0
call fcn.1000285b
mov ecx, dword [ebp - 0x16c8]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x16
call fcn.1000285b
jmp 0x1000e79d
push str.moveDlpFilesUpdate
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e14e
push str.moveDlpFilesUA
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e14e
push str.False
lea ecx, [ebp - 0x1700]
mov byte [ebp - 0x168c], 0
call fcn.100031d0
mov edi, eax
mov dword [ebp - 4], 0x24
mov dword [ebp - 0x1688], 0x20
mov esi, dword [ebp - 0x169c]
push str.Silent
lea ecx, [ebp - 0x1714]
call fcn.100031d0
mov ecx, dword [edi]
mov eax, dword [eax]
mov edx, dword [esi]
push ecx
push eax
push esi
mov dword [ebp - 4], 0x25
call dword [edx + 0x44]
push dword [ebp - 0x1714]
mov dword [ebp - 0x167c], eax
call ebx
test byte [ebp - 0x1688], 0x20
je 0x1000e09a
push dword [ebp - 0x1700]
and dword [ebp - 0x1688], 0xffffffdf
call ebx
test byte [ebp - 0x1688], 0x10
mov dword [ebp - 4], 0x16
je 0x1000e0b2
push dword [ebp - 0x1720]
call ebx
cmp dword [ebp - 0x167c], 0
jl 0x1000e7a6
push dword [ebp - 0x16ac]
lea ecx, [ebp - 0x16f4]
call fcn.1000acc3
push 0
push dword [ebp - 0x16a0]
lea ecx, [ebp - 0x1684]
push dword [ebp - 0x168c]
mov byte [ebp - 4], 0x26
push ecx
push eax
lea eax, [ebp - 0x16a4]
push eax
push 0xcb
push 0x100854c8
call fcn.1000b7ea
mov ecx, dword [ebp - 0x16f4]
add esp, 0x20
add ecx, 0xfffffff0
mov dword [ebp - 0x167c], eax
mov byte [ebp - 4], 0x16
call fcn.1000285b
cmp dword [ebp - 0x167c], 0
jl 0x1000e7a6
push dword [ebp - 0x168c]
lea eax, [ebp - 0x1684]
push ecx
mov dword [ebp - 0x16bc], esp
mov ecx, esp
push eax
call fcn.1000603a
call fcn.1000c9f9
pop ecx
jmp 0x1000e796
push str.True
lea ecx, [ebp - 0x1720]
mov byte [ebp - 0x168c], 1
call fcn.100031d0
mov edi, eax
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x1688], 0x10
jmp 0x1000e04b
push str.moveMiscFilesUASD
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e553
push str.moveDemoMiscFilesUASD
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e553
push str.moveMiscFilesUA
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e553
push str.moveMiscFilesUpdate
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e553
push str.False
lea ecx, [ebp - 0x171c]
mov byte [ebp - 0x1690], 0
call fcn.100031d0
mov edi, eax
mov dword [ebp - 4], 0x1d
mov dword [ebp - 0x1688], 8
mov esi, dword [ebp - 0x169c]
push str.Silent
lea ecx, [ebp - 0x170c]
call fcn.100031d0
mov ecx, dword [edi]
mov eax, dword [eax]
mov edx, dword [esi]
push ecx
push eax
push esi
mov dword [ebp - 4], 0x1e
call dword [edx + 0x44]
push dword [ebp - 0x170c]
mov dword [ebp - 0x167c], eax
call ebx
test byte [ebp - 0x1688], 8
je 0x1000e253
push dword [ebp - 0x171c]
and dword [ebp - 0x1688], 0xfffffff7
call ebx
test byte [ebp - 0x1688], 4
mov dword [ebp - 4], 0x16
je 0x1000e26b
push dword [ebp - 0x1704]
call ebx
cmp dword [ebp - 0x167c], 0
jl 0x1000e7a6
push dword [ebp - 0x16ac]
lea ecx, [ebp - 0x1708]
call fcn.1000acc3
push 0
push dword [ebp - 0x16a0]
lea ecx, [ebp - 0x1684]
push dword [ebp - 0x1690]
mov byte [ebp - 4], 0x1f
push ecx
push eax
lea eax, [ebp - 0x16a4]
push eax
push 9
push 0x100853c0
call fcn.1000b7ea
mov ecx, dword [ebp - 0x1708]
add esp, 0x20
add ecx, 0xfffffff0
mov dword [ebp - 0x167c], eax
mov byte [ebp - 4], 0x16
call fcn.1000285b
cmp dword [ebp - 0x167c], 0
jl 0x1000e7a6
push str.moveDemoMiscFiles
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e306
push str.moveDemoMiscFilesUASD
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
jne 0x1000e35f
push dword [ebp - 0x16ac]
lea ecx, [ebp - 0x1710]
call fcn.1000acc3
push 0
push dword [ebp - 0x16a0]
lea ecx, [ebp - 0x1684]
push dword [ebp - 0x1690]
mov byte [ebp - 4], 0x20
push ecx
push eax
lea eax, [ebp - 0x16a4]
push eax
push 1
push 0x100854b0
call fcn.1000b7ea
mov ecx, dword [ebp - 0x1710]
add esp, 0x20
add ecx, 0xfffffff0
mov dword [ebp - 0x167c], eax
mov byte [ebp - 4], 0x16
call fcn.1000285b
cmp dword [ebp - 0x167c], 0
jl 0x1000e7a6
push str.moveMiscFilesUA
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e394
push str.moveMiscFilesUASD
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
jne 0x1000e3ed
push dword [ebp - 0x16ac]
lea ecx, [ebp - 0x16fc]
call fcn.1000acc3
push 0
push dword [ebp - 0x16a0]
lea ecx, [ebp - 0x1684]
push dword [ebp - 0x1690]
mov byte [ebp - 4], 0x21
push ecx
push eax
lea eax, [ebp - 0x16a4]
push eax
push 1
push 0x10085498
call fcn.1000b7ea
mov ecx, dword [ebp - 0x16fc]
add esp, 0x20
add ecx, 0xfffffff0
mov dword [ebp - 0x167c], eax
mov byte [ebp - 4], 0x16
call fcn.1000285b
cmp dword [ebp - 0x167c], 0
jl 0x1000e7a6
and dword [ebp - 0x1690], 0
mov edi, 0x618
mov esi, 0x30d
and word [ebp - 0x62c], 0
push edi
lea eax, [ebp - 0x62a]
push 0
push eax
call fcn.10042010
push 0xffffffffffffffff
push dword [ebp - 0x1684]
lea eax, [ebp - 0x62c]
push esi
push eax
call fcn.100421ff
mov eax, dword [ebp - 0x1690]
add esp, 0x1c
push dword [eax + 0x100867d0]
lea eax, [ebp - 0x62c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0xffffffffffffffff
push str..dat
lea eax, [ebp - 0x62c]
push esi
push eax
call fcn.100441ad
and word [ebp - 0x1058], 0
push edi
lea eax, [ebp - 0x1056]
push 0
push eax
call fcn.10042010
add esp, 0x1c
push dword [ebp - 0x16ac]
lea ecx, [ebp - 0x16f4]
call fcn.1000acc3
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x1058]
push esi
push eax
call fcn.100421ff
mov ecx, dword [ebp - 0x16f4]
add esp, 0x10
add ecx, 0xfffffff0
call fcn.1000285b
mov eax, dword [ebp - 0x1690]
push dword [eax + 0x100867d0]
lea eax, [ebp - 0x1058]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0xffffffffffffffff
push str..xml
lea eax, [ebp - 0x1058]
push esi
push eax
call fcn.100441ad
add esp, 0x10
lea ecx, [ebp - 0x16c0]
call fcn.10010500
push 0
lea ecx, [ebp - 0x16c0]
mov byte [ebp - 4], 0x22
call fcn.10017a30
test eax, eax
jl 0x1000e51e
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x1058]
push eax
lea ecx, [ebp - 0x16c0]
call fcn.10016850
lea eax, [ebp - 0x1058]
push eax
call fcn.10010d10
pop ecx
lea ecx, [ebp - 0x16c0]
mov byte [ebp - 4], 0x16
call fcn.10014090
add dword [ebp - 0x1690], 0x18
cmp dword [ebp - 0x1690], 0x48
jb 0x1000e40b
jmp 0x1000e79d
push str.True
lea ecx, [ebp - 0x1704]
mov byte [ebp - 0x1690], 1
call fcn.100031d0
mov edi, eax
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x1688], 4
jmp 0x1000e204
push str.moveBaseFilesUA
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e736
push str.moveDemoBaseFilesUASD
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e736
push str.moveBaseFilesUpdate
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
je 0x1000e736
push str.False
lea ecx, [ebp - 0x16e4]
mov byte [ebp - 0x1694], 0
call fcn.100031d0
mov edi, eax
mov dword [ebp - 4], 0x18
mov dword [ebp - 0x1688], 2
mov esi, dword [ebp - 0x169c]
push str.Silent
lea ecx, [ebp - 0x16ec]
call fcn.100031d0
mov ecx, dword [edi]
mov eax, dword [eax]
mov edx, dword [esi]
push ecx
push eax
push esi
mov dword [ebp - 4], 0x19
call dword [edx + 0x44]
push dword [ebp - 0x16ec]
mov dword [ebp - 0x167c], eax
call ebx
test byte [ebp - 0x1688], 2
je 0x1000e640
push dword [ebp - 0x16e4]
and dword [ebp - 0x1688], 0xfffffffd
call ebx
test byte [ebp - 0x1688], 1
mov dword [ebp - 4], 0x16
je 0x1000e658
push dword [ebp - 0x16c4]
call ebx
xor esi, esi
cmp dword [ebp - 0x167c], esi
jl 0x1000e7a6
push dword [ebp - 0x16ac]
lea ecx, [ebp - 0x16bc]
call fcn.1000acc3
push esi
push dword [ebp - 0x16a0]
lea ecx, [ebp - 0x1684]
push dword [ebp - 0x1694]
mov byte [ebp - 4], 0x1a
push ecx
push eax
lea eax, [ebp - 0x16a4]
push eax
push 0x25
push 0x10085030
call fcn.1000b7ea
mov ecx, dword [ebp - 0x16bc]
add esp, 0x20
add ecx, 0xfffffff0
mov dword [ebp - 0x167c], eax
mov byte [ebp - 4], 0x16
call fcn.1000285b
cmp dword [ebp - 0x167c], esi
jl 0x1000e7a6
call fcn.1000122f
test al, al
je 0x1000e6ea
call fcn.10001240
test al, al
jne 0x1000e6ea
push esi
push dword [ebp - 0x1684]
call fcn.10014a80
pop ecx
pop ecx
call fcn.1000953a
call fcn.10001d43
push 0x100884b0
lea ecx, [ebp - 0x1694]
call fcn.10004658
push dword [ebp - 0x1684]
lea eax, [ebp - 0x1694]
push str._swebsecurity.json
push eax
mov byte [ebp - 4], 0x1b
call fcn.100093b9
mov esi, dword [ebp - 0x1694]
push esi
call fcn.1000bd38
add esp, 0x10
lea ecx, [esi - 0x10]
jmp 0x1000dfe3
push str.True
lea ecx, [ebp - 0x16c4]
mov byte [ebp - 0x1694], 1
call fcn.100031d0
mov edi, eax
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x1688], 1
jmp 0x1000e5f1
push str.createBaseDirectory
lea ecx, [ebp - 0x1678]
call fcn.10004349
test eax, eax
lea eax, [ebp - 0x16e0]
je 0x1000e782
lea eax, [ebp - 0x16d8]
push ecx
mov ecx, esp
mov dword [ebp - 0x16bc], esp
push eax
call fcn.1000803b
call fcn.10008203
mov dword [ebp - 0x167c], eax
pop ecx
cmp dword [ebp - 0x167c], 0
jge 0x1000e7c1
push ecx
lea eax, [ebp - 0x1684]
mov dword [ebp - 0x168c], esp
mov ecx, esp
push eax
call fcn.1000603a
call fcn.10018af0
pop ecx
mov ecx, dword [ebp - 0x1684]
add ecx, 0xfffffff0
mov byte [ebp - 4], 0x15
call fcn.1000285b
cmp dword [ebp - 0x167c], 0
jge 0x1000e844
cmp byte [ebp - 0x1696], 0
jne 0x1000e838
push 0x100884b0
lea ecx, [ebp - 0x168c]
call fcn.10004658
push dword [ebp - 0x167c]
lea eax, [ebp - 0x168c]
push str.Installation_failed_with_error_code_0x_08X
push eax
mov byte [ebp - 4], 0x3f
call fcn.100093b9
mov esi, dword [ebp - 0x168c]
add esp, 0xc
push 0x51000
push str.Installation_Failed
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0x15
call fcn.1000285b
mov eax, dword [ebp - 0x169c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
cmp dword [ebp - 0x16f8], 0
jl 0x1000e853
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 0x16d8]
add ecx, 0xfffffff0
call fcn.1000285b
mov ecx, dword [ebp - 0x16e0]
add ecx, 0xfffffff0
call fcn.1000285b
mov ecx, dword [ebp - 0x16dc]
add ecx, 0xfffffff0
call fcn.1000285b
mov ecx, dword [ebp - 0x16f0]
add ecx, 0xfffffff0
call fcn.1000285b
mov ecx, dword [ebp - 0x16a4]
add ecx, 0xfffffff0
call fcn.1000285b
push dword [ebp - 0x16d0]
call ebx
push dword [ebp - 0x16ac]
call ebx
mov ecx, dword [ebp - 0x16d4]
add ecx, 0xfffffff0
call fcn.1000285b
mov ecx, dword [ebp - 0x16b4]
add ecx, 0xfffffff0
call fcn.1000285b
push dword [ebp - 0x16e8]
call ebx
push dword [ebp - 0x16cc]
call ebx
mov eax, dword [ebp - 0x169c]
test eax, eax
mov byte [ebp - 4], 0
je 0x1000e8e9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x1678]
add ecx, 0xfffffff0
call fcn.1000285b
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10041ffa
leave
ret 8