Function at 0x40d010
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4402d7
mov eax, dword fs:[0]
push eax
sub esp, 0x904
mov eax, dword [0x450398]
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 [0x452bfc]
cmp eax, dword [0x452c00]
je 0x40f3c8
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
add eax, 0x10
mov dword [ebp - 0x858], eax
xor eax, eax
mov dword [ebp - 4], eax
cmp dword [0x452bb0], 2
mov dword [ebp - 0x864], eax
jne 0x40d08d
push str.SOFTWAREWow6432NodekingsoftOfficeETAddinsWL
lea ecx, [ebp - 0x858]
push ecx
lea ebx, [eax + 0x30]
jmp 0x40d09e
push str.SOFTWAREkingsoftOfficeETAddinsWL
lea edx, [ebp - 0x858]
push edx
mov ebx, 0x24
call fcn.00416d10
mov edi, dword [ebp - 0x858]
lea eax, [ebp - 0x838]
push eax
push 0xf013f
push 0
push edi
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40d13e
mov ecx, dword [ebp - 0x838]
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push eax
push 0x4498c4
push 1
push str.QsExcelWinAddin.Connect
push 0x4498c4
push ecx
call esi
test eax, eax
je 0x40d125
mov edx, dword [ebp - 0x838]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 4], 0xffffffff
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f3c8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x40f3c8
mov ecx, dword [ebp - 0x838]
push ecx
mov dword [ebp - 0x864], 1
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40d162
cmp eax, 2
je 0x40d15c
lea eax, [edi - 0x10]
mov dword [ebp - 4], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x40d110
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
xor ecx, ecx
push 0x7fe
push ecx
lea edx, [ebp - 0x80e]
push edx
mov word [ebp - 0x810], cx
call fcn.00429770
add esp, 0xc
lea ecx, [ebp - 0x810]
call fcn.00401e30
lea eax, [ebp - 0x850]
push eax
lea ecx, [ebp - 0x810]
call fcn.00413b80
lea ecx, [ebp - 0x850]
push ecx
lea edx, [ebp - 0x878]
push edx
mov ebx, str.SOFTWAREKingsoftOfficeETAddinsWL
mov byte [ebp - 4], 1
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x858]
mov byte [ebp - 4], 2
call fcn.00413c20
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x878]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d1f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x858]
lea ecx, [ebp - 0x838]
push ecx
push 0xf013f
push 0
push edi
push 0x80000003
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40d30f
mov edx, dword [ebp - 0x838]
push eax
push 0x4498c4
push 1
push str.QsExcelWinAddin.Connect
push 0x4498c4
push edx
call esi
test eax, eax
je 0x40d274
mov eax, dword [ebp - 0x838]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x850]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d0f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x40d0f9
mov ecx, dword [ebp - 0x838]
inc dword [ebp - 0x864]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x850]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
cmp dword [ebp - 0x864], 0
je 0x40d25d
test edx, edx
jg 0x40d2b6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d2d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 2
mov dword [ebp - 0x87c], 1
cmp dword [0x452bb0], eax
jne 0x40d2f6
mov dword [ebp - 0x87c], eax
cmp dword [ebp - 0x87c], 0
mov dword [ebp - 0x878], 0
jle 0x40f3c8
jmp 0x40d346
cmp eax, 2
je 0x40d287
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x850]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x40d25f
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x86c]
push ecx
mov ecx, str.QsExcelWinAddin.Connect
call fcn.00413b80
lea edx, [ebp - 0x890]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x86c]
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x890], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f100
mov edx, dword [ebp - 0x814]
push 0x2e
push str.QsExcelWinAddin.Connect
push 1
push 0x4498c4
push 0x4498c4
push edx
call esi
test eax, eax
jne 0x40f115
mov eax, dword [ebp - 0x814]
push eax
call ebx
mov edx, str.QsExcelWinAddin.ConnectCLSID
lea edi, [ebp - 0x86c]
call fcn.00413c90
mov eax, dword [ebp - 0x86c]
lea ecx, [ebp - 0x890]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x890], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f149
mov ecx, dword [ebp - 0x814]
push 0x4c
push str.7606e0fc_3302_4442_8653_163df70723be
push 1
push 0x4498c4
push 0x4498c4
push ecx
call esi
test eax, eax
jne 0x40f140
mov edx, dword [ebp - 0x814]
push edx
call ebx
mov eax, edi
mov dword [ebp - 4], 0xffffffff
call fcn.00415c70
lea eax, [ebp - 0x868]
push eax
mov ecx, str.QsExcelWinAddin.QsExcelWinFunc
call fcn.00413b80
lea ecx, [ebp - 0x888]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x868]
push 0
push eax
push 0x80000000
mov dword [ebp - 0x888], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f15d
mov ecx, dword [ebp - 0x814]
push 0x3c
push str.QsExcelWinAddin.QsExcelWinFunc
push 1
push 0x4498c4
push 0x4498c4
push ecx
call esi
mov edx, dword [ebp - 0x814]
push edx
test eax, eax
jne 0x40f15b
call ebx
mov edx, str.QsExcelWinAddin.QsExcelWinFuncCLSID
lea edi, [ebp - 0x868]
call fcn.00413c90
mov edx, dword [ebp - 0x868]
lea eax, [ebp - 0x888]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
push 0
push edx
push 0x80000000
mov dword [ebp - 0x888], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f15d
mov eax, dword [ebp - 0x814]
push 0x4c
push str.91e47ca2_ac53_4ec8_a089_37dc908bac28
push 1
push 0x4498c4
push 0x4498c4
push eax
call esi
test eax, eax
jne 0x40f154
mov ecx, dword [ebp - 0x814]
push ecx
call ebx
mov eax, edi
mov dword [ebp - 4], 0xffffffff
call fcn.00415c70
lea edx, [ebp - 0x870]
push edx
mov ecx, str.QsExcelWinComOperator.LeftCustomATLPanel
call fcn.00413b80
lea eax, [ebp - 0x884]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
mov dword [ebp - 4], 5
mov edx, dword [ebp - 0x870]
push 0
push edx
push 0x80000000
mov dword [ebp - 0x884], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f171
mov eax, dword [ebp - 0x814]
push 0x50
push str.QsExcelWinComOperator.LeftCustomATLPanel
push 1
push 0x4498c4
push 0x4498c4
push eax
call esi
mov ecx, dword [ebp - 0x814]
push ecx
test eax, eax
jne 0x40f16f
call ebx
mov edx, str.QsExcelWinComOperator.LeftCustomATLPanelCLSID
lea edi, [ebp - 0x870]
call fcn.00413c90
mov ecx, dword [ebp - 0x870]
lea edx, [ebp - 0x884]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x884], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f171
mov edx, dword [ebp - 0x814]
push 0x4c
push str.cde7b118_2f73_49e1_811c_6a9c3c87c6f9
push 1
push 0x4498c4
push 0x4498c4
push edx
call esi
test eax, eax
jne 0x40f168
mov eax, dword [ebp - 0x814]
push eax
call ebx
mov eax, edi
mov dword [ebp - 4], 0xffffffff
call fcn.00415c70
lea ecx, [ebp - 0x838]
push ecx
mov ecx, str.EM.RTQ
call fcn.00413b80
lea edx, [ebp - 0x88c]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x838]
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x88c], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f190
lea edx, [ebp - 0x864]
push edx
mov ecx, str.ExcelRTDSvr_Class
call fcn.00413b80
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x864]
mov eax, edx
lea edi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40d6f0
mov ecx, dword [ebp - 0x814]
sub eax, edi
sar eax, 1
add eax, eax
push eax
push edx
push 1
push 0x4498c4
push 0x4498c4
push ecx
call esi
test eax, eax
jne 0x40f17c
mov edx, dword [ebp - 0x814]
push edx
call ebx
mov edx, str.EM.RTQCLSID
lea edi, [ebp - 0x838]
call fcn.00413c90
mov edx, dword [ebp - 0x838]
lea eax, [ebp - 0x88c]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
push 0
push edx
push 0x80000000
mov dword [ebp - 0x88c], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f185
mov eax, dword [ebp - 0x814]
push 0x4c
push str.EBD9B4A9_3E17_45F0_A1C9_E134043923D3
push 1
push 0x4498c4
push 0x4498c4
push eax
call esi
mov ecx, dword [ebp - 0x814]
push ecx
test eax, eax
jne 0x40f183
call ebx
lea eax, [ebp - 0x864]
call fcn.00415c70
mov eax, edi
mov dword [ebp - 4], 0xffffffff
call fcn.00415c70
lea edx, [ebp - 0x85c]
push edx
mov ecx, str.TypeLibB74CA016_B35E_435D_8D32_558972E1E27A1.0
call fcn.00413b80
lea eax, [ebp - 0x874]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
mov dword [ebp - 4], 8
mov edx, dword [ebp - 0x85c]
push 0
push edx
push 0x80000000
mov dword [ebp - 0x874], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f1af
lea eax, [ebp - 0x858]
push eax
mov ecx, str.QsExcelWinAddinLib
call fcn.00413b80
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x858]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40d835
sub eax, edi
sar eax, 1
lea ecx, [eax + eax]
push ecx
push edx
mov edx, dword [ebp - 0x814]
push 1
push 0x4498c4
push 0x4498c4
push edx
call esi
test eax, eax
jne 0x40f19b
mov eax, dword [ebp - 0x814]
push eax
call ebx
mov edx, str.TypeLibB74CA016_B35E_435D_8D32_558972E1E27A1.00win32
lea edi, [ebp - 0x85c]
call fcn.00413c90
mov eax, dword [ebp - 0x85c]
lea ecx, [ebp - 0x874]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x874], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f1a4
mov eax, dword [0x452c18]
mov ecx, dword [eax - 0xc]
mov edx, dword [ebp - 0x814]
add ecx, ecx
push ecx
push eax
push 1
push 0x4498c4
push 0x4498c4
push edx
call esi
test eax, eax
mov eax, dword [ebp - 0x814]
push eax
jne 0x40f1a2
call ebx
mov edx, str.TypeLibB74CA016_B35E_435D_8D32_558972E1E27A1.00win64
call fcn.00413c90
mov eax, dword [ebp - 0x85c]
lea ecx, [ebp - 0x874]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x874], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f1a4
mov eax, dword [0x452c14]
mov ecx, dword [eax - 0xc]
mov edx, dword [ebp - 0x814]
add ecx, ecx
push ecx
push eax
push 1
push 0x4498c4
push 0x4498c4
push edx
call esi
test eax, eax
jne 0x40f1ba
mov eax, dword [ebp - 0x814]
push eax
call ebx
lea eax, [ebp - 0x858]
call fcn.00415c70
mov eax, edi
mov dword [ebp - 4], 0xffffffff
call fcn.00415c70
mov dword [ebp - 0x850], 0
jmp 0x40d996
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
xor ebx, ebx
mov byte [ebp - 0x81d], bl
cmp dword [ebp - 0x850], ebx
jne 0x40d9c3
cmp dword [0x452bb0], 2
jne 0x40d9bc
mov byte [ebp - 0x81d], 1
mov ecx, str.SoftwareMicrosoftOfficeExcelAddinsQsExcelWinAddin.Connect
jmp 0x40d9c8
mov ecx, str.SoftwareWow6432NodeMicrosoftOfficeExcelAddinsQsExcelWinAddin.Connect
lea edx, [ebp - 0x880]
push edx
call fcn.00413b80
mov edx, dword [ebp - 0x880]
lea eax, [ebp - 0x8c8]
push eax
lea ecx, [ebp - 0x814]
push ecx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push edx
push 0x80000002
mov dword [ebp - 0x8c8], ebx
call edi
test eax, eax
jne 0x40f3bd
mov eax, dword [ebp - 0x814]
push 0x1e
push str.QsExcelWinAddin
push 1
push str.FriendlyName
push 0x4498c4
push eax
mov dword [ebp - 0x818], 3
call esi
test eax, eax
jne 0x40f3b0
mov ecx, dword [ebp - 0x814]
push 0x26
push str.Choice
push 1
push str.Description
push 0x4498c4
push ecx
call esi
test eax, eax
jne 0x40f3b0
mov eax, dword [ebp - 0x814]
push 4
lea edx, [ebp - 0x818]
push edx
push 4
push str.LoadBehavior
push 0x4498c4
push eax
call esi
cmp eax, ebx
jne 0x40f3b0
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x880]
call fcn.00415c70
mov ecx, str.CLSID7606e0fc_3302_4442_8653_163df70723be
cmp dword [ebp - 0x850], ebx
je 0x40daa9
mov ecx, str.Wow6432NodeCLSID7606e0fc_3302_4442_8653_163df70723be
lea edx, [ebp - 0x828]
push edx
call fcn.00413b80
mov dword [ebp - 4], 0xa
mov eax, dword [ebp - 0x828]
add eax, 0xfffffff0
call fcn.00416dc0
add eax, 0x10
mov dword [ebp - 0x818], eax
lea ecx, [ebp - 0x848]
push ecx
lea edx, [ebp - 0x814]
push edx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push eax
mov byte [ebp - 4], 0xb
push 0x80000000
mov dword [ebp - 0x848], ebx
call edi
test eax, eax
jne 0x40f1e6
mov eax, dword [ebp - 0x814]
push 0x2e
push str.QsExcelWinAddin.Connect
push 1
push 0x4498c4
push 0x4498c4
push eax
call esi
cmp eax, ebx
jne 0x40f1d9
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esi, [ebp - 0x844]
call fcn.00413b60
cmp byte [ebp - 0x81d], 0
mov byte [ebp - 4], 0xc
mov edi, esi
mov eax, 0x452c14
jne 0x40db59
mov eax, 0x452c18
call fcn.00413c20
lea edx, [ebp - 0x828]
push edx
lea eax, [ebp - 0x90c]
push eax
mov ebx, str.InprocServer32
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0xd
call fcn.00413c20
lea eax, [ebp - 0x90c]
mov byte [ebp - 4], 0xc
call fcn.00415c70
mov eax, dword [ebp - 0x818]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea ecx, [ebp - 0x848]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x848], 0
call esi
test eax, eax
jne 0x40f209
mov eax, dword [ebp - 0x844]
mov ecx, dword [eax - 0xc]
mov edx, dword [ebp - 0x814]
mov edi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
add ecx, ecx
push ecx
push eax
push 1
push 0x4498c4
push 0x4498c4
push edx
call edi
test eax, eax
jne 0x40f22a
mov eax, dword [ebp - 0x814]
push 8
push str.Both
push 1
push str.ThreadingModel
push 0x4498c4
push eax
call edi
test eax, eax
jne 0x40f22a
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x828]
push edx
lea eax, [ebp - 0x8f0]
push eax
mov ebx, str.ProgId
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0xe
call fcn.00413c20
lea eax, [ebp - 0x8f0]
mov byte [ebp - 4], 0xc
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x848]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x848], 0
call esi
test eax, eax
jne 0x40f209
mov ecx, dword [ebp - 0x814]
push 0x2e
push str.QsExcelWinAddin.Connect
push 1
push 0x4498c4
push 0x4498c4
push ecx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f1fc
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x828]
push eax
lea ecx, [ebp - 0x8a0]
push ecx
mov ebx, str.Programmable
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0xf
call fcn.00413c20
lea eax, [ebp - 0x8a0]
mov byte [ebp - 4], 0xc
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x848]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x848], 0
call esi
test eax, eax
jne 0x40f209
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x828]
push eax
lea ecx, [ebp - 0x8d8]
push ecx
mov ebx, str.TypeLib
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x10
call fcn.00413c20
lea eax, [ebp - 0x8d8]
mov byte [ebp - 4], 0xc
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x848]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x848], 0
call esi
test eax, eax
jne 0x40f209
mov edx, dword [ebp - 0x814]
push 0x4c
push str.b74ca016_b35e_435d_8d32_558972e1e27a
push 1
push 0x4498c4
push 0x4498c4
push edx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f22a
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x828]
push ecx
lea edx, [ebp - 0x8a8]
push edx
mov ebx, str.Version
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x11
call fcn.00413c20
lea eax, [ebp - 0x8a8]
mov byte [ebp - 4], 0xc
call fcn.00415c70
mov edx, dword [ebp - 0x818]
lea eax, [ebp - 0x848]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
push 0
push edx
push 0x80000000
mov dword [ebp - 0x848], 0
call esi
test eax, eax
jne 0x40f209
mov eax, dword [ebp - 0x814]
push 6
push 0x448004
push 1
push 0x4498c4
push 0x4498c4
push eax
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f233
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x828]
push edx
lea eax, [ebp - 0x900]
push eax
mov ebx, str.VersionIndependentProgID
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x12
call fcn.00413c20
lea eax, [ebp - 0x900]
mov byte [ebp - 4], 0xc
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x848]
push ecx
xor ebx, ebx
lea edx, [ebp - 0x814]
push edx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push eax
push 0x80000000
mov dword [ebp - 0x848], ebx
call esi
test eax, eax
jne 0x40f209
mov ecx, dword [ebp - 0x814]
mov edi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push 0x2e
push str.QsExcelWinAddin.Connect
push 1
push 0x4498c4
push 0x4498c4
push ecx
call edi
cmp eax, ebx
jne 0x40f1fc
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x844]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x828]
mov dword [ebp - 4], 0xffffffff
call fcn.00415c70
mov ecx, str.CLSID91e47ca2_ac53_4ec8_a089_37dc908bac28
cmp dword [ebp - 0x850], ebx
je 0x40df7c
mov ecx, str.Wow6432NodeCLSID91e47ca2_ac53_4ec8_a089_37dc908bac28
lea eax, [ebp - 0x824]
push eax
call fcn.00413b80
mov dword [ebp - 4], 0x13
mov eax, dword [ebp - 0x824]
add eax, 0xfffffff0
call fcn.00416dc0
add eax, 0x10
mov dword [ebp - 0x818], eax
lea ecx, [ebp - 0x84c]
push ecx
lea edx, [ebp - 0x814]
push edx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push eax
mov byte [ebp - 4], 0x14
push 0x80000000
mov dword [ebp - 0x84c], ebx
call esi
test eax, eax
jne 0x40f242
mov eax, dword [ebp - 0x814]
push 0x3c
push str.QsExcelWinAddin.QsExcelWinFunc
push 1
push 0x4498c4
push 0x4498c4
push eax
call edi
mov ecx, dword [ebp - 0x814]
push ecx
cmp eax, ebx
jne 0x40f23c
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esi, [ebp - 0x840]
call fcn.00413b60
mov byte [ebp - 4], 0x15
mov edi, esi
mov eax, 0x452c14
cmp byte [ebp - 0x81d], bl
jne 0x40e02b
mov eax, 0x452c18
call fcn.00413c20
lea edx, [ebp - 0x824]
push edx
lea eax, [ebp - 0x8b0]
push eax
mov ebx, str.InprocServer32
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x16
call fcn.00413c20
lea eax, [ebp - 0x8b0]
mov byte [ebp - 4], 0x15
call fcn.00415c70
mov eax, dword [ebp - 0x818]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea ecx, [ebp - 0x84c]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x84c], 0
call esi
test eax, eax
jne 0x40f392
mov eax, dword [ebp - 0x840]
mov ecx, dword [eax - 0xc]
mov edx, dword [ebp - 0x814]
mov edi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
add ecx, ecx
push ecx
push eax
push 1
push 0x4498c4
push 0x4498c4
push edx
call edi
test eax, eax
jne 0x40f385
mov eax, dword [ebp - 0x814]
push 8
push str.Both
push 1
push str.ThreadingModel
push 0x4498c4
push eax
call edi
test eax, eax
jne 0x40f385
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x824]
push edx
lea eax, [ebp - 0x8e0]
push eax
mov ebx, str.ProgID
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x17
call fcn.00413c20
lea eax, [ebp - 0x8e0]
mov byte [ebp - 4], 0x15
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x84c]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x84c], 0
call esi
test eax, eax
jne 0x40f392
mov ecx, dword [ebp - 0x814]
push 0x3c
push str.QsExcelWinAddin.QsExcelWinFunc
push 1
push 0x4498c4
push 0x4498c4
push ecx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov edx, dword [ebp - 0x814]
push edx
test eax, eax
jne 0x40f38c
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x824]
push eax
lea ecx, [ebp - 0x8b8]
push ecx
mov ebx, str.Programmable
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x18
call fcn.00413c20
lea eax, [ebp - 0x8b8]
mov byte [ebp - 4], 0x15
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x84c]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x84c], 0
call esi
test eax, eax
jne 0x40f392
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x824]
push eax
lea ecx, [ebp - 0x8f8]
push ecx
mov ebx, str.TypeLib
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x19
call fcn.00413c20
lea eax, [ebp - 0x8f8]
mov byte [ebp - 4], 0x15
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x84c]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x84c], 0
call esi
test eax, eax
jne 0x40f392
mov edx, dword [ebp - 0x814]
push 0x4c
push str.b74ca016_b35e_435d_8d32_558972e1e27a
push 1
push 0x4498c4
push 0x4498c4
push edx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
mov eax, dword [ebp - 0x814]
push eax
jne 0x40f38c
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x824]
push ecx
lea edx, [ebp - 0x8c0]
push edx
mov ebx, str.Version
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x1a
call fcn.00413c20
lea eax, [ebp - 0x8c0]
mov byte [ebp - 4], 0x15
call fcn.00415c70
mov edx, dword [ebp - 0x818]
lea eax, [ebp - 0x84c]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
push 0
push edx
push 0x80000000
mov dword [ebp - 0x84c], 0
call esi
test eax, eax
jne 0x40f392
mov eax, dword [ebp - 0x814]
push 6
push 0x448004
push 1
push 0x4498c4
push 0x4498c4
push eax
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov ecx, dword [ebp - 0x814]
push ecx
test eax, eax
jne 0x40f38c
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x824]
push edx
lea eax, [ebp - 0x8e8]
push eax
mov ebx, str.VersionIndependentProgID
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x1b
call fcn.00413c20
lea eax, [ebp - 0x8e8]
mov byte [ebp - 4], 0x15
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x84c]
push ecx
xor edi, edi
lea edx, [ebp - 0x814]
push edx
push edi
push 0xf013f
push edi
push edi
push edi
push eax
push 0x80000000
mov dword [ebp - 0x84c], edi
call esi
test eax, eax
jne 0x40f392
mov ecx, dword [ebp - 0x814]
mov ebx, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push 0x3c
push str.QsExcelWinAddin.QsExcelWinFunc
push 1
push 0x4498c4
push 0x4498c4
push ecx
call ebx
mov edx, dword [ebp - 0x814]
push edx
cmp eax, edi
jne 0x40f38c
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x840]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x824]
mov dword [ebp - 4], 0xffffffff
call fcn.00415c70
mov ecx, str.CLSIDcde7b118_2f73_49e1_811c_6a9c3c87c6f9
cmp dword [ebp - 0x850], edi
je 0x40e44e
mov ecx, str.Wow6432NodeCLSIDcde7b118_2f73_49e1_811c_6a9c3c87c6f9
lea eax, [ebp - 0x81c]
push eax
call fcn.00413b80
mov dword [ebp - 4], 0x1c
mov eax, dword [ebp - 0x81c]
add eax, 0xfffffff0
call fcn.00416dc0
add eax, 0x10
mov dword [ebp - 0x818], eax
lea ecx, [ebp - 0x834]
push ecx
lea edx, [ebp - 0x814]
push edx
push edi
push 0xf013f
push edi
push edi
push edi
push eax
mov byte [ebp - 4], 0x1d
push 0x80000000
mov dword [ebp - 0x834], edi
call esi
test eax, eax
jne 0x40f265
mov eax, dword [ebp - 0x814]
push 0x50
push str.QsExcelWinComOperator.LeftCustomATLPanel
push 1
push 0x4498c4
push 0x4498c4
push eax
call ebx
cmp eax, edi
jne 0x40f258
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x81c]
push edx
lea eax, [ebp - 0x894]
push eax
mov ebx, str.Control
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x1e
call fcn.00413c20
lea eax, [ebp - 0x894]
mov byte [ebp - 4], 0x1d
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x834]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
call esi
test eax, eax
jne 0x40f265
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esi, [ebp - 0x82c]
call fcn.00413b60
cmp byte [ebp - 0x81d], 0
mov byte [ebp - 4], 0x1f
mov edi, esi
mov eax, 0x452c1c
jne 0x40e575
mov eax, 0x452c20
call fcn.00413c20
lea edx, [ebp - 0x81c]
push edx
lea eax, [ebp - 0x908]
push eax
mov ebx, str.InprocServer32
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x20
call fcn.00413c20
lea eax, [ebp - 0x908]
mov byte [ebp - 4], 0x1f
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x834]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x834], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f284
mov eax, dword [ebp - 0x82c]
mov ecx, dword [eax - 0xc]
mov edx, dword [ebp - 0x814]
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
add ecx, ecx
push ecx
push eax
push 1
push 0x4498c4
push 0x4498c4
push edx
call esi
test eax, eax
jne 0x40f373
mov eax, dword [ebp - 0x814]
push 8
push str.Both
push 1
push str.ThreadingModel
push 0x4498c4
push eax
call esi
test eax, eax
jne 0x40f373
mov ecx, dword [ebp - 0x814]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ecx
call esi
lea edx, [ebp - 0x81c]
push edx
lea eax, [ebp - 0x8d0]
push eax
mov ebx, str.MiscStatus
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x21
call fcn.00413c20
lea eax, [ebp - 0x8d0]
mov byte [ebp - 4], 0x1f
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x834]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x834], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f284
mov ecx, dword [ebp - 0x814]
push 2
push 0x448228
push 1
push 0x4498c4
push 0x4498c4
push ecx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f27b
mov edx, dword [ebp - 0x814]
push edx
call esi
mov eax, edi
push eax
lea ecx, [ebp - 0x898]
push ecx
mov ebx, 0x44822c
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x22
call fcn.00413c20
lea eax, [ebp - 0x898]
mov byte [ebp - 4], 0x1f
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x834]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x834], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f284
mov edx, dword [ebp - 0x814]
push 0xc
push str.131473
push 1
push 0x4498c4
push 0x4498c4
push edx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f2a5
mov eax, dword [ebp - 0x814]
push eax
call esi
lea ecx, [ebp - 0x81c]
push ecx
lea edx, [ebp - 0x89c]
push edx
mov ebx, str.ProgId
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x23
call fcn.00413c20
lea eax, [ebp - 0x89c]
mov byte [ebp - 4], 0x1f
call fcn.00415c70
mov edx, dword [ebp - 0x818]
lea eax, [ebp - 0x834]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
push 0
push edx
push 0x80000000
mov dword [ebp - 0x834], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f284
mov eax, dword [ebp - 0x814]
push 0x50
push str.QsExcelWinComOperator.LeftCustomATLPanel
push 1
push 0x4498c4
push 0x4498c4
push eax
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f2ae
mov ecx, dword [ebp - 0x814]
push ecx
call esi
lea edx, [ebp - 0x81c]
push edx
lea eax, [ebp - 0x8a4]
push eax
mov ebx, str.Programmable
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x24
call fcn.00413c20
lea eax, [ebp - 0x8a4]
mov byte [ebp - 4], 0x1f
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x834]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x834], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f284
mov ecx, dword [ebp - 0x814]
push ecx
call esi
lea edx, [ebp - 0x81c]
push edx
lea eax, [ebp - 0x8ac]
push eax
mov ebx, str.ToolboxBitmap32
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x25
call fcn.00413c20
lea eax, [ebp - 0x8ac]
mov byte [ebp - 4], 0x1f
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x834]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x834], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f284
lea esi, [ebp - 0x860]
call fcn.00413b60
cmp byte [ebp - 0x81d], 0
mov byte [ebp - 4], 0x26
mov ebx, str.__106
je 0x40e96b
lea ecx, [ebp - 0x8b4]
push 0x452c1c
push ecx
call fcn.004141a0
add esp, 8
mov edi, esi
mov byte [ebp - 4], 0x27
call fcn.00413c20
lea eax, [ebp - 0x8b4]
jmp 0x40e994
lea edx, [ebp - 0x8bc]
push 0x452c20
push edx
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x860]
mov byte [ebp - 4], 0x28
call fcn.00413c20
lea eax, [ebp - 0x8bc]
mov byte [ebp - 4], 0x26
call fcn.00415c70
mov eax, dword [ebp - 0x860]
mov ecx, dword [eax - 0xc]
mov edx, dword [ebp - 0x814]
add ecx, ecx
push ecx
push eax
push 1
push 0x4498c4
push 0x4498c4
push edx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f2b7
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x81c]
push ecx
lea edx, [ebp - 0x8c4]
push edx
mov ebx, str.TypeLib
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x29
call fcn.00413c20
lea eax, [ebp - 0x8c4]
mov byte [ebp - 4], 0x26
call fcn.00415c70
mov edx, dword [ebp - 0x818]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea eax, [ebp - 0x834]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
push 0
push edx
push 0x80000000
mov dword [ebp - 0x834], 0
call esi
test eax, eax
jne 0x40f2c4
mov eax, dword [ebp - 0x814]
push 0x4c
push str.06be4750_ea23_41f8_a69e_21c9fb900788
push 1
push 0x4498c4
push 0x4498c4
push eax
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f2d1
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x81c]
push edx
lea eax, [ebp - 0x8cc]
push eax
mov ebx, str.Version
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x2a
call fcn.00413c20
lea eax, [ebp - 0x8cc]
mov byte [ebp - 4], 0x26
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x834]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x834], 0
call esi
test eax, eax
jne 0x40f2c4
mov ecx, dword [ebp - 0x814]
push 6
push 0x448004
push 1
push 0x4498c4
push 0x4498c4
push ecx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f2eb
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x81c]
push eax
lea ecx, [ebp - 0x8d4]
push ecx
mov ebx, str.VersionIndependentProgID
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x2b
call fcn.00413c20
lea eax, [ebp - 0x8d4]
mov byte [ebp - 4], 0x26
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x834]
push edx
xor ebx, ebx
lea eax, [ebp - 0x814]
push eax
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push ecx
push 0x80000000
mov dword [ebp - 0x834], ebx
call esi
test eax, eax
jne 0x40f2c4
mov edx, dword [ebp - 0x814]
mov edi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push 0x50
push str.QsExcelWinComOperator.LeftCustomATLPanel
push 1
push 0x4498c4
push 0x4498c4
push edx
call edi
cmp eax, ebx
jne 0x40f2b7
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x860]
call fcn.00415c70
lea eax, [ebp - 0x82c]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x81c]
mov dword [ebp - 4], 0xffffffff
call fcn.00415c70
mov ecx, str.CLSIDEBD9B4A9_3E17_45F0_A1C9_E134043923D3
cmp dword [ebp - 0x850], ebx
je 0x40ec0e
mov ecx, str.Wow6432NodeCLSIDEBD9B4A9_3E17_45F0_A1C9_E134043923D3
lea edx, [ebp - 0x830]
push edx
call fcn.00413b80
mov dword [ebp - 4], 0x2c
mov eax, dword [ebp - 0x830]
add eax, 0xfffffff0
call fcn.00416dc0
add eax, 0x10
mov dword [ebp - 0x818], eax
lea ecx, [ebp - 0x854]
push ecx
lea edx, [ebp - 0x814]
push edx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push eax
mov byte [ebp - 4], 0x2d
push 0x80000000
mov dword [ebp - 0x854], ebx
call esi
test eax, eax
jne 0x40f315
mov eax, dword [ebp - 0x814]
push 0x22
push str.ExcelRTDSvr_Class
push 1
push 0x4498c4
push 0x4498c4
push eax
call edi
cmp eax, ebx
jne 0x40f308
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esi, [ebp - 0x83c]
call fcn.00413b60
mov byte [ebp - 4], 0x2e
mov edi, esi
mov eax, 0x452c0c
cmp byte [ebp - 0x81d], bl
jne 0x40ecbd
mov eax, 0x452c10
call fcn.00413c20
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x8dc]
push eax
mov ebx, str.InprocServer32
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x2f
call fcn.00413c20
lea eax, [ebp - 0x8dc]
mov byte [ebp - 4], 0x2e
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x854]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x854], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f334
mov ecx, dword [ebp - 0x814]
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push 0x12
push str.Apartment
push 1
push str.ThreadingModel
push 0x4498c4
push ecx
call esi
test eax, eax
jne 0x40f364
mov eax, dword [ebp - 0x83c]
mov ecx, dword [eax - 0xc]
lea edx, [ecx + ecx]
push edx
push eax
mov eax, dword [ebp - 0x814]
push 1
push 0x4498c4
push 0x4498c4
push eax
call esi
test eax, eax
jne 0x40f364
mov ecx, dword [ebp - 0x814]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ecx
call esi
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x8e4]
push eax
mov ebx, str.ProgId
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x30
call fcn.00413c20
lea eax, [ebp - 0x8e4]
mov byte [ebp - 4], 0x2e
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x854]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x854], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f334
mov ecx, dword [ebp - 0x814]
push 0xc
push str.EM.RTQ
push 1
push 0x4498c4
push 0x4498c4
push ecx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f32b
mov edx, dword [ebp - 0x814]
push edx
call esi
lea eax, [ebp - 0x830]
push eax
lea ecx, [ebp - 0x8ec]
push ecx
mov ebx, str.Programmable
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x31
call fcn.00413c20
lea eax, [ebp - 0x8ec]
mov byte [ebp - 4], 0x2e
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x854]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x854], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f334
mov edx, dword [ebp - 0x814]
push edx
call esi
lea eax, [ebp - 0x830]
push eax
lea ecx, [ebp - 0x8f4]
push ecx
mov ebx, str.TypeLib
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x32
call fcn.00413c20
lea eax, [ebp - 0x8f4]
mov byte [ebp - 4], 0x2e
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x854]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x854], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f334
mov edx, dword [ebp - 0x814]
push 0x4c
push str.91C99906_26BE_4CA6_AAFE_B12E4C88D464
push 1
push 0x4498c4
push 0x4498c4
push edx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f352
mov eax, dword [ebp - 0x814]
push eax
call esi
lea ecx, [ebp - 0x830]
push ecx
lea edx, [ebp - 0x8fc]
push edx
mov ebx, str.Version
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x33
call fcn.00413c20
lea eax, [ebp - 0x8fc]
mov byte [ebp - 4], 0x2e
call fcn.00415c70
mov edx, dword [ebp - 0x818]
lea eax, [ebp - 0x854]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
push 0
push edx
push 0x80000000
mov dword [ebp - 0x854], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f334
mov eax, dword [ebp - 0x814]
push 6
push 0x448004
push 1
push 0x4498c4
push 0x4498c4
push eax
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f35b
mov ecx, dword [ebp - 0x814]
push ecx
call esi
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x904]
push eax
mov ebx, str.VersionIndependentProgID
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x34
call fcn.00413c20
lea eax, [ebp - 0x904]
mov byte [ebp - 4], 0x2e
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x854]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
push 0x80000000
mov dword [ebp - 0x854], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40f334
mov ecx, dword [ebp - 0x814]
push 0xc
push str.EM.RTQ
push 1
push 0x4498c4
push 0x4498c4
push ecx
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
test eax, eax
jne 0x40f32b
mov edx, dword [ebp - 0x814]
push edx
call esi
lea eax, [ebp - 0x83c]
call fcn.00415c70
mov eax, edi
call fcn.00415c70
lea eax, [ebp - 0x830]
mov dword [ebp - 4], 0xffffffff
call fcn.00415c70
mov eax, dword [ebp - 0x850]
inc eax
mov dword [ebp - 0x850], eax
cmp eax, dword [ebp - 0x87c]
jl 0x40d990
mov eax, dword [ebp - 0x878]
inc eax
mov dword [ebp - 0x878], eax
cmp eax, dword [ebp - 0x87c]
jl 0x40d340
jmp 0x40f3c8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x86c]
add eax, 0xfffffff0
jmp 0x40d103
mov ecx, dword [ebp - 0x814]
push ecx
call ebx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x86c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x40d110
mov ecx, dword [ebp - 0x814]
push ecx
call ebx
lea eax, [ebp - 0x86c]
jmp 0x40f3c3
mov eax, dword [ebp - 0x814]
push eax
call ebx
lea eax, [ebp - 0x868]
jmp 0x40f3c3
mov edx, dword [ebp - 0x814]
push edx
call ebx
lea eax, [ebp - 0x870]
jmp 0x40f3c3
mov eax, dword [ebp - 0x814]
push eax
call ebx
lea eax, [ebp - 0x864]
call fcn.00415c70
lea eax, [ebp - 0x838]
jmp 0x40f3c3
mov edx, dword [ebp - 0x814]
push edx
call ebx
lea eax, [ebp - 0x858]
call fcn.00415c70
lea eax, [ebp - 0x85c]
jmp 0x40f3c3
mov ecx, dword [ebp - 0x814]
push ecx
call ebx
lea eax, [ebp - 0x858]
call fcn.00415c70
lea eax, [ebp - 0x85c]
jmp 0x40f3c3
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x828]
jmp 0x40f3c3
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x844]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x828]
jmp 0x40f3c3
mov ecx, dword [ebp - 0x814]
push ecx
jmp 0x40f203
mov edx, dword [ebp - 0x814]
push edx
jmp 0x40f203
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x824]
jmp 0x40f3c3
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x81c]
jmp 0x40f3c3
mov ecx, dword [ebp - 0x814]
push ecx
call esi
lea eax, [ebp - 0x82c]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x81c]
jmp 0x40f3c3
mov edx, dword [ebp - 0x814]
push edx
jmp 0x40f282
mov eax, dword [ebp - 0x814]
push eax
jmp 0x40f282
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x860]
call fcn.00415c70
jmp 0x40f284
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x860]
call fcn.00415c70
jmp 0x40f284
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x860]
call fcn.00415c70
jmp 0x40f284
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x830]
jmp 0x40f3c3
mov eax, dword [ebp - 0x814]
push eax
call esi
lea eax, [ebp - 0x83c]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x830]
jmp 0x40f3c3
mov ecx, dword [ebp - 0x814]
push ecx
jmp 0x40f332
mov edx, dword [ebp - 0x814]
push edx
jmp 0x40f332
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40f334
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40f284
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x840]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x824]
jmp 0x40f3c3
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x880]
call fcn.00415c70
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.004267a3
mov esp, ebp
pop ebp
ret