Function at 0x140097c60
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 [0x140278ec8]
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 0x140097cb2
mov rsi, qword [rax]
mov r14, qword [rax + 0x10]
mov qword [rsp + 0x30], 0xffffffffffffffff
test r14, r14
je 0x140097d5b
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.1401882a0
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 0x140097d56
nop word [rax + rax]
cmp rcx, rsi
je 0x140097d5b
movzx eax, byte [rcx - 1]
dec rcx
cmp byte [rbp + rax + 0x3d0], dil
je 0x140097d40
sub rcx, rsi
jmp 0x140097d62
mov rcx, 0xffffffffffffffff
mov rdx, qword [rbp + 0x348]
lea r14, [rcx + 1]
cmp rdx, 0x10
jb 0x140097da7
mov rcx, qword [rbp + 0x330]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097da2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400984e8
call fcn.140157ef0
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 0x140097dfc
mov rcx, qword [rbp + 0x350]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140097df7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400984ee
call fcn.140157ef0
lea rdx, [rbp + 0x370]
lea rcx, [rbx + 0x50]
call fcn.140010490
movdqa xmm0, xmmword [0x14020a0a0]
mov rcx, rax
movdqu xmmword [rbp + 0x2e0], xmm0
mov byte [rbp + 0x2d0], dil
cmp qword [rax + 0x10], r14
jb 0x1400984f4
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 0x140097e50
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 0x140097f19
add qword [rbp + 0x2e0], r12
lea rsi, [rbp + 0x2d0]
cmp qword [rbp + 0x2e8], 0x10
lea rax, [0x14020ffaa]
cmovae rsi, qword [rbp + 0x2d0]
cmp rax, rsi
jbe 0x140097eda
lea rax, [rsi + r8]
cmp r15, rax
ja 0x140097eda
cmp rsi, r15
ja 0x140097ed2
mov r14, rdi
jmp 0x140097edd
mov r14, rsi
sub r14, r15
jmp 0x140097edd
mov r14, r12
inc r8
lea rcx, [rsi + 0xa]
mov rdx, rsi
call fcn.140187e90
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.140187e90
sub r12, r14
lea rdx, [r15 + 0xa]
add rdx, r14
lea rcx, [rsi + r14]
mov r8, r12
call fcn.140187e90
lea rax, [rbp + 0x2d0]
jmp 0x140097f38
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 0x140097f81
cmp qword [rbx + 0x40], rdi
je 0x140097fd1
lfence
mov rcx, qword [rbx + 0x40]
call sub.libcef.dll_cef_string_utf16_clear
jmp 0x140097fd1
lfence
mov r8, qword [rbx + 0x40]
test r8, r8
jne 0x140097fae
lea ecx, [r8 + 0x18]
call fcn.140157eb4
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 0x140098012
mov rcx, qword [rbp + 0x310]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009800d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400984fa
call fcn.140157ef0
mov rdx, qword [rbp + 0x2e8]
movdqa xmm0, xmmword [0x14020a0a0]
mov byte [rbp + 0x310], dil
movdqu xmmword [rbp + 0x320], xmm0
cmp rdx, 0x10
jb 0x14009806a
mov rcx, qword [rbp + 0x2d0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140098065
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400984fa
call fcn.140157ef0
mov rdx, qword [rbp + 0x388]
movdqa xmm0, xmmword [0x14020a0a0]
mov byte [rbp + 0x2d0], dil
movdqu xmmword [rbp + 0x2e0], xmm0
cmp rdx, 0x10
jb 0x1400980c2
mov rcx, qword [rbp + 0x370]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400980bd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400984fa
call fcn.140157ef0
cmp qword [rbx + 0x40], rdi
je 0x14009811f
lfence
mov rax, qword [rbx + 0x40]
cmp qword [rax + 8], rdi
je 0x14009811f
lfence
mov rax, qword [rbx + 0x40]
lea rcx, [rbp + 0x2f0]
movdqa xmm0, xmmword [0x14020c440]
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 0x14009813d
movdqa xmm0, xmmword [0x14020c440]
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 0x140098191
mov rcx, qword [rbp + 0x2f0]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009818c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140098500
call fcn.140157ef0
cmp qword [rbx + 8], rdi
jne 0x140098374
call sub.libcef.dll_cef_get_min_log_level
cmp eax, 1
jg 0x14009830e
lfence
lea rcx, [rbx + 0x38]
lea rdx, [rbp + 0x3b0]
call fcn.140010490
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400981cc
lfence
mov rsi, qword [rax]
mov r9d, 1
lea rdx, str.D:uworkspace03_28cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp - 0x30]
lea r8d, [r9 + 0x1a]
call fcn.1400c74b0
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 0x1400982d4
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 0x140098286
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
test rax, rax
je 0x140098286
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 0x140098506
lea rcx, [rsp + 0x50]
call fcn.1400086e0
mov edi, 3
test dil, 2
je 0x140098320
and edi, 0xfffffffd
lea rcx, [rbp - 0x30]
call fcn.1400c7810
test dil, 1
je 0x1400984bc
mov rdx, qword [rbp + 0x3c8]
cmp rdx, 0x10
jb 0x1400984bc
mov rcx, qword [rbp + 0x3b0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009836a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009854f
call fcn.140157ef0
jmp 0x1400984bc
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400984aa
call sub.libcef.dll_cef_get_min_log_level
test eax, eax
jg 0x1400983e8
lfence
lea rcx, [rbx + 0x38]
lea rdx, [rbp + 0x390]
call fcn.140010490
mov rdi, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400983ae
mov rdi, qword [rax]
xor r9d, r9d
lea rdx, str.D:uworkspace03_28cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp + 0xd0]
lea r8d, [r9 + 0x21]
call fcn.1400c74b0
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 0x1400983fd
and edi, 0xfffffff7
lea rcx, [rbp + 0xd0]
call fcn.1400c7810
test dil, 4
je 0x14009844e
mov rdx, qword [rbp + 0x3a8]
and edi, 0xfffffffb
cmp rdx, 0x10
jb 0x140098447
mov rcx, qword [rbp + 0x390]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140098442
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400984e2
call fcn.140157ef0
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 0x140098496
xor r9d, r9d
lea rdx, str.D:uworkspace03_28cefwinauto_srcjson_storage_win.cc
lea rcx, [rbp + 0x1d0]
or edi, 0x10
lea r8d, [r9 + 0x23]
call fcn.1400c74b0
lea rdx, str.Lock_mutex_aquired
lea rcx, [rax + 8]
call fcn.1400025c0
test dil, 0x10
je 0x1400984bc
lea rcx, [rbp + 0x1d0]
call fcn.1400c7810
jmp 0x1400984bc
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.140157f90
mov rbx, qword [rsp + 0x620]
add rsp, 0x5e0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.1401963ac
int3
call fcn.1401963ac
int3
call fcn.1401963ac
int3
call fcn.140013630
int3
call fcn.1401963ac
int3
call fcn.1401963ac
int3
test dl, 4
je 0x140098514
lea rbx, str.ios_base::badbit_set
jmp 0x140098529
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.1401963ac
int3