Function at 0x140050428
Capabilities:
Get file system object information

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x4ad0
call fcn.1400d8110
sub rsp, rax
mov qword [rsp + 0x100], 0xfffffffffffffffe
mov qword [rsp + 0x4b20], rbx
mov rax, qword [0x1401006f0]
xor rax, rsp
mov qword [rsp + 0x4ac8], rax
mov r14, rdx
mov qword [rsp + 0xa8], rdx
mov rbx, rcx
mov ebp, 1
add dword [0x140149a04], ebp
mov r9, rbp
or rdi, 0xffffffffffffffff
mov r8, rdi
mov edx, 0x100c
mov rcx, qword [rcx]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rsi, rax
mov qword [rsp + 0xa0], rax
mov edx, ebp
lea rcx, [0x14014ab00]
call fcn.14007fda0
mov ecx, 0x1c4
call fcn.140076080
mov rdx, rax
lea rcx, [0x14014ab00]
call fcn.14007fe0c
xor r9d, r9d
xor r8d, r8d
lea edx, [rbp + 0xa]
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, rbx
call fcn.14004eefc
mov dword [rsp + 0x20], 0x4011
mov r9d, 0x2b8
lea r8, [rsp + 0x15e0]
xor edx, edx
lea rcx, [0x1400e5418]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov r9, rax
mov r8, rbp
mov edx, 0x1003
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [0x14014aae8]
call fcn.140007878
lea rdx, [rsp + 0x150]
lea rcx, [0x1401575c0]
call fcn.140014eb0
mov dword [rsp + 0x120], 4
lea edx, [rbp + 0x72]
mov ecx, dword [rsp + 0x264]
sub ecx, ebp
je 0x14005056b
sub ecx, 2
je 0x140050564
cmp ecx, ebp
jne 0x140050570
lea edx, [rbp + 0x75]
jmp 0x140050570
mov edx, 0x75
jmp 0x140050570
mov edx, 0x74
mov ecx, edx
call fcn.140076080
mov qword [rsp + 0x130], rax
lea r9, [rsp + 0x120]
mov r12d, 5
mov r8, r12
mov edx, 0x1060
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
mov r8d, 0x800
lea rdx, [rsp + 0x2ac0]
lea rcx, [0x1401575c0]
call fcn.140014e74
lea rdx, [rsp + 0x2ac0]
mov rcx, rbx
call fcn.14004b9e4
xor eax, eax
mov rcx, rdi
lea rdi, [rsp + 0x2ac0]
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov rdi, rcx
je 0x1400505e6
add rdi, rbp
lea rdx, [rsp + 0x2ac0]
lea rcx, [0x140155358]
call fcn.1400871b4
xor r15d, r15d
mov r13d, r15d
mov r8d, ebp
lea rdx, str.AllowUppercase
lea rbp, str.FileList
mov rcx, rbp
call fcn.14006d3c4
cmp eax, r15d
setne byte [rsp + 0x31]
xor r8d, r8d
lea rdx, str.FlatView
mov rcx, rbp
call fcn.14006d3c4
cmp eax, r15d
setne r15b
xor r8d, r8d
lea rdx, str.ShowSeconds
mov rcx, rbp
call fcn.14006d3c4
xor ebp, ebp
cmp eax, ebp
setne byte [rsp + 0x30]
mov word [rsp + 0x3ac0], bp
mov edx, 0x1f4
lea rcx, [rsp + 0x108]
call fcn.1400a2d50
nop
mov r8b, r15b
lea rdx, [rsp + 0x2c0]
lea rcx, [0x1401575c0]
call fcn.140014b7c
cmp al, bpl
je 0x140050c68
lea rdi, [rsp + rdi*2 + 0x2c0]
mov qword [rsp + 0x38], rdi
mov r14b, byte [rsp + 0x30]
test r13b, 0x1f
jne 0x1400506b5
lea rcx, [rsp + 0x108]
call fcn.1400a24c8
mov rsi, rdi
mov ebp, dword [rsp + 0x12d0]
shr ebp, 4
and bpl, 1
xor r8d, r8d
cmp r15b, r8b
je 0x1400506e1
lea rcx, [rsp + 0x2c0]
call fcn.1400615e8
mov rsi, rax
xor r8d, r8d
cmp bpl, r8b
je 0x140050809
cmp r15b, r8b
jne 0x140050809
test byte [rsp + 0x12dc], 0x20
je 0x140050771
mov rcx, rsi
lea rdi, [rsp + 0x3ac0]
sub rdi, rsi
movzx edx, word [rcx]
movzx eax, word [rcx + rdi]
sub edx, eax
jne 0x14005071e
add rcx, 2
test eax, eax
jne 0x14005070b
cmp edx, r8d
je 0x140050c2f
mov rcx, rsi
lea rdx, [rsp + 0x3ac0]
sub rdx, rsi
movzx eax, word [rcx]
mov word [rdx + rcx], ax
add rcx, 2
cmp ax, r8w
jne 0x140050735
mov r9b, 1
xor r8d, r8d
lea rdx, [rsp + 0x2c0]
lea rcx, [0x1401756e0]
call fcn.14004b508
xor r8d, r8d
cmp al, r8b
jne 0x140050c26
jmp 0x140050809
mov r9b, 1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x2c0]
lea rcx, [0x1401756e0]
call fcn.14004b508
xor r8d, r8d
cmp al, r8b
je 0x140050809
mov rdx, qword [rsp + 0x40]
lea rcx, [0x1401756e0]
call fcn.14004b5b8
mov rcx, qword [rsp + 0x12d4]
mov qword [rax + 0x24], rcx
mov dword [rsp + 0x20], reloc.SHELL32.dll_SHRestricted
lea r9, [rsp + 0x2920]
mov r8b, r14b
lea rdx, [rsp + 0x12d4]
mov rcx, rbx
call fcn.14004d874
mov dword [rsp + 0x58], 4
lea rax, [rsp + 0x2920]
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0x50]
mov r8, qword [rsp + 0x40]
mov edx, 0x1074
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
xor esi, esi
jmp 0x140050c36
mov dword [rsp + 0xb0], 7
mov dword [rsp + 0xb4], r13d
or rcx, 0xffffffffffffffff
mov dword [rsp + 0xd4], ecx
mov dword [rsp + 0xb8], r8d
mov word [rsp + 0x2900], r8w
mov edx, dword [rsp + 0x12dc]
test dl, 1
je 0x140050869
lea rdi, [rsp + 0x2900]
xor eax, eax
repne scasw ax, word [rdi]
mov eax, dword [0x1400e540c]
mov dword [rdi - 2], eax
movzx eax, word [0x1400e5410]
mov word [rdi + 2], ax
or rcx, 0xffffffffffffffff
and edx, 6
je 0x1400508ea
cmp edx, 2
je 0x1400508c7
cmp edx, 4
je 0x1400508a2
cmp edx, 6
jne 0x1400508ea
lea rdi, [rsp + 0x2900]
xor eax, eax
repne scasw ax, word [rdi]
mov rax, qword [0x1400e5400]
mov qword [rdi - 2], rax
movzx eax, word [0x1400e5408]
mov word [rdi + 6], ax
jmp 0x1400508ea
lea rdi, [rsp + 0x2900]
xor eax, eax
repne scasw ax, word [rdi]
mov rax, qword [0x1400e53f0]
mov qword [rdi - 2], rax
movzx eax, word [0x1400e53f8]
mov word [rdi + 6], ax
jmp 0x1400508ea
lea rdi, [rsp + 0x2900]
xor eax, eax
repne scasw ax, word [rdi]
mov rax, qword [0x1400e53e0]
mov qword [rdi - 2], rax
movzx eax, word [0x1400e53e8]
mov word [rdi + 6], ax
inc r13d
mov dword [rsp + 0x1304], r13d
lea rdx, [rsp + 0x2c0]
lea rcx, [0x1401756e0]
call fcn.14004b200
mov qword [rsp + 0xd8], rax
lea rdx, [rsp + 0x2c0]
mov rcx, rbx
call fcn.14004b9e4
cmp byte [rsp + 0x31], 0
jne 0x140050930
mov rcx, rsi
call fcn.140053544
mov qword [rsp + 0xc8], rsi
xor eax, eax
or rdx, 0xffffffffffffffff
mov rcx, rdx
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rdi, [rsi + rcx*2 - 2]
mov rcx, rdx
repne scasw ax, word [rdi]
lea rdx, [rsp + 0x2900]
xor ecx, ecx
movzx eax, word [rdx + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x14005095f
lea r9, [rsp + 0xb0]
xor r8d, r8d
mov edx, 0x104d
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd rdi, eax
xor esi, esi
cmp bpl, sil
jne 0x140050a98
mov rcx, qword [rsp + 0x12c0]
movabs rax, 0x7fffffff7fffffff
cmp rcx, rax
jne 0x1400509da
mov rcx, rsi
lea r14, [0x140000000]
movzx eax, word [rcx + r14 + 0xe53dc]
mov word [rsp + rcx + 0x2920], ax
add rcx, 2
cmp ax, si
jne 0x1400509b9
mov r14b, byte [rsp + 0x30]
jmp 0x1400509ed
mov r8d, 0x32
lea rdx, [rsp + 0x2920]
call fcn.140080924
mov dword [rsp + 0x58], 1
lea rax, [rsp + 0x2920]
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0x50]
mov r8, rdi
mov edx, 0x1074
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [rsp + 0x12c8]
movabs rax, 0x7fffffff7fffffff
cmp rcx, rax
jne 0x140050a5a
mov rcx, rsi
lea r14, [0x140000000]
movzx eax, word [rcx + r14 + 0xe53dc]
mov word [rsp + rcx + 0x2920], ax
add rcx, 2
cmp ax, si
jne 0x140050a39
mov r14b, byte [rsp + 0x30]
jmp 0x140050a6d
mov r8d, 0x32
lea rdx, [rsp + 0x2920]
call fcn.140080924
mov dword [rsp + 0x58], 2
lea rax, [rsp + 0x2920]
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0x50]
mov r8, rdi
mov edx, 0x1074
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp dword [rsp + 0x12d4], esi
jne 0x140050ad5
cmp dword [rsp + 0x12d8], esi
jne 0x140050ad5
mov rcx, rsi
lea r14, [0x140000000]
movzx eax, word [rcx + r14 + 0xe04f4]
mov word [rsp + rcx + 0x29f0], ax
add rcx, 2
cmp ax, si
jne 0x140050ab4
mov r14b, byte [rsp + 0x30]
jmp 0x140050af8
mov dword [rsp + 0x20], reloc.SHELL32.dll_SHRestricted
lea r9, [rsp + 0x29f0]
mov r8b, r14b
lea rdx, [rsp + 0x12d4]
mov rcx, rbx
call fcn.14004d874
mov dword [rsp + 0x58], 4
lea rax, [rsp + 0x29f0]
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0x50]
mov r8, rdi
mov edx, 0x1074
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
test dword [rsp + 0x12dc], 0x3c0
setne cl
mov eax, dword [rsp + 0x12e0]
cmp eax, esi
je 0x140050bd4
cmp bpl, sil
jne 0x140050bd4
cmp cl, sil
jne 0x140050bd4
cmp eax, 3
jne 0x140050b7d
mov qword [rsp + 0x20], 0x41
lea r9, [rsp + 0x2920]
xor r8d, r8d
lea edx, [rax + 0x1d]
lea rcx, [rsp + 0x12e4]
call fcn.140080408
jmp 0x140050bac
lea rcx, str._04X
lea r8, str._08X
cmp eax, 1
cmove r8, rcx
mov r9d, dword [rsp + 0x12e4]
mov edx, 0x41
lea rcx, [rsp + 0x2920]
call fcn.140022b7c
mov dword [rsp + 0x58], r12d
lea rax, [rsp + 0x2920]
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0x50]
mov r8, rdi
mov edx, 0x1074
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp r15b, sil
je 0x140050c1f
mov r8d, 0x800
lea rdx, [rsp + 0x18a0]
lea rcx, [rsp + 0x2c0]
call fcn.140061890
mov dword [rsp + 0x58], 6
lea rax, [rsp + 0x18a0]
mov qword [rsp + 0x68], rax
lea r9, [rsp + 0x50]
mov r8, rdi
mov edx, 0x1074
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, qword [rsp + 0x38]
jmp 0x140050c36
mov rdi, qword [rsp + 0x38]
xor esi, esi
jmp 0x140050c36
mov rdi, qword [rsp + 0x38]
xor esi, esi
mov r8b, r15b
lea rdx, [rsp + 0x2c0]
lea rcx, [0x1401575c0]
call fcn.140014b7c
cmp al, sil
jne 0x1400506a2
mov r14, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
xor ebp, ebp
mov dword [rsp + 0x20], 0x4411
mov r9d, 0x2b8
lea r8, [rsp + 0x1320]
mov r15d, 0x10
mov edx, r15d
lea rcx, [0x1400e53b8]
call qword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov rdi, rax
cmp rax, rbp
lea eax, [r15 - 9]
cmovne r12d, eax
mov dword [rsp + 0xb0], r12d
mov dword [rsp + 0xb4], r13d
mov ecx, dword [rsp + 0x1328]
mov dword [rsp + 0xd4], ecx
mov dword [rsp + 0xb8], ebp
lea r12, [0x1400e0bd8]
mov qword [rsp + 0xc8], r12
xor edx, edx
mov r8d, 0x1058
lea rcx, [rsp + 0x18a0]
call fcn.1400c7170
mov rdx, rbp
movzx eax, word [rdx + r12]
mov word [rsp + rdx + 0x18a0], ax
add rdx, 2
cmp ax, bp
jne 0x140050cee
mov dword [rsp + 0x28b0], r15d
lea rdx, [rsp + 0x18a0]
lea rcx, [0x1401756e0]
call fcn.14004b200
mov qword [rsp + 0xd8], rax
lea r9, [rsp + 0xb0]
xor r8d, r8d
mov edx, 0x104d
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp rdi, rbp
je 0x140050d74
mov edi, 3
mov dword [rsp + 0x58], edi
lea rdx, [rsp + 0x1538]
mov qword [rsp + 0x68], rdx
movsxd r8, eax
lea r9, [rsp + 0x50]
mov edx, 0x1074
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140050d79
mov edi, 3
lea rcx, [0x1401756e0]
call fcn.14004b4a4
mov rcx, rbx
call fcn.14004f66c
cmp r14, rbp
je 0x140050de7
cmp word [r14], bp
je 0x140050de7
mov rdx, r14
mov rcx, rbx
call fcn.14004f3a0
cmp al, bpl
jne 0x140050e05
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
cmp eax, ebp
jle 0x140050dc7
cmp esi, eax
jl 0x140050dc7
lea esi, [rax - 1]
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x5c], edi
movsxd r8, esi
lea r9, [rsp + 0x50]
mov edx, 0x102b
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140050e05
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x5c], edi
lea r9, [rsp + 0x50]
xor r8d, r8d
mov edx, 0x102b
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
lea edx, [r9 + 0xb]
lea r8d, [r9 + 1]
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x102a
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_SendMessageW]
xor edx, edx
lea rcx, [0x14014ab00]
call fcn.14007fe0c
mov rcx, rbx
call fcn.14004dc04
mov rcx, rbx
call fcn.14004bf14
lea rcx, [0x14015b380]
call fcn.14008446c
xor edx, edx
lea rcx, [0x14014ab00]
call fcn.14007fda0
nop
lea rcx, [rsp + 0x108]
call fcn.1400a24f4
nop
mov eax, dword [0x140149a04]
cmp eax, ebp
jle 0x140050e86
dec eax
mov dword [0x140149a04], eax
mov rcx, qword [rsp + 0x4ac8]
xor rcx, rsp
call fcn.1400c6350
mov rbx, qword [rsp + 0x4b20]
add rsp, 0x4ad0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret