Function at 0x4e1f80
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 0x4e24ef
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.004fe9c0
mov rbx, qword [rsp + 0x60]
cmp rbx, 0xfff
ja 0x4e209c
cmp qword [rsp + 0x58], 0xfff
ja 0x4e1fed
lea rcx, [rsp + 0x50]
mov edx, 0x1000
call fcn.004fe9c0
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 0x4e206f
cmp rbx, 0x1000
je 0x4e209c
mov edi, edx
and edi, 7
add rbx, 0xfffffffffffff007
cmp rbx, 7
jb 0x4e2059
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 0x4e2030
test rdi, rdi
je 0x4e209c
xor eax, eax
mov byte [rcx + rax], 0
add rax, 1
cmp rdi, rax
jne 0x4e2060
jmp 0x4e209c
and rdx, 0xfffffffffffffff8
add rdx, rcx
cmp rdx, rcx
jbe 0x4e209c
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 0x4e20c0
mov r12, r15
jmp 0x4e2483
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 0x4e20f7
cmp byte [r15 + 1], 0x3a
jne 0x4e20f7
mov al, byte [r15 + 2]
cmp al, 0x2f
je 0x4e20b8
cmp al, 0x5c
je 0x4e20b8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
lea rcx, [rsp + 0x30]
mov edx, 0x1000
call fcn.004fe9c0
mov rdi, qword [rsp + 0x40]
cmp rdi, 0xfff
ja 0x4e21fc
cmp qword [rsp + 0x38], 0xfff
ja 0x4e2148
lea rcx, [rsp + 0x30]
mov edx, 0x1000
call fcn.004fe9c0
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 0x4e21cf
cmp rdi, 0x1000
je 0x4e21fc
mov ebx, edx
and ebx, 7
add rdi, 0xfffffffffffff007
cmp rdi, 7
jb 0x4e21b9
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 0x4e2190
test rbx, rbx
je 0x4e21fc
xor eax, eax
mov byte [rcx + rax], 0
add rax, 1
cmp rbx, rax
jne 0x4e21c0
jmp 0x4e21fc
and rdx, 0xfffffffffffffff8
add rdx, rcx
cmp rdx, rcx
jbe 0x4e21fc
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.004d17a0
mov rdx, 0xffffffffffffffff
lea rax, [0x011714d0]
nop dword [rax]
cmp byte [rdx + rax + 1], 0
lea rdx, [rdx + 1]
jne 0x4e2220
cmp rdx, 0xfff
mov r8d, 0xfff
cmovb r8, rdx
test r8, r8
je 0x4e2344
cmp r8, 8
jb 0x4e2265
lea rcx, [rax + r8]
cmp rsi, rcx
jae 0x4e2362
lea rcx, [rsi + r8]
cmp rcx, rax
jbe 0x4e2362
xor ecx, ecx
mov r9, rcx
not r9
add r9, r8
test r8b, 3
je 0x4e22a1
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 0x4e2290
cmp r9, 3
jb 0x4e22eb
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 0x4e22c0
mov byte [rsi + r8], 0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x4e235e
mov al, byte [rcx]
xor r9d, r9d
mov rsi, rcx
test al, al
je 0x4e2395
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 0x4e2320
test rsi, rsi
je 0x4e2373
add rsi, 1
mov al, byte [rsi]
test al, al
jne 0x4e2310
jmp 0x4e2395
mov byte [rsi], 0
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call fcn.004ced60
mov r12, r15
jmp 0x4e2483
xor edx, edx
jmp 0x4e23a0
cmp r8, 0x20
jae 0x4e24fe
xor ecx, ecx
jmp 0x4e2620
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 0x4e2380
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 0x4e23b0
sub rdx, rcx
cmp rdx, 0xfff
mov edi, 0xfff
cmovb rdi, rdx
xor edx, edx
test rdi, rdi
je 0x4e23f8
nop word cs:[rax + rax]
nop dword [rax]
movzx ebx, byte [rcx + rdx]
test bl, bl
je 0x4e23f8
mov byte [rax + rdx - 1], bl
add rdx, 1
cmp rdi, rdx
jne 0x4e23e0
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 0x4e2410
mov rax, r12
nop word cs:[rax + rax]
nop dword [rax]
cmp byte [rax], 0
lea rax, [rax + 1]
jne 0x4e2430
test rdx, rdx
je 0x4e2472
mov rdi, rdx
neg rdi
xor ebx, ebx
nop word cs:[rax + rax]
movzx r8d, byte [r15 + rbx]
test r8b, r8b
je 0x4e2474
mov byte [rax + rbx - 1], r8b
lea rsi, [rdx + rbx]
add rbx, 1
cmp rsi, 0xffffffffffffffff
jne 0x4e2450
mov rbx, rdi
jmp 0x4e2474
xor ebx, ebx
mov byte [rbx + rax - 1], 0
mov rdx, qword [rsp + 0x38]
call fcn.004ced60
cmp dword [0x01170494], 0
je 0x4e24a2
mov rdx, qword [str.SanitizerTool]
lea rcx, str._s:_reading_suppressions_file_at__s_n
mov r8, r12
call fcn.004cd040
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.004ec160
test al, al
je 0x4e266f
mov rdx, qword [rsp + 0x30]
mov rcx, r14
call fcn.004ec5e0
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
call fcn.004ced60
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 0x4e2523
xor ebx, ebx
jmp 0x4e25a8
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 0x4e2550
test r9b, 3
je 0x4e260d
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 0x4e25f0
cmp r8, rcx
je 0x4e22eb
test r8b, 0x18
je 0x4e2267
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 0x4e2650
cmp r8, rcx
je 0x4e22eb
jmp 0x4e2267
mov rdx, qword [str.SanitizerTool]
lea rcx, str._s:_failed_to_read_suppressions_file__s_n
mov r8, r12
call fcn.004cd040
call fcn.004cd070
int3