Function at 0x440d50
Capabilities:
Get file system object information

Disassembly:
mov eax, 0x24d8
call fcn.004ebbf0
mov eax, dword [0x528af4]
xor eax, esp
mov dword [esp + 0x24d4], eax
mov edx, dword [esp + 0x24dc]
push ebx
push ebp
push esi
mov esi, ecx
xor ecx, ecx
push edi
mov edi, 0x64
xor eax, eax
mov edi, edi
cmp dword [eax + 0x525e80], edx
je 0x440d95
add eax, 0x1c
inc ecx
cmp eax, 0xc4
jb 0x440d80
jmp 0x440da5
lea eax, [ecx*8]
sub eax, ecx
mov edi, dword [eax*4 + 0x525e84]
cmp byte [0x53898c], 0
mov ebx, str.ArcSort
jne 0x440db8
mov ebx, str.FileSort
push 0
push ebx
push str.FileList
call fcn.0049fd30
cmp edi, eax
jne 0x440dcc
or edi, 0x20
push 0
push 0x50c6e8
push str.FileList
call fcn.0049fd30
test eax, eax
je 0x440de7
or edi, 0x80
and edi, 0x3f
push edi
push ebx
push str.FileList
call fcn.004a08f0
cmp byte [0x53898c], 0
mov eax, str.ArcSort
jne 0x440e09
mov eax, str.FileSort
push 0
push eax
push str.FileList
call fcn.0049fd30
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov ebp, eax
mov ecx, ebp
and cl, 0x1f
cmp cl, 2
jne 0x440fce
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 4
push eax
xor edi, edi
push edi
push 0x104b
push dword [esi + 0x28]
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call ebx
test eax, eax
je 0x440fce
jmp 0x440e60
push dword [esp + 0x60]
mov ecx, 0x562e30
call fcn.0043d380
mov dword [esp + 0x8c], 0x50
mov dword [eax + 4], edi
xor eax, eax
mov word [esp + 0x1444], ax
movzx eax, byte [0x53898c]
add eax, 2
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x1444]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x74]
push eax
push edi
push 0x1073
push dword [esi + 0x28]
call ebx
cmp word [esp + 0x1444], 0
jne 0x440fa0
push dword [esp + 0x60]
lea eax, [esp + 0x360]
mov ecx, 0x562e30
push eax
call fcn.0043d1b0
push 0x410
push 0x2b4
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x1400]
lea eax, [esp + 0x36c]
push eax
call fcn.00478eb0
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test eax, eax
je 0x440fa0
cmp word [esp + 0x2bc], 0
jne 0x440f74
lea eax, [esp + 0x35c]
push eax
call fcn.00478260
test eax, eax
je 0x440f55
push 0x800
add eax, 2
push eax
lea eax, [esp + 0x14ec]
push eax
call fcn.0048e710
lea eax, [esp + 0x14e4]
push eax
call fcn.00491ba0
lea eax, [esp + 0x14e4]
push eax
jmp 0x440f5a
push 0x50b8c4
push 0x69
call fcn.00488530
push eax
lea eax, [esp + 0x2c4]
push 0x50
push eax
call fcn.004028e0
add esp, 0x10
movzx eax, byte [0x53898c]
add eax, 2
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x2bc]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x74]
push eax
push edi
push 0x1074
push dword [esi + 0x28]
call ebx
lea eax, [esp + 0x40]
mov dword [esp + 0x48], 0
push eax
push 0
push 0x104b
push dword [esi + 0x28]
inc edi
mov dword [esp + 0x50], 4
mov dword [esp + 0x54], edi
call ebx
test eax, eax
jne 0x440e60
push 1
push str.ArchivesFirst
push str.FileList
call fcn.0049fd30
test eax, eax
je 0x440fe6
or ebp, 0x40
push 0
push 0x50c6e8
push str.FileList
call fcn.0049fd30
test eax, eax
je 0x441001
or ebp, 0x80
push 0x43e520
push ebp
push 0x1030
push dword [esi + 0x28]
call ebx
cmp dword [esi + 0x2c], 0
je 0x441151
mov eax, ebp
xor ecx, ecx
shr eax, 5
and ebp, 0x1f
and eax, 0xffffff01
mov dword [esp + 0x10], eax
xor eax, eax
cmp dword [eax + 0x525e84], ebp
je 0x441048
add eax, 0x1c
inc ecx
cmp eax, 0xc4
jb 0x441030
or ebp, 0xffffffff
jmp 0x441058
lea eax, [ecx*8]
sub eax, ecx
mov ebp, dword [eax*4 + 0x525e80]
push 0
push 0
push 0x1000
push dword [esi + 0x28]
call ebx
test eax, 0xffffff
je 0x44107a
push 0
push ebp
push 0x108c
push dword [esi + 0x28]
call ebx
mov dword [esp + 0x14], 4
xor edi, edi
lea eax, [esp + 0x14]
push eax
push edi
push 0x120b
push dword [esi + 0x2c]
call ebx
test eax, eax
je 0x4410c4
mov eax, dword [esp + 0x28]
test eax, 0xe00
jne 0x4410ab
inc edi
cmp edi, 0x10
jl 0x441084
jmp 0x4410c4
and eax, 0xffffe1ff
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
push eax
push edi
push 0x120c
push dword [esi + 0x2c]
call ebx
call fcn.0046bee0
cmp eax, 0x600
jb 0x441103
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 4
push eax
push ebp
push 0x120b
push dword [esi + 0x2c]
call ebx
mov ecx, dword [esp + 0x10]
movzx eax, cl
neg eax
sbb eax, eax
and eax, 0xfffffe00
add eax, 0x400
or dword [esp + 0x28], eax
jmp 0x441141
push dword [esi + 0x30]
mov dword [esp + 0x18], 0x24
push 0
push 0x1208
push dword [esi + 0x2c]
call ebx
lea eax, [esp + 0x14]
push eax
push ebp
push 0x120b
push dword [esi + 0x2c]
call ebx
or dword [esp + 0x28], 0x1800
xor eax, eax
mov ecx, dword [esp + 0x10]
test cl, cl
setne al
mov dword [esp + 0x30], eax
lea eax, [esp + 0x14]
push eax
push ebp
push 0x120c
push dword [esi + 0x2c]
call ebx
push 1
push 0xffffffffffffffff
push 0x100c
push dword [esi + 0x28]
call ebx
push 0
push eax
push 0x1013
push dword [esi + 0x28]
call ebx
mov ecx, dword [esp + 0x24e4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004ebbd8
add esp, 0x24d8
ret 4