Function at 0x140163d60
Capabilities:
Check if file exists

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x88
mov rax, qword [0x1402b3040]
xor rax, rsp
mov qword [rsp + 0x80], rax
cmp qword [rcx + 0x30], 0
je 0x140163fe5
mov rsi, rcx
lea rdx, str.StopWatching
lea r8, str....._basewinobject_watcher.cc
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov r9d, 0x30
call fcn.14012cb80
mov qword [rsp + 0x68], 0xa
mov al, byte [0x1402c585a]
test al, al
jne 0x1401641fe
mov eax, dword [0x1402c2670]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x160]
test rdi, rdi
je 0x140163dfd
cmp qword [rdi + 0x18], 0
jne 0x140164227
movabs rax, 0x4000000000000000
lock or qword [rdi + 0x10], rax
movaps xmm0, xmmword [0x14026f080]
movaps xmmword [rsp + 0x40], xmm0
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rsp + 0x40], 0
test rax, rax
je 0x1401641e9
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsp + 0x40]
inc rax
cmp rax, 2
jae 0x14016402a
lea rax, [rdi + 1]
cmp rax, 2
jb 0x140163e5f
mov qword [rsp + 0x40], rdi
call fcn.140118d70
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rdx, qword [rsp + 0x40]
mov byte [rsp + 0x48], 0
lea rax, [rdx + 1]
cmp rax, 1
jbe 0x1401641ee
mov rcx, qword [rsi + 0x30]
call qword [sym.imp.KERNEL32.dll_UnregisterWaitEx]
test eax, eax
je 0x14016408d
lea rcx, [rsp + 0x40]
call fcn.140164360
mov rdi, qword [rsi + 0x20]
mov qword [rsi + 0x20], 0
test rdi, rdi
je 0x140163eda
lock dec dword [rdi]
jne 0x140163eda
mov rax, qword [rdi + 0x10]
lea rcx, [0x14018c570]
cmp rax, rcx
jne 0x140163fe9
mov rbx, qword [rdi + 0x28]
test rbx, rbx
jne 0x140164066
mov rcx, rdi
call fcn.14018f5b0
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov dword [rsi + 0x10], 0xffffffff
xor eax, eax
mov qword [rsi + 0x18], rax
movups xmmword [rsi + 0x28], xmm0
mov rcx, qword [rsi + 0x38]
mov qword [rsi + 0x38], rax
test rcx, rcx
je 0x140163f08
lock dec dword [rcx + 8]
je 0x1401641f1
mov byte [rsi + 0x40], 1
mov rax, qword [rsi + 0x48]
mov byte [rax + 4], 1
mov ecx, 8
call fcn.14018f5b8
mov dword [rax], 0
mov byte [rax + 4], 0
test rax, rax
je 0x140163f42
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x1401641fb
mov rcx, qword [rsi + 0x48]
mov qword [rsi + 0x48], rax
mov sil, 1
test rcx, rcx
je 0x140163f5b
lock dec dword [rcx]
je 0x140163fdb
cmp byte [rsp + 0x48], 0
jne 0x140163f97
mov eax, dword [0x1402c5d60]
mov ecx, dword [0x1402c2670]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401640bd
mov rax, qword [0x1402c5d58]
cmp byte [rax], 0
jne 0x14016428d
mov rax, qword [rsp + 0x40]
inc rax
cmp rax, 2
jae 0x140163ff7
mov qword [rsp + 0x78], 0xa
mov al, byte [0x1402c585a]
test al, al
jne 0x14016424d
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140191d80
mov eax, esi
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.14018f5b0
jmp 0x140163f5b
xor esi, esi
jmp 0x140163fbc
mov rcx, rdi
call qword [0x1402a3e88]
jmp 0x140163eda
call fcn.140118d70
mov rdi, qword [rsp + 0x40]
cmp qword [0x1402c5c40], 0
je 0x1401641a1
mov rcx, qword [0x1402c5c40]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rdi
call qword [0x1402a3e88]
jmp 0x140163fa5
call fcn.140118d70
mov r14, qword [rsp + 0x40]
cmp qword [0x1402c5c40], 0
je 0x140164159
mov rcx, qword [0x1402c5c40]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [0x1402a3e88]
mov qword [rsp + 0x40], 0
jmp 0x140163e4b
lock dec dword [rbx]
jne 0x140163ed2
mov rax, qword [rbx + 0x10]
lea rcx, [0x14025d280]
cmp rax, rcx
je 0x1401640a3
mov rcx, rbx
call qword [0x1402a3e88]
jmp 0x140163ed2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x140163e91
jmp 0x140164346
mov rcx, qword [rbx + 0x28]
test rcx, rcx
jne 0x140164146
mov rcx, rbx
call fcn.14018f5b0
jmp 0x140163ed2
lea rcx, [0x1402c5d60]
call fcn.14018f730
cmp dword [0x1402c5d60], 0xffffffff
jne 0x140163f87
xor eax, eax
lea rcx, str.tracing_categories_exhausted._must_increase_kMaxCategories
lea rdx, str.wakeup.flow_toplevel.flow
jmp 0x140164108
mov r10b, byte [r8 + r9]
lea r11, [r9 + 1]
cmp r10b, byte [r9 + rdx]
mov r9, r11
je 0x14016411f
inc rax
cmp rax, 0x16b
je 0x1401642f4
imul r8, rax, 0x38
mov r8, qword [r8 + rcx]
cmp byte [r8], 0x77
jne 0x1401640f9
mov r10b, 0x77
mov r9d, 1
test r10b, r10b
jne 0x1401640e8
lea rcx, [0x1402c5850]
add rcx, rax
mov qword [0x1402c5d58], rcx
lea rcx, [0x1402c5d60]
call fcn.14018f6c4
jmp 0x140163f87
lock dec dword [rcx]
jne 0x1401640b0
call fcn.14018f5b0
jmp 0x1401640b0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140288eef]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14016434d
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x14016419b
call qword [0x1402a3e88]
mov rcx, rax
xor edx, edx
call fcn.1400445d0
jmp 0x140164042
xor ecx, ecx
mov dl, 1
jmp 0x140164191
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140288eef]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140164354
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1401641e3
call qword [0x1402a3e88]
mov rcx, rax
xor edx, edx
call fcn.1400445d0
jmp 0x14016400f
xor ecx, ecx
mov dl, 1
jmp 0x1401641d9
mov byte [rsp + 0x48], 0
int3
call fcn.140143520
jmp 0x140163f08
int3
movzx ecx, al
lea r9, [rsp + 0x78]
mov qword [r9], rdi
lea rax, str.ScopedAllowBaseSyncPrimitivesOutsideBlockingScope
lea r8, [rsp + 0x70]
mov qword [r8], rax
lea rdx, [rsp + 0x68]
call fcn.1401f5c00
jmp 0x140163dc4
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.140200260
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140163dee
movzx ecx, al
lea rax, str.ScopedAllowBaseSyncPrimitivesOutsideBlockingScope
lea r8, [rsp + 0x40]
mov qword [r8], rax
lea rax, [0x140276590]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], Ordinal_73
lea rdx, [rsp + 0x78]
mov r9d, 2
call fcn.14002e260
jmp 0x140163fbc
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.1400a2360
test al, al
je 0x140163f97
mov qword [rsp + 0x68], 0x166
mov al, byte [0x1402c59b6]
test al, al
je 0x140163f97
movzx ecx, al
xor rdi, qword [0x1402c3dc8]
lea rax, [rsp + 0x78]
mov qword [rax], rdi
lea rdx, str.WaitableEvent_while_Signaled
lea r8, [rsp + 0x70]
mov qword [r8], rdx
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x68]
mov r9d, 3
call fcn.140017980
jmp 0x140163f97
call fcn.14018f5fc
mov ecx, dword [rax]
call fcn.1401b33bc
mov rsi, rax
call fcn.14018f5fc
mov edi, dword [rax]
lea rcx, str....._third_partyperfettoincludeperfetto_tracing_track_event_category_registry.h
call fcn.1401d5920
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], edi
lea rcx, str.PERFETTO_CHECK_false___A_track_event_used_an_unknown_category._Please_add_it_to____PERFETTO_DEFINE_CATEGORIES__.__
mov qword [rsp + 0x20], rcx
lea r9, str._s__errno:__d___s_
mov ecx, 3
mov rdx, rax
mov r8d, 0x11f
call fcn.1401d5c30
int3
xor esi, esi
jmp 0x140163f5b
xor ecx, ecx
jmp 0x14016418f
xor ecx, ecx
jmp 0x1401641d7