Function at 0x14001bc7c
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.14001e34c
mov ebx, eax
mov r15d, 0x5c
xor r13d, r13d
test eax, eax
js 0x14001bea5
lea r8d, [rbx + 1]
cmp word [rsi + r8*2], r13w
je 0x14001bea5
lea rdx, [rsi + rbx*2]
lea rcx, [rbp - 0x40]
call fcn.140018750
nop
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.140018750
nop
cmp ebx, dword [rbp - 0x48]
jae 0x14001bcf7
mov dword [rbp - 0x48], ebx
mov rax, qword [rbp - 0x50]
mov word [rax + rbx*2], r13w
cmp dword [rbp - 0x38], 6
jbe 0x14001bd1c
mov ecx, dword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
add rax, 0xfffffffffffffff4
lea rcx, [rax + rcx*2]
lea rdx, str.:_DATA
call fcn.14001a640
test al, al
jne 0x14001bd2c
lea rdx, str.:_DATA
lea rcx, [rbp - 0x40]
call fcn.140018fa4
mov rcx, qword [rbp - 0x50]
call fcn.14001ea00
mov rdx, qword [rbp - 0x50]
test al, al
je 0x14001bd85
cmp ebx, 2
je 0x14001bd4e
cmp ebx, 3
jne 0x14001bd85
cmp word [rdx + 4], r15w
jne 0x14001bd85
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 0x14001bd95
lea rdx, [rbp - 0x50]
call fcn.140018a9c
jmp 0x14001bd95
mov rcx, rdi
call fcn.14001bc7c
test al, al
je 0x14001be92
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.14001866c
nop
lea rcx, [rbp - 0x30]
call fcn.1400187a8
jmp 0x14001bdea
cmp byte [rbp + 0x40], r13b
je 0x14001be3c
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
call fcn.14001a4f0
test al, al
jne 0x14001be01
mov rcx, qword [rbp - 0x30]
call sub.mfc140u.dll_operator
lea rcx, [rbp - 0x30]
call fcn.1400187a8
nop
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x18]
call fcn.14001c610
test al, al
jne 0x14001bdc0
jmp 0x14001be47
mov eax, dword [rbp - 0x28]
cmp eax, 7
jbe 0x14001be1c
lea ecx, [rax - 6]
cmp ecx, eax
jae 0x14001be1c
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.140018f58
mov rax, qword [rbp - 0x20]
mov qword [rdi], rax
mov r14d, 1
mov byte [rdi + 0x24], r14b
jmp 0x14001be4a
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
nop
mov rcx, qword [rbp - 0x10]
call sub.mfc140u.dll_operator
mov rcx, qword [rbp - 0x18]
cmp rcx, r15
je 0x14001be7a
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
nop
mov rcx, qword [rbp - 0x40]
call sub.mfc140u.dll_operator
jmp 0x14001c0cb
mov rcx, qword [rbp - 0x50]
call sub.mfc140u.dll_operator
nop
mov rcx, qword [rbp - 0x40]
call sub.mfc140u.dll_operator
or r15, 0xffffffffffffffff
mov rbx, r15
mov qword [rbp + 0x40], rbx
mov rcx, rsi
call fcn.14001eb98
mov r14d, r13d
lea ecx, [r15 + 5]
test al, al
cmovne r14d, ecx
lea r12, [rsi + r14*2]
mov rcx, r12
call fcn.14001ea24
test al, al
je 0x14001bf3b
lea eax, [r14 + 3]
cmp word [rsi + rax*2], r13w
jne 0x14001bf3b
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
or edx, 0xffffffff
cmp eax, edx
je 0x14001c0a7
lea ecx, [r15 + 0x11]
test cl, al
je 0x14001c0a7
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.140018bdc
cmp dword [rdi + 0x30], 2
jbe 0x14001bfa1
mov dword [rdi + 0x30], 2
mov rax, qword [rdi + 0x28]
mov word [rax + 4], r13w
jmp 0x14001bfa1
mov r14d, 0x5c
cmp word [rsi], r14w
je 0x14001bf51
cmp word [rsi], 0x2f
jne 0x14001c0a7
mov rcx, rsi
cmp word [rsi + 2], r13w
jne 0x14001bfac
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
mov r8d, eax
or edx, 0xffffffff
cmp eax, edx
je 0x14001c0a7
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
test cl, r8b
je 0x14001c0a7
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 0x14001c0bd
call fcn.14001e6e4
test eax, eax
je 0x14001c0a7
mov eax, eax
lea rbx, [rsi + rax*2]
cmp word [rbx], r13w
je 0x14001c0a7
mov rcx, rbx
call fcn.14001e3a8
test eax, eax
jns 0x14001c0a7
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.140018750
nop
mov edx, dword [rbp - 0x48]
cmp dword [rbp - 0x44], edx
jne 0x14001bffa
lea rcx, [rbp - 0x50]
call fcn.140019534
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 0x14001c027
lea rcx, [rbp - 0x50]
call fcn.140019534
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.14001c14c
test al, al
je 0x14001c075
lea rcx, [rdi + 0x28]
mov rax, qword [rcx]
cmp word [rax], 0x2e
jne 0x14001c072
cmp word [rax + 2], r13w
je 0x14001c10e
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 0x14001c0ec
cmp r8d, edx
je 0x14001c09e
test cl, r8b
jne 0x14001c0ec
mov rcx, qword [rbp - 0x50]
call sub.mfc140u.dll_operator
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp + 0x40]
call fcn.14001c14c
mov r14b, al
mov rbx, qword [rbp + 0x40]
cmp rbx, r15
je 0x14001c0cb
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.140018bdc
nop
mov rcx, qword [rbp - 0x50]
call sub.mfc140u.dll_operator
jmp 0x14001c0b9