Function at 0x140163d50
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 0x140163fd5
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.14012cb70
mov qword [rsp + 0x68], 0xa
mov al, byte [0x1402c585a]
test al, al
jne 0x1401641ee
mov eax, dword [0x1402c2670]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x160]
test rdi, rdi
je 0x140163ded
cmp qword [rdi + 0x18], 0
jne 0x140164217
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 0x1401641d9
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsp + 0x40]
inc rax
cmp rax, 2
jae 0x14016401a
lea rax, [rdi + 1]
cmp rax, 2
jb 0x140163e4f
mov qword [rsp + 0x40], rdi
call fcn.140118d60
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 0x1401641de
mov rcx, qword [rsi + 0x30]
call qword [sym.imp.KERNEL32.dll_UnregisterWaitEx]
test eax, eax
je 0x14016407d
lea rcx, [rsp + 0x40]
call fcn.140164350
mov rdi, qword [rsi + 0x20]
mov qword [rsi + 0x20], 0
test rdi, rdi
je 0x140163eca
lock dec dword [rdi]
jne 0x140163eca
mov rax, qword [rdi + 0x10]
lea rcx, [0x14018c560]
cmp rax, rcx
jne 0x140163fd9
mov rbx, qword [rdi + 0x28]
test rbx, rbx
jne 0x140164056
mov rcx, rdi
call fcn.14018f5a0
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 0x140163ef8
lock dec dword [rcx + 8]
je 0x1401641e1
mov byte [rsi + 0x40], 1
mov rax, qword [rsi + 0x48]
mov byte [rax + 4], 1
mov ecx, 8
call fcn.14018f5a8
mov dword [rax], 0
mov byte [rax + 4], 0
test rax, rax
je 0x140163f32
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x1401641eb
mov rcx, qword [rsi + 0x48]
mov qword [rsi + 0x48], rax
mov sil, 1
test rcx, rcx
je 0x140163f4b
lock dec dword [rcx]
je 0x140163fcb
cmp byte [rsp + 0x48], 0
jne 0x140163f87
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 0x1401640ad
mov rax, qword [0x1402c5d58]
cmp byte [rax], 0
jne 0x14016427d
mov rax, qword [rsp + 0x40]
inc rax
cmp rax, 2
jae 0x140163fe7
mov qword [rsp + 0x78], 0xa
mov al, byte [0x1402c585a]
test al, al
jne 0x14016423d
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140191d70
mov eax, esi
add rsp, 0x88
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.14018f5a0
jmp 0x140163f4b
xor esi, esi
jmp 0x140163fac
mov rcx, rdi
call qword [0x1402a3ee8]
jmp 0x140163eca
call fcn.140118d60
mov rdi, qword [rsp + 0x40]
cmp qword [0x1402c5c40], 0
je 0x140164191
mov rcx, qword [0x1402c5c40]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, rdi
call qword [0x1402a3ee8]
jmp 0x140163f95
call fcn.140118d60
mov r14, qword [rsp + 0x40]
cmp qword [0x1402c5c40], 0
je 0x140164149
mov rcx, qword [0x1402c5c40]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [0x1402a3ee8]
mov qword [rsp + 0x40], 0
jmp 0x140163e3b
lock dec dword [rbx]
jne 0x140163ec2
mov rax, qword [rbx + 0x10]
lea rcx, [0x14025d280]
cmp rax, rcx
je 0x140164093
mov rcx, rbx
call qword [0x1402a3ee8]
jmp 0x140163ec2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x140163e81
jmp 0x140164336
mov rcx, qword [rbx + 0x28]
test rcx, rcx
jne 0x140164136
mov rcx, rbx
call fcn.14018f5a0
jmp 0x140163ec2
lea rcx, [0x1402c5d60]
call fcn.14018f720
cmp dword [0x1402c5d60], 0xffffffff
jne 0x140163f77
xor eax, eax
lea rcx, str.tracing_categories_exhausted._must_increase_kMaxCategories
lea rdx, str.wakeup.flow_toplevel.flow
jmp 0x1401640f8
mov r10b, byte [r8 + r9]
lea r11, [r9 + 1]
cmp r10b, byte [r9 + rdx]
mov r9, r11
je 0x14016410f
inc rax
cmp rax, 0x16b
je 0x1401642e4
imul r8, rax, 0x38
mov r8, qword [r8 + rcx]
cmp byte [r8], 0x77
jne 0x1401640e9
mov r10b, 0x77
mov r9d, 1
test r10b, r10b
jne 0x1401640d8
lea rcx, [0x1402c5850]
add rcx, rax
mov qword [0x1402c5d58], rcx
lea rcx, [0x1402c5d60]
call fcn.14018f6b4
jmp 0x140163f77
lock dec dword [rcx]
jne 0x1401640a0
call fcn.14018f5a0
jmp 0x1401640a0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140288f4f]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14016433d
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x14016418b
call qword [0x1402a3ee8]
mov rcx, rax
xor edx, edx
call fcn.1400440e0
jmp 0x140164032
xor ecx, ecx
mov dl, 1
jmp 0x140164181
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140288f4f]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140164344
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x1401641d3
call qword [0x1402a3ee8]
mov rcx, rax
xor edx, edx
call fcn.1400440e0
jmp 0x140163fff
xor ecx, ecx
mov dl, 1
jmp 0x1401641c9
mov byte [rsp + 0x48], 0
int3
call fcn.140143510
jmp 0x140163ef8
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.1401f5bf0
jmp 0x140163db4
lea rcx, [rdi + 0x18]
mov rbx, qword [rdi + 0x10]
call fcn.140200250
movabs rcx, 0xff00000000000000
and rcx, rbx
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140163dde
movzx ecx, al
lea rax, str.ScopedAllowBaseSyncPrimitivesOutsideBlockingScope
lea r8, [rsp + 0x40]
mov qword [r8], rax
lea rax, [0x140276580]
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.14002dd70
jmp 0x140163fac
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.1400a2350
test al, al
je 0x140163f87
mov qword [rsp + 0x68], 0x166
mov al, byte [0x1402c59b6]
test al, al
je 0x140163f87
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 0x140163f87
call fcn.14018f5ec
mov ecx, dword [rax]
call fcn.1401b33ac
mov rsi, rax
call fcn.14018f5ec
mov edi, dword [rax]
lea rcx, str....._third_partyperfettoincludeperfetto_tracing_track_event_category_registry.h
call fcn.1401d5910
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.1401d5c20
int3
xor esi, esi
jmp 0x140163f4b
xor ecx, ecx
jmp 0x14016417f
xor ecx, ecx
jmp 0x1401641c7