Function at 0x1400a9700
Capabilities:
Get file attributes

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov rdi, rdx
mov rbx, rcx
call fcn.14015c78c
mov rcx, rbx
test eax, eax
jne 0x1400a9966
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], r14
call fcn.1400a94d0
xor esi, esi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
mov edx, 0x80
mov dword [rsp + 0x28], 0x2000000
mov rcx, rbx
mov r14d, eax
mov dword [rsp + 0x20], 3
lea r8d, [rsi + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x1400a9952
lea r9, [rsp + 0x40]
mov rcx, rax
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_GetFileTime]
mov rcx, rbp
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x1400a9952
test r14d, r14d
jne 0x1400a98d8
mov ecx, dword [rsp + 0x44]
movabs rbp, 0x19db1ded53e8000
mov eax, dword [rsp + 0x40]
movabs r9, 0x236485ed4a5e980
shl rcx, 0x20
mov r8d, 0xffffffff
add rcx, rax
movabs r11, 0xfe624e212ac18000
movabs r10, 0xd6bf94d5e57a42bd
cmp rcx, rbp
jae 0x1400a97e9
mov edx, esi
jmp 0x1400a9800
cmp rcx, r9
jbe 0x1400a97f3
mov rdx, r8
jmp 0x1400a9800
add rcx, r11
mov rax, r10
mul rcx
shr rdx, 0x17
mov qword [rdi + 0x20], rdx
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x84]
test eax, eax
jne 0x1400a981b
test ecx, ecx
je 0x1400a9849
mov rdx, rcx
mov ecx, eax
shl rdx, 0x20
add rdx, rcx
cmp rdx, rbp
jae 0x1400a9831
mov rdx, rsi
jmp 0x1400a9849
cmp rdx, r9
jbe 0x1400a983b
mov rdx, r8
jmp 0x1400a9849
lea rcx, [rdx + r11]
mov rax, r10
mul rcx
shr rdx, 0x17
mov qword [rdi + 0x18], rdx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x8c]
test eax, eax
jne 0x1400a987e
test ecx, ecx
jne 0x1400a987e
mov rsi, qword [rdi + 0x20]
mov qword [rdi + 0x28], rsi
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
mov rdx, rcx
mov ecx, eax
shl rdx, 0x20
add rdx, rcx
cmp rdx, rbp
jb 0x1400a98c0
cmp rdx, r9
jbe 0x1400a98af
mov qword [rdi + 0x28], r8
mov rsi, r8
mov r14, qword [rsp + 0x78]
xor eax, eax
mov rbp, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
lea rcx, [rdx + r11]
mov rax, r10
mul rcx
mov rsi, rdx
shr rsi, 0x17
mov qword [rdi + 0x28], rsi
xor eax, eax
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
lea rdx, [rdi + 0x20]
lea rcx, [rsp + 0x40]
call fcn.1400a9600
cmp dword [rsp + 0x80], esi
jne 0x1400a9902
cmp dword [rsp + 0x84], esi
jne 0x1400a9902
mov rax, qword [rdi + 0x20]
mov qword [rdi + 0x18], rax
jmp 0x1400a9913
lea rdx, [rdi + 0x18]
lea rcx, [rsp + 0x80]
call fcn.1400a9600
cmp dword [rsp + 0x88], esi
jne 0x1400a9941
cmp dword [rsp + 0x8c], esi
jne 0x1400a9941
mov rax, qword [rdi + 0x20]
mov r14, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
mov qword [rdi + 0x28], rax
xor eax, eax
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
lea rdx, [rdi + 0x28]
lea rcx, [rsp + 0x88]
call fcn.1400a9600
mov r14, qword [rsp + 0x78]
xor eax, eax
mov rbp, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov r8d, 0xffffffff
mov ebx, eax
cmp eax, r8d
je 0x1400a9a07
test bl, 0x10
je 0x1400a9a07
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
call fcn.140150920
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x80], rax
call fcn.140167bd4
xor esi, esi
mov rcx, rax
mov dword [rax + 0x20], 0xffffffff
mov qword [rax], rsi
mov dword [rax + 8], esi
mov qword [rax + 0xc], 1
mov dword [rax + 0x14], 0x50
call fcn.140166bc8
shl bx, 7
mov qword [rdi + 0x20], rax
not bx
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x18], rax
mov eax, 0x80
and bx, ax
mov eax, 0x4100
or bx, ax
mov word [rdi + 6], bx
xor eax, eax
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
mov eax, 0xffffffff
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret