Function at 0x2100d54b0
Capabilities:
Get file attributes

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0xa0]
mov r13, rcx
mov edi, edx
mov r14d, r8d
mov rbx, r9
cmp edx, r8d
je 0x2100d5640
mov qword [rsp + 0x20], 0
cmp edx, 1
lea rdx, [rbp - 0x14]
sbb eax, eax
xor r9d, r9d
and eax, 0xfffff000
lea r8d, [rax + 0x1001]
call method.dll_list.ntopenfile_wchar_t_const__int__unsigned_int__unsigned_int__void_
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x2100d559d
mov rcx, r13
lea rsi, [rbp - 0x10]
call sym.msys_2.0.dll_wcslen
lea rax, [r13 + rax*2]
mov qword [rbp - 0x28], rax
lea r15, [rbx + 0x40]
jmp 0x2100d5536
test byte [rbx + 0x38], 0x10
jne 0x2100d55b0
mov dword [rsp + 0x50], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x48], 0
mov rcx, r12
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0x248
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
call sym.NtQueryDirectoryFile
mov dword [rbp - 0x14], eax
test eax, eax
jns 0x2100d5530
cmp eax, 0x80000006
je 0x2100d5594
test byte [0x210273880], 1
jne 0x2100d5830
mov rcx, r12
call sym.CloseHandle
nop
lea rsp, [rbp + 8]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [rbx + 0x3c]
lea rdx, [0x210297920]
mov rcx, r15
shr eax, 1
mov r8d, eax
mov dword [rbp - 0x34], eax
mov qword [rbp - 0x30], r8
call sym.msys_2.0.dll_wcsncmp
test eax, eax
je 0x2100d5536
mov r8, qword [rbp - 0x30]
lea rdx, [0x210297924]
mov rcx, r15
call sym.msys_2.0.dll_wcsncmp
test eax, eax
je 0x2100d5527
mov rcx, qword [rbp - 0x28]
mov eax, 0x5c
mov r8, qword [rbp - 0x30]
mov rdx, r15
mov word [rcx], ax
add rcx, 2
call sym.msys_2.0.dll_wcsncpy
mov eax, dword [rbp - 0x34]
mov r15, qword [rbp - 0x28]
xor edx, edx
mov rcx, r13
mov r9, rbx
mov r8d, r14d
add eax, 1
cdqe
mov word [r15 + rax*2], dx
lea edx, [rdi + 1]
call sym.rmdirs_synchronized_wchar_t__int__int___FILE_DIRECTORY_INFORMATION__unsigned_int___clone_constprop0_
xor ecx, ecx
mov word [r15], cx
jmp 0x2100d5527
mov qword [rbp - 0x28], rsp
test byte [0x210273880], 1
jne 0x2100d5800
mov rcx, r13
call sym.msys_2.0.dll_wcslen
lea rax, [rax + rax + 0xf]
and rax, 0xfffffffffffffff0
call fcn.21021b550
xor r10d, r10d
lea rdx, str._var_run_
xor ebx, ebx
sub rsp, rax
lea rax, str._cygroot_
mov word [rsp + 0x60], r10w
lea rdi, [rsp + 0x60]
add rax, 0x18
test rdx, rdx
je 0x2100d56a7
cmp byte [rax + 0x10], 0
je 0x2100d5710
mov rdx, qword [rax + 0x18]
add ebx, 1
add rax, 0x18
test rdx, rdx
jne 0x2100d5691
movsxd rax, ebx
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.21021b550
sub rsp, rax
lea eax, [rbx - 1]
lea rsi, [rsp + 0x60]
movsxd r15, eax
cmp eax, 0xffffffff
jne 0x2100d56e9
jmp 0x2100d5765
xor r9d, r9d
sub r15, 1
mov word [rax], r9w
cmp r15d, 0xffffffff
je 0x2100d5720
mov edx, 0x5c
mov rcx, r13
call sym.msys_2.0.dll_wcsrchr
mov qword [rsi + r15*8], rax
test rax, rax
jne 0x2100d56d8
mov rsp, qword [rbp - 0x28]
jmp 0x2100d559d
mov rdx, qword [rax + 0x18]
jmp 0x2100d5688
mov rcx, rdi
xor r14d, r14d
lea r15, [0x2102979e8]
nop dword [rax]
test r14, r14
je 0x2100d5740
mov rdx, r15
call sym.msys_2.0.dll_wcpcpy
mov rcx, rax
mov r12, qword [rsi + r14*8]
add r14, 1
lea rdx, [r12 + 2]
call sym.msys_2.0.dll_wcpcpy
mov r8d, 0x5c
mov word [r12], r8w
mov rcx, rax
cmp ebx, r14d
jg 0x2100d5730
mov r8, rdi
mov edx, 1
lea rcx, [0x2102d1cc0]
call sym.CreateMutexW
mov rbx, rax
call sym.GetLastError
mov esi, eax
test byte [0x210273880], 1
jne 0x2100d586d
test rbx, rbx
je 0x2100d56ff
cmp esi, 0xb7
je 0x2100d57b6
test byte [0x210273880], 1
jne 0x2100d589b
mov rcx, r13
call sym.rmdirs_wchar_t_
mov rcx, rbx
call sym.CloseHandle
test byte [0x210273880], 1
je 0x2100d56ff
mov dword [rsp + 0x20], eax
lea r9, str._d__CloseHandle___p___W_:__E
lea r8, str.void_rmdirs_synchronized_WCHAR__int__int__PFILE_DIRECTORY_INFORMATION__ULONG_
mov edx, 0x40
mov qword [rsp + 0x30], rdi
lea rcx, [0x210273880]
mov qword [rsp + 0x28], rbx
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100d56ff
mov qword [rsp + 0x20], rcx
lea r9, str.sync_on__W
lea r8, str.void_rmdirs_synchronized_WCHAR__int__int__PFILE_DIRECTORY_INFORMATION__ULONG_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100d5651
mov rdx, qword [rbp - 8]
lea r9, str._y__NtQueryDirectoryFile___p__io__y__info__d_
lea r8, str.void_rmdirs_synchronized_WCHAR__int__int__PFILE_DIRECTORY_INFORMATION__ULONG_
lea rcx, [0x210273880]
mov qword [rsp + 0x38], rdx
mov edx, dword [rbp - 0x10]
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x30], edx
mov edx, 0x40
mov dword [rsp + 0x20], eax
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100d5594
mov qword [rsp + 0x28], rdi
lea r9, str._p__CreateMutexW___W_:__E
lea r8, str.void_rmdirs_synchronized_WCHAR__int__int__PFILE_DIRECTORY_INFORMATION__ULONG_
mov edx, 0x40
mov qword [rsp + 0x20], rbx
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100d5790
mov qword [rsp + 0x20], rdi
lea r9, str.cleaning_up_for_mutex__W
lea r8, str.void_rmdirs_synchronized_WCHAR__int__int__PFILE_DIRECTORY_INFORMATION__ULONG_
mov edx, 0x40
lea rcx, [0x210273880]
call method.strace.prntf_unsigned_int__char_const__char_const__..._
jmp 0x2100d57ae