Function at 0x4e035c
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x34
push 0
push 0
dec ecx
jne 0x4e0364
push ebx
push esi
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
call fcn.004046b8
xor eax, eax
push ebp
push 0x4e08ea
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.004e9180
mov edx, dword [ebp - 4]
mov eax, 0x4e0904
call fcn.0040480c
mov ebx, eax
test ebx, ebx
jle 0x4e03b8
lea eax, [ebp - 8]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00404728
test ebx, ebx
jle 0x4e04a5
mov eax, dword [ebp - 8]
call fcn.00409000
test al, al
je 0x4e04a5
lea edx, [ebp - 0x174]
mov eax, dword [ebp - 4]
call fcn.00408774
mov edx, dword [ebp - 0x174]
mov eax, 0x4e0910
call fcn.0040480c
test eax, eax
jg 0x4e0418
lea edx, [ebp - 0x178]
mov eax, dword [ebp - 4]
call fcn.00408774
mov edx, dword [ebp - 0x178]
mov eax, 0x4e0920
call fcn.0040480c
test eax, eax
jle 0x4e04a5
xor esi, esi
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 4]
call fcn.004044c8
mov ecx, eax
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
call fcn.00404728
mov eax, dword [ebp - 0xc]
call fcn.004dff2c
test al, al
je 0x4e0449
mov eax, dword [ebp - 0xc]
call fcn.00408c34
mov esi, eax
test esi, esi
jge 0x4e044f
xor esi, esi
push esi
mov eax, dword [ebp - 0x10]
call fcn.004046c8
push eax
mov eax, dword [0x513668]
push eax
call sub.shell32.dll_ExtractIconA
mov ebx, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x88]
call fcn.0046ee08
mov edx, ebx
call fcn.0042dc78
mov esi, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x8c]
call fcn.0046ee08
mov edx, ebx
call fcn.0042dc78
push ebx
call sub.user32.dll_DestroyIcon
jmp 0x4e08bd
mov eax, dword [ebp - 0x10]
call fcn.00409000
test al, al
je 0x4e0550
lea edx, [ebp - 0x17c]
mov eax, dword [ebp - 0x10]
call fcn.00408774
mov edx, dword [ebp - 0x17c]
mov eax, 0x4e0930
call fcn.0040480c
test eax, eax
jne 0x4e0550
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 4]
call fcn.00408774
mov edx, dword [ebp - 0x180]
mov eax, 0x4e0940
call fcn.0040480c
test eax, eax
jne 0x4e0550
push 0
mov eax, dword [ebp - 0x10]
call fcn.004046c8
push eax
mov eax, dword [0x513668]
push eax
call sub.shell32.dll_ExtractIconA
mov ebx, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x88]
call fcn.0046ee08
mov edx, ebx
call fcn.0042dc78
mov esi, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x8c]
call fcn.0046ee08
mov edx, ebx
call fcn.0042dc78
push ebx
call sub.user32.dll_DestroyIcon
jmp 0x4e08bd
lea edx, [ebp - 0x184]
mov eax, dword [ebp - 4]
call fcn.00408774
mov edx, dword [ebp - 0x184]
mov eax, 0x4e0930
call fcn.0040480c
test eax, eax
jle 0x4e07c3
mov edx, dword [ebp - 4]
mov eax, 0x4e0954
call fcn.0040480c
test eax, eax
jle 0x4e07c3
mov edx, dword [ebp - 4]
mov eax, 0x4e0954
call fcn.0040480c
mov ebx, eax
mov edx, dword [ebp - 4]
mov eax, 0x4e0960
call fcn.0040480c
mov esi, eax
cmp ebx, esi
jge 0x4e05ec
lea eax, [ebp - 0x188]
call fcn.004e9f20
push dword [ebp - 0x188]
push 0x4e096c
lea eax, [ebp - 0x18c]
push eax
mov ecx, esi
sub ecx, ebx
inc ecx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00404728
push dword [ebp - 0x18c]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404588
mov eax, dword [ebp - 0x10]
call fcn.00409010
test al, al
je 0x4e0603
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.004dffd4
cmp dword [ebp - 8], 0
je 0x4e0737
lea edx, [ebp - 0x190]
mov eax, dword [ebp - 8]
call fcn.00408774
mov edx, dword [ebp - 0x190]
mov eax, 0x4e0910
call fcn.0040480c
test eax, eax
jle 0x4e06e0
mov edx, dword [ebp - 8]
mov eax, 0x4e0904
call fcn.0040480c
mov ebx, eax
xor esi, esi
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
call fcn.004044c8
mov ecx, eax
lea edx, [ebx + 1]
mov eax, dword [ebp - 8]
call fcn.00404728
mov eax, dword [ebp - 0xc]
call fcn.004dff2c
test al, al
je 0x4e0673
mov eax, dword [ebp - 0xc]
call fcn.00408c34
mov esi, eax
test esi, esi
jge 0x4e0679
xor esi, esi
push esi
lea edx, [ebp - 0x194]
mov eax, dword [ebp - 8]
call fcn.004e9180
mov eax, dword [ebp - 0x194]
call fcn.004046c8
push eax
mov eax, dword [0x513668]
push eax
call sub.shell32.dll_ExtractIconA
mov ebx, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x88]
call fcn.0046ee08
mov edx, ebx
call fcn.0042dc78
mov esi, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x8c]
call fcn.0046ee08
mov edx, ebx
call fcn.0042dc78
push ebx
call sub.user32.dll_DestroyIcon
jmp 0x4e08bd
push 0
mov eax, dword [ebp - 8]
call fcn.004046c8
push eax
mov eax, dword [0x513668]
push eax
call sub.shell32.dll_ExtractIconA
mov ebx, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x88]
call fcn.0046ee08
mov edx, ebx
call fcn.0042dc78
mov esi, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x8c]
call fcn.0046ee08
mov edx, ebx
call fcn.0042dc78
push ebx
call sub.user32.dll_DestroyIcon
jmp 0x4e08bd
lea eax, [ebp - 0x198]
call fcn.004e9ef8
mov edx, dword [ebp - 0x198]
lea eax, [ebp - 0x10]
mov ecx, 0x4e0980
call fcn.00404514
push pe_nt_image_headers32
push 0x160
lea eax, [ebp - 0x170]
push eax
push 0
mov eax, dword [ebp - 0x10]
call fcn.004046c8
push eax
call sub.shell32.dll_SHGetFileInfoA
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x88]
call fcn.0046ee08
mov edx, dword [ebp - 0x170]
call fcn.0042dc78
mov esi, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x8c]
call fcn.0046ee08
mov edx, dword [ebp - 0x170]
call fcn.0042dc78
mov eax, dword [ebp - 0x170]
push eax
call sub.user32.dll_DestroyIcon
jmp 0x4e08bd
lea edx, [ebp - 0x19c]
mov eax, dword [ebp - 4]
call fcn.00408774
mov edx, dword [ebp - 0x19c]
mov eax, 0x4e0998
call fcn.0040480c
test eax, eax
jle 0x4e0836
push 0x4e09a4
mov eax, dword [0x513668]
push eax
call sub.user32.dll_LoadIconA
mov ebx, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x88]
call fcn.0046ee08
mov edx, ebx
call fcn.0042dc78
mov esi, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x8c]
call fcn.0046ee08
mov edx, ebx
call fcn.0042dc78
push ebx
call sub.user32.dll_DestroyIcon
jmp 0x4e08bd
lea eax, [ebp - 0x1a0]
call fcn.004e9ef8
mov edx, dword [ebp - 0x1a0]
lea eax, [ebp - 0x10]
mov ecx, 0x4e0980
call fcn.00404514
push pe_nt_image_headers32
push 0x160
lea eax, [ebp - 0x170]
push eax
push 0
mov eax, dword [ebp - 0x10]
call fcn.004046c8
push eax
call sub.shell32.dll_SHGetFileInfoA
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x88]
call fcn.0046ee08
mov edx, dword [ebp - 0x170]
call fcn.0042dc78
mov esi, eax
mov eax, dword [0x5129d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x8c]
call fcn.0046ee08
mov edx, dword [ebp - 0x170]
call fcn.0042dc78
mov eax, dword [ebp - 0x170]
push eax
call sub.user32.dll_DestroyIcon
mov ebx, esi
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4e08f1
lea eax, [ebp - 0x1a0]
mov edx, 0xc
call fcn.0040422c
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.0040422c