Function at 0x14001e070
Capabilities:
Accept command line arguments
Check mutex on windows

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x270
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov rbp, rcx
call fcn.14001dfb0
test eax, eax
je 0x14001e36a
xor r12d, r12d
mov dword [rsp + 0x2a0], r12d
lea rdx, [rsp + 0x2a0]
mov rcx, rbp
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rsi, rax
mov eax, dword [rsp + 0x2a0]
cmp eax, 1
je 0x14001e0d6
cmp eax, 2
jne 0x14001e199
test rsi, rsi
je 0x14001e199
lea rdx, str._InstallDriver
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14001e0fb
lea ebx, [rax + 1]
jmp 0x14001e180
lea rdx, str._RepairDriver
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14001e114
lea ebx, [rax + 2]
jmp 0x14001e180
lea rdx, str._SetFileAssoc
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14001e12d
lea ebx, [rax + 4]
jmp 0x14001e180
lea rdx, str._AssocAll
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14001e146
lea ebx, [rax + 5]
jmp 0x14001e180
lea rdx, str._UnassocAll
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14001e15f
lea ebx, [rax + 6]
jmp 0x14001e180
lea rdx, [0x140045e90]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ecx, r12d
test eax, eax
sete cl
test ecx, ecx
je 0x14001e199
mov ebx, 7
mov ecx, ebx
call fcn.14001a680
mov edi, eax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, edi
jmp 0x14001e36a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
lea r8, str.BF1D9C80_259D_4cb2_BFAB_B4711D267DF6
mov ebx, 1
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rdi, rax
test rax, rax
je 0x14001e265
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14001e265
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbp, rbp
jne 0x14001e1ea
xor eax, eax
jmp 0x14001e36a
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
cmp rcx, rbx
je 0x14001e36a
lea rdx, str.18EFCD06_56A0_4a2b_A5D6_5E92DE04F72B
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowW]
mov r11, rax
test rax, rax
je 0x14001e36a
mov qword [rsp + 0x90], rbp
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx + rcx]
mov dword [rsp + 0x88], eax
mov qword [rsp + 0x80], r12
lea r9, [rsp + 0x80]
xor r8d, r8d
lea edx, [r8 + 0x4a]
mov rcx, r11
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, ebx
jmp 0x14001e36a
lea rax, vtable.WTL::CMessageLoop.0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x34], r12d
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x44], r12d
lea rdx, [rsp + 0x20]
lea rcx, [0x140058a60]
call fcn.1400149d0
lea rcx, [rsp + 0xa0]
call fcn.14001bd10
nop
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xa0]
call fcn.14001c2e0
test rax, rax
jne 0x14001e304
lea rcx, [rsp + 0xa0]
call fcn.14001c170
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14001e2e7
call fcn.140025c78
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x44], r12d
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x14001e300
call fcn.140025c78
xor eax, eax
jmp 0x14001e36a
xor edx, edx
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.USER32.dll_ShowWindow]
lea rcx, [rsp + 0x20]
call fcn.1400131d0
mov edi, eax
lea rcx, [0x140058a60]
call fcn.140015060
nop
lea rcx, [rsp + 0xa0]
call fcn.14001c170
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14001e34f
call fcn.140025c78
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x44], r12d
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x14001e368
call fcn.140025c78
mov eax, edi
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret