Function at 0x48f810
Capabilities:
Get file system object information

Disassembly:
push 0xffffffffffffffff
push 0x4f6f26
mov eax, dword fs:[0]
push eax
mov eax, 0x4ae8
call fcn.004df2e0
mov eax, dword [0x50fb70]
xor eax, esp
mov dword [esp + 0x4ae4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x50fb70]
xor eax, esp
push eax
lea eax, [esp + 0x4afc]
mov dword fs:[0], eax
mov eax, dword [esp + 0x4b0c]
inc dword [0x534434]
mov ebp, ecx
mov dword [esp + 0x60], eax
xor ebx, ebx
mov dword [esp + 0x4b04], ebx
mov ecx, dword [ebp]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push 0xffffffffffffffff
push 0x100c
push ecx
call edi
push 1
mov ecx, 0x5354e0
mov dword [esp + 0x28], eax
call fcn.0049d420
push 0x1c4
call fcn.004610c0
push eax
mov ecx, 0x5354e0
call fcn.0049d490
mov edx, dword [ebp]
push ebx
push ebx
push 0xb
push edx
call edi
mov ecx, ebp
call fcn.0048dd90
push 0x4011
push 0x2b4
lea eax, [esp + 0x15c0]
push eax
push ebx
push str.file
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov ecx, dword [ebp]
push eax
push 1
push 0x1003
push ecx
call edi
mov ecx, 0x53fd00
call fcn.00475e60
lea edx, [esp + 0xcc]
push edx
mov ecx, 0x541e38
call fcn.00478280
cmp byte [esp + 0x14c], bl
je 0x48f938
cmp byte [esp + 0x218], bl
je 0x48f938
cmp byte [esp + 0x167], bl
jne 0x48f938
mov eax, dword [esp + 0x1fc]
cmp eax, 3
je 0x48f92a
cmp eax, 2
jne 0x48f93f
mov eax, 4
mov dword [esp + 0x1fc], eax
jmp 0x48f93f
mov eax, dword [esp + 0x1fc]
sub eax, 1
mov dword [esp + 0xac], 4
mov ecx, 0x73
je 0x48f96a
sub eax, 2
je 0x48f963
sub eax, 1
jne 0x48f96f
lea ecx, [eax + 0x76]
jmp 0x48f96f
mov ecx, 0x75
jmp 0x48f96f
mov ecx, 0x74
push ecx
call fcn.004610c0
mov ecx, dword [ebp]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0xac]
push eax
push 5
push 0x1060
push ecx
call edi
push 0x800
lea edx, [esp + 0x2afc]
push edx
mov ecx, 0x541e38
call fcn.00478230
lea eax, [esp + 0x2af8]
push eax
mov ecx, ebp
call fcn.0048b880
lea eax, [esp + 0x2af8]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x48f9c1
sub eax, edx
sar eax, 1
mov esi, eax
je 0x48f9d5
inc esi
lea ecx, [esp + 0x2af8]
push ecx
mov ecx, 0x53fcf0
call fcn.004a25a0
push 1
push str.AllowUppercase
push str.FileList
mov dword [esp + 0x24], ebx
call fcn.00496520
push ebx
push str.FlatView
test eax, eax
push str.FileList
setne byte [esp + 0x23]
call fcn.00496520
push ebx
push str.ShowSeconds
test eax, eax
push str.FileList
setne byte [esp + 0x28]
call fcn.00496520
test eax, eax
setne dl
xor eax, eax
push 0x1f4
lea ecx, [esp + 0xa0]
mov byte [esp + 0x24], dl
mov dword [esp + 0x12b0], ebx
mov dword [esp + 0x12b4], ebx
mov word [esp + 0x3afc], ax
call fcn.004ae150
mov byte [esp + 0x4b04], 1
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x220]
push edx
mov ecx, 0x541e38
call fcn.00477f50
test al, al
je 0x49005f
lea eax, [esp + esi*2 + 0x21c]
mov dword [esp + 0x64], eax
test byte [esp + 0x18], 0x1f
jne 0x48faa1
lea ecx, [esp + 0x9c]
call fcn.004ad8c0
mov eax, dword [esp + 0x12b4]
mov ebx, dword [esp + 0x64]
shr eax, 4
and al, 1
cmp byte [esp + 0x1c], 0
mov byte [esp + 0x16], al
je 0x48facf
lea ecx, [esp + 0x21c]
push ecx
call fcn.00450f20
mov ebx, eax
mov al, byte [esp + 0x16]
test al, al
je 0x48fb6d
cmp byte [esp + 0x1c], 0
jne 0x48fb6d
test byte [esp + 0x12f4], 0x20
je 0x48fc26
lea ecx, [esp + 0x3af8]
mov eax, ebx
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x48fb26
test dx, dx
je 0x48fb22
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x48fb26
add eax, 4
add ecx, 4
test dx, dx
jne 0x48fb00
xor eax, eax
jmp 0x48fb2b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x49003e
lea edx, [esp + 0x3af8]
mov eax, ebx
sub edx, ebx
mov edi, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x48fb40
push 1
push 0
lea edx, [esp + 0x224]
push edx
mov ecx, 0x55f800
call fcn.0048b530
test al, al
jne 0x49003e
mov edx, dword [esp + 0x12f4]
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x68], 7
mov dword [esp + 0x6c], eax
mov dword [esp + 0x84], 0xffffffff
mov dword [esp + 0x70], 0
mov word [esp + 0x2954], cx
test dl, 1
je 0x48fbcf
lea eax, [esp + 0x2954]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x48fbb0
mov ecx, dword [0x4fdb1c]
mov dword [eax], ecx
mov cx, word [0x4fdb20]
mov word [eax + 4], cx
and edx, 6
mov eax, edx
je 0x48fd3c
sub eax, 2
je 0x48fd0a
sub eax, 2
je 0x48fcd3
sub eax, 2
jne 0x48fd3c
lea eax, [esp + 0x2954]
add eax, 0xfffffffe
nop
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x48fc00
mov edx, dword [0x4fdb10]
mov ecx, dword [0x4fdb14]
mov dword [eax], edx
mov dx, word [0x4fdb18]
jmp 0x48fd35
push 1
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x224]
push ecx
mov ecx, 0x55f800
call fcn.0048b530
test al, al
je 0x48fb6d
mov edx, dword [esp + 0x12ac]
or edx, dword [esp + 0x12b0]
je 0x49003e
mov eax, dword [esp + 0x28]
push eax
mov ecx, 0x55f800
call fcn.0048b5a0
mov ecx, dword [esp + 0x12ac]
mov dword [eax + 0x20], ecx
mov edx, dword [esp + 0x12b0]
mov dword [eax + 0x24], edx
mov ecx, dword [esp + 0x12b4]
push 0x64
mov dword [eax + 0x18], ecx
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x296c]
push edx
push eax
lea ecx, [esp + 0x12b8]
push ecx
mov ecx, ebp
call fcn.0048d4f0
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x2c]
push eax
lea edx, [esp + 0x296c]
push ecx
mov dword [esp + 0x48], edx
mov edx, dword [ebp]
push 0x1074
push edx
mov dword [esp + 0x44], 4
call edi
jmp 0x49003e
lea eax, [esp + 0x2954]
add eax, 0xfffffffe
lea ecx, [ecx]
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x48fce0
mov ecx, dword [0x4fdb04]
mov edx, dword [0x4fdb08]
mov dword [eax], ecx
mov cx, word [0x4fdb0c]
mov dword [eax + 4], edx
mov word [eax + 8], cx
jmp 0x48fd3c
lea eax, [esp + 0x2954]
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x48fd14
mov edx, dword [0x4fdaf8]
mov ecx, dword [0x4fdafc]
mov dword [eax], edx
mov dx, word [0x4fdb00]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x12f8], eax
lea eax, [esp + 0x21c]
push eax
mov ecx, 0x55f800
call fcn.0048b3a0
lea ecx, [esp + 0x21c]
push ecx
mov ecx, ebp
mov dword [esp + 0x8c], eax
call fcn.0048b880
cmp byte [esp + 0x17], 0
jne 0x48fd81
push ebx
call fcn.00492a30
mov eax, ebx
mov dword [esp + 0x7c], ebx
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x48fd90
sub eax, edx
sar eax, 1
mov edi, eax
lea eax, [esp + 0x2954]
mov ecx, eax
lea ebx, [ebx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x48fdb0
lea edi, [ebx + edi*2]
sub eax, ecx
mov esi, ecx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x48fdc5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [esp + 0x68]
push edx
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x104d
push eax
call edi
mov bl, byte [esp + 0x16]
mov esi, eax
test bl, bl
jne 0x48feee
mov eax, dword [esp + 0x129c]
mov ecx, dword [esp + 0x12a0]
cmp eax, 0x7fffffff
jne 0x48fe49
cmp ecx, 0x7fffffff
jne 0x48fe49
xor eax, eax
jmp 0x48fe30
movzx ecx, word [eax + 0x4fdaf4]
mov word [esp + eax + 0x2968], cx
add eax, 2
test cx, cx
jne 0x48fe30
jmp 0x48fe5a
push 0x32
lea edx, [esp + 0x296c]
push edx
push ecx
push eax
call fcn.0049d790
mov edx, dword [ebp]
lea ecx, [esp + 0x2c]
push ecx
push esi
push 0x1074
lea eax, [esp + 0x2974]
push edx
mov dword [esp + 0x44], 1
mov dword [esp + 0x50], eax
call edi
mov eax, dword [esp + 0x12a4]
mov ecx, dword [esp + 0x12a8]
cmp eax, 0x7fffffff
jne 0x48feb9
cmp ecx, 0x7fffffff
jne 0x48feb9
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [eax + 0x4fdaf4]
mov word [esp + eax + 0x2968], cx
add eax, 2
test cx, cx
jne 0x48fea0
jmp 0x48feca
push 0x32
lea edx, [esp + 0x296c]
push edx
push ecx
push eax
call fcn.0049d790
mov edx, dword [ebp]
lea ecx, [esp + 0x2c]
push ecx
push esi
push 0x1074
lea eax, [esp + 0x2974]
push edx
mov dword [esp + 0x44], 2
mov dword [esp + 0x50], eax
call edi
mov eax, dword [esp + 0x12ac]
or eax, dword [esp + 0x12b0]
je 0x48ff1e
mov edx, dword [esp + 0x20]
push 0x64
lea ecx, [esp + 0x2a34]
push ecx
push edx
lea eax, [esp + 0x12b8]
push eax
mov ecx, ebp
call fcn.0048d4f0
jmp 0x48ff37
xor eax, eax
movzx ecx, word [eax + 0x4f9a98]
mov word [esp + eax + 0x2a30], cx
add eax, 2
test cx, cx
jne 0x48ff20
mov eax, dword [ebp]
lea edx, [esp + 0x2c]
push edx
push esi
push 0x1074
lea ecx, [esp + 0x2a3c]
push eax
mov dword [esp + 0x44], 4
mov dword [esp + 0x50], ecx
call edi
mov eax, dword [esp + 0x12c0]
test eax, eax
je 0x48ffeb
test bl, bl
jne 0x48ffeb
cmp dword [esp + 0x12e4], 0
jne 0x48ffeb
cmp eax, 3
jne 0x48ff9a
push 0x41
lea ecx, [esp + 0x296c]
push ecx
push 0
push 0x20
lea edx, [esp + 0x12d4]
push edx
call fcn.00466790
jmp 0x48ffc7
cmp eax, 1
mov eax, str._04X
je 0x48ffa9
mov eax, str._08X
mov ecx, dword [esp + 0x12c4]
push ecx
push eax
lea edx, [esp + 0x2970]
push edx
mov edx, 0x41
call fcn.00493540
add esp, 0xc
mov edx, dword [ebp]
lea ecx, [esp + 0x2c]
push ecx
push esi
push 0x1074
lea eax, [esp + 0x2974]
push edx
mov dword [esp + 0x44], 5
mov dword [esp + 0x50], eax
call edi
cmp byte [esp + 0x1c], 0
je 0x490030
push 0x800
lea eax, [esp + 0x1870]
push eax
lea ecx, [esp + 0x224]
push ecx
call fcn.004511c0
mov ecx, dword [ebp]
lea eax, [esp + 0x2c]
push eax
push esi
push 0x1074
lea edx, [esp + 0x1878]
push ecx
mov dword [esp + 0x44], 6
mov dword [esp + 0x50], edx
call edi
mov edx, dword [esp + 0x18]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x220]
push ecx
mov ecx, 0x541e38
call fcn.00477f50
test al, al
jne 0x48fa8e
xor ebx, ebx
push 0x4411
push 0x2b4
lea edx, [esp + 0x130c]
push edx
push 0x10
push 0x4fdad4
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov esi, eax
mov dword [esp + 0x68], 5
cmp esi, ebx
je 0x490094
mov dword [esp + 0x68], 7
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1308]
push 0x10e8
lea edx, [esp + 0x1870]
push ebx
push edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x88], 0x4fa450
call fcn.004e01d0
add esp, 0xc
xor eax, eax
movzx ecx, word [eax + 0x4fa450]
mov word [esp + eax + 0x186c], cx
add eax, 2
cmp cx, bx
jne 0x4900d1
lea eax, [esp + 0x186c]
push eax
mov ecx, 0x55f800
mov dword [esp + 0x2908], 0x10
call fcn.0048b3a0
mov edx, dword [ebp]
lea ecx, [esp + 0x68]
push ecx
push ebx
push 0x104d
push edx
mov dword [esp + 0x98], eax
call edi
cmp esi, ebx
mov esi, 3
je 0x490146
lea edx, [esp + 0x2c]
push edx
push eax
mov eax, dword [ebp]
push 0x1074
lea ecx, [esp + 0x1524]
push eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], ecx
call edi
mov ecx, 0x55f800
call fcn.0048b500
mov ecx, ebp
call fcn.0048e120
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x49019d
cmp word [eax], bx
je 0x49019d
push eax
mov ecx, ebp
call fcn.0048f6b0
test al, al
jne 0x4901b6
mov ecx, dword [ebp]
push ebx
push ebx
push 0x1004
push ecx
call edi
cmp eax, ebx
mov ecx, dword [esp + 0x24]
jle 0x49018c
cmp ecx, eax
jl 0x49018c
lea ecx, [eax - 1]
mov eax, dword [ebp]
lea edx, [esp + 0x2c]
push edx
push ecx
push 0x102b
push eax
jmp 0x4901ac
mov edx, dword [ebp]
lea ecx, [esp + 0x2c]
push ecx
push ebx
push 0x102b
push edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], esi
call edi
mov eax, dword [ebp]
push ebx
push 1
push 0xb
push eax
call edi
mov ecx, dword [ebp]
push ebx
push ebx
push 0x102a
push ecx
call edi
push ebx
mov ecx, 0x5354e0
call fcn.0049d490
mov ecx, ebp
call fcn.0048e9c0
mov ecx, ebp
call fcn.0048bdf0
mov ecx, 0x545754
call fcn.0049fc50
push ebx
mov ecx, 0x5354e0
call fcn.0049d420
mov byte [esp + 0x4b04], 0
lea ecx, [esp + 0x9c]
call fcn.004ad900
mov dword [esp + 0x4b04], 0xffffffff
cmp dword [0x534434], ebx
jle 0x490229
dec dword [0x534434]
mov ecx, dword [esp + 0x4afc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4ae4]
xor ecx, esp
call fcn.004df2c4
add esp, 0x4af4
ret 4