Function at 0x140005020
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov r12b, r8b
mov rdi, rdx
mov rbx, rcx
mov rcx, rdx
call fcn.140005ed0
mov esi, eax
mov r15d, 0x5c
xor r13d, r13d
test eax, eax
js 0x140005238
lea r9d, [rsi + 1]
cmp word [rdi + r9*2], r13w
je 0x140005238
lea rdx, [rdi + rsi*2]
lea rcx, [rbp - 0x40]
call fcn.1400027a4
nop
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.1400027a4
nop
cmp esi, dword [rbp - 0x48]
jae 0x14000509e
mov dword [rbp - 0x48], esi
mov rax, qword [rbp - 0x50]
mov word [rax + rsi*2], r13w
cmp dword [rbp - 0x38], 6
jbe 0x1400050c3
mov ecx, dword [rbp - 0x38]
mov rax, qword [rbp - 0x40]
add rax, 0xfffffffffffffff4
lea rcx, [rax + rcx*2]
lea rdx, str.:_DATA
call fcn.140003818
test al, al
jne 0x1400050d3
lea rdx, str.:_DATA
lea rcx, [rbp - 0x40]
call fcn.140002ad4
mov rcx, qword [rbp - 0x50]
call fcn.1400064d8
mov rdx, qword [rbp - 0x50]
test al, al
je 0x14000512c
cmp esi, 2
je 0x1400050f5
cmp esi, 3
jne 0x14000512c
cmp word [rdx + 4], r15w
jne 0x14000512c
mov qword [rbx], r13
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
mov dword [rbx + 0x20], r13d
mov word [rbx + 0x24], r13w
lea rcx, [rbx + 0x28]
mov dword [rcx + 8], r13d
mov rax, qword [rcx]
mov word [rax], r13w
cmp esi, 2
jne 0x14000513f
lea rdx, [rbp - 0x50]
call fcn.140002834
jmp 0x14000513f
mov r8b, r12b
mov rcx, rbx
call fcn.140005020
test al, al
je 0x140005225
and dword [rbx + 0x20], 0xfffffbef
mov qword [rbx], r13
or qword [rbp - 0x18], 0xffffffffffffffff
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x10]
call fcn.1400026bc
nop
lea rcx, [rbp - 0x30]
call fcn.1400027fc
jmp 0x140005191
cmp byte [rbp + 0x48], r13b
je 0x1400051e2
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
call fcn.140003770
test al, al
jne 0x1400051a8
mov rcx, qword [rbp - 0x30]
call fcn.1400372fc
lea rcx, [rbp - 0x30]
call fcn.1400027fc
nop
lea r8, [rbp + 0x48]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x18]
call fcn.1400058c8
test al, al
jne 0x140005167
jmp 0x1400051ed
mov eax, dword [rbp - 0x28]
cmp eax, 7
jbe 0x1400051c3
lea ecx, [rax - 6]
cmp ecx, eax
jae 0x1400051c3
mov dword [rbp - 0x28], ecx
mov rax, qword [rbp - 0x30]
mov word [rax + rcx*2], r13w
lea rcx, [rbx + 0x28]
lea rdx, [rbp - 0x30]
call fcn.140002a88
mov rax, qword [rbp - 0x20]
mov qword [rbx], rax
mov esi, 1
mov byte [rbx + 0x24], sil
jmp 0x1400051f0
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov sil, r13b
mov rcx, qword [rbp - 0x30]
call fcn.1400372fc
nop
mov rcx, qword [rbp - 0x10]
call fcn.1400372fc
lea rcx, [rbp - 0x18]
call fcn.140004de8
nop
mov rcx, qword [rbp - 0x50]
call fcn.1400372fc
nop
mov rcx, qword [rbp - 0x40]
call fcn.1400372fc
jmp 0x14000546d
mov rcx, qword [rbp - 0x50]
call fcn.1400372fc
nop
mov rcx, qword [rbp - 0x40]
call fcn.1400372fc
or qword [rbp + 0x48], 0xffffffffffffffff
mov rcx, rdi
call fcn.1400065a8
movzx eax, al
shl eax, 2
mov r14d, eax
lea r15, [rdi + rax*2]
mov rcx, r15
call fcn.1400064f4
mov esi, 1
test al, al
je 0x1400052d6
lea eax, [r14 + 3]
cmp word [rdi + rax*2], r13w
jne 0x1400052d6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or ecx, 0xffffffff
cmp eax, ecx
je 0x140005433
lea edx, [rsi + 0xf]
test dl, al
je 0x140005433
mov qword [rbx], r13
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
mov word [rbx + 0x24], r13w
mov dword [rbx + 0x20], eax
mov rdx, r15
lea rcx, [rbx + 0x28]
call fcn.14000296c
cmp dword [rbx + 0x30], 2
jbe 0x1400052c6
mov dword [rbx + 0x30], 2
mov rax, qword [rbx + 0x28]
mov word [rax + 4], r13w
mov rdx, rdi
mov rcx, rbx
call fcn.140004f68
jmp 0x140005464
mov r15d, 0x5c
cmp word [rdi], r15w
je 0x1400052ec
cmp word [rdi], 0x2f
jne 0x140005433
mov rcx, rdi
cmp word [rdi + 2], r13w
jne 0x140005341
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov r8d, eax
or ecx, 0xffffffff
cmp eax, ecx
je 0x140005433
mov edx, 0x10
test dl, r8b
je 0x140005433
mov qword [rbx], r13
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
mov word [rbx + 0x24], r13w
mov dword [rbx + 0x30], r13d
mov rax, qword [rbx + 0x28]
mov word [rax], r13w
mov dword [rbx + 0x20], r8d
jmp 0x140005464
call fcn.14000618c
test eax, eax
je 0x140005433
mov eax, eax
lea r14, [rdi + rax*2]
cmp word [r14], r13w
je 0x140005433
mov rcx, r14
call fcn.140005f2c
test eax, eax
jns 0x140005433
mov rdx, rdi
mov rcx, rbx
call fcn.140004f68
test al, al
je 0x14000538e
lea rcx, [rbx + 0x28]
mov rdx, r14
call fcn.14000296c
jmp 0x140005464
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.1400027a4
nop
mov edx, dword [rbp - 0x48]
cmp dword [rbp - 0x44], edx
jne 0x1400053af
lea rcx, [rbp - 0x50]
call fcn.140002e38
mov edx, dword [rbp - 0x48]
mov rcx, qword [rbp - 0x50]
mov eax, edx
mov word [rcx + rax*2], r15w
add edx, esi
mov word [rcx + rdx*2], r13w
mov dword [rbp - 0x48], edx
mov dl, 0x2a
lea rcx, [rbp - 0x50]
call fcn.140002bb0
mov r15b, r13b
mov r8, rbx
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x48]
call fcn.1400054c8
test al, al
je 0x140005401
lea rdx, [0x14004df88]
mov rcx, qword [rbx + 0x28]
call fcn.14003d108
test eax, eax
je 0x1400054ac
mov r15b, sil
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or ecx, 0xffffffff
mov r8d, ecx
cmp eax, ecx
cmovne r8d, eax
mov edx, 0x10
test r15b, r15b
jne 0x14000548e
cmp r8d, ecx
je 0x14000542a
test dl, r8b
jne 0x14000548e
mov rcx, qword [rbp - 0x50]
call fcn.1400372fc
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x48]
call fcn.1400054c8
test r12b, r12b
je 0x140005461
test al, al
je 0x140005461
mov ecx, dword [rbx + 0x20]
shr ecx, 0xa
test sil, cl
je 0x140005461
mov rdx, rdi
mov rcx, rbx
call fcn.140004f68
mov sil, al
lea rcx, [rbp + 0x48]
call fcn.140004de8
mov al, sil
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov qword [rbx], r13
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r13
mov word [rbx + 0x24], r13w
cmp r8d, ecx
cmovne edx, r8d
mov dword [rbx + 0x20], edx
mov rdx, r14
lea rcx, [rbx + 0x28]
call fcn.14000296c
nop
mov rcx, qword [rbp - 0x50]
call fcn.1400372fc
jmp 0x140005464