Function at 0x140098310
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa0
movdqa xmmword [rsp + 0x90], xmm6
mov rbx, rcx
mov rax, qword [0x140191d78]
xor rax, rsp
mov qword [rsp + 0x88], rax
call fcn.140098060
mov edi, 0x1126
test al, al
jne 0x1400985e9
mov eax, 7
movq xmm0, rax
pslldq xmm0, 8
lea rsi, [rsp + 0x60]
movdqu xmmword [rsi + 0x10], xmm0
mov word [rsi], 0
mov rcx, rbx
mov rdx, rsi
call fcn.140098620
mov ebx, eax
mov rcx, rsi
call fcn.140098720
mov ebp, eax
mov rcx, rsi
mov rdx, rsi
call fcn.140098760
test bl, bl
jne 0x1400983a7
test bpl, bpl
jne 0x1400983a7
mov edi, 0x7b
test al, al
je 0x1400985df
test bpl, bpl
je 0x1400983b4
mov r14b, 1
jmp 0x140098456
mov eax, 7
movq xmm6, rax
pslldq xmm6, 8
lea rdi, [rsp + 0x20]
movdqu xmmword [rdi + 0x10], xmm6
xor r14d, r14d
mov word [rdi], r14w
lea rdx, str.._
mov r8d, 4
mov rcx, rdi
call fcn.1400018c0
mov r8, qword [rsp + 0x70]
cmp qword [rsp + 0x78], 7
mov rdx, rsi
jbe 0x1400983fe
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140003700
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rbx, [rsp + 0x40]
movaps xmmword [rbx + 0x10], xmm1
movaps xmmword [rbx], xmm0
movdqu xmmword [rax + 0x10], xmm6
mov word [rax], r14w
mov rcx, rsi
call fcn.140001a70
movdqa xmm0, xmmword [rbx]
movaps xmm1, xmmword [rbx + 0x10]
movaps xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmmword [rbx + 0x10], xmm6
mov word [rbx], r14w
mov rcx, rbx
call fcn.140001a70
mov rcx, rdi
call fcn.140001a70
mov r9, 0xffffffffffffffff
xor ebx, ebx
mov eax, 7
movq xmm6, rax
pslldq xmm6, 8
lea rsi, [rsp + 0x40]
lea rdi, [rsp + 0x60]
mov r12, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r15, qword [sym.imp.KERNEL32.dll_GetLastError]
xor ebp, ebp
movdqu xmmword [rsp + 0x50], xmm6
mov word [rsp + 0x40], bx
xor r8d, r8d
mov rcx, rsi
mov rdx, rdi
call fcn.140073000
mov rcx, rdi
call fcn.140001a70
movdqu xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x60], xmm0
movdqu xmmword [rsp + 0x50], xmm6
mov word [rsp + 0x40], bx
mov rcx, rsi
call fcn.140001a70
cmp qword [rsp + 0x78], 7
mov rcx, rdi
jbe 0x1400984e2
mov rcx, qword [rsp + 0x60]
call r12
cmp eax, 0xffffffff
je 0x1400984f2
bt eax, 0xa
jae 0x140098502
jmp 0x140098571
call r15
lea ecx, [rax - 2]
cmp ecx, 2
jb 0x140098502
cmp eax, 0x7b
jne 0x140098575
mov rbp, qword [rsp + 0x70]
cmp qword [rsp + 0x78], 7
mov rax, rdi
jbe 0x140098517
mov rax, qword [rsp + 0x60]
mov r9, 0xffffffffffffffff
test rbp, rbp
je 0x14009855d
lea rcx, [rax + rbp*2]
add rcx, 0xfffffffffffffffe
movzx edx, word [rcx]
cmp edx, 0x5c
je 0x140098554
add rbp, rbp
mov edx, 2
sub rdx, rbp
test rdx, rdx
je 0x14009855d
movzx ebp, word [rcx - 2]
add rcx, 0xfffffffffffffffe
add rdx, 2
cmp ebp, 0x5c
jne 0x14009853e
sub rcx, rax
sar rcx, 1
mov r9, rcx
mov bpl, 1
cmp r9, 2
ja 0x140098488
mov edi, 0x1126
jmp 0x1400985df
xor edi, edi
jmp 0x1400985df
test bpl, bpl
sete cl
or r14b, cl
jne 0x1400985dd
mov rbp, qword [rsp + 0x70]
cmp qword [rsp + 0x78], 7
jbe 0x140098594
mov rcx, qword [rsp + 0x60]
jmp 0x140098599
lea rcx, [rsp + 0x60]
test rbp, rbp
je 0x1400985dd
lea rdx, [rcx + rbp*2]
add rdx, 0xfffffffffffffffe
movzx ebx, word [rdx]
cmp ebx, 0x5c
je 0x1400985cf
add rbp, rbp
mov ebx, 2
sub rbx, rbp
test rbx, rbx
je 0x1400985dd
movzx ebp, word [rdx - 2]
add rdx, 0xfffffffffffffffe
add rbx, 2
cmp ebp, 0x5c
jne 0x1400985b9
sub rdx, rcx
mov edi, 0x1126
cmp rdx, 6
je 0x1400985df
mov edi, eax
lea rcx, [rsp + 0x60]
call fcn.140001a70
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400edc60
mov eax, edi
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret