Function at 0x140002b80
Capabilities:
Check mutex on windows

Disassembly:
sub rsp, 0x68
lea r8, str.GlobalS7OIEPG_MUTEX
xor edx, edx
mov rcx, qword [0x1400214f8]
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x140021518], rax
cmp qword [0x140021518], 0
jne 0x140002c22
mov eax, dword [0x140020940]
and eax, 0x40
test eax, eax
jne 0x140002bc9
mov rcx, qword [0x140020948]
mov eax, dword [0x140025264]
cmp dword [rcx], eax
je 0x140002c1d
call fcn.140010ff0
lea rcx, str.ERROR_on_CreateMutex_____
call fcn.140012270
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x1d3
lea rax, [0x140017dd8]
mov qword [rsp + 0x28], rax
mov eax, dword [0x140020060]
mov dword [rsp + 0x20], eax
xor r9d, r9d
lea r8, [0x140017aac]
mov edx, 0x40
lea rcx, str.CreateS7oniepgxGlobals__
call fcn.1400122d0
call fcn.1400110a0
jmp 0x140002e08
lea rax, str.GlobalS7OIEPG_SECTION
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x1d04
xor r9d, r9d
mov r8d, 4
mov rdx, qword [0x1400214f8]
mov rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov qword [0x140021510], rax
cmp qword [0x140021510], 0
je 0x140002d88
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x140002c7f
mov dword [rsp + 0x54], 1
jmp 0x140002c87
mov dword [rsp + 0x54], 0
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 2
mov rcx, qword [0x140021510]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x140002cfe
mov rax, qword [rsp + 0x40]
mov qword [0x140021520], rax
cmp dword [rsp + 0x48], 0
je 0x140002ce4
mov r8d, 0x1d04
xor edx, edx
mov rcx, qword [0x140021520]
call sub.MSVCR90.dll_memset
mov rax, qword [0x140021520]
mov ecx, dword [rax]
add ecx, 1
mov rax, qword [0x140021520]
mov dword [rax], ecx
jmp 0x140002d83
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x4c], eax
mov eax, dword [0x140020940]
and eax, 0x40
test eax, eax
jne 0x140002d26
mov rcx, qword [0x140020948]
mov eax, dword [0x140025264]
cmp dword [rcx], eax
je 0x140002d7e
call fcn.140010ff0
mov edx, dword [rsp + 0x4c]
lea rcx, str.ERROR_on_MapViewOfFile_______LastError_d
call fcn.140012270
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x1ea
lea rax, [0x140017e50]
mov qword [rsp + 0x28], rax
mov eax, dword [0x140020060]
mov dword [rsp + 0x20], eax
xor r9d, r9d
lea r8, [0x140017e60]
mov edx, 0x40
lea rcx, str.CreateS7oniepgxGlobals__
call fcn.1400122d0
call fcn.1400110a0
jmp 0x140002e08
jmp 0x140002e08
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x50], eax
mov eax, dword [0x140020940]
and eax, 0x40
test eax, eax
jne 0x140002db0
mov rcx, qword [0x140020948]
mov eax, dword [0x140025264]
cmp dword [rcx], eax
je 0x140002e08
call fcn.140010ff0
mov edx, dword [rsp + 0x50]
lea rcx, str.ERROR_on_CreateFileMapping_______LastError_d
call fcn.140012270
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x1f1
lea rax, [0x140017ea8]
mov qword [rsp + 0x28], rax
mov eax, dword [0x140020060]
mov dword [rsp + 0x20], eax
xor r9d, r9d
lea r8, [0x140017e64]
mov edx, 0x40
lea rcx, str.CreateS7oniepgxGlobals__
call fcn.1400122d0
call fcn.1400110a0
add rsp, 0x68
ret