Function at 0x140095540
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.14015c78c
test eax, eax
jne 0x1400957ab
mov rdx, rbx
mov qword [rsp + 0x70], r14
mov rcx, rbp
call fcn.140093a50
xor edi, edi
test eax, eax
je 0x140095586
mov ebp, dword [rbp + 0x10e54]
jmp 0x140095588
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 0x140095797
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 0x140095797
test ebp, ebp
jne 0x140095726
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 0x14009563d
mov rdx, rdi
jmp 0x140095654
cmp rcx, r9
jbe 0x140095647
mov rdx, r8
jmp 0x140095654
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 0x14009566f
test ecx, ecx
je 0x14009569d
mov rdx, rcx
mov ecx, eax
shl rdx, 0x20
add rdx, rcx
cmp rdx, rbp
jae 0x140095685
mov rdx, rdi
jmp 0x14009569d
cmp rdx, r9
jbe 0x14009568f
mov rdx, r8
jmp 0x14009569d
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 0x1400956cc
test ecx, ecx
jne 0x1400956cc
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 0x14009570e
cmp rdx, r9
jbe 0x1400956fd
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.140092f10
cmp dword [rsp + 0x88], edi
jne 0x140095750
cmp dword [rsp + 0x8c], edi
jne 0x140095750
mov rax, qword [rsi + 0x20]
mov qword [rsi + 0x18], rax
jmp 0x140095761
lea rdx, [rsi + 0x18]
lea rcx, [rsp + 0x88]
call fcn.140092f10
cmp dword [rsp + 0x40], edi
jne 0x140095789
cmp dword [rsp + 0x44], edi
jne 0x140095789
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.140092f10
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 0x140095860
test bl, 0x10
je 0x140095860
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
call fcn.140150920
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x88], rax
call fcn.140167bd4
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.140166bc8
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