Function at 0x14001ba8c
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.14001e15c
mov ebx, eax
mov r15d, 0x5c
xor r13d, r13d
test eax, eax
js 0x14001bcb5
lea r8d, [rbx + 1]
cmp word [rsi + r8*2], r13w
je 0x14001bcb5
lea rdx, [rsi + rbx*2]
lea rcx, [rbp - 0x40]
call fcn.140018560
nop
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.140018560
nop
cmp ebx, dword [rbp - 0x48]
jae 0x14001bb07
mov dword [rbp - 0x48], ebx
mov rax, qword [rbp - 0x50]
mov word [rax + rbx*2], r13w
cmp dword [rbp - 0x38], 6
jbe 0x14001bb2c
mov ecx, dword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
add rax, 0xfffffffffffffff4
lea rcx, [rax + rcx*2]
lea rdx, str.:_DATA
call fcn.14001a450
test al, al
jne 0x14001bb3c
lea rdx, str.:_DATA
lea rcx, [rbp - 0x40]
call fcn.140018db4
mov rcx, qword [rbp - 0x50]
call fcn.14001e810
mov rdx, qword [rbp - 0x50]
test al, al
je 0x14001bb95
cmp ebx, 2
je 0x14001bb5e
cmp ebx, 3
jne 0x14001bb95
cmp word [rdx + 4], r15w
jne 0x14001bb95
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 0x14001bba5
lea rdx, [rbp - 0x50]
call fcn.1400188ac
jmp 0x14001bba5
mov rcx, rdi
call fcn.14001ba8c
test al, al
je 0x14001bca2
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.14001847c
nop
lea rcx, [rbp - 0x30]
call fcn.1400185b8
jmp 0x14001bbfa
cmp byte [rbp + 0x40], r13b
je 0x14001bc4c
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
call fcn.14001a300
test al, al
jne 0x14001bc11
mov rcx, qword [rbp - 0x30]
call sub.mfc140u.dll_operator
lea rcx, [rbp - 0x30]
call fcn.1400185b8
nop
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x18]
call fcn.14001c420
test al, al
jne 0x14001bbd0
jmp 0x14001bc57
mov eax, dword [rbp - 0x28]
cmp eax, 7
jbe 0x14001bc2c
lea ecx, [rax - 6]
cmp ecx, eax
jae 0x14001bc2c
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.140018d68
mov rax, qword [rbp - 0x20]
mov qword [rdi], rax
mov r14d, 1
mov byte [rdi + 0x24], r14b
jmp 0x14001bc5a
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 0x14001bc8a
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 0x14001bedb
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.14001e9a8
mov r14d, r13d
lea ecx, [r15 + 5]
test al, al
cmovne r14d, ecx
lea r12, [rsi + r14*2]
mov rcx, r12
call fcn.14001e834
test al, al
je 0x14001bd4b
lea eax, [r14 + 3]
cmp word [rsi + rax*2], r13w
jne 0x14001bd4b
mov rcx, rsi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
or edx, 0xffffffff
cmp eax, edx
je 0x14001beb7
lea ecx, [r15 + 0x11]
test cl, al
je 0x14001beb7
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.1400189ec
cmp dword [rdi + 0x30], 2
jbe 0x14001bdb1
mov dword [rdi + 0x30], 2
mov rax, qword [rdi + 0x28]
mov word [rax + 4], r13w
jmp 0x14001bdb1
mov r14d, 0x5c
cmp word [rsi], r14w
je 0x14001bd61
cmp word [rsi], 0x2f
jne 0x14001beb7
mov rcx, rsi
cmp word [rsi + 2], r13w
jne 0x14001bdbc
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
mov r8d, eax
or edx, 0xffffffff
cmp eax, edx
je 0x14001beb7
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
test cl, r8b
je 0x14001beb7
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 0x14001becd
call fcn.14001e4f4
test eax, eax
je 0x14001beb7
mov eax, eax
lea rbx, [rsi + rax*2]
cmp word [rbx], r13w
je 0x14001beb7
mov rcx, rbx
call fcn.14001e1b8
test eax, eax
jns 0x14001beb7
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.140018560
nop
mov edx, dword [rbp - 0x48]
cmp dword [rbp - 0x44], edx
jne 0x14001be0a
lea rcx, [rbp - 0x50]
call fcn.140019344
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 0x14001be37
lea rcx, [rbp - 0x50]
call fcn.140019344
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.14001bf5c
test al, al
je 0x14001be85
lea rcx, [rdi + 0x28]
mov rax, qword [rcx]
cmp word [rax], 0x2e
jne 0x14001be82
cmp word [rax + 2], r13w
je 0x14001bf1e
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 0x14001befc
cmp r8d, edx
je 0x14001beae
test cl, r8b
jne 0x14001befc
mov rcx, qword [rbp - 0x50]
call sub.mfc140u.dll_operator
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp + 0x40]
call fcn.14001bf5c
mov r14b, al
mov rbx, qword [rbp + 0x40]
cmp rbx, r15
je 0x14001bedb
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.1400189ec
nop
mov rcx, qword [rbp - 0x50]
call sub.mfc140u.dll_operator
jmp 0x14001bec9