Function at 0x4b02a0
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1b2c
call fcn.004d9280
mov eax, dword [0x4f72bc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x18
mov esi, ecx
xor edi, edi
push str.LastScanTime
push str.SoftwareBillP_StudiosWinPatrolFileSizeMonitor
lea ecx, [ebp - 0x30]
mov edx, 0x80000001
mov dword [ebp - 0x1b28], esi
mov dword [ebp - 0x1ae8], edi
mov dword [ebp - 0x1ae4], edi
call fcn.004bff10
add esp, 0xc
cmp byte [ebp - 0x30], 0
je 0x4b094d
push 0x200
push str.LastScanTime
push str.TotalFileCount
lea ecx, [ebp - 0x6c0]
mov edx, 0x80000001
call fcn.004bff10
add esp, 0xc
push 0xa
lea eax, [ebp - 0x6c0]
push edi
push eax
call fcn.004cfdf6
add esp, 0xc
test eax, eax
js 0x4b094d
push 0x7f02
push edi
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
push 0x3e8
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push edi
push edi
mov esi, eax
push 0x1009
push esi
mov dword [ebp - 0x1aec], esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [0x4fb798]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4b038b
mov edx, dword [0x4fb798]
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_Destroy]
mov dword [0x4fb798], edi
push esi
mov edi, 1
call fcn.004b89d0
add esp, 4
push 0x80
lea edx, [ebp - 0x2c0]
mov ecx, 0x2da
call fcn.004ca1e0
add esp, 4
lea ecx, [ebp - 0x1ae8]
call fcn.004c3d50
mov ebx, dword [ebp - 0x1ae8]
test ebx, ebx
je 0x4b0894
cmp byte [ebx], 0
je 0x4b0894
add ebx, 0x180
lea esp, [esp]
cmp dword [ebp - 0x1ae4], 0x7d0
jge 0x4b0894
lea eax, [ebp - 0x1980]
xor edi, edi
mov dword [ebp - 0x1af0], 0xffffffff
mov dword [ebp - 0x1ae8], eax
jmp 0x4b0416
mov eax, dword [ebp - 0x1ae8]
cmp byte [eax], 0
je 0x4b0453
push eax
push ebx
call fcn.004d1288
add esp, 8
test eax, eax
je 0x4b043b
add dword [ebp - 0x1ae8], 0x18
inc edi
cmp edi, 0xc8
jl 0x4b0410
jmp 0x4b0453
lea eax, [edi + edi*2]
mov eax, dword [ebp + eax*8 - 0x196c]
mov dword [ebp - 0x1af0], eax
test eax, eax
jns 0x4b050c
push 0x15c
lea ecx, [ebp - 0x1adc]
push 0
push ecx
mov dword [ebp - 0x1ae0], 0
call fcn.004d29c0
add esp, 0xc
push ebx
lea edx, [ebp - 0x4c0]
push 0x4f19e4
push edx
call fcn.004d0d1c
add esp, 0xc
push 0x111
push 0x160
lea eax, [ebp - 0x1ae0]
push eax
push 0x80
lea ecx, [ebp - 0x4c0]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
test eax, eax
je 0x4b050c
mov edx, dword [ebp - 0x1ae0]
mov eax, dword [0x4fb79c]
push edx
push 0xffffffffffffffff
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
mov dword [ebp - 0x1af0], eax
cmp edi, 0xc8
jge 0x4b04ff
lea edi, [edi + edi*2]
add edi, edi
add edi, edi
add edi, edi
mov edx, edi
sub edx, ebx
mov ecx, ebx
lea eax, [ebp + edx - 0x1980]
mov dl, byte [ecx]
mov byte [eax + ecx], dl
inc ecx
test dl, dl
jne 0x4b04e8
mov eax, dword [ebp - 0x1af0]
mov dword [ebp + edi - 0x196c], eax
mov ecx, dword [ebp - 0x1ae0]
push ecx
call dword [sym.imp.USER32.dll_DestroyIcon]
mov ecx, dword [ebp - 0x1af0]
xor eax, eax
lea edx, [ebx - 0x180]
mov dword [ebp - 0x1b24], 7
mov dword [ebp - 0x1b00], 1
mov dword [ebp - 0x1b18], eax
mov dword [ebp - 0x1b14], eax
mov dword [ebp - 0x1b1c], eax
mov dword [ebp - 0x1b10], edx
cmp ecx, eax
jle 0x4b057a
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x1b08], ecx
mov ecx, dword [ebp - 0x1ae4]
mov dword [ebp - 0x1b20], ecx
mov dword [ebp - 0x1b04], ecx
lea ecx, [ebp - 0x1b24]
push ecx
push eax
push 0x1007
push esi
call edi
jmp 0x4b05ac
mov ecx, dword [ebp - 0x1ae4]
mov dword [ebp - 0x1b20], ecx
mov dword [ebp - 0x1b04], ecx
lea ecx, [ebp - 0x1b24]
push ecx
push eax
push 0x1007
push esi
mov dword [ebp - 0x1b08], eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x1ae4]
lea eax, [ebp - 0x1b24]
push eax
push ecx
push 0x102e
lea edx, [ebx - 0x100]
push esi
mov dword [ebp - 0x1b1c], 1
mov dword [ebp - 0x1b10], edx
call edi
mov eax, dword [ebp - 0x1ae4]
lea edx, [ebp - 0x1b24]
push edx
push eax
push 0x102e
push esi
mov dword [ebp - 0x1b1c], 2
mov dword [ebp - 0x1b10], ebx
call edi
mov eax, dword [ebx + 0x20]
shr eax, 0x14
test eax, eax
je 0x4b061f
push eax
lea ecx, [ebp - 0x138]
push str._lu_MB
push ecx
call fcn.004d0d1c
add esp, 0xc
jmp 0x4b0633
lea edx, [ebp - 0x138]
push str.LESS_THAN_1MB
push edx
call fcn.004d0d1c
add esp, 8
mov edx, dword [ebp - 0x1ae4]
lea ecx, [ebp - 0x1b24]
push ecx
push edx
push 0x102e
lea eax, [ebp - 0x138]
push esi
mov dword [ebp - 0x1b1c], 3
mov dword [ebp - 0x1b10], eax
call edi
mov ecx, dword [ebx + 0x18]
xor edx, edx
mov eax, ecx
mov esi, 0x2710
div esi
push eax
mov edi, edx
xor edx, edx
mov eax, ecx
mov ecx, 0x64
div ecx
mov eax, 0x51eb851f
push edx
mul edi
shr edx, 5
push edx
lea edx, [ebp - 0x138]
push str._02d__02d__04d
push edx
call fcn.004d0d1c
mov ecx, dword [ebx + 0x1c]
xor edx, edx
mov eax, ecx
mov esi, 0x64
div esi
mov eax, ecx
mov ecx, 0x2710
add esp, 0x14
mov esi, edx
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x51eb851f
mul edx
mov eax, ecx
mov edi, edx
xor ecx, ecx
shr edi, 5
cmp eax, 0xc
setge cl
test eax, eax
jne 0x4b06d7
mov eax, 0xc
test ecx, ecx
je 0x4b06f4
cmp eax, 0xc
jle 0x4b06e3
sub eax, 0xc
push esi
push edi
push eax
push str._02d:_02d:_02d_PM
lea edx, [ebp - 0x240]
push edx
jmp 0x4b0703
push esi
push edi
push eax
push str._02d:_02d:_02d_AM
lea eax, [ebp - 0x240]
push eax
call fcn.004d0d1c
lea eax, [ebp - 0x240]
add esp, 0x14
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b0713
lea edi, [ebp - 0x138]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b0723
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x1ae4]
and ecx, 3
lea edx, [ebp - 0x1b24]
push edx
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x138]
push eax
mov dword [ebp - 0x1b10], ecx
mov ecx, dword [ebp - 0x1aec]
push 0x102e
push ecx
mov dword [ebp - 0x1b1c], 4
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebx + 0x10]
xor edx, edx
mov eax, ecx
mov esi, 0x2710
div esi
push eax
mov esi, edx
xor edx, edx
mov eax, ecx
mov ecx, 0x64
div ecx
mov eax, 0x51eb851f
push edx
mul esi
shr edx, 5
push edx
lea edx, [ebp - 0x138]
push str._02d__02d__04d
push edx
call fcn.004d0d1c
mov ecx, dword [ebx + 0x14]
xor edx, edx
mov eax, ecx
mov esi, 0x64
div esi
mov eax, ecx
mov ecx, 0x2710
add esp, 0x14
mov edi, edx
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x51eb851f
mul edx
mov eax, ecx
mov esi, edx
xor ecx, ecx
shr esi, 5
cmp eax, 0xc
setge cl
test eax, eax
jne 0x4b07e7
mov eax, 0xc
push edi
push esi
push eax
test ecx, ecx
je 0x4b07fc
push str._02d:_02d:_02d_PM
lea edx, [ebp - 0x240]
push edx
jmp 0x4b0808
push str._02d:_02d:_02d_AM
lea eax, [ebp - 0x240]
push eax
call fcn.004d0d1c
lea eax, [ebp - 0x240]
add esp, 0x14
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b0818
lea edi, [ebp - 0x138]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4b0828
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x1aec]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x1ae4]
lea edx, [ebp - 0x1b24]
push edx
push esi
push 0x102e
lea ecx, [ebp - 0x138]
push eax
mov dword [ebp - 0x1b1c], 5
mov dword [ebp - 0x1b10], ecx
call dword [sym.imp.USER32.dll_SendMessageA]
inc esi
add ebx, 0x1ac
cmp byte [ebx - 0x180], 0
mov dword [ebp - 0x1ae4], esi
mov esi, dword [ebp - 0x1aec]
jne 0x4b03e0
xor eax, eax
push 0x14
push str.SortingIndex
push str.SoftwareBillP_StudiosWinPatrolFileSizeMonitor
lea ecx, [ebp - 0x18]
mov edx, 0x80000001
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x17], eax
mov dword [ebp - 0x13], eax
mov dword [ebp - 0xf], eax
mov dword [ebp - 0xb], eax
mov word [ebp - 7], ax
mov byte [ebp - 5], al
call fcn.004bff10
add esp, 0xc
cmp byte [ebp - 0x18], 0
je 0x4b0929
push 0xa
lea ecx, [ebp - 0x18]
push 0
push ecx
call fcn.004cfdf6
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
mov eax, dword [ebp - 0x1b28]
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, edi
imul edx, edx, 0x64
sub ecx, edx
add esp, 0xc
push ecx
mov dword [edi*4 + 0x5062bc], ecx
mov ecx, dword [0x506de8]
push edi
push eax
call fcn.004bc080
add esp, 0xc
push 0x4bbcb0
push edi
push 0x1030
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x20
push 0
push 0x1036
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004cf2b6
mov esp, ebp
pop ebp
ret