Function at 0x140098ba0
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
sub rsp, 0x50
mov rbx, rdx
mov rbp, rcx
mov rcx, rbx
mov rdx, r8
mov rsi, r8
call fcn.140133774
test eax, eax
jne 0x140098e0b
mov rdx, rbx
mov qword [rsp + 0x70], r14
mov rcx, rbp
call fcn.1400970b0
xor edi, edi
test eax, eax
je 0x140098be6
mov ebp, dword [rbp + 0x10e54]
jmp 0x140098be8
mov ebp, edi
mov eax, 0x80
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov rcx, rbx
lea r8d, [rax - 0x7d]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x140098df7
lea r9, [rsp + 0x48]
mov rcx, rax
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileTime]
mov rcx, r14
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x140098df7
test ebp, ebp
jne 0x140098d86
mov ecx, dword [rsp + 0x4c]
movabs rbp, 0x19db1ded53e8000
mov eax, dword [rsp + 0x48]
movabs r9, 0x236485ed4a5e980
shl rcx, 0x20
mov r8d, 0xffffffff
add rcx, rax
movabs r11, 0xfe624e212ac18000
movabs r10, 0xd6bf94d5e57a42bd
cmp rcx, rbp
jae 0x140098c9d
mov rdx, rdi
jmp 0x140098cb4
cmp rcx, r9
jbe 0x140098ca7
mov rdx, r8
jmp 0x140098cb4
add rcx, r11
mov rax, r10
mul rcx
shr rdx, 0x17
mov qword [rsi + 0x20], rdx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x8c]
test eax, eax
jne 0x140098ccf
test ecx, ecx
je 0x140098cfd
mov rdx, rcx
mov ecx, eax
shl rdx, 0x20
add rdx, rcx
cmp rdx, rbp
jae 0x140098ce5
mov rdx, rdi
jmp 0x140098cfd
cmp rdx, r9
jbe 0x140098cef
mov rdx, r8
jmp 0x140098cfd
lea rcx, [rdx + r11]
mov rax, r10
mul rcx
shr rdx, 0x17
mov qword [rsi + 0x18], rdx
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
test eax, eax
jne 0x140098d2c
test ecx, ecx
jne 0x140098d2c
mov rdi, qword [rsi + 0x20]
mov qword [rsi + 0x28], rdi
mov r14, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
mov rdx, rcx
mov ecx, eax
shl rdx, 0x20
add rdx, rcx
cmp rdx, rbp
jb 0x140098d6e
cmp rdx, r9
jbe 0x140098d5d
mov qword [rsi + 0x28], r8
mov rdi, r8
mov r14, qword [rsp + 0x70]
xor eax, eax
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rdx + r11]
mov rax, r10
mul rcx
mov rdi, rdx
shr rdi, 0x17
mov qword [rsi + 0x28], rdi
xor eax, eax
mov r14, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
lea rdx, [rsi + 0x20]
lea rcx, [rsp + 0x48]
call fcn.140096870
cmp dword [rsp + 0x88], edi
jne 0x140098db0
cmp dword [rsp + 0x8c], edi
jne 0x140098db0
mov rax, qword [rsi + 0x20]
mov qword [rsi + 0x18], rax
jmp 0x140098dc1
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0x88]
call fcn.140096870
cmp dword [rsp + 0x40], edi
jne 0x140098de9
cmp dword [rsp + 0x44], edi
jne 0x140098de9
mov rax, qword [rsi + 0x20]
mov r14, qword [rsp + 0x70]
mov qword [rsi + 0x28], rax
xor eax, eax
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
lea rdx, [rsi + 0x28]
lea rcx, [rsp + 0x40]
call fcn.140096870
mov r14, qword [rsp + 0x70]
xor eax, eax
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov r8d, 0xffffffff
mov ebx, eax
cmp eax, r8d
je 0x140098ec0
test bl, 0x10
je 0x140098ec0
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
call fcn.14012d7b4
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x88], rax
call fcn.140132260
xor edi, edi
mov rcx, rax
mov dword [rax + 0x20], 0xffffffff
mov dword [rax + 0x14], 0x50
mov qword [rax + 0xc], 1
mov qword [rax + 4], rdi
mov dword [rax], edi
call fcn.140136dc4
test rax, rax
mov ecx, 0x7fffffff
cmovs rax, rcx
shl bx, 7
mov qword [rsi + 0x20], rax
not bx
mov qword [rsi + 0x28], rax
mov qword [rsi + 0x18], rax
mov eax, 0x80
and bx, ax
mov eax, 0x4100
or bx, ax
mov word [rsi + 6], bx
xor eax, eax
mov rbx, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
mov rbx, qword [rsp + 0x78]
mov eax, 0xffffffff
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret