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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rdi, rcx
mov rax, qword [0x14019e638]
xor rax, rsp
mov qword [rsp + 0x80], rax
call fcn.1400bc1b4
mov ebx, 0x1126
test al, al
jne 0x1400bc7e0
xorps xmm0, xmm0
lea rsi, [rsp + 0x50]
movaps xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov rcx, rdi
mov rdx, rsi
call fcn.1400bc806
mov ebx, eax
mov rcx, rsi
call fcn.1400bc8f5
mov edi, eax
mov rcx, rsi
mov rdx, rsi
call fcn.1400bc940
test bl, bl
jne 0x1400bc5bd
test dil, dil
jne 0x1400bc5bd
mov ebx, 0x7b
test al, al
je 0x1400bc7cf
test dil, dil
je 0x1400bc5cd
mov al, 1
mov dword [rsp + 0x34], eax
jmp 0x1400bc6b5
lea rdx, [0x1401671b0]
lea rdi, [rsp + 0x38]
mov rcx, rdi
call fcn.140002dac
movzx r8d, byte [rsp + 0x50]
mov bpl, 1
test r8b, bpl
je 0x1400bc5fb
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
jmp 0x1400bc603
shr r8, 1
lea rdx, [rsp + 0x52]
mov rcx, rdi
call fcn.140025c46
mov bl, byte [rax]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x77], rcx
mov rcx, qword [rax + 1]
mov qword [rsp + 0x70], rcx
mov rdi, qword [rax + 0x10]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
test byte [rsp + 0x50], bpl
jne 0x1400bc646
mov word [rsp + 0x52], 0
mov byte [rsp + 0x50], 0
jmp 0x1400bc673
mov rax, qword [rsp + 0x60]
mov word [rax], 0
mov qword [rsp + 0x58], 0
test byte [rsp + 0x50], 1
je 0x1400bc673
mov rcx, qword [rsp + 0x60]
call fcn.1401203c4
mov qword [rsp + 0x50], 0
mov byte [rsp + 0x50], bl
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x77]
mov qword [rsp + 0x51], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdi
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x77], rax
test byte [rsp + 0x38], 1
je 0x1400bc6ad
mov rcx, qword [rsp + 0x48]
call fcn.1401203c4
mov dword [rsp + 0x34], 0
lea r12, [rsp + 0x68]
add rsi, 2
mov rax, 0xffffffffffffffff
xor r15d, r15d
lea r14, [rsp + 0x38]
lea rbx, [rsp + 0x50]
mov rbp, qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rsp + 0x20], r12
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, rax
call fcn.1400257ea
test byte [rsp + 0x50], 1
jne 0x1400bc709
mov word [rsi], 0
mov byte [rsp + 0x50], 0
jmp 0x1400bc736
mov rax, qword [rsp + 0x60]
mov word [rax], 0
mov qword [rsp + 0x58], 0
test byte [rsp + 0x50], 1
je 0x1400bc736
mov rcx, qword [rsp + 0x60]
call fcn.1401203c4
mov qword [rsp + 0x50], 0
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0x50], xmm0
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x60], rcx
test byte [rsp + 0x50], 1
cmove rcx, rsi
call rbp
cmp eax, 0xffffffff
je 0x1400bc762
bt eax, 0xa
jae 0x1400bc774
jmp 0x1400bc79b
call r13
mov edi, eax
lea eax, [rdi - 2]
cmp eax, 2
jb 0x1400bc774
cmp edi, 0x7b
jne 0x1400bc79f
mov rcx, rbx
mov dx, 0x5c
mov r8, 0xffffffffffffffff
call fcn.1400265f2
mov r15b, 1
cmp rax, 2
ja 0x1400bc6e0
mov ebx, 0x1126
jmp 0x1400bc7cf
xor ebx, ebx
jmp 0x1400bc7cf
test r15b, r15b
sete al
mov ecx, dword [rsp + 0x34]
or cl, al
jne 0x1400bc7cd
lea rcx, [rsp + 0x50]
mov dx, 0x5c
mov r8, 0xffffffffffffffff
call fcn.1400265f2
mov ebx, 0x1126
cmp rax, 3
je 0x1400bc7cf
mov ebx, edi
test byte [rsp + 0x50], 1
je 0x1400bc7e0
mov rcx, qword [rsp + 0x60]
call fcn.1401203c4
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1401207e0
mov eax, ebx
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret