Function at 0x14002baa0
Capabilities:
Create directory
Create process on windows
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rdi
push r14
lea rbp, [rsp - 0x1250]
mov eax, 0x1350
call fcn.140063270
sub rsp, rax
mov rax, qword [0x1400c7070]
xor rax, rsp
mov qword [rbp + 0x1240], rax
mov rbx, rcx
xor edi, edi
add rcx, 0x48
call qword [sym.imp.KERNEL32.dll_TryEnterCriticalSection]
mov edx, dword [rbx + 8]
lea r8, str.ExecuteCurrentInstaller
test eax, eax
je 0x14002c0d4
lea rcx, str._i:__s_Begin_execute._n
mov qword [rsp + 0x1378], rsi
call fcn.14005cb30
xor edx, edx
lea rcx, [rbp + 0x1f0]
mov r8d, 0x208
call fcn.1400659a0
xor edx, edx
lea rcx, [rbp + 0xc20]
mov r8d, 0x208
call fcn.1400659a0
lea rcx, str.String_SetupPath
call sym.Installer.exe_Get
lea rcx, str.String_ApplicationPath
mov rsi, rax
call sym.Installer.exe_Get
mov edx, 0x104
lea rcx, [rbp + 0xc20]
mov r8, qword [rax + 8]
call fcn.14006e2a0
lea rcx, str.int_Force
call sym.Installer.exe_Get
test eax, eax
je 0x14002bb78
lea rcx, str._i:__s_Running_forced._n
jmp 0x14002c082
test rsi, rsi
je 0x14002c07b
mov r8, qword [rsi + 8]
lea rcx, [rbp + 0x1f0]
mov edx, 0x104
call fcn.14006e2a0
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rcx, [rbp + 0xc20]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rax, [rbp + 0x1f0]
lea r8, [rbp + 0xc20]
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x14002bbd5
add rax, 2
test ecx, ecx
jne 0x14002bbc1
test edx, edx
je 0x14002bdf5
xorps xmm1, xmm1
mov dword [rsp + 0x70], 0x68
xor eax, eax
lea rcx, [rbp + 0x400]
xorps xmm0, xmm0
mov qword [rsp + 0x68], rax
xor edx, edx
mov dword [rbp - 0x2c], eax
mov r8d, 0x410
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x74], xmm1
movups xmmword [rbp - 0x7c], xmm1
movups xmmword [rbp - 0x6c], xmm1
movups xmmword [rbp - 0x5c], xmm1
movups xmmword [rbp - 0x4c], xmm1
movups xmmword [rbp - 0x3c], xmm1
call fcn.1400659a0
lea r8, [rbp + 0x1f0]
mov edx, 0x208
lea rcx, [rbp + 0x400]
call fcn.14006e2a0
lea rdx, [0x1400a7fc0]
lea rcx, [rbp + 0x400]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea r8, [0x1400a7fe0]
mov edx, 0x208
lea rcx, [rbp + 0x400]
call fcn.14006e308
lea rcx, str.String_ParrentCommandLine
call sym.Installer.exe_Get
test rax, rax
je 0x14002bc96
mov r8, qword [rax + 8]
test r8, r8
je 0x14002bc96
mov edx, 0x208
lea rcx, [rbp + 0x400]
call fcn.14006e308
lea r8, [0x1400a4958]
mov edx, 0x208
lea rcx, [rbp + 0x400]
call fcn.14006e308
lea rcx, str.String_CommandLine
call sym.Installer.exe_Get
mov edx, 0x208
lea rcx, [rbp + 0x400]
mov r8, qword [rax + 8]
call fcn.14006e308
lea rcx, str.HANDLE_SingleInstance
call sym.Installer.exe_Get
xor edx, edx
lea rcx, str.HANDLE_SingleInstance
mov rsi, rax
call sym.Installer.exe_Put
test rsi, rsi
je 0x14002bcfa
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0x400]
lea rax, [rsp + 0x70]
xor r8d, r8d
mov qword [rsp + 0x40], rax
xor ecx, ecx
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x14002bd75
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [rbx + 8]
lea r9, [rbp + 0x400]
mov dword [rsp + 0x28], eax
lea r8, str.ExecuteCurrentInstaller
lea rax, [rbp + 0x1f0]
lea rcx, str._i:__s__Could_not_create_process__s__setupPath:_s_._ErrCode:_d_n
mov qword [rsp + 0x20], rax
call fcn.14005cb30
jmp 0x14002bdcc
lea rdx, [rbp + 0x1f0]
lea rcx, str.Installer.exe_has_been_started_from__s
call fcn.14005cb30
cmp byte [rbx + 0x74], dil
je 0x14002bdc7
mov rcx, qword [rsp + 0x58]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14002bdc7
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], edi
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
movsxd rdx, dword [rsp + 0x50]
lea rcx, str.int_ReturnCode
call sym.Installer.exe_Put
mov edi, 0x54f
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002bddc
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14002c091
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14002c091
cmp dword [rbx + 0x70], edi
je 0x14002c091
mov edx, dword [rbx + 8]
lea r8, str.ExecuteCurrentInstaller
lea rcx, str._i:__s_Running_from_temp_dir._n
call fcn.14005cb30
xorps xmm1, xmm1
mov dword [rsp + 0x70], 0x68
xor eax, eax
lea rcx, [rbp + 0x400]
xorps xmm0, xmm0
mov qword [rsp + 0x68], rax
xor edx, edx
mov dword [rbp - 0x2c], eax
mov r8d, 0x208
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x74], xmm1
movups xmmword [rbp - 0x7c], xmm1
movups xmmword [rbp - 0x6c], xmm1
movups xmmword [rbp - 0x5c], xmm1
movups xmmword [rbp - 0x4c], xmm1
movups xmmword [rbp - 0x3c], xmm1
call fcn.1400659a0
xor edx, edx
lea rcx, [rbp - 0x20]
mov r8d, 0x208
call fcn.1400659a0
lea rdx, [rbp + 0x400]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea r9, [rbp - 0x20]
xor r8d, r8d
lea rdx, str.Install
lea rcx, [rbp + 0x400]
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
lea rcx, [rbp - 0x20]
call qword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
lea rcx, [rbp - 0x20]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
xor edx, edx
lea rcx, [rbp + 0xe30]
mov r8d, 0x410
call fcn.1400659a0
lea r8, [rbp + 0x1f0]
mov edx, 0x208
lea rcx, [rbp + 0xe30]
call fcn.14006e2a0
xor r9d, r9d
lea rdx, [rbp - 0x20]
mov r8b, 1
lea rcx, [rbp + 0xe30]
call fcn.14005bd60
lea rcx, [rbp - 0x20]
call fcn.14005c370
xor edx, edx
lea rcx, [rbp + 0x810]
mov r8d, 0x410
call fcn.1400659a0
lea r8, [rbp - 0x20]
mov edx, 0x208
lea rcx, [rbp + 0x810]
call fcn.14006e2a0
lea rdx, [0x1400a7fc0]
lea rcx, [rbp + 0x810]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea r8, str.__force
mov edx, 0x208
lea rcx, [rbp + 0x810]
call fcn.14006e308
lea rcx, str.String_ParrentCommandLine
call sym.Installer.exe_Get
mov edx, 0x208
lea rcx, [rbp + 0x810]
mov r8, qword [rax + 8]
call fcn.14006e308
lea r8, [0x1400a4958]
mov edx, 0x208
lea rcx, [rbp + 0x810]
call fcn.14006e308
lea rcx, str.String_CommandLine
call sym.Installer.exe_Get
mov edx, 0x208
lea rcx, [rbp + 0x810]
mov r8, qword [rax + 8]
call fcn.14006e308
lea rcx, str.HANDLE_SingleInstance
call sym.Installer.exe_Get
xor edx, edx
lea rcx, str.HANDLE_SingleInstance
mov rsi, rax
call sym.Installer.exe_Put
test rsi, rsi
je 0x14002bfe1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0x810]
lea rax, [rsp + 0x70]
xor r8d, r8d
mov qword [rsp + 0x40], rax
xor ecx, ecx
lea rax, [rbp - 0x20]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14002c059
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [rbx + 8]
lea r9, [rbp + 0x810]
mov dword [rsp + 0x28], eax
lea r8, str.ExecuteCurrentInstaller
lea rax, [rbp - 0x20]
lea rcx, str._i:__s__Could_not_create_process__S__tmpDir:_S_._ErrCode:_d_n
mov qword [rsp + 0x20], rax
call fcn.14005cb30
mov edi, 0x54f
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14002c069
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14002c091
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14002c091
lea rcx, str._i:__s_SetupPath_not_found._Did_you_run_ReadInstallInfo__n
mov edx, dword [rbx + 8]
lea r8, str.ExecuteCurrentInstaller
call fcn.14005cb30
mov r9, qword [rbx]
mov rcx, rbx
mov byte [rbx + 0x10], 1
mov rax, qword [r9 + 0x18]
call qword [0x1400926f0]
mov edx, dword [rbx + 8]
lea r8, str.ExecuteCurrentInstaller
mov r9d, eax
lea rcx, str._i:__s_End_execute._Next_command__i._n
call fcn.14005cb30
lea rcx, [rbx + 0x48]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rsi, qword [rsp + 0x1378]
mov eax, edi
jmp 0x14002c0e5
lea rcx, str._i:__s_Error:_Multiple_threads_attempting_execution._n
call fcn.14005cb30
mov eax, 0x54f
mov rcx, qword [rbp + 0x1240]
xor rcx, rsp
call fcn.1400625f0
mov rbx, qword [rsp + 0x1380]
add rsp, 0x1350
pop r14
pop rdi
pop rbp
ret