Function at 0x140097410
Capabilities:
Check mutex on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x4e0]
sub rsp, 0x5e0
mov rax, qword [0x140277eb8]
xor rax, rsp
mov qword [rbp + 0x4d0], rax
mov rbx, rcx
lea rdx, [rbp + 0x330]
xor edi, edi
add rcx, 0x50
mov dword [rsp + 0x30], edi
call fcn.140010490
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x140097462
mov rsi, qword [rax]
mov r14, qword [rax + 0x10]
mov qword [rsp + 0x30], 0xffffffffffffffff
test r14, r14
je 0x14009750b
xorps xmm0, xmm0
lea rcx, [rbp + 0x42d]
xor eax, eax
xor edx, edx
mov r8d, 0xa3
mov qword [rbp + 0x420], rax
movups xmmword [rbp + 0x3d0], xmm0
mov dword [rbp + 0x428], eax
movups xmmword [rbp + 0x3e0], xmm0
movups xmmword [rbp + 0x3f0], xmm0
movups xmmword [rbp + 0x400], xmm0
movups xmmword [rbp + 0x410], xmm0
call fcn.1401872d0
lea rax, [r14 - 1]
mov byte [rbp + 0x42c], 1
mov rcx, 0xffffffffffffffff
cmp rax, rcx
cmovb rcx, rax
add rcx, rsi
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x3d0], dil
jne 0x140097506
nop word [rax + rax]
cmp rcx, rsi
je 0x14009750b
movzx eax, byte [rcx - 1]
dec rcx
cmp byte [rbp + rax + 0x3d0], dil
je 0x1400974f0
sub rcx, rsi
jmp 0x140097512
mov rcx, 0xffffffffffffffff
mov rdx, qword [rbp + 0x348]
lea r14, [rcx + 1]
cmp rdx, 0x10
jb 0x140097557
mov rcx, qword [rbp + 0x330]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097552
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097c98
call fcn.140156f20
lea rdx, [rbp + 0x350]
lea rcx, [rbx + 0x50]
call fcn.140010490
mov rdx, qword [rbp + 0x368]
mov rsi, qword [rax + 0x10]
cmp rdx, 0x10
jb 0x1400975ac
mov rcx, qword [rbp + 0x350]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400975a7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097c9e
call fcn.140156f20
lea rdx, [rbp + 0x370]
lea rcx, [rbx + 0x50]
call fcn.140010490
movdqa xmm0, xmmword [0x140209090]
mov rcx, rax
movdqu xmmword [rbp + 0x2e0], xmm0
mov byte [rbp + 0x2d0], dil
cmp qword [rax + 0x10], r14
jb 0x140097ca4
lfence
mov rax, qword [rax + 0x10]
sub rax, r14
cmp rax, rsi
mov qword [rsp + 0x40], rax
cmovb rsi, rax
cmp qword [rcx + 0x18], 0x10
jb 0x140097600
mov rcx, qword [rcx]
lea rdx, [rcx + r14]
mov qword [rsp + 0x618], r12
lea rcx, [rbp + 0x2d0]
mov r8, rsi
call fcn.140013b20
mov r8, qword [rbp + 0x2e0]
mov rax, qword [rbp + 0x2e8]
sub rax, r8
lfence
mov r12d, 0xa
lea r15, str.NvCrimson.
cmp rax, r12
jb 0x1400976c9
add qword [rbp + 0x2e0], r12
lea rsi, [rbp + 0x2d0]
cmp qword [rbp + 0x2e8], 0x10
lea rax, [0x14020ef4a]
cmovae rsi, qword [rbp + 0x2d0]
cmp rax, rsi
jbe 0x14009768a
lea rax, [rsi + r8]
cmp r15, rax
ja 0x14009768a
cmp rsi, r15
ja 0x140097682
mov r14, rdi
jmp 0x14009768d
mov r14, rsi
sub r14, r15
jmp 0x14009768d
mov r14, r12
inc r8
lea rcx, [rsi + 0xa]
mov rdx, rsi
call fcn.140186ec0
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.140186ec0
sub r12, r14
lea rdx, [r15 + 0xa]
add rdx, r14
lea rcx, [rsi + r14]
mov r8, r12
call fcn.140186ec0
lea rax, [rbp + 0x2d0]
jmp 0x1400976e8
mov qword [rsp + 0x28], r12
lea rcx, [rbp + 0x2d0]
xor r9d, r9d
mov qword [rsp + 0x20], r15
xor r8d, r8d
mov rdx, r12
call fcn.1400041d0
movups xmm0, xmmword [rax]
mov r12, qword [rsp + 0x618]
movups xmmword [rbp + 0x310], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x320], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], dil
cmp qword [rbp + 0x320], rdi
jne 0x140097731
cmp qword [rbx + 0x40], rdi
je 0x140097781
lfence
mov rcx, qword [rbx + 0x40]
call sub.libcef.dll_cef_string_utf16_clear
jmp 0x140097781
lfence
mov r8, qword [rbx + 0x40]
test r8, r8
jne 0x14009775e
lea ecx, [r8 + 0x18]
call fcn.140156ee4
mov qword [rbx + 0x40], rax
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rcx
mov r8, qword [rbx + 0x40]
mov byte [rbx + 0x48], 1
cmp qword [rbp + 0x328], 0x10
lea rcx, [rbp + 0x310]
mov rdx, qword [rbp + 0x320]
cmovae rcx, qword [rbp + 0x310]
call sub.libcef.dll_cef_string_utf8_to_utf16
mov rdx, qword [rbp + 0x328]
cmp rdx, 0x10
jb 0x1400977c2
mov rcx, qword [rbp + 0x310]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400977bd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097caa
call fcn.140156f20
mov rdx, qword [rbp + 0x2e8]
movdqa xmm0, xmmword [0x140209090]
mov byte [rbp + 0x310], dil
movdqu xmmword [rbp + 0x320], xmm0
cmp rdx, 0x10
jb 0x14009781a
mov rcx, qword [rbp + 0x2d0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097815
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097caa
call fcn.140156f20
mov rdx, qword [rbp + 0x388]
movdqa xmm0, xmmword [0x140209090]
mov byte [rbp + 0x2d0], dil
movdqu xmmword [rbp + 0x2e0], xmm0
cmp rdx, 0x10
jb 0x140097872
mov rcx, qword [rbp + 0x370]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009786d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097caa
call fcn.140156f20
cmp qword [rbx + 0x40], rdi
je 0x1400978cf
lfence
mov rax, qword [rbx + 0x40]
cmp qword [rax + 8], rdi
je 0x1400978cf
lfence
mov rax, qword [rbx + 0x40]
lea rcx, [rbp + 0x2f0]
movdqa xmm0, xmmword [0x14020b430]
mov r8, qword [rax + 8]
mov rdx, qword [rax]
movdqu xmmword [rbp + 0x300], xmm0
mov word [rbp + 0x2f0], di
call fcn.1400258a0
cmp qword [rbp + 0x308], 8
lea r8, [rbp + 0x2f0]
cmovae r8, qword [rbp + 0x2f0]
jmp 0x1400978ed
movdqa xmm0, xmmword [0x14020b430]
lea r8, [rbp + 0x2f0]
movdqu xmmword [rbp + 0x300], xmm0
mov word [rbp + 0x2f0], di
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rdx, qword [rbp + 0x308]
mov qword [rbx + 8], rax
cmp rdx, 8
jb 0x140097941
mov rcx, qword [rbp + 0x2f0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009793c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097cb0
call fcn.140156f20
cmp qword [rbx + 8], rdi
jne 0x140097b24
call sub.libcef.dll_cef_get_min_log_level
cmp eax, 1
jg 0x140097abe
lfence
lea rcx, [rbx + 0x38]
lea rdx, [rbp + 0x3b0]
call fcn.140010490
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x14009797c
lfence
mov rsi, qword [rax]
mov r9d, 1
lea rdx, str.D:uworkspace03_27cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp - 0x30]
lea r8d, [r9 + 0x1a]
call fcn.1400c64e0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [rbx + 8]
mov r15d, eax
lea rdx, str.Lock_mutex
call fcn.1400025c0
mov rcx, rax
mov rdx, rsi
call fcn.1400025c0
mov rcx, rax
lea rdx, str._error:
call fcn.1400025c0
mov rdx, rax
lea rcx, [rsp + 0x50]
mov rsi, rax
call fcn.140006e10
cmp byte [rsp + 0x58], dil
je 0x140097a84
lfence
mov rcx, qword [rsi]
movsxd rdx, dword [rcx + 4]
mov rcx, qword [rdx + rsi + 0x40]
mov rbx, qword [rcx + 8]
mov rcx, rbx
mov qword [rsp + 0x78], rbx
mov rax, qword [rbx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rsp + 0x70]
call fcn.140004bf0
mov r14, rax
test rbx, rbx
je 0x140097a36
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
test rax, rax
je 0x140097a36
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
mov rax, qword [rsi]
lea r8, [rbp - 0x80]
mov r10, qword [r14]
lea rdx, [rbp - 0x70]
mov byte [rsp + 0x40], dil
mov rcx, r14
mov dword [rsp + 0x28], r15d
movsxd r9, dword [rax + 4]
add r9, rsi
mov rax, qword [r9 + 0x48]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movzx eax, byte [r9 + 0x58]
movdqa xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x20], al
call qword [r10 + 0x40]
cmp byte [rbp - 0x70], dil
mov eax, 4
cmovne edi, eax
mov rax, qword [rsi]
movsxd rcx, dword [rax + 4]
add rcx, rsi
or edi, dword [rcx + 0x10]
mov edx, dword [rcx + 0x14]
mov eax, edi
or eax, 4
cmp qword [rcx + 0x48], 0
cmovne eax, edi
and eax, 0x17
mov dword [rcx + 0x10], eax
and edx, eax
jne 0x140097cb6
lea rcx, [rsp + 0x50]
call fcn.1400086e0
mov edi, 3
test dil, 2
je 0x140097ad0
and edi, 0xfffffffd
lea rcx, [rbp - 0x30]
call fcn.1400c6840
test dil, 1
je 0x140097c6c
mov rdx, qword [rbp + 0x3c8]
cmp rdx, 0x10
jb 0x140097c6c
mov rcx, qword [rbp + 0x3b0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097b1a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097cff
call fcn.140156f20
jmp 0x140097c6c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140097c5a
call sub.libcef.dll_cef_get_min_log_level
test eax, eax
jg 0x140097b98
lfence
lea rcx, [rbx + 0x38]
lea rdx, [rbp + 0x390]
call fcn.140010490
mov rdi, rax
cmp qword [rax + 0x18], 0x10
jb 0x140097b5e
mov rdi, qword [rax]
xor r9d, r9d
lea rdx, str.D:uworkspace03_27cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp + 0xd0]
lea r8d, [r9 + 0x21]
call fcn.1400c64e0
lea rdx, str.Lock_opened_an_existing_mutex_so_waiting_on
lea rcx, [rax + 8]
call fcn.1400025c0
mov rcx, rax
mov rdx, rdi
call fcn.1400025c0
mov edi, reloc.SHLWAPI.dll_SHCreateMemStream
test dil, 8
je 0x140097bad
and edi, 0xfffffff7
lea rcx, [rbp + 0xd0]
call fcn.1400c6840
test dil, 4
je 0x140097bfe
mov rdx, qword [rbp + 0x3a8]
and edi, 0xfffffffb
cmp rdx, 0x10
jb 0x140097bf7
mov rcx, qword [rbp + 0x390]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097bf2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140097c92
call fcn.140156f20
mov byte [rbp + 0x390], 0
lfence
mov rcx, qword [rbx + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call sub.libcef.dll_cef_get_min_log_level
test eax, eax
jg 0x140097c46
xor r9d, r9d
lea rdx, str.D:uworkspace03_27cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp + 0x1d0]
or edi, 0x10
lea r8d, [r9 + 0x23]
call fcn.1400c64e0
lea rdx, str.Lock_mutex_aquired
lea rcx, [rax + 8]
call fcn.1400025c0
test dil, 0x10
je 0x140097c6c
lea rcx, [rbp + 0x1d0]
call fcn.1400c6840
jmp 0x140097c6c
lfence
mov rcx, qword [rbx + 8]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbp + 0x4d0]
xor rcx, rsp
call fcn.140156fc0
mov rbx, qword [rsp + 0x620]
add rsp, 0x5e0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.1401953dc
int3
call fcn.1401953dc
int3
call fcn.1401953dc
int3
call fcn.140013630
int3
call fcn.1401953dc
int3
call fcn.1401953dc
int3
test dl, 4
je 0x140097cc4
lea rbx, str.ios_base::badbit_set
jmp 0x140097cd9
test dl, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rbp - 0x60]
call fcn.140015b80
mov r8, rax
lea rcx, [rbp - 0x50]
mov rdx, rbx
call fcn.140006cc0
mov rcx, rax
call fcn.140012fe0
int3
call fcn.1401953dc
int3