Function at 0x14001c36c
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rsi, rdx
mov rdi, rcx
mov rcx, rdx
call fcn.14001ea3c
mov ebx, eax
mov r15d, 0x5c
xor r13d, r13d
test eax, eax
js 0x14001c595
lea r8d, [rbx + 1]
cmp word [rsi + r8*2], r13w
je 0x14001c595
lea rdx, [rsi + rbx*2]
lea rcx, [rbp - 0x40]
call fcn.140018e40
nop
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.140018e40
nop
cmp ebx, dword [rbp - 0x48]
jae 0x14001c3e7
mov dword [rbp - 0x48], ebx
mov rax, qword [rbp - 0x50]
mov word [rax + rbx*2], r13w
cmp dword [rbp - 0x38], 6
jbe 0x14001c40c
mov ecx, dword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
add rax, 0xfffffffffffffff4
lea rcx, [rax + rcx*2]
lea rdx, str.:_DATA
call fcn.14001ad30
test al, al
jne 0x14001c41c
lea rdx, str.:_DATA
lea rcx, [rbp - 0x40]
call fcn.140019694
mov rcx, qword [rbp - 0x50]
call fcn.14001f0f0
mov rdx, qword [rbp - 0x50]
test al, al
je 0x14001c475
cmp ebx, 2
je 0x14001c43e
cmp ebx, 3
jne 0x14001c475
cmp word [rdx + 4], r15w
jne 0x14001c475
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov dword [rdi + 0x20], r13d
mov word [rdi + 0x24], r13w
lea rcx, [rdi + 0x28]
mov dword [rcx + 8], r13d
mov rax, qword [rcx]
mov word [rax], r13w
cmp ebx, 2
jne 0x14001c485
lea rdx, [rbp - 0x50]
call fcn.14001918c
jmp 0x14001c485
mov rcx, rdi
call fcn.14001c36c
test al, al
je 0x14001c582
and dword [rdi + 0x20], 0xfffffbef
mov qword [rdi], r13
or r15, 0xffffffffffffffff
mov qword [rbp - 0x18], r15
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x10]
call fcn.140018d5c
nop
lea rcx, [rbp - 0x30]
call fcn.140018e98
jmp 0x14001c4da
cmp byte [rbp + 0x40], r13b
je 0x14001c52c
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
call fcn.14001abe0
test al, al
jne 0x14001c4f1
mov rcx, qword [rbp - 0x30]
call sub.mfc140u.dll_operator_1
lea rcx, [rbp - 0x30]
call fcn.140018e98
nop
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x18]
call fcn.14001cd00
test al, al
jne 0x14001c4b0
jmp 0x14001c537
mov eax, dword [rbp - 0x28]
cmp eax, 7
jbe 0x14001c50c
lea ecx, [rax - 6]
cmp ecx, eax
jae 0x14001c50c
mov dword [rbp - 0x28], ecx
mov rax, qword [rbp - 0x30]
mov word [rax + rcx*2], r13w
lea rcx, [rdi + 0x28]
lea rdx, [rbp - 0x30]
call fcn.140019648
mov rax, qword [rbp - 0x20]
mov qword [rdi], rax
mov r14d, 1
mov byte [rdi + 0x24], r14b
jmp 0x14001c53a
mov ecx, 2
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov r14b, r13b
mov rcx, qword [rbp - 0x30]
call sub.mfc140u.dll_operator_1
nop
mov rcx, qword [rbp - 0x10]
call sub.mfc140u.dll_operator_1
mov rcx, qword [rbp - 0x18]
cmp rcx, r15
je 0x14001c56a
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_FindClose]
mov rcx, qword [rbp - 0x18]
test eax, eax
cmovne rcx, r15
mov qword [rbp - 0x18], rcx
mov rcx, qword [rbp - 0x50]
call sub.mfc140u.dll_operator_1
nop
mov rcx, qword [rbp - 0x40]
call sub.mfc140u.dll_operator_1
jmp 0x14001c7bb
mov rcx, qword [rbp - 0x50]
call sub.mfc140u.dll_operator_1
nop
mov rcx, qword [rbp - 0x40]
call sub.mfc140u.dll_operator_1
or r15, 0xffffffffffffffff
mov rbx, r15
mov qword [rbp + 0x40], rbx
mov rcx, rsi
call fcn.14001f288
mov r14d, r13d
lea ecx, [r15 + 5]
test al, al
cmovne r14d, ecx
lea r12, [rsi + r14*2]
mov rcx, r12
call fcn.14001f114
test al, al
je 0x14001c62b
lea eax, [r14 + 3]
cmp word [rsi + rax*2], r13w
jne 0x14001c62b
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
or edx, 0xffffffff
cmp eax, edx
je 0x14001c797
lea ecx, [r15 + 0x11]
test cl, al
je 0x14001c797
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov word [rdi + 0x24], r13w
mov dword [rdi + 0x20], eax
mov rdx, r12
lea rcx, [rdi + 0x28]
call fcn.1400192cc
cmp dword [rdi + 0x30], 2
jbe 0x14001c691
mov dword [rdi + 0x30], 2
mov rax, qword [rdi + 0x28]
mov word [rax + 4], r13w
jmp 0x14001c691
mov r14d, 0x5c
cmp word [rsi], r14w
je 0x14001c641
cmp word [rsi], 0x2f
jne 0x14001c797
mov rcx, rsi
cmp word [rsi + 2], r13w
jne 0x14001c69c
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
mov r8d, eax
or edx, 0xffffffff
cmp eax, edx
je 0x14001c797
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
test cl, r8b
je 0x14001c797
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov word [rdi + 0x24], r13w
mov dword [rdi + 0x30], r13d
mov rax, qword [rdi + 0x28]
mov word [rax], r13w
mov dword [rdi + 0x20], r8d
mov r14d, 1
jmp 0x14001c7ad
call fcn.14001edd4
test eax, eax
je 0x14001c797
mov eax, eax
lea rbx, [rsi + rax*2]
cmp word [rbx], r13w
je 0x14001c797
mov rcx, rbx
call fcn.14001ea98
test eax, eax
jns 0x14001c797
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.140018e40
nop
mov edx, dword [rbp - 0x48]
cmp dword [rbp - 0x44], edx
jne 0x14001c6ea
lea rcx, [rbp - 0x50]
call fcn.140019c24
mov edx, dword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov eax, edx
mov word [rcx + rax*2], r14w
mov r14d, 1
add edx, r14d
mov word [rcx + rdx*2], r13w
mov dword [rbp - 0x48], edx
cmp dword [rbp - 0x44], edx
jne 0x14001c717
lea rcx, [rbp - 0x50]
call fcn.140019c24
mov edx, dword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov eax, edx
mov r8d, 0x2a
mov word [rcx + rax*2], r8w
add edx, r14d
mov word [rcx + rdx*2], r13w
mov dword [rbp - 0x48], edx
mov r12b, r13b
mov r8, rdi
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x40]
call fcn.14001c83c
test al, al
je 0x14001c765
lea rcx, [rdi + 0x28]
mov rax, qword [rcx]
cmp word [rax], 0x2e
jne 0x14001c762
cmp word [rax + 2], r13w
je 0x14001c7fe
mov r12b, r14b
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
or edx, 0xffffffff
mov r8d, edx
cmp eax, edx
cmovne r8d, eax
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
test r12b, r12b
jne 0x14001c7dc
cmp r8d, edx
je 0x14001c78e
test cl, r8b
jne 0x14001c7dc
mov rcx, qword [rbp - 0x50]
call sub.mfc140u.dll_operator_1
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp + 0x40]
call fcn.14001c83c
mov r14b, al
mov rbx, qword [rbp + 0x40]
cmp rbx, r15
je 0x14001c7bb
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_FindClose]
mov al, r14b
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov qword [rdi], r13
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov word [rdi + 0x24], r13w
cmp r8d, edx
cmovne ecx, r8d
mov dword [rdi + 0x20], ecx
lea rcx, [rdi + 0x28]
mov rdx, rbx
call fcn.1400192cc
nop
mov rcx, qword [rbp - 0x50]
call sub.mfc140u.dll_operator_1
jmp 0x14001c7a9