Function at 0x140043a40
Capabilities:
Check mutex on windows
Check os version

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x1b8
mov qword [rsp + 0x190], 0xfffffffffffffffe
mov rax, qword [0x1402aa808]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x28], 0
lea r8, str.Global__MFP_ISTDRV__
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rcx, qword [rsp + 0x1c0]
mov qword [rcx + 0x7b0], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0xb7
je 0x140043ab9
cmp dword [rsp + 0x24], 5
jne 0x140043d2f
lea rcx, [rsp + 0x40]
call fcn.140001cf0
nop
lea rcx, [rsp + 0x48]
call fcn.140001cf0
nop
lea rdx, str.CIstDrvApp::CreateMutexObject___Error_n
mov ecx, 5
call fcn.14001c160
lea r8, str.Local__MFP_ISTDRV__
xor edx, edx
mov ecx, 0x1f0001
call qword [sym.imp.KERNEL32.dll_OpenMutexW]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x140043c6a
mov r8d, 0x11c
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.1401ac6a0
mov dword [rsp + 0x60], 0x11c
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [rsp + 0x180], eax
cmp dword [rsp + 0x180], 0
je 0x140043c68
cmp dword [rsp + 0x64], 5
ja 0x140043c68
mov edx, 0x2724
mov rcx, qword [0x1402a42e0]
call fcn.14000f810
mov edx, eax
lea rcx, [rsp + 0x48]
call fcn.140018650
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x1c0]
add rax, 0x158
mov rcx, rax
call fcn.14000ab50
mov r8, rax
lea rdx, [0x140204188]
lea rcx, [rsp + 0x48]
call fcn.14000fd40
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140001da0
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowW]
mov qword [rsp + 0x188], rax
cmp qword [rsp + 0x188], 0
je 0x140043bfd
mov rcx, qword [rsp + 0x188]
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x140043be4
mov edx, 9
mov rcx, qword [rsp + 0x188]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rsp + 0x188]
call qword [sym.imp.USER32.dll_GetLastActivePopup]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x140043c68
mov edx, 0x2724
lea rcx, [rsp + 0x40]
call fcn.140018650
mov dword [rsp + 0x28], eax
mov edx, 0x2724
mov rcx, qword [0x1402a42e0]
call fcn.14000f890
mov dword [rsp + 0x198], eax
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140001da0
mov qword [rsp + 0x1a0], rax
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140001da0
mov ecx, dword [rsp + 0x198]
mov r9d, ecx
mov rcx, qword [rsp + 0x1a0]
mov r8, rcx
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x140043c7e
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x38], 0
mov edx, 0x2ee0
lea rcx, [rsp + 0x48]
call fcn.140018650
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x1c0]
add rax, 0x158
mov rcx, rax
call fcn.14000ab50
mov r8, rax
lea rdx, [0x1402041f8]
lea rcx, [rsp + 0x48]
call fcn.14000fd40
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140001da0
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowW]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
je 0x140043d12
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x140043cfe
mov edx, 9
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetLastActivePopup]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x48]
call fcn.140001d50
nop
lea rcx, [rsp + 0x40]
call fcn.140001d50
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.1401ab2d0
add rsp, 0x1b8
ret