Function at 0x140022180
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x2b0
mov rax, qword [0x14005f148]
xor rax, rsp
mov qword [rsp + 0x2a0], rax
mov rdi, rcx
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_void____ptr64]
nop
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x60]
lea r8, str.OIPVersion
lea rdx, str.SoftwareIM_ProvidersZoom
mov rcx, 0xffffffff80000002
call qword [sym.imp.Cmmlib.dll_public:_static_int___cdecl_CRegistryHelper::ReadReg_struct_HKEY______ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__class_Cmm::CStringT_wchar_t_____ptr64__unsigned_long_int_]
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_int___cdecl_Cmm::CStringT_wchar_t_::IsEmpty_void_const___ptr64]
mov ebx, eax
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
test ebx, ebx
jne 0x140022285
mov rcx, rdi
call fcn.140021280
mov ebx, 0x200
mov ecx, 0x100
test eax, eax
cmovne ebx, ecx
mov r9d, ebx
lea r8, str.FriendlyName
lea rdx, str.SoftwareIM_ProvidersZoom
mov rcx, 0xffffffff80000002
call qword [sym.imp.Cmmlib.dll_public:_static_int___cdecl_CRegistryHelper::DeleteValue_struct_HKEY______ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__unsigned_long_int_]
mov r9d, ebx
lea r8, str.ProcessName
lea rdx, str.SoftwareIM_ProvidersZoom
mov rcx, 0xffffffff80000002
call qword [sym.imp.Cmmlib.dll_public:_static_int___cdecl_CRegistryHelper::DeleteValue_struct_HKEY______ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__unsigned_long_int_]
mov r9d, ebx
lea r8, str.GUID
lea rdx, str.SoftwareIM_ProvidersZoom
mov rcx, 0xffffffff80000002
call qword [sym.imp.Cmmlib.dll_public:_static_int___cdecl_CRegistryHelper::DeleteValue_struct_HKEY______ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__unsigned_long_int_]
xor r9d, r9d
lea r8, str.OIPVersion
lea rdx, str.SoftwareIM_ProvidersZoom
mov rcx, 0xffffffff80000002
call qword [sym.imp.Cmmlib.dll_public:_static_int___cdecl_CRegistryHelper::DeleteValue_struct_HKEY______ptr64__wchar_t_const____ptr64__wchar_t_const____ptr64__unsigned_long_int_]
mov dword [rsp + 0x30], 0
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.14001f870
cmp eax, 1
jne 0x1400222b7
mov rcx, rdi
call fcn.14001f270
mov rcx, rdi
call fcn.14001ede0
mov rcx, rdi
call fcn.14001f700
lea rdx, str.ECF2380D_06DD_4BD6_94C2_64F21CA4FBC8
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_wchar_t_const____ptr64____ptr64]
mov rdx, rax
mov rcx, rdi
call fcn.140021390
cmp eax, 1
jne 0x1400223d3
lea rdx, str.ECF2380D_06DD_4BD6_94C2_64F21CA4FBC8
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_wchar_t_const____ptr64____ptr64]
mov rdx, rax
mov rcx, rdi
call fcn.140020ea0
cmp eax, 1
jne 0x1400223cb
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x90]
call sub.VCRUNTIME140.dll_memset
mov r8d, 0x104
lea rdx, [rsp + 0x90]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rcx, [rsp + 0x90]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_Cmm::CStringT_wchar_t_::constructor_wchar_t_const____ptr64____ptr64]
nop
lea r8, [0x1400408c8]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t____cdecl_Cmm::CStringT_wchar_t_::operator_wchar_t_const____ptr64____ptr64]
mov rdx, rax
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____ptr64___cdecl_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t_____ptr64____ptr64]
lea rcx, [rsp + 0x38]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400223be
mov rcx, rdi
call fcn.140020910
test eax, eax
je 0x1400223be
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::c_str_void_const___ptr64]
mov rdx, rax
xor r8d, r8d
mov rcx, rdi
call fcn.140021570
nop
lea rcx, [rsp + 0x60]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
jmp 0x1400223d3
mov rcx, rdi
call fcn.14001f700
mov rcx, qword [rsp + 0x2a0]
xor rcx, rsp
call fcn.140031320
mov rbx, qword [rsp + 0x2c8]
add rsp, 0x2b0
pop rdi
ret