Function at 0x140096fe0
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.1401308ac
test eax, eax
jne 0x14009724b
mov rdx, rbx
mov qword [rsp + 0x70], r14
mov rcx, rbp
call fcn.1400954d0
xor edi, edi
test eax, eax
je 0x140097026
mov ebp, dword [rbp + 0x10e54]
jmp 0x140097028
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 0x140097237
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 0x140097237
test ebp, ebp
jne 0x1400971c6
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 0x1400970dd
mov rdx, rdi
jmp 0x1400970f4
cmp rcx, r9
jbe 0x1400970e7
mov rdx, r8
jmp 0x1400970f4
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 0x14009710f
test ecx, ecx
je 0x14009713d
mov rdx, rcx
mov ecx, eax
shl rdx, 0x20
add rdx, rcx
cmp rdx, rbp
jae 0x140097125
mov rdx, rdi
jmp 0x14009713d
cmp rdx, r9
jbe 0x14009712f
mov rdx, r8
jmp 0x14009713d
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 0x14009716c
test ecx, ecx
jne 0x14009716c
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 0x1400971ae
cmp rdx, r9
jbe 0x14009719d
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.140094c90
cmp dword [rsp + 0x88], edi
jne 0x1400971f0
cmp dword [rsp + 0x8c], edi
jne 0x1400971f0
mov rax, qword [rsi + 0x20]
mov qword [rsi + 0x18], rax
jmp 0x140097201
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0x88]
call fcn.140094c90
cmp dword [rsp + 0x40], edi
jne 0x140097229
cmp dword [rsp + 0x44], edi
jne 0x140097229
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.140094c90
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 0x140097300
test bl, 0x10
je 0x140097300
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
call fcn.14012a5f8
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x88], rax
call fcn.14012f4a8
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.140133ca8
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