Function at 0x14001d9f0
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.14001d930
test eax, eax
je 0x14001dcea
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 0x14001da56
cmp eax, 2
jne 0x14001db19
test rsi, rsi
je 0x14001db19
lea rdx, str._InstallDriver
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14001da7b
lea ebx, [rax + 1]
jmp 0x14001db00
lea rdx, str._RepairDriver
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14001da94
lea ebx, [rax + 2]
jmp 0x14001db00
lea rdx, str._SetFileAssoc
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14001daad
lea ebx, [rax + 4]
jmp 0x14001db00
lea rdx, str._AssocAll
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14001dac6
lea ebx, [rax + 5]
jmp 0x14001db00
lea rdx, str._UnassocAll
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x14001dadf
lea ebx, [rax + 6]
jmp 0x14001db00
lea rdx, [0x140044e90]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov ecx, r12d
test eax, eax
sete cl
test ecx, ecx
je 0x14001db19
mov ebx, 7
mov ecx, ebx
call fcn.14001a000
mov edi, eax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, edi
jmp 0x14001dcea
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 0x14001dbe5
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14001dbe5
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbp, rbp
jne 0x14001db6a
xor eax, eax
jmp 0x14001dcea
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbp
repne scasw ax, word [rdi]
not rcx
cmp rcx, rbx
je 0x14001dcea
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 0x14001dcea
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 0x14001dcea
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, [0x140057a60]
call fcn.1400142f0
lea rcx, [rsp + 0xa0]
call fcn.14001b690
nop
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0xa0]
call fcn.14001bc60
test rax, rax
jne 0x14001dc84
lea rcx, [rsp + 0xa0]
call fcn.14001baf0
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14001dc67
call fcn.1400256d8
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x44], r12d
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x14001dc80
call fcn.1400256d8
xor eax, eax
jmp 0x14001dcea
xor edx, edx
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.USER32.dll_ShowWindow]
lea rcx, [rsp + 0x20]
call fcn.140012ac0
mov edi, eax
lea rcx, [0x140057a60]
call fcn.140014980
nop
lea rcx, [rsp + 0xa0]
call fcn.14001baf0
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14001dccf
call fcn.1400256d8
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0x44], r12d
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x14001dce8
call fcn.1400256d8
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