Function at 0x1400294c0
Capabilities:
Check mutex on windows
Query environment variable
Set environment variable

Disassembly:
sub rsp, 0x9a8
mov qword [rsp + 0x960], 0xfffffffffffffffe
mov rax, qword [0x1400d6300]
xor rax, rsp
mov qword [rsp + 0x998], rax
mov byte [rsp + 0x1e0], 1
call fcn.14005fdf0
call fcn.140026c90
mov rax, qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x1e8]
inc rax
mov qword [rsp + 0x1e8], rax
mov rax, qword [sym.imp.USER32.dll_LoadStringA]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x1e8]
inc rax
mov qword [rsp + 0x1e8], rax
mov rax, qword [sym.imp.USER32.dll_LoadStringW]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x1e8]
inc rax
mov qword [rsp + 0x1e8], rax
lea rcx, [0x140027840]
call fcn.140072d34
mov rax, qword [0x140109030]
mov rcx, qword [0x140109030]
mov ecx, dword [rcx + 0x18]
mov eax, dword [rax + 0x2c]
xor eax, ecx
mov dword [rsp + 0x968], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, dword [rsp + 0x968]
mov dword [rsp + 0x20], ecx
mov r9d, eax
lea r8, [0x1400da710]
mov edx, 0x104
lea rcx, [rsp + 0x1f0]
call fcn.14007296c
lea r8, [rsp + 0x1f0]
xor edx, edx
mov ecx, 0x1f0001
call qword [sym.imp.KERNEL32.dll_OpenMutexA]
test rax, rax
je 0x1400295d5
mov byte [rsp + 0x1e0], 0
movzx eax, byte [rsp + 0x1e0]
test eax, eax
je 0x1400297e8
mov rax, qword [0x140109030]
mov rcx, qword [0x140109030]
mov ecx, dword [rcx + 0x54]
mov eax, dword [rax + 0x74]
xor eax, ecx
mov rcx, qword [0x140109030]
xor eax, dword [rcx + 0x58]
and eax, 0x20
test eax, eax
je 0x1400297e8
mov rax, qword [0x140109030]
mov rcx, qword [0x140109030]
mov ecx, dword [rcx + 8]
mov eax, dword [rax + 0x10]
xor eax, ecx
mov rcx, qword [0x140109030]
xor eax, dword [rcx + 0x2c]
mov r9d, eax
lea r8, [0x1400da704]
mov edx, 0x104
lea rcx, [rsp + 0x1f0]
call fcn.14007296c
lea r8, [rsp + 0x1f0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov qword [rsp + 0x308], rax
cmp qword [rsp + 0x308], 0
je 0x1400297e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400297e8
mov edx, 0x7530
mov rcx, qword [rsp + 0x308]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [rsp + 0x310], eax
cmp dword [rsp + 0x310], 0
je 0x1400296bb
cmp dword [rsp + 0x310], 0x80
jne 0x1400297de
mov rax, qword [0x140109030]
mov rcx, qword [0x140109030]
mov ecx, dword [rcx + 8]
mov eax, dword [rax + 0x10]
xor eax, ecx
mov rcx, qword [0x140109030]
xor eax, dword [rcx + 0x2c]
mov r9d, eax
lea r8, [0x1400da6fc]
mov edx, 0x104
lea rcx, [rsp + 0x1f0]
call fcn.14007296c
mov dword [rsp + 0x320], 0
jmp 0x140029714
mov eax, dword [rsp + 0x320]
inc eax
mov dword [rsp + 0x320], eax
cmp dword [rsp + 0x320], 0x12c
jge 0x140029758
lea rdx, [rsp + 0x1f0]
lea rcx, [0x1400da6f0]
call qword [sym.imp.USER32.dll_FindWindowA]
mov qword [rsp + 0x318], rax
cmp qword [rsp + 0x318], 0
je 0x14002974b
jmp 0x140029758
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140029704
cmp qword [rsp + 0x318], 0
je 0x1400297d0
mov rax, qword [0x140109030]
mov rcx, qword [0x140109030]
mov ecx, dword [rcx + 8]
mov eax, dword [rax + 0x10]
xor eax, ecx
mov rcx, qword [0x140109030]
xor eax, dword [rcx + 0x2c]
mov eax, eax
mov qword [rsp + 0x328], rax
mov rcx, qword [0x140108d48]
call fcn.14006fd30
inc rax
mov dword [rsp + 0x330], eax
mov rax, qword [0x140108d48]
mov qword [rsp + 0x338], rax
lea r9, [rsp + 0x328]
xor r8d, r8d
mov edx, 0x4a
mov rcx, qword [rsp + 0x318]
call qword [sym.imp.USER32.dll_SendMessageA]
mov rcx, qword [rsp + 0x308]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, 1
jmp 0x140029c33
mov cl, 1
call fcn.140029d00
movzx eax, byte [rsp + 0x1e0]
test eax, eax
je 0x140029bbc
mov rax, qword [0x140109030]
mov rcx, qword [0x140109030]
mov ecx, dword [rcx + 0x54]
mov eax, dword [rax + 0x74]
xor eax, ecx
mov rcx, qword [0x140109030]
xor eax, dword [rcx + 0x58]
and eax, 0x40
test eax, eax
jne 0x140029bbc
mov r8d, 0x200
lea rdx, [rsp + 0x340]
lea rcx, [0x1400da6e8]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x140029bbc
mov r8d, 0xc8
mov edx, 0x23
lea rcx, [rsp + 0x340]
call fcn.140072c40
mov byte [rsp + 0x408], 0
mov dword [rsp + 0x640], 1
jmp 0x14002988a
mov eax, dword [rsp + 0x640]
inc eax
mov dword [rsp + 0x640], eax
cmp dword [rsp + 0x640], 0x40
jg 0x1400298cd
mov r9d, dword [rsp + 0x640]
lea r8, [0x1400da6e0]
mov edx, 0x100
lea rcx, [rsp + 0x540]
call fcn.14007296c
lea rdx, [rsp + 0x340]
lea rcx, [rsp + 0x540]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
jmp 0x14002987a
mov rax, qword [0x140109030]
mov rcx, qword [0x140109030]
mov ecx, dword [rcx + 0x54]
mov eax, dword [rax + 0x74]
xor eax, ecx
mov rcx, qword [0x140109030]
xor eax, dword [rcx + 0x58]
and eax, 0x10
test eax, eax
jne 0x140029bbc
lea rcx, [rsp + 0x700]
call fcn.140050180
nop
lea rcx, [rsp + 0x58]
call fcn.1400254f0
mov qword [rsp + 0x970], rax
mov rax, qword [rsp + 0x970]
mov qword [rsp + 0x978], rax
mov rdx, qword [rsp + 0x978]
lea rcx, [rsp + 0x650]
call fcn.140048c10
nop
lea rcx, [rsp + 0x58]
call fcn.1400256d0
cmp dword [0x140108d40], 1
jne 0x140029985
cmp qword [rsp + 0x718], 0
jne 0x140029985
lea rcx, [rsp + 0x650]
call fcn.140049ac0
movzx eax, al
test eax, eax
jne 0x140029985
lea rcx, [rsp + 0x650]
call fcn.140049640
mov qword [rsp + 0x718], rax
xor edx, edx
lea rcx, [rsp + 0x920]
call fcn.14004f8a0
nop
lea rcx, [rsp + 0x920]
call fcn.14002a410
movzx eax, al
test eax, eax
je 0x1400299e9
mov dword [rsp + 0x950], 0
lea rcx, [rsp + 0x920]
call fcn.1400256d0
nop
lea rcx, [rsp + 0x650]
call fcn.140029cb0
nop
lea rcx, [rsp + 0x700]
call fcn.140029d60
mov eax, dword [rsp + 0x950]
jmp 0x140029c33
lea rcx, [rsp + 0x120]
call fcn.1400503d0
mov qword [rsp + 0x980], rax
mov rax, qword [rsp + 0x980]
mov qword [rsp + 0x988], rax
mov rdx, qword [rsp + 0x988]
lea rcx, [rsp + 0x90]
call fcn.140029c50
nop
lea rcx, [rsp + 0x920]
call fcn.140025700
mov rdx, rax
lea rcx, [rsp + 0x150]
call fcn.140029c50
nop
lea rax, [rsp + 0x6e0]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x700]
mov qword [rsp + 0x40], rax
lea rax, [0x140109270]
mov qword [rsp + 0x38], rax
lea rax, [0x140109270]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x150]
call fcn.14004fb50
test eax, eax
jne 0x140029ab0
mov dword [rsp + 0x990], 1
jmp 0x140029abb
mov dword [rsp + 0x990], 0
movzx eax, byte [rsp + 0x990]
mov byte [rsp + 0x954], al
lea rcx, [rsp + 0x150]
call fcn.140029cb0
nop
lea rcx, [rsp + 0x90]
call fcn.140029cb0
nop
lea rcx, [rsp + 0x120]
call fcn.140025af0
movzx eax, byte [rsp + 0x954]
test eax, eax
je 0x140029b6c
mov dword [0x140108eb4], 6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea r8, [0x1400da6c0]
mov edx, 0x100
lea rcx, [0x140108ee0]
call fcn.14007296c
mov dword [rsp + 0x958], 0
lea rcx, [rsp + 0x920]
call fcn.1400256d0
nop
lea rcx, [rsp + 0x650]
call fcn.140029cb0
nop
lea rcx, [rsp + 0x700]
call fcn.140029d60
mov eax, dword [rsp + 0x958]
jmp 0x140029c33
mov edx, 0x2710
mov rcx, qword [rsp + 0x6e0]
call qword [sym.imp.USER32.dll_WaitForInputIdle]
mov dword [rsp + 0x95c], 1
lea rcx, [rsp + 0x920]
call fcn.1400256d0
nop
lea rcx, [rsp + 0x650]
call fcn.140029cb0
nop
lea rcx, [rsp + 0x700]
call fcn.140029d60
mov eax, dword [rsp + 0x95c]
jmp 0x140029c33
call fcn.1400278a0
mov dword [rsp + 0x300], eax
xor ecx, ecx
call fcn.140029d00
xor ecx, ecx
call fcn.140072d34
cmp dword [rsp + 0x300], 1
jne 0x140029bf4
lea rcx, [0x140108d40]
call qword [0x140108d98]
mov dword [rsp + 0x300], eax
lea rcx, [0x140027840]
call fcn.140072d34
cmp qword [0x140108d90], 0
je 0x140029c10
call qword [0x140108d90]
cmp qword [0x140108ec8], 0
je 0x140029c2c
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x140108ec0]
call qword [0x140108ec8]
mov eax, dword [rsp + 0x300]
mov rcx, qword [rsp + 0x998]
xor rcx, rsp
call fcn.14006fd00
add rsp, 0x9a8
ret