Function at 0x40cfbf
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push 0x10
call fcn.004660a9
add esp, 4
mov dword [ebp - 4], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
push 0x14
call fcn.004660a9
add esp, 4
mov dword [ebp - 8], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
add ebx, 0xc
push ebx
push 0x108
call fcn.004660a9
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4b91ac
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x40
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x58
call fcn.004660a9
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4b91b4
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x14
rep stosd dword es:[edi], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebx], 1
mov dword [ebp - 0x14], esp
push 0
push dword [ebp - 4]
push 0x4c0ca4
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d0ab
push 6
call fcn.004660af
add esp, 4
mov dword [ebp - 0x14], esp
push 0
call dword [0x4c0d4c]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d0cf
push 6
call fcn.004660af
add esp, 4
mov dword [0x4c0ca8], eax
mov dword [ebp - 0x14], esp
push 0x81
push dword [0x4c0ca8]
call dword [0x4c0d50]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d0fe
push 6
call fcn.004660af
add esp, 4
mov dword [0x4c0cac], eax
cmp dword [0x4c0cac], 0
jne 0x40d2ef
mov dword [ebp - 0x14], esp
push 0x80
push dword [0x4c0ca8]
call dword [0x4c0d50]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d13a
push 6
call fcn.004660af
add esp, 4
mov dword [0x4c0cac], eax
cmp dword [0x4c0cac], 0
jne 0x40d2ef
mov dword [ebp - 0x14], esp
push str.DEFAULT_ICON
push dword [0x4c0ca8]
call dword [0x4c0d54]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d176
push 6
call fcn.004660af
add esp, 4
mov dword [0x4c0cac], eax
cmp dword [0x4c0cac], 0
jne 0x40d2ef
mov dword [ebp - 0x14], esp
push 0x110
push 0x15c
mov eax, dword [ebp - 8]
push eax
push 0x15c
call fcn.004660a9
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0x80
push str..exe
call dword [sym.imp.SHELL32.dll_SHGetFileInfo]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d220
push 6
call fcn.004660af
add esp, 4
push eax
mov ebx, dword [ebp - 0x18]
push ebx
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00466b80
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40d275
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40d273
imul eax, dword [edi]
jmp 0x40d268
mov ecx, eax
cmp ecx, 0x100
jle 0x40d282
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x100
push ebx
push edi
push 1
mov eax, 2
call fcn.00466b80
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40d2c0
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40d2be
imul eax, dword [edi]
jmp 0x40d2b3
mov ecx, eax
cmp ecx, 0x50
jle 0x40d2ca
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x50
call fcn.004660bb
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx]
mov dword [0x4c0cac], eax
call fcn.0040d81b
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0
push 0
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x1c], 0
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00411c70
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40d32d
push ebx
call fcn.004660bb
add esp, 4
mov eax, dword [ebp - 0x20]
mov dword [0x4c0cb0], eax
push 0x5a
push 0
call fcn.00411ea3
push eax
call fcn.00412025
mov dword [0x4c0cb4], eax
push 0xff
push 0xffffff
call fcn.00411ea3
push eax
call fcn.00412025
mov dword [0x4c0cb8], eax
push 0x96
push 0
call fcn.00411ea3
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], esp
push 0x4c0cbc
push 0
push 0x3f800000
push dword [ebp - 0x14]
call dword [sym.imp.gdiplus.dll_GdipCreatePen1]
nop
nop
nop
nop
cmp dword [ebp - 0x18], esp
je 0x40d3ac
push 6
call fcn.004660af
add esp, 4
push 2
push 1
push 0x41400000
mov eax, 0x4b1983
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.00412073
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40d3df
push ebx
call fcn.004660bb
add esp, 4
mov eax, dword [ebp - 0x18]
mov dword [0x4c0cc0], eax
push 2
push 0
push 0x41400000
mov eax, 0x4b1983
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.00412073
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40d41a
push ebx
call fcn.004660bb
add esp, 4
mov eax, dword [ebp - 0x18]
mov dword [0x4c0cc4], eax
mov dword [ebp - 0x14], esp
push 0x4c0cc8
push 0x804
push 0
call dword [sym.imp.gdiplus.dll_GdipCreateStringFormat]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d450
push 6
call fcn.004660af
add esp, 4
mov dword [ebp - 0x14], esp
push 1
push dword [0x4c0cc8]
call dword [sym.imp.gdiplus.dll_GdipSetStringFormatAlign]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d47a
push 6
call fcn.004660af
add esp, 4
mov dword [ebp - 0x14], esp
push 1
push dword [0x4c0cc8]
call dword [sym.imp.gdiplus.dll_GdipSetStringFormatLineAlign]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d4a4
push 6
call fcn.004660af
add esp, 4
mov dword [ebp - 0x14], esp
push 0x4c0ccc
push 0x804
push 0
call dword [sym.imp.gdiplus.dll_GdipCreateStringFormat]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d4d2
push 6
call fcn.004660af
add esp, 4
mov dword [ebp - 0x14], esp
push 0
push dword [0x4c0ccc]
call dword [sym.imp.gdiplus.dll_GdipSetStringFormatAlign]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d4fc
push 6
call fcn.004660af
add esp, 4
mov dword [ebp - 0x14], esp
push 1
push dword [0x4c0ccc]
call dword [sym.imp.gdiplus.dll_GdipSetStringFormatLineAlign]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d526
push 6
call fcn.004660af
add esp, 4
mov dword [ebp - 0x14], 0
push 0
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x18], 0
push 0
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x1c], 0
push 0
push dword [ebp - 0x1c]
mov eax, 0x4b1988
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call fcn.00412274
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40d570
push ebx
call fcn.004660bb
add esp, 4
mov eax, dword [ebp - 0x24]
mov dword [0x4c0cd0], eax
push 0xd2b30e
push 0x4c0c30
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x18]
mov dword [ebp - 0x14], esp
push 0
call dword [0x4c0d58]
nop
nop
nop
nop
cmp dword [ebp - 0x14], esp
je 0x40d5b0
push 6
call fcn.004660af
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, dword [0x4c0cd4]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], esp
push dword [ebp - 0xc]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
nop
nop
nop
nop
cmp dword [ebp - 0x18], esp
je 0x40d5de
push 6
call fcn.004660af
add esp, 4
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x4c0cd4]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], esp
mov ebx, dword [ebp - 0x14]
push dword [ebx]
push 0
call dword [0x4c0d5c]
nop
nop
nop
nop
cmp dword [ebp - 0x18], esp
je 0x40d615
push 6
call fcn.004660af
add esp, 4
mov eax, 0x4b2a4e
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
call fcn.0041258b
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40d639
push ebx
call fcn.004660bb
add esp, 4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov ebx, dword [0x4c0cd4]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], esp
push dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
push dword [ebx]
call dword [sym.imp.GDI32.dll_SelectObject]
nop
nop
nop
nop
cmp dword [ebp - 0x18], esp
je 0x40d66f
push 6
call fcn.004660af
add esp, 4
mov ebx, dword [0x4c0cd4]
add ebx, 4
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], esp
push 0xa
call dword [0x4c0d60]
nop
nop
nop
nop
cmp dword [ebp - 0x18], esp
je 0x40d69f
push 6
call fcn.004660af
add esp, 4
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x4c0cd4]
add ebx, 0x18
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], esp
push 0xf
call dword [0x4c0d64]
nop
nop
nop
nop
cmp dword [ebp - 0x18], esp
je 0x40d6d4
push 6
call fcn.004660af
add esp, 4
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x4c0cd4]
add ebx, 8
mov dword [ebp - 0x14], ebx
mov ebx, dword [0x4c0cd4]
add ebx, 0x18
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], esp
mov ebx, dword [ebp - 0x18]
push dword [ebx]
call dword [0x4c0d68]
nop
nop
nop
nop
cmp dword [ebp - 0x1c], esp
je 0x40d715
push 6
call fcn.004660af
add esp, 4
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x4c0cd4]
add ebx, 0x18
mov dword [ebp - 0x14], ebx
push 0xff
mov ebx, dword [ebp - 0x14]
push dword [ebx]
call fcn.00411ea3
push eax
call fcn.00412025
mov dword [0x4c0cd8], eax
mov ebx, dword [0x4c0cd4]
add ebx, 0x10
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], esp
push 0xffffff
call dword [0x4c0d68]
nop
nop
nop
nop
cmp dword [ebp - 0x18], esp
je 0x40d770
push 6
call fcn.004660af
add esp, 4
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x4c0cd4]
add ebx, 0xc
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], esp
push 0xd1a04e
call dword [0x4c0d68]
nop
nop
nop
nop
cmp dword [ebp - 0x18], esp
je 0x40d7a5
push 6
call fcn.004660af
add esp, 4
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [0x4c0cd4]
add ebx, 0x14
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], esp
push 0xffe485
call dword [0x4c0d68]
nop
nop
nop
nop
cmp dword [ebp - 0x18], esp
je 0x40d7da
push 6
call fcn.004660af
add esp, 4
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
push ebx
call fcn.004660bb
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004660bb
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004660bb
add esp, 4
pop ebx
call fcn.004660bb
add esp, 4
mov esp, ebp
pop ebp
ret