Function at 0x14009b6c0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
cmp byte [rdx], 0
je 0x14009bc2f
mov r15, rdx
mov r14, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
lea rcx, [rsp + 0x50]
mov edx, 0x1000
call fcn.1400c6dc0
mov rbx, qword [rsp + 0x60]
cmp rbx, 0xfff
ja 0x14009b7dc
cmp qword [rsp + 0x58], 0xfff
ja 0x14009b72d
lea rcx, [rsp + 0x50]
mov edx, 0x1000
call fcn.1400c6dc0
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x50]
lea rcx, [rdi + rbx]
mov edx, 0x1000
sub rdx, rbx
mov eax, edx
or eax, ecx
test al, 0xf
je 0x14009b7af
cmp rbx, 0x1000
je 0x14009b7dc
mov edi, edx
and edi, 7
add rbx, 0xfffffffffffff007
cmp rbx, 7
jb 0x14009b799
and rdx, 0xfffffffffffffff8
nop dword [rax]
mov byte [rcx], 0
mov byte [rcx + 1], 0
mov byte [rcx + 2], 0
mov byte [rcx + 3], 0
mov byte [rcx + 4], 0
mov byte [rcx + 5], 0
mov byte [rcx + 6], 0
mov byte [rcx + 7], 0
add rcx, 8
add rdx, 0xfffffffffffffff8
jne 0x14009b770
test rdi, rdi
je 0x14009b7dc
xor eax, eax
mov byte [rcx + rax], 0
add rax, 1
cmp rdi, rax
jne 0x14009b7a0
jmp 0x14009b7dc
and rdx, 0xfffffffffffffff8
add rdx, rcx
cmp rdx, rcx
jbe 0x14009b7dc
lea r8, [rbx + rdi]
add r8, 0x10
cmp rdx, r8
cmova r8, rdx
sub r8, rcx
add r8, 0xf
and r8, 0xfffffffffffffff0
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x60], 0x1000
mov r12, qword [rsp + 0x50]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14009b800
mov r12, r15
jmp 0x14009bbc3
movsx eax, byte [r15]
lea ecx, [rax - 0x41]
shl eax, 0x18
lea edx, [rax + 0x20000000]
cmp ecx, 0x1a
cmovae edx, eax
add edx, 0x9fffffff
cmp edx, 0x1afffffe
ja 0x14009b837
cmp byte [r15 + 1], 0x3a
jne 0x14009b837
mov al, byte [r15 + 2]
cmp al, 0x2f
je 0x14009b7f8
cmp al, 0x5c
je 0x14009b7f8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x30]
mov edx, 0x1000
call fcn.1400c6dc0
mov rdi, qword [rsp + 0x40]
cmp rdi, 0xfff
ja 0x14009b93c
cmp qword [rsp + 0x38], 0xfff
ja 0x14009b888
lea rcx, [rsp + 0x30]
mov edx, 0x1000
call fcn.1400c6dc0
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
lea rcx, [rbx + rdi]
mov edx, 0x1000
sub rdx, rdi
mov eax, edx
or eax, ecx
test al, 0xf
je 0x14009b90f
cmp rdi, 0x1000
je 0x14009b93c
mov ebx, edx
and ebx, 7
add rdi, 0xfffffffffffff007
cmp rdi, 7
jb 0x14009b8f9
and rdx, 0xfffffffffffffff8
nop word cs:[rax + rax]
nop
mov byte [rcx], 0
mov byte [rcx + 1], 0
mov byte [rcx + 2], 0
mov byte [rcx + 3], 0
mov byte [rcx + 4], 0
mov byte [rcx + 5], 0
mov byte [rcx + 6], 0
mov byte [rcx + 7], 0
add rcx, 8
add rdx, 0xfffffffffffffff8
jne 0x14009b8d0
test rbx, rbx
je 0x14009b93c
xor eax, eax
mov byte [rcx + rax], 0
add rax, 1
cmp rbx, rax
jne 0x14009b900
jmp 0x14009b93c
and rdx, 0xfffffffffffffff8
add rdx, rcx
cmp rdx, rcx
jbe 0x14009b93c
lea r8, [rdi + rbx]
add r8, 0x10
cmp rdx, r8
cmova r8, rdx
sub r8, rcx
add r8, 0xf
and r8, 0xfffffffffffffff0
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x40], 0x1000
mov rsi, qword [rsp + 0x30]
call fcn.14008aee0
mov rdx, 0xffffffffffffffff
lea rax, [0x140c5df50]
nop dword [rax]
cmp byte [rdx + rax + 1], 0
lea rdx, [rdx + 1]
jne 0x14009b960
cmp rdx, 0xfff
mov r8d, 0xfff
cmovb r8, rdx
test r8, r8
je 0x14009ba84
cmp r8, 8
jb 0x14009b9a5
lea rcx, [rax + r8]
cmp rsi, rcx
jae 0x14009baa2
lea rcx, [rsi + r8]
cmp rcx, rax
jbe 0x14009baa2
xor ecx, ecx
mov r9, rcx
not r9
add r9, r8
test r8b, 3
je 0x14009b9e1
cmp rdx, 0xfff
mov edi, 0xfff
cmovb rdi, rdx
and edi, 3
nop dword [rax]
movzx ebx, byte [rcx + rax]
mov byte [rsi + rcx], bl
add rcx, 1
add rdi, 0xffffffffffffffff
jne 0x14009b9d0
cmp r9, 3
jb 0x14009ba2b
cmp rdx, 0xfff
mov ebx, 0xfff
cmovb rbx, rdx
nop word [rax + rax]
movzx edx, byte [rcx + rax]
mov byte [rsi + rcx], dl
movzx edx, byte [rcx + rax + 1]
mov byte [rsi + rcx + 1], dl
movzx edx, byte [rcx + rax + 2]
mov byte [rsi + rcx + 2], dl
movzx edx, byte [rcx + rax + 3]
mov byte [rsi + rcx + 3], dl
add rcx, 4
cmp rbx, rcx
jne 0x14009ba00
mov byte [rsi + r8], 0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14009ba9e
mov al, byte [rcx]
xor r9d, r9d
mov rsi, rcx
test al, al
je 0x14009bad5
nop word [rax + rax]
mov r8, rsi
mov rdi, rsi
mov edx, eax
xor esi, esi
nop word [rax + rax]
cmp dl, 0x5c
cmove rsi, rdi
movzx edx, byte [rdi + 1]
add rdi, 1
test dl, dl
jne 0x14009ba60
test rsi, rsi
je 0x14009bab3
add rsi, 1
mov al, byte [rsi]
test al, al
jne 0x14009ba50
jmp 0x14009bad5
mov byte [rsi], 0
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.1400884a0
mov r12, r15
jmp 0x14009bbc3
xor edx, edx
jmp 0x14009bae0
cmp r8, 0x20
jae 0x14009bc3e
xor ecx, ecx
jmp 0x14009bd60
xor r9d, r9d
mov rbx, r8
nop dword [rax]
cmp al, 0x2f
cmove r9, rbx
movzx eax, byte [rbx + 1]
add rbx, 1
test al, al
jne 0x14009bac0
mov rsi, r8
lea rdx, [r9 + 1]
test r9, r9
cmove rdx, rsi
mov rax, r12
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x14009baf0
sub rdx, rcx
cmp rdx, 0xfff
mov edi, 0xfff
cmovb rdi, rdx
xor edx, edx
test rdi, rdi
je 0x14009bb38
nop word cs:[rax + rax]
nop dword [rax]
movzx ebx, byte [rcx + rdx]
test bl, bl
je 0x14009bb38
mov byte [rax + rdx - 1], bl
add rdx, 1
cmp rdi, rdx
jne 0x14009bb20
mov rdx, rdi
mov byte [rdx + rax - 1], 0
mov rdx, 0xfffffffffffff000
nop word cs:[rax + rax]
nop
cmp byte [r12 + rdx + 0x1000], 0
lea rdx, [rdx + 1]
jne 0x14009bb50
mov rax, r12
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x14009bb70
test rdx, rdx
je 0x14009bbb2
mov rdi, rdx
neg rdi
xor ebx, ebx
nop word cs:[rax + rax]
movzx r8d, byte [r15 + rbx]
test r8b, r8b
je 0x14009bbb4
mov byte [rax + rbx - 1], r8b
lea rsi, [rdx + rbx]
add rbx, 1
cmp rsi, 0xffffffffffffffff
jne 0x14009bb90
mov rbx, rdi
jmp 0x14009bbb4
xor ebx, ebx
mov byte [rbx + rax - 1], 0
mov rdx, qword [rsp + 0x38]
call fcn.1400884a0
cmp dword [0x140c5cf14], 0
je 0x14009bbe2
mov rdx, qword [str.SanitizerTool]
lea rcx, str._s:_reading_suppressions_file_at__s_n
mov r8, r12
call fcn.140086780
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0x10000000
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x70]
lea r9, [rsp + 0x68]
mov rcx, r12
call fcn.1400a58a0
test al, al
je 0x14009bdaf
mov rdx, qword [rsp + 0x30]
mov rcx, r14
call fcn.1400a5d20
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
call fcn.1400884a0
nop
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov ecx, r8d
and ecx, 0xfe0
lea rbx, [rcx - 0x20]
mov r9, rbx
shr r9, 5
add r9, 1
cmp rbx, 0x60
jae 0x14009bc63
xor ebx, ebx
jmp 0x14009bce8
cmp rdx, 0xfff
mov edi, 0xfff
cmovb rdi, rdx
and edi, 0xfe0
add rdi, 0xffffffffffffffe0
shr rdi, 5
add rdi, 1
and rdi, 0xfffffffffffffffc
xor ebx, ebx
nop dword [rax + rax]
movaps xmm0, xmmword [rbx + rax]
movaps xmm1, xmmword [rbx + rax + 0x10]
movups xmmword [rsi + rbx], xmm0
movups xmmword [rsi + rbx + 0x10], xmm1
movaps xmm0, xmmword [rbx + rax + 0x20]
movaps xmm1, xmmword [rbx + rax + 0x30]
movups xmmword [rsi + rbx + 0x20], xmm0
movups xmmword [rsi + rbx + 0x30], xmm1
movaps xmm0, xmmword [rbx + rax + 0x40]
movaps xmm1, xmmword [rbx + rax + 0x50]
movups xmmword [rsi + rbx + 0x40], xmm0
movups xmmword [rsi + rbx + 0x50], xmm1
movaps xmm0, xmmword [rbx + rax + 0x60]
movaps xmm1, xmmword [rbx + rax + 0x70]
movups xmmword [rsi + rbx + 0x60], xmm0
movups xmmword [rsi + rbx + 0x70], xmm1
sub rbx, 0xffffffffffffff80
add rdi, 0xfffffffffffffffc
jne 0x14009bc90
test r9b, 3
je 0x14009bd4d
lea r10, [rsi + rbx]
add r10, 0x10
add rbx, rax
add rbx, 0x10
cmp rdx, 0xfff
mov edi, 0xfff
cmovb rdi, rdx
and dil, 0x60
add dil, 0xe0
shr dil, 5
add dil, 1
movzx r9d, dil
and r9d, 3
shl r9, 5
xor edi, edi
nop dword [rax + rax]
movaps xmm0, xmmword [rbx + rdi - 0x10]
movaps xmm1, xmmword [rbx + rdi]
movups xmmword [r10 + rdi - 0x10], xmm0
movups xmmword [r10 + rdi], xmm1
add rdi, 0x20
cmp r9, rdi
jne 0x14009bd30
cmp r8, rcx
je 0x14009ba2b
test r8b, 0x18
je 0x14009b9a7
mov rbx, rcx
mov ecx, r8d
and ecx, 0xff8
cmp rdx, 0xfff
mov r9d, 0xfff
cmovb r9, rdx
and r9d, 0xff8
nop word cs:[rax + rax]
nop
mov rdi, qword [rbx + rax]
mov qword [rsi + rbx], rdi
add rbx, 8
cmp r9, rbx
jne 0x14009bd90
cmp r8, rcx
je 0x14009ba2b
jmp 0x14009b9a7
mov rdx, qword [str.SanitizerTool]
lea rcx, str._s:_failed_to_read_suppressions_file__s_n
mov r8, r12
call fcn.140086780
call fcn.1400867b0
int3