Function at 0x1802e0c70
Capabilities:
Get file attributes

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov rdi, rcx
xor ebx, ebx
mov dword [rbp + 0x67], ebx
lea r15, [rcx + 0x38]
mov qword [rbp - 9], r15
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
lea rcx, [rdi + 0xb8]
call fcn.1801f9310
cmp byte [rdi + 0x10a], bl
jne 0x1802e0d41
lea rdx, [0x180660030]
mov qword [rbp + 0x7f], rdx
mov ebx, 1
mov dword [rbp + 0x67], ebx
cmp qword [rdi + 0xe0], rdx
je 0x1802e0d41
mov rcx, qword [rdi + 0xe0]
call fcn.18001c500
test eax, eax
je 0x1802e0d41
lea rdx, [rdi + 0xe0]
lea rcx, [rbp - 0x69]
call fcn.180017f90
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x1802e0d08
cmp eax, 0xffffffff
jne 0x1802e0d41
lea rdx, [rbp + 0x77]
lea rcx, [rdi + 0xe0]
call fcn.180190bc0
nop
mov dword [rbp + 0x67], 3
lea rdx, [rbp + 0x6f]
mov rcx, rax
call fcn.18018c7c0
mov ebx, 7
mov dword [rbp + 0x67], ebx
mov rax, qword [rax]
cmp byte [rax], 0
jne 0x1802e0d41
xor r14b, r14b
jmp 0x1802e0d44
mov r14b, 1
mov esi, 0xffffffff
lea r12, [0x180660020]
test bl, 4
je 0x1802e0d7c
and ebx, 0xfffffffb
mov dword [rbp + 0x67], ebx
mov rcx, qword [rbp + 0x6f]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x1802e0d7c
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, esi
jne 0x1802e0d79
call fcn.18011d9c0
mov ebx, dword [rbp + 0x67]
test bl, 2
je 0x1802e0da9
and ebx, 0xfffffffd
mov dword [rbp + 0x67], ebx
mov rcx, qword [rbp + 0x77]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x1802e0da9
mov eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1802e0da6
call fcn.18011d9c0
mov ebx, dword [rbp + 0x67]
test bl, 1
je 0x1802e0dcb
mov rcx, qword [rbp + 0x7f]
add rcx, 0xfffffffffffffff0
cmp rcx, r12
je 0x1802e0dcb
lock xadd dword [rcx], esi
dec esi
cmp esi, 0xffffffff
jne 0x1802e0dcb
call fcn.18011d9c0
test r14b, r14b
jne 0x1802e0eaa
mov rcx, rdi
cmp dword [rdi + 0x110], 2
jne 0x1802e0ded
call fcn.1802dce00
movzx ebx, al
jmp 0x1802e0f01
call fcn.1802dd670
mov qword [rbp + 0x6f], rax
test rax, rax
je 0x1802e0e05
cmp byte [rax + 8], 0
je 0x1802e0ea1
lea rdx, [rdi + 0xe0]
xor r8d, r8d
lea rcx, [rbp - 0x69]
call fcn.180189530
nop
mov r8d, 0x4000
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x59]
call fcn.18018a3a0
nop
mov rax, qword [rbp - 0x39]
cmp byte [rax], 0
jne 0x1802e0e8d
mov rax, qword [rbp - 0x59]
mov r8d, 4
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 0x59]
cmp dword [rdi + 0x110], 1
jne 0x1802e0eb5
mov dword [rbp + 0x67], 0x50525043
call qword [rax + 0x20]
lea rcx, [rbp - 0x59]
call fcn.18018a180
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 1]
call fcn.180162320
nop
lea rdx, [rbp - 1]
mov rcx, rdi
call fcn.1802dc630
nop
lea rcx, [rbp - 1]
test al, al
jne 0x1802e0eae
call fcn.180162160
nop
lea rcx, [rbp - 0x59]
call fcn.18018a2d0
nop
lea rcx, [rbp - 0x69]
call fcn.180189460
nop
lea rcx, [rbp + 0x6f]
call fcn.1800dec80
xor bl, bl
jmp 0x1802e0f01
call fcn.180162160
jmp 0x1802e0ecf
mov dword [rbp + 0x67], 0x504f5250
call qword [rax + 0x20]
lea rdx, [rbp - 0x59]
mov rcx, rdi
call fcn.1802dc630
test al, al
je 0x1802e0e8d
lea rcx, [rbp - 0x59]
call fcn.18018a2d0
lea rcx, [rbp - 0x69]
call fcn.180189350
test al, al
je 0x1802e0e97
mov byte [rdi + 0x121], 0
lea rcx, [rbp - 0x69]
call fcn.180189460
nop
lea rcx, [rbp + 0x6f]
call fcn.1800dec80
mov bl, 1
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, bl
add rsp, 0xb0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret