Function at 0x140042950
Capabilities:
Get file system object information

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5ba0]
mov eax, 0x5ca0
call fcn.1400f1270
sub rsp, rax
mov qword [rbp], 0xfffffffffffffffe
mov qword [rsp + 0x5cf0], rbx
mov rax, qword [0x1401412b0]
xor rax, rsp
mov qword [rbp + 0x5b98], rax
mov r12, rdx
mov qword [rbp - 0x68], rdx
mov rdi, rcx
mov r15d, 1
add dword [0x140147ca0], r15d
mov r9d, r15d
or r8, 0xffffffffffffffff
mov edx, 0x100c
mov rcx, qword [rcx + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r13, rax
mov qword [rbp - 0x60], rax
mov edx, r15d
lea rcx, [0x14016dce0]
call fcn.1400a83a4
mov ecx, 0x1c4
call fcn.1400881f8
mov rdx, rax
xor r8d, r8d
lea rcx, [0x14016dce0]
call fcn.1400a82cc
xor r9d, r9d
xor r8d, r8d
lea edx, [r15 + 0xa]
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rdi
call fcn.14003fe4c
mov dword [rsp + 0x20], 0x4011
mov r9d, 0x2b8
lea r8, [rbp + 0x1610]
xor edx, edx
lea rcx, [0x1401154f8]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov r9, rax
mov r8d, r15d
mov edx, 0x1003
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [0x14016dcd0]
call fcn.140002408
lea rdx, [rbp + 0x1150]
lea rcx, [0x14016b340]
call fcn.1400054f8
lea edx, [r15 + 3]
xor r14d, r14d
cmp byte [rbp + 0x11d0], r14b
je 0x140042a9e
cmp byte [rbp + 0x1348], r14b
je 0x140042a9e
cmp byte [rbp + 0x1293], r14b
jne 0x140042a9e
mov ecx, dword [rbp + 0x1328]
lea eax, [rcx - 2]
cmp eax, r15d
cmovbe ecx, edx
mov dword [rbp + 0x1328], ecx
jmp 0x140042aa4
mov ecx, dword [rbp + 0x1328]
mov dword [rbp + 0x20], edx
mov edx, 0x73
sub ecx, 1
je 0x140042ac7
sub ecx, 2
je 0x140042ac0
cmp ecx, 1
jne 0x140042acc
lea edx, [rcx + 0x75]
jmp 0x140042acc
mov edx, 0x75
jmp 0x140042acc
mov edx, 0x74
mov ecx, edx
call fcn.1400881f8
mov qword [rbp + 0x30], rax
lea r9, [rbp + 0x20]
mov esi, 5
mov r8d, esi
mov edx, 0x1060
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
mov ebx, 0x800
mov r8d, ebx
lea rdx, [rbp + 0x4b90]
lea rcx, [0x14016b340]
call fcn.140005104
mov r8d, ebx
lea rdx, [rbp + 0x2b90]
lea rcx, [0x14016b340]
call fcn.1400054d8
xor r9d, r9d
lea r8, [rbp + 0x4b90]
lea rdx, [rbp + 0x2b90]
mov rcx, rdi
call fcn.140037318
lea rdx, [rbp + 0x2b90]
mov rcx, rdi
call fcn.14003f6f0
lea rax, [rbp + 0x2b90]
or rbx, 0xffffffffffffffff
inc rbx
cmp word [rax + rbx*2], r14w
jne 0x140042b56
test rbx, rbx
je 0x140042b68
add rbx, r15
lea rdx, [rbp + 0x2b90]
lea rcx, [0x1401546e8]
call fcn.1400add0c
mov r15d, r14d
xor r8d, r8d
lea rdx, str.FlatView
lea rcx, str.FileList
call fcn.14009f858
test eax, eax
setne r14b
xor r8d, r8d
lea rdx, str.ShowSeconds
lea rcx, str.FileList
call fcn.14009f858
xor ecx, ecx
test eax, eax
setne byte [rsp + 0x30]
mov qword [rbp + 0x10e0], rcx
mov qword [rbp + 0x10e8], rcx
mov qword [rbp + 0x10f0], rcx
mov word [rbp + 0x3b90], cx
mov edx, 0x1f4
lea rcx, [rbp + 8]
call fcn.1400c4a28
nop
mov r8b, r14b
lea rdx, [rbp + 0x50]
lea rcx, [0x14016b340]
call fcn.140005554
xor r9d, r9d
test al, al
je 0x140043112
lea r13, [rbp + 0x50]
lea r13, [r13 + rbx*2]
mov r12b, byte [rsp + 0x30]
test r15b, 0x1f
jne 0x140042c22
lea rcx, [rbp + 8]
call fcn.1400c6050
xor r9d, r9d
mov rbx, r13
mov esi, dword [rbp + 0x10f8]
shr esi, 4
and sil, 1
test r14b, r14b
je 0x140042c46
lea rcx, [rbp + 0x50]
call fcn.1400796e4
mov rbx, rax
xor r9d, r9d
test sil, sil
je 0x140042d4d
test r14b, r14b
jne 0x140042d4d
test byte [rbp + 0x1138], 0x20
je 0x140042cc5
mov rcx, rbx
lea r8, [rbp + 0x3b90]
sub r8, rbx
movzx edx, word [rcx]
movzx eax, word [rcx + r8]
sub edx, eax
jne 0x140042c82
add rcx, 2
test eax, eax
jne 0x140042c6e
test edx, edx
je 0x1400430e8
mov r8d, 0x800
mov rdx, rbx
lea rcx, [rbp + 0x3b90]
call fcn.14008e2e4
mov r9b, 1
xor r8d, r8d
lea rdx, [rbp + 0x50]
lea rcx, [0x140173cc0]
call fcn.14003e198
xor r9d, r9d
test al, al
jne 0x1400430e8
jmp 0x140042d4d
mov r9b, 1
lea r8, [rbp - 0x70]
lea rdx, [rbp + 0x50]
lea rcx, [0x140173cc0]
call fcn.14003e198
xor r9d, r9d
test al, al
je 0x140042d4d
cmp qword [rbp + 0x10e0], r9
je 0x1400430e8
mov rdx, qword [rbp - 0x70]
lea rcx, [0x140173cc0]
call fcn.14003ddf4
mov rcx, qword [rbp + 0x10e0]
mov qword [rax + 0x28], rcx
mov ecx, dword [rbp + 0x10f8]
mov dword [rax + 0x20], ecx
mov dword [rsp + 0x20], reloc.SHELL32.dll_SHRestricted
lea r9, [rbp + 0x29f0]
mov r8b, r12b
lea rdx, [rbp + 0x10e0]
mov rcx, rdi
call fcn.140045a90
mov dword [rsp + 0x48], 4
lea rax, [rbp + 0x29f0]
mov r8, qword [rbp - 0x70]
jmp 0x1400430cf
mov dword [rbp - 0x50], 7
mov dword [rbp - 0x4c], r15d
or dword [rbp - 0x2c], 0xffffffff
mov dword [rbp - 0x48], r9d
mov word [rbp + 0x29d0], r9w
mov edx, dword [rbp + 0x1138]
test dl, 1
je 0x140042d9b
lea rcx, [rbp + 0x29d0]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], r9w
jne 0x140042d7e
mov eax, dword [0x140115504]
mov dword [rcx], eax
movzx eax, word [0x140115508]
mov word [rcx + 4], ax
and edx, 6
je 0x140042e2b
cmp edx, 2
je 0x140042dff
cmp edx, 4
je 0x140042dd9
cmp edx, 6
jne 0x140042e2b
lea rcx, [rbp + 0x29d0]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], r9w
jne 0x140042dbe
movsd xmm0, qword [0x140115530]
movzx eax, word [0x140115538]
jmp 0x140042e23
lea rcx, [rbp + 0x29d0]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], r9w
jne 0x140042de4
movsd xmm0, qword [0x140115520]
movzx eax, word [0x140115528]
jmp 0x140042e23
lea rcx, [rbp + 0x29d0]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], r9w
jne 0x140042e0a
movsd xmm0, qword [0x140115510]
movzx eax, word [0x140115518]
movsd qword [rcx], xmm0
mov word [rcx + 8], ax
inc r15d
mov dword [rbp + 0x113c], r15d
lea rdx, [rbp + 0x50]
lea rcx, [0x140173cc0]
call fcn.14003df0c
mov qword [rbp - 0x28], rax
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.14003f6f0
lea rcx, [rbp + 0x50]
mov rax, rbx
sub rax, rcx
sar rax, 1
mov edx, 0x800
sub rdx, rax
mov rcx, rbx
call fcn.1400c658c
mov qword [rbp - 0x38], rbx
xor eax, eax
cmp word [rbp + 0x29d0], ax
je 0x140042e97
mov r8d, 0x800
lea rdx, [rbp + 0x29d0]
lea rcx, [rbp + 0x50]
call fcn.14008e2ac
lea r9, [rbp - 0x50]
xor r8d, r8d
mov edx, 0x104d
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd rbx, eax
test sil, sil
jne 0x140042f77
mov rcx, qword [rbp + 0x10d0]
movabs rax, 0x7fffffff7fffffff
cmp rcx, rax
jne 0x140042edb
mov dword [rbp + 0x29f0], 0x3f
jmp 0x140042eed
mov r8d, 0x32
lea rdx, [rbp + 0x29f0]
call fcn.1400a842c
mov dword [rsp + 0x48], 1
lea rax, [rbp + 0x29f0]
mov qword [rsp + 0x58], rax
lea r9, [rsp + 0x40]
mov r8, rbx
mov edx, 0x1074
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rbp + 0x10d8]
movabs rax, 0x7fffffff7fffffff
cmp rcx, rax
jne 0x140042f3a
mov dword [rbp + 0x29f0], 0x3f
jmp 0x140042f4c
mov r8d, 0x32
lea rdx, [rbp + 0x29f0]
call fcn.1400a842c
mov dword [rsp + 0x48], 2
lea rax, [rbp + 0x29f0]
mov qword [rsp + 0x58], rax
lea r9, [rsp + 0x40]
mov r8, rbx
mov edx, 0x1074
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x48], 3
or qword [rsp + 0x58], 0xffffffffffffffff
lea r9, [rsp + 0x40]
mov r8, rbx
mov edx, 0x1074
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
cmp qword [rbp + 0x10e0], rax
je 0x140042fca
mov dword [rsp + 0x20], reloc.SHELL32.dll_SHRestricted
lea r9, [rbp + 0x2ac0]
mov r8b, r12b
lea rdx, [rbp + 0x10e0]
mov rcx, rdi
call fcn.140045a90
jmp 0x140042fd1
mov word [rbp + 0x2ac0], ax
mov dword [rsp + 0x48], 4
lea rax, [rbp + 0x2ac0]
mov qword [rsp + 0x58], rax
lea r9, [rsp + 0x40]
mov r8, rbx
mov edx, 0x1074
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [rbp + 0x1104]
xor ecx, ecx
test eax, eax
je 0x1400430a2
test sil, sil
jne 0x1400430a2
cmp dword [rbp + 0x1128], ecx
jne 0x1400430a2
cmp eax, 3
jne 0x14004304a
mov qword [rsp + 0x20], 0x41
lea r9, [rbp + 0x29f0]
xor r8d, r8d
lea edx, [rax + 0x1d]
lea rcx, [rbp + 0x1108]
call fcn.14008d874
jmp 0x140043077
lea rcx, str._04X
lea r8, str._08X
cmp eax, 1
cmove r8, rcx
mov r9d, dword [rbp + 0x1108]
mov edx, 0x41
lea rcx, [rbp + 0x29f0]
call fcn.1400026d0
mov dword [rsp + 0x48], 5
lea rax, [rbp + 0x29f0]
mov qword [rsp + 0x58], rax
lea r9, [rsp + 0x40]
mov r8, rbx
mov edx, 0x1074
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
test r14b, r14b
je 0x1400430e8
mov r8d, 0x800
lea rdx, [rbp + 0x18d0]
lea rcx, [rbp + 0x50]
call fcn.140078aa8
mov dword [rsp + 0x48], 6
lea rax, [rbp + 0x18d0]
mov r8, rbx
mov qword [rsp + 0x58], rax
lea r9, [rsp + 0x40]
mov edx, 0x1074
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8b, r14b
lea rdx, [rbp + 0x50]
lea rcx, [0x14016b340]
call fcn.140005554
xor r9d, r9d
test al, al
jne 0x140042c10
mov r12, qword [rbp - 0x68]
mov r13, qword [rbp - 0x60]
lea esi, [r9 + 5]
mov dword [rsp + 0x20], 0x4411
mov r9d, 0x2b8
lea r8, [rbp + 0x1350]
mov r14d, 0x10
mov edx, r14d
lea rcx, [0x140115560]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov rbx, rax
test rax, rax
lea eax, [r14 - 9]
cmovne esi, eax
mov dword [rbp - 0x50], esi
mov dword [rbp - 0x4c], r15d
mov ecx, dword [rbp + 0x1358]
mov dword [rbp - 0x2c], ecx
xor esi, esi
mov dword [rbp - 0x48], esi
lea rax, [0x14010f648]
mov qword [rbp - 0x38], rax
xor edx, edx
mov r8d, 0x1100
lea rcx, [rbp + 0x18d0]
call fcn.1400f24e0
mov eax, dword [0x14010f648]
mov dword [rbp + 0x18d0], eax
movzx eax, word [0x14010f64c]
mov word [rbp + 0x18d4], ax
mov dword [rbp + 0x2978], r14d
lea rdx, [rbp + 0x18d0]
lea rcx, [0x140173cc0]
call fcn.14003df0c
mov qword [rbp - 0x28], rax
lea r9, [rbp - 0x50]
xor r8d, r8d
mov edx, 0x104d
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
test rbx, rbx
lea ebx, [rsi + 3]
je 0x1400431fb
mov dword [rsp + 0x48], ebx
lea rdx, [rbp + 0x1568]
mov qword [rsp + 0x58], rdx
movsxd r8, eax
lea r9, [rsp + 0x40]
mov edx, 0x1074
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [0x140173cc0]
call fcn.14001a040
mov rcx, rdi
call fcn.140045744
test r12, r12
je 0x140043251
cmp word [r12], si
je 0x140043251
mov rdx, r12
mov rcx, rdi
call fcn.1400407cc
test al, al
jne 0x140043270
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jle 0x14004324c
cmp r13d, eax
jl 0x14004324c
lea r13d, [rax - 1]
movsxd r8, r13d
jmp 0x140043254
xor r8d, r8d
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x4c], ebx
lea r9, [rsp + 0x40]
mov edx, 0x102b
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
lea edx, [r9 + 0xb]
lea r8d, [r9 + 1]
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x102a
mov rcx, qword [rdi + 0x60]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r8d, r8d
xor edx, edx
lea rcx, [0x14016dce0]
call fcn.1400a82cc
mov rcx, rdi
call fcn.140045338
mov rcx, rdi
call fcn.140045584
lea rcx, [0x1401703b0]
call fcn.1400aabcc
xor edx, edx
lea rcx, [0x14016dce0]
call fcn.1400a83a4
nop
lea rcx, [rbp + 8]
call fcn.1400c4a6c
nop
mov eax, dword [0x140147ca0]
test eax, eax
jle 0x1400432f2
dec eax
mov dword [0x140147ca0], eax
mov rcx, qword [rbp + 0x5b98]
xor rcx, rsp
call fcn.1400f12e0
mov rbx, qword [rsp + 0x5cf0]
add rsp, 0x5ca0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret