Function at 0x1400ec1c0
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 0x1400ec72f
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.14010ecd0
mov rbx, qword [rsp + 0x60]
cmp rbx, 0xfff
ja 0x1400ec2dc
cmp qword [rsp + 0x58], 0xfff
ja 0x1400ec22d
lea rcx, [rsp + 0x50]
mov edx, 0x1000
call fcn.14010ecd0
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 0x1400ec2af
cmp rbx, 0x1000
je 0x1400ec2dc
mov edi, edx
and edi, 7
add rbx, 0xfffffffffffff007
cmp rbx, 7
jb 0x1400ec299
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 0x1400ec270
test rdi, rdi
je 0x1400ec2dc
xor eax, eax
mov byte [rcx + rax], 0
add rax, 1
cmp rdi, rax
jne 0x1400ec2a0
jmp 0x1400ec2dc
and rdx, 0xfffffffffffffff8
add rdx, rcx
cmp rdx, rcx
jbe 0x1400ec2dc
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 0x1400ec300
mov r12, r15
jmp 0x1400ec6c3
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 0x1400ec337
cmp byte [r15 + 1], 0x3a
jne 0x1400ec337
mov al, byte [r15 + 2]
cmp al, 0x2f
je 0x1400ec2f8
cmp al, 0x5c
je 0x1400ec2f8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x30]
mov edx, 0x1000
call fcn.14010ecd0
mov rdi, qword [rsp + 0x40]
cmp rdi, 0xfff
ja 0x1400ec43c
cmp qword [rsp + 0x38], 0xfff
ja 0x1400ec388
lea rcx, [rsp + 0x30]
mov edx, 0x1000
call fcn.14010ecd0
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 0x1400ec40f
cmp rdi, 0x1000
je 0x1400ec43c
mov ebx, edx
and ebx, 7
add rdi, 0xfffffffffffff007
cmp rdi, 7
jb 0x1400ec3f9
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 0x1400ec3d0
test rbx, rbx
je 0x1400ec43c
xor eax, eax
mov byte [rcx + rax], 0
add rax, 1
cmp rbx, rax
jne 0x1400ec400
jmp 0x1400ec43c
and rdx, 0xfffffffffffffff8
add rdx, rcx
cmp rdx, rcx
jbe 0x1400ec43c
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.1400db9e0
mov rdx, 0xffffffffffffffff
lea rax, [0x140d295d0]
nop dword [rax]
cmp byte [rdx + rax + 1], 0
lea rdx, [rdx + 1]
jne 0x1400ec460
cmp rdx, 0xfff
mov r8d, 0xfff
cmovb r8, rdx
test r8, r8
je 0x1400ec584
cmp r8, 8
jb 0x1400ec4a5
lea rcx, [rax + r8]
cmp rsi, rcx
jae 0x1400ec5a2
lea rcx, [rsi + r8]
cmp rcx, rax
jbe 0x1400ec5a2
xor ecx, ecx
mov r9, rcx
not r9
add r9, r8
test r8b, 3
je 0x1400ec4e1
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 0x1400ec4d0
cmp r9, 3
jb 0x1400ec52b
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 0x1400ec500
mov byte [rsi + r8], 0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400ec59e
mov al, byte [rcx]
xor r9d, r9d
mov rsi, rcx
test al, al
je 0x1400ec5d5
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 0x1400ec560
test rsi, rsi
je 0x1400ec5b3
add rsi, 1
mov al, byte [rsi]
test al, al
jne 0x1400ec550
jmp 0x1400ec5d5
mov byte [rsi], 0
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.1400d8fa0
mov r12, r15
jmp 0x1400ec6c3
xor edx, edx
jmp 0x1400ec5e0
cmp r8, 0x20
jae 0x1400ec73e
xor ecx, ecx
jmp 0x1400ec860
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 0x1400ec5c0
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 0x1400ec5f0
sub rdx, rcx
cmp rdx, 0xfff
mov edi, 0xfff
cmovb rdi, rdx
xor edx, edx
test rdi, rdi
je 0x1400ec638
nop word cs:[rax + rax]
nop dword [rax]
movzx ebx, byte [rcx + rdx]
test bl, bl
je 0x1400ec638
mov byte [rax + rdx - 1], bl
add rdx, 1
cmp rdi, rdx
jne 0x1400ec620
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 0x1400ec650
mov rax, r12
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x1400ec670
test rdx, rdx
je 0x1400ec6b2
mov rdi, rdx
neg rdi
xor ebx, ebx
nop word cs:[rax + rax]
movzx r8d, byte [r15 + rbx]
test r8b, r8b
je 0x1400ec6b4
mov byte [rax + rbx - 1], r8b
lea rsi, [rdx + rbx]
add rbx, 1
cmp rsi, 0xffffffffffffffff
jne 0x1400ec690
mov rbx, rdi
jmp 0x1400ec6b4
xor ebx, ebx
mov byte [rbx + rax - 1], 0
mov rdx, qword [rsp + 0x38]
call fcn.1400d8fa0
cmp dword [0x140d28594], 0
je 0x1400ec6e2
mov rdx, qword [str.SanitizerTool]
lea rcx, str._s:_reading_suppressions_file_at__s_n
mov r8, r12
call fcn.1400d7280
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.1400f63a0
test al, al
je 0x1400ec8af
mov rdx, qword [rsp + 0x30]
mov rcx, r14
call fcn.1400f6820
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
call fcn.1400d8fa0
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 0x1400ec763
xor ebx, ebx
jmp 0x1400ec7e8
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 0x1400ec790
test r9b, 3
je 0x1400ec84d
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 0x1400ec830
cmp r8, rcx
je 0x1400ec52b
test r8b, 0x18
je 0x1400ec4a7
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 0x1400ec890
cmp r8, rcx
je 0x1400ec52b
jmp 0x1400ec4a7
mov rdx, qword [str.SanitizerTool]
lea rcx, str._s:_failed_to_read_suppressions_file__s_n
mov r8, r12
call fcn.1400d7280
call fcn.1400d72b0
int3