Function at 0x140015dd0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x250
mov rax, qword [0x140060010]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov rdi, rcx
mov rbx, qword [rdx]
mov rax, qword [rcx + 0x18]
mov byte [rax], 0
lea rcx, [rsp + 0x50]
call qword [sym.imp.Cmmlib.dll_public:_void___cdecl_WebviewAgentMessage_DownloadFileResponse::constructor_void____ptr64]
nop
mov rdx, rbx
lea rcx, [rsp + 0x50]
call qword [sym.imp.Cmmlib.dll_public_virtual:_int___cdecl_Cmm::Archive::CmmMessageTemplate_1_class_Cmm::CStringT_wchar_t__::ParseMsg_class_Cmm::CmmMQ_Msg_const____ptr64____ptr64]
test eax, eax
je 0x140015f28
lea rcx, [rsp + 0x50]
call qword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____ptr64___cdecl_WebviewAgentMessage_DownloadFileResponse::Get_downloadId_void____ptr64]
mov rdx, rax
mov rcx, qword [rdi + 0x20]
call qword [reloc.Cmmlib.dll___9__CStringT__W_Cmm__QEBA_NAEBV01__Z]
test al, al
jne 0x140015f28
lea rcx, [rsp + 0x50]
call qword [sym.imp.Cmmlib.dll_public:_int____ptr64___cdecl_WebviewAgentMessage_DownloadFileResponse::Get_isAllowDownload_void____ptr64]
mov rcx, qword [rdi + 0x10]
mov eax, dword [rax]
mov dword [rcx + 0x28], eax
mov rcx, qword [rdi + 0x10]
mov eax, dword [rsp + 0x1c8]
mov dword [rcx + 0x30], eax
lea rcx, [rsp + 0x50]
call qword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____ptr64___cdecl_WebviewAgentMessage_DownloadFileResponse::Get_savePath_void____ptr64]
mov rdx, rax
mov rcx, qword [rdi + 0x10]
call qword [reloc.Cmmlib.dll___4__CStringT__W_Cmm__QEAAAEAV01_AEBV01__Z]
mov rcx, qword [rdi + 0x10]
mov eax, dword [rsp + 0x1a0]
mov dword [rcx + 0x2c], eax
mov rcx, qword [rdi + 0x10]
mov eax, dword [rsp + 0x1f0]
mov dword [rcx + 0x34], eax
mov rcx, qword [rdi + 0x10]
cmp dword [rcx + 0x28], 0
je 0x140015f28
cmp dword [rcx + 0x30], 0
je 0x140015ef5
call qword [sym.imp.Cmmlib.dll_public:_int___cdecl_Cmm::CStringT_wchar_t_::IsEmpty_void_const___ptr64]
test eax, eax
je 0x140015ef5
mov rbx, qword [rdi + 0x20]
mov rcx, qword [rdi + 8]
mov edx, 2
mov rcx, qword [rcx + 0xb0]
call qword [sym.imp.USER32.dll_GetAncestor]
mov rdx, rax
lea r8, [rbx + 0x78]
lea rcx, [rsp + 0x20]
call fcn.1400056b4
mov rdx, rax
mov rcx, qword [rdi + 0x10]
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 + 0x20]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_Cmm::CStringT_wchar_t_::destructor_void____ptr64]
mov rcx, qword [rdi + 0x10]
cmp dword [rcx + 0x2c], 0
jne 0x140015f12
call qword [sym.imp.Cmmlib.dll_public:_wchar_t_const____ptr64___cdecl_Cmm::CStringT_wchar_t_::operator_wchar_t_const____ptr64_void_const___ptr64]
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x140015f20
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.Cmmlib.dll_public:_int___cdecl_Cmm::CStringT_wchar_t_::IsEmpty_void_const___ptr64]
test eax, eax
je 0x140015f28
mov rax, qword [rdi + 0x10]
and dword [rax + 0x28], 0
lea rcx, [rsp + 0x50]
call qword [sym.imp.Cmmlib.dll_public_virtual:_void___cdecl_WebviewAgentMessage_DownloadFileResponse::destructor_void____ptr64]
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140037640
mov rbx, qword [rsp + 0x270]
add rsp, 0x250
pop rdi
ret