Function at 0x40a9a0
Capabilities:
Delete registry key
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x440568
mov eax, dword fs:[0]
push eax
sub esp, 0x90c
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 [0x452bec]
cmp eax, dword [0x452bf0]
je 0x40cbef
push 0x7fe
xor edi, edi
lea edx, [ebp - 0x80e]
xor ecx, ecx
push edi
push edx
mov word [ebp - 0x810], cx
call fcn.00429770
add esp, 0xc
lea ecx, [ebp - 0x810]
call fcn.00401e30
lea eax, [ebp - 0x81c]
push eax
lea ecx, [ebp - 0x810]
call fcn.00413b80
mov dword [ebp - 4], edi
mov ecx, dword [0x452bf0]
mov esi, dword [0x452bec]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0x870], edi
je 0x40acb6
mov esi, dword [edi + esi + 8]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi - 4], 0
lea ecx, [esi - 4]
jl 0x40aa73
cmp eax, dword [esi - 0x10]
jne 0x40aa73
lea ebx, [esi - 0x10]
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x40aaab
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x40acf5
mov eax, dword [esi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.00426d31
add esp, 0x10
add ebx, 0x10
mov dword [ebp - 0x874], ebx
mov byte [ebp - 4], 1
mov ecx, dword [0x452bec]
mov esi, dword [edi + ecx + 4]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi - 4], 0
lea edx, [esi - 4]
jl 0x40aae8
cmp eax, dword [esi - 0x10]
jne 0x40aae8
lea ebx, [esi - 0x10]
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x40ab20
mov ecx, dword [esi - 0xc]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
je 0x40acf5
mov eax, dword [esi - 0xc]
mov dword [ebx + 4], eax
mov eax, dword [esi - 0xc]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.00426d31
add esp, 0x10
lea esi, [ebx + 0x10]
mov dword [ebp - 0x898], esi
lea ecx, [ebp - 0x81c]
push ecx
lea edx, [ebp - 0x884]
push edx
mov ebx, str.SoftwareMicrosoftOffice_
mov byte [ebp - 4], 2
call fcn.004141a0
lea ecx, [ebp - 0x874]
push ecx
lea edx, [ebp - 0x890]
push edx
mov ebx, eax
mov byte [ebp - 4], 3
call fcn.004140f0
push eax
lea eax, [ebp - 0x878]
push eax
mov ebx, str.ExcelResiliency
mov byte [ebp - 4], 4
call fcn.004141a0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x890]
add eax, 0xfffffff0
add esp, 0x18
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ab9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x884]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40abc3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x878]
lea ecx, [ebp - 0x87c]
push ecx
xor ebx, ebx
lea edx, [ebp - 0x880]
push edx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push eax
push 0x80000003
mov dword [ebp - 0x87c], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40ac17
mov ecx, dword [ebp - 0x880]
push str.DisabledItems
push ecx
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
mov edx, dword [ebp - 0x880]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
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 0x40ac39
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ac59
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x874]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ac7e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [0x452bf0]
mov esi, dword [0x452bec]
mov ebx, dword [ebp - 0x870]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
inc ebx
add ecx, edx
add edi, 0xc
mov dword [ebp - 0x870], ebx
cmp ebx, ecx
jb 0x40aa49
xor edi, edi
mov eax, 2
mov dword [ebp - 0x894], 1
cmp dword [0x452bb0], eax
jne 0x40acd3
mov dword [ebp - 0x894], eax
mov dword [ebp - 0x890], edi
cmp dword [ebp - 0x894], edi
jle 0x40cbc6
mov esi, str.QsExcelWinAddin.Connect
shr esi, 0x10
mov dword [ebp - 0x89c], esi
jmp 0x40ad06
call fcn.004180a0
lea ebx, [ebx]
mov esi, dword [ebp - 0x89c]
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
add eax, 0x10
mov dword [ebp - 0x848], eax
mov byte [ebp - 4], 5
test esi, esi
jne 0x40ad48
mov ecx, str.QsExcelWinAddin.Connect
movzx edi, cx
call fcn.004196c0
test eax, eax
je 0x40ad5e
push eax
mov eax, edi
lea edi, [ebp - 0x848]
call fcn.00417fa0
jmp 0x40ad5e
push str.QsExcelWinAddin.Connect
lea edx, [ebp - 0x848]
push edx
mov ebx, 0x17
call fcn.00416d10
lea eax, [ebp - 0x884]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
mov byte [ebp - 4], 6
mov edi, dword [ebp - 0x848]
push 0
push edi
push 0x80000000
mov dword [ebp - 0x884], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cc0b
mov edx, dword [ebp - 0x814]
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push 0x2e
push str.QsExcelWinAddin.Connect
push 1
push 0x4498c4
push 0x4498c4
push edx
call esi
test eax, eax
jne 0x40cc4a
mov eax, dword [ebp - 0x814]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push eax
call edi
push str.QsExcelWinAddin.ConnectCLSID
lea ecx, [ebp - 0x848]
push ecx
mov ebx, 0x1d
call fcn.00416d10
mov ebx, dword [ebp - 0x848]
lea edx, [ebp - 0x884]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
push 0
push ebx
push 0x80000000
mov dword [ebp - 0x884], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cc6d
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 0x40cc72
mov edx, dword [ebp - 0x814]
push edx
call edi
add ebx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40ae7c
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
lea ecx, [ebp - 0x868]
push ecx
mov ecx, str.QsExcelWinAddin.QsExcelWinFunc
call fcn.00413b80
lea edx, [ebp - 0x870]
push edx
lea eax, [ebp - 0x814]
push eax
push 0
push 0xf013f
push 0
push 0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x868]
push 0
push ecx
push 0x80000000
mov dword [ebp - 0x870], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cc91
mov edx, dword [ebp - 0x814]
push 0x3c
push str.QsExcelWinAddin.QsExcelWinFunc
push 1
push 0x4498c4
push 0x4498c4
push edx
call esi
test eax, eax
jne 0x40cca3
mov eax, dword [ebp - 0x814]
push eax
call edi
push str.QsExcelWinAddin.QsExcelWinFuncCLSID
lea ecx, [ebp - 0x868]
push ecx
mov ebx, 0x24
call fcn.00416d10
mov ecx, dword [ebp - 0x868]
lea edx, [ebp - 0x870]
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 - 0x870], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, ebx
jne 0x40cccb
mov edx, dword [ebp - 0x814]
push 0x4c
push str.91e47ca2_ac53_4ec8_a089_37dc908bac28
push 1
push 0x4498c4
push 0x4498c4
push edx
call esi
cmp eax, ebx
jne 0x40ccdc
mov eax, dword [ebp - 0x814]
push eax
call edi
lea eax, [ebp - 0x868]
mov byte [ebp - 4], bl
call fcn.00415c70
lea ecx, [ebp - 0x864]
push ecx
mov ecx, str.QsExcelWinComOperator.LeftCustomATLPanel
call fcn.00413b80
lea edx, [ebp - 0x874]
push edx
lea eax, [ebp - 0x814]
push eax
push ebx
push 0xf013f
push ebx
push ebx
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x864]
push ebx
push ecx
push 0x80000000
mov dword [ebp - 0x874], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cd09
mov edx, dword [ebp - 0x814]
push 0x50
push str.QsExcelWinComOperator.LeftCustomATLPanel
push 1
push 0x4498c4
push 0x4498c4
push edx
call esi
test eax, eax
jne 0x40cd00
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, str.QsExcelWinComOperator.LeftCustomATLPanelCLSID
lea edi, [ebp - 0x864]
call fcn.00413c90
mov eax, dword [ebp - 0x864]
lea ecx, [ebp - 0x874]
push ecx
lea edx, [ebp - 0x814]
push edx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push eax
push 0x80000000
mov dword [ebp - 0x874], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cd09
mov ecx, dword [ebp - 0x814]
push 0x4c
push str.cde7b118_2f73_49e1_811c_6a9c3c87c6f9
push 1
push 0x4498c4
push 0x4498c4
push ecx
call esi
cmp eax, ebx
jne 0x40cd24
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
mov byte [ebp - 4], bl
call fcn.00415c70
lea eax, [ebp - 0x860]
push eax
mov ecx, str.EM.RTQ
call fcn.00413b80
lea ecx, [ebp - 0x878]
push ecx
lea edx, [ebp - 0x814]
push edx
push ebx
push 0xf013f
push ebx
push ebx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x860]
push ebx
push eax
push 0x80000000
mov dword [ebp - 0x878], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, ebx
jne 0x40cd4b
lea ecx, [ebp - 0x88c]
push ecx
mov ecx, str.ExcelRTDSvr_Class
call fcn.00413b80
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x88c]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b0f2
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 0x40cd33
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, str.EM.RTQCLSID
lea edi, [ebp - 0x860]
call fcn.00413c90
mov edx, dword [ebp - 0x860]
lea eax, [ebp - 0x878]
push eax
lea ecx, [ebp - 0x814]
push ecx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push edx
push 0x80000000
mov dword [ebp - 0x878], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cd40
mov eax, dword [ebp - 0x814]
push 0x4c
push str.EBD9B4A9_3E17_45F0_A1C9_E134043923D3
push 1
push 0x4498c4
push 0x4498c4
push eax
call esi
cmp eax, ebx
jne 0x40cd66
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x88c]
call fcn.00415c70
mov eax, edi
mov byte [ebp - 4], bl
call fcn.00415c70
lea edx, [ebp - 0x858]
push edx
mov ecx, str.TypeLibB74CA016_B35E_435D_8D32_558972E1E27A1.0
call fcn.00413b80
lea eax, [ebp - 0x888]
push eax
lea ecx, [ebp - 0x814]
push ecx
push ebx
push 0xf013f
push ebx
push ebx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x858]
push ebx
push edx
push 0x80000000
mov dword [ebp - 0x888], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, ebx
jne 0x40cd87
lea eax, [ebp - 0x86c]
push eax
mov ecx, str.QsExcelWinAddinLib
call fcn.00413b80
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x86c]
mov eax, edx
lea edi, [eax + 2]
jmp 0x40b230
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x40b230
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
mov eax, dword [ebp - 0x814]
push eax
jne 0x40cd76
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, str.TypeLibB74CA016_B35E_435D_8D32_558972E1E27A1.00win32
lea edi, [ebp - 0x858]
call fcn.00413c90
mov eax, dword [ebp - 0x858]
lea ecx, [ebp - 0x888]
push ecx
lea edx, [ebp - 0x814]
push edx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push eax
push 0x80000000
mov dword [ebp - 0x888], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cd7c
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
jne 0x40cd6f
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, str.TypeLibB74CA016_B35E_435D_8D32_558972E1E27A1.00win64
call fcn.00413c90
mov eax, dword [ebp - 0x858]
lea ecx, [ebp - 0x888]
push ecx
lea edx, [ebp - 0x814]
push edx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push eax
push 0x80000000
mov dword [ebp - 0x888], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cd7c
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
cmp eax, ebx
jne 0x40cda2
mov eax, dword [ebp - 0x814]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push eax
call edi
lea eax, [ebp - 0x86c]
call fcn.00415c70
lea eax, [ebp - 0x858]
mov byte [ebp - 4], bl
call fcn.00415c70
lea ecx, [ebp - 0x81c]
push ecx
lea edx, [ebp - 0x880]
push edx
mov ebx, 0x447c10
call fcn.004141a0
mov edx, dword [ebp - 0x880]
add esp, 8
lea eax, [ebp - 0x910]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
push edx
push 0x80000003
mov dword [ebp - 0x910], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40b458
mov eax, dword [ebp - 0x814]
push 0x1e
push str.QsExcelWinAddin
push 1
push str.FriendlyName
push 0x4498c4
push eax
mov dword [ebp - 0x848], 3
call esi
test eax, eax
jne 0x40cdab
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 0x40cdab
mov eax, dword [ebp - 0x814]
push 4
lea edx, [ebp - 0x848]
push edx
push 4
push str.LoadBehavior
push 0x4498c4
push eax
call esi
test eax, eax
jne 0x40cdab
mov ecx, dword [ebp - 0x814]
push ecx
call edi
lea eax, [ebp - 0x880]
call fcn.00415c70
xor ebx, ebx
mov dword [ebp - 0x848], ebx
jmp 0x40b47c
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov ebx, dword [ebp - 0x848]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov byte [ebp - 0x821], 0
test ebx, ebx
jne 0x40b4a4
cmp dword [0x452bb0], 2
jne 0x40b49d
mov byte [ebp - 0x821], 1
mov ecx, str.SoftwareMicrosoftOfficeExcelAddinsQsExcelWinAddin.Connect
jmp 0x40b4a9
mov ecx, str.SoftwareWow6432NodeMicrosoftOfficeExcelAddinsQsExcelWinAddin.Connect
lea edx, [ebp - 0x87c]
push edx
call fcn.00413b80
mov edx, dword [ebp - 0x87c]
lea eax, [ebp - 0x918]
push eax
lea ecx, [ebp - 0x814]
push ecx
push 0
push 0xf013f
push 0
push 0
push 0
push edx
push 0x80000002
mov dword [ebp - 0x918], 0
call edi
test eax, eax
jne 0x40cfeb
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 0x40cfde
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 0x40cfde
mov eax, dword [ebp - 0x814]
push 4
lea edx, [ebp - 0x818]
push edx
push 4
push str.LoadBehavior
push 0x4498c4
push eax
call esi
test eax, eax
jne 0x40cfde
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x87c]
call fcn.00415c70
mov ecx, str.CLSID7606e0fc_3302_4442_8653_163df70723be
test ebx, ebx
je 0x40b58e
mov ecx, str.Wow6432NodeCLSID7606e0fc_3302_4442_8653_163df70723be
lea edx, [ebp - 0x82c]
push edx
call fcn.00413b80
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x82c]
add eax, 0xfffffff0
call fcn.00416dc0
add eax, 0x10
mov dword [ebp - 0x818], eax
lea ecx, [ebp - 0x850]
push ecx
lea edx, [ebp - 0x814]
push edx
push 0
push 0xf013f
push 0
push 0
push 0
push eax
mov byte [ebp - 4], 0xe
push 0x80000000
mov dword [ebp - 0x850], 0
call edi
test eax, eax
jne 0x40cdd5
mov eax, dword [ebp - 0x814]
push 0x2e
push str.QsExcelWinAddin.Connect
push 1
push 0x4498c4
push 0x4498c4
push eax
call esi
mov ecx, dword [ebp - 0x814]
push ecx
test eax, eax
jne 0x40cdcf
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esi, [ebp - 0x83c]
call fcn.00413b60
cmp byte [ebp - 0x821], 0
mov byte [ebp - 4], 0xf
mov edi, esi
mov eax, 0x452c14
jne 0x40b643
mov eax, 0x452c18
call fcn.00413c20
lea edx, [ebp - 0x82c]
push edx
lea eax, [ebp - 0x8a4]
push eax
mov ebx, str.InprocServer32
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x10
call fcn.00413c20
lea eax, [ebp - 0x8a4]
mov byte [ebp - 4], 0xf
call fcn.00415c70
mov eax, dword [ebp - 0x818]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea ecx, [ebp - 0x850]
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 - 0x850], 0
call esi
test eax, eax
jne 0x40cfad
mov eax, dword [ebp - 0x83c]
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 0x40cfa0
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 0x40cfa0
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x82c]
push edx
lea eax, [ebp - 0x8fc]
push eax
mov ebx, str.ProgId
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x11
call fcn.00413c20
lea eax, [ebp - 0x8fc]
mov byte [ebp - 4], 0xf
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x850]
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 - 0x850], 0
call esi
test eax, eax
jne 0x40cfad
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]
mov edx, dword [ebp - 0x814]
push edx
test eax, eax
jne 0x40cfa7
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x82c]
push eax
lea ecx, [ebp - 0x8ac]
push ecx
mov ebx, str.Programmable
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x12
call fcn.00413c20
lea eax, [ebp - 0x8ac]
mov byte [ebp - 4], 0xf
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x850]
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 - 0x850], 0
call esi
test eax, eax
jne 0x40cfad
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x82c]
push eax
lea ecx, [ebp - 0x8e4]
push ecx
mov ebx, str.TypeLib
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x13
call fcn.00413c20
lea eax, [ebp - 0x8e4]
mov byte [ebp - 4], 0xf
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x850]
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 - 0x850], 0
call esi
test eax, eax
jne 0x40cfad
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 0x40cfa7
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x82c]
push ecx
lea edx, [ebp - 0x8b4]
push edx
mov ebx, str.Version
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x14
call fcn.00413c20
lea eax, [ebp - 0x8b4]
mov byte [ebp - 4], 0xf
call fcn.00415c70
mov edx, dword [ebp - 0x818]
lea eax, [ebp - 0x850]
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 - 0x850], 0
call esi
test eax, eax
jne 0x40cfad
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 0x40cfa7
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x82c]
push edx
lea eax, [ebp - 0x90c]
push eax
mov ebx, str.VersionIndependentProgID
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x15
call fcn.00413c20
lea eax, [ebp - 0x90c]
mov byte [ebp - 4], 0xf
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x850]
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 - 0x850], ebx
call esi
test eax, eax
jne 0x40cfad
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
mov edx, dword [ebp - 0x814]
push edx
cmp eax, ebx
jne 0x40cfa7
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x83c]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x82c]
mov byte [ebp - 4], bl
call fcn.00415c70
mov ecx, str.CLSID91e47ca2_ac53_4ec8_a089_37dc908bac28
cmp dword [ebp - 0x848], ebx
je 0x40ba62
mov ecx, str.Wow6432NodeCLSID91e47ca2_ac53_4ec8_a089_37dc908bac28
lea eax, [ebp - 0x828]
push eax
call fcn.00413b80
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x828]
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], 0x17
push 0x80000000
mov dword [ebp - 0x84c], ebx
call esi
test eax, eax
jne 0x40ce08
mov eax, dword [ebp - 0x814]
push 0x3c
push str.QsExcelWinAddin.QsExcelWinFunc
push 1
push 0x4498c4
push 0x4498c4
push eax
call edi
cmp eax, ebx
jne 0x40cdfb
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esi, [ebp - 0x840]
call fcn.00413b60
mov byte [ebp - 4], 0x18
mov edi, esi
mov eax, 0x452c14
cmp byte [ebp - 0x821], bl
jne 0x40bb0e
mov eax, 0x452c18
call fcn.00413c20
lea edx, [ebp - 0x828]
push edx
lea eax, [ebp - 0x8bc]
push eax
mov ebx, str.InprocServer32
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x19
call fcn.00413c20
lea eax, [ebp - 0x8bc]
mov byte [ebp - 4], 0x18
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 0x40cf6f
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 0x40cf62
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 0x40cf62
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x828]
push edx
lea eax, [ebp - 0x8ec]
push eax
mov ebx, str.ProgID
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x1a
call fcn.00413c20
lea eax, [ebp - 0x8ec]
mov byte [ebp - 4], 0x18
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 0x40cf6f
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]
test eax, eax
jne 0x40ce2e
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x828]
push eax
lea ecx, [ebp - 0x8c4]
push ecx
mov ebx, str.Programmable
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x1b
call fcn.00413c20
lea eax, [ebp - 0x8c4]
mov byte [ebp - 4], 0x18
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 0x40cf6f
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x828]
push eax
lea ecx, [ebp - 0x904]
push ecx
mov ebx, str.TypeLib
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x1c
call fcn.00413c20
lea eax, [ebp - 0x904]
mov byte [ebp - 4], 0x18
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 0x40cf6f
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 0x40cf62
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x828]
push ecx
lea edx, [ebp - 0x8cc]
push edx
mov ebx, str.Version
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x1d
call fcn.00413c20
lea eax, [ebp - 0x8cc]
mov byte [ebp - 4], 0x18
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 0x40cf6f
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 0x40ce3a
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x828]
push edx
lea eax, [ebp - 0x8f4]
push eax
mov ebx, str.VersionIndependentProgID
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x1e
call fcn.00413c20
lea eax, [ebp - 0x8f4]
mov byte [ebp - 4], 0x18
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x84c]
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 - 0x84c], ebx
call esi
test eax, eax
jne 0x40cf6f
mov ecx, dword [ebp - 0x814]
mov edi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push 0x3c
push str.QsExcelWinAddin.QsExcelWinFunc
push 1
push 0x4498c4
push 0x4498c4
push ecx
call edi
cmp eax, ebx
jne 0x40ce2e
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x840]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x828]
mov byte [ebp - 4], bl
call fcn.00415c70
mov ecx, str.CLSIDcde7b118_2f73_49e1_811c_6a9c3c87c6f9
cmp dword [ebp - 0x848], ebx
je 0x40bf2d
mov ecx, str.Wow6432NodeCLSIDcde7b118_2f73_49e1_811c_6a9c3c87c6f9
lea eax, [ebp - 0x820]
push eax
call fcn.00413b80
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x820]
add eax, 0xfffffff0
call fcn.00416dc0
add eax, 0x10
mov dword [ebp - 0x818], eax
lea ecx, [ebp - 0x838]
push ecx
lea edx, [ebp - 0x814]
push edx
push ebx
push 0xf013f
push ebx
push ebx
push ebx
push eax
mov byte [ebp - 4], 0x20
push 0x80000000
mov dword [ebp - 0x838], ebx
call esi
test eax, eax
jne 0x40ce53
mov eax, dword [ebp - 0x814]
push 0x50
push str.QsExcelWinComOperator.LeftCustomATLPanel
push 1
push 0x4498c4
push 0x4498c4
push eax
call edi
cmp eax, ebx
jne 0x40ce46
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x820]
push edx
lea eax, [ebp - 0x8d4]
push eax
mov ebx, str.Control
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x21
call fcn.00413c20
lea eax, [ebp - 0x8d4]
mov byte [ebp - 4], 0x20
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x838]
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 0x40ce53
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esi, [ebp - 0x834]
call fcn.00413b60
cmp byte [ebp - 0x821], 0
mov byte [ebp - 4], 0x22
mov edi, esi
mov eax, 0x452c1c
jne 0x40c051
mov eax, 0x452c20
call fcn.00413c20
lea edx, [ebp - 0x820]
push edx
lea eax, [ebp - 0x914]
push eax
mov ebx, str.InprocServer32
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x23
call fcn.00413c20
lea eax, [ebp - 0x914]
mov byte [ebp - 4], 0x22
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x838]
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 - 0x838], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cf31
mov eax, dword [ebp - 0x834]
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 0x40cf24
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 0x40cf24
mov ecx, dword [ebp - 0x814]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ecx
call esi
lea edx, [ebp - 0x820]
push edx
lea eax, [ebp - 0x8dc]
push eax
mov ebx, str.MiscStatus
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x24
call fcn.00413c20
lea eax, [ebp - 0x8dc]
mov byte [ebp - 4], 0x22
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x838]
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 - 0x838], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cf31
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 0x40ce79
mov edx, dword [ebp - 0x814]
push edx
call esi
mov eax, edi
push eax
lea ecx, [ebp - 0x8a0]
push ecx
mov ebx, 0x44822c
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x25
call fcn.00413c20
lea eax, [ebp - 0x8a0]
mov byte [ebp - 4], 0x22
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x838]
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 - 0x838], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cf31
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 0x40ce87
mov eax, dword [ebp - 0x814]
push eax
call esi
lea ecx, [ebp - 0x820]
push ecx
lea edx, [ebp - 0x8a8]
push edx
mov ebx, str.ProgId
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x26
call fcn.00413c20
lea eax, [ebp - 0x8a8]
mov byte [ebp - 4], 0x22
call fcn.00415c70
mov edx, dword [ebp - 0x818]
lea eax, [ebp - 0x838]
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 - 0x838], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cf31
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 0x40ce95
mov ecx, dword [ebp - 0x814]
push ecx
call esi
lea edx, [ebp - 0x820]
push edx
lea eax, [ebp - 0x8b0]
push eax
mov ebx, str.Programmable
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x27
call fcn.00413c20
lea eax, [ebp - 0x8b0]
mov byte [ebp - 4], 0x22
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x838]
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 - 0x838], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cf31
mov ecx, dword [ebp - 0x814]
push ecx
call esi
lea edx, [ebp - 0x820]
push edx
lea eax, [ebp - 0x8b8]
push eax
mov ebx, str.ToolboxBitmap32
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x28
call fcn.00413c20
lea eax, [ebp - 0x8b8]
mov byte [ebp - 4], 0x22
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x838]
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 - 0x838], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cf31
lea esi, [ebp - 0x85c]
call fcn.00413b60
cmp byte [ebp - 0x821], 0
mov byte [ebp - 4], 0x29
mov ebx, str.__106
je 0x40c447
lea ecx, [ebp - 0x8c0]
push 0x452c1c
push ecx
call fcn.004141a0
add esp, 8
mov edi, esi
mov byte [ebp - 4], 0x2a
call fcn.00413c20
lea eax, [ebp - 0x8c0]
jmp 0x40c470
lea edx, [ebp - 0x8c8]
push 0x452c20
push edx
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x85c]
mov byte [ebp - 4], 0x2b
call fcn.00413c20
lea eax, [ebp - 0x8c8]
mov byte [ebp - 4], 0x29
call fcn.00415c70
mov eax, dword [ebp - 0x85c]
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
mov eax, dword [ebp - 0x814]
push eax
jne 0x40cea3
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x820]
push ecx
lea edx, [ebp - 0x8d0]
push edx
mov ebx, str.TypeLib
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x2c
call fcn.00413c20
lea eax, [ebp - 0x8d0]
mov byte [ebp - 4], 0x29
call fcn.00415c70
mov edx, dword [ebp - 0x818]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea eax, [ebp - 0x838]
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 - 0x838], 0
call esi
test eax, eax
jne 0x40cea9
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]
mov ecx, dword [ebp - 0x814]
push ecx
test eax, eax
jne 0x40cea3
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0x820]
push edx
lea eax, [ebp - 0x8d8]
push eax
mov ebx, str.Version
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x2d
call fcn.00413c20
lea eax, [ebp - 0x8d8]
mov byte [ebp - 4], 0x29
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x838]
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 - 0x838], 0
call esi
test eax, eax
jne 0x40cea9
mov ecx, dword [ebp - 0x814]
push 6
push 0x448004
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 0x40cea3
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x820]
push eax
lea ecx, [ebp - 0x8e0]
push ecx
mov ebx, str.VersionIndependentProgID
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x2e
call fcn.00413c20
lea eax, [ebp - 0x8e0]
mov byte [ebp - 4], 0x29
call fcn.00415c70
mov ecx, dword [ebp - 0x818]
lea edx, [ebp - 0x838]
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 - 0x838], ebx
call esi
test eax, eax
jne 0x40cea9
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
mov eax, dword [ebp - 0x814]
push eax
jne 0x40cea3
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x85c]
call fcn.00415c70
lea eax, [ebp - 0x834]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x820]
mov byte [ebp - 4], bl
call fcn.00415c70
mov ecx, str.CLSIDEBD9B4A9_3E17_45F0_A1C9_E134043923D3
cmp dword [ebp - 0x848], ebx
je 0x40c6e6
mov ecx, str.Wow6432NodeCLSIDEBD9B4A9_3E17_45F0_A1C9_E134043923D3
lea edx, [ebp - 0x830]
push edx
call fcn.00413b80
mov byte [ebp - 4], 0x2f
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], 0x30
push 0x80000000
mov dword [ebp - 0x854], ebx
call esi
test eax, eax
jne 0x40cebc
mov eax, dword [ebp - 0x814]
push 0x22
push str.ExcelRTDSvr_Class
push 1
push 0x4498c4
push 0x4498c4
push eax
call edi
mov ecx, dword [ebp - 0x814]
push ecx
cmp eax, ebx
jne 0x40ceb6
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esi, [ebp - 0x844]
call fcn.00413b60
mov byte [ebp - 4], 0x31
mov edi, esi
mov eax, 0x452c0c
cmp byte [ebp - 0x821], bl
jne 0x40c792
mov eax, 0x452c10
call fcn.00413c20
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x8e8]
push eax
mov ebx, str.InprocServer32
call fcn.004141a0
add esp, 8
lea edi, [ebp - 0x818]
mov byte [ebp - 4], 0x32
call fcn.00413c20
lea eax, [ebp - 0x8e8]
mov byte [ebp - 4], 0x31
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 0x40cef3
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 0x40cee6
mov eax, dword [ebp - 0x844]
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 0x40cee6
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 - 0x8f0]
push eax
mov ebx, str.ProgId
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x33
call fcn.00413c20
lea eax, [ebp - 0x8f0]
mov byte [ebp - 4], 0x31
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 0x40cef3
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]
mov edx, dword [ebp - 0x814]
push edx
test eax, eax
jne 0x40cee2
call esi
lea eax, [ebp - 0x830]
push eax
lea ecx, [ebp - 0x8f8]
push ecx
mov ebx, str.Programmable
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x34
call fcn.00413c20
lea eax, [ebp - 0x8f8]
mov byte [ebp - 4], 0x31
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 0x40cef3
mov edx, dword [ebp - 0x814]
push edx
call esi
lea eax, [ebp - 0x830]
push eax
lea ecx, [ebp - 0x900]
push ecx
mov ebx, str.TypeLib
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x35
call fcn.00413c20
lea eax, [ebp - 0x900]
mov byte [ebp - 4], 0x31
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 0x40cef3
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
mov eax, dword [ebp - 0x814]
push eax
jne 0x40cee2
call esi
lea ecx, [ebp - 0x830]
push ecx
lea edx, [ebp - 0x908]
push edx
mov ebx, str.Version
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x36
call fcn.00413c20
lea eax, [ebp - 0x908]
mov byte [ebp - 4], 0x31
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 0x40cef3
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 0x40cee2
call esi
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x898]
push eax
mov ebx, str.VersionIndependentProgID
call fcn.004141a0
add esp, 8
mov byte [ebp - 4], 0x37
call fcn.00413c20
lea eax, [ebp - 0x898]
mov byte [ebp - 4], 0x31
call fcn.00415c70
mov eax, dword [ebp - 0x818]
lea ecx, [ebp - 0x854]
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 - 0x854], ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x40cef3
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]
mov edx, dword [ebp - 0x814]
push edx
cmp eax, ebx
jne 0x40cee2
call esi
lea eax, [ebp - 0x844]
call fcn.00415c70
mov eax, edi
call fcn.00415c70
lea eax, [ebp - 0x830]
mov byte [ebp - 4], bl
call fcn.00415c70
mov eax, dword [ebp - 0x848]
inc eax
mov dword [ebp - 0x848], eax
cmp eax, dword [ebp - 0x894]
jl 0x40b470
mov eax, dword [ebp - 0x890]
inc eax
mov dword [ebp - 0x890], eax
cmp eax, dword [ebp - 0x894]
jl 0x40ad00
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x81c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40cbef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
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
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cc2b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x81c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x40cbe3
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x40cc1f
lea eax, [ebx - 0x10]
jmp 0x40cc0e
mov ecx, dword [ebp - 0x814]
push ecx
call edi
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x40cc1f
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x868]
add eax, 0xfffffff0
jmp 0x40cc12
mov ecx, dword [ebp - 0x814]
push ecx
call edi
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x868]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x40cc1f
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x868]
add eax, 0xfffffff0
jmp 0x40cc12
mov ecx, dword [ebp - 0x814]
push ecx
call edi
lea eax, [ebp - 0x868]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov edx, dword [ebp - 0x814]
push edx
call edi
lea eax, [ebp - 0x864]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40cd09
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x88c]
call fcn.00415c70
lea eax, [ebp - 0x860]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov edx, dword [ebp - 0x814]
push edx
jmp 0x40cd3a
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x86c]
call fcn.00415c70
lea eax, [ebp - 0x858]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov edx, dword [ebp - 0x814]
push edx
jmp 0x40cd76
mov eax, dword [ebp - 0x814]
push eax
call edi
lea eax, [ebp - 0x880]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x82c]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x828]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov ecx, dword [ebp - 0x814]
push ecx
jmp 0x40cf69
mov eax, dword [ebp - 0x814]
push eax
jmp 0x40cf69
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x820]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov eax, dword [ebp - 0x814]
push eax
call esi
jmp 0x40cf31
mov ecx, dword [ebp - 0x814]
push ecx
call esi
jmp 0x40cf31
mov edx, dword [ebp - 0x814]
push edx
call esi
jmp 0x40cf31
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x85c]
call fcn.00415c70
jmp 0x40cf31
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x830]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
call esi
jmp 0x40cef3
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 - 0x830]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x834]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x820]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x840]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x828]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov eax, dword [ebp - 0x814]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x83c]
call fcn.00415c70
lea eax, [ebp - 0x818]
call fcn.00415c70
lea eax, [ebp - 0x82c]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef
mov ecx, dword [ebp - 0x814]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x87c]
call fcn.00415c70
lea eax, [ebp - 0x81c]
call fcn.00415c70
jmp 0x40cbef