Function at 0x40906a
Capabilities:
Create process on windows

Disassembly:
push 0x7c
mov eax, 0x413364
call fcn.0041213e
push ecx
lea ecx, [ebp - 0x64]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_class_Cmm::CStringT_wchar_t__const__]
xor ebx, ebx
lea ecx, [ebp - 0x64]
push 0x415990
mov dword [ebp - 4], ebx
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push str.Installer.exe
lea ecx, [ebp - 0x2c]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_wchar_t_const__]
push eax
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], bl
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
push str._upgrade
lea ecx, [ebp - 0x48]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_wchar_t_const__]
mov byte [ebp - 4], 2
call dword [sym.imp.Cmmlib.dll_class_zoom_data::IZoomAppPropData____cdecl_Cmm::GetZoomAppPropData_void_]
mov edi, eax
test edi, edi
je 0x4091a6
push str.Update
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x84], ebx
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_wchar_t_const__]
push str.IdleUpdateState
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 3
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_wchar_t_const__]
push ebx
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 4
mov esi, dword [edi]
push eax
lea eax, [ebp - 0x84]
push eax
mov ecx, dword [esi + 0x14]
lea eax, [ebp - 0x80]
push eax
call dword [0x414664]
mov ecx, edi
call dword [esi + 0x14]
lea ecx, [ebp - 0x80]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
cmp dword [ebp - 0x84], ebx
je 0x409153
push str.__silent
lea ecx, [ebp - 0x48]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push str.Update
lea ecx, [ebp - 0x80]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_wchar_t_const__]
push str.IdleUpdateState
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_wchar_t_const__]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x80]
mov eax, dword [edi]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
mov esi, dword [eax + 0x40]
mov ecx, esi
call dword [0x414664]
mov ecx, edi
call esi
lea ecx, [ebp - 0x2c]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 2
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
call dword [sym.imp.Cmmlib.dll_public:_static_class_Cmm::CommandLine____cdecl_Cmm::CommandLine::ForCurrentProcess_void_]
mov esi, eax
test esi, esi
je 0x4091ca
push str.___prevParam
lea ecx, [ebp - 0x48]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push esi
lea ecx, [ebp - 0x48]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
call fcn.004012f0
test eax, eax
jne 0x4091eb
lea ecx, [ebp - 0x64]
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CStringT_wchar_t_::c_str_void_const]
push ebx
xor edx, edx
mov ecx, eax
call fcn.0040b340
pop ecx
test eax, eax
je 0x409212
push 1
push ebx
lea ecx, [ebp - 0x48]
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CStringT_wchar_t_::c_str_void_const]
push eax
lea ecx, [ebp - 0x64]
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__void_const]
push eax
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
xor ebx, ebx
cmp eax, 0x20
setg bl
lea ecx, [ebp - 0x48]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x64]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
mov eax, ebx
call fcn.004120fc
ret