Function at 0x140004120
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x70
mov rdi, rcx
lea r8, str.LocalDCCW_Startup_Mutex
xor ebx, ebx
xor ecx, ecx
xor bpl, bpl
xor r15b, r15b
lea edx, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
nop dword [rax + rax]
mov qword [0x140019bc8], rax
mov r14d, 0x2710
test rax, rax
je 0x140004194
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0xb7
jne 0x140004194
mov rcx, qword [0x140019bc8]
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop dword [rax + rax]
lea rcx, str.Microsoft.Windows.ICM.DCCW.Activate
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
nop dword [rax + rax]
mov rdx, qword [0x140019060]
lea rcx, [rsp + 0x60]
mov dword [0x140019bd8], eax
mov r8d, 4
lea rax, [0x140019c88]
mov dword [rsp + 0x60], 0x67727473
mov qword [rsp + 0x68], rax
call fcn.140010234
mov rdx, qword [rsp + 0x68]
lea rcx, str.NativeHWNDHost
call qword [sym.imp.USER32.dll_FindWindowW]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
je 0x14000427d
and dword [rsp + 0xa0], ebx
lea rdx, [rsp + 0xa0]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
nop dword [rax + rax]
mov ecx, dword [rsp + 0xa0]
call qword [sym.imp.USER32.dll_AllowSetForegroundWindow]
nop dword [rax + rax]
mov edx, dword [0x140019bd8]
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov dword [rsp + 0x28], r14d
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], 2
call qword [sym.imp.USER32.dll_SendMessageTimeoutW]
nop dword [rax + rax]
test rax, rax
je 0x14000427d
cmp qword [rsp + 0xa8], 0x77636364
jne 0x14000427d
mov ebx, 0x800700b7
mov r15b, 1
or dword [rdi + 0x4c], 0x14000004
mov r14d, 0x64
mov qword [rdi + 0x60], r14
test ebx, ebx
js 0x140004a8e
mov r13d, 0x118
mov ecx, r13d
call fcn.14001076c
lea rsi, [rdi + 0xb8]
mov rbx, rax
test rax, rax
je 0x1400042dd
mov rax, qword [rdi + 0xc8]
lea r8d, [r14 - 0x5f]
mov r9, rsi
mov qword [rsp + 0x20], rax
mov edx, r14d
mov rcx, rbx
call fcn.140009468
lea rax, [0x1400131d8]
mov qword [rbx], rax
jmp 0x1400042df
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov rcx, r13
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x140004330
mov rcx, qword [rdi + 0xc8]
mov edx, 0x69
mov qword [rsp + 0x20], rcx
mov r9, rsi
mov rcx, rax
lea r8d, [rdx - 0x5a]
call fcn.140009468
lea rax, fcn.1400055c0
mov qword [rbx], rax
jmp 0x140004332
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov r13d, 0x148
mov ecx, r13d
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x1400043b4
mov rcx, qword [rdi + 0xc8]
mov edx, 0x9b
mov qword [rsp + 0x50], rcx
mov rcx, rax
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], 0x226
mov dword [rsp + 0x38], 0x221
lea r9d, [rdx - 0x41]
mov dword [rsp + 0x30], 0x21c
lea r8d, [rdx - 0x46]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 0x5f
call fcn.14000ad2c
lea rax, [0x140012b18]
mov qword [rbx], rax
jmp 0x1400043b6
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov ecx, 0x180
call fcn.14001076c
mov rbx, rax
mov r14d, 0x6e
test rax, rax
je 0x140004422
mov rcx, qword [rdi + 0xc8]
lea edx, [r14 + 0x32]
mov byte [rsp + 0x38], bpl
mov r9d, 0x22b
mov qword [rsp + 0x30], rcx
mov r8d, r14d
mov qword [rsp + 0x28], rsi
mov rcx, rax
mov dword [rsp + 0x20], 0x228
call fcn.14000b4d0
lea rax, [0x140012a80]
mov qword [rbx], rax
jmp 0x140004424
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov ecx, 0x118
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x140004477
mov rcx, qword [rdi + 0xc8]
mov r9, rsi
mov qword [rsp + 0x20], rcx
mov r8d, 0x14
mov rcx, rax
mov edx, r14d
call fcn.140009468
lea rax, [0x140012590]
mov qword [rbx], rax
jmp 0x140004480
xor ebx, ebx
lea rsi, [rdi + 0xb8]
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov rcx, r13
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x1400044ff
mov rcx, qword [rdi + 0xc8]
mov edx, 0x87
mov qword [rsp + 0x50], rcx
mov rcx, rax
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], 0x1fe
mov dword [rsp + 0x38], 0x1f9
lea r9d, [rdx - 0x69]
mov dword [rsp + 0x30], 0x1f4
lea r8d, [rdx - 0x6e]
mov dword [rsp + 0x28], 0x28
mov dword [rsp + 0x20], 0x23
call fcn.14000ad2c
lea rax, [0x140012ef8]
mov qword [rbx], rax
jmp 0x140004501
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov rcx, r13
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x140004562
mov rcx, qword [rdi + 0xc8]
mov edx, 0x78
mov qword [rsp + 0x30], rcx
mov r9d, 0x203
mov qword [rsp + 0x28], rsi
mov rcx, rax
mov dword [rsp + 0x20], 0x226
lea r8d, [rdx - 0x46]
call fcn.140005818
lea rax, fcn.140005730
mov qword [rbx], rax
jmp 0x140004564
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov rcx, r13
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x1400045e3
mov rcx, qword [rdi + 0xc8]
mov edx, 0x91
mov qword [rsp + 0x50], rcx
mov rcx, rax
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], 0x212
mov dword [rsp + 0x38], 0x20d
lea r9d, [rdx - 0x55]
mov dword [rsp + 0x30], 0x208
lea r8d, [rdx - 0x5a]
mov dword [rsp + 0x28], 0x46
mov dword [rsp + 0x20], 0x41
call fcn.14000ad2c
lea rax, [0x140012ff0]
mov qword [rbx], rax
jmp 0x1400045e5
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov rcx, r13
call fcn.14001076c
mov rbx, rax
mov r13d, 0x227
test rax, rax
je 0x140004647
mov rcx, qword [rdi + 0xc8]
lea r9d, [r13 - 0x10]
mov qword [rsp + 0x30], rcx
mov edx, 0x82
mov qword [rsp + 0x28], rsi
mov rcx, rax
mov dword [rsp + 0x20], r13d
lea r8d, [rdx - 0x32]
call fcn.140005818
lea rax, fcn.140005730
mov qword [rbx], rax
jmp 0x140004650
xor ebx, ebx
lea rsi, [rdi + 0xb8]
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov r14d, 0x178
mov ecx, r14d
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x1400046bc
mov rcx, qword [rdi + 0xc8]
mov edx, 0x8c
mov byte [rsp + 0x38], 1
mov r9d, 0x203
mov qword [rsp + 0x30], rcx
mov rcx, rax
mov qword [rsp + 0x28], rsi
lea r8d, [rdx - 0x5a]
mov dword [rsp + 0x20], 0x226
call fcn.14000b4d0
lea rax, fcn.140009fc0
mov qword [rbx], rax
jmp 0x1400046be
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov rcx, r14
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x140004721
mov rcx, qword [rdi + 0xc8]
mov edx, 0x96
mov byte [rsp + 0x38], 1
mov r9d, 0x217
mov qword [rsp + 0x30], rcx
mov rcx, rax
mov qword [rsp + 0x28], rsi
lea r8d, [rdx - 0x46]
mov dword [rsp + 0x20], r13d
call fcn.14000b4d0
lea rax, fcn.140009fc0
mov qword [rbx], rax
jmp 0x140004723
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov r14d, 0x118
mov ecx, r14d
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x140004779
mov rcx, qword [rdi + 0xc8]
lea edx, [r14 - 0x73]
mov qword [rsp + 0x20], rcx
lea r8d, [rdx - 0x32]
mov rcx, rax
mov r9, rsi
call fcn.140009468
lea rax, [0x140012bd0]
mov qword [rbx], rax
jmp 0x14000477b
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov ecx, 0x150
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x1400047e6
mov rcx, qword [rdi + 0xc8]
mov edx, 0xaf
mov qword [rsp + 0x30], rcx
mov r9d, 0x24e
mov qword [rsp + 0x28], rsi
mov rcx, rax
mov dword [rsp + 0x20], 0x229
lea r8d, [rdx - 0x2d]
call fcn.140005818
and qword [rbx + 0x148], 0
lea rax, [0x140012d58]
mov qword [rbx], rax
jmp 0x1400047ef
xor ebx, ebx
lea rsi, [rdi + 0xb8]
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov rcx, r14
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x140004840
mov rcx, qword [rdi + 0xc8]
mov edx, 0xb4
mov qword [rsp + 0x20], rcx
mov r9, rsi
mov rcx, rax
lea r8d, [rdx - 0x3c]
call fcn.140009468
lea rax, [0x140013118]
mov qword [rbx], rax
jmp 0x140004842
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov ecx, 0x1a8
call fcn.14001076c
test rax, rax
je 0x140004878
mov r8, qword [rdi + 0xc8]
mov rdx, rsi
mov rcx, rax
call fcn.14000ca28
mov rdx, rax
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov r14d, 0x120
mov ecx, r14d
call fcn.14001076c
lea r13d, [r14 - 0x53]
mov rbx, rax
test rax, rax
je 0x1400048db
mov rcx, qword [rdi + 0xc8]
lea edx, [r14 - 0x49]
mov qword [rsp + 0x20], rcx
mov r9, rsi
mov rcx, rax
mov r8d, r13d
call fcn.140009468
lea rax, fcn.1400055c0
mov dword [rbx + 0x118], 1
mov qword [rbx], rax
jmp 0x1400048dd
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov rcx, r14
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x140004937
mov rcx, qword [rdi + 0xc8]
mov r9, rsi
mov qword [rsp + 0x20], rcx
mov r8d, r13d
mov rcx, rax
mov edx, 0xdc
call fcn.140009468
lea rax, [0x140013050]
mov dword [rbx + 0x118], 1
mov qword [rbx], rax
jmp 0x140004940
xor ebx, ebx
lea rsi, [rdi + 0xb8]
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
mov ecx, 0x118
call fcn.14001076c
mov rbx, rax
test rax, rax
je 0x140004993
mov rcx, qword [rdi + 0xc8]
mov edx, 0xe1
mov qword [rsp + 0x20], rcx
mov r9, rsi
mov rcx, rax
lea r8d, [rdx - 0xf]
call fcn.140009468
lea rax, [0x140013230]
mov qword [rbx], rax
jmp 0x140004995
xor ebx, ebx
mov rdx, rbx
mov rcx, rdi
call fcn.140004ed0
mov ebx, eax
test eax, eax
js 0x140004a8e
xor ebx, ebx
lea r14, [0x140019be0]
lea rsi, str.Microsoft.Windows.WindowsColorSystem.Dccw.GetDialogId
mov rcx, qword [rsi]
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
nop dword [rax + rax]
mov dword [r14], eax
mov r13d, 0x80070000
test eax, eax
je 0x1400049ec
add rsi, 8
lea rax, [0x140013418]
add r14, 4
cmp rsi, rax
jl 0x1400049ba
jmp 0x140004a03
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, r13d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140004a8e
lea rcx, [rdi + 0x1a8]
call qword [sym.imp.mscms.dll_WcsGetCalibrationManagementState]
nop dword [rax + rax]
test eax, eax
jne 0x140004a4b
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
mov edx, 0x13a
or ebx, r13d
test eax, eax
cmovle ebx, eax
xor ecx, ecx
mov r8d, ebx
call fcn.14000e600
mov bpl, 1
test ebx, ebx
js 0x140004a8e
xor ecx, ecx
call qword [sym.imp.mscms.dll_WcsSetCalibrationManagementState]
nop dword [rax + rax]
test eax, eax
jne 0x140004a8a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
mov edx, 0x13c
or ebx, r13d
test eax, eax
cmovle ebx, eax
xor ecx, ecx
mov r8d, ebx
call fcn.14000e600
mov bpl, 1
test ebx, ebx
jns 0x140004ada
mov rcx, qword [0x140019bc8]
test rcx, rcx
je 0x140004ac1
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
nop dword [rax + rax]
mov rcx, qword [0x140019bc8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
and qword [0x140019bc8], 0
test bpl, bpl
jne 0x140004ada
test r15b, r15b
jne 0x140004ada
mov r8d, ebx
mov edx, 0x13e
xor ecx, ecx
call fcn.14000e600
lea rcx, [rsp + 0x60]
call fcn.14000fe5c
lea r11, [rsp + 0x70]
mov eax, ebx
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret