Function at 0x14007e9c0
Capabilities:
Check if file exists
Copy file
Create process on windows
Get common file path
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xa40]
sub rsp, 0xb40
mov rbx, rcx
mov rcx, qword [rcx + 0xa8]
add rcx, 0x29c
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14007ea10
mov rdx, qword [rbx + 0xa8]
add rdx, 0x29c
call fcn.140091c50
xor edx, edx
xor ecx, ecx
call fcn.14001b8e0
xor esi, esi
lea r14, [0x14021a0b0]
lea r15, [0x140219fb0]
lea r12, [0x140214c7a]
test al, al
je 0x14007ea80
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r15
lea rax, str.Install_Found
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r12
lea r9, [0x140214c2a]
lea r8, [0x140214b2a]
lea edx, [rsi + 1]
lea rcx, [0x140214a00]
call fcn.140058730
mov rdx, qword [rbx + 0xa8]
add rdx, 0x29c
call fcn.140092e10
test eax, eax
je 0x14007eaae
mov rcx, qword [rbx + 0xa8]
add rcx, 0x29c
call fcn.14000c550
test al, al
jne 0x14007eb02
lea rax, [rbp + 0x640]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x1a]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jne 0x14007eb02
mov rcx, qword [rbx + 0xa8]
lea rax, [rcx + 0x94]
add rcx, 0x29c
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x640]
lea r8, [0x1401bff50]
mov edx, 0x103
call fcn.14001b5c0
mov rdx, qword [rbx + 0xa8]
add rdx, 0x29c
call fcn.140092e10
test eax, eax
je 0x14007efce
mov rdx, qword [rbx + 0xb8]
mov rcx, rbx
call fcn.14007d600
test al, al
jne 0x14007ebec
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r15
lea rax, str.Install_Fail_Extract_Core
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r12
lea r9, [0x140214c2a]
lea r8, [0x140214b2a]
mov edx, 1
lea rcx, [0x140214a00]
call fcn.140058730
lea rax, [rbp]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x1a]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x14007f01c
mov r9, 0xffffffffffffffff
lea r8, str.MetaQuotesWebInstall
mov edx, 0x104
lea rcx, [rbp]
call fcn.14003e19c
xor edx, edx
lea rcx, [rbp]
call fcn.14008e510
mov rcx, qword [rbx + 0x5af0]
test rcx, rcx
je 0x14007f01c
add rcx, 0x20
xor edx, edx
call fcn.14008e510
jmp 0x14007f01c
mov rcx, rbx
call fcn.14007c2a0
test al, al
je 0x14007f01c
mov rcx, rbx
call fcn.14007d850
mov byte [rbx + 0x5e2a], al
test al, al
je 0x14007f01c
mov qword [rbp + 0xa78], rsi
mov dword [rbp + 0xa70], esi
lea r9, [rbp + 0xa70]
lea r8, [rbp + 0xa78]
mov edx, 5
mov rcx, qword [rbx + 0xc0]
call fcn.14001b4d0
test al, al
je 0x14007ec59
mov rdx, qword [rbx + 0xc0]
mov rcx, rbx
call fcn.14007d600
test al, al
je 0x14007f01c
mov rcx, rbx
call fcn.14007bde0
test al, al
jne 0x14007ecb3
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r15
lea rax, str.Install_Fail_Create_Shortcut
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r12
lea r9, [0x140214c2a]
lea r8, [0x140214b2a]
mov edx, 1
lea rcx, [0x140214a00]
call fcn.140058730
lea rax, [rbp + 0x18]
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], esi
mov dword [rbp + 0x14], 0x104
mov word [rbp + 0x18], si
lea rcx, [0x1401b6698]
mov qword [rbp], rcx
lea rax, [rbp + 0x238]
mov qword [rbp + 0x228], rax
mov dword [rbp + 0x230], esi
mov dword [rbp + 0x234], 0x104
mov word [rbp + 0x238], si
mov qword [rbp + 0x220], rcx
xor dil, dil
lea r8, str.Create_uninstall
lea rdx, str.Install
lea rcx, [0x1402284e0]
call fcn.140091190
mov r8d, dword [rbp + 0x14]
mov rdx, qword [rbp + 8]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x14007ed43
mov edx, dword [rbp + 0x14]
call fcn.14003c464
mov dword [rbp + 0x10], eax
jmp 0x14007ed46
mov dword [rbp + 0x10], esi
mov r8, qword [rbx + 0xa8]
add r8, 0x29c
lea rdx, str._suninstall.exe
lea rcx, [rbp + 0x220]
call fcn.140003670
xor r8d, r8d
mov rdx, qword [rbp + 0x228]
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x14007ed91
mov dil, 1
lea rdx, [rbp + 0x220]
mov rcx, rbx
call fcn.14007b780
lea rax, str.done
lea r9, str.failed
test dil, dil
cmovne r9, rax
lea r8, str.Create_uninstall__s
lea rdx, str.Install
lea rcx, [0x1402284e0]
call fcn.140091190
nop
test dil, dil
jne 0x14007ee14
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r15
lea rax, str.Install_Fail_Create_Uninstall
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r12
lea r9, [0x140214c2a]
lea r8, [0x140214b2a]
mov edx, 1
lea rcx, [0x140214a00]
call fcn.140058730
mov rcx, rbx
call fcn.14007ad60
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rax
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x238]
mov qword [rbp + 0x228], rax
mov dword [rbp + 0x230], esi
mov dword [rbp + 0x234], 0x200
mov word [rbp + 0x238], si
lea rax, [0x1401b7168]
mov qword [rbp + 0x220], rax
lea r8, str.Run_setup
lea rdx, str.Install
lea rcx, [0x1402284e0]
call fcn.140091190
mov r8, qword [rbx + 0xa8]
lea r9, [r8 + 0x4a4]
add r8, 0x29c
lea rdx, str.__s_s___install
lea rcx, [rbp + 0x220]
call fcn.140003670
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp + 0x228]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x14007ef2a
mov r9, qword [rbp + 0x228]
lea r8, str.Start__s_failed
lea rdx, str.Install
lea rcx, [0x1402284e0]
call fcn.140091190
lea rax, str.Install_Fail_Start_Program
jmp 0x14007efd5
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14007ef4a
mov edx, 0xea60
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14007ef5a
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r15
lea rax, str.Install_Executed
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r12
lea r9, [0x140214c2a]
lea r8, [0x140214b2a]
mov edx, 1
lea rcx, [0x140214a00]
call fcn.140058730
lea r8, str.Run_setup_done
lea rdx, str.Install
lea rcx, [0x1402284e0]
call fcn.140091190
mov rcx, rbx
call fcn.14007e3e0
mov al, 1
jmp 0x14007f034
lea rax, str.Install_Fail_Create_Folder
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r12
lea r9, [0x140214c2a]
lea r8, [0x140214b2a]
mov edx, 1
lea rcx, [0x140214a00]
call fcn.140058730
xor r9d, r9d
mov edx, 0x464
lea r8d, [r9 + 7]
mov rcx, qword [rbx + 8]
call qword [sym.imp.USER32.dll_PostMessageW]
xor al, al
lea r11, [rsp + 0xb40]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret