Function at 0x140087aa0
Capabilities:
Get file system object information

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rax - 0x3a8]
sub rsp, 0x480
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140136e20]
xor rax, rsp
mov qword [rbp + 0x370], rax
mov r13, r9
mov rbx, r8
mov r12, rdx
mov rdi, rcx
mov qword [rsp + 0x78], rcx
lea rax, vtable.CFolderView.0
mov qword [rcx], rax
lea rax, vtable.CFolderView.1.0
mov qword [rcx + 8], rax
lea rax, vtable.CFolderView.2.0
mov qword [rcx + 0x10], rax
lea rax, vtable.CFolderView.3.0
mov qword [rcx + 0x18], rax
lea rax, vtable.CFolderView.4.0
mov qword [rcx + 0x20], rax
lea rax, vtable.CFolderView.5.0
mov qword [rcx + 0x28], rax
xor r14d, r14d
mov qword [rcx + 0x388], r14
mov ecx, 0x220
call fcn.14004b164
test rax, rax
je 0x140088191
mov qword [rdi + 0x380], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x380]
mov qword [rax + 8], rax
mov qword [rdi + 0x3a0], r14
mov ecx, 0x218
call fcn.14004b164
test rax, rax
je 0x14008815f
mov qword [rdi + 0x398], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x398]
mov qword [rax + 8], rax
mov qword [rdi + 0x3b8], r14
lea ecx, [r14 + 0x20]
call fcn.14004b164
test rax, rax
je 0x14008812d
mov qword [rdi + 0x3b0], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x3b0]
mov qword [rax + 8], rax
lea rcx, [rdi + 0x3e0]
lea rdx, [rsp + 0x30]
call fcn.14000a680
nop
lea rcx, [rdi + 0x408]
call fcn.14000ab10
nop
lea rcx, [rdi + 0x450]
call fcn.14000ab10
nop
lea rcx, [rdi + 0x4a8]
call fcn.14000ab80
nop
lea rcx, [rdi + 0x4c0]
call fcn.14000ab80
nop
lea rcx, [rdi + 0x4d8]
call fcn.14000ab80
nop
lea rcx, [rdi + 0x4f0]
call fcn.14000ab80
nop
lea rcx, [rdi + 0x508]
call fcn.14000ab80
nop
lea rcx, [rdi + 0x520]
call fcn.14000ab80
nop
lea rcx, [rdi + 0x538]
call fcn.14000ab80
nop
mov qword [rdi + 0x578], r14
mov ecx, 0x220
call fcn.14004b164
test rax, rax
je 0x1400880fb
mov qword [rdi + 0x570], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x570]
mov qword [rax + 8], rax
mov qword [rdi + 0x590], r14
mov ecx, 0x218
call fcn.14004b164
test rax, rax
je 0x1400880c9
mov qword [rdi + 0x588], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x588]
mov qword [rax + 8], rax
mov qword [rdi + 0x5d0], r14
mov ecx, 0x418
call fcn.14004b164
test rax, rax
je 0x140088097
mov qword [rdi + 0x5c8], rax
mov qword [rax], rax
mov rax, qword [rdi + 0x5c8]
mov qword [rax + 8], rax
lea rcx, [rdi + 0x5e8]
call fcn.14000ab10
nop
mov dword [rdi + 0x30], 1
mov qword [rdi + 0x38], rbx
mov qword [rdi + 0x40], r12
mov rcx, rdi
call fcn.140086dc0
mov ecx, 0x24220
call fcn.14004af90
mov qword [rdi + 0x58], rax
mov ecx, 0x22ab0
call fcn.14004af90
mov qword [rdi + 0x60], rax
mov dword [rdi + 0x300], 0xfa
mov dword [rbp - 0x70], 0x114
lea rcx, [rbp - 0x70]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x140087d37
mov eax, dword [rbp - 0x6c]
mov dword [rdi + 0x2bc], eax
mov ecx, 0x20
call fcn.14004b164
mov rbx, rax
test rax, rax
je 0x140087d76
lea rax, vtable.CPathManager.0
mov qword [rbx], rax
mov qword [rbx + 8], 1
mov dword [rbx + 0x14], 0xa
mov ecx, 0x50
call fcn.14004af90
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x10], r14d
jmp 0x140087d79
mov rbx, r14
mov qword [rdi + 0x68], rbx
mov dword [rdi + 0x2c0], 1
mov dword [rdi + 0x2c4], 1
mov dword [rdi + 0x334], 1
mov qword [rdi + 0x32c], 1
mov dword [rdi + 0x338], 1
mov qword [rdi + 0xa00], r14
mov qword [rdi + 0x33c], 1
mov qword [rdi + 0x344], 1
mov dword [rdi + 0x34c], r14d
mov dword [rdi + 0x5bc], r14d
mov dword [rdi + 0x5b0], r14d
mov qword [rdi + 0x2c8], r14
mov dword [rdi + 0x498], r14d
mov qword [rdi + 0x550], r14
mov qword [rdi + 0x308], 0xffffffffffffffff
mov qword [rdi + 0x3f8], r14
mov dword [rdi + 0x2d8], r14d
mov qword [rdi + 0x4a0], r14
mov qword [rdi + 0x48], r14
mov dword [rdi + 0x558], r14d
mov dword [rdi + 0x2e4], r14d
mov dword [rdi + 0x3cc], r14d
mov dword [rdi + 0x320], 0xffffffff
mov dword [rdi + 0x324], r14d
mov qword [rdi + 0x88], r14
mov rdx, r13
lea rcx, [rdi + 0x10]
call fcn.1400878e0
mov ebx, dword [rdi + 0x32c]
mov rsi, qword [rdi + 0x38]
mov edx, 0xfffffff0
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
test ebx, ebx
je 0x140087e7e
bt rax, 8
jb 0x140087e8a
bts rax, 8
jmp 0x140087e8a
bt rax, 8
jae 0x140087e8a
btr rax, 8
mov r8, rax
mov edx, 0xfffffff0
mov rcx, rsi
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov ebx, dword [rdi + 0x33c]
mov rsi, qword [rdi + 0x38]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1037
mov rcx, rsi
call qword [sym.imp.USER32.dll_SendMessageW]
test ebx, ebx
je 0x140087ec6
test al, 1
jne 0x140087ecd
or eax, 1
jmp 0x140087ecd
test al, 1
je 0x140087ecd
and eax, 0xfffffffe
mov r9d, eax
xor r8d, r8d
mov edx, 0x1036
mov rcx, rsi
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rdi + 0x3c8], r14d
movsxd rbx, dword [rdi + 0x300]
mov rcx, rbx
shl rcx, 2
call fcn.14004af90
mov qword [rdi + 0x318], rax
mov rcx, r14
test ebx, ebx
jle 0x140087f23
nop dword [rax]
mov rax, qword [rdi + 0x318]
mov dword [rax + rcx*4], r14d
inc rcx
cmp rcx, rbx
jl 0x140087f10
mov dword [rdi + 0x304], r14d
lea rcx, [rdi + 0x358]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rdi + 0x420]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [rdi + 0x468]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
cmp dword [0x140149844], 0
jne 0x140087f71
lea rcx, [0x140149620]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x140149844], 1
mov dword [rdi + 0x400], 1
mov rax, qword [rbp + 0x3d0]
mov qword [rdi + 0x70], rax
mov rax, qword [rbp + 0x3d8]
mov qword [rdi + 0x78], rax
mov dword [rsp + 0x20], 0x4010
mov r9d, 0x2b8
lea r8, [rbp + 0xb0]
mov edx, 0x90
lea rcx, [0x140104118]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov r11d, dword [rbp + 0xb8]
mov dword [rdi + 0x310], r11d
mov dword [rsp + 0x20], 0x4010
mov r9d, 0x2b8
lea r8, [rbp + 0xb0]
mov edx, 0x80
lea rcx, [0x140104118]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov r11d, dword [rbp + 0xb8]
mov dword [rdi + 0x314], r11d
mov qword [rdi + 0x80], r14
cmp dword [0x140149840], 0
jne 0x140088041
mov dword [0x140149648], r14d
mov dword [0x14014961c], r14d
mov dword [0x14014964c], 1
lea rcx, [0x140149650]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x140149678], r14d
mov dword [0x140149840], 1
xor r9d, r9d
mov edx, 1
xor ecx, ecx
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x98], rax
xor r9d, r9d
mov edx, 1
xor ecx, ecx
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x448], rax
xor r9d, r9d
mov edx, 1
xor ecx, ecx
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0x490], rax
mov rax, rdi
jmp 0x1400881c3
mov qword [rsp + 0x40], r14
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x60], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x60]
call fcn.14004d894
nop
mov qword [rsp + 0x38], r14
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x48], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x48]
call fcn.14004d894
nop
mov qword [rsp + 0x40], r14
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x60], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x60]
call fcn.14004d894
nop
mov qword [rsp + 0x38], r14
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x48], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x48]
call fcn.14004d894
nop
mov qword [rsp + 0x40], r14
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x60]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x60], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x60]
call fcn.14004d894
nop
mov qword [rsp + 0x38], r14
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.14004b2d4
lea r11, vtable.std::bad_alloc.0
mov qword [rsp + 0x48], r11
lea rdx, [0x140132320]
lea rcx, [rsp + 0x48]
call fcn.14004d894
int3
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.14004ae00
lea r11, [rsp + 0x480]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret