Function at 0x1800c6910
Capabilities:
Get file attributes

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1960
call fcn.180124410
sub rsp, rax
mov qword [rsp + 0xc8], 0xfffffffffffffffe
mov qword [rsp + 0x19b8], rbx
mov rax, qword [0x1801dc960]
xor rax, rsp
mov qword [rsp + 0x1950], rax
mov r15, r8
mov rbx, rdx
mov r12, rcx
lea rdx, [sym.vrvhook64.dll_MyMoveItems]
lea rcx, [0x18028d500]
call fcn.18000dae0
mov rdi, rax
test rax, rax
je 0x1800c735e
mov rcx, rax
call fcn.18000d7e0
mov r14, rax
cmp dword [0x18025caa4], 0
jne 0x1800c699c
mov r8, r15
mov rdx, rbx
mov rcx, r12
call r14
jmp 0x1800c735e
mov rcx, rdi
call fcn.180083ad0
test eax, eax
je 0x1800c69b9
mov r8, r15
mov rdx, rbx
mov rcx, r12
call r14
jmp 0x1800c735e
cmp qword [0x1801deeb0], 0
jne 0x1800c69d4
mov r8, r15
mov rdx, rbx
mov rcx, r12
call r14
jmp 0x1800c735e
cmp dword [0x1801e68d0], 0
jne 0x1800c6a2d
cmp dword [0x180220ad8], 0
jne 0x1800c6a2d
cmp dword [0x1802210f4], 0
jne 0x1800c6a2d
cmp dword [0x1801e3950], 0
jne 0x1800c6a2d
cmp dword [0x180221ea4], 0
jne 0x1800c6a2d
cmp dword [0x180254528], 0
jne 0x1800c6a2d
cmp dword [0x1802552e8], 0
jne 0x1800c6a2d
cmp dword [0x18021adec], 0
jne 0x1800c6a2d
mov r8, r15
mov rdx, rbx
mov rcx, r12
call r14
jmp 0x1800c735e
xor r13d, r13d
mov ebp, r13d
mov dword [rsp + 0x44], r13d
lea rcx, [0x1801dc900]
mov rax, qword [0x1801dc900]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rcx, [0x1801dc900]
mov rax, qword [0x1801dc900]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x90], rdi
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x70], r13
mov rax, qword [r15]
lea r8, [rsp + 0x70]
mov edx, 0x80058000
mov rcx, r15
call qword [rax + 0x28]
mov byte [rsp + 0x1730], r13b
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0x1731]
call fcn.1800f4fb0
or rsi, 0xffffffffffffffff
mov r8, qword [rsp + 0x70]
test r8, r8
je 0x1800c6ae3
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x104
lea rax, [rsp + 0x1730]
mov qword [rsp + 0x20], rax
mov r9d, esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test rbx, rbx
je 0x1800c72d3
mov rax, qword [rbx]
lea r8, [rsp + 0xc0]
lea rdx, [0x18016c650]
mov rcx, rbx
call qword [rax]
mov qword [rsp + 0x68], r13
mov byte [rsp + 0x1840], 0
xor edx, edx
mov r8d, 0x103
lea rcx, [rsp + 0x1841]
call fcn.1800f4fb0
lea rdx, [rsp + 0x1840]
mov rcx, rbx
call fcn.180067b20
test eax, eax
je 0x1800c6dc0
lea rdx, [rsp + 0x1730]
lea rcx, [rsp + 0x1840]
call fcn.18009c9c0
lea r8, [rsp + 0x1730]
lea rdx, [rsp + 0x1840]
lea rcx, [rsp + 0x58]
call fcn.18009d0e0
mov r13d, 1
test eax, eax
cmovne ebp, r13d
cmp dword [0x1802552e8], r13d
jne 0x1800c6c97
movzx ecx, byte [rsp + 0x1730]
call fcn.180068530
test eax, eax
jne 0x1800c6bab
movzx ecx, byte [rsp + 0x1730]
call fcn.180068680
test eax, eax
je 0x1800c6c97
movzx ecx, byte [rsp + 0x1840]
call fcn.180068860
test eax, eax
jne 0x1800c6bd1
lea rcx, [rsp + 0x1840]
call fcn.180068940
test eax, eax
je 0x1800c6c97
call fcn.1800a79a0
cmp qword [0x1801e1b30], 0
je 0x1800c6c97
mov rcx, qword [0x1801e1b60]
test rcx, rcx
je 0x1800c6bf5
mov rax, qword [rcx]
call qword [rax]
lea rcx, [rsp + 0x1840]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x1800c6c71
mov dword [rsp + 0x44], 0
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x1840]
call fcn.180068110
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x44], 0
jne 0x1800c6c45
mov rcx, qword [0x1801e1b60]
test rcx, rcx
je 0x1800c6c97
mov rax, qword [rcx]
call qword [rax + 8]
cmp dword [rsp + 0x44], 0
je 0x1800c6c97
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x1730]
lea rcx, [rsp + 0x1840]
call fcn.18009e000
xor ecx, ecx
test eax, eax
setne cl
mov dword [rsp + 0x40], ecx
jmp 0x1800c6c97
xor r8d, r8d
lea rdx, [rsp + 0x1730]
lea rcx, [rsp + 0x1840]
call fcn.18009d740
mov ecx, dword [rsp + 0x40]
test eax, eax
cmove ecx, r13d
mov dword [rsp + 0x40], ecx
cmp dword [0x180254528], r13d
jne 0x1800c6da3
lea rcx, [rsp + 0x1840]
call fcn.180068940
test eax, eax
jne 0x1800c6da3
lea rcx, [rsp + 0x1730]
call fcn.180068940
test eax, eax
je 0x1800c6da3
call fcn.1800a79a0
cmp qword [0x1801e1b30], 0
je 0x1800c6f83
mov rcx, qword [0x1801e1b60]
test rcx, rcx
je 0x1800c6cf2
mov rax, qword [rcx]
call qword [rax]
lea rcx, [rsp + 0x1840]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
test al, 0x10
je 0x1800c6d79
mov dword [rsp + 0x50], 0
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x1840]
call fcn.180067f00
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x50], 0
jne 0x1800c6d4a
mov rcx, qword [0x1801e1b60]
test rcx, rcx
je 0x1800c6f83
mov rax, qword [rcx]
call qword [rax + 8]
cmp dword [rsp + 0x50], 0
je 0x1800c6f83
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x64]
lea rdx, [rsp + 0x1730]
lea rcx, [rsp + 0x1840]
call fcn.1800b3210
xor ecx, ecx
test eax, eax
setne cl
mov dword [rsp + 0x40], ecx
jmp 0x1800c6f83
xor r8d, r8d
lea rdx, [rsp + 0x1730]
lea rcx, [rsp + 0x1840]
call fcn.1800a0910
test eax, eax
jne 0x1800c6f83
mov dword [rsp + 0x40], r13d
jmp 0x1800c6f83
lea r8, [rsp + 0x1730]
lea rdx, [rsp + 0x1840]
mov rcx, r12
call fcn.1800c6370
jmp 0x1800c6f83
mov rax, qword [rbx]
lea r8, [rsp + 0x68]
lea rdx, [0x18016d380]
mov rcx, rbx
call qword [rax]
test eax, eax
jne 0x1800c72d3
mov eax, 0xf
mov word [rsp + 0xa0], ax
mov qword [rsp + 0xa8], r13
mov r13d, 1
mov dword [rsp + 0xb0], r13d
mov dword [rsp + 0xb4], esi
mov dword [rsp + 0xb8], r13d
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1800c72d3
mov rax, qword [rcx]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0xa0]
call qword [rax + 0x18]
test eax, eax
js 0x1800c72d3
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
mov rcx, qword [rsp + 0x80]
call qword [0x1801deeb0]
mov ebp, eax
test eax, eax
je 0x1800c6f66
lea rdx, [rsp + 0x1730]
mov rcx, qword [rsp + 0x80]
call fcn.18009cd60
lea r9, [rsp + 0x1730]
mov r8, qword [rsp + 0x80]
mov edx, ebp
lea rcx, [rsp + 0x58]
call fcn.18009d330
mov ecx, dword [rsp + 0x44]
test eax, eax
cmovne ecx, r13d
mov dword [rsp + 0x44], ecx
cmp dword [0x1802552e8], r13d
jne 0x1800c6ef6
movzx ecx, byte [rsp + 0x1730]
call fcn.180068530
test eax, eax
jne 0x1800c6ec2
movzx ecx, byte [rsp + 0x1730]
call fcn.180068680
test eax, eax
je 0x1800c6ef6
call fcn.1800a79a0
cmp qword [0x1801e1b30], 0
je 0x1800c6ef6
lea r8, [rsp + 0x1730]
mov rdx, qword [rsp + 0x80]
mov ecx, ebp
call fcn.1800b34e0
mov ecx, dword [rsp + 0x40]
test eax, eax
cmovne ecx, r13d
mov dword [rsp + 0x40], ecx
cmp dword [0x180254528], r13d
jne 0x1800c6f41
lea rcx, [rsp + 0x1730]
call fcn.180068940
test eax, eax
je 0x1800c6f41
call fcn.1800a79a0
cmp qword [0x1801e1b30], 0
je 0x1800c6f66
lea r8, [rsp + 0x1730]
mov rdx, qword [rsp + 0x80]
mov ecx, ebp
call fcn.1800b2e30
test eax, eax
je 0x1800c6f66
mov dword [rsp + 0x40], r13d
jmp 0x1800c6f66
lea rax, [rsp + 0x1730]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x80]
mov r8d, ebp
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.1800c65a0
mov rax, qword [0x1801dee98]
test rax, rax
je 0x1800c6f7f
lea rcx, [rsp + 0x78]
call rax
mov ebp, dword [rsp + 0x44]
jmp 0x1800c6f83
mov ebp, dword [rsp + 0x44]
test ebp, ebp
je 0x1800c72d3
mov dword [rsp + 0xd0], r13d
mov r9, qword [rsp + 0x58]
lea r8, [0x180153a08]
mov edx, 0x1450
lea rcx, [rsp + 0xd4]
call fcn.1800f5158
lea rcx, [0x1801dc900]
mov rax, qword [0x1801dc900]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x48], rbx
lea rcx, [rsp + 0x1730]
lea rax, [rsp + 0x1730]
test rax, 0xffffffffffff0000
jne 0x1800c7012
movzx edi, cx
xor edx, edx
mov ecx, edi
call fcn.180001960
test rax, rax
je 0x1800c7104
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.180003400
mov rbx, qword [rsp + 0x48]
jmp 0x1800c7104
xor eax, eax
mov rcx, rsi
lea rdi, [rsp + 0x1730]
repne scasb al, byte [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x1800c7087
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x1800c7104
cmp dword [rdx + 0x10], eax
jge 0x1800c705d
cmp dword [rbx - 0xc], eax
jge 0x1800c7053
mov ecx, 0x80070057
call fcn.180001700
int3
mov dword [rbx - 0x10], eax
mov byte [rbx], al
jmp 0x1800c7104
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800c7073
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x48], rbx
jmp 0x1800c7104
mov ebp, dword [rbx - 0x10]
lea r12, [rsp + 0x1730]
sub r12, rbx
mov ecx, r13d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x1800c70b5
mov edx, edi
lea rcx, [rsp + 0x48]
call fcn.180002910
mov rbx, qword [rsp + 0x48]
cmp r12, rbp
ja 0x1800c70d2
movsxd rbp, edi
lea r8, [r12 + rbx]
movsxd rdx, dword [rbx - 0xc]
mov r9, rbp
mov rcx, rbx
call fcn.1800f6010
jmp 0x1800c70ec
movsxd rbp, edi
movsxd rdx, dword [rbx - 0xc]
mov r9, rbp
lea r8, [rsp + 0x1730]
mov rcx, rbx
call fcn.1800f5f78
test edi, edi
js 0x1800c72c8
cmp edi, dword [rbx - 0xc]
jg 0x1800c72c8
mov dword [rbx - 0x10], edi
mov byte [rbx + rbp], 0
lea r8, [rsp + 0x1730]
lea rdx, [0x180153a08]
lea rcx, [rsp + 0x1524]
call fcn.1800f509c
xor eax, eax
mov rcx, rsi
lea rdi, [rsp + 0x1524]
repne scasb al, byte [rdi]
not rcx
dec rcx
cmp rcx, 3
ja 0x1800c7151
cmp byte [rsp + rcx + 0x1523], 0x5c
jne 0x1800c7151
mov byte [rsp + rcx + 0x1523], al
jmp 0x1800c7240
lea rcx, [rsp + 0x1730]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0x10
je 0x1800c7229
mov edx, 0x5c
mov rcx, rbx
call fcn.1800f6344
test rax, rax
je 0x1800c7229
sub eax, ebx
cmp eax, 0xffffffff
je 0x1800c7229
mov r9d, eax
xor r8d, r8d
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x48]
call fcn.180003b80
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1800c71fb
cmp dword [rbx + 0x10], 0
jl 0x1800c71ec
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1800c71ec
call fcn.180002880
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1800c71e1
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x48], rax
jmp 0x1800c71fb
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x48]
call fcn.180003320
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800c7224
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x48]
jmp 0x1800c7229
mov rbx, qword [rsp + 0x48]
mov r8, rbx
lea rdx, [0x180153a08]
lea rcx, [rsp + 0x1524]
call fcn.1800f509c
mov r8, rbx
lea rdx, [0x180153a08]
lea rcx, [rsp + 0x1524]
call fcn.1800f509c
lea rcx, [rsp + 0xd0]
call fcn.180068390
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800c7280
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800c72a3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x1800c72c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, r13d
jmp 0x1800c735e
mov ecx, 0x80070057
call fcn.180001700
nop
cmp dword [rsp + 0x40], 0
je 0x1800c7316
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1800c72f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x1800c7312
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor eax, eax
jmp 0x1800c735e
mov r8, r15
mov rdx, rbx
mov rcx, r12
call r14
mov ebx, eax
lea rdx, [rdi - 0x18]
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1800c733f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x1800c735c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, ebx
mov rcx, qword [rsp + 0x1950]
xor rcx, rsp
call fcn.1800f4f80
mov rbx, qword [rsp + 0x19b8]
add rsp, 0x1960
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret