Function at 0x140090a40
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 [0x14026fe68]
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.140010130
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x140090a92
mov rsi, qword [rax]
mov r14, qword [rax + 0x10]
mov qword [rsp + 0x30], 0xffffffffffffffff
test r14, r14
je 0x140090b3b
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.14017f770
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 0x140090b36
nop word [rax + rax]
cmp rcx, rsi
je 0x140090b3b
movzx eax, byte [rcx - 1]
dec rcx
cmp byte [rbp + rax + 0x3d0], dil
je 0x140090b20
sub rcx, rsi
jmp 0x140090b42
mov rcx, 0xffffffffffffffff
mov rdx, qword [rbp + 0x348]
lea r14, [rcx + 1]
cmp rdx, 0x10
jb 0x140090b87
mov rcx, qword [rbp + 0x330]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090b82
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400912c8
call fcn.14014f3b8
lea rdx, [rbp + 0x350]
lea rcx, [rbx + 0x50]
call fcn.140010130
mov rdx, qword [rbp + 0x368]
mov rsi, qword [rax + 0x10]
cmp rdx, 0x10
jb 0x140090bdc
mov rcx, qword [rbp + 0x350]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090bd7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400912ce
call fcn.14014f3b8
lea rdx, [rbp + 0x370]
lea rcx, [rbx + 0x50]
call fcn.140010130
movdqa xmm0, xmmword [0x140202030]
mov rcx, rax
movdqu xmmword [rbp + 0x2e0], xmm0
mov byte [rbp + 0x2d0], dil
cmp qword [rax + 0x10], r14
jb 0x1400912d4
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 0x140090c30
mov rcx, qword [rcx]
lea rdx, [rcx + r14]
mov qword [rsp + 0x618], r12
lea rcx, [rbp + 0x2d0]
mov r8, rsi
call fcn.1400137c0
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 0x140090cf9
add qword [rbp + 0x2e0], r12
lea rsi, [rbp + 0x2d0]
cmp qword [rbp + 0x2e8], 0x10
lea rax, [0x140207c1a]
cmovae rsi, qword [rbp + 0x2d0]
cmp rax, rsi
jbe 0x140090cba
lea rax, [rsi + r8]
cmp r15, rax
ja 0x140090cba
cmp rsi, r15
ja 0x140090cb2
mov r14, rdi
jmp 0x140090cbd
mov r14, rsi
sub r14, r15
jmp 0x140090cbd
mov r14, r12
inc r8
lea rcx, [rsi + 0xa]
mov rdx, rsi
call fcn.14017f360
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.14017f360
sub r12, r14
lea rdx, [r15 + 0xa]
add rdx, r14
lea rcx, [rsi + r14]
mov r8, r12
call fcn.14017f360
lea rax, [rbp + 0x2d0]
jmp 0x140090d18
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.140004170
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 0x140090d61
cmp qword [rbx + 0x40], rdi
je 0x140090db1
lfence
mov rcx, qword [rbx + 0x40]
call sub.libcef.dll_cef_string_utf16_clear
jmp 0x140090db1
lfence
mov r8, qword [rbx + 0x40]
test r8, r8
jne 0x140090d8e
lea ecx, [r8 + 0x18]
call fcn.14014f37c
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 0x140090df2
mov rcx, qword [rbp + 0x310]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090ded
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400912da
call fcn.14014f3b8
mov rdx, qword [rbp + 0x2e8]
movdqa xmm0, xmmword [0x140202030]
mov byte [rbp + 0x310], dil
movdqu xmmword [rbp + 0x320], xmm0
cmp rdx, 0x10
jb 0x140090e4a
mov rcx, qword [rbp + 0x2d0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090e45
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400912da
call fcn.14014f3b8
mov rdx, qword [rbp + 0x388]
movdqa xmm0, xmmword [0x140202030]
mov byte [rbp + 0x2d0], dil
movdqu xmmword [rbp + 0x2e0], xmm0
cmp rdx, 0x10
jb 0x140090ea2
mov rcx, qword [rbp + 0x370]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090e9d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400912da
call fcn.14014f3b8
cmp qword [rbx + 0x40], rdi
je 0x140090eff
lfence
mov rax, qword [rbx + 0x40]
cmp qword [rax + 8], rdi
je 0x140090eff
lfence
mov rax, qword [rbx + 0x40]
lea rcx, [rbp + 0x2f0]
movdqa xmm0, xmmword [0x140204350]
mov r8, qword [rax + 8]
mov rdx, qword [rax]
movdqu xmmword [rbp + 0x300], xmm0
mov word [rbp + 0x2f0], di
call fcn.140025540
cmp qword [rbp + 0x308], 8
lea r8, [rbp + 0x2f0]
cmovae r8, qword [rbp + 0x2f0]
jmp 0x140090f1d
movdqa xmm0, xmmword [0x140204350]
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 0x140090f71
mov rcx, qword [rbp + 0x2f0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140090f6c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400912e0
call fcn.14014f3b8
cmp qword [rbx + 8], rdi
jne 0x140091154
call sub.libcef.dll_cef_get_min_log_level
cmp eax, 1
jg 0x1400910ee
lfence
lea rcx, [rbx + 0x38]
lea rdx, [rbp + 0x3b0]
call fcn.140010130
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x140090fac
lfence
mov rsi, qword [rax]
mov r9d, 1
lea rdx, str.C:uworkspace03_21cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp - 0x30]
lea r8d, [r9 + 0x1a]
call fcn.1400bf370
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [rbx + 8]
mov r15d, eax
lea rdx, str.Lock_mutex
call fcn.140002560
mov rcx, rax
mov rdx, rsi
call fcn.140002560
mov rcx, rax
lea rdx, str._error:
call fcn.140002560
mov rdx, rax
lea rcx, [rsp + 0x50]
mov rsi, rax
call fcn.140006d90
cmp byte [rsp + 0x58], dil
je 0x1400910b4
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.140004b90
mov r14, rax
test rbx, rbx
je 0x140091066
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
test rax, rax
je 0x140091066
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 0x1400912e6
lea rcx, [rsp + 0x50]
call fcn.140008620
mov edi, 3
test dil, 2
je 0x140091100
and edi, 0xfffffffd
lea rcx, [rbp - 0x30]
call fcn.1400bf6d0
test dil, 1
je 0x14009129c
mov rdx, qword [rbp + 0x3c8]
cmp rdx, 0x10
jb 0x14009129c
mov rcx, qword [rbp + 0x3b0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009114a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009132f
call fcn.14014f3b8
jmp 0x14009129c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x14009128a
call sub.libcef.dll_cef_get_min_log_level
test eax, eax
jg 0x1400911c8
lfence
lea rcx, [rbx + 0x38]
lea rdx, [rbp + 0x390]
call fcn.140010130
mov rdi, rax
cmp qword [rax + 0x18], 0x10
jb 0x14009118e
mov rdi, qword [rax]
xor r9d, r9d
lea rdx, str.C:uworkspace03_21cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp + 0xd0]
lea r8d, [r9 + 0x21]
call fcn.1400bf370
lea rdx, str.Lock_opened_an_existing_mutex_so_waiting_on
lea rcx, [rax + 8]
call fcn.140002560
mov rcx, rax
mov rdx, rdi
call fcn.140002560
mov edi, reloc.SHLWAPI.dll_SHCreateMemStream
test dil, 8
je 0x1400911dd
and edi, 0xfffffff7
lea rcx, [rbp + 0xd0]
call fcn.1400bf6d0
test dil, 4
je 0x14009122e
mov rdx, qword [rbp + 0x3a8]
and edi, 0xfffffffb
cmp rdx, 0x10
jb 0x140091227
mov rcx, qword [rbp + 0x390]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140091222
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400912c2
call fcn.14014f3b8
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 0x140091276
xor r9d, r9d
lea rdx, str.C:uworkspace03_21cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp + 0x1d0]
or edi, 0x10
lea r8d, [r9 + 0x23]
call fcn.1400bf370
lea rdx, str.Lock_mutex_aquired
lea rcx, [rax + 8]
call fcn.140002560
test dil, 0x10
je 0x14009129c
lea rcx, [rbp + 0x1d0]
call fcn.1400bf6d0
jmp 0x14009129c
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.14014f460
mov rbx, qword [rsp + 0x620]
add rsp, 0x5e0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.14018d87c
int3
call fcn.14018d87c
int3
call fcn.14018d87c
int3
call fcn.1400132d0
int3
call fcn.14018d87c
int3
call fcn.14018d87c
int3
test dl, 4
je 0x1400912f4
lea rbx, str.ios_base::badbit_set
jmp 0x140091309
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.140015820
mov r8, rax
lea rcx, [rbp - 0x50]
mov rdx, rbx
call fcn.140006c40
mov rcx, rax
call fcn.140012c80
int3
call fcn.14018d87c
int3