Function at 0x140115600
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
movaps xmmword [rsp + 0x40], xmm6
mov r14, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x14022d028]
xor rax, rsp
mov qword [rsp + 0x38], rax
movabs rdi, 0xfffffffc00000000
lea rax, [0x1401fbf20]
mov qword [rcx], rax
mov qword [rsp + 0x28], r9
mov eax, dword [r9]
mov dword [rcx + 8], eax
mov rax, rdx
and rax, rdi
cmp rax, qword [0x14022f688]
jne 0x140115663
mov rcx, rbx
call fcn.1400b3f20
mov qword [rsi + 0x10], rbx
test rbx, rbx
je 0x140115d1d
mov rax, qword [rbx + 0x20]
mov qword [rsi + 0x18], rax
test rax, rax
je 0x140115692
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x140115cee
mov ecx, 0x28
call fcn.140143bb8
mov r15, rax
xor eax, eax
mov dword [r15], eax
mov dword [r15 + 8], eax
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [r15 + 0x10], 0
test rax, rax
je 0x140115ce6
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [r15 + 0x10]
inc rax
cmp rax, 2
jae 0x140115c64
lea rax, [r12 + 1]
cmp rax, 2
jb 0x1401156fc
mov qword [r15 + 0x10], r12
call fcn.1400cdad0
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [r15 + 0x10]
mov byte [r15 + 0x18], 0
inc rax
cmp rax, 1
jbe 0x140115ceb
mov r12, rsi
and r12, rdi
cmp r12, qword [0x14022f688]
jne 0x140115731
mov rcx, rsi
call fcn.1400c5cb0
mov qword [r15 + 0x20], rsi
mov qword [rsi + 0x20], r15
test r15, r15
je 0x140115753
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x140115cf1
xorps xmm6, xmm6
movups xmmword [rsi + 0x48], xmm6
movups xmmword [rsi + 0x38], xmm6
movups xmmword [rsi + 0x28], xmm6
mov dword [rsi + 0x58], 0x1000101
xor eax, eax
mov byte [rsi + 0x80], al
mov byte [rsi + 0x88], al
movups xmmword [rsi + 0x60], xmm6
movups xmmword [rsi + 0x69], xmm6
mov rax, r14
and rax, rdi
cmp rax, qword [0x14022f688]
jne 0x140115796
mov rcx, r14
call fcn.1400c5cb0
mov qword [rsi + 0x90], r14
mov qword [rsi + 0x98], 0
mov ecx, pe_nt_image_headers64
call fcn.140143bb8
mov r14, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax + 0x20], xmm6
cmp r12, qword [0x14022f688]
jne 0x1401157d1
mov rcx, rsi
call fcn.1400c5cb0
mov qword [r14 + 0x30], rsi
mov qword [r14 + 0x38], 0
mov qword [r14 + 0x40], 0xffffffffffffffff
lea rax, str.delayed
mov qword [r14 + 0x48], rax
xor r13d, r13d
mov byte [r14 + 0x50], r13b
mov byte [r14 + 0x68], r13b
mov dword [r14 + 0x70], 1
mov qword [rsi + 0xa0], r14
mov ecx, pe_nt_image_headers64
call fcn.140143bb8
mov r15, rax
xorps xmm6, xmm6
movups xmmword [rax], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax + 0x20], xmm6
cmp r12, qword [0x14022f688]
jne 0x140115836
mov rcx, rsi
call fcn.1400c5cb0
lea rax, [rsi + 0xf0]
lea rcx, [rsi + 0x1c0]
mov qword [r15 + 0x30], rsi
mov qword [r15 + 0x38], r13
mov r8, 0xffffffffffffffff
mov qword [r15 + 0x40], r8
lea rdx, str.immediate
mov qword [r15 + 0x48], rdx
mov byte [r15 + 0x50], r13b
mov byte [r15 + 0x68], r13b
mov dword [r15 + 0x70], r13d
mov qword [rsi + 0xa8], r15
movups xmmword [rsi + 0xb8], xmm6
movups xmmword [rsi + 0xc4], xmm6
movups xmmword [rsi + 0xd8], xmm6
mov qword [rsi + 0xe8], r13
mov qword [rsi + 0xf0], rax
mov qword [rsi + 0xf8], rax
mov qword [rsi + 0x100], r13
mov dword [rsi + 0x108], r13d
mov qword [rsi + 0x110], r8
mov al, 1
mov byte [rsi + 0x118], al
mov byte [rsi + 0x120], r13b
mov byte [rsi + 0x138], r13b
mov byte [rsi + 0x140], r13b
mov byte [rsi + 0x148], r13b
mov byte [rsi + 0x190], r13b
movups xmmword [rsi + 0x150], xmm6
movups xmmword [rsi + 0x160], xmm6
movups xmmword [rsi + 0x169], xmm6
mov byte [rsi + 0x198], al
mov byte [rsi + 0x1a0], r13b
mov byte [rsi + 0x1a8], r13b
mov byte [rsi + 0x1b0], r13b
mov qword [rsi + 0x1b4], r13
test rbx, rbx
je 0x140115cf4
mov qword [rsp + 0x20], rcx
cmp r12, qword [0x14022f688]
jne 0x140115935
mov rcx, rsi
call fcn.1400b3f20
lea r15, [rbx + 0x88]
mov ecx, 0x30
call fcn.140143bb8
mov r13, rax
mov dword [rax], 1
lea rax, [0x14019da90]
mov qword [r13 + 8], rax
lea r14, [0x14019dac0]
mov qword [r13 + 0x10], r14
lea rax, [0x1401a0420]
mov qword [r13 + 0x18], rax
lea rax, [0x14013cb30]
mov qword [r13 + 0x20], rax
mov qword [r13 + 0x28], rsi
mov r12, qword [rbx + 0x98]
test r12, r12
je 0x140115bc6
mov rax, qword [r12 + 8]
xor rax, 0xffffffffffffffff
je 0x140115bbc
tzcnt rbx, rax
mov rbp, qword [r12 + rbx*8 + 0x10]
mov qword [r12 + rbx*8 + 0x10], r13
test rbp, rbp
jne 0x140115c0e
mov r14d, 1
mov ecx, ebx
shl r14, cl
mov rax, qword [r12 + 8]
bts rax, rbx
mov qword [r12 + 8], rax
cmp rax, 0xffffffffffffffff
je 0x140115c54
mov rax, r15
and rax, rdi
cmp rax, qword [0x14022f688]
jne 0x1401159f0
mov rcx, r15
call fcn.1400b3f20
mov rax, qword [rsp + 0x20]
mov qword [rax], r15
and rdi, r12
cmp rdi, qword [0x14022f688]
jne 0x140115a0c
mov rcx, r12
call fcn.1400c5cb0
mov qword [rsi + 0x1c8], r12
mov qword [rsi + 0x1d0], r14
mov rcx, qword [rsp + 0x28]
mov al, byte [rcx + 4]
mov byte [rsi + 0x1d8], al
mov al, byte [rcx + 5]
mov byte [rsi + 0x1d9], al
mov al, byte [rcx + 6]
mov byte [rsi + 0x1da], al
lea rdi, [rsi + 0x1e0]
mov rax, qword [rsi]
lea rcx, [fcn.14013ca90]
cmp qword [rax + 0xa8], rcx
jne 0x140115d0a
mov ecx, 0x28
call fcn.140143bb8
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x140115a80
mov edx, 1
lock xadd dword [rcx], edx
cmp edx, 0x7fffffff
je 0x140115cfe
mov rdx, qword [rsi + 0x20]
test rdx, rdx
je 0x140115aa1
mov r8d, 1
lock xadd dword [rdx], r8d
cmp r8d, 0x7fffffff
je 0x140115d01
mov dword [rax + 8], 0
lea r8, [0x1401fe2f8]
mov qword [rax], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov byte [rax + 0x20], 0
test rax, rax
je 0x140115ad9
mov ecx, 1
lock xadd dword [rax + 8], ecx
cmp ecx, 0x7fffffff
je 0x140115d04
mov qword [rdi], rax
mov ecx, 8
call fcn.140143bb8
mov dword [rax], 0
mov byte [rax + 4], 0
mov qword [rsi + 0x1e8], rax
test rax, rax
je 0x140115b11
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x140115d07
mov qword [rsi + 0x1f0], rsi
mov rax, qword [rsi + 0xa8]
cmp qword [rax + 0x10], 0
sete byte [rsi + 0x58]
mov al, byte [rsi + 0x118]
mov byte [rsi + 0x5b], al
cmp qword [rsi + 0x98], 0
jne 0x140115b4b
test al, al
je 0x140115c9a
mov al, byte [rsi + 0x138]
xor al, 1
mov byte [rsi + 0x59], al
cmp qword [rsi + 0x10], 0
je 0x140115b96
mov rcx, qword [rsi + 0x20]
mov eax, dword [rcx + 8]
nop dword [rax]
mov edx, eax
or edx, 0x40000000
lock cmpxchg dword [rcx + 8], edx
jne 0x140115b60
mov edx, 0x3fffffff
and eax, 0x3fffffff
mov r8d, eax
neg r8d
lock xadd dword [rcx + 8], r8d
test r8d, r8d
jns 0x140115b96
and r8d, edx
cmp r8d, eax
je 0x140115d59
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140146540
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, 0x40
jmp 0x1401159a3
mov ecx, 0x230
call fcn.140143bb8
mov r12, rax
mov r8d, 0x230
mov rcx, rax
xor edx, edx
call fcn.140148680
lea rdx, [rsp + 0x30]
mov qword [rdx], r12
mov rcx, r15
call fcn.140014250
mov rdx, qword [rbx + 0x90]
mov rcx, r15
call fcn.140014160
mov r12, qword [rbx + 0x98]
jmp 0x14011598f
lock dec dword [rbp]
jne 0x1401159b6
mov rax, qword [rbp + 0x10]
cmp rax, r14
je 0x140115c2f
mov rcx, rbp
call qword [0x14021f820]
jmp 0x1401159b6
mov rcx, qword [rbp + 0x28]
mov rax, rcx
and rax, rdi
cmp rax, qword [0x14022f688]
jne 0x140115c47
call fcn.1400b4080
mov rcx, rbp
call fcn.140143bb0
jmp 0x1401159b6
mov rcx, r15
mov rdx, r12
call fcn.14000a5e0
jmp 0x1401159d9
call fcn.1400cdad0
mov r13, qword [r15 + 0x10]
cmp qword [0x14023f388], 0
je 0x140115ca1
mov rcx, qword [0x14023f388]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r13
call qword [0x14021f820]
mov qword [r15 + 0x10], 0
jmp 0x1401156e8
xor eax, eax
jmp 0x140115b4b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x140212727]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140115d67
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140115ce0
call qword [0x14021f820]
mov rcx, rax
xor edx, edx
call fcn.140006000
jmp 0x140115c77
xor ecx, ecx
mov dl, 1
jmp 0x140115cd9
mov byte [r15 + 0x18], 0
int3
int3
int3
call fcn.1401b0810
jmp 0x140115a1a
int3
int3
int3
int3
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
call fcn.14013ca90
jmp 0x140115adc
mov ecx, 0xc
call fcn.140143bb8
mov r15, rax
mov rcx, rax
call fcn.140094650
test r15, r15
je 0x140115d48
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x140115d6e
mov rcx, r15
call fcn.140094670
mov qword [rsi + 0x18], r15
jmp 0x140115692
add rcx, 0x10
call fcn.14010a5c0
jmp 0x140115b96
xor ecx, ecx
jmp 0x140115cd7
int3