Function at 0x140090970
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 [0x14026de28]
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.1400100d0
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400909c2
mov rsi, qword [rax]
mov r14, qword [rax + 0x10]
mov qword [rsp + 0x30], 0xffffffffffffffff
test r14, r14
je 0x140090a6b
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.14017e440
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 0x140090a66
nop word [rax + rax]
cmp rcx, rsi
je 0x140090a6b
movzx eax, byte [rcx - 1]
dec rcx
cmp byte [rbp + rax + 0x3d0], dil
je 0x140090a50
sub rcx, rsi
jmp 0x140090a72
mov rcx, 0xffffffffffffffff
mov rdx, qword [rbp + 0x348]
lea r14, [rcx + 1]
cmp rdx, 0x10
jb 0x140090ab7
mov rcx, qword [rbp + 0x330]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090ab2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400911f8
call fcn.14014e088
lea rdx, [rbp + 0x350]
lea rcx, [rbx + 0x50]
call fcn.1400100d0
mov rdx, qword [rbp + 0x368]
mov rsi, qword [rax + 0x10]
cmp rdx, 0x10
jb 0x140090b0c
mov rcx, qword [rbp + 0x350]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090b07
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400911fe
call fcn.14014e088
lea rdx, [rbp + 0x370]
lea rcx, [rbx + 0x50]
call fcn.1400100d0
movdqa xmm0, xmmword [0x140200020]
mov rcx, rax
movdqu xmmword [rbp + 0x2e0], xmm0
mov byte [rbp + 0x2d0], dil
cmp qword [rax + 0x10], r14
jb 0x140091204
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 0x140090b60
mov rcx, qword [rcx]
lea rdx, [rcx + r14]
mov qword [rsp + 0x618], r12
lea rcx, [rbp + 0x2d0]
mov r8, rsi
call fcn.140013760
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 0x140090c29
add qword [rbp + 0x2e0], r12
lea rsi, [rbp + 0x2d0]
cmp qword [rbp + 0x2e8], 0x10
lea rax, [0x140205baa]
cmovae rsi, qword [rbp + 0x2d0]
cmp rax, rsi
jbe 0x140090bea
lea rax, [rsi + r8]
cmp r15, rax
ja 0x140090bea
cmp rsi, r15
ja 0x140090be2
mov r14, rdi
jmp 0x140090bed
mov r14, rsi
sub r14, r15
jmp 0x140090bed
mov r14, r12
inc r8
lea rcx, [rsi + 0xa]
mov rdx, rsi
call fcn.14017e030
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.14017e030
sub r12, r14
lea rdx, [r15 + 0xa]
add rdx, r14
lea rcx, [rsi + r14]
mov r8, r12
call fcn.14017e030
lea rax, [rbp + 0x2d0]
jmp 0x140090c48
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.140004110
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 0x140090c91
cmp qword [rbx + 0x40], rdi
je 0x140090ce1
lfence
mov rcx, qword [rbx + 0x40]
call sub.libcef.dll_cef_string_utf16_clear
jmp 0x140090ce1
lfence
mov r8, qword [rbx + 0x40]
test r8, r8
jne 0x140090cbe
lea ecx, [r8 + 0x18]
call fcn.14014e04c
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 0x140090d22
mov rcx, qword [rbp + 0x310]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090d1d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009120a
call fcn.14014e088
mov rdx, qword [rbp + 0x2e8]
movdqa xmm0, xmmword [0x140200020]
mov byte [rbp + 0x310], dil
movdqu xmmword [rbp + 0x320], xmm0
cmp rdx, 0x10
jb 0x140090d7a
mov rcx, qword [rbp + 0x2d0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090d75
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009120a
call fcn.14014e088
mov rdx, qword [rbp + 0x388]
movdqa xmm0, xmmword [0x140200020]
mov byte [rbp + 0x2d0], dil
movdqu xmmword [rbp + 0x2e0], xmm0
cmp rdx, 0x10
jb 0x140090dd2
mov rcx, qword [rbp + 0x370]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090dcd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009120a
call fcn.14014e088
cmp qword [rbx + 0x40], rdi
je 0x140090e2f
lfence
mov rax, qword [rbx + 0x40]
cmp qword [rax + 8], rdi
je 0x140090e2f
lfence
mov rax, qword [rbx + 0x40]
lea rcx, [rbp + 0x2f0]
movdqa xmm0, xmmword [0x1402022e0]
mov r8, qword [rax + 8]
mov rdx, qword [rax]
movdqu xmmword [rbp + 0x300], xmm0
mov word [rbp + 0x2f0], di
call fcn.140025490
cmp qword [rbp + 0x308], 8
lea r8, [rbp + 0x2f0]
cmovae r8, qword [rbp + 0x2f0]
jmp 0x140090e4d
movdqa xmm0, xmmword [0x1402022e0]
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 0x140090ea1
mov rcx, qword [rbp + 0x2f0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090e9c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140091210
call fcn.14014e088
cmp qword [rbx + 8], rdi
jne 0x140091084
call sub.libcef.dll_cef_get_min_log_level
cmp eax, 1
jg 0x14009101e
lfence
lea rcx, [rbx + 0x38]
lea rdx, [rbp + 0x3b0]
call fcn.1400100d0
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x140090edc
lfence
mov rsi, qword [rax]
mov r9d, 1
lea rdx, str.C:uworkspace03_20cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp - 0x30]
lea r8d, [r9 + 0x1a]
call fcn.1400be000
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [rbx + 8]
mov r15d, eax
lea rdx, str.Lock_mutex
call fcn.140002500
mov rcx, rax
mov rdx, rsi
call fcn.140002500
mov rcx, rax
lea rdx, str._error:
call fcn.140002500
mov rdx, rax
lea rcx, [rsp + 0x50]
mov rsi, rax
call fcn.140006d30
cmp byte [rsp + 0x58], dil
je 0x140090fe4
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.140004b30
mov r14, rax
test rbx, rbx
je 0x140090f96
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
test rax, rax
je 0x140090f96
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 0x140091216
lea rcx, [rsp + 0x50]
call fcn.1400085c0
mov edi, 3
test dil, 2
je 0x140091030
and edi, 0xfffffffd
lea rcx, [rbp - 0x30]
call fcn.1400be360
test dil, 1
je 0x1400911cc
mov rdx, qword [rbp + 0x3c8]
cmp rdx, 0x10
jb 0x1400911cc
mov rcx, qword [rbp + 0x3b0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009107a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009125f
call fcn.14014e088
jmp 0x1400911cc
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400911ba
call sub.libcef.dll_cef_get_min_log_level
test eax, eax
jg 0x1400910f8
lfence
lea rcx, [rbx + 0x38]
lea rdx, [rbp + 0x390]
call fcn.1400100d0
mov rdi, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400910be
mov rdi, qword [rax]
xor r9d, r9d
lea rdx, str.C:uworkspace03_20cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp + 0xd0]
lea r8d, [r9 + 0x21]
call fcn.1400be000
lea rdx, str.Lock_opened_an_existing_mutex_so_waiting_on
lea rcx, [rax + 8]
call fcn.140002500
mov rcx, rax
mov rdx, rdi
call fcn.140002500
mov edi, reloc.SHLWAPI.dll_SHCreateMemStream
test dil, 8
je 0x14009110d
and edi, 0xfffffff7
lea rcx, [rbp + 0xd0]
call fcn.1400be360
test dil, 4
je 0x14009115e
mov rdx, qword [rbp + 0x3a8]
and edi, 0xfffffffb
cmp rdx, 0x10
jb 0x140091157
mov rcx, qword [rbp + 0x390]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140091152
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400911f2
call fcn.14014e088
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 0x1400911a6
xor r9d, r9d
lea rdx, str.C:uworkspace03_20cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp + 0x1d0]
or edi, 0x10
lea r8d, [r9 + 0x23]
call fcn.1400be000
lea rdx, str.Lock_mutex_aquired
lea rcx, [rax + 8]
call fcn.140002500
test dil, 0x10
je 0x1400911cc
lea rcx, [rbp + 0x1d0]
call fcn.1400be360
jmp 0x1400911cc
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.14014e130
mov rbx, qword [rsp + 0x620]
add rsp, 0x5e0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.14018c54c
int3
call fcn.14018c54c
int3
call fcn.14018c54c
int3
call fcn.140013270
int3
call fcn.14018c54c
int3
call fcn.14018c54c
int3
test dl, 4
je 0x140091224
lea rbx, str.ios_base::badbit_set
jmp 0x140091239
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.1400157c0
mov r8, rax
lea rcx, [rbp - 0x50]
mov rdx, rbx
call fcn.140006be0
mov rcx, rax
call fcn.140012c20
int3
call fcn.14018c54c
int3