Function at 0x140059864
Capabilities:
Get common file path
Get file system object information

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
sub rsp, 0x500
mov ebx, 1
xor edi, edi
mov rbp, rcx
cmp dword [rcx + 0x350], edi
lea r12d, [rbx + 0xf]
mov esi, 0x1003
je 0x14005995c
cmp dword [rcx + 0x358], edi
je 0x140059918
lea rcx, [rax - 0x2c0]
xor edx, edx
mov r8d, 0x2b0
mov qword [rax - 0x2c8], rdi
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x32]
xor edx, edx
mov r8d, 0x208
mov word [rsp + 0x30], di
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x30]
mov edx, 0x104
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea r8, [rsp + 0x240]
lea rcx, [rsp + 0x30]
mov r9d, 0x2b8
xor edx, edx
mov dword [rsp + 0x20], 0x4001
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov qword [rbp + 0x338], rax
mov r9, rax
jmp 0x14005994a
mov r9d, ebx
mov r8d, 0x19
mov edx, r12d
mov ecx, r12d
mov dword [rsp + 0x20], ebx
call qword [sym.imp.COMCTL32.dll_ImageList_Create]
mov edx, ebx
mov rcx, rax
mov qword [rbp + 0x338], rax
call qword [sym.imp.COMCTL32.dll_ImageList_SetImageCount]
mov r9, qword [rbp + 0x338]
mov rcx, qword [rbp + 0x328]
mov r8, rbx
mov edx, esi
call qword [sym.imp.USER32.dll_SendMessageW]
cmp dword [rbp + 0x354], edi
je 0x1400599a7
mov ecx, 0x20
mov r9d, ebx
mov dword [rsp + 0x20], ebx
lea r8d, [rcx - 7]
mov edx, ecx
call qword [sym.imp.COMCTL32.dll_ImageList_Create]
mov edx, ebx
mov rcx, rax
mov qword [rbp + 0x340], rax
call qword [sym.imp.COMCTL32.dll_ImageList_SetImageCount]
mov r9, qword [rbp + 0x340]
mov rcx, qword [rbp + 0x328]
xor r8d, r8d
mov edx, esi
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9d, ebx
mov r8d, 0x19
mov edx, r12d
mov ecx, r12d
mov dword [rsp + 0x20], ebx
call qword [sym.imp.COMCTL32.dll_ImageList_Create]
xor ecx, ecx
mov qword [rbp + 0x330], rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ebx, 0x1000
mov r9d, r12d
xor r8d, r8d
mov edx, 0x85
mov rcx, rax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r12d
call qword [sym.imp.USER32.dll_LoadImageW]
xor ecx, ecx
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r9d, r12d
xor r8d, r8d
mov edx, 0x86
mov rcx, rax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r12d
call qword [sym.imp.USER32.dll_LoadImageW]
mov rcx, qword [rbp + 0x330]
xor edx, edx
mov rdi, rax
call qword [sym.imp.COMCTL32.dll_ImageList_SetImageCount]
mov ecx, InitCommonControls
call qword [sym.imp.USER32.dll_GetSysColor]
mov rcx, qword [rbp + 0x330]
mov rdx, rsi
mov r8d, eax
mov ebx, eax
call qword [sym.imp.COMCTL32.dll_ImageList_AddMasked]
mov rcx, qword [rbp + 0x330]
mov r8d, ebx
mov rdx, rdi
call qword [sym.imp.COMCTL32.dll_ImageList_AddMasked]
mov rcx, rsi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rdx, qword [rbp + 0x330]
mov rcx, qword [rbp + 0x328]
lea r11, [rsp + 0x500]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r12
jmp 0x14006c040
push rbx
sub rsp, 0x20
mov rbx, rdx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x101f
call qword [sym.imp.USER32.dll_SendMessageW]
mov r9, rbx
xor r8d, r8d
mov rcx, rax
mov edx, 0x1208
add rsp, 0x20
pop rbx
jmp qword [sym.imp.USER32.dll_SendMessageW]