Function at 0x1802149d0
Capabilities:
Get file attributes

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x98
mov rbx, rdx
mov r13, rcx
xor esi, esi
mov dword [rbp + 0x77], esi
mov r12, qword [r8]
movsxd rax, dword [r8 + 0xc]
lea rax, [r12 + rax*8]
mov qword [rbp - 0x31], rax
cmp r12, rax
je 0x180214c79
lea rdi, [0x180660020]
xor r15b, r15b
mov qword [rbp - 0x11], rsi
mov qword [rbp - 9], 0
mov edx, dword [rbx + 0xc]
lea rcx, [rbp - 0x11]
call fcn.18000c970
mov rdx, qword [rbx]
movsxd rax, dword [rbx + 0xc]
lea r9, [rdx + rax*8]
mov r14, qword [rbp - 0x11]
mov r8d, dword [rbp - 5]
cmp rdx, r9
je 0x180214a7e
nop dword [rax]
nop dword [rax + rax]
movsxd rax, r8d
lea r8d, [rax + 1]
lea rcx, [r14 + rax*8]
mov rax, qword [rdx]
mov qword [rcx], rax
add rdx, 8
cmp rdx, r9
jne 0x180214a60
mov dword [rbp - 5], r8d
mov rbx, r14
movsxd rax, r8d
lea rsi, [r14 + rax*8]
cmp r14, rsi
je 0x180214ad0
nop dword [rax]
mov rdi, qword [rbx]
mov rax, qword [rdi]
mov rdx, r12
mov rcx, rdi
call qword [rax + 0x20]
test al, al
je 0x180214abb
mov qword [rsp + 0x20], rdi
mov r9, qword [rbp + 0x7f]
mov rdx, r12
mov rcx, r13
call fcn.180214cb0
test al, al
jne 0x180214ac6
add rbx, 8
cmp rbx, rsi
jne 0x180214a90
jmp 0x180214ac9
mov r15b, 1
lea rdi, [0x180660020]
xor esi, esi
mov dword [rbp - 5], esi
mov rcx, r14
call fcn.180124068
test r15b, r15b
jne 0x180214c67
mov rdx, r12
lea rcx, [rbp - 0x49]
call fcn.18018e080
nop
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x29]
call fcn.180017f90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x180214c45
cmp eax, 0xffffffff
je 0x180214c45
mov qword [rbp - 0x21], rsi
mov qword [rbp - 0x19], rsi
lea rdx, [0x1803b2b50]
lea rcx, [rbp - 0x41]
call fcn.18001d070
nop
mov qword [rbp - 1], rsi
mov qword [rbp + 7], rsi
or dword [rbp + 0x77], 1
lea rax, [rbp - 0x41]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 3
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x49]
call fcn.18018c1f0
nop
mov rcx, qword [rbp - 0x41]
add rcx, 0xfffffffffffffff0
cmp rcx, rdi
je 0x180214b82
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180214b82
call fcn.18011d9c0
mov rdi, qword [rbp - 1]
movsxd rax, dword [rbp + 0xb]
lea rsi, [rdi + rax*8]
cmp rdi, rsi
je 0x180214bff
lea r13, [0x180660020]
nop word [rax + rax]
mov rbx, qword [rdi]
mov qword [rbp - 0x39], rbx
lea rax, [rbx - 0x10]
cmp rax, r13
je 0x180214bb7
lock inc dword [rax]
mov rbx, qword [rbp - 0x39]
mov edx, dword [rbp - 0x15]
lea ecx, [rdx + 1]
cmp ecx, dword [rbp - 0x19]
jle 0x180214be1
mov eax, ecx
test ecx, ecx
jns 0x180214bcb
lea eax, [rcx + 1]
sar eax, 1
lea edx, [rcx + 8]
add edx, eax
and edx, 0xfffffff8
lea rcx, [rbp - 0x21]
call fcn.18000c670
mov edx, dword [rbp - 0x15]
lea eax, [rdx + 1]
mov dword [rbp - 0x15], eax
movsxd rcx, edx
mov rax, qword [rbp - 0x21]
mov qword [rax + rcx*8], rbx
add rdi, 8
cmp rdi, rsi
jne 0x180214ba0
mov r13, qword [rbp + 0x67]
and dword [rbp + 0x77], 0xfffffffe
lea rcx, [rbp - 1]
call fcn.180009780
mov rcx, qword [rbp - 1]
call fcn.180124068
mov r9, qword [rbp + 0x7f]
lea r8, [rbp - 0x21]
mov rdx, qword [rbp + 0x6f]
mov rcx, r13
call fcn.1802149d0
nop
lea rcx, [rbp - 0x21]
call fcn.180009780
mov rcx, qword [rbp - 0x21]
call fcn.180124068
xor esi, esi
lea rdi, [0x180660020]
mov rcx, qword [rbp - 0x49]
add rcx, 0xfffffffffffffff0
cmp rcx, rdi
je 0x180214c67
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x180214c67
call fcn.18011d9c0
add r12, 8
cmp r12, qword [rbp - 0x31]
mov rbx, qword [rbp + 0x6f]
jne 0x180214a21
mov rcx, qword [r13 + 0x68]
test rcx, rcx
je 0x180214c88
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret