Function at 0x4ad0b410
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rdx, qword [rcx]
mov rbp, rcx
or rcx, 0xffffffffffffffff
xor esi, esi
xor eax, eax
mov rdi, rdx
repne scasw ax, word [rdi]
lea r15d, [rsi + 1]
lea r13, [0x4ad3c2d4]
not rcx
mov dword [0x4ad2e13c], esi
mov rbx, rdx
sub rcx, r15
mov r14, rcx
jmp 0x4ad0b45f
cmp word [rdx], si
je 0x4ad0b46d
mov rbx, rdx
add rdx, 2
jmp 0x4ad0b45f
mov eax, 0x3a
cmp word [rbx], ax
je 0x4ad1d243
mov ecx, 0x250
call fcn.4ad017b8
mov qword [rbp + 0x30], rax
mov eax, 0x5c
lea r12d, [rax - 0x4c]
cmp word [rbx], ax
je 0x4ad12ba8
cmp qword [rbp], rsi
je 0x4ad1d308
mov rcx, qword [rbp]
mov edx, eax
call qword [sym.imp.msvcrt.dll_wcsrchr]
mov rbx, rax
cmp rax, rsi
je 0x4ad1d308
add rbx, 2
jmp 0x4ad0b4c3
lea rdx, [0x4ad29788]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsicmp]
cmp eax, esi
je 0x4ad1010b
lea rdx, [0x4ad2978c]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsicmp]
cmp eax, esi
je 0x4ad1010b
cmp dword [0x4ad2e0d8], 4
jne 0x4ad0b516
cmp dword [0x4ad2e10c], r15d
je 0x4ad0b516
cmp dword [0x4ad2e0dc], r15d
jne 0x4ad0b541
mov dword [0x4ad2e0dc], esi
jmp 0x4ad0b516
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or edi, 0xffffffff
mov ebx, eax
cmp eax, edi
jne 0x4ad10171
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x4ad2e13c], eax
cmp ebx, edi
jne 0x4ad10102
mov rdx, qword [rbp]
mov r8d, r15d
mov rdi, rsi
movzx eax, word [rdx]
mov rcx, rdx
cmp ax, si
je 0x4ad0b583
mov r9d, 0x3a
lea r10d, [r9 + 0x22]
cmp ax, r10w
je 0x4ad0b60e
cmp ax, r9w
je 0x4ad0b604
add rcx, 2
add r8d, r15d
mov ax, word [rcx]
cmp ax, si
jne 0x4ad0b560
mov qword [rbp + 0x18], rdi
cmp rdi, rsi
je 0x4ad1d36e
cmp word [rdi], si
lea rax, [rdi + 2]
mov rcx, rdi
cmovne rcx, rax
mov qword [rbp + 0x20], rcx
jmp 0x4ad0b5a4
cmp rdi, rsi
je 0x4ad0b5e0
mov edx, 0x2a
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_wcschr]
cmp rax, rsi
jne 0x4ad0b616
mov edx, 0x3f
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_wcschr]
cmp rax, rsi
jne 0x4ad0b616
mov edx, 0x2e
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_wcschr]
mov rsi, rax
mov rbx, qword [rsp + 0x50]
mov qword [rbp + 0x28], rsi
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov eax, r15d
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
cmp r8d, 2
jne 0x4ad0b574
mov rdi, rcx
jmp 0x4ad0b574
or dword [rbp + 0x38], 8
mov dword [0x4ad2e118], r15d
jmp 0x4ad0b5cf
test r12b, bl
je 0x4ad0b541
mov eax, 0x5c
mov rbx, qword [rbp]
cmp rbx, rsi
je 0x4ad1d340
mov edx, eax
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcsrchr]
cmp rax, rsi
je 0x4ad1d340
mov rbx, qword [rbp]
lea edi, [r14 + 5]
lea ecx, [rdi + rdi]
call fcn.4ad017b8
movsxd rdi, edi
mov r8, rbx
mov rcx, rax
mov rdx, rdi
mov qword [rbp], rax
call fcn.4ad01744
mov rcx, qword [rbp]
mov r8, r13
mov rdx, rdi
call fcn.4ad01ac0
mov rax, qword [rbp + 0x30]
mov dword [rax], r12d
jmp 0x4ad0b541
mov dword [0x4ad2e13c], esi
jmp 0x4ad0b539
lea r13, [0x4ad3c2d6]
jmp 0x4ad10110
cmp ecx, 2
jle 0x4ad0b47b
mov word [rbx], si
xor ecx, ecx
add rbx, 0xfffffffffffffffe
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
mov rcx, qword [rbp]
mov edx, 0x8000
mov r8d, 3
mov r12d, eax
call fcn.4ad031f0
mov edi, eax
cmp eax, 0xffffffff
je 0x4ad1d2a5
mov ecx, eax
call fcn.4ad03380
cmp eax, esi
jne 0x4ad1d28f
mov ecx, edi
call fcn.4ad0bbd0
cmp eax, esi
je 0x4ad1d2a5
mov ecx, edi
call fcn.4ad03380
cmp eax, esi
jne 0x4ad1d2f2
mov ecx, edi
call fcn.4ad0bbd0
cmp eax, esi
jmp 0x4ad1d2f0
add rbx, 2
cmp dword [0x4ad2e0d8], 4
mov eax, 0x3a
mov word [rbx], ax
jne 0x4ad1d2dc
cmp dword [0x4ad2e110], esi
jne 0x4ad1d2d3
mov r8, qword [rbp]
mov edx, r15d
mov ecx, 0x236b
call fcn.4ad0b8b0
mov dword [0x4ad2e114], r15d
jmp 0x4ad1d2ed
mov r8, qword [rbp]
mov edx, r15d
mov ecx, 0x236b
call fcn.4ad0b8b0
cmp edi, 0xffffffff
je 0x4ad1d2f9
mov ecx, edi
call fcn.4ad0319c
mov ecx, r12d
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
nop
jmp 0x4ad0b47b
mov rbx, qword [rbp]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp rcx, 2
jb 0x4ad0b4c3
mov eax, 0x3a
cmp word [rbx + 2], ax
jne 0x4ad0b4c3
add rbx, 4
jmp 0x4ad0b4c3
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
sub rcx, r15
cmp rcx, 2
jne 0x4ad10131
lea eax, [rcx + 0x38]
cmp word [rbx + 2], ax
jne 0x4ad10131
jmp 0x4ad10165
mov qword [rbp + 0x20], rdx
mov rdi, rdx
jmp 0x4ad0b5a4