Function at 0x140102560
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 0x140102acf
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.14012dc60
mov rbx, qword [rsp + 0x60]
cmp rbx, 0xfff
ja 0x14010267c
cmp qword [rsp + 0x58], 0xfff
ja 0x1401025cd
lea rcx, [rsp + 0x50]
mov edx, 0x1000
call fcn.14012dc60
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 0x14010264f
cmp rbx, 0x1000
je 0x14010267c
mov edi, edx
and edi, 7
add rbx, 0xfffffffffffff007
cmp rbx, 7
jb 0x140102639
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 0x140102610
test rdi, rdi
je 0x14010267c
xor eax, eax
mov byte [rcx + rax], 0
add rax, 1
cmp rdi, rax
jne 0x140102640
jmp 0x14010267c
and rdx, 0xfffffffffffffff8
add rdx, rcx
cmp rdx, rcx
jbe 0x14010267c
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 0x1401026a0
mov r12, r15
jmp 0x140102a63
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 0x1401026d7
cmp byte [r15 + 1], 0x3a
jne 0x1401026d7
mov al, byte [r15 + 2]
cmp al, 0x2f
je 0x140102698
cmp al, 0x5c
je 0x140102698
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x30]
mov edx, 0x1000
call fcn.14012dc60
mov rdi, qword [rsp + 0x40]
cmp rdi, 0xfff
ja 0x1401027dc
cmp qword [rsp + 0x38], 0xfff
ja 0x140102728
lea rcx, [rsp + 0x30]
mov edx, 0x1000
call fcn.14012dc60
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 0x1401027af
cmp rdi, 0x1000
je 0x1401027dc
mov ebx, edx
and ebx, 7
add rdi, 0xfffffffffffff007
cmp rdi, 7
jb 0x140102799
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 0x140102770
test rbx, rbx
je 0x1401027dc
xor eax, eax
mov byte [rcx + rax], 0
add rax, 1
cmp rbx, rax
jne 0x1401027a0
jmp 0x1401027dc
and rdx, 0xfffffffffffffff8
add rdx, rcx
cmp rdx, rcx
jbe 0x1401027dc
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.1400f1d80
mov rdx, 0xffffffffffffffff
lea rax, [0x140dc1590]
nop dword [rax]
cmp byte [rdx + rax + 1], 0
lea rdx, [rdx + 1]
jne 0x140102800
cmp rdx, 0xfff
mov r8d, 0xfff
cmovb r8, rdx
test r8, r8
je 0x140102924
cmp r8, 8
jb 0x140102845
lea rcx, [rax + r8]
cmp rsi, rcx
jae 0x140102942
lea rcx, [rsi + r8]
cmp rcx, rax
jbe 0x140102942
xor ecx, ecx
mov r9, rcx
not r9
add r9, r8
test r8b, 3
je 0x140102881
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 0x140102870
cmp r9, 3
jb 0x1401028cb
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 0x1401028a0
mov byte [rsi + r8], 0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14010293e
mov al, byte [rcx]
xor r9d, r9d
mov rsi, rcx
test al, al
je 0x140102975
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 0x140102900
test rsi, rsi
je 0x140102953
add rsi, 1
mov al, byte [rsi]
test al, al
jne 0x1401028f0
jmp 0x140102975
mov byte [rsi], 0
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.1400ef340
mov r12, r15
jmp 0x140102a63
xor edx, edx
jmp 0x140102980
cmp r8, 0x20
jae 0x140102ade
xor ecx, ecx
jmp 0x140102c00
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 0x140102960
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 0x140102990
sub rdx, rcx
cmp rdx, 0xfff
mov edi, 0xfff
cmovb rdi, rdx
xor edx, edx
test rdi, rdi
je 0x1401029d8
nop word cs:[rax + rax]
nop dword [rax]
movzx ebx, byte [rcx + rdx]
test bl, bl
je 0x1401029d8
mov byte [rax + rdx - 1], bl
add rdx, 1
cmp rdi, rdx
jne 0x1401029c0
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 0x1401029f0
mov rax, r12
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x140102a10
test rdx, rdx
je 0x140102a52
mov rdi, rdx
neg rdi
xor ebx, ebx
nop word cs:[rax + rax]
movzx r8d, byte [r15 + rbx]
test r8b, r8b
je 0x140102a54
mov byte [rax + rbx - 1], r8b
lea rsi, [rdx + rbx]
add rbx, 1
cmp rsi, 0xffffffffffffffff
jne 0x140102a30
mov rbx, rdi
jmp 0x140102a54
xor ebx, ebx
mov byte [rbx + rax - 1], 0
mov rdx, qword [rsp + 0x38]
call fcn.1400ef340
cmp dword [0x140dc0554], 0
je 0x140102a82
mov rdx, qword [str.SanitizerTool]
lea rcx, str._s:_reading_suppressions_file_at__s_n
mov r8, r12
call fcn.1400ed620
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.14010c740
test al, al
je 0x140102c4f
mov rdx, qword [rsp + 0x30]
mov rcx, r14
call fcn.14010cbc0
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
call fcn.1400ef340
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 0x140102b03
xor ebx, ebx
jmp 0x140102b88
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 0x140102b30
test r9b, 3
je 0x140102bed
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 0x140102bd0
cmp r8, rcx
je 0x1401028cb
test r8b, 0x18
je 0x140102847
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 0x140102c30
cmp r8, rcx
je 0x1401028cb
jmp 0x140102847
mov rdx, qword [str.SanitizerTool]
lea rcx, str._s:_failed_to_read_suppressions_file__s_n
mov r8, r12
call fcn.1400ed620
call fcn.1400ed650
int3