Function at 0x18000f4b0
Capabilities:
Check mutex on windows

Disassembly:
mov r11, rsp
sub rsp, 0x268
mov rax, qword [0x18009c160]
xor rax, rsp
mov qword [rsp + 0x230], rax
cmp dword [0x1800b1b40], 0
mov qword [r11 + 0x18], rbp
mov qword [r11 - 8], rsi
mov qword [r11 - 0x10], rdi
mov rsi, rcx
mov qword [r11 - 0x28], r14
je 0x18000f507
lea r9, str.CAgentU64Thread::Run_1
lea r8, str.AgentU64
lea rcx, [0x1800b1a88]
mov edx, 0x1f
call fcn.180008e60
lea rcx, vtable.CSDAgentTester.0
xor r14d, r14d
call fcn.180006300
mov ecx, r14d
mov edi, 1
test eax, eax
cmovne ecx, edi
call fcn.180001870
lea rcx, vtable.CSDAgentTester.0
call fcn.180006300
mov ecx, r14d
test eax, eax
cmovne ecx, edi
xor edx, edx
call fcn.180002280
mov rcx, qword [rsi + 0x20]
mov edx, 0x3e8
mov ebp, r14d
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x18000f77d
mov qword [rsp + 0x250], r12
mov qword [rsp + 0x248], r13
lea r13, str.TEC_OCULAR__AGENT_V3_MUTEX_AGENT
mov qword [rsp + 0x278], rbx
lea r12, str.Global_
cmp dword [rsi + 0x48], r14d
jne 0x18000f765
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [rsi + 0x40]
mov edi, eax
call fcn.18000fc50
test edi, edi
je 0x18000f5b7
cmp edi, ebp
jb 0x18000f5b7
lea ecx, [rbp + 0x3a98]
cmp edi, ecx
jbe 0x18000f71a
lea rcx, [rsp + 0x22]
xor edx, edx
mov r8d, 0x206
mov ebp, edi
mov word [rsp + 0x20], r14w
call fcn.18001ab30
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rbx, rcx
cmp rcx, 0x104
jae 0x18000f6d3
call fcn.18002fa90
test eax, eax
je 0x18000f6b6
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r12
repne scasw ax, word [rdi]
not rcx
dec rcx
add rcx, rbx
cmp rcx, 0x104
ja 0x18000f6d3
mov rcx, r14
nop word [rax + rax]
movzx eax, word [rcx + r12]
add rcx, 2
mov word [rsp + rcx + 0x1e], ax
test ax, ax
jne 0x18000f630
xor eax, eax
lea rdi, [rsp + 0x20]
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
mov rax, qword [str.TEC_OCULAR__AGENT_V3_MUTEX_AGENT]
mov qword [rdi - 2], rax
mov rax, qword [0x180080868]
mov qword [rdi + 6], rax
mov rax, qword [0x180080870]
mov qword [rdi + 0xe], rax
mov rax, qword [0x180080878]
mov qword [rdi + 0x16], rax
mov rax, qword [0x180080880]
mov qword [rdi + 0x1e], rax
mov rax, qword [0x180080888]
mov qword [rdi + 0x26], rax
mov rax, qword [0x180080890]
mov qword [rdi + 0x2e], rax
mov rax, qword [0x180080898]
mov qword [rdi + 0x36], rax
movzx eax, word [0x1800808a0]
mov word [rdi + 0x3e], ax
jmp 0x18000f6d3
mov rcx, r14
nop dword [rax]
movzx eax, word [rcx + r13]
add rcx, 2
mov word [rsp + rcx + 0x1e], ax
test ax, ax
jne 0x18000f6c0
lea r8, [rsp + 0x20]
xor edx, edx
mov ecx, 0x100000
call qword [sym.imp.KERNEL32.dll_OpenMutexW]
test rax, rax
jne 0x18000f70a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x18000f713
mov eax, dword [0x1800b2548]
cmp eax, 0xc
ja 0x18000f736
inc eax
mov dword [0x1800b2548], eax
jmp 0x18000f71a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x1800b2548], r14d
mov rcx, qword [rsi + 0x20]
mov edx, 0x3e8
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x18000f586
jmp 0x18000f765
cmp dword [0x1800b1b40], r14d
je 0x18000f75e
lea r9, str.CAgentU64Thread::Run_2
lea r8, str.AgentU64
lea rcx, [0x1800b1a88]
mov edx, reloc.WS2_32.dll_ntohs
call fcn.180008e60
mov dword [0x1800b2548], r14d
mov rbx, qword [rsp + 0x278]
mov r12, qword [rsp + 0x250]
mov r13, qword [rsp + 0x248]
mov rcx, rsi
call fcn.18000f3d0
mov rcx, rsi
call fcn.180017850
cmp dword [0x1800b1b40], 0
mov r14, qword [rsp + 0x240]
mov rdi, qword [rsp + 0x258]
mov rsi, qword [rsp + 0x260]
mov rbp, qword [rsp + 0x280]
je 0x18000f7d5
lea r9, str.CAgentU64Thread::Run_2
lea r8, str.AgentU64
lea rcx, [0x1800b1a88]
mov edx, 0x1f
call fcn.180008e60
xor eax, eax
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.1800190b0
add rsp, 0x268
ret