From ee75d9ae4a890d62b009444bed9512b4dab3ee1d Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Fri, 11 Mar 2016 14:42:30 +0000 Subject: old version git-svn-id: http://svn.miranda-ng.org/main/trunk@16458 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Telegram/tgl/zlib/contrib/README.contrib | 78 - .../Telegram/tgl/zlib/contrib/ada/buffer_demo.adb | 106 - protocols/Telegram/tgl/zlib/contrib/ada/mtest.adb | 156 - protocols/Telegram/tgl/zlib/contrib/ada/read.adb | 156 - protocols/Telegram/tgl/zlib/contrib/ada/readme.txt | 65 - protocols/Telegram/tgl/zlib/contrib/ada/test.adb | 463 -- .../Telegram/tgl/zlib/contrib/ada/zlib-streams.adb | 225 - .../Telegram/tgl/zlib/contrib/ada/zlib-streams.ads | 114 - .../Telegram/tgl/zlib/contrib/ada/zlib-thin.adb | 141 - .../Telegram/tgl/zlib/contrib/ada/zlib-thin.ads | 450 -- protocols/Telegram/tgl/zlib/contrib/ada/zlib.adb | 701 -- protocols/Telegram/tgl/zlib/contrib/ada/zlib.ads | 328 - protocols/Telegram/tgl/zlib/contrib/ada/zlib.gpr | 20 - .../Telegram/tgl/zlib/contrib/amd64/amd64-match.S | 452 -- .../Telegram/tgl/zlib/contrib/asm686/README.686 | 51 - protocols/Telegram/tgl/zlib/contrib/asm686/match.S | 357 - protocols/Telegram/tgl/zlib/contrib/blast/Makefile | 8 - protocols/Telegram/tgl/zlib/contrib/blast/README | 4 - protocols/Telegram/tgl/zlib/contrib/blast/blast.c | 446 -- protocols/Telegram/tgl/zlib/contrib/blast/blast.h | 75 - protocols/Telegram/tgl/zlib/contrib/blast/test.pk | Bin 8 -> 0 bytes protocols/Telegram/tgl/zlib/contrib/blast/test.txt | 1 - .../Telegram/tgl/zlib/contrib/delphi/ZLib.pas | 557 -- .../Telegram/tgl/zlib/contrib/delphi/ZLibConst.pas | 11 - .../Telegram/tgl/zlib/contrib/delphi/readme.txt | 76 - .../Telegram/tgl/zlib/contrib/delphi/zlibd32.mak | 99 - .../tgl/zlib/contrib/dotzlib/DotZLib.build | 33 - .../Telegram/tgl/zlib/contrib/dotzlib/DotZLib.chm | Bin 72726 -> 0 bytes .../Telegram/tgl/zlib/contrib/dotzlib/DotZLib.sln | 21 - .../zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs | 58 - .../zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs | 202 - .../zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs | 83 - .../tgl/zlib/contrib/dotzlib/DotZLib/CodecBase.cs | 198 - .../tgl/zlib/contrib/dotzlib/DotZLib/Deflater.cs | 106 - .../tgl/zlib/contrib/dotzlib/DotZLib/DotZLib.cs | 288 - .../zlib/contrib/dotzlib/DotZLib/DotZLib.csproj | 141 - .../tgl/zlib/contrib/dotzlib/DotZLib/GZipStream.cs | 301 - .../tgl/zlib/contrib/dotzlib/DotZLib/Inflater.cs | 105 - .../tgl/zlib/contrib/dotzlib/DotZLib/UnitTests.cs | 274 - .../tgl/zlib/contrib/dotzlib/LICENSE_1_0.txt | 23 - .../Telegram/tgl/zlib/contrib/dotzlib/readme.txt | 58 - .../tgl/zlib/contrib/gcc_gvmat64/gvmat64.S | 574 -- .../Telegram/tgl/zlib/contrib/infback9/README | 1 - .../Telegram/tgl/zlib/contrib/infback9/infback9.c | 615 -- .../Telegram/tgl/zlib/contrib/infback9/infback9.h | 37 - .../Telegram/tgl/zlib/contrib/infback9/inffix9.h | 107 - .../Telegram/tgl/zlib/contrib/infback9/inflate9.h | 47 - .../Telegram/tgl/zlib/contrib/infback9/inftree9.c | 324 - .../Telegram/tgl/zlib/contrib/infback9/inftree9.h | 61 - .../Telegram/tgl/zlib/contrib/inflate86/inffas86.c | 1157 --- .../Telegram/tgl/zlib/contrib/inflate86/inffast.S | 1368 ---- .../Telegram/tgl/zlib/contrib/iostream/test.cpp | 24 - .../tgl/zlib/contrib/iostream/zfstream.cpp | 329 - .../Telegram/tgl/zlib/contrib/iostream/zfstream.h | 128 - .../Telegram/tgl/zlib/contrib/iostream2/zstream.h | 307 - .../tgl/zlib/contrib/iostream2/zstream_test.cpp | 25 - .../Telegram/tgl/zlib/contrib/iostream3/README | 35 - protocols/Telegram/tgl/zlib/contrib/iostream3/TODO | 17 - .../Telegram/tgl/zlib/contrib/iostream3/test.cc | 50 - .../tgl/zlib/contrib/iostream3/zfstream.cc | 479 -- .../Telegram/tgl/zlib/contrib/iostream3/zfstream.h | 466 -- .../Telegram/tgl/zlib/contrib/masmx64/bld_ml64.bat | 2 - .../Telegram/tgl/zlib/contrib/masmx64/gvmat64.asm | 553 -- .../Telegram/tgl/zlib/contrib/masmx64/inffas8664.c | 186 - .../tgl/zlib/contrib/masmx64/inffasx64.asm | 396 - .../Telegram/tgl/zlib/contrib/masmx64/readme.txt | 31 - .../Telegram/tgl/zlib/contrib/masmx86/bld_ml32.bat | 2 - .../Telegram/tgl/zlib/contrib/masmx86/inffas32.asm | 1080 --- .../Telegram/tgl/zlib/contrib/masmx86/match686.asm | 479 -- .../Telegram/tgl/zlib/contrib/masmx86/readme.txt | 27 - .../Telegram/tgl/zlib/contrib/minizip/Makefile | 25 - .../Telegram/tgl/zlib/contrib/minizip/Makefile.am | 45 - .../tgl/zlib/contrib/minizip/MiniZip64_Changes.txt | 6 - .../tgl/zlib/contrib/minizip/MiniZip64_info.txt | 74 - .../Telegram/tgl/zlib/contrib/minizip/configure.ac | 32 - .../Telegram/tgl/zlib/contrib/minizip/crypt.h | 131 - .../Telegram/tgl/zlib/contrib/minizip/ioapi.c | 247 - .../Telegram/tgl/zlib/contrib/minizip/ioapi.h | 208 - .../Telegram/tgl/zlib/contrib/minizip/iowin32.c | 461 -- .../Telegram/tgl/zlib/contrib/minizip/iowin32.h | 28 - .../Telegram/tgl/zlib/contrib/minizip/make_vms.com | 25 - .../Telegram/tgl/zlib/contrib/minizip/miniunz.c | 660 -- .../Telegram/tgl/zlib/contrib/minizip/miniunzip.1 | 63 - .../Telegram/tgl/zlib/contrib/minizip/minizip.1 | 46 - .../Telegram/tgl/zlib/contrib/minizip/minizip.c | 520 -- .../tgl/zlib/contrib/minizip/minizip.pc.in | 12 - .../Telegram/tgl/zlib/contrib/minizip/mztools.c | 291 - .../Telegram/tgl/zlib/contrib/minizip/mztools.h | 37 - .../Telegram/tgl/zlib/contrib/minizip/unzip.c | 2125 ------ .../Telegram/tgl/zlib/contrib/minizip/unzip.h | 437 -- protocols/Telegram/tgl/zlib/contrib/minizip/zip.c | 2007 ----- protocols/Telegram/tgl/zlib/contrib/minizip/zip.h | 362 - .../Telegram/tgl/zlib/contrib/pascal/example.pas | 599 -- .../Telegram/tgl/zlib/contrib/pascal/readme.txt | 76 - .../Telegram/tgl/zlib/contrib/pascal/zlibd32.mak | 99 - .../Telegram/tgl/zlib/contrib/pascal/zlibpas.pas | 276 - protocols/Telegram/tgl/zlib/contrib/puff/Makefile | 42 - protocols/Telegram/tgl/zlib/contrib/puff/README | 63 - protocols/Telegram/tgl/zlib/contrib/puff/puff.c | 840 --- protocols/Telegram/tgl/zlib/contrib/puff/puff.h | 35 - .../Telegram/tgl/zlib/contrib/puff/pufftest.c | 165 - protocols/Telegram/tgl/zlib/contrib/puff/zeros.raw | Bin 2517 -> 0 bytes .../Telegram/tgl/zlib/contrib/testzlib/testzlib.c | 275 - .../tgl/zlib/contrib/testzlib/testzlib.txt | 10 - protocols/Telegram/tgl/zlib/contrib/untgz/Makefile | 14 - .../Telegram/tgl/zlib/contrib/untgz/Makefile.msc | 17 - protocols/Telegram/tgl/zlib/contrib/untgz/untgz.c | 674 -- .../Telegram/tgl/zlib/contrib/vstudio/readme.txt | 65 - .../tgl/zlib/contrib/vstudio/vc10/miniunz.vcxproj | 310 - .../contrib/vstudio/vc10/miniunz.vcxproj.filters | 22 - .../tgl/zlib/contrib/vstudio/vc10/minizip.vcxproj | 307 - .../contrib/vstudio/vc10/minizip.vcxproj.filters | 22 - .../tgl/zlib/contrib/vstudio/vc10/testzlib.vcxproj | 420 -- .../contrib/vstudio/vc10/testzlib.vcxproj.filters | 58 - .../zlib/contrib/vstudio/vc10/testzlibdll.vcxproj | 310 - .../vstudio/vc10/testzlibdll.vcxproj.filters | 22 - .../Telegram/tgl/zlib/contrib/vstudio/vc10/zlib.rc | 32 - .../tgl/zlib/contrib/vstudio/vc10/zlibstat.vcxproj | 473 -- .../contrib/vstudio/vc10/zlibstat.vcxproj.filters | 77 - .../tgl/zlib/contrib/vstudio/vc10/zlibvc.def | 143 - .../tgl/zlib/contrib/vstudio/vc10/zlibvc.sln | 135 - .../tgl/zlib/contrib/vstudio/vc10/zlibvc.vcxproj | 657 -- .../contrib/vstudio/vc10/zlibvc.vcxproj.filters | 118 - .../tgl/zlib/contrib/vstudio/vc11/miniunz.vcxproj | 314 - .../tgl/zlib/contrib/vstudio/vc11/minizip.vcxproj | 311 - .../tgl/zlib/contrib/vstudio/vc11/testzlib.vcxproj | 426 -- .../zlib/contrib/vstudio/vc11/testzlibdll.vcxproj | 314 - .../x86/ZlibDllReleaseWithoutAsm/Tmp/adler32.cod | 610 -- .../x86/ZlibDllReleaseWithoutAsm/Tmp/adler32.obj | Bin 49576 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/compress.cod | 214 - .../x86/ZlibDllReleaseWithoutAsm/Tmp/compress.obj | Bin 46353 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/crc32.cod | 3150 -------- .../x86/ZlibDllReleaseWithoutAsm/Tmp/crc32.obj | Bin 73072 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/deflate.cod | 6858 ----------------- .../x86/ZlibDllReleaseWithoutAsm/Tmp/deflate.obj | Bin 112701 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/gzclose.cod | 87 - .../x86/ZlibDllReleaseWithoutAsm/Tmp/gzclose.obj | Bin 113708 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/gzlib.cod | 2360 ------ .../x86/ZlibDllReleaseWithoutAsm/Tmp/gzlib.obj | Bin 129376 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/gzread.cod | 2216 ------ .../x86/ZlibDllReleaseWithoutAsm/Tmp/gzread.obj | Bin 131934 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/gzwrite.cod | 1895 ----- .../x86/ZlibDllReleaseWithoutAsm/Tmp/gzwrite.obj | Bin 128898 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/infback.cod | 4354 ----------- .../x86/ZlibDllReleaseWithoutAsm/Tmp/infback.obj | Bin 78037 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/inffast.cod | 990 --- .../x86/ZlibDllReleaseWithoutAsm/Tmp/inffast.obj | Bin 52409 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/inflate.cod | 7621 ------------------- .../x86/ZlibDllReleaseWithoutAsm/Tmp/inflate.obj | Bin 108025 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/inftrees.cod | 1069 --- .../x86/ZlibDllReleaseWithoutAsm/Tmp/inftrees.obj | Bin 51845 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/ioapi.cod | 882 --- .../x86/ZlibDllReleaseWithoutAsm/Tmp/ioapi.obj | Bin 123214 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/iowin32.cod | 1691 ----- .../x86/ZlibDllReleaseWithoutAsm/Tmp/iowin32.obj | Bin 136327 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/trees.cod | 5535 -------------- .../x86/ZlibDllReleaseWithoutAsm/Tmp/trees.obj | Bin 95561 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/uncompr.cod | 159 - .../x86/ZlibDllReleaseWithoutAsm/Tmp/uncompr.obj | Bin 45830 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/unzip.cod | 7065 ------------------ .../x86/ZlibDllReleaseWithoutAsm/Tmp/unzip.obj | Bin 172491 -> 0 bytes .../vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zip.cod | 7727 -------------------- .../vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zip.obj | Bin 187557 -> 0 bytes .../vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlib.res | Bin 884 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.log | 25 - .../Tmp/zlibvc.tlog/CL.command.1.tlog | Bin 19578 -> 0 bytes .../Tmp/zlibvc.tlog/CL.read.1.tlog | Bin 400204 -> 0 bytes .../Tmp/zlibvc.tlog/CL.write.1.tlog | Bin 12154 -> 0 bytes .../Tmp/zlibvc.tlog/link.command.1.tlog | Bin 6952 -> 0 bytes .../Tmp/zlibvc.tlog/link.read.1.tlog | Bin 14136 -> 0 bytes .../Tmp/zlibvc.tlog/link.write.1.tlog | Bin 9290 -> 0 bytes .../Tmp/zlibvc.tlog/rc.command.1.tlog | Bin 440 -> 0 bytes .../Tmp/zlibvc.tlog/rc.read.1.tlog | Bin 2260 -> 0 bytes .../Tmp/zlibvc.tlog/rc.write.1.tlog | Bin 352 -> 0 bytes .../Tmp/zlibvc.tlog/zlibvc.lastbuildstate | 2 - .../Tmp/zlibvc.tlog/zlibvc.write.1u.tlog | Bin 574 -> 0 bytes .../Tmp/zlibwapi.Build.CppClean.log | 31 - .../x86/ZlibDllReleaseWithoutAsm/Tmp/zutil.cod | 259 - .../x86/ZlibDllReleaseWithoutAsm/Tmp/zutil.obj | Bin 123610 -> 0 bytes .../vc11/x86/ZlibDllReleaseWithoutAsm/vc140.pdb | Bin 135168 -> 0 bytes .../vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.dll | Bin 94720 -> 0 bytes .../vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.exp | Bin 15693 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/zlibwapi.iobj | Bin 500595 -> 0 bytes .../x86/ZlibDllReleaseWithoutAsm/zlibwapi.ipdb | Bin 87216 -> 0 bytes .../vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.lib | Bin 26702 -> 0 bytes .../vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.map | 861 --- .../vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.pdb | Bin 724992 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/adler32.obj | Bin 17467 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/compress.obj | Bin 15252 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/crc32.obj | Bin 29628 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/deflate.obj | Bin 59709 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/gzclose.obj | Bin 13200 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/gzlib.obj | Bin 34037 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/gzread.obj | Bin 30696 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/gzwrite.obj | Bin 30280 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/infback.obj | Bin 32631 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/inffast.obj | Bin 18811 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/inflate.obj | Bin 56907 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/inftrees.obj | Bin 18722 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/ioapi.obj | Bin 27602 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/trees.obj | Bin 52297 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/uncompr.obj | Bin 13796 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/unzip.obj | Bin 80632 -> 0 bytes .../vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zip.obj | Bin 95280 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/Tmp/zlib.res | Bin 884 -> 0 bytes .../Tmp/zlibstat.Build.CppClean.log | 30 - .../x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.log | 20 - .../Tmp/zlibstat.tlog/CL.command.1.tlog | Bin 16478 -> 0 bytes .../Tmp/zlibstat.tlog/CL.read.1.tlog | Bin 379024 -> 0 bytes .../Tmp/zlibstat.tlog/CL.write.1.tlog | Bin 11658 -> 0 bytes .../Tmp/zlibstat.tlog/Lib-link-cvtres.read.1.tlog | Bin 8266 -> 0 bytes .../Tmp/zlibstat.tlog/Lib-link-cvtres.write.1.tlog | Bin 4246 -> 0 bytes .../Tmp/zlibstat.tlog/lib.command.1.tlog | Bin 5884 -> 0 bytes .../Tmp/zlibstat.tlog/rc.command.1.tlog | Bin 422 -> 0 bytes .../Tmp/zlibstat.tlog/rc.read.1.tlog | Bin 2260 -> 0 bytes .../Tmp/zlibstat.tlog/rc.write.1.tlog | Bin 354 -> 0 bytes .../Tmp/zlibstat.tlog/zlibstat.lastbuildstate | 2 - .../x86/ZlibStatReleaseWithoutAsm/Tmp/zutil.obj | Bin 16816 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/zlibstat.lib | Bin 658516 -> 0 bytes .../x86/ZlibStatReleaseWithoutAsm/zlibstat.pdb | Bin 126976 -> 0 bytes .../Telegram/tgl/zlib/contrib/vstudio/vc11/zlib.rc | 32 - .../tgl/zlib/contrib/vstudio/vc11/zlibstat.vcxproj | 465 -- .../tgl/zlib/contrib/vstudio/vc11/zlibvc.def | 143 - .../tgl/zlib/contrib/vstudio/vc11/zlibvc.sln | 117 - .../tgl/zlib/contrib/vstudio/vc11/zlibvc.vcxproj | 689 -- .../tgl/zlib/contrib/vstudio/vc9/miniunz.vcproj | 565 -- .../tgl/zlib/contrib/vstudio/vc9/minizip.vcproj | 562 -- .../tgl/zlib/contrib/vstudio/vc9/testzlib.vcproj | 852 --- .../zlib/contrib/vstudio/vc9/testzlibdll.vcproj | 565 -- .../Telegram/tgl/zlib/contrib/vstudio/vc9/zlib.rc | 32 - .../tgl/zlib/contrib/vstudio/vc9/zlibstat.vcproj | 835 --- .../tgl/zlib/contrib/vstudio/vc9/zlibvc.def | 143 - .../tgl/zlib/contrib/vstudio/vc9/zlibvc.sln | 144 - .../tgl/zlib/contrib/vstudio/vc9/zlibvc.vcproj | 1156 --- 234 files changed, 93514 deletions(-) delete mode 100644 protocols/Telegram/tgl/zlib/contrib/README.contrib delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/buffer_demo.adb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/mtest.adb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/read.adb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/readme.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/test.adb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/zlib-streams.adb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/zlib-streams.ads delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/zlib-thin.adb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/zlib-thin.ads delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/zlib.adb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/zlib.ads delete mode 100644 protocols/Telegram/tgl/zlib/contrib/ada/zlib.gpr delete mode 100644 protocols/Telegram/tgl/zlib/contrib/amd64/amd64-match.S delete mode 100644 protocols/Telegram/tgl/zlib/contrib/asm686/README.686 delete mode 100644 protocols/Telegram/tgl/zlib/contrib/asm686/match.S delete mode 100644 protocols/Telegram/tgl/zlib/contrib/blast/Makefile delete mode 100644 protocols/Telegram/tgl/zlib/contrib/blast/README delete mode 100644 protocols/Telegram/tgl/zlib/contrib/blast/blast.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/blast/blast.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/blast/test.pk delete mode 100644 protocols/Telegram/tgl/zlib/contrib/blast/test.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/delphi/ZLib.pas delete mode 100644 protocols/Telegram/tgl/zlib/contrib/delphi/ZLibConst.pas delete mode 100644 protocols/Telegram/tgl/zlib/contrib/delphi/readme.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/delphi/zlibd32.mak delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.build delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.chm delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.sln delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/CodecBase.cs delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/Deflater.cs delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/DotZLib.cs delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/GZipStream.cs delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/Inflater.cs delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/UnitTests.cs delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/LICENSE_1_0.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/dotzlib/readme.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/gcc_gvmat64/gvmat64.S delete mode 100644 protocols/Telegram/tgl/zlib/contrib/infback9/README delete mode 100644 protocols/Telegram/tgl/zlib/contrib/infback9/infback9.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/infback9/infback9.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/infback9/inffix9.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/infback9/inflate9.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/infback9/inftree9.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/infback9/inftree9.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/inflate86/inffas86.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/inflate86/inffast.S delete mode 100644 protocols/Telegram/tgl/zlib/contrib/iostream/test.cpp delete mode 100644 protocols/Telegram/tgl/zlib/contrib/iostream/zfstream.cpp delete mode 100644 protocols/Telegram/tgl/zlib/contrib/iostream/zfstream.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/iostream2/zstream.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/iostream2/zstream_test.cpp delete mode 100644 protocols/Telegram/tgl/zlib/contrib/iostream3/README delete mode 100644 protocols/Telegram/tgl/zlib/contrib/iostream3/TODO delete mode 100644 protocols/Telegram/tgl/zlib/contrib/iostream3/test.cc delete mode 100644 protocols/Telegram/tgl/zlib/contrib/iostream3/zfstream.cc delete mode 100644 protocols/Telegram/tgl/zlib/contrib/iostream3/zfstream.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/masmx64/bld_ml64.bat delete mode 100644 protocols/Telegram/tgl/zlib/contrib/masmx64/gvmat64.asm delete mode 100644 protocols/Telegram/tgl/zlib/contrib/masmx64/inffas8664.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/masmx64/inffasx64.asm delete mode 100644 protocols/Telegram/tgl/zlib/contrib/masmx64/readme.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/masmx86/bld_ml32.bat delete mode 100644 protocols/Telegram/tgl/zlib/contrib/masmx86/inffas32.asm delete mode 100644 protocols/Telegram/tgl/zlib/contrib/masmx86/match686.asm delete mode 100644 protocols/Telegram/tgl/zlib/contrib/masmx86/readme.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/Makefile delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/Makefile.am delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/MiniZip64_Changes.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/MiniZip64_info.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/configure.ac delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/crypt.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/ioapi.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/ioapi.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/iowin32.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/iowin32.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/make_vms.com delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/miniunz.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/miniunzip.1 delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/minizip.1 delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/minizip.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/minizip.pc.in delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/mztools.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/mztools.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/unzip.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/unzip.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/zip.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/minizip/zip.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/pascal/example.pas delete mode 100644 protocols/Telegram/tgl/zlib/contrib/pascal/readme.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/pascal/zlibd32.mak delete mode 100644 protocols/Telegram/tgl/zlib/contrib/pascal/zlibpas.pas delete mode 100644 protocols/Telegram/tgl/zlib/contrib/puff/Makefile delete mode 100644 protocols/Telegram/tgl/zlib/contrib/puff/README delete mode 100644 protocols/Telegram/tgl/zlib/contrib/puff/puff.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/puff/puff.h delete mode 100644 protocols/Telegram/tgl/zlib/contrib/puff/pufftest.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/puff/zeros.raw delete mode 100644 protocols/Telegram/tgl/zlib/contrib/testzlib/testzlib.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/testzlib/testzlib.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/untgz/Makefile delete mode 100644 protocols/Telegram/tgl/zlib/contrib/untgz/Makefile.msc delete mode 100644 protocols/Telegram/tgl/zlib/contrib/untgz/untgz.c delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/readme.txt delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/miniunz.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/minizip.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlib.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlib.rc delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibstat.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.def delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.sln delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/miniunz.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/minizip.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/testzlib.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/adler32.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/adler32.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/compress.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/compress.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/crc32.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/crc32.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/deflate.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/deflate.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzclose.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzclose.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzlib.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzlib.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzread.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzread.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzwrite.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzwrite.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/infback.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/infback.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inffast.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inffast.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inflate.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inflate.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inftrees.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inftrees.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/ioapi.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/ioapi.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/iowin32.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/iowin32.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/trees.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/trees.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/uncompr.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/uncompr.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/unzip.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/unzip.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zip.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zip.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlib.res delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.log delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.command.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.read.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.write.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.command.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.read.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.write.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.command.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.read.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.write.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/zlibvc.lastbuildstate delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/zlibvc.write.1u.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibwapi.Build.CppClean.log delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zutil.cod delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zutil.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/vc140.pdb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.dll delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.exp delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.iobj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.ipdb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.lib delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.map delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.pdb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/adler32.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/compress.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/crc32.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/deflate.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzclose.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzlib.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzread.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzwrite.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/infback.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inffast.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inflate.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inftrees.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/ioapi.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/trees.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/uncompr.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/unzip.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zip.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlib.res delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.Build.CppClean.log delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.log delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.command.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.read.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.write.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/Lib-link-cvtres.read.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/Lib-link-cvtres.write.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/lib.command.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.command.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.read.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.write.1.tlog delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/zlibstat.lastbuildstate delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zutil.obj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/zlibstat.pdb delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlib.rc delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibstat.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.def delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.sln delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.vcxproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/miniunz.vcproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/minizip.vcproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/testzlib.vcproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/testzlibdll.vcproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlib.rc delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibstat.vcproj delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.def delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.sln delete mode 100644 protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.vcproj (limited to 'protocols/Telegram/tgl/zlib/contrib') diff --git a/protocols/Telegram/tgl/zlib/contrib/README.contrib b/protocols/Telegram/tgl/zlib/contrib/README.contrib deleted file mode 100644 index c66349b7c6..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/README.contrib +++ /dev/null @@ -1,78 +0,0 @@ -All files under this contrib directory are UNSUPPORTED. There were -provided by users of zlib and were not tested by the authors of zlib. -Use at your own risk. Please contact the authors of the contributions -for help about these, not the zlib authors. Thanks. - - -ada/ by Dmitriy Anisimkov - Support for Ada - See http://zlib-ada.sourceforge.net/ - -amd64/ by Mikhail Teterin - asm code for AMD64 - See patch at http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/96393 - -asm686/ by Brian Raiter - asm code for Pentium and PPro/PII, using the AT&T (GNU as) syntax - See http://www.muppetlabs.com/~breadbox/software/assembly.html - -blast/ by Mark Adler - Decompressor for output of PKWare Data Compression Library (DCL) - -delphi/ by Cosmin Truta - Support for Delphi and C++ Builder - -dotzlib/ by Henrik Ravn - Support for Microsoft .Net and Visual C++ .Net - -gcc_gvmat64/by Gilles Vollant - GCC Version of x86 64-bit (AMD64 and Intel EM64t) code for x64 - assembler to replace longest_match() and inflate_fast() - -infback9/ by Mark Adler - Unsupported diffs to infback to decode the deflate64 format - -inflate86/ by Chris Anderson - Tuned x86 gcc asm code to replace inflate_fast() - -iostream/ by Kevin Ruland - A C++ I/O streams interface to the zlib gz* functions - -iostream2/ by Tyge Løvset - Another C++ I/O streams interface - -iostream3/ by Ludwig Schwardt - and Kevin Ruland - Yet another C++ I/O streams interface - -masmx64/ by Gilles Vollant - x86 64-bit (AMD64 and Intel EM64t) code for x64 assembler to - replace longest_match() and inflate_fast(), also masm x86 - 64-bits translation of Chris Anderson inflate_fast() - -masmx86/ by Gilles Vollant - x86 asm code to replace longest_match() and inflate_fast(), - for Visual C++ and MASM (32 bits). - Based on Brian Raiter (asm686) and Chris Anderson (inflate86) - -minizip/ by Gilles Vollant - Mini zip and unzip based on zlib - Includes Zip64 support by Mathias Svensson - See http://www.winimage.com/zLibDll/unzip.html - -pascal/ by Bob Dellaca et al. - Support for Pascal - -puff/ by Mark Adler - Small, low memory usage inflate. Also serves to provide an - unambiguous description of the deflate format. - -testzlib/ by Gilles Vollant - Example of the use of zlib - -untgz/ by Pedro A. Aranda Gutierrez - A very simple tar.gz file extractor using zlib - -vstudio/ by Gilles Vollant - Building a minizip-enhanced zlib with Microsoft Visual Studio - Includes vc11 from kreuzerkrieg and vc12 from davispuh diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/buffer_demo.adb b/protocols/Telegram/tgl/zlib/contrib/ada/buffer_demo.adb deleted file mode 100644 index 46b8638107..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/buffer_demo.adb +++ /dev/null @@ -1,106 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2004 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- --- --- $Id: buffer_demo.adb,v 1.3 2004/09/06 06:55:35 vagul Exp $ - --- This demo program provided by Dr Steve Sangwine --- --- Demonstration of a problem with Zlib-Ada (already fixed) when a buffer --- of exactly the correct size is used for decompressed data, and the last --- few bytes passed in to Zlib are checksum bytes. - --- This program compresses a string of text, and then decompresses the --- compressed text into a buffer of the same size as the original text. - -with Ada.Streams; use Ada.Streams; -with Ada.Text_IO; - -with ZLib; use ZLib; - -procedure Buffer_Demo is - EOL : Character renames ASCII.LF; - Text : constant String - := "Four score and seven years ago our fathers brought forth," & EOL & - "upon this continent, a new nation, conceived in liberty," & EOL & - "and dedicated to the proposition that `all men are created equal'."; - - Source : Stream_Element_Array (1 .. Text'Length); - for Source'Address use Text'Address; - -begin - Ada.Text_IO.Put (Text); - Ada.Text_IO.New_Line; - Ada.Text_IO.Put_Line - ("Uncompressed size : " & Positive'Image (Text'Length) & " bytes"); - - declare - Compressed_Data : Stream_Element_Array (1 .. Text'Length); - L : Stream_Element_Offset; - begin - Compress : declare - Compressor : Filter_Type; - I : Stream_Element_Offset; - begin - Deflate_Init (Compressor); - - -- Compress the whole of T at once. - - Translate (Compressor, Source, I, Compressed_Data, L, Finish); - pragma Assert (I = Source'Last); - - Close (Compressor); - - Ada.Text_IO.Put_Line - ("Compressed size : " - & Stream_Element_Offset'Image (L) & " bytes"); - end Compress; - - -- Now we decompress the data, passing short blocks of data to Zlib - -- (because this demonstrates the problem - the last block passed will - -- contain checksum information and there will be no output, only a - -- check inside Zlib that the checksum is correct). - - Decompress : declare - Decompressor : Filter_Type; - - Uncompressed_Data : Stream_Element_Array (1 .. Text'Length); - - Block_Size : constant := 4; - -- This makes sure that the last block contains - -- only Adler checksum data. - - P : Stream_Element_Offset := Compressed_Data'First - 1; - O : Stream_Element_Offset; - begin - Inflate_Init (Decompressor); - - loop - Translate - (Decompressor, - Compressed_Data - (P + 1 .. Stream_Element_Offset'Min (P + Block_Size, L)), - P, - Uncompressed_Data - (Total_Out (Decompressor) + 1 .. Uncompressed_Data'Last), - O, - No_Flush); - - Ada.Text_IO.Put_Line - ("Total in : " & Count'Image (Total_In (Decompressor)) & - ", out : " & Count'Image (Total_Out (Decompressor))); - - exit when P = L; - end loop; - - Ada.Text_IO.New_Line; - Ada.Text_IO.Put_Line - ("Decompressed text matches original text : " - & Boolean'Image (Uncompressed_Data = Source)); - end Decompress; - end; -end Buffer_Demo; diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/mtest.adb b/protocols/Telegram/tgl/zlib/contrib/ada/mtest.adb deleted file mode 100644 index c4dfd080f0..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/mtest.adb +++ /dev/null @@ -1,156 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- --- Continuous test for ZLib multithreading. If the test would fail --- we should provide thread safe allocation routines for the Z_Stream. --- --- $Id: mtest.adb,v 1.4 2004/07/23 07:49:54 vagul Exp $ - -with ZLib; -with Ada.Streams; -with Ada.Numerics.Discrete_Random; -with Ada.Text_IO; -with Ada.Exceptions; -with Ada.Task_Identification; - -procedure MTest is - use Ada.Streams; - use ZLib; - - Stop : Boolean := False; - - pragma Atomic (Stop); - - subtype Visible_Symbols is Stream_Element range 16#20# .. 16#7E#; - - package Random_Elements is - new Ada.Numerics.Discrete_Random (Visible_Symbols); - - task type Test_Task; - - task body Test_Task is - Buffer : Stream_Element_Array (1 .. 100_000); - Gen : Random_Elements.Generator; - - Buffer_First : Stream_Element_Offset; - Compare_First : Stream_Element_Offset; - - Deflate : Filter_Type; - Inflate : Filter_Type; - - procedure Further (Item : in Stream_Element_Array); - - procedure Read_Buffer - (Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset); - - ------------- - -- Further -- - ------------- - - procedure Further (Item : in Stream_Element_Array) is - - procedure Compare (Item : in Stream_Element_Array); - - ------------- - -- Compare -- - ------------- - - procedure Compare (Item : in Stream_Element_Array) is - Next_First : Stream_Element_Offset := Compare_First + Item'Length; - begin - if Buffer (Compare_First .. Next_First - 1) /= Item then - raise Program_Error; - end if; - - Compare_First := Next_First; - end Compare; - - procedure Compare_Write is new ZLib.Write (Write => Compare); - begin - Compare_Write (Inflate, Item, No_Flush); - end Further; - - ----------------- - -- Read_Buffer -- - ----------------- - - procedure Read_Buffer - (Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset) - is - Buff_Diff : Stream_Element_Offset := Buffer'Last - Buffer_First; - Next_First : Stream_Element_Offset; - begin - if Item'Length <= Buff_Diff then - Last := Item'Last; - - Next_First := Buffer_First + Item'Length; - - Item := Buffer (Buffer_First .. Next_First - 1); - - Buffer_First := Next_First; - else - Last := Item'First + Buff_Diff; - Item (Item'First .. Last) := Buffer (Buffer_First .. Buffer'Last); - Buffer_First := Buffer'Last + 1; - end if; - end Read_Buffer; - - procedure Translate is new Generic_Translate - (Data_In => Read_Buffer, - Data_Out => Further); - - begin - Random_Elements.Reset (Gen); - - Buffer := (others => 20); - - Main : loop - for J in Buffer'Range loop - Buffer (J) := Random_Elements.Random (Gen); - - Deflate_Init (Deflate); - Inflate_Init (Inflate); - - Buffer_First := Buffer'First; - Compare_First := Buffer'First; - - Translate (Deflate); - - if Compare_First /= Buffer'Last + 1 then - raise Program_Error; - end if; - - Ada.Text_IO.Put_Line - (Ada.Task_Identification.Image - (Ada.Task_Identification.Current_Task) - & Stream_Element_Offset'Image (J) - & ZLib.Count'Image (Total_Out (Deflate))); - - Close (Deflate); - Close (Inflate); - - exit Main when Stop; - end loop; - end loop Main; - exception - when E : others => - Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Information (E)); - Stop := True; - end Test_Task; - - Test : array (1 .. 4) of Test_Task; - - pragma Unreferenced (Test); - - Dummy : Character; - -begin - Ada.Text_IO.Get_Immediate (Dummy); - Stop := True; -end MTest; diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/read.adb b/protocols/Telegram/tgl/zlib/contrib/ada/read.adb deleted file mode 100644 index 1f2efbfeb8..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/read.adb +++ /dev/null @@ -1,156 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: read.adb,v 1.8 2004/05/31 10:53:40 vagul Exp $ - --- Test/demo program for the generic read interface. - -with Ada.Numerics.Discrete_Random; -with Ada.Streams; -with Ada.Text_IO; - -with ZLib; - -procedure Read is - - use Ada.Streams; - - ------------------------------------ - -- Test configuration parameters -- - ------------------------------------ - - File_Size : Stream_Element_Offset := 100_000; - - Continuous : constant Boolean := False; - -- If this constant is True, the test would be repeated again and again, - -- with increment File_Size for every iteration. - - Header : constant ZLib.Header_Type := ZLib.Default; - -- Do not use Header other than Default in ZLib versions 1.1.4 and older. - - Init_Random : constant := 8; - -- We are using the same random sequence, in case of we catch bug, - -- so we would be able to reproduce it. - - -- End -- - - Pack_Size : Stream_Element_Offset; - Offset : Stream_Element_Offset; - - Filter : ZLib.Filter_Type; - - subtype Visible_Symbols - is Stream_Element range 16#20# .. 16#7E#; - - package Random_Elements is new - Ada.Numerics.Discrete_Random (Visible_Symbols); - - Gen : Random_Elements.Generator; - Period : constant Stream_Element_Offset := 200; - -- Period constant variable for random generator not to be very random. - -- Bigger period, harder random. - - Read_Buffer : Stream_Element_Array (1 .. 2048); - Read_First : Stream_Element_Offset; - Read_Last : Stream_Element_Offset; - - procedure Reset; - - procedure Read - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset); - -- this procedure is for generic instantiation of - -- ZLib.Read - -- reading data from the File_In. - - procedure Read is new ZLib.Read - (Read, - Read_Buffer, - Rest_First => Read_First, - Rest_Last => Read_Last); - - ---------- - -- Read -- - ---------- - - procedure Read - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset) is - begin - Last := Stream_Element_Offset'Min - (Item'Last, - Item'First + File_Size - Offset); - - for J in Item'First .. Last loop - if J < Item'First + Period then - Item (J) := Random_Elements.Random (Gen); - else - Item (J) := Item (J - Period); - end if; - - Offset := Offset + 1; - end loop; - end Read; - - ----------- - -- Reset -- - ----------- - - procedure Reset is - begin - Random_Elements.Reset (Gen, Init_Random); - Pack_Size := 0; - Offset := 1; - Read_First := Read_Buffer'Last + 1; - Read_Last := Read_Buffer'Last; - end Reset; - -begin - Ada.Text_IO.Put_Line ("ZLib " & ZLib.Version); - - loop - for Level in ZLib.Compression_Level'Range loop - - Ada.Text_IO.Put ("Level =" - & ZLib.Compression_Level'Image (Level)); - - -- Deflate using generic instantiation. - - ZLib.Deflate_Init - (Filter, - Level, - Header => Header); - - Reset; - - Ada.Text_IO.Put - (Stream_Element_Offset'Image (File_Size) & " ->"); - - loop - declare - Buffer : Stream_Element_Array (1 .. 1024); - Last : Stream_Element_Offset; - begin - Read (Filter, Buffer, Last); - - Pack_Size := Pack_Size + Last - Buffer'First + 1; - - exit when Last < Buffer'Last; - end; - end loop; - - Ada.Text_IO.Put_Line (Stream_Element_Offset'Image (Pack_Size)); - - ZLib.Close (Filter); - end loop; - - exit when not Continuous; - - File_Size := File_Size + 1; - end loop; -end Read; diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/readme.txt b/protocols/Telegram/tgl/zlib/contrib/ada/readme.txt deleted file mode 100644 index ce4d2cadf0..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/readme.txt +++ /dev/null @@ -1,65 +0,0 @@ - ZLib for Ada thick binding (ZLib.Ada) - Release 1.3 - -ZLib.Ada is a thick binding interface to the popular ZLib data -compression library, available at http://www.gzip.org/zlib/. -It provides Ada-style access to the ZLib C library. - - - Here are the main changes since ZLib.Ada 1.2: - -- Attension: ZLib.Read generic routine have a initialization requirement - for Read_Last parameter now. It is a bit incompartible with previous version, - but extends functionality, we could use new parameters Allow_Read_Some and - Flush now. - -- Added Is_Open routines to ZLib and ZLib.Streams packages. - -- Add pragma Assert to check Stream_Element is 8 bit. - -- Fix extraction to buffer with exact known decompressed size. Error reported by - Steve Sangwine. - -- Fix definition of ULong (changed to unsigned_long), fix regression on 64 bits - computers. Patch provided by Pascal Obry. - -- Add Status_Error exception definition. - -- Add pragma Assertion that Ada.Streams.Stream_Element size is 8 bit. - - - How to build ZLib.Ada under GNAT - -You should have the ZLib library already build on your computer, before -building ZLib.Ada. Make the directory of ZLib.Ada sources current and -issue the command: - - gnatmake test -largs -L -lz - -Or use the GNAT project file build for GNAT 3.15 or later: - - gnatmake -Pzlib.gpr -L - - - How to build ZLib.Ada under Aonix ObjectAda for Win32 7.2.2 - -1. Make a project with all *.ads and *.adb files from the distribution. -2. Build the libz.a library from the ZLib C sources. -3. Rename libz.a to z.lib. -4. Add the library z.lib to the project. -5. Add the libc.lib library from the ObjectAda distribution to the project. -6. Build the executable using test.adb as a main procedure. - - - How to use ZLib.Ada - -The source files test.adb and read.adb are small demo programs that show -the main functionality of ZLib.Ada. - -The routines from the package specifications are commented. - - -Homepage: http://zlib-ada.sourceforge.net/ -Author: Dmitriy Anisimkov - -Contributors: Pascal Obry , Steve Sangwine diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/test.adb b/protocols/Telegram/tgl/zlib/contrib/ada/test.adb deleted file mode 100644 index 90773acfa1..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/test.adb +++ /dev/null @@ -1,463 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: test.adb,v 1.17 2003/08/12 12:13:30 vagul Exp $ - --- The program has a few aims. --- 1. Test ZLib.Ada95 thick binding functionality. --- 2. Show the example of use main functionality of the ZLib.Ada95 binding. --- 3. Build this program automatically compile all ZLib.Ada95 packages under --- GNAT Ada95 compiler. - -with ZLib.Streams; -with Ada.Streams.Stream_IO; -with Ada.Numerics.Discrete_Random; - -with Ada.Text_IO; - -with Ada.Calendar; - -procedure Test is - - use Ada.Streams; - use Stream_IO; - - ------------------------------------ - -- Test configuration parameters -- - ------------------------------------ - - File_Size : Count := 100_000; - Continuous : constant Boolean := False; - - Header : constant ZLib.Header_Type := ZLib.Default; - -- ZLib.None; - -- ZLib.Auto; - -- ZLib.GZip; - -- Do not use Header other then Default in ZLib versions 1.1.4 - -- and older. - - Strategy : constant ZLib.Strategy_Type := ZLib.Default_Strategy; - Init_Random : constant := 10; - - -- End -- - - In_File_Name : constant String := "testzlib.in"; - -- Name of the input file - - Z_File_Name : constant String := "testzlib.zlb"; - -- Name of the compressed file. - - Out_File_Name : constant String := "testzlib.out"; - -- Name of the decompressed file. - - File_In : File_Type; - File_Out : File_Type; - File_Back : File_Type; - File_Z : ZLib.Streams.Stream_Type; - - Filter : ZLib.Filter_Type; - - Time_Stamp : Ada.Calendar.Time; - - procedure Generate_File; - -- Generate file of spetsified size with some random data. - -- The random data is repeatable, for the good compression. - - procedure Compare_Streams - (Left, Right : in out Root_Stream_Type'Class); - -- The procedure compearing data in 2 streams. - -- It is for compare data before and after compression/decompression. - - procedure Compare_Files (Left, Right : String); - -- Compare files. Based on the Compare_Streams. - - procedure Copy_Streams - (Source, Target : in out Root_Stream_Type'Class; - Buffer_Size : in Stream_Element_Offset := 1024); - -- Copying data from one stream to another. It is for test stream - -- interface of the library. - - procedure Data_In - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset); - -- this procedure is for generic instantiation of - -- ZLib.Generic_Translate. - -- reading data from the File_In. - - procedure Data_Out (Item : in Stream_Element_Array); - -- this procedure is for generic instantiation of - -- ZLib.Generic_Translate. - -- writing data to the File_Out. - - procedure Stamp; - -- Store the timestamp to the local variable. - - procedure Print_Statistic (Msg : String; Data_Size : ZLib.Count); - -- Print the time statistic with the message. - - procedure Translate is new ZLib.Generic_Translate - (Data_In => Data_In, - Data_Out => Data_Out); - -- This procedure is moving data from File_In to File_Out - -- with compression or decompression, depend on initialization of - -- Filter parameter. - - ------------------- - -- Compare_Files -- - ------------------- - - procedure Compare_Files (Left, Right : String) is - Left_File, Right_File : File_Type; - begin - Open (Left_File, In_File, Left); - Open (Right_File, In_File, Right); - Compare_Streams (Stream (Left_File).all, Stream (Right_File).all); - Close (Left_File); - Close (Right_File); - end Compare_Files; - - --------------------- - -- Compare_Streams -- - --------------------- - - procedure Compare_Streams - (Left, Right : in out Ada.Streams.Root_Stream_Type'Class) - is - Left_Buffer, Right_Buffer : Stream_Element_Array (0 .. 16#FFF#); - Left_Last, Right_Last : Stream_Element_Offset; - begin - loop - Read (Left, Left_Buffer, Left_Last); - Read (Right, Right_Buffer, Right_Last); - - if Left_Last /= Right_Last then - Ada.Text_IO.Put_Line ("Compare error :" - & Stream_Element_Offset'Image (Left_Last) - & " /= " - & Stream_Element_Offset'Image (Right_Last)); - - raise Constraint_Error; - - elsif Left_Buffer (0 .. Left_Last) - /= Right_Buffer (0 .. Right_Last) - then - Ada.Text_IO.Put_Line ("ERROR: IN and OUT files is not equal."); - raise Constraint_Error; - - end if; - - exit when Left_Last < Left_Buffer'Last; - end loop; - end Compare_Streams; - - ------------------ - -- Copy_Streams -- - ------------------ - - procedure Copy_Streams - (Source, Target : in out Ada.Streams.Root_Stream_Type'Class; - Buffer_Size : in Stream_Element_Offset := 1024) - is - Buffer : Stream_Element_Array (1 .. Buffer_Size); - Last : Stream_Element_Offset; - begin - loop - Read (Source, Buffer, Last); - Write (Target, Buffer (1 .. Last)); - - exit when Last < Buffer'Last; - end loop; - end Copy_Streams; - - ------------- - -- Data_In -- - ------------- - - procedure Data_In - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset) is - begin - Read (File_In, Item, Last); - end Data_In; - - -------------- - -- Data_Out -- - -------------- - - procedure Data_Out (Item : in Stream_Element_Array) is - begin - Write (File_Out, Item); - end Data_Out; - - ------------------- - -- Generate_File -- - ------------------- - - procedure Generate_File is - subtype Visible_Symbols is Stream_Element range 16#20# .. 16#7E#; - - package Random_Elements is - new Ada.Numerics.Discrete_Random (Visible_Symbols); - - Gen : Random_Elements.Generator; - Buffer : Stream_Element_Array := (1 .. 77 => 16#20#) & 10; - - Buffer_Count : constant Count := File_Size / Buffer'Length; - -- Number of same buffers in the packet. - - Density : constant Count := 30; -- from 0 to Buffer'Length - 2; - - procedure Fill_Buffer (J, D : in Count); - -- Change the part of the buffer. - - ----------------- - -- Fill_Buffer -- - ----------------- - - procedure Fill_Buffer (J, D : in Count) is - begin - for K in 0 .. D loop - Buffer - (Stream_Element_Offset ((J + K) mod (Buffer'Length - 1) + 1)) - := Random_Elements.Random (Gen); - - end loop; - end Fill_Buffer; - - begin - Random_Elements.Reset (Gen, Init_Random); - - Create (File_In, Out_File, In_File_Name); - - Fill_Buffer (1, Buffer'Length - 2); - - for J in 1 .. Buffer_Count loop - Write (File_In, Buffer); - - Fill_Buffer (J, Density); - end loop; - - -- fill remain size. - - Write - (File_In, - Buffer - (1 .. Stream_Element_Offset - (File_Size - Buffer'Length * Buffer_Count))); - - Flush (File_In); - Close (File_In); - end Generate_File; - - --------------------- - -- Print_Statistic -- - --------------------- - - procedure Print_Statistic (Msg : String; Data_Size : ZLib.Count) is - use Ada.Calendar; - use Ada.Text_IO; - - package Count_IO is new Integer_IO (ZLib.Count); - - Curr_Dur : Duration := Clock - Time_Stamp; - begin - Put (Msg); - - Set_Col (20); - Ada.Text_IO.Put ("size ="); - - Count_IO.Put - (Data_Size, - Width => Stream_IO.Count'Image (File_Size)'Length); - - Put_Line (" duration =" & Duration'Image (Curr_Dur)); - end Print_Statistic; - - ----------- - -- Stamp -- - ----------- - - procedure Stamp is - begin - Time_Stamp := Ada.Calendar.Clock; - end Stamp; - -begin - Ada.Text_IO.Put_Line ("ZLib " & ZLib.Version); - - loop - Generate_File; - - for Level in ZLib.Compression_Level'Range loop - - Ada.Text_IO.Put_Line ("Level =" - & ZLib.Compression_Level'Image (Level)); - - -- Test generic interface. - Open (File_In, In_File, In_File_Name); - Create (File_Out, Out_File, Z_File_Name); - - Stamp; - - -- Deflate using generic instantiation. - - ZLib.Deflate_Init - (Filter => Filter, - Level => Level, - Strategy => Strategy, - Header => Header); - - Translate (Filter); - Print_Statistic ("Generic compress", ZLib.Total_Out (Filter)); - ZLib.Close (Filter); - - Close (File_In); - Close (File_Out); - - Open (File_In, In_File, Z_File_Name); - Create (File_Out, Out_File, Out_File_Name); - - Stamp; - - -- Inflate using generic instantiation. - - ZLib.Inflate_Init (Filter, Header => Header); - - Translate (Filter); - Print_Statistic ("Generic decompress", ZLib.Total_Out (Filter)); - - ZLib.Close (Filter); - - Close (File_In); - Close (File_Out); - - Compare_Files (In_File_Name, Out_File_Name); - - -- Test stream interface. - - -- Compress to the back stream. - - Open (File_In, In_File, In_File_Name); - Create (File_Back, Out_File, Z_File_Name); - - Stamp; - - ZLib.Streams.Create - (Stream => File_Z, - Mode => ZLib.Streams.Out_Stream, - Back => ZLib.Streams.Stream_Access - (Stream (File_Back)), - Back_Compressed => True, - Level => Level, - Strategy => Strategy, - Header => Header); - - Copy_Streams - (Source => Stream (File_In).all, - Target => File_Z); - - -- Flushing internal buffers to the back stream. - - ZLib.Streams.Flush (File_Z, ZLib.Finish); - - Print_Statistic ("Write compress", - ZLib.Streams.Write_Total_Out (File_Z)); - - ZLib.Streams.Close (File_Z); - - Close (File_In); - Close (File_Back); - - -- Compare reading from original file and from - -- decompression stream. - - Open (File_In, In_File, In_File_Name); - Open (File_Back, In_File, Z_File_Name); - - ZLib.Streams.Create - (Stream => File_Z, - Mode => ZLib.Streams.In_Stream, - Back => ZLib.Streams.Stream_Access - (Stream (File_Back)), - Back_Compressed => True, - Header => Header); - - Stamp; - Compare_Streams (Stream (File_In).all, File_Z); - - Print_Statistic ("Read decompress", - ZLib.Streams.Read_Total_Out (File_Z)); - - ZLib.Streams.Close (File_Z); - Close (File_In); - Close (File_Back); - - -- Compress by reading from compression stream. - - Open (File_Back, In_File, In_File_Name); - Create (File_Out, Out_File, Z_File_Name); - - ZLib.Streams.Create - (Stream => File_Z, - Mode => ZLib.Streams.In_Stream, - Back => ZLib.Streams.Stream_Access - (Stream (File_Back)), - Back_Compressed => False, - Level => Level, - Strategy => Strategy, - Header => Header); - - Stamp; - Copy_Streams - (Source => File_Z, - Target => Stream (File_Out).all); - - Print_Statistic ("Read compress", - ZLib.Streams.Read_Total_Out (File_Z)); - - ZLib.Streams.Close (File_Z); - - Close (File_Out); - Close (File_Back); - - -- Decompress to decompression stream. - - Open (File_In, In_File, Z_File_Name); - Create (File_Back, Out_File, Out_File_Name); - - ZLib.Streams.Create - (Stream => File_Z, - Mode => ZLib.Streams.Out_Stream, - Back => ZLib.Streams.Stream_Access - (Stream (File_Back)), - Back_Compressed => False, - Header => Header); - - Stamp; - - Copy_Streams - (Source => Stream (File_In).all, - Target => File_Z); - - Print_Statistic ("Write decompress", - ZLib.Streams.Write_Total_Out (File_Z)); - - ZLib.Streams.Close (File_Z); - Close (File_In); - Close (File_Back); - - Compare_Files (In_File_Name, Out_File_Name); - end loop; - - Ada.Text_IO.Put_Line (Count'Image (File_Size) & " Ok."); - - exit when not Continuous; - - File_Size := File_Size + 1; - end loop; -end Test; diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/zlib-streams.adb b/protocols/Telegram/tgl/zlib/contrib/ada/zlib-streams.adb deleted file mode 100644 index b6497bae28..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/zlib-streams.adb +++ /dev/null @@ -1,225 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: zlib-streams.adb,v 1.10 2004/05/31 10:53:40 vagul Exp $ - -with Ada.Unchecked_Deallocation; - -package body ZLib.Streams is - - ----------- - -- Close -- - ----------- - - procedure Close (Stream : in out Stream_Type) is - procedure Free is new Ada.Unchecked_Deallocation - (Stream_Element_Array, Buffer_Access); - begin - if Stream.Mode = Out_Stream or Stream.Mode = Duplex then - -- We should flush the data written by the writer. - - Flush (Stream, Finish); - - Close (Stream.Writer); - end if; - - if Stream.Mode = In_Stream or Stream.Mode = Duplex then - Close (Stream.Reader); - Free (Stream.Buffer); - end if; - end Close; - - ------------ - -- Create -- - ------------ - - procedure Create - (Stream : out Stream_Type; - Mode : in Stream_Mode; - Back : in Stream_Access; - Back_Compressed : in Boolean; - Level : in Compression_Level := Default_Compression; - Strategy : in Strategy_Type := Default_Strategy; - Header : in Header_Type := Default; - Read_Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size; - Write_Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size) - is - - subtype Buffer_Subtype is Stream_Element_Array (1 .. Read_Buffer_Size); - - procedure Init_Filter - (Filter : in out Filter_Type; - Compress : in Boolean); - - ----------------- - -- Init_Filter -- - ----------------- - - procedure Init_Filter - (Filter : in out Filter_Type; - Compress : in Boolean) is - begin - if Compress then - Deflate_Init - (Filter, Level, Strategy, Header => Header); - else - Inflate_Init (Filter, Header => Header); - end if; - end Init_Filter; - - begin - Stream.Back := Back; - Stream.Mode := Mode; - - if Mode = Out_Stream or Mode = Duplex then - Init_Filter (Stream.Writer, Back_Compressed); - Stream.Buffer_Size := Write_Buffer_Size; - else - Stream.Buffer_Size := 0; - end if; - - if Mode = In_Stream or Mode = Duplex then - Init_Filter (Stream.Reader, not Back_Compressed); - - Stream.Buffer := new Buffer_Subtype; - Stream.Rest_First := Stream.Buffer'Last + 1; - Stream.Rest_Last := Stream.Buffer'Last; - end if; - end Create; - - ----------- - -- Flush -- - ----------- - - procedure Flush - (Stream : in out Stream_Type; - Mode : in Flush_Mode := Sync_Flush) - is - Buffer : Stream_Element_Array (1 .. Stream.Buffer_Size); - Last : Stream_Element_Offset; - begin - loop - Flush (Stream.Writer, Buffer, Last, Mode); - - Ada.Streams.Write (Stream.Back.all, Buffer (1 .. Last)); - - exit when Last < Buffer'Last; - end loop; - end Flush; - - ------------- - -- Is_Open -- - ------------- - - function Is_Open (Stream : Stream_Type) return Boolean is - begin - return Is_Open (Stream.Reader) or else Is_Open (Stream.Writer); - end Is_Open; - - ---------- - -- Read -- - ---------- - - procedure Read - (Stream : in out Stream_Type; - Item : out Stream_Element_Array; - Last : out Stream_Element_Offset) - is - - procedure Read - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset); - - ---------- - -- Read -- - ---------- - - procedure Read - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset) is - begin - Ada.Streams.Read (Stream.Back.all, Item, Last); - end Read; - - procedure Read is new ZLib.Read - (Read => Read, - Buffer => Stream.Buffer.all, - Rest_First => Stream.Rest_First, - Rest_Last => Stream.Rest_Last); - - begin - Read (Stream.Reader, Item, Last); - end Read; - - ------------------- - -- Read_Total_In -- - ------------------- - - function Read_Total_In (Stream : in Stream_Type) return Count is - begin - return Total_In (Stream.Reader); - end Read_Total_In; - - -------------------- - -- Read_Total_Out -- - -------------------- - - function Read_Total_Out (Stream : in Stream_Type) return Count is - begin - return Total_Out (Stream.Reader); - end Read_Total_Out; - - ----------- - -- Write -- - ----------- - - procedure Write - (Stream : in out Stream_Type; - Item : in Stream_Element_Array) - is - - procedure Write (Item : in Stream_Element_Array); - - ----------- - -- Write -- - ----------- - - procedure Write (Item : in Stream_Element_Array) is - begin - Ada.Streams.Write (Stream.Back.all, Item); - end Write; - - procedure Write is new ZLib.Write - (Write => Write, - Buffer_Size => Stream.Buffer_Size); - - begin - Write (Stream.Writer, Item, No_Flush); - end Write; - - -------------------- - -- Write_Total_In -- - -------------------- - - function Write_Total_In (Stream : in Stream_Type) return Count is - begin - return Total_In (Stream.Writer); - end Write_Total_In; - - --------------------- - -- Write_Total_Out -- - --------------------- - - function Write_Total_Out (Stream : in Stream_Type) return Count is - begin - return Total_Out (Stream.Writer); - end Write_Total_Out; - -end ZLib.Streams; diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/zlib-streams.ads b/protocols/Telegram/tgl/zlib/contrib/ada/zlib-streams.ads deleted file mode 100644 index f0193c6bae..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/zlib-streams.ads +++ /dev/null @@ -1,114 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: zlib-streams.ads,v 1.12 2004/05/31 10:53:40 vagul Exp $ - -package ZLib.Streams is - - type Stream_Mode is (In_Stream, Out_Stream, Duplex); - - type Stream_Access is access all Ada.Streams.Root_Stream_Type'Class; - - type Stream_Type is - new Ada.Streams.Root_Stream_Type with private; - - procedure Read - (Stream : in out Stream_Type; - Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset); - - procedure Write - (Stream : in out Stream_Type; - Item : in Ada.Streams.Stream_Element_Array); - - procedure Flush - (Stream : in out Stream_Type; - Mode : in Flush_Mode := Sync_Flush); - -- Flush the written data to the back stream, - -- all data placed to the compressor is flushing to the Back stream. - -- Should not be used untill necessary, becouse it is decreasing - -- compression. - - function Read_Total_In (Stream : in Stream_Type) return Count; - pragma Inline (Read_Total_In); - -- Return total number of bytes read from back stream so far. - - function Read_Total_Out (Stream : in Stream_Type) return Count; - pragma Inline (Read_Total_Out); - -- Return total number of bytes read so far. - - function Write_Total_In (Stream : in Stream_Type) return Count; - pragma Inline (Write_Total_In); - -- Return total number of bytes written so far. - - function Write_Total_Out (Stream : in Stream_Type) return Count; - pragma Inline (Write_Total_Out); - -- Return total number of bytes written to the back stream. - - procedure Create - (Stream : out Stream_Type; - Mode : in Stream_Mode; - Back : in Stream_Access; - Back_Compressed : in Boolean; - Level : in Compression_Level := Default_Compression; - Strategy : in Strategy_Type := Default_Strategy; - Header : in Header_Type := Default; - Read_Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size; - Write_Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size); - -- Create the Comression/Decompression stream. - -- If mode is In_Stream then Write operation is disabled. - -- If mode is Out_Stream then Read operation is disabled. - - -- If Back_Compressed is true then - -- Data written to the Stream is compressing to the Back stream - -- and data read from the Stream is decompressed data from the Back stream. - - -- If Back_Compressed is false then - -- Data written to the Stream is decompressing to the Back stream - -- and data read from the Stream is compressed data from the Back stream. - - -- !!! When the Need_Header is False ZLib-Ada is using undocumented - -- ZLib 1.1.4 functionality to do not create/wait for ZLib headers. - - function Is_Open (Stream : Stream_Type) return Boolean; - - procedure Close (Stream : in out Stream_Type); - -private - - use Ada.Streams; - - type Buffer_Access is access all Stream_Element_Array; - - type Stream_Type - is new Root_Stream_Type with - record - Mode : Stream_Mode; - - Buffer : Buffer_Access; - Rest_First : Stream_Element_Offset; - Rest_Last : Stream_Element_Offset; - -- Buffer for Read operation. - -- We need to have this buffer in the record - -- becouse not all read data from back stream - -- could be processed during the read operation. - - Buffer_Size : Stream_Element_Offset; - -- Buffer size for write operation. - -- We do not need to have this buffer - -- in the record becouse all data could be - -- processed in the write operation. - - Back : Stream_Access; - Reader : Filter_Type; - Writer : Filter_Type; - end record; - -end ZLib.Streams; diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/zlib-thin.adb b/protocols/Telegram/tgl/zlib/contrib/ada/zlib-thin.adb deleted file mode 100644 index 0ca4a71204..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/zlib-thin.adb +++ /dev/null @@ -1,141 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: zlib-thin.adb,v 1.8 2003/12/14 18:27:31 vagul Exp $ - -package body ZLib.Thin is - - ZLIB_VERSION : constant Chars_Ptr := zlibVersion; - - Z_Stream_Size : constant Int := Z_Stream'Size / System.Storage_Unit; - - -------------- - -- Avail_In -- - -------------- - - function Avail_In (Strm : in Z_Stream) return UInt is - begin - return Strm.Avail_In; - end Avail_In; - - --------------- - -- Avail_Out -- - --------------- - - function Avail_Out (Strm : in Z_Stream) return UInt is - begin - return Strm.Avail_Out; - end Avail_Out; - - ------------------ - -- Deflate_Init -- - ------------------ - - function Deflate_Init - (strm : Z_Streamp; - level : Int; - method : Int; - windowBits : Int; - memLevel : Int; - strategy : Int) - return Int is - begin - return deflateInit2 - (strm, - level, - method, - windowBits, - memLevel, - strategy, - ZLIB_VERSION, - Z_Stream_Size); - end Deflate_Init; - - ------------------ - -- Inflate_Init -- - ------------------ - - function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int is - begin - return inflateInit2 (strm, windowBits, ZLIB_VERSION, Z_Stream_Size); - end Inflate_Init; - - ------------------------ - -- Last_Error_Message -- - ------------------------ - - function Last_Error_Message (Strm : in Z_Stream) return String is - use Interfaces.C.Strings; - begin - if Strm.msg = Null_Ptr then - return ""; - else - return Value (Strm.msg); - end if; - end Last_Error_Message; - - ------------ - -- Set_In -- - ------------ - - procedure Set_In - (Strm : in out Z_Stream; - Buffer : in Voidp; - Size : in UInt) is - begin - Strm.Next_In := Buffer; - Strm.Avail_In := Size; - end Set_In; - - ------------------ - -- Set_Mem_Func -- - ------------------ - - procedure Set_Mem_Func - (Strm : in out Z_Stream; - Opaque : in Voidp; - Alloc : in alloc_func; - Free : in free_func) is - begin - Strm.opaque := Opaque; - Strm.zalloc := Alloc; - Strm.zfree := Free; - end Set_Mem_Func; - - ------------- - -- Set_Out -- - ------------- - - procedure Set_Out - (Strm : in out Z_Stream; - Buffer : in Voidp; - Size : in UInt) is - begin - Strm.Next_Out := Buffer; - Strm.Avail_Out := Size; - end Set_Out; - - -------------- - -- Total_In -- - -------------- - - function Total_In (Strm : in Z_Stream) return ULong is - begin - return Strm.Total_In; - end Total_In; - - --------------- - -- Total_Out -- - --------------- - - function Total_Out (Strm : in Z_Stream) return ULong is - begin - return Strm.Total_Out; - end Total_Out; - -end ZLib.Thin; diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/zlib-thin.ads b/protocols/Telegram/tgl/zlib/contrib/ada/zlib-thin.ads deleted file mode 100644 index d4407eb800..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/zlib-thin.ads +++ /dev/null @@ -1,450 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: zlib-thin.ads,v 1.11 2004/07/23 06:33:11 vagul Exp $ - -with Interfaces.C.Strings; - -with System; - -private package ZLib.Thin is - - -- From zconf.h - - MAX_MEM_LEVEL : constant := 9; -- zconf.h:105 - -- zconf.h:105 - MAX_WBITS : constant := 15; -- zconf.h:115 - -- 32K LZ77 window - -- zconf.h:115 - SEEK_SET : constant := 8#0000#; -- zconf.h:244 - -- Seek from beginning of file. - -- zconf.h:244 - SEEK_CUR : constant := 1; -- zconf.h:245 - -- Seek from current position. - -- zconf.h:245 - SEEK_END : constant := 2; -- zconf.h:246 - -- Set file pointer to EOF plus "offset" - -- zconf.h:246 - - type Byte is new Interfaces.C.unsigned_char; -- 8 bits - -- zconf.h:214 - type UInt is new Interfaces.C.unsigned; -- 16 bits or more - -- zconf.h:216 - type Int is new Interfaces.C.int; - - type ULong is new Interfaces.C.unsigned_long; -- 32 bits or more - -- zconf.h:217 - subtype Chars_Ptr is Interfaces.C.Strings.chars_ptr; - - type ULong_Access is access ULong; - type Int_Access is access Int; - - subtype Voidp is System.Address; -- zconf.h:232 - - subtype Byte_Access is Voidp; - - Nul : constant Voidp := System.Null_Address; - -- end from zconf - - Z_NO_FLUSH : constant := 8#0000#; -- zlib.h:125 - -- zlib.h:125 - Z_PARTIAL_FLUSH : constant := 1; -- zlib.h:126 - -- will be removed, use - -- Z_SYNC_FLUSH instead - -- zlib.h:126 - Z_SYNC_FLUSH : constant := 2; -- zlib.h:127 - -- zlib.h:127 - Z_FULL_FLUSH : constant := 3; -- zlib.h:128 - -- zlib.h:128 - Z_FINISH : constant := 4; -- zlib.h:129 - -- zlib.h:129 - Z_OK : constant := 8#0000#; -- zlib.h:132 - -- zlib.h:132 - Z_STREAM_END : constant := 1; -- zlib.h:133 - -- zlib.h:133 - Z_NEED_DICT : constant := 2; -- zlib.h:134 - -- zlib.h:134 - Z_ERRNO : constant := -1; -- zlib.h:135 - -- zlib.h:135 - Z_STREAM_ERROR : constant := -2; -- zlib.h:136 - -- zlib.h:136 - Z_DATA_ERROR : constant := -3; -- zlib.h:137 - -- zlib.h:137 - Z_MEM_ERROR : constant := -4; -- zlib.h:138 - -- zlib.h:138 - Z_BUF_ERROR : constant := -5; -- zlib.h:139 - -- zlib.h:139 - Z_VERSION_ERROR : constant := -6; -- zlib.h:140 - -- zlib.h:140 - Z_NO_COMPRESSION : constant := 8#0000#; -- zlib.h:145 - -- zlib.h:145 - Z_BEST_SPEED : constant := 1; -- zlib.h:146 - -- zlib.h:146 - Z_BEST_COMPRESSION : constant := 9; -- zlib.h:147 - -- zlib.h:147 - Z_DEFAULT_COMPRESSION : constant := -1; -- zlib.h:148 - -- zlib.h:148 - Z_FILTERED : constant := 1; -- zlib.h:151 - -- zlib.h:151 - Z_HUFFMAN_ONLY : constant := 2; -- zlib.h:152 - -- zlib.h:152 - Z_DEFAULT_STRATEGY : constant := 8#0000#; -- zlib.h:153 - -- zlib.h:153 - Z_BINARY : constant := 8#0000#; -- zlib.h:156 - -- zlib.h:156 - Z_ASCII : constant := 1; -- zlib.h:157 - -- zlib.h:157 - Z_UNKNOWN : constant := 2; -- zlib.h:158 - -- zlib.h:158 - Z_DEFLATED : constant := 8; -- zlib.h:161 - -- zlib.h:161 - Z_NULL : constant := 8#0000#; -- zlib.h:164 - -- for initializing zalloc, zfree, opaque - -- zlib.h:164 - type gzFile is new Voidp; -- zlib.h:646 - - type Z_Stream is private; - - type Z_Streamp is access all Z_Stream; -- zlib.h:89 - - type alloc_func is access function - (Opaque : Voidp; - Items : UInt; - Size : UInt) - return Voidp; -- zlib.h:63 - - type free_func is access procedure (opaque : Voidp; address : Voidp); - - function zlibVersion return Chars_Ptr; - - function Deflate (strm : Z_Streamp; flush : Int) return Int; - - function DeflateEnd (strm : Z_Streamp) return Int; - - function Inflate (strm : Z_Streamp; flush : Int) return Int; - - function InflateEnd (strm : Z_Streamp) return Int; - - function deflateSetDictionary - (strm : Z_Streamp; - dictionary : Byte_Access; - dictLength : UInt) - return Int; - - function deflateCopy (dest : Z_Streamp; source : Z_Streamp) return Int; - -- zlib.h:478 - - function deflateReset (strm : Z_Streamp) return Int; -- zlib.h:495 - - function deflateParams - (strm : Z_Streamp; - level : Int; - strategy : Int) - return Int; -- zlib.h:506 - - function inflateSetDictionary - (strm : Z_Streamp; - dictionary : Byte_Access; - dictLength : UInt) - return Int; -- zlib.h:548 - - function inflateSync (strm : Z_Streamp) return Int; -- zlib.h:565 - - function inflateReset (strm : Z_Streamp) return Int; -- zlib.h:580 - - function compress - (dest : Byte_Access; - destLen : ULong_Access; - source : Byte_Access; - sourceLen : ULong) - return Int; -- zlib.h:601 - - function compress2 - (dest : Byte_Access; - destLen : ULong_Access; - source : Byte_Access; - sourceLen : ULong; - level : Int) - return Int; -- zlib.h:615 - - function uncompress - (dest : Byte_Access; - destLen : ULong_Access; - source : Byte_Access; - sourceLen : ULong) - return Int; - - function gzopen (path : Chars_Ptr; mode : Chars_Ptr) return gzFile; - - function gzdopen (fd : Int; mode : Chars_Ptr) return gzFile; - - function gzsetparams - (file : gzFile; - level : Int; - strategy : Int) - return Int; - - function gzread - (file : gzFile; - buf : Voidp; - len : UInt) - return Int; - - function gzwrite - (file : in gzFile; - buf : in Voidp; - len : in UInt) - return Int; - - function gzprintf (file : in gzFile; format : in Chars_Ptr) return Int; - - function gzputs (file : in gzFile; s : in Chars_Ptr) return Int; - - function gzgets - (file : gzFile; - buf : Chars_Ptr; - len : Int) - return Chars_Ptr; - - function gzputc (file : gzFile; char : Int) return Int; - - function gzgetc (file : gzFile) return Int; - - function gzflush (file : gzFile; flush : Int) return Int; - - function gzseek - (file : gzFile; - offset : Int; - whence : Int) - return Int; - - function gzrewind (file : gzFile) return Int; - - function gztell (file : gzFile) return Int; - - function gzeof (file : gzFile) return Int; - - function gzclose (file : gzFile) return Int; - - function gzerror (file : gzFile; errnum : Int_Access) return Chars_Ptr; - - function adler32 - (adler : ULong; - buf : Byte_Access; - len : UInt) - return ULong; - - function crc32 - (crc : ULong; - buf : Byte_Access; - len : UInt) - return ULong; - - function deflateInit - (strm : Z_Streamp; - level : Int; - version : Chars_Ptr; - stream_size : Int) - return Int; - - function deflateInit2 - (strm : Z_Streamp; - level : Int; - method : Int; - windowBits : Int; - memLevel : Int; - strategy : Int; - version : Chars_Ptr; - stream_size : Int) - return Int; - - function Deflate_Init - (strm : Z_Streamp; - level : Int; - method : Int; - windowBits : Int; - memLevel : Int; - strategy : Int) - return Int; - pragma Inline (Deflate_Init); - - function inflateInit - (strm : Z_Streamp; - version : Chars_Ptr; - stream_size : Int) - return Int; - - function inflateInit2 - (strm : in Z_Streamp; - windowBits : in Int; - version : in Chars_Ptr; - stream_size : in Int) - return Int; - - function inflateBackInit - (strm : in Z_Streamp; - windowBits : in Int; - window : in Byte_Access; - version : in Chars_Ptr; - stream_size : in Int) - return Int; - -- Size of window have to be 2**windowBits. - - function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int; - pragma Inline (Inflate_Init); - - function zError (err : Int) return Chars_Ptr; - - function inflateSyncPoint (z : Z_Streamp) return Int; - - function get_crc_table return ULong_Access; - - -- Interface to the available fields of the z_stream structure. - -- The application must update next_in and avail_in when avail_in has - -- dropped to zero. It must update next_out and avail_out when avail_out - -- has dropped to zero. The application must initialize zalloc, zfree and - -- opaque before calling the init function. - - procedure Set_In - (Strm : in out Z_Stream; - Buffer : in Voidp; - Size : in UInt); - pragma Inline (Set_In); - - procedure Set_Out - (Strm : in out Z_Stream; - Buffer : in Voidp; - Size : in UInt); - pragma Inline (Set_Out); - - procedure Set_Mem_Func - (Strm : in out Z_Stream; - Opaque : in Voidp; - Alloc : in alloc_func; - Free : in free_func); - pragma Inline (Set_Mem_Func); - - function Last_Error_Message (Strm : in Z_Stream) return String; - pragma Inline (Last_Error_Message); - - function Avail_Out (Strm : in Z_Stream) return UInt; - pragma Inline (Avail_Out); - - function Avail_In (Strm : in Z_Stream) return UInt; - pragma Inline (Avail_In); - - function Total_In (Strm : in Z_Stream) return ULong; - pragma Inline (Total_In); - - function Total_Out (Strm : in Z_Stream) return ULong; - pragma Inline (Total_Out); - - function inflateCopy - (dest : in Z_Streamp; - Source : in Z_Streamp) - return Int; - - function compressBound (Source_Len : in ULong) return ULong; - - function deflateBound - (Strm : in Z_Streamp; - Source_Len : in ULong) - return ULong; - - function gzungetc (C : in Int; File : in gzFile) return Int; - - function zlibCompileFlags return ULong; - -private - - type Z_Stream is record -- zlib.h:68 - Next_In : Voidp := Nul; -- next input byte - Avail_In : UInt := 0; -- number of bytes available at next_in - Total_In : ULong := 0; -- total nb of input bytes read so far - Next_Out : Voidp := Nul; -- next output byte should be put there - Avail_Out : UInt := 0; -- remaining free space at next_out - Total_Out : ULong := 0; -- total nb of bytes output so far - msg : Chars_Ptr; -- last error message, NULL if no error - state : Voidp; -- not visible by applications - zalloc : alloc_func := null; -- used to allocate the internal state - zfree : free_func := null; -- used to free the internal state - opaque : Voidp; -- private data object passed to - -- zalloc and zfree - data_type : Int; -- best guess about the data type: - -- ascii or binary - adler : ULong; -- adler32 value of the uncompressed - -- data - reserved : ULong; -- reserved for future use - end record; - - pragma Convention (C, Z_Stream); - - pragma Import (C, zlibVersion, "zlibVersion"); - pragma Import (C, Deflate, "deflate"); - pragma Import (C, DeflateEnd, "deflateEnd"); - pragma Import (C, Inflate, "inflate"); - pragma Import (C, InflateEnd, "inflateEnd"); - pragma Import (C, deflateSetDictionary, "deflateSetDictionary"); - pragma Import (C, deflateCopy, "deflateCopy"); - pragma Import (C, deflateReset, "deflateReset"); - pragma Import (C, deflateParams, "deflateParams"); - pragma Import (C, inflateSetDictionary, "inflateSetDictionary"); - pragma Import (C, inflateSync, "inflateSync"); - pragma Import (C, inflateReset, "inflateReset"); - pragma Import (C, compress, "compress"); - pragma Import (C, compress2, "compress2"); - pragma Import (C, uncompress, "uncompress"); - pragma Import (C, gzopen, "gzopen"); - pragma Import (C, gzdopen, "gzdopen"); - pragma Import (C, gzsetparams, "gzsetparams"); - pragma Import (C, gzread, "gzread"); - pragma Import (C, gzwrite, "gzwrite"); - pragma Import (C, gzprintf, "gzprintf"); - pragma Import (C, gzputs, "gzputs"); - pragma Import (C, gzgets, "gzgets"); - pragma Import (C, gzputc, "gzputc"); - pragma Import (C, gzgetc, "gzgetc"); - pragma Import (C, gzflush, "gzflush"); - pragma Import (C, gzseek, "gzseek"); - pragma Import (C, gzrewind, "gzrewind"); - pragma Import (C, gztell, "gztell"); - pragma Import (C, gzeof, "gzeof"); - pragma Import (C, gzclose, "gzclose"); - pragma Import (C, gzerror, "gzerror"); - pragma Import (C, adler32, "adler32"); - pragma Import (C, crc32, "crc32"); - pragma Import (C, deflateInit, "deflateInit_"); - pragma Import (C, inflateInit, "inflateInit_"); - pragma Import (C, deflateInit2, "deflateInit2_"); - pragma Import (C, inflateInit2, "inflateInit2_"); - pragma Import (C, zError, "zError"); - pragma Import (C, inflateSyncPoint, "inflateSyncPoint"); - pragma Import (C, get_crc_table, "get_crc_table"); - - -- since zlib 1.2.0: - - pragma Import (C, inflateCopy, "inflateCopy"); - pragma Import (C, compressBound, "compressBound"); - pragma Import (C, deflateBound, "deflateBound"); - pragma Import (C, gzungetc, "gzungetc"); - pragma Import (C, zlibCompileFlags, "zlibCompileFlags"); - - pragma Import (C, inflateBackInit, "inflateBackInit_"); - - -- I stopped binding the inflateBack routines, becouse realize that - -- it does not support zlib and gzip headers for now, and have no - -- symmetric deflateBack routines. - -- ZLib-Ada is symmetric regarding deflate/inflate data transformation - -- and has a similar generic callback interface for the - -- deflate/inflate transformation based on the regular Deflate/Inflate - -- routines. - - -- pragma Import (C, inflateBack, "inflateBack"); - -- pragma Import (C, inflateBackEnd, "inflateBackEnd"); - -end ZLib.Thin; diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/zlib.adb b/protocols/Telegram/tgl/zlib/contrib/ada/zlib.adb deleted file mode 100644 index 8b6fd686ac..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/zlib.adb +++ /dev/null @@ -1,701 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2004 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: zlib.adb,v 1.31 2004/09/06 06:53:19 vagul Exp $ - -with Ada.Exceptions; -with Ada.Unchecked_Conversion; -with Ada.Unchecked_Deallocation; - -with Interfaces.C.Strings; - -with ZLib.Thin; - -package body ZLib is - - use type Thin.Int; - - type Z_Stream is new Thin.Z_Stream; - - type Return_Code_Enum is - (OK, - STREAM_END, - NEED_DICT, - ERRNO, - STREAM_ERROR, - DATA_ERROR, - MEM_ERROR, - BUF_ERROR, - VERSION_ERROR); - - type Flate_Step_Function is access - function (Strm : in Thin.Z_Streamp; Flush : in Thin.Int) return Thin.Int; - pragma Convention (C, Flate_Step_Function); - - type Flate_End_Function is access - function (Ctrm : in Thin.Z_Streamp) return Thin.Int; - pragma Convention (C, Flate_End_Function); - - type Flate_Type is record - Step : Flate_Step_Function; - Done : Flate_End_Function; - end record; - - subtype Footer_Array is Stream_Element_Array (1 .. 8); - - Simple_GZip_Header : constant Stream_Element_Array (1 .. 10) - := (16#1f#, 16#8b#, -- Magic header - 16#08#, -- Z_DEFLATED - 16#00#, -- Flags - 16#00#, 16#00#, 16#00#, 16#00#, -- Time - 16#00#, -- XFlags - 16#03# -- OS code - ); - -- The simplest gzip header is not for informational, but just for - -- gzip format compatibility. - -- Note that some code below is using assumption - -- Simple_GZip_Header'Last > Footer_Array'Last, so do not make - -- Simple_GZip_Header'Last <= Footer_Array'Last. - - Return_Code : constant array (Thin.Int range <>) of Return_Code_Enum - := (0 => OK, - 1 => STREAM_END, - 2 => NEED_DICT, - -1 => ERRNO, - -2 => STREAM_ERROR, - -3 => DATA_ERROR, - -4 => MEM_ERROR, - -5 => BUF_ERROR, - -6 => VERSION_ERROR); - - Flate : constant array (Boolean) of Flate_Type - := (True => (Step => Thin.Deflate'Access, - Done => Thin.DeflateEnd'Access), - False => (Step => Thin.Inflate'Access, - Done => Thin.InflateEnd'Access)); - - Flush_Finish : constant array (Boolean) of Flush_Mode - := (True => Finish, False => No_Flush); - - procedure Raise_Error (Stream : in Z_Stream); - pragma Inline (Raise_Error); - - procedure Raise_Error (Message : in String); - pragma Inline (Raise_Error); - - procedure Check_Error (Stream : in Z_Stream; Code : in Thin.Int); - - procedure Free is new Ada.Unchecked_Deallocation - (Z_Stream, Z_Stream_Access); - - function To_Thin_Access is new Ada.Unchecked_Conversion - (Z_Stream_Access, Thin.Z_Streamp); - - procedure Translate_GZip - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode); - -- Separate translate routine for make gzip header. - - procedure Translate_Auto - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode); - -- translate routine without additional headers. - - ----------------- - -- Check_Error -- - ----------------- - - procedure Check_Error (Stream : in Z_Stream; Code : in Thin.Int) is - use type Thin.Int; - begin - if Code /= Thin.Z_OK then - Raise_Error - (Return_Code_Enum'Image (Return_Code (Code)) - & ": " & Last_Error_Message (Stream)); - end if; - end Check_Error; - - ----------- - -- Close -- - ----------- - - procedure Close - (Filter : in out Filter_Type; - Ignore_Error : in Boolean := False) - is - Code : Thin.Int; - begin - if not Ignore_Error and then not Is_Open (Filter) then - raise Status_Error; - end if; - - Code := Flate (Filter.Compression).Done (To_Thin_Access (Filter.Strm)); - - if Ignore_Error or else Code = Thin.Z_OK then - Free (Filter.Strm); - else - declare - Error_Message : constant String - := Last_Error_Message (Filter.Strm.all); - begin - Free (Filter.Strm); - Ada.Exceptions.Raise_Exception - (ZLib_Error'Identity, - Return_Code_Enum'Image (Return_Code (Code)) - & ": " & Error_Message); - end; - end if; - end Close; - - ----------- - -- CRC32 -- - ----------- - - function CRC32 - (CRC : in Unsigned_32; - Data : in Ada.Streams.Stream_Element_Array) - return Unsigned_32 - is - use Thin; - begin - return Unsigned_32 (crc32 (ULong (CRC), - Data'Address, - Data'Length)); - end CRC32; - - procedure CRC32 - (CRC : in out Unsigned_32; - Data : in Ada.Streams.Stream_Element_Array) is - begin - CRC := CRC32 (CRC, Data); - end CRC32; - - ------------------ - -- Deflate_Init -- - ------------------ - - procedure Deflate_Init - (Filter : in out Filter_Type; - Level : in Compression_Level := Default_Compression; - Strategy : in Strategy_Type := Default_Strategy; - Method : in Compression_Method := Deflated; - Window_Bits : in Window_Bits_Type := Default_Window_Bits; - Memory_Level : in Memory_Level_Type := Default_Memory_Level; - Header : in Header_Type := Default) - is - use type Thin.Int; - Win_Bits : Thin.Int := Thin.Int (Window_Bits); - begin - if Is_Open (Filter) then - raise Status_Error; - end if; - - -- We allow ZLib to make header only in case of default header type. - -- Otherwise we would either do header by ourselfs, or do not do - -- header at all. - - if Header = None or else Header = GZip then - Win_Bits := -Win_Bits; - end if; - - -- For the GZip CRC calculation and make headers. - - if Header = GZip then - Filter.CRC := 0; - Filter.Offset := Simple_GZip_Header'First; - else - Filter.Offset := Simple_GZip_Header'Last + 1; - end if; - - Filter.Strm := new Z_Stream; - Filter.Compression := True; - Filter.Stream_End := False; - Filter.Header := Header; - - if Thin.Deflate_Init - (To_Thin_Access (Filter.Strm), - Level => Thin.Int (Level), - method => Thin.Int (Method), - windowBits => Win_Bits, - memLevel => Thin.Int (Memory_Level), - strategy => Thin.Int (Strategy)) /= Thin.Z_OK - then - Raise_Error (Filter.Strm.all); - end if; - end Deflate_Init; - - ----------- - -- Flush -- - ----------- - - procedure Flush - (Filter : in out Filter_Type; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode) - is - No_Data : Stream_Element_Array := (1 .. 0 => 0); - Last : Stream_Element_Offset; - begin - Translate (Filter, No_Data, Last, Out_Data, Out_Last, Flush); - end Flush; - - ----------------------- - -- Generic_Translate -- - ----------------------- - - procedure Generic_Translate - (Filter : in out ZLib.Filter_Type; - In_Buffer_Size : in Integer := Default_Buffer_Size; - Out_Buffer_Size : in Integer := Default_Buffer_Size) - is - In_Buffer : Stream_Element_Array - (1 .. Stream_Element_Offset (In_Buffer_Size)); - Out_Buffer : Stream_Element_Array - (1 .. Stream_Element_Offset (Out_Buffer_Size)); - Last : Stream_Element_Offset; - In_Last : Stream_Element_Offset; - In_First : Stream_Element_Offset; - Out_Last : Stream_Element_Offset; - begin - Main : loop - Data_In (In_Buffer, Last); - - In_First := In_Buffer'First; - - loop - Translate - (Filter => Filter, - In_Data => In_Buffer (In_First .. Last), - In_Last => In_Last, - Out_Data => Out_Buffer, - Out_Last => Out_Last, - Flush => Flush_Finish (Last < In_Buffer'First)); - - if Out_Buffer'First <= Out_Last then - Data_Out (Out_Buffer (Out_Buffer'First .. Out_Last)); - end if; - - exit Main when Stream_End (Filter); - - -- The end of in buffer. - - exit when In_Last = Last; - - In_First := In_Last + 1; - end loop; - end loop Main; - - end Generic_Translate; - - ------------------ - -- Inflate_Init -- - ------------------ - - procedure Inflate_Init - (Filter : in out Filter_Type; - Window_Bits : in Window_Bits_Type := Default_Window_Bits; - Header : in Header_Type := Default) - is - use type Thin.Int; - Win_Bits : Thin.Int := Thin.Int (Window_Bits); - - procedure Check_Version; - -- Check the latest header types compatibility. - - procedure Check_Version is - begin - if Version <= "1.1.4" then - Raise_Error - ("Inflate header type " & Header_Type'Image (Header) - & " incompatible with ZLib version " & Version); - end if; - end Check_Version; - - begin - if Is_Open (Filter) then - raise Status_Error; - end if; - - case Header is - when None => - Check_Version; - - -- Inflate data without headers determined - -- by negative Win_Bits. - - Win_Bits := -Win_Bits; - when GZip => - Check_Version; - - -- Inflate gzip data defined by flag 16. - - Win_Bits := Win_Bits + 16; - when Auto => - Check_Version; - - -- Inflate with automatic detection - -- of gzip or native header defined by flag 32. - - Win_Bits := Win_Bits + 32; - when Default => null; - end case; - - Filter.Strm := new Z_Stream; - Filter.Compression := False; - Filter.Stream_End := False; - Filter.Header := Header; - - if Thin.Inflate_Init - (To_Thin_Access (Filter.Strm), Win_Bits) /= Thin.Z_OK - then - Raise_Error (Filter.Strm.all); - end if; - end Inflate_Init; - - ------------- - -- Is_Open -- - ------------- - - function Is_Open (Filter : in Filter_Type) return Boolean is - begin - return Filter.Strm /= null; - end Is_Open; - - ----------------- - -- Raise_Error -- - ----------------- - - procedure Raise_Error (Message : in String) is - begin - Ada.Exceptions.Raise_Exception (ZLib_Error'Identity, Message); - end Raise_Error; - - procedure Raise_Error (Stream : in Z_Stream) is - begin - Raise_Error (Last_Error_Message (Stream)); - end Raise_Error; - - ---------- - -- Read -- - ---------- - - procedure Read - (Filter : in out Filter_Type; - Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode := No_Flush) - is - In_Last : Stream_Element_Offset; - Item_First : Ada.Streams.Stream_Element_Offset := Item'First; - V_Flush : Flush_Mode := Flush; - - begin - pragma Assert (Rest_First in Buffer'First .. Buffer'Last + 1); - pragma Assert (Rest_Last in Buffer'First - 1 .. Buffer'Last); - - loop - if Rest_Last = Buffer'First - 1 then - V_Flush := Finish; - - elsif Rest_First > Rest_Last then - Read (Buffer, Rest_Last); - Rest_First := Buffer'First; - - if Rest_Last < Buffer'First then - V_Flush := Finish; - end if; - end if; - - Translate - (Filter => Filter, - In_Data => Buffer (Rest_First .. Rest_Last), - In_Last => In_Last, - Out_Data => Item (Item_First .. Item'Last), - Out_Last => Last, - Flush => V_Flush); - - Rest_First := In_Last + 1; - - exit when Stream_End (Filter) - or else Last = Item'Last - or else (Last >= Item'First and then Allow_Read_Some); - - Item_First := Last + 1; - end loop; - end Read; - - ---------------- - -- Stream_End -- - ---------------- - - function Stream_End (Filter : in Filter_Type) return Boolean is - begin - if Filter.Header = GZip and Filter.Compression then - return Filter.Stream_End - and then Filter.Offset = Footer_Array'Last + 1; - else - return Filter.Stream_End; - end if; - end Stream_End; - - -------------- - -- Total_In -- - -------------- - - function Total_In (Filter : in Filter_Type) return Count is - begin - return Count (Thin.Total_In (To_Thin_Access (Filter.Strm).all)); - end Total_In; - - --------------- - -- Total_Out -- - --------------- - - function Total_Out (Filter : in Filter_Type) return Count is - begin - return Count (Thin.Total_Out (To_Thin_Access (Filter.Strm).all)); - end Total_Out; - - --------------- - -- Translate -- - --------------- - - procedure Translate - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode) is - begin - if Filter.Header = GZip and then Filter.Compression then - Translate_GZip - (Filter => Filter, - In_Data => In_Data, - In_Last => In_Last, - Out_Data => Out_Data, - Out_Last => Out_Last, - Flush => Flush); - else - Translate_Auto - (Filter => Filter, - In_Data => In_Data, - In_Last => In_Last, - Out_Data => Out_Data, - Out_Last => Out_Last, - Flush => Flush); - end if; - end Translate; - - -------------------- - -- Translate_Auto -- - -------------------- - - procedure Translate_Auto - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode) - is - use type Thin.Int; - Code : Thin.Int; - - begin - if not Is_Open (Filter) then - raise Status_Error; - end if; - - if Out_Data'Length = 0 and then In_Data'Length = 0 then - raise Constraint_Error; - end if; - - Set_Out (Filter.Strm.all, Out_Data'Address, Out_Data'Length); - Set_In (Filter.Strm.all, In_Data'Address, In_Data'Length); - - Code := Flate (Filter.Compression).Step - (To_Thin_Access (Filter.Strm), - Thin.Int (Flush)); - - if Code = Thin.Z_STREAM_END then - Filter.Stream_End := True; - else - Check_Error (Filter.Strm.all, Code); - end if; - - In_Last := In_Data'Last - - Stream_Element_Offset (Avail_In (Filter.Strm.all)); - Out_Last := Out_Data'Last - - Stream_Element_Offset (Avail_Out (Filter.Strm.all)); - end Translate_Auto; - - -------------------- - -- Translate_GZip -- - -------------------- - - procedure Translate_GZip - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode) - is - Out_First : Stream_Element_Offset; - - procedure Add_Data (Data : in Stream_Element_Array); - -- Add data to stream from the Filter.Offset till necessary, - -- used for add gzip headr/footer. - - procedure Put_32 - (Item : in out Stream_Element_Array; - Data : in Unsigned_32); - pragma Inline (Put_32); - - -------------- - -- Add_Data -- - -------------- - - procedure Add_Data (Data : in Stream_Element_Array) is - Data_First : Stream_Element_Offset renames Filter.Offset; - Data_Last : Stream_Element_Offset; - Data_Len : Stream_Element_Offset; -- -1 - Out_Len : Stream_Element_Offset; -- -1 - begin - Out_First := Out_Last + 1; - - if Data_First > Data'Last then - return; - end if; - - Data_Len := Data'Last - Data_First; - Out_Len := Out_Data'Last - Out_First; - - if Data_Len <= Out_Len then - Out_Last := Out_First + Data_Len; - Data_Last := Data'Last; - else - Out_Last := Out_Data'Last; - Data_Last := Data_First + Out_Len; - end if; - - Out_Data (Out_First .. Out_Last) := Data (Data_First .. Data_Last); - - Data_First := Data_Last + 1; - Out_First := Out_Last + 1; - end Add_Data; - - ------------ - -- Put_32 -- - ------------ - - procedure Put_32 - (Item : in out Stream_Element_Array; - Data : in Unsigned_32) - is - D : Unsigned_32 := Data; - begin - for J in Item'First .. Item'First + 3 loop - Item (J) := Stream_Element (D and 16#FF#); - D := Shift_Right (D, 8); - end loop; - end Put_32; - - begin - Out_Last := Out_Data'First - 1; - - if not Filter.Stream_End then - Add_Data (Simple_GZip_Header); - - Translate_Auto - (Filter => Filter, - In_Data => In_Data, - In_Last => In_Last, - Out_Data => Out_Data (Out_First .. Out_Data'Last), - Out_Last => Out_Last, - Flush => Flush); - - CRC32 (Filter.CRC, In_Data (In_Data'First .. In_Last)); - end if; - - if Filter.Stream_End and then Out_Last <= Out_Data'Last then - -- This detection method would work only when - -- Simple_GZip_Header'Last > Footer_Array'Last - - if Filter.Offset = Simple_GZip_Header'Last + 1 then - Filter.Offset := Footer_Array'First; - end if; - - declare - Footer : Footer_Array; - begin - Put_32 (Footer, Filter.CRC); - Put_32 (Footer (Footer'First + 4 .. Footer'Last), - Unsigned_32 (Total_In (Filter))); - Add_Data (Footer); - end; - end if; - end Translate_GZip; - - ------------- - -- Version -- - ------------- - - function Version return String is - begin - return Interfaces.C.Strings.Value (Thin.zlibVersion); - end Version; - - ----------- - -- Write -- - ----------- - - procedure Write - (Filter : in out Filter_Type; - Item : in Ada.Streams.Stream_Element_Array; - Flush : in Flush_Mode := No_Flush) - is - Buffer : Stream_Element_Array (1 .. Buffer_Size); - In_Last : Stream_Element_Offset; - Out_Last : Stream_Element_Offset; - In_First : Stream_Element_Offset := Item'First; - begin - if Item'Length = 0 and Flush = No_Flush then - return; - end if; - - loop - Translate - (Filter => Filter, - In_Data => Item (In_First .. Item'Last), - In_Last => In_Last, - Out_Data => Buffer, - Out_Last => Out_Last, - Flush => Flush); - - if Out_Last >= Buffer'First then - Write (Buffer (1 .. Out_Last)); - end if; - - exit when In_Last = Item'Last or Stream_End (Filter); - - In_First := In_Last + 1; - end loop; - end Write; - -end ZLib; diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/zlib.ads b/protocols/Telegram/tgl/zlib/contrib/ada/zlib.ads deleted file mode 100644 index 79ffc4095c..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/zlib.ads +++ /dev/null @@ -1,328 +0,0 @@ ------------------------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2004 Dmitriy Anisimkov -- --- -- --- This library is free software; you can redistribute it and/or modify -- --- it under the terms of the GNU General Public License as published by -- --- the Free Software Foundation; either version 2 of the License, or (at -- --- your option) any later version. -- --- -- --- This library is distributed in the hope that it will be useful, but -- --- WITHOUT ANY WARRANTY; without even the implied warranty of -- --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- --- General Public License for more details. -- --- -- --- You should have received a copy of the GNU General Public License -- --- along with this library; if not, write to the Free Software Foundation, -- --- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- --- -- --- As a special exception, if other files instantiate generics from this -- --- unit, or you link this unit with other files to produce an executable, -- --- this unit does not by itself cause the resulting executable to be -- --- covered by the GNU General Public License. This exception does not -- --- however invalidate any other reasons why the executable file might be -- --- covered by the GNU Public License. -- ------------------------------------------------------------------------------- - --- $Id: zlib.ads,v 1.26 2004/09/06 06:53:19 vagul Exp $ - -with Ada.Streams; - -with Interfaces; - -package ZLib is - - ZLib_Error : exception; - Status_Error : exception; - - type Compression_Level is new Integer range -1 .. 9; - - type Flush_Mode is private; - - type Compression_Method is private; - - type Window_Bits_Type is new Integer range 8 .. 15; - - type Memory_Level_Type is new Integer range 1 .. 9; - - type Unsigned_32 is new Interfaces.Unsigned_32; - - type Strategy_Type is private; - - type Header_Type is (None, Auto, Default, GZip); - -- Header type usage have a some limitation for inflate. - -- See comment for Inflate_Init. - - subtype Count is Ada.Streams.Stream_Element_Count; - - Default_Memory_Level : constant Memory_Level_Type := 8; - Default_Window_Bits : constant Window_Bits_Type := 15; - - ---------------------------------- - -- Compression method constants -- - ---------------------------------- - - Deflated : constant Compression_Method; - -- Only one method allowed in this ZLib version - - --------------------------------- - -- Compression level constants -- - --------------------------------- - - No_Compression : constant Compression_Level := 0; - Best_Speed : constant Compression_Level := 1; - Best_Compression : constant Compression_Level := 9; - Default_Compression : constant Compression_Level := -1; - - -------------------------- - -- Flush mode constants -- - -------------------------- - - No_Flush : constant Flush_Mode; - -- Regular way for compression, no flush - - Partial_Flush : constant Flush_Mode; - -- Will be removed, use Z_SYNC_FLUSH instead - - Sync_Flush : constant Flush_Mode; - -- All pending output is flushed to the output buffer and the output - -- is aligned on a byte boundary, so that the decompressor can get all - -- input data available so far. (In particular avail_in is zero after the - -- call if enough output space has been provided before the call.) - -- Flushing may degrade compression for some compression algorithms and so - -- it should be used only when necessary. - - Block_Flush : constant Flush_Mode; - -- Z_BLOCK requests that inflate() stop - -- if and when it get to the next deflate block boundary. When decoding the - -- zlib or gzip format, this will cause inflate() to return immediately - -- after the header and before the first block. When doing a raw inflate, - -- inflate() will go ahead and process the first block, and will return - -- when it gets to the end of that block, or when it runs out of data. - - Full_Flush : constant Flush_Mode; - -- All output is flushed as with SYNC_FLUSH, and the compression state - -- is reset so that decompression can restart from this point if previous - -- compressed data has been damaged or if random access is desired. Using - -- Full_Flush too often can seriously degrade the compression. - - Finish : constant Flush_Mode; - -- Just for tell the compressor that input data is complete. - - ------------------------------------ - -- Compression strategy constants -- - ------------------------------------ - - -- RLE stategy could be used only in version 1.2.0 and later. - - Filtered : constant Strategy_Type; - Huffman_Only : constant Strategy_Type; - RLE : constant Strategy_Type; - Default_Strategy : constant Strategy_Type; - - Default_Buffer_Size : constant := 4096; - - type Filter_Type is tagged limited private; - -- The filter is for compression and for decompression. - -- The usage of the type is depend of its initialization. - - function Version return String; - pragma Inline (Version); - -- Return string representation of the ZLib version. - - procedure Deflate_Init - (Filter : in out Filter_Type; - Level : in Compression_Level := Default_Compression; - Strategy : in Strategy_Type := Default_Strategy; - Method : in Compression_Method := Deflated; - Window_Bits : in Window_Bits_Type := Default_Window_Bits; - Memory_Level : in Memory_Level_Type := Default_Memory_Level; - Header : in Header_Type := Default); - -- Compressor initialization. - -- When Header parameter is Auto or Default, then default zlib header - -- would be provided for compressed data. - -- When Header is GZip, then gzip header would be set instead of - -- default header. - -- When Header is None, no header would be set for compressed data. - - procedure Inflate_Init - (Filter : in out Filter_Type; - Window_Bits : in Window_Bits_Type := Default_Window_Bits; - Header : in Header_Type := Default); - -- Decompressor initialization. - -- Default header type mean that ZLib default header is expecting in the - -- input compressed stream. - -- Header type None mean that no header is expecting in the input stream. - -- GZip header type mean that GZip header is expecting in the - -- input compressed stream. - -- Auto header type mean that header type (GZip or Native) would be - -- detected automatically in the input stream. - -- Note that header types parameter values None, GZip and Auto are - -- supported for inflate routine only in ZLib versions 1.2.0.2 and later. - -- Deflate_Init is supporting all header types. - - function Is_Open (Filter : in Filter_Type) return Boolean; - pragma Inline (Is_Open); - -- Is the filter opened for compression or decompression. - - procedure Close - (Filter : in out Filter_Type; - Ignore_Error : in Boolean := False); - -- Closing the compression or decompressor. - -- If stream is closing before the complete and Ignore_Error is False, - -- The exception would be raised. - - generic - with procedure Data_In - (Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset); - with procedure Data_Out - (Item : in Ada.Streams.Stream_Element_Array); - procedure Generic_Translate - (Filter : in out Filter_Type; - In_Buffer_Size : in Integer := Default_Buffer_Size; - Out_Buffer_Size : in Integer := Default_Buffer_Size); - -- Compress/decompress data fetch from Data_In routine and pass the result - -- to the Data_Out routine. User should provide Data_In and Data_Out - -- for compression/decompression data flow. - -- Compression or decompression depend on Filter initialization. - - function Total_In (Filter : in Filter_Type) return Count; - pragma Inline (Total_In); - -- Returns total number of input bytes read so far - - function Total_Out (Filter : in Filter_Type) return Count; - pragma Inline (Total_Out); - -- Returns total number of bytes output so far - - function CRC32 - (CRC : in Unsigned_32; - Data : in Ada.Streams.Stream_Element_Array) - return Unsigned_32; - pragma Inline (CRC32); - -- Compute CRC32, it could be necessary for make gzip format - - procedure CRC32 - (CRC : in out Unsigned_32; - Data : in Ada.Streams.Stream_Element_Array); - pragma Inline (CRC32); - -- Compute CRC32, it could be necessary for make gzip format - - ------------------------------------------------- - -- Below is more complex low level routines. -- - ------------------------------------------------- - - procedure Translate - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode); - -- Compress/decompress the In_Data buffer and place the result into - -- Out_Data. In_Last is the index of last element from In_Data accepted by - -- the Filter. Out_Last is the last element of the received data from - -- Filter. To tell the filter that incoming data are complete put the - -- Flush parameter to Finish. - - function Stream_End (Filter : in Filter_Type) return Boolean; - pragma Inline (Stream_End); - -- Return the true when the stream is complete. - - procedure Flush - (Filter : in out Filter_Type; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode); - pragma Inline (Flush); - -- Flushing the data from the compressor. - - generic - with procedure Write - (Item : in Ada.Streams.Stream_Element_Array); - -- User should provide this routine for accept - -- compressed/decompressed data. - - Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size; - -- Buffer size for Write user routine. - - procedure Write - (Filter : in out Filter_Type; - Item : in Ada.Streams.Stream_Element_Array; - Flush : in Flush_Mode := No_Flush); - -- Compress/Decompress data from Item to the generic parameter procedure - -- Write. Output buffer size could be set in Buffer_Size generic parameter. - - generic - with procedure Read - (Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset); - -- User should provide data for compression/decompression - -- thru this routine. - - Buffer : in out Ada.Streams.Stream_Element_Array; - -- Buffer for keep remaining data from the previous - -- back read. - - Rest_First, Rest_Last : in out Ada.Streams.Stream_Element_Offset; - -- Rest_First have to be initialized to Buffer'Last + 1 - -- Rest_Last have to be initialized to Buffer'Last - -- before usage. - - Allow_Read_Some : in Boolean := False; - -- Is it allowed to return Last < Item'Last before end of data. - - procedure Read - (Filter : in out Filter_Type; - Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode := No_Flush); - -- Compress/Decompress data from generic parameter procedure Read to the - -- Item. User should provide Buffer and initialized Rest_First, Rest_Last - -- indicators. If Allow_Read_Some is True, Read routines could return - -- Last < Item'Last only at end of stream. - -private - - use Ada.Streams; - - pragma Assert (Ada.Streams.Stream_Element'Size = 8); - pragma Assert (Ada.Streams.Stream_Element'Modulus = 2**8); - - type Flush_Mode is new Integer range 0 .. 5; - - type Compression_Method is new Integer range 8 .. 8; - - type Strategy_Type is new Integer range 0 .. 3; - - No_Flush : constant Flush_Mode := 0; - Partial_Flush : constant Flush_Mode := 1; - Sync_Flush : constant Flush_Mode := 2; - Full_Flush : constant Flush_Mode := 3; - Finish : constant Flush_Mode := 4; - Block_Flush : constant Flush_Mode := 5; - - Filtered : constant Strategy_Type := 1; - Huffman_Only : constant Strategy_Type := 2; - RLE : constant Strategy_Type := 3; - Default_Strategy : constant Strategy_Type := 0; - - Deflated : constant Compression_Method := 8; - - type Z_Stream; - - type Z_Stream_Access is access all Z_Stream; - - type Filter_Type is tagged limited record - Strm : Z_Stream_Access; - Compression : Boolean; - Stream_End : Boolean; - Header : Header_Type; - CRC : Unsigned_32; - Offset : Stream_Element_Offset; - -- Offset for gzip header/footer output. - end record; - -end ZLib; diff --git a/protocols/Telegram/tgl/zlib/contrib/ada/zlib.gpr b/protocols/Telegram/tgl/zlib/contrib/ada/zlib.gpr deleted file mode 100644 index 296b22aa96..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/ada/zlib.gpr +++ /dev/null @@ -1,20 +0,0 @@ -project Zlib is - - for Languages use ("Ada"); - for Source_Dirs use ("."); - for Object_Dir use "."; - for Main use ("test.adb", "mtest.adb", "read.adb", "buffer_demo"); - - package Compiler is - for Default_Switches ("ada") use ("-gnatwcfilopru", "-gnatVcdfimorst", "-gnatyabcefhiklmnoprst"); - end Compiler; - - package Linker is - for Default_Switches ("ada") use ("-lz"); - end Linker; - - package Builder is - for Default_Switches ("ada") use ("-s", "-gnatQ"); - end Builder; - -end Zlib; diff --git a/protocols/Telegram/tgl/zlib/contrib/amd64/amd64-match.S b/protocols/Telegram/tgl/zlib/contrib/amd64/amd64-match.S deleted file mode 100644 index 81d4a1c949..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/amd64/amd64-match.S +++ /dev/null @@ -1,452 +0,0 @@ -/* - * match.S -- optimized version of longest_match() - * based on the similar work by Gilles Vollant, and Brian Raiter, written 1998 - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the BSD License. Use by owners of Che Guevarra - * parafernalia is prohibited, where possible, and highly discouraged - * elsewhere. - */ - -#ifndef NO_UNDERLINE -# define match_init _match_init -# define longest_match _longest_match -#endif - -#define scanend ebx -#define scanendw bx -#define chainlenwmask edx /* high word: current chain len low word: s->wmask */ -#define curmatch rsi -#define curmatchd esi -#define windowbestlen r8 -#define scanalign r9 -#define scanalignd r9d -#define window r10 -#define bestlen r11 -#define bestlend r11d -#define scanstart r12d -#define scanstartw r12w -#define scan r13 -#define nicematch r14d -#define limit r15 -#define limitd r15d -#define prev rcx - -/* - * The 258 is a "magic number, not a parameter -- changing it - * breaks the hell loose - */ -#define MAX_MATCH (258) -#define MIN_MATCH (3) -#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1) -#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7) - -/* stack frame offsets */ -#define LocalVarsSize (112) -#define _chainlenwmask ( 8-LocalVarsSize)(%rsp) -#define _windowbestlen (16-LocalVarsSize)(%rsp) -#define save_r14 (24-LocalVarsSize)(%rsp) -#define save_rsi (32-LocalVarsSize)(%rsp) -#define save_rbx (40-LocalVarsSize)(%rsp) -#define save_r12 (56-LocalVarsSize)(%rsp) -#define save_r13 (64-LocalVarsSize)(%rsp) -#define save_r15 (80-LocalVarsSize)(%rsp) - - -.globl match_init, longest_match - -/* - * On AMD64 the first argument of a function (in our case -- the pointer to - * deflate_state structure) is passed in %rdi, hence our offsets below are - * all off of that. - */ - -/* you can check the structure offset by running - -#include -#include -#include "deflate.h" - -void print_depl() -{ -deflate_state ds; -deflate_state *s=&ds; -printf("size pointer=%u\n",(int)sizeof(void*)); - -printf("#define dsWSize (%3u)(%%rdi)\n",(int)(((char*)&(s->w_size))-((char*)s))); -printf("#define dsWMask (%3u)(%%rdi)\n",(int)(((char*)&(s->w_mask))-((char*)s))); -printf("#define dsWindow (%3u)(%%rdi)\n",(int)(((char*)&(s->window))-((char*)s))); -printf("#define dsPrev (%3u)(%%rdi)\n",(int)(((char*)&(s->prev))-((char*)s))); -printf("#define dsMatchLen (%3u)(%%rdi)\n",(int)(((char*)&(s->match_length))-((char*)s))); -printf("#define dsPrevMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_match))-((char*)s))); -printf("#define dsStrStart (%3u)(%%rdi)\n",(int)(((char*)&(s->strstart))-((char*)s))); -printf("#define dsMatchStart (%3u)(%%rdi)\n",(int)(((char*)&(s->match_start))-((char*)s))); -printf("#define dsLookahead (%3u)(%%rdi)\n",(int)(((char*)&(s->lookahead))-((char*)s))); -printf("#define dsPrevLen (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_length))-((char*)s))); -printf("#define dsMaxChainLen (%3u)(%%rdi)\n",(int)(((char*)&(s->max_chain_length))-((char*)s))); -printf("#define dsGoodMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->good_match))-((char*)s))); -printf("#define dsNiceMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->nice_match))-((char*)s))); -} - -*/ - - -/* - to compile for XCode 3.2 on MacOSX x86_64 - - run "gcc -g -c -DXCODE_MAC_X64_STRUCTURE amd64-match.S" - */ - - -#ifndef CURRENT_LINX_XCODE_MAC_X64_STRUCTURE -#define dsWSize ( 68)(%rdi) -#define dsWMask ( 76)(%rdi) -#define dsWindow ( 80)(%rdi) -#define dsPrev ( 96)(%rdi) -#define dsMatchLen (144)(%rdi) -#define dsPrevMatch (148)(%rdi) -#define dsStrStart (156)(%rdi) -#define dsMatchStart (160)(%rdi) -#define dsLookahead (164)(%rdi) -#define dsPrevLen (168)(%rdi) -#define dsMaxChainLen (172)(%rdi) -#define dsGoodMatch (188)(%rdi) -#define dsNiceMatch (192)(%rdi) - -#else - -#ifndef STRUCT_OFFSET -# define STRUCT_OFFSET (0) -#endif - - -#define dsWSize ( 56 + STRUCT_OFFSET)(%rdi) -#define dsWMask ( 64 + STRUCT_OFFSET)(%rdi) -#define dsWindow ( 72 + STRUCT_OFFSET)(%rdi) -#define dsPrev ( 88 + STRUCT_OFFSET)(%rdi) -#define dsMatchLen (136 + STRUCT_OFFSET)(%rdi) -#define dsPrevMatch (140 + STRUCT_OFFSET)(%rdi) -#define dsStrStart (148 + STRUCT_OFFSET)(%rdi) -#define dsMatchStart (152 + STRUCT_OFFSET)(%rdi) -#define dsLookahead (156 + STRUCT_OFFSET)(%rdi) -#define dsPrevLen (160 + STRUCT_OFFSET)(%rdi) -#define dsMaxChainLen (164 + STRUCT_OFFSET)(%rdi) -#define dsGoodMatch (180 + STRUCT_OFFSET)(%rdi) -#define dsNiceMatch (184 + STRUCT_OFFSET)(%rdi) - -#endif - - - - -.text - -/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */ - -longest_match: -/* - * Retrieve the function arguments. %curmatch will hold cur_match - * throughout the entire function (passed via rsi on amd64). - * rdi will hold the pointer to the deflate_state (first arg on amd64) - */ - mov %rsi, save_rsi - mov %rbx, save_rbx - mov %r12, save_r12 - mov %r13, save_r13 - mov %r14, save_r14 - mov %r15, save_r15 - -/* uInt wmask = s->w_mask; */ -/* unsigned chain_length = s->max_chain_length; */ -/* if (s->prev_length >= s->good_match) { */ -/* chain_length >>= 2; */ -/* } */ - - movl dsPrevLen, %eax - movl dsGoodMatch, %ebx - cmpl %ebx, %eax - movl dsWMask, %eax - movl dsMaxChainLen, %chainlenwmask - jl LastMatchGood - shrl $2, %chainlenwmask -LastMatchGood: - -/* chainlen is decremented once beforehand so that the function can */ -/* use the sign flag instead of the zero flag for the exit test. */ -/* It is then shifted into the high word, to make room for the wmask */ -/* value, which it will always accompany. */ - - decl %chainlenwmask - shll $16, %chainlenwmask - orl %eax, %chainlenwmask - -/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */ - - movl dsNiceMatch, %eax - movl dsLookahead, %ebx - cmpl %eax, %ebx - jl LookaheadLess - movl %eax, %ebx -LookaheadLess: movl %ebx, %nicematch - -/* register Bytef *scan = s->window + s->strstart; */ - - mov dsWindow, %window - movl dsStrStart, %limitd - lea (%limit, %window), %scan - -/* Determine how many bytes the scan ptr is off from being */ -/* dword-aligned. */ - - mov %scan, %scanalign - negl %scanalignd - andl $3, %scanalignd - -/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */ -/* s->strstart - (IPos)MAX_DIST(s) : NIL; */ - - movl dsWSize, %eax - subl $MIN_LOOKAHEAD, %eax - xorl %ecx, %ecx - subl %eax, %limitd - cmovng %ecx, %limitd - -/* int best_len = s->prev_length; */ - - movl dsPrevLen, %bestlend - -/* Store the sum of s->window + best_len in %windowbestlen locally, and in memory. */ - - lea (%window, %bestlen), %windowbestlen - mov %windowbestlen, _windowbestlen - -/* register ush scan_start = *(ushf*)scan; */ -/* register ush scan_end = *(ushf*)(scan+best_len-1); */ -/* Posf *prev = s->prev; */ - - movzwl (%scan), %scanstart - movzwl -1(%scan, %bestlen), %scanend - mov dsPrev, %prev - -/* Jump into the main loop. */ - - movl %chainlenwmask, _chainlenwmask - jmp LoopEntry - -.balign 16 - -/* do { - * match = s->window + cur_match; - * if (*(ushf*)(match+best_len-1) != scan_end || - * *(ushf*)match != scan_start) continue; - * [...] - * } while ((cur_match = prev[cur_match & wmask]) > limit - * && --chain_length != 0); - * - * Here is the inner loop of the function. The function will spend the - * majority of its time in this loop, and majority of that time will - * be spent in the first ten instructions. - */ -LookupLoop: - andl %chainlenwmask, %curmatchd - movzwl (%prev, %curmatch, 2), %curmatchd - cmpl %limitd, %curmatchd - jbe LeaveNow - subl $0x00010000, %chainlenwmask - js LeaveNow -LoopEntry: cmpw -1(%windowbestlen, %curmatch), %scanendw - jne LookupLoop - cmpw %scanstartw, (%window, %curmatch) - jne LookupLoop - -/* Store the current value of chainlen. */ - movl %chainlenwmask, _chainlenwmask - -/* %scan is the string under scrutiny, and %prev to the string we */ -/* are hoping to match it up with. In actuality, %esi and %edi are */ -/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */ -/* initialized to -(MAX_MATCH_8 - scanalign). */ - - mov $(-MAX_MATCH_8), %rdx - lea (%curmatch, %window), %windowbestlen - lea MAX_MATCH_8(%windowbestlen, %scanalign), %windowbestlen - lea MAX_MATCH_8(%scan, %scanalign), %prev - -/* the prefetching below makes very little difference... */ - prefetcht1 (%windowbestlen, %rdx) - prefetcht1 (%prev, %rdx) - -/* - * Test the strings for equality, 8 bytes at a time. At the end, - * adjust %rdx so that it is offset to the exact byte that mismatched. - * - * It should be confessed that this loop usually does not represent - * much of the total running time. Replacing it with a more - * straightforward "rep cmpsb" would not drastically degrade - * performance -- unrolling it, for example, makes no difference. - */ - -#undef USE_SSE /* works, but is 6-7% slower, than non-SSE... */ - -LoopCmps: -#ifdef USE_SSE - /* Preload the SSE registers */ - movdqu (%windowbestlen, %rdx), %xmm1 - movdqu (%prev, %rdx), %xmm2 - pcmpeqb %xmm2, %xmm1 - movdqu 16(%windowbestlen, %rdx), %xmm3 - movdqu 16(%prev, %rdx), %xmm4 - pcmpeqb %xmm4, %xmm3 - movdqu 32(%windowbestlen, %rdx), %xmm5 - movdqu 32(%prev, %rdx), %xmm6 - pcmpeqb %xmm6, %xmm5 - movdqu 48(%windowbestlen, %rdx), %xmm7 - movdqu 48(%prev, %rdx), %xmm8 - pcmpeqb %xmm8, %xmm7 - - /* Check the comparisions' results */ - pmovmskb %xmm1, %rax - notw %ax - bsfw %ax, %ax - jnz LeaveLoopCmps - - /* this is the only iteration of the loop with a possibility of having - incremented rdx by 0x108 (each loop iteration add 16*4 = 0x40 - and (0x40*4)+8=0x108 */ - add $8, %rdx - jz LenMaximum - add $8, %rdx - - - pmovmskb %xmm3, %rax - notw %ax - bsfw %ax, %ax - jnz LeaveLoopCmps - - - add $16, %rdx - - - pmovmskb %xmm5, %rax - notw %ax - bsfw %ax, %ax - jnz LeaveLoopCmps - - add $16, %rdx - - - pmovmskb %xmm7, %rax - notw %ax - bsfw %ax, %ax - jnz LeaveLoopCmps - - add $16, %rdx - - jmp LoopCmps -LeaveLoopCmps: add %rax, %rdx -#else - mov (%windowbestlen, %rdx), %rax - xor (%prev, %rdx), %rax - jnz LeaveLoopCmps - - mov 8(%windowbestlen, %rdx), %rax - xor 8(%prev, %rdx), %rax - jnz LeaveLoopCmps8 - - mov 16(%windowbestlen, %rdx), %rax - xor 16(%prev, %rdx), %rax - jnz LeaveLoopCmps16 - - add $24, %rdx - jnz LoopCmps - jmp LenMaximum -# if 0 -/* - * This three-liner is tantalizingly simple, but bsf is a slow instruction, - * and the complicated alternative down below is quite a bit faster. Sad... - */ - -LeaveLoopCmps: bsf %rax, %rax /* find the first non-zero bit */ - shrl $3, %eax /* divide by 8 to get the byte */ - add %rax, %rdx -# else -LeaveLoopCmps16: - add $8, %rdx -LeaveLoopCmps8: - add $8, %rdx -LeaveLoopCmps: testl $0xFFFFFFFF, %eax /* Check the first 4 bytes */ - jnz Check16 - add $4, %rdx - shr $32, %rax -Check16: testw $0xFFFF, %ax - jnz LenLower - add $2, %rdx - shrl $16, %eax -LenLower: subb $1, %al - adc $0, %rdx -# endif -#endif - -/* Calculate the length of the match. If it is longer than MAX_MATCH, */ -/* then automatically accept it as the best possible match and leave. */ - - lea (%prev, %rdx), %rax - sub %scan, %rax - cmpl $MAX_MATCH, %eax - jge LenMaximum - -/* If the length of the match is not longer than the best match we */ -/* have so far, then forget it and return to the lookup loop. */ - - cmpl %bestlend, %eax - jg LongerMatch - mov _windowbestlen, %windowbestlen - mov dsPrev, %prev - movl _chainlenwmask, %edx - jmp LookupLoop - -/* s->match_start = cur_match; */ -/* best_len = len; */ -/* if (len >= nice_match) break; */ -/* scan_end = *(ushf*)(scan+best_len-1); */ - -LongerMatch: - movl %eax, %bestlend - movl %curmatchd, dsMatchStart - cmpl %nicematch, %eax - jge LeaveNow - - lea (%window, %bestlen), %windowbestlen - mov %windowbestlen, _windowbestlen - - movzwl -1(%scan, %rax), %scanend - mov dsPrev, %prev - movl _chainlenwmask, %chainlenwmask - jmp LookupLoop - -/* Accept the current string, with the maximum possible length. */ - -LenMaximum: - movl $MAX_MATCH, %bestlend - movl %curmatchd, dsMatchStart - -/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */ -/* return s->lookahead; */ - -LeaveNow: - movl dsLookahead, %eax - cmpl %eax, %bestlend - cmovngl %bestlend, %eax -LookaheadRet: - -/* Restore the registers and return from whence we came. */ - - mov save_rsi, %rsi - mov save_rbx, %rbx - mov save_r12, %r12 - mov save_r13, %r13 - mov save_r14, %r14 - mov save_r15, %r15 - - ret - -match_init: ret diff --git a/protocols/Telegram/tgl/zlib/contrib/asm686/README.686 b/protocols/Telegram/tgl/zlib/contrib/asm686/README.686 deleted file mode 100644 index a0bf3bea4a..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/asm686/README.686 +++ /dev/null @@ -1,51 +0,0 @@ -This is a patched version of zlib, modified to use -Pentium-Pro-optimized assembly code in the deflation algorithm. The -files changed/added by this patch are: - -README.686 -match.S - -The speedup that this patch provides varies, depending on whether the -compiler used to build the original version of zlib falls afoul of the -PPro's speed traps. My own tests show a speedup of around 10-20% at -the default compression level, and 20-30% using -9, against a version -compiled using gcc 2.7.2.3. Your mileage may vary. - -Note that this code has been tailored for the PPro/PII in particular, -and will not perform particuarly well on a Pentium. - -If you are using an assembler other than GNU as, you will have to -translate match.S to use your assembler's syntax. (Have fun.) - -Brian Raiter -breadbox@muppetlabs.com -April, 1998 - - -Added for zlib 1.1.3: - -The patches come from -http://www.muppetlabs.com/~breadbox/software/assembly.html - -To compile zlib with this asm file, copy match.S to the zlib directory -then do: - -CFLAGS="-O3 -DASMV" ./configure -make OBJA=match.o - - -Update: - -I've been ignoring these assembly routines for years, believing that -gcc's generated code had caught up with it sometime around gcc 2.95 -and the major rearchitecting of the Pentium 4. However, I recently -learned that, despite what I believed, this code still has some life -in it. On the Pentium 4 and AMD64 chips, it continues to run about 8% -faster than the code produced by gcc 4.1. - -In acknowledgement of its continuing usefulness, I've altered the -license to match that of the rest of zlib. Share and Enjoy! - -Brian Raiter -breadbox@muppetlabs.com -April, 2007 diff --git a/protocols/Telegram/tgl/zlib/contrib/asm686/match.S b/protocols/Telegram/tgl/zlib/contrib/asm686/match.S deleted file mode 100644 index fa42109278..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/asm686/match.S +++ /dev/null @@ -1,357 +0,0 @@ -/* match.S -- x86 assembly version of the zlib longest_match() function. - * Optimized for the Intel 686 chips (PPro and later). - * - * Copyright (C) 1998, 2007 Brian Raiter - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the author be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - */ - -#ifndef NO_UNDERLINE -#define match_init _match_init -#define longest_match _longest_match -#endif - -#define MAX_MATCH (258) -#define MIN_MATCH (3) -#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1) -#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7) - -/* stack frame offsets */ - -#define chainlenwmask 0 /* high word: current chain len */ - /* low word: s->wmask */ -#define window 4 /* local copy of s->window */ -#define windowbestlen 8 /* s->window + bestlen */ -#define scanstart 16 /* first two bytes of string */ -#define scanend 12 /* last two bytes of string */ -#define scanalign 20 /* dword-misalignment of string */ -#define nicematch 24 /* a good enough match size */ -#define bestlen 28 /* size of best match so far */ -#define scan 32 /* ptr to string wanting match */ - -#define LocalVarsSize (36) -/* saved ebx 36 */ -/* saved edi 40 */ -/* saved esi 44 */ -/* saved ebp 48 */ -/* return address 52 */ -#define deflatestate 56 /* the function arguments */ -#define curmatch 60 - -/* All the +zlib1222add offsets are due to the addition of fields - * in zlib in the deflate_state structure since the asm code was first written - * (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). - * (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). - * if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). - */ - -#define zlib1222add (8) - -#define dsWSize (36+zlib1222add) -#define dsWMask (44+zlib1222add) -#define dsWindow (48+zlib1222add) -#define dsPrev (56+zlib1222add) -#define dsMatchLen (88+zlib1222add) -#define dsPrevMatch (92+zlib1222add) -#define dsStrStart (100+zlib1222add) -#define dsMatchStart (104+zlib1222add) -#define dsLookahead (108+zlib1222add) -#define dsPrevLen (112+zlib1222add) -#define dsMaxChainLen (116+zlib1222add) -#define dsGoodMatch (132+zlib1222add) -#define dsNiceMatch (136+zlib1222add) - - -.file "match.S" - -.globl match_init, longest_match - -.text - -/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */ -.cfi_sections .debug_frame - -longest_match: - -.cfi_startproc -/* Save registers that the compiler may be using, and adjust %esp to */ -/* make room for our stack frame. */ - - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset ebp, -8 - pushl %edi - .cfi_def_cfa_offset 12 - pushl %esi - .cfi_def_cfa_offset 16 - pushl %ebx - .cfi_def_cfa_offset 20 - subl $LocalVarsSize, %esp - .cfi_def_cfa_offset LocalVarsSize+20 - -/* Retrieve the function arguments. %ecx will hold cur_match */ -/* throughout the entire function. %edx will hold the pointer to the */ -/* deflate_state structure during the function's setup (before */ -/* entering the main loop). */ - - movl deflatestate(%esp), %edx - movl curmatch(%esp), %ecx - -/* uInt wmask = s->w_mask; */ -/* unsigned chain_length = s->max_chain_length; */ -/* if (s->prev_length >= s->good_match) { */ -/* chain_length >>= 2; */ -/* } */ - - movl dsPrevLen(%edx), %eax - movl dsGoodMatch(%edx), %ebx - cmpl %ebx, %eax - movl dsWMask(%edx), %eax - movl dsMaxChainLen(%edx), %ebx - jl LastMatchGood - shrl $2, %ebx -LastMatchGood: - -/* chainlen is decremented once beforehand so that the function can */ -/* use the sign flag instead of the zero flag for the exit test. */ -/* It is then shifted into the high word, to make room for the wmask */ -/* value, which it will always accompany. */ - - decl %ebx - shll $16, %ebx - orl %eax, %ebx - movl %ebx, chainlenwmask(%esp) - -/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */ - - movl dsNiceMatch(%edx), %eax - movl dsLookahead(%edx), %ebx - cmpl %eax, %ebx - jl LookaheadLess - movl %eax, %ebx -LookaheadLess: movl %ebx, nicematch(%esp) - -/* register Bytef *scan = s->window + s->strstart; */ - - movl dsWindow(%edx), %esi - movl %esi, window(%esp) - movl dsStrStart(%edx), %ebp - lea (%esi,%ebp), %edi - movl %edi, scan(%esp) - -/* Determine how many bytes the scan ptr is off from being */ -/* dword-aligned. */ - - movl %edi, %eax - negl %eax - andl $3, %eax - movl %eax, scanalign(%esp) - -/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */ -/* s->strstart - (IPos)MAX_DIST(s) : NIL; */ - - movl dsWSize(%edx), %eax - subl $MIN_LOOKAHEAD, %eax - subl %eax, %ebp - jg LimitPositive - xorl %ebp, %ebp -LimitPositive: - -/* int best_len = s->prev_length; */ - - movl dsPrevLen(%edx), %eax - movl %eax, bestlen(%esp) - -/* Store the sum of s->window + best_len in %esi locally, and in %esi. */ - - addl %eax, %esi - movl %esi, windowbestlen(%esp) - -/* register ush scan_start = *(ushf*)scan; */ -/* register ush scan_end = *(ushf*)(scan+best_len-1); */ -/* Posf *prev = s->prev; */ - - movzwl (%edi), %ebx - movl %ebx, scanstart(%esp) - movzwl -1(%edi,%eax), %ebx - movl %ebx, scanend(%esp) - movl dsPrev(%edx), %edi - -/* Jump into the main loop. */ - - movl chainlenwmask(%esp), %edx - jmp LoopEntry - -.balign 16 - -/* do { - * match = s->window + cur_match; - * if (*(ushf*)(match+best_len-1) != scan_end || - * *(ushf*)match != scan_start) continue; - * [...] - * } while ((cur_match = prev[cur_match & wmask]) > limit - * && --chain_length != 0); - * - * Here is the inner loop of the function. The function will spend the - * majority of its time in this loop, and majority of that time will - * be spent in the first ten instructions. - * - * Within this loop: - * %ebx = scanend - * %ecx = curmatch - * %edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) - * %esi = windowbestlen - i.e., (window + bestlen) - * %edi = prev - * %ebp = limit - */ -LookupLoop: - andl %edx, %ecx - movzwl (%edi,%ecx,2), %ecx - cmpl %ebp, %ecx - jbe LeaveNow - subl $0x00010000, %edx - js LeaveNow -LoopEntry: movzwl -1(%esi,%ecx), %eax - cmpl %ebx, %eax - jnz LookupLoop - movl window(%esp), %eax - movzwl (%eax,%ecx), %eax - cmpl scanstart(%esp), %eax - jnz LookupLoop - -/* Store the current value of chainlen. */ - - movl %edx, chainlenwmask(%esp) - -/* Point %edi to the string under scrutiny, and %esi to the string we */ -/* are hoping to match it up with. In actuality, %esi and %edi are */ -/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */ -/* initialized to -(MAX_MATCH_8 - scanalign). */ - - movl window(%esp), %esi - movl scan(%esp), %edi - addl %ecx, %esi - movl scanalign(%esp), %eax - movl $(-MAX_MATCH_8), %edx - lea MAX_MATCH_8(%edi,%eax), %edi - lea MAX_MATCH_8(%esi,%eax), %esi - -/* Test the strings for equality, 8 bytes at a time. At the end, - * adjust %edx so that it is offset to the exact byte that mismatched. - * - * We already know at this point that the first three bytes of the - * strings match each other, and they can be safely passed over before - * starting the compare loop. So what this code does is skip over 0-3 - * bytes, as much as necessary in order to dword-align the %edi - * pointer. (%esi will still be misaligned three times out of four.) - * - * It should be confessed that this loop usually does not represent - * much of the total running time. Replacing it with a more - * straightforward "rep cmpsb" would not drastically degrade - * performance. - */ -LoopCmps: - movl (%esi,%edx), %eax - xorl (%edi,%edx), %eax - jnz LeaveLoopCmps - movl 4(%esi,%edx), %eax - xorl 4(%edi,%edx), %eax - jnz LeaveLoopCmps4 - addl $8, %edx - jnz LoopCmps - jmp LenMaximum -LeaveLoopCmps4: addl $4, %edx -LeaveLoopCmps: testl $0x0000FFFF, %eax - jnz LenLower - addl $2, %edx - shrl $16, %eax -LenLower: subb $1, %al - adcl $0, %edx - -/* Calculate the length of the match. If it is longer than MAX_MATCH, */ -/* then automatically accept it as the best possible match and leave. */ - - lea (%edi,%edx), %eax - movl scan(%esp), %edi - subl %edi, %eax - cmpl $MAX_MATCH, %eax - jge LenMaximum - -/* If the length of the match is not longer than the best match we */ -/* have so far, then forget it and return to the lookup loop. */ - - movl deflatestate(%esp), %edx - movl bestlen(%esp), %ebx - cmpl %ebx, %eax - jg LongerMatch - movl windowbestlen(%esp), %esi - movl dsPrev(%edx), %edi - movl scanend(%esp), %ebx - movl chainlenwmask(%esp), %edx - jmp LookupLoop - -/* s->match_start = cur_match; */ -/* best_len = len; */ -/* if (len >= nice_match) break; */ -/* scan_end = *(ushf*)(scan+best_len-1); */ - -LongerMatch: movl nicematch(%esp), %ebx - movl %eax, bestlen(%esp) - movl %ecx, dsMatchStart(%edx) - cmpl %ebx, %eax - jge LeaveNow - movl window(%esp), %esi - addl %eax, %esi - movl %esi, windowbestlen(%esp) - movzwl -1(%edi,%eax), %ebx - movl dsPrev(%edx), %edi - movl %ebx, scanend(%esp) - movl chainlenwmask(%esp), %edx - jmp LookupLoop - -/* Accept the current string, with the maximum possible length. */ - -LenMaximum: movl deflatestate(%esp), %edx - movl $MAX_MATCH, bestlen(%esp) - movl %ecx, dsMatchStart(%edx) - -/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */ -/* return s->lookahead; */ - -LeaveNow: - movl deflatestate(%esp), %edx - movl bestlen(%esp), %ebx - movl dsLookahead(%edx), %eax - cmpl %eax, %ebx - jg LookaheadRet - movl %ebx, %eax -LookaheadRet: - -/* Restore the stack and return from whence we came. */ - - addl $LocalVarsSize, %esp - .cfi_def_cfa_offset 20 - popl %ebx - .cfi_def_cfa_offset 16 - popl %esi - .cfi_def_cfa_offset 12 - popl %edi - .cfi_def_cfa_offset 8 - popl %ebp - .cfi_def_cfa_offset 4 -.cfi_endproc -match_init: ret diff --git a/protocols/Telegram/tgl/zlib/contrib/blast/Makefile b/protocols/Telegram/tgl/zlib/contrib/blast/Makefile deleted file mode 100644 index 9be80bafe0..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/blast/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -blast: blast.c blast.h - cc -DTEST -o blast blast.c - -test: blast - blast < test.pk | cmp - test.txt - -clean: - rm -f blast blast.o diff --git a/protocols/Telegram/tgl/zlib/contrib/blast/README b/protocols/Telegram/tgl/zlib/contrib/blast/README deleted file mode 100644 index e3a60b3f5c..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/blast/README +++ /dev/null @@ -1,4 +0,0 @@ -Read blast.h for purpose and usage. - -Mark Adler -madler@alumni.caltech.edu diff --git a/protocols/Telegram/tgl/zlib/contrib/blast/blast.c b/protocols/Telegram/tgl/zlib/contrib/blast/blast.c deleted file mode 100644 index 69ef0fe00e..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/blast/blast.c +++ /dev/null @@ -1,446 +0,0 @@ -/* blast.c - * Copyright (C) 2003, 2012 Mark Adler - * For conditions of distribution and use, see copyright notice in blast.h - * version 1.2, 24 Oct 2012 - * - * blast.c decompresses data compressed by the PKWare Compression Library. - * This function provides functionality similar to the explode() function of - * the PKWare library, hence the name "blast". - * - * This decompressor is based on the excellent format description provided by - * Ben Rudiak-Gould in comp.compression on August 13, 2001. Interestingly, the - * example Ben provided in the post is incorrect. The distance 110001 should - * instead be 111000. When corrected, the example byte stream becomes: - * - * 00 04 82 24 25 8f 80 7f - * - * which decompresses to "AIAIAIAIAIAIA" (without the quotes). - */ - -/* - * Change history: - * - * 1.0 12 Feb 2003 - First version - * 1.1 16 Feb 2003 - Fixed distance check for > 4 GB uncompressed data - * 1.2 24 Oct 2012 - Add note about using binary mode in stdio - * - Fix comparisons of differently signed integers - */ - -#include /* for setjmp(), longjmp(), and jmp_buf */ -#include "blast.h" /* prototype for blast() */ - -#define local static /* for local function definitions */ -#define MAXBITS 13 /* maximum code length */ -#define MAXWIN 4096 /* maximum window size */ - -/* input and output state */ -struct state { - /* input state */ - blast_in infun; /* input function provided by user */ - void *inhow; /* opaque information passed to infun() */ - unsigned char *in; /* next input location */ - unsigned left; /* available input at in */ - int bitbuf; /* bit buffer */ - int bitcnt; /* number of bits in bit buffer */ - - /* input limit error return state for bits() and decode() */ - jmp_buf env; - - /* output state */ - blast_out outfun; /* output function provided by user */ - void *outhow; /* opaque information passed to outfun() */ - unsigned next; /* index of next write location in out[] */ - int first; /* true to check distances (for first 4K) */ - unsigned char out[MAXWIN]; /* output buffer and sliding window */ -}; - -/* - * Return need bits from the input stream. This always leaves less than - * eight bits in the buffer. bits() works properly for need == 0. - * - * Format notes: - * - * - Bits are stored in bytes from the least significant bit to the most - * significant bit. Therefore bits are dropped from the bottom of the bit - * buffer, using shift right, and new bytes are appended to the top of the - * bit buffer, using shift left. - */ -local int bits(struct state *s, int need) -{ - int val; /* bit accumulator */ - - /* load at least need bits into val */ - val = s->bitbuf; - while (s->bitcnt < need) { - if (s->left == 0) { - s->left = s->infun(s->inhow, &(s->in)); - if (s->left == 0) longjmp(s->env, 1); /* out of input */ - } - val |= (int)(*(s->in)++) << s->bitcnt; /* load eight bits */ - s->left--; - s->bitcnt += 8; - } - - /* drop need bits and update buffer, always zero to seven bits left */ - s->bitbuf = val >> need; - s->bitcnt -= need; - - /* return need bits, zeroing the bits above that */ - return val & ((1 << need) - 1); -} - -/* - * Huffman code decoding tables. count[1..MAXBITS] is the number of symbols of - * each length, which for a canonical code are stepped through in order. - * symbol[] are the symbol values in canonical order, where the number of - * entries is the sum of the counts in count[]. The decoding process can be - * seen in the function decode() below. - */ -struct huffman { - short *count; /* number of symbols of each length */ - short *symbol; /* canonically ordered symbols */ -}; - -/* - * Decode a code from the stream s using huffman table h. Return the symbol or - * a negative value if there is an error. If all of the lengths are zero, i.e. - * an empty code, or if the code is incomplete and an invalid code is received, - * then -9 is returned after reading MAXBITS bits. - * - * Format notes: - * - * - The codes as stored in the compressed data are bit-reversed relative to - * a simple integer ordering of codes of the same lengths. Hence below the - * bits are pulled from the compressed data one at a time and used to - * build the code value reversed from what is in the stream in order to - * permit simple integer comparisons for decoding. - * - * - The first code for the shortest length is all ones. Subsequent codes of - * the same length are simply integer decrements of the previous code. When - * moving up a length, a one bit is appended to the code. For a complete - * code, the last code of the longest length will be all zeros. To support - * this ordering, the bits pulled during decoding are inverted to apply the - * more "natural" ordering starting with all zeros and incrementing. - */ -local int decode(struct state *s, struct huffman *h) -{ - int len; /* current number of bits in code */ - int code; /* len bits being decoded */ - int first; /* first code of length len */ - int count; /* number of codes of length len */ - int index; /* index of first code of length len in symbol table */ - int bitbuf; /* bits from stream */ - int left; /* bits left in next or left to process */ - short *next; /* next number of codes */ - - bitbuf = s->bitbuf; - left = s->bitcnt; - code = first = index = 0; - len = 1; - next = h->count + 1; - while (1) { - while (left--) { - code |= (bitbuf & 1) ^ 1; /* invert code */ - bitbuf >>= 1; - count = *next++; - if (code < first + count) { /* if length len, return symbol */ - s->bitbuf = bitbuf; - s->bitcnt = (s->bitcnt - len) & 7; - return h->symbol[index + (code - first)]; - } - index += count; /* else update for next length */ - first += count; - first <<= 1; - code <<= 1; - len++; - } - left = (MAXBITS+1) - len; - if (left == 0) break; - if (s->left == 0) { - s->left = s->infun(s->inhow, &(s->in)); - if (s->left == 0) longjmp(s->env, 1); /* out of input */ - } - bitbuf = *(s->in)++; - s->left--; - if (left > 8) left = 8; - } - return -9; /* ran out of codes */ -} - -/* - * Given a list of repeated code lengths rep[0..n-1], where each byte is a - * count (high four bits + 1) and a code length (low four bits), generate the - * list of code lengths. This compaction reduces the size of the object code. - * Then given the list of code lengths length[0..n-1] representing a canonical - * Huffman code for n symbols, construct the tables required to decode those - * codes. Those tables are the number of codes of each length, and the symbols - * sorted by length, retaining their original order within each length. The - * return value is zero for a complete code set, negative for an over- - * subscribed code set, and positive for an incomplete code set. The tables - * can be used if the return value is zero or positive, but they cannot be used - * if the return value is negative. If the return value is zero, it is not - * possible for decode() using that table to return an error--any stream of - * enough bits will resolve to a symbol. If the return value is positive, then - * it is possible for decode() using that table to return an error for received - * codes past the end of the incomplete lengths. - */ -local int construct(struct huffman *h, const unsigned char *rep, int n) -{ - int symbol; /* current symbol when stepping through length[] */ - int len; /* current length when stepping through h->count[] */ - int left; /* number of possible codes left of current length */ - short offs[MAXBITS+1]; /* offsets in symbol table for each length */ - short length[256]; /* code lengths */ - - /* convert compact repeat counts into symbol bit length list */ - symbol = 0; - do { - len = *rep++; - left = (len >> 4) + 1; - len &= 15; - do { - length[symbol++] = len; - } while (--left); - } while (--n); - n = symbol; - - /* count number of codes of each length */ - for (len = 0; len <= MAXBITS; len++) - h->count[len] = 0; - for (symbol = 0; symbol < n; symbol++) - (h->count[length[symbol]])++; /* assumes lengths are within bounds */ - if (h->count[0] == n) /* no codes! */ - return 0; /* complete, but decode() will fail */ - - /* check for an over-subscribed or incomplete set of lengths */ - left = 1; /* one possible code of zero length */ - for (len = 1; len <= MAXBITS; len++) { - left <<= 1; /* one more bit, double codes left */ - left -= h->count[len]; /* deduct count from possible codes */ - if (left < 0) return left; /* over-subscribed--return negative */ - } /* left > 0 means incomplete */ - - /* generate offsets into symbol table for each length for sorting */ - offs[1] = 0; - for (len = 1; len < MAXBITS; len++) - offs[len + 1] = offs[len] + h->count[len]; - - /* - * put symbols in table sorted by length, by symbol order within each - * length - */ - for (symbol = 0; symbol < n; symbol++) - if (length[symbol] != 0) - h->symbol[offs[length[symbol]]++] = symbol; - - /* return zero for complete set, positive for incomplete set */ - return left; -} - -/* - * Decode PKWare Compression Library stream. - * - * Format notes: - * - * - First byte is 0 if literals are uncoded or 1 if they are coded. Second - * byte is 4, 5, or 6 for the number of extra bits in the distance code. - * This is the base-2 logarithm of the dictionary size minus six. - * - * - Compressed data is a combination of literals and length/distance pairs - * terminated by an end code. Literals are either Huffman coded or - * uncoded bytes. A length/distance pair is a coded length followed by a - * coded distance to represent a string that occurs earlier in the - * uncompressed data that occurs again at the current location. - * - * - A bit preceding a literal or length/distance pair indicates which comes - * next, 0 for literals, 1 for length/distance. - * - * - If literals are uncoded, then the next eight bits are the literal, in the - * normal bit order in th stream, i.e. no bit-reversal is needed. Similarly, - * no bit reversal is needed for either the length extra bits or the distance - * extra bits. - * - * - Literal bytes are simply written to the output. A length/distance pair is - * an instruction to copy previously uncompressed bytes to the output. The - * copy is from distance bytes back in the output stream, copying for length - * bytes. - * - * - Distances pointing before the beginning of the output data are not - * permitted. - * - * - Overlapped copies, where the length is greater than the distance, are - * allowed and common. For example, a distance of one and a length of 518 - * simply copies the last byte 518 times. A distance of four and a length of - * twelve copies the last four bytes three times. A simple forward copy - * ignoring whether the length is greater than the distance or not implements - * this correctly. - */ -local int decomp(struct state *s) -{ - int lit; /* true if literals are coded */ - int dict; /* log2(dictionary size) - 6 */ - int symbol; /* decoded symbol, extra bits for distance */ - int len; /* length for copy */ - unsigned dist; /* distance for copy */ - int copy; /* copy counter */ - unsigned char *from, *to; /* copy pointers */ - static int virgin = 1; /* build tables once */ - static short litcnt[MAXBITS+1], litsym[256]; /* litcode memory */ - static short lencnt[MAXBITS+1], lensym[16]; /* lencode memory */ - static short distcnt[MAXBITS+1], distsym[64]; /* distcode memory */ - static struct huffman litcode = {litcnt, litsym}; /* length code */ - static struct huffman lencode = {lencnt, lensym}; /* length code */ - static struct huffman distcode = {distcnt, distsym};/* distance code */ - /* bit lengths of literal codes */ - static const unsigned char litlen[] = { - 11, 124, 8, 7, 28, 7, 188, 13, 76, 4, 10, 8, 12, 10, 12, 10, 8, 23, 8, - 9, 7, 6, 7, 8, 7, 6, 55, 8, 23, 24, 12, 11, 7, 9, 11, 12, 6, 7, 22, 5, - 7, 24, 6, 11, 9, 6, 7, 22, 7, 11, 38, 7, 9, 8, 25, 11, 8, 11, 9, 12, - 8, 12, 5, 38, 5, 38, 5, 11, 7, 5, 6, 21, 6, 10, 53, 8, 7, 24, 10, 27, - 44, 253, 253, 253, 252, 252, 252, 13, 12, 45, 12, 45, 12, 61, 12, 45, - 44, 173}; - /* bit lengths of length codes 0..15 */ - static const unsigned char lenlen[] = {2, 35, 36, 53, 38, 23}; - /* bit lengths of distance codes 0..63 */ - static const unsigned char distlen[] = {2, 20, 53, 230, 247, 151, 248}; - static const short base[16] = { /* base for length codes */ - 3, 2, 4, 5, 6, 7, 8, 9, 10, 12, 16, 24, 40, 72, 136, 264}; - static const char extra[16] = { /* extra bits for length codes */ - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8}; - - /* set up decoding tables (once--might not be thread-safe) */ - if (virgin) { - construct(&litcode, litlen, sizeof(litlen)); - construct(&lencode, lenlen, sizeof(lenlen)); - construct(&distcode, distlen, sizeof(distlen)); - virgin = 0; - } - - /* read header */ - lit = bits(s, 8); - if (lit > 1) return -1; - dict = bits(s, 8); - if (dict < 4 || dict > 6) return -2; - - /* decode literals and length/distance pairs */ - do { - if (bits(s, 1)) { - /* get length */ - symbol = decode(s, &lencode); - len = base[symbol] + bits(s, extra[symbol]); - if (len == 519) break; /* end code */ - - /* get distance */ - symbol = len == 2 ? 2 : dict; - dist = decode(s, &distcode) << symbol; - dist += bits(s, symbol); - dist++; - if (s->first && dist > s->next) - return -3; /* distance too far back */ - - /* copy length bytes from distance bytes back */ - do { - to = s->out + s->next; - from = to - dist; - copy = MAXWIN; - if (s->next < dist) { - from += copy; - copy = dist; - } - copy -= s->next; - if (copy > len) copy = len; - len -= copy; - s->next += copy; - do { - *to++ = *from++; - } while (--copy); - if (s->next == MAXWIN) { - if (s->outfun(s->outhow, s->out, s->next)) return 1; - s->next = 0; - s->first = 0; - } - } while (len != 0); - } - else { - /* get literal and write it */ - symbol = lit ? decode(s, &litcode) : bits(s, 8); - s->out[s->next++] = symbol; - if (s->next == MAXWIN) { - if (s->outfun(s->outhow, s->out, s->next)) return 1; - s->next = 0; - s->first = 0; - } - } - } while (1); - return 0; -} - -/* See comments in blast.h */ -int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow) -{ - struct state s; /* input/output state */ - int err; /* return value */ - - /* initialize input state */ - s.infun = infun; - s.inhow = inhow; - s.left = 0; - s.bitbuf = 0; - s.bitcnt = 0; - - /* initialize output state */ - s.outfun = outfun; - s.outhow = outhow; - s.next = 0; - s.first = 1; - - /* return if bits() or decode() tries to read past available input */ - if (setjmp(s.env) != 0) /* if came back here via longjmp(), */ - err = 2; /* then skip decomp(), return error */ - else - err = decomp(&s); /* decompress */ - - /* write any leftover output and update the error code if needed */ - if (err != 1 && s.next && s.outfun(s.outhow, s.out, s.next) && err == 0) - err = 1; - return err; -} - -#ifdef TEST -/* Example of how to use blast() */ -#include -#include - -#define CHUNK 16384 - -local unsigned inf(void *how, unsigned char **buf) -{ - static unsigned char hold[CHUNK]; - - *buf = hold; - return fread(hold, 1, CHUNK, (FILE *)how); -} - -local int outf(void *how, unsigned char *buf, unsigned len) -{ - return fwrite(buf, 1, len, (FILE *)how) != len; -} - -/* Decompress a PKWare Compression Library stream from stdin to stdout */ -int main(void) -{ - int ret, n; - - /* decompress to stdout */ - ret = blast(inf, stdin, outf, stdout); - if (ret != 0) fprintf(stderr, "blast error: %d\n", ret); - - /* see if there are any leftover bytes */ - n = 0; - while (getchar() != EOF) n++; - if (n) fprintf(stderr, "blast warning: %d unused bytes of input\n", n); - - /* return blast() error code */ - return ret; -} -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/blast/blast.h b/protocols/Telegram/tgl/zlib/contrib/blast/blast.h deleted file mode 100644 index 658cfd3200..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/blast/blast.h +++ /dev/null @@ -1,75 +0,0 @@ -/* blast.h -- interface for blast.c - Copyright (C) 2003, 2012 Mark Adler - version 1.2, 24 Oct 2012 - - This software is provided 'as-is', without any express or implied - warranty. In no event will the author be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Mark Adler madler@alumni.caltech.edu - */ - - -/* - * blast() decompresses the PKWare Data Compression Library (DCL) compressed - * format. It provides the same functionality as the explode() function in - * that library. (Note: PKWare overused the "implode" verb, and the format - * used by their library implode() function is completely different and - * incompatible with the implode compression method supported by PKZIP.) - * - * The binary mode for stdio functions should be used to assure that the - * compressed data is not corrupted when read or written. For example: - * fopen(..., "rb") and fopen(..., "wb"). - */ - - -typedef unsigned (*blast_in)(void *how, unsigned char **buf); -typedef int (*blast_out)(void *how, unsigned char *buf, unsigned len); -/* Definitions for input/output functions passed to blast(). See below for - * what the provided functions need to do. - */ - - -int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow); -/* Decompress input to output using the provided infun() and outfun() calls. - * On success, the return value of blast() is zero. If there is an error in - * the source data, i.e. it is not in the proper format, then a negative value - * is returned. If there is not enough input available or there is not enough - * output space, then a positive error is returned. - * - * The input function is invoked: len = infun(how, &buf), where buf is set by - * infun() to point to the input buffer, and infun() returns the number of - * available bytes there. If infun() returns zero, then blast() returns with - * an input error. (blast() only asks for input if it needs it.) inhow is for - * use by the application to pass an input descriptor to infun(), if desired. - * - * The output function is invoked: err = outfun(how, buf, len), where the bytes - * to be written are buf[0..len-1]. If err is not zero, then blast() returns - * with an output error. outfun() is always called with len <= 4096. outhow - * is for use by the application to pass an output descriptor to outfun(), if - * desired. - * - * The return codes are: - * - * 2: ran out of input before completing decompression - * 1: output error before completing decompression - * 0: successful decompression - * -1: literal flag not zero or one - * -2: dictionary size not in 4..6 - * -3: distance is too far back - * - * At the bottom of blast.c is an example program that uses blast() that can be - * compiled to produce a command-line decompression filter by defining TEST. - */ diff --git a/protocols/Telegram/tgl/zlib/contrib/blast/test.pk b/protocols/Telegram/tgl/zlib/contrib/blast/test.pk deleted file mode 100644 index be10b2bbb2..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/blast/test.pk and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/blast/test.txt b/protocols/Telegram/tgl/zlib/contrib/blast/test.txt deleted file mode 100644 index bfdf1c5dca..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/blast/test.txt +++ /dev/null @@ -1 +0,0 @@ -AIAIAIAIAIAIA \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/delphi/ZLib.pas b/protocols/Telegram/tgl/zlib/contrib/delphi/ZLib.pas deleted file mode 100644 index a579974f04..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/delphi/ZLib.pas +++ /dev/null @@ -1,557 +0,0 @@ -{*******************************************************} -{ } -{ Borland Delphi Supplemental Components } -{ ZLIB Data Compression Interface Unit } -{ } -{ Copyright (c) 1997,99 Borland Corporation } -{ } -{*******************************************************} - -{ Updated for zlib 1.2.x by Cosmin Truta } - -unit ZLib; - -interface - -uses SysUtils, Classes; - -type - TAlloc = function (AppData: Pointer; Items, Size: Integer): Pointer; cdecl; - TFree = procedure (AppData, Block: Pointer); cdecl; - - // Internal structure. Ignore. - TZStreamRec = packed record - next_in: PChar; // next input byte - avail_in: Integer; // number of bytes available at next_in - total_in: Longint; // total nb of input bytes read so far - - next_out: PChar; // next output byte should be put here - avail_out: Integer; // remaining free space at next_out - total_out: Longint; // total nb of bytes output so far - - msg: PChar; // last error message, NULL if no error - internal: Pointer; // not visible by applications - - zalloc: TAlloc; // used to allocate the internal state - zfree: TFree; // used to free the internal state - AppData: Pointer; // private data object passed to zalloc and zfree - - data_type: Integer; // best guess about the data type: ascii or binary - adler: Longint; // adler32 value of the uncompressed data - reserved: Longint; // reserved for future use - end; - - // Abstract ancestor class - TCustomZlibStream = class(TStream) - private - FStrm: TStream; - FStrmPos: Integer; - FOnProgress: TNotifyEvent; - FZRec: TZStreamRec; - FBuffer: array [Word] of Char; - protected - procedure Progress(Sender: TObject); dynamic; - property OnProgress: TNotifyEvent read FOnProgress write FOnProgress; - constructor Create(Strm: TStream); - end; - -{ TCompressionStream compresses data on the fly as data is written to it, and - stores the compressed data to another stream. - - TCompressionStream is write-only and strictly sequential. Reading from the - stream will raise an exception. Using Seek to move the stream pointer - will raise an exception. - - Output data is cached internally, written to the output stream only when - the internal output buffer is full. All pending output data is flushed - when the stream is destroyed. - - The Position property returns the number of uncompressed bytes of - data that have been written to the stream so far. - - CompressionRate returns the on-the-fly percentage by which the original - data has been compressed: (1 - (CompressedBytes / UncompressedBytes)) * 100 - If raw data size = 100 and compressed data size = 25, the CompressionRate - is 75% - - The OnProgress event is called each time the output buffer is filled and - written to the output stream. This is useful for updating a progress - indicator when you are writing a large chunk of data to the compression - stream in a single call.} - - - TCompressionLevel = (clNone, clFastest, clDefault, clMax); - - TCompressionStream = class(TCustomZlibStream) - private - function GetCompressionRate: Single; - public - constructor Create(CompressionLevel: TCompressionLevel; Dest: TStream); - destructor Destroy; override; - function Read(var Buffer; Count: Longint): Longint; override; - function Write(const Buffer; Count: Longint): Longint; override; - function Seek(Offset: Longint; Origin: Word): Longint; override; - property CompressionRate: Single read GetCompressionRate; - property OnProgress; - end; - -{ TDecompressionStream decompresses data on the fly as data is read from it. - - Compressed data comes from a separate source stream. TDecompressionStream - is read-only and unidirectional; you can seek forward in the stream, but not - backwards. The special case of setting the stream position to zero is - allowed. Seeking forward decompresses data until the requested position in - the uncompressed data has been reached. Seeking backwards, seeking relative - to the end of the stream, requesting the size of the stream, and writing to - the stream will raise an exception. - - The Position property returns the number of bytes of uncompressed data that - have been read from the stream so far. - - The OnProgress event is called each time the internal input buffer of - compressed data is exhausted and the next block is read from the input stream. - This is useful for updating a progress indicator when you are reading a - large chunk of data from the decompression stream in a single call.} - - TDecompressionStream = class(TCustomZlibStream) - public - constructor Create(Source: TStream); - destructor Destroy; override; - function Read(var Buffer; Count: Longint): Longint; override; - function Write(const Buffer; Count: Longint): Longint; override; - function Seek(Offset: Longint; Origin: Word): Longint; override; - property OnProgress; - end; - - - -{ CompressBuf compresses data, buffer to buffer, in one call. - In: InBuf = ptr to compressed data - InBytes = number of bytes in InBuf - Out: OutBuf = ptr to newly allocated buffer containing decompressed data - OutBytes = number of bytes in OutBuf } -procedure CompressBuf(const InBuf: Pointer; InBytes: Integer; - out OutBuf: Pointer; out OutBytes: Integer); - - -{ DecompressBuf decompresses data, buffer to buffer, in one call. - In: InBuf = ptr to compressed data - InBytes = number of bytes in InBuf - OutEstimate = zero, or est. size of the decompressed data - Out: OutBuf = ptr to newly allocated buffer containing decompressed data - OutBytes = number of bytes in OutBuf } -procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer; - OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer); - -{ DecompressToUserBuf decompresses data, buffer to buffer, in one call. - In: InBuf = ptr to compressed data - InBytes = number of bytes in InBuf - Out: OutBuf = ptr to user-allocated buffer to contain decompressed data - BufSize = number of bytes in OutBuf } -procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer; - const OutBuf: Pointer; BufSize: Integer); - -const - zlib_version = '1.2.8'; - -type - EZlibError = class(Exception); - ECompressionError = class(EZlibError); - EDecompressionError = class(EZlibError); - -implementation - -uses ZLibConst; - -const - Z_NO_FLUSH = 0; - Z_PARTIAL_FLUSH = 1; - Z_SYNC_FLUSH = 2; - Z_FULL_FLUSH = 3; - Z_FINISH = 4; - - Z_OK = 0; - Z_STREAM_END = 1; - Z_NEED_DICT = 2; - Z_ERRNO = (-1); - Z_STREAM_ERROR = (-2); - Z_DATA_ERROR = (-3); - Z_MEM_ERROR = (-4); - Z_BUF_ERROR = (-5); - Z_VERSION_ERROR = (-6); - - Z_NO_COMPRESSION = 0; - Z_BEST_SPEED = 1; - Z_BEST_COMPRESSION = 9; - Z_DEFAULT_COMPRESSION = (-1); - - Z_FILTERED = 1; - Z_HUFFMAN_ONLY = 2; - Z_RLE = 3; - Z_DEFAULT_STRATEGY = 0; - - Z_BINARY = 0; - Z_ASCII = 1; - Z_UNKNOWN = 2; - - Z_DEFLATED = 8; - - -{$L adler32.obj} -{$L compress.obj} -{$L crc32.obj} -{$L deflate.obj} -{$L infback.obj} -{$L inffast.obj} -{$L inflate.obj} -{$L inftrees.obj} -{$L trees.obj} -{$L uncompr.obj} -{$L zutil.obj} - -procedure adler32; external; -procedure compressBound; external; -procedure crc32; external; -procedure deflateInit2_; external; -procedure deflateParams; external; - -function _malloc(Size: Integer): Pointer; cdecl; -begin - Result := AllocMem(Size); -end; - -procedure _free(Block: Pointer); cdecl; -begin - FreeMem(Block); -end; - -procedure _memset(P: Pointer; B: Byte; count: Integer); cdecl; -begin - FillChar(P^, count, B); -end; - -procedure _memcpy(dest, source: Pointer; count: Integer); cdecl; -begin - Move(source^, dest^, count); -end; - - - -// deflate compresses data -function deflateInit_(var strm: TZStreamRec; level: Integer; version: PChar; - recsize: Integer): Integer; external; -function deflate(var strm: TZStreamRec; flush: Integer): Integer; external; -function deflateEnd(var strm: TZStreamRec): Integer; external; - -// inflate decompresses data -function inflateInit_(var strm: TZStreamRec; version: PChar; - recsize: Integer): Integer; external; -function inflate(var strm: TZStreamRec; flush: Integer): Integer; external; -function inflateEnd(var strm: TZStreamRec): Integer; external; -function inflateReset(var strm: TZStreamRec): Integer; external; - - -function zlibAllocMem(AppData: Pointer; Items, Size: Integer): Pointer; cdecl; -begin -// GetMem(Result, Items*Size); - Result := AllocMem(Items * Size); -end; - -procedure zlibFreeMem(AppData, Block: Pointer); cdecl; -begin - FreeMem(Block); -end; - -{function zlibCheck(code: Integer): Integer; -begin - Result := code; - if code < 0 then - raise EZlibError.Create('error'); //!! -end;} - -function CCheck(code: Integer): Integer; -begin - Result := code; - if code < 0 then - raise ECompressionError.Create('error'); //!! -end; - -function DCheck(code: Integer): Integer; -begin - Result := code; - if code < 0 then - raise EDecompressionError.Create('error'); //!! -end; - -procedure CompressBuf(const InBuf: Pointer; InBytes: Integer; - out OutBuf: Pointer; out OutBytes: Integer); -var - strm: TZStreamRec; - P: Pointer; -begin - FillChar(strm, sizeof(strm), 0); - strm.zalloc := zlibAllocMem; - strm.zfree := zlibFreeMem; - OutBytes := ((InBytes + (InBytes div 10) + 12) + 255) and not 255; - GetMem(OutBuf, OutBytes); - try - strm.next_in := InBuf; - strm.avail_in := InBytes; - strm.next_out := OutBuf; - strm.avail_out := OutBytes; - CCheck(deflateInit_(strm, Z_BEST_COMPRESSION, zlib_version, sizeof(strm))); - try - while CCheck(deflate(strm, Z_FINISH)) <> Z_STREAM_END do - begin - P := OutBuf; - Inc(OutBytes, 256); - ReallocMem(OutBuf, OutBytes); - strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P))); - strm.avail_out := 256; - end; - finally - CCheck(deflateEnd(strm)); - end; - ReallocMem(OutBuf, strm.total_out); - OutBytes := strm.total_out; - except - FreeMem(OutBuf); - raise - end; -end; - - -procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer; - OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer); -var - strm: TZStreamRec; - P: Pointer; - BufInc: Integer; -begin - FillChar(strm, sizeof(strm), 0); - strm.zalloc := zlibAllocMem; - strm.zfree := zlibFreeMem; - BufInc := (InBytes + 255) and not 255; - if OutEstimate = 0 then - OutBytes := BufInc - else - OutBytes := OutEstimate; - GetMem(OutBuf, OutBytes); - try - strm.next_in := InBuf; - strm.avail_in := InBytes; - strm.next_out := OutBuf; - strm.avail_out := OutBytes; - DCheck(inflateInit_(strm, zlib_version, sizeof(strm))); - try - while DCheck(inflate(strm, Z_NO_FLUSH)) <> Z_STREAM_END do - begin - P := OutBuf; - Inc(OutBytes, BufInc); - ReallocMem(OutBuf, OutBytes); - strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P))); - strm.avail_out := BufInc; - end; - finally - DCheck(inflateEnd(strm)); - end; - ReallocMem(OutBuf, strm.total_out); - OutBytes := strm.total_out; - except - FreeMem(OutBuf); - raise - end; -end; - -procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer; - const OutBuf: Pointer; BufSize: Integer); -var - strm: TZStreamRec; -begin - FillChar(strm, sizeof(strm), 0); - strm.zalloc := zlibAllocMem; - strm.zfree := zlibFreeMem; - strm.next_in := InBuf; - strm.avail_in := InBytes; - strm.next_out := OutBuf; - strm.avail_out := BufSize; - DCheck(inflateInit_(strm, zlib_version, sizeof(strm))); - try - if DCheck(inflate(strm, Z_FINISH)) <> Z_STREAM_END then - raise EZlibError.CreateRes(@sTargetBufferTooSmall); - finally - DCheck(inflateEnd(strm)); - end; -end; - -// TCustomZlibStream - -constructor TCustomZLibStream.Create(Strm: TStream); -begin - inherited Create; - FStrm := Strm; - FStrmPos := Strm.Position; - FZRec.zalloc := zlibAllocMem; - FZRec.zfree := zlibFreeMem; -end; - -procedure TCustomZLibStream.Progress(Sender: TObject); -begin - if Assigned(FOnProgress) then FOnProgress(Sender); -end; - - -// TCompressionStream - -constructor TCompressionStream.Create(CompressionLevel: TCompressionLevel; - Dest: TStream); -const - Levels: array [TCompressionLevel] of ShortInt = - (Z_NO_COMPRESSION, Z_BEST_SPEED, Z_DEFAULT_COMPRESSION, Z_BEST_COMPRESSION); -begin - inherited Create(Dest); - FZRec.next_out := FBuffer; - FZRec.avail_out := sizeof(FBuffer); - CCheck(deflateInit_(FZRec, Levels[CompressionLevel], zlib_version, sizeof(FZRec))); -end; - -destructor TCompressionStream.Destroy; -begin - FZRec.next_in := nil; - FZRec.avail_in := 0; - try - if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos; - while (CCheck(deflate(FZRec, Z_FINISH)) <> Z_STREAM_END) - and (FZRec.avail_out = 0) do - begin - FStrm.WriteBuffer(FBuffer, sizeof(FBuffer)); - FZRec.next_out := FBuffer; - FZRec.avail_out := sizeof(FBuffer); - end; - if FZRec.avail_out < sizeof(FBuffer) then - FStrm.WriteBuffer(FBuffer, sizeof(FBuffer) - FZRec.avail_out); - finally - deflateEnd(FZRec); - end; - inherited Destroy; -end; - -function TCompressionStream.Read(var Buffer; Count: Longint): Longint; -begin - raise ECompressionError.CreateRes(@sInvalidStreamOp); -end; - -function TCompressionStream.Write(const Buffer; Count: Longint): Longint; -begin - FZRec.next_in := @Buffer; - FZRec.avail_in := Count; - if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos; - while (FZRec.avail_in > 0) do - begin - CCheck(deflate(FZRec, 0)); - if FZRec.avail_out = 0 then - begin - FStrm.WriteBuffer(FBuffer, sizeof(FBuffer)); - FZRec.next_out := FBuffer; - FZRec.avail_out := sizeof(FBuffer); - FStrmPos := FStrm.Position; - Progress(Self); - end; - end; - Result := Count; -end; - -function TCompressionStream.Seek(Offset: Longint; Origin: Word): Longint; -begin - if (Offset = 0) and (Origin = soFromCurrent) then - Result := FZRec.total_in - else - raise ECompressionError.CreateRes(@sInvalidStreamOp); -end; - -function TCompressionStream.GetCompressionRate: Single; -begin - if FZRec.total_in = 0 then - Result := 0 - else - Result := (1.0 - (FZRec.total_out / FZRec.total_in)) * 100.0; -end; - - -// TDecompressionStream - -constructor TDecompressionStream.Create(Source: TStream); -begin - inherited Create(Source); - FZRec.next_in := FBuffer; - FZRec.avail_in := 0; - DCheck(inflateInit_(FZRec, zlib_version, sizeof(FZRec))); -end; - -destructor TDecompressionStream.Destroy; -begin - FStrm.Seek(-FZRec.avail_in, 1); - inflateEnd(FZRec); - inherited Destroy; -end; - -function TDecompressionStream.Read(var Buffer; Count: Longint): Longint; -begin - FZRec.next_out := @Buffer; - FZRec.avail_out := Count; - if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos; - while (FZRec.avail_out > 0) do - begin - if FZRec.avail_in = 0 then - begin - FZRec.avail_in := FStrm.Read(FBuffer, sizeof(FBuffer)); - if FZRec.avail_in = 0 then - begin - Result := Count - FZRec.avail_out; - Exit; - end; - FZRec.next_in := FBuffer; - FStrmPos := FStrm.Position; - Progress(Self); - end; - CCheck(inflate(FZRec, 0)); - end; - Result := Count; -end; - -function TDecompressionStream.Write(const Buffer; Count: Longint): Longint; -begin - raise EDecompressionError.CreateRes(@sInvalidStreamOp); -end; - -function TDecompressionStream.Seek(Offset: Longint; Origin: Word): Longint; -var - I: Integer; - Buf: array [0..4095] of Char; -begin - if (Offset = 0) and (Origin = soFromBeginning) then - begin - DCheck(inflateReset(FZRec)); - FZRec.next_in := FBuffer; - FZRec.avail_in := 0; - FStrm.Position := 0; - FStrmPos := 0; - end - else if ( (Offset >= 0) and (Origin = soFromCurrent)) or - ( ((Offset - FZRec.total_out) > 0) and (Origin = soFromBeginning)) then - begin - if Origin = soFromBeginning then Dec(Offset, FZRec.total_out); - if Offset > 0 then - begin - for I := 1 to Offset div sizeof(Buf) do - ReadBuffer(Buf, sizeof(Buf)); - ReadBuffer(Buf, Offset mod sizeof(Buf)); - end; - end - else - raise EDecompressionError.CreateRes(@sInvalidStreamOp); - Result := FZRec.total_out; -end; - - -end. diff --git a/protocols/Telegram/tgl/zlib/contrib/delphi/ZLibConst.pas b/protocols/Telegram/tgl/zlib/contrib/delphi/ZLibConst.pas deleted file mode 100644 index cdfe13671d..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/delphi/ZLibConst.pas +++ /dev/null @@ -1,11 +0,0 @@ -unit ZLibConst; - -interface - -resourcestring - sTargetBufferTooSmall = 'ZLib error: target buffer may be too small'; - sInvalidStreamOp = 'Invalid stream operation'; - -implementation - -end. diff --git a/protocols/Telegram/tgl/zlib/contrib/delphi/readme.txt b/protocols/Telegram/tgl/zlib/contrib/delphi/readme.txt deleted file mode 100644 index 2dc9a8bba2..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/delphi/readme.txt +++ /dev/null @@ -1,76 +0,0 @@ - -Overview -======== - -This directory contains an update to the ZLib interface unit, -distributed by Borland as a Delphi supplemental component. - -The original ZLib unit is Copyright (c) 1997,99 Borland Corp., -and is based on zlib version 1.0.4. There are a series of bugs -and security problems associated with that old zlib version, and -we recommend the users to update their ZLib unit. - - -Summary of modifications -======================== - -- Improved makefile, adapted to zlib version 1.2.1. - -- Some field types from TZStreamRec are changed from Integer to - Longint, for consistency with the zlib.h header, and for 64-bit - readiness. - -- The zlib_version constant is updated. - -- The new Z_RLE strategy has its corresponding symbolic constant. - -- The allocation and deallocation functions and function types - (TAlloc, TFree, zlibAllocMem and zlibFreeMem) are now cdecl, - and _malloc and _free are added as C RTL stubs. As a result, - the original C sources of zlib can be compiled out of the box, - and linked to the ZLib unit. - - -Suggestions for improvements -============================ - -Currently, the ZLib unit provides only a limited wrapper around -the zlib library, and much of the original zlib functionality is -missing. Handling compressed file formats like ZIP/GZIP or PNG -cannot be implemented without having this functionality. -Applications that handle these formats are either using their own, -duplicated code, or not using the ZLib unit at all. - -Here are a few suggestions: - -- Checksum class wrappers around adler32() and crc32(), similar - to the Java classes that implement the java.util.zip.Checksum - interface. - -- The ability to read and write raw deflate streams, without the - zlib stream header and trailer. Raw deflate streams are used - in the ZIP file format. - -- The ability to read and write gzip streams, used in the GZIP - file format, and normally produced by the gzip program. - -- The ability to select a different compression strategy, useful - to PNG and MNG image compression, and to multimedia compression - in general. Besides the compression level - - TCompressionLevel = (clNone, clFastest, clDefault, clMax); - - which, in fact, could have used the 'z' prefix and avoided - TColor-like symbols - - TCompressionLevel = (zcNone, zcFastest, zcDefault, zcMax); - - there could be a compression strategy - - TCompressionStrategy = (zsDefault, zsFiltered, zsHuffmanOnly, zsRle); - -- ZIP and GZIP stream handling via TStreams. - - --- -Cosmin Truta diff --git a/protocols/Telegram/tgl/zlib/contrib/delphi/zlibd32.mak b/protocols/Telegram/tgl/zlib/contrib/delphi/zlibd32.mak deleted file mode 100644 index 9bb00b7cc4..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/delphi/zlibd32.mak +++ /dev/null @@ -1,99 +0,0 @@ -# Makefile for zlib -# For use with Delphi and C++ Builder under Win32 -# Updated for zlib 1.2.x by Cosmin Truta - -# ------------ Borland C++ ------------ - -# This project uses the Delphi (fastcall/register) calling convention: -LOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl - -CC = bcc32 -LD = bcc32 -AR = tlib -# do not use "-pr" in CFLAGS -CFLAGS = -a -d -k- -O2 $(LOC) -LDFLAGS = - - -# variables -ZLIB_LIB = zlib.lib - -OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj -OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj -OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj -OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj - - -# targets -all: $(ZLIB_LIB) example.exe minigzip.exe - -.c.obj: - $(CC) -c $(CFLAGS) $*.c - -adler32.obj: adler32.c zlib.h zconf.h - -compress.obj: compress.c zlib.h zconf.h - -crc32.obj: crc32.c zlib.h zconf.h crc32.h - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - -gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h - -gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h - -gzread.obj: gzread.c zlib.h zconf.h gzguts.h - -gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h - -infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h - -inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - -trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h - -uncompr.obj: uncompr.c zlib.h zconf.h - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - -example.obj: test/example.c zlib.h zconf.h - -minigzip.obj: test/minigzip.c zlib.h zconf.h - - -# For the sake of the old Borland make, -# the command line is cut to fit in the MS-DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) - -del $(ZLIB_LIB) - $(AR) $(ZLIB_LIB) $(OBJP1) - $(AR) $(ZLIB_LIB) $(OBJP2) - - -# testing -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) - - -# cleanup -clean: - -del *.obj - -del *.exe - -del *.lib - -del *.tds - -del zlib.bak - -del foo.gz - diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.build b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.build deleted file mode 100644 index 7f90d6bc7c..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.build +++ /dev/null @@ -1,33 +0,0 @@ - - - A .Net wrapper library around ZLib1.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.chm b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.chm deleted file mode 100644 index f214a444ae..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.chm and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.sln b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.sln deleted file mode 100644 index ac45ca048b..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotZLib", "DotZLib\DotZLib.csproj", "{BB1EE0B1-1808-46CB-B786-949D91117FC5}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - Debug = Debug - Release = Release - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.ActiveCfg = Debug|.NET - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.Build.0 = Debug|.NET - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.ActiveCfg = Release|.NET - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.Build.0 = Release|.NET - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs deleted file mode 100644 index 0491bfc2b0..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -// -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -// -[assembly: AssemblyTitle("DotZLib")] -[assembly: AssemblyDescription(".Net bindings for ZLib compression dll 1.2.x")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Henrik Ravn")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("(c) 2004 by Henrik Ravn")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: - -[assembly: AssemblyVersion("1.0.*")] - -// -// In order to sign your assembly you must specify a key to use. Refer to the -// Microsoft .NET Framework documentation for more information on assembly signing. -// -// Use the attributes below to control which key is used for signing. -// -// Notes: -// (*) If no key is specified, the assembly is not signed. -// (*) KeyName refers to a key that has been installed in the Crypto Service -// Provider (CSP) on your machine. KeyFile refers to a file which contains -// a key. -// (*) If the KeyFile and the KeyName values are both specified, the -// following processing occurs: -// (1) If the KeyName can be found in the CSP, that key is used. -// (2) If the KeyName does not exist and the KeyFile does exist, the key -// in the KeyFile is installed into the CSP and used. -// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. -// When specifying the KeyFile, the location of the KeyFile should be -// relative to the project output directory which is -// %Project Directory%\obj\. For example, if your KeyFile is -// located in the project directory, you would specify the AssemblyKeyFile -// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] -// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework -// documentation for more information on this. -// -[assembly: AssemblyDelaySign(false)] -[assembly: AssemblyKeyFile("")] -[assembly: AssemblyKeyName("")] diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs deleted file mode 100644 index 788b2fcece..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +++ /dev/null @@ -1,202 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Runtime.InteropServices; -using System.Text; - - -namespace DotZLib -{ - #region ChecksumGeneratorBase - /// - /// Implements the common functionality needed for all s - /// - /// - public abstract class ChecksumGeneratorBase : ChecksumGenerator - { - /// - /// The value of the current checksum - /// - protected uint _current; - - /// - /// Initializes a new instance of the checksum generator base - the current checksum is - /// set to zero - /// - public ChecksumGeneratorBase() - { - _current = 0; - } - - /// - /// Initializes a new instance of the checksum generator basewith a specified value - /// - /// The value to set the current checksum to - public ChecksumGeneratorBase(uint initialValue) - { - _current = initialValue; - } - - /// - /// Resets the current checksum to zero - /// - public void Reset() { _current = 0; } - - /// - /// Gets the current checksum value - /// - public uint Value { get { return _current; } } - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - /// All the other Update methods are implmeneted in terms of this one. - /// This is therefore the only method a derived class has to implement - public abstract void Update(byte[] data, int offset, int count); - - /// - /// Updates the current checksum with an array of bytes. - /// - /// The data to update the checksum with - public void Update(byte[] data) - { - Update(data, 0, data.Length); - } - - /// - /// Updates the current checksum with the data from a string - /// - /// The string to update the checksum with - /// The characters in the string are converted by the UTF-8 encoding - public void Update(string data) - { - Update(Encoding.UTF8.GetBytes(data)); - } - - /// - /// Updates the current checksum with the data from a string, using a specific encoding - /// - /// The string to update the checksum with - /// The encoding to use - public void Update(string data, Encoding encoding) - { - Update(encoding.GetBytes(data)); - } - - } - #endregion - - #region CRC32 - /// - /// Implements a CRC32 checksum generator - /// - public sealed class CRC32Checksum : ChecksumGeneratorBase - { - #region DLL imports - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern uint crc32(uint crc, int data, uint length); - - #endregion - - /// - /// Initializes a new instance of the CRC32 checksum generator - /// - public CRC32Checksum() : base() {} - - /// - /// Initializes a new instance of the CRC32 checksum generator with a specified value - /// - /// The value to set the current checksum to - public CRC32Checksum(uint initialValue) : base(initialValue) {} - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - public override void Update(byte[] data, int offset, int count) - { - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - GCHandle hData = GCHandle.Alloc(data, GCHandleType.Pinned); - try - { - _current = crc32(_current, hData.AddrOfPinnedObject().ToInt32()+offset, (uint)count); - } - finally - { - hData.Free(); - } - } - - } - #endregion - - #region Adler - /// - /// Implements a checksum generator that computes the Adler checksum on data - /// - public sealed class AdlerChecksum : ChecksumGeneratorBase - { - #region DLL imports - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern uint adler32(uint adler, int data, uint length); - - #endregion - - /// - /// Initializes a new instance of the Adler checksum generator - /// - public AdlerChecksum() : base() {} - - /// - /// Initializes a new instance of the Adler checksum generator with a specified value - /// - /// The value to set the current checksum to - public AdlerChecksum(uint initialValue) : base(initialValue) {} - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - public override void Update(byte[] data, int offset, int count) - { - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - GCHandle hData = GCHandle.Alloc(data, GCHandleType.Pinned); - try - { - _current = adler32(_current, hData.AddrOfPinnedObject().ToInt32()+offset, (uint)count); - } - finally - { - hData.Free(); - } - } - - } - #endregion - -} \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs deleted file mode 100644 index c1cab3a02c..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +++ /dev/null @@ -1,83 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Diagnostics; - -namespace DotZLib -{ - - /// - /// This class implements a circular buffer - /// - internal class CircularBuffer - { - #region Private data - private int _capacity; - private int _head; - private int _tail; - private int _size; - private byte[] _buffer; - #endregion - - public CircularBuffer(int capacity) - { - Debug.Assert( capacity > 0 ); - _buffer = new byte[capacity]; - _capacity = capacity; - _head = 0; - _tail = 0; - _size = 0; - } - - public int Size { get { return _size; } } - - public int Put(byte[] source, int offset, int count) - { - Debug.Assert( count > 0 ); - int trueCount = Math.Min(count, _capacity - Size); - for (int i = 0; i < trueCount; ++i) - _buffer[(_tail+i) % _capacity] = source[offset+i]; - _tail += trueCount; - _tail %= _capacity; - _size += trueCount; - return trueCount; - } - - public bool Put(byte b) - { - if (Size == _capacity) // no room - return false; - _buffer[_tail++] = b; - _tail %= _capacity; - ++_size; - return true; - } - - public int Get(byte[] destination, int offset, int count) - { - int trueCount = Math.Min(count,Size); - for (int i = 0; i < trueCount; ++i) - destination[offset + i] = _buffer[(_head+i) % _capacity]; - _head += trueCount; - _head %= _capacity; - _size -= trueCount; - return trueCount; - } - - public int Get() - { - if (Size == 0) - return -1; - - int result = (int)_buffer[_head++ % _capacity]; - --_size; - return result; - } - - } -} diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/CodecBase.cs b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/CodecBase.cs deleted file mode 100644 index 42e6da3a56..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +++ /dev/null @@ -1,198 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - /// - /// Implements the common functionality needed for all s - /// - public abstract class CodecBase : Codec, IDisposable - { - - #region Data members - - /// - /// Instance of the internal zlib buffer structure that is - /// passed to all functions in the zlib dll - /// - internal ZStream _ztream = new ZStream(); - - /// - /// True if the object instance has been disposed, false otherwise - /// - protected bool _isDisposed = false; - - /// - /// The size of the internal buffers - /// - protected const int kBufferSize = 16384; - - private byte[] _outBuffer = new byte[kBufferSize]; - private byte[] _inBuffer = new byte[kBufferSize]; - - private GCHandle _hInput; - private GCHandle _hOutput; - - private uint _checksum = 0; - - #endregion - - /// - /// Initializes a new instance of the CodeBase class. - /// - public CodecBase() - { - try - { - _hInput = GCHandle.Alloc(_inBuffer, GCHandleType.Pinned); - _hOutput = GCHandle.Alloc(_outBuffer, GCHandleType.Pinned); - } - catch (Exception) - { - CleanUp(false); - throw; - } - } - - - #region Codec Members - - /// - /// Occurs when more processed data are available. - /// - public event DataAvailableHandler DataAvailable; - - /// - /// Fires the event - /// - protected void OnDataAvailable() - { - if (_ztream.total_out > 0) - { - if (DataAvailable != null) - DataAvailable( _outBuffer, 0, (int)_ztream.total_out); - resetOutput(); - } - } - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// Adding data may, or may not, raise the DataAvailable event - public void Add(byte[] data) - { - Add(data,0,data.Length); - } - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - /// This must be implemented by a derived class - public abstract void Add(byte[] data, int offset, int count); - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - /// This must be implemented by a derived class - public abstract void Finish(); - - /// - /// Gets the checksum of the data that has been added so far - /// - public uint Checksum { get { return _checksum; } } - - #endregion - - #region Destructor & IDisposable stuff - - /// - /// Destroys this instance - /// - ~CodecBase() - { - CleanUp(false); - } - - /// - /// Releases any unmanaged resources and calls the method of the derived class - /// - public void Dispose() - { - CleanUp(true); - } - - /// - /// Performs any codec specific cleanup - /// - /// This must be implemented by a derived class - protected abstract void CleanUp(); - - // performs the release of the handles and calls the dereived CleanUp() - private void CleanUp(bool isDisposing) - { - if (!_isDisposed) - { - CleanUp(); - if (_hInput.IsAllocated) - _hInput.Free(); - if (_hOutput.IsAllocated) - _hOutput.Free(); - - _isDisposed = true; - } - } - - - #endregion - - #region Helper methods - - /// - /// Copies a number of bytes to the internal codec buffer - ready for proccesing - /// - /// The byte array that contains the data to copy - /// The index of the first byte to copy - /// The number of bytes to copy from data - protected void copyInput(byte[] data, int startIndex, int count) - { - Array.Copy(data, startIndex, _inBuffer,0, count); - _ztream.next_in = _hInput.AddrOfPinnedObject(); - _ztream.total_in = 0; - _ztream.avail_in = (uint)count; - - } - - /// - /// Resets the internal output buffers to a known state - ready for processing - /// - protected void resetOutput() - { - _ztream.total_out = 0; - _ztream.avail_out = kBufferSize; - _ztream.next_out = _hOutput.AddrOfPinnedObject(); - } - - /// - /// Updates the running checksum property - /// - /// The new checksum value - protected void setChecksum(uint newSum) - { - _checksum = newSum; - } - #endregion - - } -} diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/Deflater.cs b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/Deflater.cs deleted file mode 100644 index c2477925b6..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/Deflater.cs +++ /dev/null @@ -1,106 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Diagnostics; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - - /// - /// Implements a data compressor, using the deflate algorithm in the ZLib dll - /// - public sealed class Deflater : CodecBase - { - #region Dll imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] - private static extern int deflateInit_(ref ZStream sz, int level, string vs, int size); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int deflate(ref ZStream sz, int flush); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int deflateReset(ref ZStream sz); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int deflateEnd(ref ZStream sz); - #endregion - - /// - /// Constructs an new instance of the Deflater - /// - /// The compression level to use for this Deflater - public Deflater(CompressLevel level) : base() - { - int retval = deflateInit_(ref _ztream, (int)level, Info.Version, Marshal.SizeOf(_ztream)); - if (retval != 0) - throw new ZLibException(retval, "Could not initialize deflater"); - - resetOutput(); - } - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - public override void Add(byte[] data, int offset, int count) - { - if (data == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - - int total = count; - int inputIndex = offset; - int err = 0; - - while (err >= 0 && inputIndex < total) - { - copyInput(data, inputIndex, Math.Min(total - inputIndex, kBufferSize)); - while (err >= 0 && _ztream.avail_in > 0) - { - err = deflate(ref _ztream, (int)FlushTypes.None); - if (err == 0) - while (_ztream.avail_out == 0) - { - OnDataAvailable(); - err = deflate(ref _ztream, (int)FlushTypes.None); - } - inputIndex += (int)_ztream.total_in; - } - } - setChecksum( _ztream.adler ); - } - - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - public override void Finish() - { - int err; - do - { - err = deflate(ref _ztream, (int)FlushTypes.Finish); - OnDataAvailable(); - } - while (err == 0); - setChecksum( _ztream.adler ); - deflateReset(ref _ztream); - resetOutput(); - } - - /// - /// Closes the internal zlib deflate stream - /// - protected override void CleanUp() { deflateEnd(ref _ztream); } - - } -} diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/DotZLib.cs b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/DotZLib.cs deleted file mode 100644 index be184b4c71..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +++ /dev/null @@ -1,288 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.IO; -using System.Runtime.InteropServices; -using System.Text; - - -namespace DotZLib -{ - - #region Internal types - - /// - /// Defines constants for the various flush types used with zlib - /// - internal enum FlushTypes - { - None, Partial, Sync, Full, Finish, Block - } - - #region ZStream structure - // internal mapping of the zlib zstream structure for marshalling - [StructLayoutAttribute(LayoutKind.Sequential, Pack=4, Size=0, CharSet=CharSet.Ansi)] - internal struct ZStream - { - public IntPtr next_in; - public uint avail_in; - public uint total_in; - - public IntPtr next_out; - public uint avail_out; - public uint total_out; - - [MarshalAs(UnmanagedType.LPStr)] - string msg; - uint state; - - uint zalloc; - uint zfree; - uint opaque; - - int data_type; - public uint adler; - uint reserved; - } - - #endregion - - #endregion - - #region Public enums - /// - /// Defines constants for the available compression levels in zlib - /// - public enum CompressLevel : int - { - /// - /// The default compression level with a reasonable compromise between compression and speed - /// - Default = -1, - /// - /// No compression at all. The data are passed straight through. - /// - None = 0, - /// - /// The maximum compression rate available. - /// - Best = 9, - /// - /// The fastest available compression level. - /// - Fastest = 1 - } - #endregion - - #region Exception classes - /// - /// The exception that is thrown when an error occurs on the zlib dll - /// - public class ZLibException : ApplicationException - { - /// - /// Initializes a new instance of the class with a specified - /// error message and error code - /// - /// The zlib error code that caused the exception - /// A message that (hopefully) describes the error - public ZLibException(int errorCode, string msg) : base(String.Format("ZLib error {0} {1}", errorCode, msg)) - { - } - - /// - /// Initializes a new instance of the class with a specified - /// error code - /// - /// The zlib error code that caused the exception - public ZLibException(int errorCode) : base(String.Format("ZLib error {0}", errorCode)) - { - } - } - #endregion - - #region Interfaces - - /// - /// Declares methods and properties that enables a running checksum to be calculated - /// - public interface ChecksumGenerator - { - /// - /// Gets the current value of the checksum - /// - uint Value { get; } - - /// - /// Clears the current checksum to 0 - /// - void Reset(); - - /// - /// Updates the current checksum with an array of bytes - /// - /// The data to update the checksum with - void Update(byte[] data); - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - void Update(byte[] data, int offset, int count); - - /// - /// Updates the current checksum with the data from a string - /// - /// The string to update the checksum with - /// The characters in the string are converted by the UTF-8 encoding - void Update(string data); - - /// - /// Updates the current checksum with the data from a string, using a specific encoding - /// - /// The string to update the checksum with - /// The encoding to use - void Update(string data, Encoding encoding); - } - - - /// - /// Represents the method that will be called from a codec when new data - /// are available. - /// - /// The byte array containing the processed data - /// The index of the first processed byte in data - /// The number of processed bytes available - /// On return from this method, the data may be overwritten, so grab it while you can. - /// You cannot assume that startIndex will be zero. - /// - public delegate void DataAvailableHandler(byte[] data, int startIndex, int count); - - /// - /// Declares methods and events for implementing compressors/decompressors - /// - public interface Codec - { - /// - /// Occurs when more processed data are available. - /// - event DataAvailableHandler DataAvailable; - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// Adding data may, or may not, raise the DataAvailable event - void Add(byte[] data); - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - void Add(byte[] data, int offset, int count); - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - void Finish(); - - /// - /// Gets the checksum of the data that has been added so far - /// - uint Checksum { get; } - - - } - - #endregion - - #region Classes - /// - /// Encapsulates general information about the ZLib library - /// - public class Info - { - #region DLL imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern uint zlibCompileFlags(); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern string zlibVersion(); - #endregion - - #region Private stuff - private uint _flags; - - // helper function that unpacks a bitsize mask - private static int bitSize(uint bits) - { - switch (bits) - { - case 0: return 16; - case 1: return 32; - case 2: return 64; - } - return -1; - } - #endregion - - /// - /// Constructs an instance of the Info class. - /// - public Info() - { - _flags = zlibCompileFlags(); - } - - /// - /// True if the library is compiled with debug info - /// - public bool HasDebugInfo { get { return 0 != (_flags & 0x100); } } - - /// - /// True if the library is compiled with assembly optimizations - /// - public bool UsesAssemblyCode { get { return 0 != (_flags & 0x200); } } - - /// - /// Gets the size of the unsigned int that was compiled into Zlib - /// - public int SizeOfUInt { get { return bitSize(_flags & 3); } } - - /// - /// Gets the size of the unsigned long that was compiled into Zlib - /// - public int SizeOfULong { get { return bitSize((_flags >> 2) & 3); } } - - /// - /// Gets the size of the pointers that were compiled into Zlib - /// - public int SizeOfPointer { get { return bitSize((_flags >> 4) & 3); } } - - /// - /// Gets the size of the z_off_t type that was compiled into Zlib - /// - public int SizeOfOffset { get { return bitSize((_flags >> 6) & 3); } } - - /// - /// Gets the version of ZLib as a string, e.g. "1.2.1" - /// - public static string Version { get { return zlibVersion(); } } - } - - #endregion - -} diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj deleted file mode 100644 index 71eeb8590a..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/GZipStream.cs b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/GZipStream.cs deleted file mode 100644 index b161300b18..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +++ /dev/null @@ -1,301 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.IO; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - /// - /// Implements a compressed , in GZip (.gz) format. - /// - public class GZipStream : Stream, IDisposable - { - #region Dll Imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] - private static extern IntPtr gzopen(string name, string mode); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzclose(IntPtr gzFile); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzwrite(IntPtr gzFile, int data, int length); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzread(IntPtr gzFile, int data, int length); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzgetc(IntPtr gzFile); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzputc(IntPtr gzFile, int c); - - #endregion - - #region Private data - private IntPtr _gzFile; - private bool _isDisposed = false; - private bool _isWriting; - #endregion - - #region Constructors - /// - /// Creates a new file as a writeable GZipStream - /// - /// The name of the compressed file to create - /// The compression level to use when adding data - /// If an error occurred in the internal zlib function - public GZipStream(string fileName, CompressLevel level) - { - _isWriting = true; - _gzFile = gzopen(fileName, String.Format("wb{0}", (int)level)); - if (_gzFile == IntPtr.Zero) - throw new ZLibException(-1, "Could not open " + fileName); - } - - /// - /// Opens an existing file as a readable GZipStream - /// - /// The name of the file to open - /// If an error occurred in the internal zlib function - public GZipStream(string fileName) - { - _isWriting = false; - _gzFile = gzopen(fileName, "rb"); - if (_gzFile == IntPtr.Zero) - throw new ZLibException(-1, "Could not open " + fileName); - - } - #endregion - - #region Access properties - /// - /// Returns true of this stream can be read from, false otherwise - /// - public override bool CanRead - { - get - { - return !_isWriting; - } - } - - - /// - /// Returns false. - /// - public override bool CanSeek - { - get - { - return false; - } - } - - /// - /// Returns true if this tsream is writeable, false otherwise - /// - public override bool CanWrite - { - get - { - return _isWriting; - } - } - #endregion - - #region Destructor & IDispose stuff - - /// - /// Destroys this instance - /// - ~GZipStream() - { - cleanUp(false); - } - - /// - /// Closes the external file handle - /// - public void Dispose() - { - cleanUp(true); - } - - // Does the actual closing of the file handle. - private void cleanUp(bool isDisposing) - { - if (!_isDisposed) - { - gzclose(_gzFile); - _isDisposed = true; - } - } - #endregion - - #region Basic reading and writing - /// - /// Attempts to read a number of bytes from the stream. - /// - /// The destination data buffer - /// The index of the first destination byte in buffer - /// The number of bytes requested - /// The number of bytes read - /// If buffer is null - /// If count or offset are negative - /// If offset + count is > buffer.Length - /// If this stream is not readable. - /// If this stream has been disposed. - public override int Read(byte[] buffer, int offset, int count) - { - if (!CanRead) throw new NotSupportedException(); - if (buffer == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > buffer.Length) throw new ArgumentException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - - GCHandle h = GCHandle.Alloc(buffer, GCHandleType.Pinned); - int result; - try - { - result = gzread(_gzFile, h.AddrOfPinnedObject().ToInt32() + offset, count); - if (result < 0) - throw new IOException(); - } - finally - { - h.Free(); - } - return result; - } - - /// - /// Attempts to read a single byte from the stream. - /// - /// The byte that was read, or -1 in case of error or End-Of-File - public override int ReadByte() - { - if (!CanRead) throw new NotSupportedException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - return gzgetc(_gzFile); - } - - /// - /// Writes a number of bytes to the stream - /// - /// - /// - /// - /// If buffer is null - /// If count or offset are negative - /// If offset + count is > buffer.Length - /// If this stream is not writeable. - /// If this stream has been disposed. - public override void Write(byte[] buffer, int offset, int count) - { - if (!CanWrite) throw new NotSupportedException(); - if (buffer == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > buffer.Length) throw new ArgumentException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - - GCHandle h = GCHandle.Alloc(buffer, GCHandleType.Pinned); - try - { - int result = gzwrite(_gzFile, h.AddrOfPinnedObject().ToInt32() + offset, count); - if (result < 0) - throw new IOException(); - } - finally - { - h.Free(); - } - } - - /// - /// Writes a single byte to the stream - /// - /// The byte to add to the stream. - /// If this stream is not writeable. - /// If this stream has been disposed. - public override void WriteByte(byte value) - { - if (!CanWrite) throw new NotSupportedException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - - int result = gzputc(_gzFile, (int)value); - if (result < 0) - throw new IOException(); - } - #endregion - - #region Position & length stuff - /// - /// Not supported. - /// - /// - /// Always thrown - public override void SetLength(long value) - { - throw new NotSupportedException(); - } - - /// - /// Not suppported. - /// - /// - /// - /// - /// Always thrown - public override long Seek(long offset, SeekOrigin origin) - { - throw new NotSupportedException(); - } - - /// - /// Flushes the GZipStream. - /// - /// In this implementation, this method does nothing. This is because excessive - /// flushing may degrade the achievable compression rates. - public override void Flush() - { - // left empty on purpose - } - - /// - /// Gets/sets the current position in the GZipStream. Not suppported. - /// - /// In this implementation this property is not supported - /// Always thrown - public override long Position - { - get - { - throw new NotSupportedException(); - } - set - { - throw new NotSupportedException(); - } - } - - /// - /// Gets the size of the stream. Not suppported. - /// - /// In this implementation this property is not supported - /// Always thrown - public override long Length - { - get - { - throw new NotSupportedException(); - } - } - #endregion - } -} diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/Inflater.cs b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/Inflater.cs deleted file mode 100644 index 8ed5451d66..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/Inflater.cs +++ /dev/null @@ -1,105 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Diagnostics; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - - /// - /// Implements a data decompressor, using the inflate algorithm in the ZLib dll - /// - public class Inflater : CodecBase - { - #region Dll imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] - private static extern int inflateInit_(ref ZStream sz, string vs, int size); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int inflate(ref ZStream sz, int flush); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int inflateReset(ref ZStream sz); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int inflateEnd(ref ZStream sz); - #endregion - - /// - /// Constructs an new instance of the Inflater - /// - public Inflater() : base() - { - int retval = inflateInit_(ref _ztream, Info.Version, Marshal.SizeOf(_ztream)); - if (retval != 0) - throw new ZLibException(retval, "Could not initialize inflater"); - - resetOutput(); - } - - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - public override void Add(byte[] data, int offset, int count) - { - if (data == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - - int total = count; - int inputIndex = offset; - int err = 0; - - while (err >= 0 && inputIndex < total) - { - copyInput(data, inputIndex, Math.Min(total - inputIndex, kBufferSize)); - err = inflate(ref _ztream, (int)FlushTypes.None); - if (err == 0) - while (_ztream.avail_out == 0) - { - OnDataAvailable(); - err = inflate(ref _ztream, (int)FlushTypes.None); - } - - inputIndex += (int)_ztream.total_in; - } - setChecksum( _ztream.adler ); - } - - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - public override void Finish() - { - int err; - do - { - err = inflate(ref _ztream, (int)FlushTypes.Finish); - OnDataAvailable(); - } - while (err == 0); - setChecksum( _ztream.adler ); - inflateReset(ref _ztream); - resetOutput(); - } - - /// - /// Closes the internal zlib inflate stream - /// - protected override void CleanUp() { inflateEnd(ref _ztream); } - - - } -} diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/UnitTests.cs b/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/UnitTests.cs deleted file mode 100644 index b273d54b34..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +++ /dev/null @@ -1,274 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Collections; -using System.IO; - -// uncomment the define below to include unit tests -//#define nunit -#if nunit -using NUnit.Framework; - -// Unit tests for the DotZLib class library -// ---------------------------------------- -// -// Use this with NUnit 2 from http://www.nunit.org -// - -namespace DotZLibTests -{ - using DotZLib; - - // helper methods - internal class Utils - { - public static bool byteArrEqual( byte[] lhs, byte[] rhs ) - { - if (lhs.Length != rhs.Length) - return false; - for (int i = lhs.Length-1; i >= 0; --i) - if (lhs[i] != rhs[i]) - return false; - return true; - } - - } - - - [TestFixture] - public class CircBufferTests - { - #region Circular buffer tests - [Test] - public void SinglePutGet() - { - CircularBuffer buf = new CircularBuffer(10); - Assert.AreEqual( 0, buf.Size ); - Assert.AreEqual( -1, buf.Get() ); - - Assert.IsTrue(buf.Put( 1 )); - Assert.AreEqual( 1, buf.Size ); - Assert.AreEqual( 1, buf.Get() ); - Assert.AreEqual( 0, buf.Size ); - Assert.AreEqual( -1, buf.Get() ); - } - - [Test] - public void BlockPutGet() - { - CircularBuffer buf = new CircularBuffer(10); - byte[] arr = {1,2,3,4,5,6,7,8,9,10}; - Assert.AreEqual( 10, buf.Put(arr,0,10) ); - Assert.AreEqual( 10, buf.Size ); - Assert.IsFalse( buf.Put(11) ); - Assert.AreEqual( 1, buf.Get() ); - Assert.IsTrue( buf.Put(11) ); - - byte[] arr2 = (byte[])arr.Clone(); - Assert.AreEqual( 9, buf.Get(arr2,1,9) ); - Assert.IsTrue( Utils.byteArrEqual(arr,arr2) ); - } - - #endregion - } - - [TestFixture] - public class ChecksumTests - { - #region CRC32 Tests - [Test] - public void CRC32_Null() - { - CRC32Checksum crc32 = new CRC32Checksum(); - Assert.AreEqual( 0, crc32.Value ); - - crc32 = new CRC32Checksum(1); - Assert.AreEqual( 1, crc32.Value ); - - crc32 = new CRC32Checksum(556); - Assert.AreEqual( 556, crc32.Value ); - } - - [Test] - public void CRC32_Data() - { - CRC32Checksum crc32 = new CRC32Checksum(); - byte[] data = { 1,2,3,4,5,6,7 }; - crc32.Update(data); - Assert.AreEqual( 0x70e46888, crc32.Value ); - - crc32 = new CRC32Checksum(); - crc32.Update("penguin"); - Assert.AreEqual( 0x0e5c1a120, crc32.Value ); - - crc32 = new CRC32Checksum(1); - crc32.Update("penguin"); - Assert.AreEqual(0x43b6aa94, crc32.Value); - - } - #endregion - - #region Adler tests - - [Test] - public void Adler_Null() - { - AdlerChecksum adler = new AdlerChecksum(); - Assert.AreEqual(0, adler.Value); - - adler = new AdlerChecksum(1); - Assert.AreEqual( 1, adler.Value ); - - adler = new AdlerChecksum(556); - Assert.AreEqual( 556, adler.Value ); - } - - [Test] - public void Adler_Data() - { - AdlerChecksum adler = new AdlerChecksum(1); - byte[] data = { 1,2,3,4,5,6,7 }; - adler.Update(data); - Assert.AreEqual( 0x5b001d, adler.Value ); - - adler = new AdlerChecksum(); - adler.Update("penguin"); - Assert.AreEqual(0x0bcf02f6, adler.Value ); - - adler = new AdlerChecksum(1); - adler.Update("penguin"); - Assert.AreEqual(0x0bd602f7, adler.Value); - - } - #endregion - } - - [TestFixture] - public class InfoTests - { - #region Info tests - [Test] - public void Info_Version() - { - Info info = new Info(); - Assert.AreEqual("1.2.8", Info.Version); - Assert.AreEqual(32, info.SizeOfUInt); - Assert.AreEqual(32, info.SizeOfULong); - Assert.AreEqual(32, info.SizeOfPointer); - Assert.AreEqual(32, info.SizeOfOffset); - } - #endregion - } - - [TestFixture] - public class DeflateInflateTests - { - #region Deflate tests - [Test] - public void Deflate_Init() - { - using (Deflater def = new Deflater(CompressLevel.Default)) - { - } - } - - private ArrayList compressedData = new ArrayList(); - private uint adler1; - - private ArrayList uncompressedData = new ArrayList(); - private uint adler2; - - public void CDataAvail(byte[] data, int startIndex, int count) - { - for (int i = 0; i < count; ++i) - compressedData.Add(data[i+startIndex]); - } - - [Test] - public void Deflate_Compress() - { - compressedData.Clear(); - - byte[] testData = new byte[35000]; - for (int i = 0; i < testData.Length; ++i) - testData[i] = 5; - - using (Deflater def = new Deflater((CompressLevel)5)) - { - def.DataAvailable += new DataAvailableHandler(CDataAvail); - def.Add(testData); - def.Finish(); - adler1 = def.Checksum; - } - } - #endregion - - #region Inflate tests - [Test] - public void Inflate_Init() - { - using (Inflater inf = new Inflater()) - { - } - } - - private void DDataAvail(byte[] data, int startIndex, int count) - { - for (int i = 0; i < count; ++i) - uncompressedData.Add(data[i+startIndex]); - } - - [Test] - public void Inflate_Expand() - { - uncompressedData.Clear(); - - using (Inflater inf = new Inflater()) - { - inf.DataAvailable += new DataAvailableHandler(DDataAvail); - inf.Add((byte[])compressedData.ToArray(typeof(byte))); - inf.Finish(); - adler2 = inf.Checksum; - } - Assert.AreEqual( adler1, adler2 ); - } - #endregion - } - - [TestFixture] - public class GZipStreamTests - { - #region GZipStream test - [Test] - public void GZipStream_WriteRead() - { - using (GZipStream gzOut = new GZipStream("gzstream.gz", CompressLevel.Best)) - { - BinaryWriter writer = new BinaryWriter(gzOut); - writer.Write("hi there"); - writer.Write(Math.PI); - writer.Write(42); - } - - using (GZipStream gzIn = new GZipStream("gzstream.gz")) - { - BinaryReader reader = new BinaryReader(gzIn); - string s = reader.ReadString(); - Assert.AreEqual("hi there",s); - double d = reader.ReadDouble(); - Assert.AreEqual(Math.PI, d); - int i = reader.ReadInt32(); - Assert.AreEqual(42,i); - } - - } - #endregion - } -} - -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/LICENSE_1_0.txt b/protocols/Telegram/tgl/zlib/contrib/dotzlib/LICENSE_1_0.txt deleted file mode 100644 index 30aac2cf47..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/LICENSE_1_0.txt +++ /dev/null @@ -1,23 +0,0 @@ -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/dotzlib/readme.txt b/protocols/Telegram/tgl/zlib/contrib/dotzlib/readme.txt deleted file mode 100644 index b2395720d4..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/dotzlib/readme.txt +++ /dev/null @@ -1,58 +0,0 @@ -This directory contains a .Net wrapper class library for the ZLib1.dll - -The wrapper includes support for inflating/deflating memory buffers, -.Net streaming wrappers for the gz streams part of zlib, and wrappers -for the checksum parts of zlib. See DotZLib/UnitTests.cs for examples. - -Directory structure: --------------------- - -LICENSE_1_0.txt - License file. -readme.txt - This file. -DotZLib.chm - Class library documentation -DotZLib.build - NAnt build file -DotZLib.sln - Microsoft Visual Studio 2003 solution file - -DotZLib\*.cs - Source files for the class library - -Unit tests: ------------ -The file DotZLib/UnitTests.cs contains unit tests for use with NUnit 2.1 or higher. -To include unit tests in the build, define nunit before building. - - -Build instructions: -------------------- - -1. Using Visual Studio.Net 2003: - Open DotZLib.sln in VS.Net and build from there. Output file (DotZLib.dll) - will be found ./DotZLib/bin/release or ./DotZLib/bin/debug, depending on - you are building the release or debug version of the library. Check - DotZLib/UnitTests.cs for instructions on how to include unit tests in the - build. - -2. Using NAnt: - Open a command prompt with access to the build environment and run nant - in the same directory as the DotZLib.build file. - You can define 2 properties on the nant command-line to control the build: - debug={true|false} to toggle between release/debug builds (default=true). - nunit={true|false} to include or esclude unit tests (default=true). - Also the target clean will remove binaries. - Output file (DotZLib.dll) will be found in either ./DotZLib/bin/release - or ./DotZLib/bin/debug, depending on whether you are building the release - or debug version of the library. - - Examples: - nant -D:debug=false -D:nunit=false - will build a release mode version of the library without unit tests. - nant - will build a debug version of the library with unit tests - nant clean - will remove all previously built files. - - ---------------------------------- -Copyright (c) Henrik Ravn 2004 - -Use, modification and distribution are subject to the Boost Software License, Version 1.0. -(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/protocols/Telegram/tgl/zlib/contrib/gcc_gvmat64/gvmat64.S b/protocols/Telegram/tgl/zlib/contrib/gcc_gvmat64/gvmat64.S deleted file mode 100644 index dd858ddbd1..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/gcc_gvmat64/gvmat64.S +++ /dev/null @@ -1,574 +0,0 @@ -/* -;uInt longest_match_x64( -; deflate_state *s, -; IPos cur_match); // current match - -; gvmat64.S -- Asm portion of the optimized longest_match for 32 bits x86_64 -; (AMD64 on Athlon 64, Opteron, Phenom -; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7) -; this file is translation from gvmat64.asm to GCC 4.x (for Linux, Mac XCode) -; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant. -; -; File written by Gilles Vollant, by converting to assembly the longest_match -; from Jean-loup Gailly in deflate.c of zLib and infoZip zip. -; and by taking inspiration on asm686 with masm, optimised assembly code -; from Brian Raiter, written 1998 -; -; This software is provided 'as-is', without any express or implied -; warranty. In no event will the authors be held liable for any damages -; arising from the use of this software. -; -; Permission is granted to anyone to use this software for any purpose, -; including commercial applications, and to alter it and redistribute it -; freely, subject to the following restrictions: -; -; 1. The origin of this software must not be misrepresented; you must not -; claim that you wrote the original software. If you use this software -; in a product, an acknowledgment in the product documentation would be -; appreciated but is not required. -; 2. Altered source versions must be plainly marked as such, and must not be -; misrepresented as being the original software -; 3. This notice may not be removed or altered from any source distribution. -; -; http://www.zlib.net -; http://www.winimage.com/zLibDll -; http://www.muppetlabs.com/~breadbox/software/assembly.html -; -; to compile this file for zLib, I use option: -; gcc -c -arch x86_64 gvmat64.S - - -;uInt longest_match(s, cur_match) -; deflate_state *s; -; IPos cur_match; // current match / -; -; with XCode for Mac, I had strange error with some jump on intel syntax -; this is why BEFORE_JMP and AFTER_JMP are used - */ - - -#define BEFORE_JMP .att_syntax -#define AFTER_JMP .intel_syntax noprefix - -#ifndef NO_UNDERLINE -# define match_init _match_init -# define longest_match _longest_match -#endif - -.intel_syntax noprefix - -.globl match_init, longest_match -.text -longest_match: - - - -#define LocalVarsSize 96 -/* -; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12 -; free register : r14,r15 -; register can be saved : rsp -*/ - -#define chainlenwmask (rsp + 8 - LocalVarsSize) -#define nicematch (rsp + 16 - LocalVarsSize) - -#define save_rdi (rsp + 24 - LocalVarsSize) -#define save_rsi (rsp + 32 - LocalVarsSize) -#define save_rbx (rsp + 40 - LocalVarsSize) -#define save_rbp (rsp + 48 - LocalVarsSize) -#define save_r12 (rsp + 56 - LocalVarsSize) -#define save_r13 (rsp + 64 - LocalVarsSize) -#define save_r14 (rsp + 72 - LocalVarsSize) -#define save_r15 (rsp + 80 - LocalVarsSize) - - -/* -; all the +4 offsets are due to the addition of pending_buf_size (in zlib -; in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, remove the +4). -; Note : these value are good with a 8 bytes boundary pack structure -*/ - -#define MAX_MATCH 258 -#define MIN_MATCH 3 -#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1) - -/* -;;; Offsets for fields in the deflate_state structure. These numbers -;;; are calculated from the definition of deflate_state, with the -;;; assumption that the compiler will dword-align the fields. (Thus, -;;; changing the definition of deflate_state could easily cause this -;;; program to crash horribly, without so much as a warning at -;;; compile time. Sigh.) - -; all the +zlib1222add offsets are due to the addition of fields -; in zlib in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). -; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). -; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). -*/ - - - -/* you can check the structure offset by running - -#include -#include -#include "deflate.h" - -void print_depl() -{ -deflate_state ds; -deflate_state *s=&ds; -printf("size pointer=%u\n",(int)sizeof(void*)); - -printf("#define dsWSize %u\n",(int)(((char*)&(s->w_size))-((char*)s))); -printf("#define dsWMask %u\n",(int)(((char*)&(s->w_mask))-((char*)s))); -printf("#define dsWindow %u\n",(int)(((char*)&(s->window))-((char*)s))); -printf("#define dsPrev %u\n",(int)(((char*)&(s->prev))-((char*)s))); -printf("#define dsMatchLen %u\n",(int)(((char*)&(s->match_length))-((char*)s))); -printf("#define dsPrevMatch %u\n",(int)(((char*)&(s->prev_match))-((char*)s))); -printf("#define dsStrStart %u\n",(int)(((char*)&(s->strstart))-((char*)s))); -printf("#define dsMatchStart %u\n",(int)(((char*)&(s->match_start))-((char*)s))); -printf("#define dsLookahead %u\n",(int)(((char*)&(s->lookahead))-((char*)s))); -printf("#define dsPrevLen %u\n",(int)(((char*)&(s->prev_length))-((char*)s))); -printf("#define dsMaxChainLen %u\n",(int)(((char*)&(s->max_chain_length))-((char*)s))); -printf("#define dsGoodMatch %u\n",(int)(((char*)&(s->good_match))-((char*)s))); -printf("#define dsNiceMatch %u\n",(int)(((char*)&(s->nice_match))-((char*)s))); -} -*/ - -#define dsWSize 68 -#define dsWMask 76 -#define dsWindow 80 -#define dsPrev 96 -#define dsMatchLen 144 -#define dsPrevMatch 148 -#define dsStrStart 156 -#define dsMatchStart 160 -#define dsLookahead 164 -#define dsPrevLen 168 -#define dsMaxChainLen 172 -#define dsGoodMatch 188 -#define dsNiceMatch 192 - -#define window_size [ rcx + dsWSize] -#define WMask [ rcx + dsWMask] -#define window_ad [ rcx + dsWindow] -#define prev_ad [ rcx + dsPrev] -#define strstart [ rcx + dsStrStart] -#define match_start [ rcx + dsMatchStart] -#define Lookahead [ rcx + dsLookahead] //; 0ffffffffh on infozip -#define prev_length [ rcx + dsPrevLen] -#define max_chain_length [ rcx + dsMaxChainLen] -#define good_match [ rcx + dsGoodMatch] -#define nice_match [ rcx + dsNiceMatch] - -/* -; windows: -; parameter 1 in rcx(deflate state s), param 2 in rdx (cur match) - -; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and -; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp -; -; All registers must be preserved across the call, except for -; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch. - -; -; gcc on macosx-linux: -; see http://www.x86-64.org/documentation/abi-0.99.pdf -; param 1 in rdi, param 2 in rsi -; rbx, rsp, rbp, r12 to r15 must be preserved - -;;; Save registers that the compiler may be using, and adjust esp to -;;; make room for our stack frame. - - -;;; Retrieve the function arguments. r8d will hold cur_match -;;; throughout the entire function. edx will hold the pointer to the -;;; deflate_state structure during the function's setup (before -;;; entering the main loop. - -; ms: parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match) -; mac: param 1 in rdi, param 2 rsi -; this clear high 32 bits of r8, which can be garbage in both r8 and rdx -*/ - mov [save_rbx],rbx - mov [save_rbp],rbp - - - mov rcx,rdi - - mov r8d,esi - - - mov [save_r12],r12 - mov [save_r13],r13 - mov [save_r14],r14 - mov [save_r15],r15 - - -//;;; uInt wmask = s->w_mask; -//;;; unsigned chain_length = s->max_chain_length; -//;;; if (s->prev_length >= s->good_match) { -//;;; chain_length >>= 2; -//;;; } - - - mov edi, prev_length - mov esi, good_match - mov eax, WMask - mov ebx, max_chain_length - cmp edi, esi - jl LastMatchGood - shr ebx, 2 -LastMatchGood: - -//;;; chainlen is decremented once beforehand so that the function can -//;;; use the sign flag instead of the zero flag for the exit test. -//;;; It is then shifted into the high word, to make room for the wmask -//;;; value, which it will always accompany. - - dec ebx - shl ebx, 16 - or ebx, eax - -//;;; on zlib only -//;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - - - mov eax, nice_match - mov [chainlenwmask], ebx - mov r10d, Lookahead - cmp r10d, eax - cmovnl r10d, eax - mov [nicematch],r10d - - - -//;;; register Bytef *scan = s->window + s->strstart; - mov r10, window_ad - mov ebp, strstart - lea r13, [r10 + rbp] - -//;;; Determine how many bytes the scan ptr is off from being -//;;; dword-aligned. - - mov r9,r13 - neg r13 - and r13,3 - -//;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? -//;;; s->strstart - (IPos)MAX_DIST(s) : NIL; - - - mov eax, window_size - sub eax, MIN_LOOKAHEAD - - - xor edi,edi - sub ebp, eax - - mov r11d, prev_length - - cmovng ebp,edi - -//;;; int best_len = s->prev_length; - - -//;;; Store the sum of s->window + best_len in esi locally, and in esi. - - lea rsi,[r10+r11] - -//;;; register ush scan_start = *(ushf*)scan; -//;;; register ush scan_end = *(ushf*)(scan+best_len-1); -//;;; Posf *prev = s->prev; - - movzx r12d,word ptr [r9] - movzx ebx, word ptr [r9 + r11 - 1] - - mov rdi, prev_ad - -//;;; Jump into the main loop. - - mov edx, [chainlenwmask] - - cmp bx,word ptr [rsi + r8 - 1] - jz LookupLoopIsZero - - - -LookupLoop1: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - - - - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry1: - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jz LookupLoopIsZero - AFTER_JMP - -LookupLoop2: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry2: - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jz LookupLoopIsZero - AFTER_JMP - -LookupLoop4: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry4: - - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jnz LookupLoop1 - jmp LookupLoopIsZero - AFTER_JMP -/* -;;; do { -;;; match = s->window + cur_match; -;;; if (*(ushf*)(match+best_len-1) != scan_end || -;;; *(ushf*)match != scan_start) continue; -;;; [...] -;;; } while ((cur_match = prev[cur_match & wmask]) > limit -;;; && --chain_length != 0); -;;; -;;; Here is the inner loop of the function. The function will spend the -;;; majority of its time in this loop, and majority of that time will -;;; be spent in the first ten instructions. -;;; -;;; Within this loop: -;;; ebx = scanend -;;; r8d = curmatch -;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) -;;; esi = windowbestlen - i.e., (window + bestlen) -;;; edi = prev -;;; ebp = limit -*/ -.balign 16 -LookupLoop: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry: - - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jnz LookupLoop1 - AFTER_JMP -LookupLoopIsZero: - cmp r12w, word ptr [r10 + r8] - BEFORE_JMP - jnz LookupLoop1 - AFTER_JMP - - -//;;; Store the current value of chainlen. - mov [chainlenwmask], edx -/* -;;; Point edi to the string under scrutiny, and esi to the string we -;;; are hoping to match it up with. In actuality, esi and edi are -;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is -;;; initialized to -(MAX_MATCH_8 - scanalign). -*/ - lea rsi,[r8+r10] - mov rdx, 0xfffffffffffffef8 //; -(MAX_MATCH_8) - lea rsi, [rsi + r13 + 0x0108] //;MAX_MATCH_8] - lea rdi, [r9 + r13 + 0x0108] //;MAX_MATCH_8] - - prefetcht1 [rsi+rdx] - prefetcht1 [rdi+rdx] - -/* -;;; Test the strings for equality, 8 bytes at a time. At the end, -;;; adjust rdx so that it is offset to the exact byte that mismatched. -;;; -;;; We already know at this point that the first three bytes of the -;;; strings match each other, and they can be safely passed over before -;;; starting the compare loop. So what this code does is skip over 0-3 -;;; bytes, as much as necessary in order to dword-align the edi -;;; pointer. (rsi will still be misaligned three times out of four.) -;;; -;;; It should be confessed that this loop usually does not represent -;;; much of the total running time. Replacing it with a more -;;; straightforward "rep cmpsb" would not drastically degrade -;;; performance. -*/ - -LoopCmps: - mov rax, [rsi + rdx] - xor rax, [rdi + rdx] - jnz LeaveLoopCmps - - mov rax, [rsi + rdx + 8] - xor rax, [rdi + rdx + 8] - jnz LeaveLoopCmps8 - - - mov rax, [rsi + rdx + 8+8] - xor rax, [rdi + rdx + 8+8] - jnz LeaveLoopCmps16 - - add rdx,8+8+8 - - BEFORE_JMP - jnz LoopCmps - jmp LenMaximum - AFTER_JMP - -LeaveLoopCmps16: add rdx,8 -LeaveLoopCmps8: add rdx,8 -LeaveLoopCmps: - - test eax, 0x0000FFFF - jnz LenLower - - test eax,0xffffffff - - jnz LenLower32 - - add rdx,4 - shr rax,32 - or ax,ax - BEFORE_JMP - jnz LenLower - AFTER_JMP - -LenLower32: - shr eax,16 - add rdx,2 - -LenLower: - sub al, 1 - adc rdx, 0 -//;;; Calculate the length of the match. If it is longer than MAX_MATCH, -//;;; then automatically accept it as the best possible match and leave. - - lea rax, [rdi + rdx] - sub rax, r9 - cmp eax, MAX_MATCH - BEFORE_JMP - jge LenMaximum - AFTER_JMP -/* -;;; If the length of the match is not longer than the best match we -;;; have so far, then forget it and return to the lookup loop. -;/////////////////////////////////// -*/ - cmp eax, r11d - jg LongerMatch - - lea rsi,[r10+r11] - - mov rdi, prev_ad - mov edx, [chainlenwmask] - BEFORE_JMP - jmp LookupLoop - AFTER_JMP -/* -;;; s->match_start = cur_match; -;;; best_len = len; -;;; if (len >= nice_match) break; -;;; scan_end = *(ushf*)(scan+best_len-1); -*/ -LongerMatch: - mov r11d, eax - mov match_start, r8d - cmp eax, [nicematch] - BEFORE_JMP - jge LeaveNow - AFTER_JMP - - lea rsi,[r10+rax] - - movzx ebx, word ptr [r9 + rax - 1] - mov rdi, prev_ad - mov edx, [chainlenwmask] - BEFORE_JMP - jmp LookupLoop - AFTER_JMP - -//;;; Accept the current string, with the maximum possible length. - -LenMaximum: - mov r11d,MAX_MATCH - mov match_start, r8d - -//;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len; -//;;; return s->lookahead; - -LeaveNow: - mov eax, Lookahead - cmp r11d, eax - cmovng eax, r11d - - - -//;;; Restore the stack and return from whence we came. - - -// mov rsi,[save_rsi] -// mov rdi,[save_rdi] - mov rbx,[save_rbx] - mov rbp,[save_rbp] - mov r12,[save_r12] - mov r13,[save_r13] - mov r14,[save_r14] - mov r15,[save_r15] - - - ret 0 -//; please don't remove this string ! -//; Your can freely use gvmat64 in any free or commercial app -//; but it is far better don't remove the string in the binary! - // db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0 - - -match_init: - ret 0 - - diff --git a/protocols/Telegram/tgl/zlib/contrib/infback9/README b/protocols/Telegram/tgl/zlib/contrib/infback9/README deleted file mode 100644 index e75ed13294..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/infback9/README +++ /dev/null @@ -1 +0,0 @@ -See infback9.h for what this is and how to use it. diff --git a/protocols/Telegram/tgl/zlib/contrib/infback9/infback9.c b/protocols/Telegram/tgl/zlib/contrib/infback9/infback9.c deleted file mode 100644 index 05fb3e3380..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/infback9/infback9.c +++ /dev/null @@ -1,615 +0,0 @@ -/* infback9.c -- inflate deflate64 data using a call-back interface - * Copyright (C) 1995-2008 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "zutil.h" -#include "infback9.h" -#include "inftree9.h" -#include "inflate9.h" - -#define WSIZE 65536UL - -/* - strm provides memory allocation functions in zalloc and zfree, or - Z_NULL to use the library memory allocation functions. - - window is a user-supplied window and output buffer that is 64K bytes. - */ -int ZEXPORT inflateBack9Init_(strm, window, version, stream_size) -z_stream FAR *strm; -unsigned char FAR *window; -const char *version; -int stream_size; -{ - struct inflate_state FAR *state; - - if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || - stream_size != (int)(sizeof(z_stream))) - return Z_VERSION_ERROR; - if (strm == Z_NULL || window == Z_NULL) - return Z_STREAM_ERROR; - strm->msg = Z_NULL; /* in case we return an error */ - if (strm->zalloc == (alloc_func)0) { - strm->zalloc = zcalloc; - strm->opaque = (voidpf)0; - } - if (strm->zfree == (free_func)0) strm->zfree = zcfree; - state = (struct inflate_state FAR *)ZALLOC(strm, 1, - sizeof(struct inflate_state)); - if (state == Z_NULL) return Z_MEM_ERROR; - Tracev((stderr, "inflate: allocated\n")); - strm->state = (voidpf)state; - state->window = window; - return Z_OK; -} - -/* - Build and output length and distance decoding tables for fixed code - decoding. - */ -#ifdef MAKEFIXED -#include - -void makefixed9(void) -{ - unsigned sym, bits, low, size; - code *next, *lenfix, *distfix; - struct inflate_state state; - code fixed[544]; - - /* literal/length table */ - sym = 0; - while (sym < 144) state.lens[sym++] = 8; - while (sym < 256) state.lens[sym++] = 9; - while (sym < 280) state.lens[sym++] = 7; - while (sym < 288) state.lens[sym++] = 8; - next = fixed; - lenfix = next; - bits = 9; - inflate_table9(LENS, state.lens, 288, &(next), &(bits), state.work); - - /* distance table */ - sym = 0; - while (sym < 32) state.lens[sym++] = 5; - distfix = next; - bits = 5; - inflate_table9(DISTS, state.lens, 32, &(next), &(bits), state.work); - - /* write tables */ - puts(" /* inffix9.h -- table for decoding deflate64 fixed codes"); - puts(" * Generated automatically by makefixed9()."); - puts(" */"); - puts(""); - puts(" /* WARNING: this file should *not* be used by applications."); - puts(" It is part of the implementation of this library and is"); - puts(" subject to change. Applications should only use zlib.h."); - puts(" */"); - puts(""); - size = 1U << 9; - printf(" static const code lenfix[%u] = {", size); - low = 0; - for (;;) { - if ((low % 6) == 0) printf("\n "); - printf("{%u,%u,%d}", lenfix[low].op, lenfix[low].bits, - lenfix[low].val); - if (++low == size) break; - putchar(','); - } - puts("\n };"); - size = 1U << 5; - printf("\n static const code distfix[%u] = {", size); - low = 0; - for (;;) { - if ((low % 5) == 0) printf("\n "); - printf("{%u,%u,%d}", distfix[low].op, distfix[low].bits, - distfix[low].val); - if (++low == size) break; - putchar(','); - } - puts("\n };"); -} -#endif /* MAKEFIXED */ - -/* Macros for inflateBack(): */ - -/* Clear the input bit accumulator */ -#define INITBITS() \ - do { \ - hold = 0; \ - bits = 0; \ - } while (0) - -/* Assure that some input is available. If input is requested, but denied, - then return a Z_BUF_ERROR from inflateBack(). */ -#define PULL() \ - do { \ - if (have == 0) { \ - have = in(in_desc, &next); \ - if (have == 0) { \ - next = Z_NULL; \ - ret = Z_BUF_ERROR; \ - goto inf_leave; \ - } \ - } \ - } while (0) - -/* Get a byte of input into the bit accumulator, or return from inflateBack() - with an error if there is no input available. */ -#define PULLBYTE() \ - do { \ - PULL(); \ - have--; \ - hold += (unsigned long)(*next++) << bits; \ - bits += 8; \ - } while (0) - -/* Assure that there are at least n bits in the bit accumulator. If there is - not enough available input to do that, then return from inflateBack() with - an error. */ -#define NEEDBITS(n) \ - do { \ - while (bits < (unsigned)(n)) \ - PULLBYTE(); \ - } while (0) - -/* Return the low n bits of the bit accumulator (n <= 16) */ -#define BITS(n) \ - ((unsigned)hold & ((1U << (n)) - 1)) - -/* Remove n bits from the bit accumulator */ -#define DROPBITS(n) \ - do { \ - hold >>= (n); \ - bits -= (unsigned)(n); \ - } while (0) - -/* Remove zero to seven bits as needed to go to a byte boundary */ -#define BYTEBITS() \ - do { \ - hold >>= bits & 7; \ - bits -= bits & 7; \ - } while (0) - -/* Assure that some output space is available, by writing out the window - if it's full. If the write fails, return from inflateBack() with a - Z_BUF_ERROR. */ -#define ROOM() \ - do { \ - if (left == 0) { \ - put = window; \ - left = WSIZE; \ - wrap = 1; \ - if (out(out_desc, put, (unsigned)left)) { \ - ret = Z_BUF_ERROR; \ - goto inf_leave; \ - } \ - } \ - } while (0) - -/* - strm provides the memory allocation functions and window buffer on input, - and provides information on the unused input on return. For Z_DATA_ERROR - returns, strm will also provide an error message. - - in() and out() are the call-back input and output functions. When - inflateBack() needs more input, it calls in(). When inflateBack() has - filled the window with output, or when it completes with data in the - window, it calls out() to write out the data. The application must not - change the provided input until in() is called again or inflateBack() - returns. The application must not change the window/output buffer until - inflateBack() returns. - - in() and out() are called with a descriptor parameter provided in the - inflateBack() call. This parameter can be a structure that provides the - information required to do the read or write, as well as accumulated - information on the input and output such as totals and check values. - - in() should return zero on failure. out() should return non-zero on - failure. If either in() or out() fails, than inflateBack() returns a - Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it - was in() or out() that caused in the error. Otherwise, inflateBack() - returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format - error, or Z_MEM_ERROR if it could not allocate memory for the state. - inflateBack() can also return Z_STREAM_ERROR if the input parameters - are not correct, i.e. strm is Z_NULL or the state was not initialized. - */ -int ZEXPORT inflateBack9(strm, in, in_desc, out, out_desc) -z_stream FAR *strm; -in_func in; -void FAR *in_desc; -out_func out; -void FAR *out_desc; -{ - struct inflate_state FAR *state; - z_const unsigned char FAR *next; /* next input */ - unsigned char FAR *put; /* next output */ - unsigned have; /* available input */ - unsigned long left; /* available output */ - inflate_mode mode; /* current inflate mode */ - int lastblock; /* true if processing last block */ - int wrap; /* true if the window has wrapped */ - unsigned char FAR *window; /* allocated sliding window, if needed */ - unsigned long hold; /* bit buffer */ - unsigned bits; /* bits in bit buffer */ - unsigned extra; /* extra bits needed */ - unsigned long length; /* literal or length of data to copy */ - unsigned long offset; /* distance back to copy string from */ - unsigned long copy; /* number of stored or match bytes to copy */ - unsigned char FAR *from; /* where to copy match bytes from */ - code const FAR *lencode; /* starting table for length/literal codes */ - code const FAR *distcode; /* starting table for distance codes */ - unsigned lenbits; /* index bits for lencode */ - unsigned distbits; /* index bits for distcode */ - code here; /* current decoding table entry */ - code last; /* parent table entry */ - unsigned len; /* length to copy for repeats, bits to drop */ - int ret; /* return code */ - static const unsigned short order[19] = /* permutation of code lengths */ - {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; -#include "inffix9.h" - - /* Check that the strm exists and that the state was initialized */ - if (strm == Z_NULL || strm->state == Z_NULL) - return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - - /* Reset the state */ - strm->msg = Z_NULL; - mode = TYPE; - lastblock = 0; - wrap = 0; - window = state->window; - next = strm->next_in; - have = next != Z_NULL ? strm->avail_in : 0; - hold = 0; - bits = 0; - put = window; - left = WSIZE; - lencode = Z_NULL; - distcode = Z_NULL; - - /* Inflate until end of block marked as last */ - for (;;) - switch (mode) { - case TYPE: - /* determine and dispatch block type */ - if (lastblock) { - BYTEBITS(); - mode = DONE; - break; - } - NEEDBITS(3); - lastblock = BITS(1); - DROPBITS(1); - switch (BITS(2)) { - case 0: /* stored block */ - Tracev((stderr, "inflate: stored block%s\n", - lastblock ? " (last)" : "")); - mode = STORED; - break; - case 1: /* fixed block */ - lencode = lenfix; - lenbits = 9; - distcode = distfix; - distbits = 5; - Tracev((stderr, "inflate: fixed codes block%s\n", - lastblock ? " (last)" : "")); - mode = LEN; /* decode codes */ - break; - case 2: /* dynamic block */ - Tracev((stderr, "inflate: dynamic codes block%s\n", - lastblock ? " (last)" : "")); - mode = TABLE; - break; - case 3: - strm->msg = (char *)"invalid block type"; - mode = BAD; - } - DROPBITS(2); - break; - - case STORED: - /* get and verify stored block length */ - BYTEBITS(); /* go to byte boundary */ - NEEDBITS(32); - if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { - strm->msg = (char *)"invalid stored block lengths"; - mode = BAD; - break; - } - length = (unsigned)hold & 0xffff; - Tracev((stderr, "inflate: stored length %lu\n", - length)); - INITBITS(); - - /* copy stored block from input to output */ - while (length != 0) { - copy = length; - PULL(); - ROOM(); - if (copy > have) copy = have; - if (copy > left) copy = left; - zmemcpy(put, next, copy); - have -= copy; - next += copy; - left -= copy; - put += copy; - length -= copy; - } - Tracev((stderr, "inflate: stored end\n")); - mode = TYPE; - break; - - case TABLE: - /* get dynamic table entries descriptor */ - NEEDBITS(14); - state->nlen = BITS(5) + 257; - DROPBITS(5); - state->ndist = BITS(5) + 1; - DROPBITS(5); - state->ncode = BITS(4) + 4; - DROPBITS(4); - if (state->nlen > 286) { - strm->msg = (char *)"too many length symbols"; - mode = BAD; - break; - } - Tracev((stderr, "inflate: table sizes ok\n")); - - /* get code length code lengths (not a typo) */ - state->have = 0; - while (state->have < state->ncode) { - NEEDBITS(3); - state->lens[order[state->have++]] = (unsigned short)BITS(3); - DROPBITS(3); - } - while (state->have < 19) - state->lens[order[state->have++]] = 0; - state->next = state->codes; - lencode = (code const FAR *)(state->next); - lenbits = 7; - ret = inflate_table9(CODES, state->lens, 19, &(state->next), - &(lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid code lengths set"; - mode = BAD; - break; - } - Tracev((stderr, "inflate: code lengths ok\n")); - - /* get length and distance code code lengths */ - state->have = 0; - while (state->have < state->nlen + state->ndist) { - for (;;) { - here = lencode[BITS(lenbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if (here.val < 16) { - NEEDBITS(here.bits); - DROPBITS(here.bits); - state->lens[state->have++] = here.val; - } - else { - if (here.val == 16) { - NEEDBITS(here.bits + 2); - DROPBITS(here.bits); - if (state->have == 0) { - strm->msg = (char *)"invalid bit length repeat"; - mode = BAD; - break; - } - len = (unsigned)(state->lens[state->have - 1]); - copy = 3 + BITS(2); - DROPBITS(2); - } - else if (here.val == 17) { - NEEDBITS(here.bits + 3); - DROPBITS(here.bits); - len = 0; - copy = 3 + BITS(3); - DROPBITS(3); - } - else { - NEEDBITS(here.bits + 7); - DROPBITS(here.bits); - len = 0; - copy = 11 + BITS(7); - DROPBITS(7); - } - if (state->have + copy > state->nlen + state->ndist) { - strm->msg = (char *)"invalid bit length repeat"; - mode = BAD; - break; - } - while (copy--) - state->lens[state->have++] = (unsigned short)len; - } - } - - /* handle error breaks in while */ - if (mode == BAD) break; - - /* check for end-of-block code (better have one) */ - if (state->lens[256] == 0) { - strm->msg = (char *)"invalid code -- missing end-of-block"; - mode = BAD; - break; - } - - /* build code tables -- note: do not change the lenbits or distbits - values here (9 and 6) without reading the comments in inftree9.h - concerning the ENOUGH constants, which depend on those values */ - state->next = state->codes; - lencode = (code const FAR *)(state->next); - lenbits = 9; - ret = inflate_table9(LENS, state->lens, state->nlen, - &(state->next), &(lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid literal/lengths set"; - mode = BAD; - break; - } - distcode = (code const FAR *)(state->next); - distbits = 6; - ret = inflate_table9(DISTS, state->lens + state->nlen, - state->ndist, &(state->next), &(distbits), - state->work); - if (ret) { - strm->msg = (char *)"invalid distances set"; - mode = BAD; - break; - } - Tracev((stderr, "inflate: codes ok\n")); - mode = LEN; - - case LEN: - /* get a literal, length, or end-of-block code */ - for (;;) { - here = lencode[BITS(lenbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if (here.op && (here.op & 0xf0) == 0) { - last = here; - for (;;) { - here = lencode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + here.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - } - DROPBITS(here.bits); - length = (unsigned)here.val; - - /* process literal */ - if (here.op == 0) { - Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? - "inflate: literal '%c'\n" : - "inflate: literal 0x%02x\n", here.val)); - ROOM(); - *put++ = (unsigned char)(length); - left--; - mode = LEN; - break; - } - - /* process end of block */ - if (here.op & 32) { - Tracevv((stderr, "inflate: end of block\n")); - mode = TYPE; - break; - } - - /* invalid code */ - if (here.op & 64) { - strm->msg = (char *)"invalid literal/length code"; - mode = BAD; - break; - } - - /* length code -- get extra bits, if any */ - extra = (unsigned)(here.op) & 31; - if (extra != 0) { - NEEDBITS(extra); - length += BITS(extra); - DROPBITS(extra); - } - Tracevv((stderr, "inflate: length %lu\n", length)); - - /* get distance code */ - for (;;) { - here = distcode[BITS(distbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if ((here.op & 0xf0) == 0) { - last = here; - for (;;) { - here = distcode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + here.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - } - DROPBITS(here.bits); - if (here.op & 64) { - strm->msg = (char *)"invalid distance code"; - mode = BAD; - break; - } - offset = (unsigned)here.val; - - /* get distance extra bits, if any */ - extra = (unsigned)(here.op) & 15; - if (extra != 0) { - NEEDBITS(extra); - offset += BITS(extra); - DROPBITS(extra); - } - if (offset > WSIZE - (wrap ? 0: left)) { - strm->msg = (char *)"invalid distance too far back"; - mode = BAD; - break; - } - Tracevv((stderr, "inflate: distance %lu\n", offset)); - - /* copy match from window to output */ - do { - ROOM(); - copy = WSIZE - offset; - if (copy < left) { - from = put + copy; - copy = left - copy; - } - else { - from = put - offset; - copy = left; - } - if (copy > length) copy = length; - length -= copy; - left -= copy; - do { - *put++ = *from++; - } while (--copy); - } while (length != 0); - break; - - case DONE: - /* inflate stream terminated properly -- write leftover output */ - ret = Z_STREAM_END; - if (left < WSIZE) { - if (out(out_desc, window, (unsigned)(WSIZE - left))) - ret = Z_BUF_ERROR; - } - goto inf_leave; - - case BAD: - ret = Z_DATA_ERROR; - goto inf_leave; - - default: /* can't happen, but makes compilers happy */ - ret = Z_STREAM_ERROR; - goto inf_leave; - } - - /* Return unused input */ - inf_leave: - strm->next_in = next; - strm->avail_in = have; - return ret; -} - -int ZEXPORT inflateBack9End(strm) -z_stream FAR *strm; -{ - if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) - return Z_STREAM_ERROR; - ZFREE(strm, strm->state); - strm->state = Z_NULL; - Tracev((stderr, "inflate: end\n")); - return Z_OK; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/infback9/infback9.h b/protocols/Telegram/tgl/zlib/contrib/infback9/infback9.h deleted file mode 100644 index 1073c0a38e..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/infback9/infback9.h +++ /dev/null @@ -1,37 +0,0 @@ -/* infback9.h -- header for using inflateBack9 functions - * Copyright (C) 2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - * This header file and associated patches provide a decoder for PKWare's - * undocumented deflate64 compression method (method 9). Use with infback9.c, - * inftree9.h, inftree9.c, and inffix9.h. These patches are not supported. - * This should be compiled with zlib, since it uses zutil.h and zutil.o. - * This code has not yet been tested on 16-bit architectures. See the - * comments in zlib.h for inflateBack() usage. These functions are used - * identically, except that there is no windowBits parameter, and a 64K - * window must be provided. Also if int's are 16 bits, then a zero for - * the third parameter of the "out" function actually means 65536UL. - * zlib.h must be included before this header file. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -ZEXTERN int ZEXPORT inflateBack9 OF((z_stream FAR *strm, - in_func in, void FAR *in_desc, - out_func out, void FAR *out_desc)); -ZEXTERN int ZEXPORT inflateBack9End OF((z_stream FAR *strm)); -ZEXTERN int ZEXPORT inflateBack9Init_ OF((z_stream FAR *strm, - unsigned char FAR *window, - const char *version, - int stream_size)); -#define inflateBack9Init(strm, window) \ - inflateBack9Init_((strm), (window), \ - ZLIB_VERSION, sizeof(z_stream)) - -#ifdef __cplusplus -} -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/infback9/inffix9.h b/protocols/Telegram/tgl/zlib/contrib/infback9/inffix9.h deleted file mode 100644 index ee5671d2df..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/infback9/inffix9.h +++ /dev/null @@ -1,107 +0,0 @@ - /* inffix9.h -- table for decoding deflate64 fixed codes - * Generated automatically by makefixed9(). - */ - - /* WARNING: this file should *not* be used by applications. - It is part of the implementation of this library and is - subject to change. Applications should only use zlib.h. - */ - - static const code lenfix[512] = { - {96,7,0},{0,8,80},{0,8,16},{132,8,115},{130,7,31},{0,8,112}, - {0,8,48},{0,9,192},{128,7,10},{0,8,96},{0,8,32},{0,9,160}, - {0,8,0},{0,8,128},{0,8,64},{0,9,224},{128,7,6},{0,8,88}, - {0,8,24},{0,9,144},{131,7,59},{0,8,120},{0,8,56},{0,9,208}, - {129,7,17},{0,8,104},{0,8,40},{0,9,176},{0,8,8},{0,8,136}, - {0,8,72},{0,9,240},{128,7,4},{0,8,84},{0,8,20},{133,8,227}, - {131,7,43},{0,8,116},{0,8,52},{0,9,200},{129,7,13},{0,8,100}, - {0,8,36},{0,9,168},{0,8,4},{0,8,132},{0,8,68},{0,9,232}, - {128,7,8},{0,8,92},{0,8,28},{0,9,152},{132,7,83},{0,8,124}, - {0,8,60},{0,9,216},{130,7,23},{0,8,108},{0,8,44},{0,9,184}, - {0,8,12},{0,8,140},{0,8,76},{0,9,248},{128,7,3},{0,8,82}, - {0,8,18},{133,8,163},{131,7,35},{0,8,114},{0,8,50},{0,9,196}, - {129,7,11},{0,8,98},{0,8,34},{0,9,164},{0,8,2},{0,8,130}, - {0,8,66},{0,9,228},{128,7,7},{0,8,90},{0,8,26},{0,9,148}, - {132,7,67},{0,8,122},{0,8,58},{0,9,212},{130,7,19},{0,8,106}, - {0,8,42},{0,9,180},{0,8,10},{0,8,138},{0,8,74},{0,9,244}, - {128,7,5},{0,8,86},{0,8,22},{65,8,0},{131,7,51},{0,8,118}, - {0,8,54},{0,9,204},{129,7,15},{0,8,102},{0,8,38},{0,9,172}, - {0,8,6},{0,8,134},{0,8,70},{0,9,236},{128,7,9},{0,8,94}, - {0,8,30},{0,9,156},{132,7,99},{0,8,126},{0,8,62},{0,9,220}, - {130,7,27},{0,8,110},{0,8,46},{0,9,188},{0,8,14},{0,8,142}, - {0,8,78},{0,9,252},{96,7,0},{0,8,81},{0,8,17},{133,8,131}, - {130,7,31},{0,8,113},{0,8,49},{0,9,194},{128,7,10},{0,8,97}, - {0,8,33},{0,9,162},{0,8,1},{0,8,129},{0,8,65},{0,9,226}, - {128,7,6},{0,8,89},{0,8,25},{0,9,146},{131,7,59},{0,8,121}, - {0,8,57},{0,9,210},{129,7,17},{0,8,105},{0,8,41},{0,9,178}, - {0,8,9},{0,8,137},{0,8,73},{0,9,242},{128,7,4},{0,8,85}, - {0,8,21},{144,8,3},{131,7,43},{0,8,117},{0,8,53},{0,9,202}, - {129,7,13},{0,8,101},{0,8,37},{0,9,170},{0,8,5},{0,8,133}, - {0,8,69},{0,9,234},{128,7,8},{0,8,93},{0,8,29},{0,9,154}, - {132,7,83},{0,8,125},{0,8,61},{0,9,218},{130,7,23},{0,8,109}, - {0,8,45},{0,9,186},{0,8,13},{0,8,141},{0,8,77},{0,9,250}, - {128,7,3},{0,8,83},{0,8,19},{133,8,195},{131,7,35},{0,8,115}, - {0,8,51},{0,9,198},{129,7,11},{0,8,99},{0,8,35},{0,9,166}, - {0,8,3},{0,8,131},{0,8,67},{0,9,230},{128,7,7},{0,8,91}, - {0,8,27},{0,9,150},{132,7,67},{0,8,123},{0,8,59},{0,9,214}, - {130,7,19},{0,8,107},{0,8,43},{0,9,182},{0,8,11},{0,8,139}, - {0,8,75},{0,9,246},{128,7,5},{0,8,87},{0,8,23},{77,8,0}, - {131,7,51},{0,8,119},{0,8,55},{0,9,206},{129,7,15},{0,8,103}, - {0,8,39},{0,9,174},{0,8,7},{0,8,135},{0,8,71},{0,9,238}, - {128,7,9},{0,8,95},{0,8,31},{0,9,158},{132,7,99},{0,8,127}, - {0,8,63},{0,9,222},{130,7,27},{0,8,111},{0,8,47},{0,9,190}, - {0,8,15},{0,8,143},{0,8,79},{0,9,254},{96,7,0},{0,8,80}, - {0,8,16},{132,8,115},{130,7,31},{0,8,112},{0,8,48},{0,9,193}, - {128,7,10},{0,8,96},{0,8,32},{0,9,161},{0,8,0},{0,8,128}, - {0,8,64},{0,9,225},{128,7,6},{0,8,88},{0,8,24},{0,9,145}, - {131,7,59},{0,8,120},{0,8,56},{0,9,209},{129,7,17},{0,8,104}, - {0,8,40},{0,9,177},{0,8,8},{0,8,136},{0,8,72},{0,9,241}, - {128,7,4},{0,8,84},{0,8,20},{133,8,227},{131,7,43},{0,8,116}, - {0,8,52},{0,9,201},{129,7,13},{0,8,100},{0,8,36},{0,9,169}, - {0,8,4},{0,8,132},{0,8,68},{0,9,233},{128,7,8},{0,8,92}, - {0,8,28},{0,9,153},{132,7,83},{0,8,124},{0,8,60},{0,9,217}, - {130,7,23},{0,8,108},{0,8,44},{0,9,185},{0,8,12},{0,8,140}, - {0,8,76},{0,9,249},{128,7,3},{0,8,82},{0,8,18},{133,8,163}, - {131,7,35},{0,8,114},{0,8,50},{0,9,197},{129,7,11},{0,8,98}, - {0,8,34},{0,9,165},{0,8,2},{0,8,130},{0,8,66},{0,9,229}, - {128,7,7},{0,8,90},{0,8,26},{0,9,149},{132,7,67},{0,8,122}, - {0,8,58},{0,9,213},{130,7,19},{0,8,106},{0,8,42},{0,9,181}, - {0,8,10},{0,8,138},{0,8,74},{0,9,245},{128,7,5},{0,8,86}, - {0,8,22},{65,8,0},{131,7,51},{0,8,118},{0,8,54},{0,9,205}, - {129,7,15},{0,8,102},{0,8,38},{0,9,173},{0,8,6},{0,8,134}, - {0,8,70},{0,9,237},{128,7,9},{0,8,94},{0,8,30},{0,9,157}, - {132,7,99},{0,8,126},{0,8,62},{0,9,221},{130,7,27},{0,8,110}, - {0,8,46},{0,9,189},{0,8,14},{0,8,142},{0,8,78},{0,9,253}, - {96,7,0},{0,8,81},{0,8,17},{133,8,131},{130,7,31},{0,8,113}, - {0,8,49},{0,9,195},{128,7,10},{0,8,97},{0,8,33},{0,9,163}, - {0,8,1},{0,8,129},{0,8,65},{0,9,227},{128,7,6},{0,8,89}, - {0,8,25},{0,9,147},{131,7,59},{0,8,121},{0,8,57},{0,9,211}, - {129,7,17},{0,8,105},{0,8,41},{0,9,179},{0,8,9},{0,8,137}, - {0,8,73},{0,9,243},{128,7,4},{0,8,85},{0,8,21},{144,8,3}, - {131,7,43},{0,8,117},{0,8,53},{0,9,203},{129,7,13},{0,8,101}, - {0,8,37},{0,9,171},{0,8,5},{0,8,133},{0,8,69},{0,9,235}, - {128,7,8},{0,8,93},{0,8,29},{0,9,155},{132,7,83},{0,8,125}, - {0,8,61},{0,9,219},{130,7,23},{0,8,109},{0,8,45},{0,9,187}, - {0,8,13},{0,8,141},{0,8,77},{0,9,251},{128,7,3},{0,8,83}, - {0,8,19},{133,8,195},{131,7,35},{0,8,115},{0,8,51},{0,9,199}, - {129,7,11},{0,8,99},{0,8,35},{0,9,167},{0,8,3},{0,8,131}, - {0,8,67},{0,9,231},{128,7,7},{0,8,91},{0,8,27},{0,9,151}, - {132,7,67},{0,8,123},{0,8,59},{0,9,215},{130,7,19},{0,8,107}, - {0,8,43},{0,9,183},{0,8,11},{0,8,139},{0,8,75},{0,9,247}, - {128,7,5},{0,8,87},{0,8,23},{77,8,0},{131,7,51},{0,8,119}, - {0,8,55},{0,9,207},{129,7,15},{0,8,103},{0,8,39},{0,9,175}, - {0,8,7},{0,8,135},{0,8,71},{0,9,239},{128,7,9},{0,8,95}, - {0,8,31},{0,9,159},{132,7,99},{0,8,127},{0,8,63},{0,9,223}, - {130,7,27},{0,8,111},{0,8,47},{0,9,191},{0,8,15},{0,8,143}, - {0,8,79},{0,9,255} - }; - - static const code distfix[32] = { - {128,5,1},{135,5,257},{131,5,17},{139,5,4097},{129,5,5}, - {137,5,1025},{133,5,65},{141,5,16385},{128,5,3},{136,5,513}, - {132,5,33},{140,5,8193},{130,5,9},{138,5,2049},{134,5,129}, - {142,5,32769},{128,5,2},{135,5,385},{131,5,25},{139,5,6145}, - {129,5,7},{137,5,1537},{133,5,97},{141,5,24577},{128,5,4}, - {136,5,769},{132,5,49},{140,5,12289},{130,5,13},{138,5,3073}, - {134,5,193},{142,5,49153} - }; diff --git a/protocols/Telegram/tgl/zlib/contrib/infback9/inflate9.h b/protocols/Telegram/tgl/zlib/contrib/infback9/inflate9.h deleted file mode 100644 index ee9a79394b..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/infback9/inflate9.h +++ /dev/null @@ -1,47 +0,0 @@ -/* inflate9.h -- internal inflate state definition - * Copyright (C) 1995-2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* Possible inflate modes between inflate() calls */ -typedef enum { - TYPE, /* i: waiting for type bits, including last-flag bit */ - STORED, /* i: waiting for stored size (length and complement) */ - TABLE, /* i: waiting for dynamic block table lengths */ - LEN, /* i: waiting for length/lit code */ - DONE, /* finished check, done -- remain here until reset */ - BAD /* got a data error -- remain here until reset */ -} inflate_mode; - -/* - State transitions between above modes - - - (most modes can go to the BAD mode -- not shown for clarity) - - Read deflate blocks: - TYPE -> STORED or TABLE or LEN or DONE - STORED -> TYPE - TABLE -> LENLENS -> CODELENS -> LEN - Read deflate codes: - LEN -> LEN or TYPE - */ - -/* state maintained between inflate() calls. Approximately 7K bytes. */ -struct inflate_state { - /* sliding window */ - unsigned char FAR *window; /* allocated sliding window, if needed */ - /* dynamic table building */ - unsigned ncode; /* number of code length code lengths */ - unsigned nlen; /* number of length code lengths */ - unsigned ndist; /* number of distance code lengths */ - unsigned have; /* number of code lengths in lens[] */ - code FAR *next; /* next available space in codes[] */ - unsigned short lens[320]; /* temporary storage for code lengths */ - unsigned short work[288]; /* work area for code table building */ - code codes[ENOUGH]; /* space for code tables */ -}; diff --git a/protocols/Telegram/tgl/zlib/contrib/infback9/inftree9.c b/protocols/Telegram/tgl/zlib/contrib/infback9/inftree9.c deleted file mode 100644 index 4a73ad215f..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/infback9/inftree9.c +++ /dev/null @@ -1,324 +0,0 @@ -/* inftree9.c -- generate Huffman trees for efficient decoding - * Copyright (C) 1995-2013 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "zutil.h" -#include "inftree9.h" - -#define MAXBITS 15 - -const char inflate9_copyright[] = - " inflate9 1.2.8 Copyright 1995-2013 Mark Adler "; -/* - If you use the zlib library in a product, an acknowledgment is welcome - in the documentation of your product. If for some reason you cannot - include such an acknowledgment, I would appreciate that you keep this - copyright string in the executable of your product. - */ - -/* - Build a set of tables to decode the provided canonical Huffman code. - The code lengths are lens[0..codes-1]. The result starts at *table, - whose indices are 0..2^bits-1. work is a writable array of at least - lens shorts, which is used as a work area. type is the type of code - to be generated, CODES, LENS, or DISTS. On return, zero is success, - -1 is an invalid code, and +1 means that ENOUGH isn't enough. table - on return points to the next available entry's address. bits is the - requested root table index bits, and on return it is the actual root - table index bits. It will differ if the request is greater than the - longest code or if it is less than the shortest code. - */ -int inflate_table9(type, lens, codes, table, bits, work) -codetype type; -unsigned short FAR *lens; -unsigned codes; -code FAR * FAR *table; -unsigned FAR *bits; -unsigned short FAR *work; -{ - unsigned len; /* a code's length in bits */ - unsigned sym; /* index of code symbols */ - unsigned min, max; /* minimum and maximum code lengths */ - unsigned root; /* number of index bits for root table */ - unsigned curr; /* number of index bits for current table */ - unsigned drop; /* code bits to drop for sub-table */ - int left; /* number of prefix codes available */ - unsigned used; /* code entries in table used */ - unsigned huff; /* Huffman code */ - unsigned incr; /* for incrementing code, index */ - unsigned fill; /* index for replicating entries */ - unsigned low; /* low bits for current root entry */ - unsigned mask; /* mask for low root bits */ - code this; /* table entry for duplication */ - code FAR *next; /* next available space in table */ - const unsigned short FAR *base; /* base value table to use */ - const unsigned short FAR *extra; /* extra bits table to use */ - int end; /* use base and extra for symbol > end */ - unsigned short count[MAXBITS+1]; /* number of codes of each length */ - unsigned short offs[MAXBITS+1]; /* offsets in table for each length */ - static const unsigned short lbase[31] = { /* Length codes 257..285 base */ - 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, - 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, - 131, 163, 195, 227, 3, 0, 0}; - static const unsigned short lext[31] = { /* Length codes 257..285 extra */ - 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129, - 130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132, - 133, 133, 133, 133, 144, 72, 78}; - static const unsigned short dbase[32] = { /* Distance codes 0..31 base */ - 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, - 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, - 4097, 6145, 8193, 12289, 16385, 24577, 32769, 49153}; - static const unsigned short dext[32] = { /* Distance codes 0..31 extra */ - 128, 128, 128, 128, 129, 129, 130, 130, 131, 131, 132, 132, - 133, 133, 134, 134, 135, 135, 136, 136, 137, 137, 138, 138, - 139, 139, 140, 140, 141, 141, 142, 142}; - - /* - Process a set of code lengths to create a canonical Huffman code. The - code lengths are lens[0..codes-1]. Each length corresponds to the - symbols 0..codes-1. The Huffman code is generated by first sorting the - symbols by length from short to long, and retaining the symbol order - for codes with equal lengths. Then the code starts with all zero bits - for the first code of the shortest length, and the codes are integer - increments for the same length, and zeros are appended as the length - increases. For the deflate format, these bits are stored backwards - from their more natural integer increment ordering, and so when the - decoding tables are built in the large loop below, the integer codes - are incremented backwards. - - This routine assumes, but does not check, that all of the entries in - lens[] are in the range 0..MAXBITS. The caller must assure this. - 1..MAXBITS is interpreted as that code length. zero means that that - symbol does not occur in this code. - - The codes are sorted by computing a count of codes for each length, - creating from that a table of starting indices for each length in the - sorted table, and then entering the symbols in order in the sorted - table. The sorted table is work[], with that space being provided by - the caller. - - The length counts are used for other purposes as well, i.e. finding - the minimum and maximum length codes, determining if there are any - codes at all, checking for a valid set of lengths, and looking ahead - at length counts to determine sub-table sizes when building the - decoding tables. - */ - - /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ - for (len = 0; len <= MAXBITS; len++) - count[len] = 0; - for (sym = 0; sym < codes; sym++) - count[lens[sym]]++; - - /* bound code lengths, force root to be within code lengths */ - root = *bits; - for (max = MAXBITS; max >= 1; max--) - if (count[max] != 0) break; - if (root > max) root = max; - if (max == 0) return -1; /* no codes! */ - for (min = 1; min <= MAXBITS; min++) - if (count[min] != 0) break; - if (root < min) root = min; - - /* check for an over-subscribed or incomplete set of lengths */ - left = 1; - for (len = 1; len <= MAXBITS; len++) { - left <<= 1; - left -= count[len]; - if (left < 0) return -1; /* over-subscribed */ - } - if (left > 0 && (type == CODES || max != 1)) - return -1; /* incomplete set */ - - /* generate offsets into symbol table for each length for sorting */ - offs[1] = 0; - for (len = 1; len < MAXBITS; len++) - offs[len + 1] = offs[len] + count[len]; - - /* sort symbols by length, by symbol order within each length */ - for (sym = 0; sym < codes; sym++) - if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym; - - /* - Create and fill in decoding tables. In this loop, the table being - filled is at next and has curr index bits. The code being used is huff - with length len. That code is converted to an index by dropping drop - bits off of the bottom. For codes where len is less than drop + curr, - those top drop + curr - len bits are incremented through all values to - fill the table with replicated entries. - - root is the number of index bits for the root table. When len exceeds - root, sub-tables are created pointed to by the root entry with an index - of the low root bits of huff. This is saved in low to check for when a - new sub-table should be started. drop is zero when the root table is - being filled, and drop is root when sub-tables are being filled. - - When a new sub-table is needed, it is necessary to look ahead in the - code lengths to determine what size sub-table is needed. The length - counts are used for this, and so count[] is decremented as codes are - entered in the tables. - - used keeps track of how many table entries have been allocated from the - provided *table space. It is checked for LENS and DIST tables against - the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in - the initial root table size constants. See the comments in inftree9.h - for more information. - - sym increments through all symbols, and the loop terminates when - all codes of length max, i.e. all codes, have been processed. This - routine permits incomplete codes, so another loop after this one fills - in the rest of the decoding tables with invalid code markers. - */ - - /* set up for code type */ - switch (type) { - case CODES: - base = extra = work; /* dummy value--not used */ - end = 19; - break; - case LENS: - base = lbase; - base -= 257; - extra = lext; - extra -= 257; - end = 256; - break; - default: /* DISTS */ - base = dbase; - extra = dext; - end = -1; - } - - /* initialize state for loop */ - huff = 0; /* starting code */ - sym = 0; /* starting code symbol */ - len = min; /* starting code length */ - next = *table; /* current table to fill in */ - curr = root; /* current table index bits */ - drop = 0; /* current bits to drop from code for index */ - low = (unsigned)(-1); /* trigger new sub-table when len > root */ - used = 1U << root; /* use root table entries */ - mask = used - 1; /* mask for comparing low */ - - /* check available table space */ - if ((type == LENS && used >= ENOUGH_LENS) || - (type == DISTS && used >= ENOUGH_DISTS)) - return 1; - - /* process all codes and make table entries */ - for (;;) { - /* create table entry */ - this.bits = (unsigned char)(len - drop); - if ((int)(work[sym]) < end) { - this.op = (unsigned char)0; - this.val = work[sym]; - } - else if ((int)(work[sym]) > end) { - this.op = (unsigned char)(extra[work[sym]]); - this.val = base[work[sym]]; - } - else { - this.op = (unsigned char)(32 + 64); /* end of block */ - this.val = 0; - } - - /* replicate for those indices with low len bits equal to huff */ - incr = 1U << (len - drop); - fill = 1U << curr; - do { - fill -= incr; - next[(huff >> drop) + fill] = this; - } while (fill != 0); - - /* backwards increment the len-bit code huff */ - incr = 1U << (len - 1); - while (huff & incr) - incr >>= 1; - if (incr != 0) { - huff &= incr - 1; - huff += incr; - } - else - huff = 0; - - /* go to next symbol, update count, len */ - sym++; - if (--(count[len]) == 0) { - if (len == max) break; - len = lens[work[sym]]; - } - - /* create new sub-table if needed */ - if (len > root && (huff & mask) != low) { - /* if first time, transition to sub-tables */ - if (drop == 0) - drop = root; - - /* increment past last table */ - next += 1U << curr; - - /* determine length of next table */ - curr = len - drop; - left = (int)(1 << curr); - while (curr + drop < max) { - left -= count[curr + drop]; - if (left <= 0) break; - curr++; - left <<= 1; - } - - /* check for enough space */ - used += 1U << curr; - if ((type == LENS && used >= ENOUGH_LENS) || - (type == DISTS && used >= ENOUGH_DISTS)) - return 1; - - /* point entry in root table to sub-table */ - low = huff & mask; - (*table)[low].op = (unsigned char)curr; - (*table)[low].bits = (unsigned char)root; - (*table)[low].val = (unsigned short)(next - *table); - } - } - - /* - Fill in rest of table for incomplete codes. This loop is similar to the - loop above in incrementing huff for table indices. It is assumed that - len is equal to curr + drop, so there is no loop needed to increment - through high index bits. When the current sub-table is filled, the loop - drops back to the root table to fill in any remaining entries there. - */ - this.op = (unsigned char)64; /* invalid code marker */ - this.bits = (unsigned char)(len - drop); - this.val = (unsigned short)0; - while (huff != 0) { - /* when done with sub-table, drop back to root table */ - if (drop != 0 && (huff & mask) != low) { - drop = 0; - len = root; - next = *table; - curr = root; - this.bits = (unsigned char)len; - } - - /* put invalid code marker in table */ - next[huff >> drop] = this; - - /* backwards increment the len-bit code huff */ - incr = 1U << (len - 1); - while (huff & incr) - incr >>= 1; - if (incr != 0) { - huff &= incr - 1; - huff += incr; - } - else - huff = 0; - } - - /* set return parameters */ - *table += used; - *bits = root; - return 0; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/infback9/inftree9.h b/protocols/Telegram/tgl/zlib/contrib/infback9/inftree9.h deleted file mode 100644 index 5ab21f0c6d..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/infback9/inftree9.h +++ /dev/null @@ -1,61 +0,0 @@ -/* inftree9.h -- header to use inftree9.c - * Copyright (C) 1995-2008 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* Structure for decoding tables. Each entry provides either the - information needed to do the operation requested by the code that - indexed that table entry, or it provides a pointer to another - table that indexes more bits of the code. op indicates whether - the entry is a pointer to another table, a literal, a length or - distance, an end-of-block, or an invalid code. For a table - pointer, the low four bits of op is the number of index bits of - that table. For a length or distance, the low four bits of op - is the number of extra bits to get after the code. bits is - the number of bits in this code or part of the code to drop off - of the bit buffer. val is the actual byte to output in the case - of a literal, the base length or distance, or the offset from - the current table to the next table. Each entry is four bytes. */ -typedef struct { - unsigned char op; /* operation, extra bits, table bits */ - unsigned char bits; /* bits in this part of the code */ - unsigned short val; /* offset in table or code value */ -} code; - -/* op values as set by inflate_table(): - 00000000 - literal - 0000tttt - table link, tttt != 0 is the number of table index bits - 100eeeee - length or distance, eeee is the number of extra bits - 01100000 - end of block - 01000000 - invalid code - */ - -/* Maximum size of the dynamic table. The maximum number of code structures is - 1446, which is the sum of 852 for literal/length codes and 594 for distance - codes. These values were found by exhaustive searches using the program - examples/enough.c found in the zlib distribtution. The arguments to that - program are the number of symbols, the initial root table size, and the - maximum bit length of a code. "enough 286 9 15" for literal/length codes - returns returns 852, and "enough 32 6 15" for distance codes returns 594. - The initial root table size (9 or 6) is found in the fifth argument of the - inflate_table() calls in infback9.c. If the root table size is changed, - then these maximum sizes would be need to be recalculated and updated. */ -#define ENOUGH_LENS 852 -#define ENOUGH_DISTS 594 -#define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS) - -/* Type of code to build for inflate_table9() */ -typedef enum { - CODES, - LENS, - DISTS -} codetype; - -extern int inflate_table9 OF((codetype type, unsigned short FAR *lens, - unsigned codes, code FAR * FAR *table, - unsigned FAR *bits, unsigned short FAR *work)); diff --git a/protocols/Telegram/tgl/zlib/contrib/inflate86/inffas86.c b/protocols/Telegram/tgl/zlib/contrib/inflate86/inffas86.c deleted file mode 100644 index 7292f67b75..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/inflate86/inffas86.c +++ /dev/null @@ -1,1157 +0,0 @@ -/* inffas86.c is a hand tuned assembler version of - * - * inffast.c -- fast decoding - * Copyright (C) 1995-2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Copyright (C) 2003 Chris Anderson - * Please use the copyright conditions above. - * - * Dec-29-2003 -- I added AMD64 inflate asm support. This version is also - * slightly quicker on x86 systems because, instead of using rep movsb to copy - * data, it uses rep movsw, which moves data in 2-byte chunks instead of single - * bytes. I've tested the AMD64 code on a Fedora Core 1 + the x86_64 updates - * from http://fedora.linux.duke.edu/fc1_x86_64 - * which is running on an Athlon 64 3000+ / Gigabyte GA-K8VT800M system with - * 1GB ram. The 64-bit version is about 4% faster than the 32-bit version, - * when decompressing mozilla-source-1.3.tar.gz. - * - * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from - * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at - * the moment. I have successfully compiled and tested this code with gcc2.96, - * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S - * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX - * enabled. I will attempt to merge the MMX code into this version. Newer - * versions of this and inffast.S can be found at - * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/ - */ - -#include "zutil.h" -#include "inftrees.h" -#include "inflate.h" -#include "inffast.h" - -/* Mark Adler's comments from inffast.c: */ - -/* - Decode literal, length, and distance codes and write out the resulting - literal and match bytes until either not enough input or output is - available, an end-of-block is encountered, or a data error is encountered. - When large enough input and output buffers are supplied to inflate(), for - example, a 16K input buffer and a 64K output buffer, more than 95% of the - inflate execution time is spent in this routine. - - Entry assumptions: - - state->mode == LEN - strm->avail_in >= 6 - strm->avail_out >= 258 - start >= strm->avail_out - state->bits < 8 - - On return, state->mode is one of: - - LEN -- ran out of enough output space or enough available input - TYPE -- reached end of block code, inflate() to interpret next block - BAD -- error in block data - - Notes: - - - The maximum input bits used by a length/distance pair is 15 bits for the - length code, 5 bits for the length extra, 15 bits for the distance code, - and 13 bits for the distance extra. This totals 48 bits, or six bytes. - Therefore if strm->avail_in >= 6, then there is enough input to avoid - checking for available input while decoding. - - - The maximum bytes that a single length/distance pair can output is 258 - bytes, which is the maximum length that can be coded. inflate_fast() - requires strm->avail_out >= 258 for each loop to avoid checking for - output space. - */ -void inflate_fast(strm, start) -z_streamp strm; -unsigned start; /* inflate()'s starting value for strm->avail_out */ -{ - struct inflate_state FAR *state; - struct inffast_ar { -/* 64 32 x86 x86_64 */ -/* ar offset register */ -/* 0 0 */ void *esp; /* esp save */ -/* 8 4 */ void *ebp; /* ebp save */ -/* 16 8 */ unsigned char FAR *in; /* esi rsi local strm->next_in */ -/* 24 12 */ unsigned char FAR *last; /* r9 while in < last */ -/* 32 16 */ unsigned char FAR *out; /* edi rdi local strm->next_out */ -/* 40 20 */ unsigned char FAR *beg; /* inflate()'s init next_out */ -/* 48 24 */ unsigned char FAR *end; /* r10 while out < end */ -/* 56 28 */ unsigned char FAR *window;/* size of window, wsize!=0 */ -/* 64 32 */ code const FAR *lcode; /* ebp rbp local strm->lencode */ -/* 72 36 */ code const FAR *dcode; /* r11 local strm->distcode */ -/* 80 40 */ unsigned long hold; /* edx rdx local strm->hold */ -/* 88 44 */ unsigned bits; /* ebx rbx local strm->bits */ -/* 92 48 */ unsigned wsize; /* window size */ -/* 96 52 */ unsigned write; /* window write index */ -/*100 56 */ unsigned lmask; /* r12 mask for lcode */ -/*104 60 */ unsigned dmask; /* r13 mask for dcode */ -/*108 64 */ unsigned len; /* r14 match length */ -/*112 68 */ unsigned dist; /* r15 match distance */ -/*116 72 */ unsigned status; /* set when state chng*/ - } ar; - -#if defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 ) -#define PAD_AVAIL_IN 6 -#define PAD_AVAIL_OUT 258 -#else -#define PAD_AVAIL_IN 5 -#define PAD_AVAIL_OUT 257 -#endif - - /* copy state to local variables */ - state = (struct inflate_state FAR *)strm->state; - ar.in = strm->next_in; - ar.last = ar.in + (strm->avail_in - PAD_AVAIL_IN); - ar.out = strm->next_out; - ar.beg = ar.out - (start - strm->avail_out); - ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT); - ar.wsize = state->wsize; - ar.write = state->wnext; - ar.window = state->window; - ar.hold = state->hold; - ar.bits = state->bits; - ar.lcode = state->lencode; - ar.dcode = state->distcode; - ar.lmask = (1U << state->lenbits) - 1; - ar.dmask = (1U << state->distbits) - 1; - - /* decode literals and length/distances until end-of-block or not enough - input data or output space */ - - /* align in on 1/2 hold size boundary */ - while (((unsigned long)(void *)ar.in & (sizeof(ar.hold) / 2 - 1)) != 0) { - ar.hold += (unsigned long)*ar.in++ << ar.bits; - ar.bits += 8; - } - -#if defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 ) - __asm__ __volatile__ ( -" leaq %0, %%rax\n" -" movq %%rbp, 8(%%rax)\n" /* save regs rbp and rsp */ -" movq %%rsp, (%%rax)\n" -" movq %%rax, %%rsp\n" /* make rsp point to &ar */ -" movq 16(%%rsp), %%rsi\n" /* rsi = in */ -" movq 32(%%rsp), %%rdi\n" /* rdi = out */ -" movq 24(%%rsp), %%r9\n" /* r9 = last */ -" movq 48(%%rsp), %%r10\n" /* r10 = end */ -" movq 64(%%rsp), %%rbp\n" /* rbp = lcode */ -" movq 72(%%rsp), %%r11\n" /* r11 = dcode */ -" movq 80(%%rsp), %%rdx\n" /* rdx = hold */ -" movl 88(%%rsp), %%ebx\n" /* ebx = bits */ -" movl 100(%%rsp), %%r12d\n" /* r12d = lmask */ -" movl 104(%%rsp), %%r13d\n" /* r13d = dmask */ - /* r14d = len */ - /* r15d = dist */ -" cld\n" -" cmpq %%rdi, %%r10\n" -" je .L_one_time\n" /* if only one decode left */ -" cmpq %%rsi, %%r9\n" -" je .L_one_time\n" -" jmp .L_do_loop\n" - -".L_one_time:\n" -" movq %%r12, %%r8\n" /* r8 = lmask */ -" cmpb $32, %%bl\n" -" ja .L_get_length_code_one_time\n" - -" lodsl\n" /* eax = *(uint *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $32, %%bl\n" /* bits += 32 */ -" shlq %%cl, %%rax\n" -" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */ -" jmp .L_get_length_code_one_time\n" - -".align 32,0x90\n" -".L_while_test:\n" -" cmpq %%rdi, %%r10\n" -" jbe .L_break_loop\n" -" cmpq %%rsi, %%r9\n" -" jbe .L_break_loop\n" - -".L_do_loop:\n" -" movq %%r12, %%r8\n" /* r8 = lmask */ -" cmpb $32, %%bl\n" -" ja .L_get_length_code\n" /* if (32 < bits) */ - -" lodsl\n" /* eax = *(uint *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $32, %%bl\n" /* bits += 32 */ -" shlq %%cl, %%rax\n" -" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */ - -".L_get_length_code:\n" -" andq %%rdx, %%r8\n" /* r8 &= hold */ -" movl (%%rbp,%%r8,4), %%eax\n" /* eax = lcode[hold & lmask] */ - -" movb %%ah, %%cl\n" /* cl = this.bits */ -" subb %%ah, %%bl\n" /* bits -= this.bits */ -" shrq %%cl, %%rdx\n" /* hold >>= this.bits */ - -" testb %%al, %%al\n" -" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */ - -" movq %%r12, %%r8\n" /* r8 = lmask */ -" shrl $16, %%eax\n" /* output this.val char */ -" stosb\n" - -".L_get_length_code_one_time:\n" -" andq %%rdx, %%r8\n" /* r8 &= hold */ -" movl (%%rbp,%%r8,4), %%eax\n" /* eax = lcode[hold & lmask] */ - -".L_dolen:\n" -" movb %%ah, %%cl\n" /* cl = this.bits */ -" subb %%ah, %%bl\n" /* bits -= this.bits */ -" shrq %%cl, %%rdx\n" /* hold >>= this.bits */ - -" testb %%al, %%al\n" -" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */ - -" shrl $16, %%eax\n" /* output this.val char */ -" stosb\n" -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_test_for_length_base:\n" -" movl %%eax, %%r14d\n" /* len = this */ -" shrl $16, %%r14d\n" /* len = this.val */ -" movb %%al, %%cl\n" - -" testb $16, %%al\n" -" jz .L_test_for_second_level_length\n" /* if ((op & 16) == 0) 8% */ -" andb $15, %%cl\n" /* op &= 15 */ -" jz .L_decode_distance\n" /* if (!op) */ - -".L_add_bits_to_len:\n" -" subb %%cl, %%bl\n" -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" shrq %%cl, %%rdx\n" -" addl %%eax, %%r14d\n" /* len += hold & mask[op] */ - -".L_decode_distance:\n" -" movq %%r13, %%r8\n" /* r8 = dmask */ -" cmpb $32, %%bl\n" -" ja .L_get_distance_code\n" /* if (32 < bits) */ - -" lodsl\n" /* eax = *(uint *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $32, %%bl\n" /* bits += 32 */ -" shlq %%cl, %%rax\n" -" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */ - -".L_get_distance_code:\n" -" andq %%rdx, %%r8\n" /* r8 &= hold */ -" movl (%%r11,%%r8,4), %%eax\n" /* eax = dcode[hold & dmask] */ - -".L_dodist:\n" -" movl %%eax, %%r15d\n" /* dist = this */ -" shrl $16, %%r15d\n" /* dist = this.val */ -" movb %%ah, %%cl\n" -" subb %%ah, %%bl\n" /* bits -= this.bits */ -" shrq %%cl, %%rdx\n" /* hold >>= this.bits */ -" movb %%al, %%cl\n" /* cl = this.op */ - -" testb $16, %%al\n" /* if ((op & 16) == 0) */ -" jz .L_test_for_second_level_dist\n" -" andb $15, %%cl\n" /* op &= 15 */ -" jz .L_check_dist_one\n" - -".L_add_bits_to_dist:\n" -" subb %%cl, %%bl\n" -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" /* (1 << op) - 1 */ -" andl %%edx, %%eax\n" /* eax &= hold */ -" shrq %%cl, %%rdx\n" -" addl %%eax, %%r15d\n" /* dist += hold & ((1 << op) - 1) */ - -".L_check_window:\n" -" movq %%rsi, %%r8\n" /* save in so from can use it's reg */ -" movq %%rdi, %%rax\n" -" subq 40(%%rsp), %%rax\n" /* nbytes = out - beg */ - -" cmpl %%r15d, %%eax\n" -" jb .L_clip_window\n" /* if (dist > nbytes) 4.2% */ - -" movl %%r14d, %%ecx\n" /* ecx = len */ -" movq %%rdi, %%rsi\n" -" subq %%r15, %%rsi\n" /* from = out - dist */ - -" sarl %%ecx\n" -" jnc .L_copy_two\n" /* if len % 2 == 0 */ - -" rep movsw\n" -" movb (%%rsi), %%al\n" -" movb %%al, (%%rdi)\n" -" incq %%rdi\n" - -" movq %%r8, %%rsi\n" /* move in back to %rsi, toss from */ -" jmp .L_while_test\n" - -".L_copy_two:\n" -" rep movsw\n" -" movq %%r8, %%rsi\n" /* move in back to %rsi, toss from */ -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_check_dist_one:\n" -" cmpl $1, %%r15d\n" /* if dist 1, is a memset */ -" jne .L_check_window\n" -" cmpq %%rdi, 40(%%rsp)\n" /* if out == beg, outside window */ -" je .L_check_window\n" - -" movl %%r14d, %%ecx\n" /* ecx = len */ -" movb -1(%%rdi), %%al\n" -" movb %%al, %%ah\n" - -" sarl %%ecx\n" -" jnc .L_set_two\n" -" movb %%al, (%%rdi)\n" -" incq %%rdi\n" - -".L_set_two:\n" -" rep stosw\n" -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_test_for_second_level_length:\n" -" testb $64, %%al\n" -" jnz .L_test_for_end_of_block\n" /* if ((op & 64) != 0) */ - -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" addl %%r14d, %%eax\n" /* eax += len */ -" movl (%%rbp,%%rax,4), %%eax\n" /* eax = lcode[val+(hold&mask[op])]*/ -" jmp .L_dolen\n" - -".align 32,0x90\n" -".L_test_for_second_level_dist:\n" -" testb $64, %%al\n" -" jnz .L_invalid_distance_code\n" /* if ((op & 64) != 0) */ - -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" addl %%r15d, %%eax\n" /* eax += dist */ -" movl (%%r11,%%rax,4), %%eax\n" /* eax = dcode[val+(hold&mask[op])]*/ -" jmp .L_dodist\n" - -".align 32,0x90\n" -".L_clip_window:\n" -" movl %%eax, %%ecx\n" /* ecx = nbytes */ -" movl 92(%%rsp), %%eax\n" /* eax = wsize, prepare for dist cmp */ -" negl %%ecx\n" /* nbytes = -nbytes */ - -" cmpl %%r15d, %%eax\n" -" jb .L_invalid_distance_too_far\n" /* if (dist > wsize) */ - -" addl %%r15d, %%ecx\n" /* nbytes = dist - nbytes */ -" cmpl $0, 96(%%rsp)\n" -" jne .L_wrap_around_window\n" /* if (write != 0) */ - -" movq 56(%%rsp), %%rsi\n" /* from = window */ -" subl %%ecx, %%eax\n" /* eax -= nbytes */ -" addq %%rax, %%rsi\n" /* from += wsize - nbytes */ - -" movl %%r14d, %%eax\n" /* eax = len */ -" cmpl %%ecx, %%r14d\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* eax -= nbytes */ -" rep movsb\n" -" movq %%rdi, %%rsi\n" -" subq %%r15, %%rsi\n" /* from = &out[ -dist ] */ -" jmp .L_do_copy\n" - -".align 32,0x90\n" -".L_wrap_around_window:\n" -" movl 96(%%rsp), %%eax\n" /* eax = write */ -" cmpl %%eax, %%ecx\n" -" jbe .L_contiguous_in_window\n" /* if (write >= nbytes) */ - -" movl 92(%%rsp), %%esi\n" /* from = wsize */ -" addq 56(%%rsp), %%rsi\n" /* from += window */ -" addq %%rax, %%rsi\n" /* from += write */ -" subq %%rcx, %%rsi\n" /* from -= nbytes */ -" subl %%eax, %%ecx\n" /* nbytes -= write */ - -" movl %%r14d, %%eax\n" /* eax = len */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movq 56(%%rsp), %%rsi\n" /* from = window */ -" movl 96(%%rsp), %%ecx\n" /* nbytes = write */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movq %%rdi, %%rsi\n" -" subq %%r15, %%rsi\n" /* from = out - dist */ -" jmp .L_do_copy\n" - -".align 32,0x90\n" -".L_contiguous_in_window:\n" -" movq 56(%%rsp), %%rsi\n" /* rsi = window */ -" addq %%rax, %%rsi\n" -" subq %%rcx, %%rsi\n" /* from += write - nbytes */ - -" movl %%r14d, %%eax\n" /* eax = len */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movq %%rdi, %%rsi\n" -" subq %%r15, %%rsi\n" /* from = out - dist */ -" jmp .L_do_copy\n" /* if (nbytes >= len) */ - -".align 32,0x90\n" -".L_do_copy:\n" -" movl %%eax, %%ecx\n" /* ecx = len */ -" rep movsb\n" - -" movq %%r8, %%rsi\n" /* move in back to %esi, toss from */ -" jmp .L_while_test\n" - -".L_test_for_end_of_block:\n" -" testb $32, %%al\n" -" jz .L_invalid_literal_length_code\n" -" movl $1, 116(%%rsp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_literal_length_code:\n" -" movl $2, 116(%%rsp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_distance_code:\n" -" movl $3, 116(%%rsp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_distance_too_far:\n" -" movl $4, 116(%%rsp)\n" -" jmp .L_break_loop_with_status\n" - -".L_break_loop:\n" -" movl $0, 116(%%rsp)\n" - -".L_break_loop_with_status:\n" -/* put in, out, bits, and hold back into ar and pop esp */ -" movq %%rsi, 16(%%rsp)\n" /* in */ -" movq %%rdi, 32(%%rsp)\n" /* out */ -" movl %%ebx, 88(%%rsp)\n" /* bits */ -" movq %%rdx, 80(%%rsp)\n" /* hold */ -" movq (%%rsp), %%rax\n" /* restore rbp and rsp */ -" movq 8(%%rsp), %%rbp\n" -" movq %%rax, %%rsp\n" - : - : "m" (ar) - : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi", - "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15" - ); -#elif ( defined( __GNUC__ ) || defined( __ICC ) ) && defined( __i386 ) - __asm__ __volatile__ ( -" leal %0, %%eax\n" -" movl %%esp, (%%eax)\n" /* save esp, ebp */ -" movl %%ebp, 4(%%eax)\n" -" movl %%eax, %%esp\n" -" movl 8(%%esp), %%esi\n" /* esi = in */ -" movl 16(%%esp), %%edi\n" /* edi = out */ -" movl 40(%%esp), %%edx\n" /* edx = hold */ -" movl 44(%%esp), %%ebx\n" /* ebx = bits */ -" movl 32(%%esp), %%ebp\n" /* ebp = lcode */ - -" cld\n" -" jmp .L_do_loop\n" - -".align 32,0x90\n" -".L_while_test:\n" -" cmpl %%edi, 24(%%esp)\n" /* out < end */ -" jbe .L_break_loop\n" -" cmpl %%esi, 12(%%esp)\n" /* in < last */ -" jbe .L_break_loop\n" - -".L_do_loop:\n" -" cmpb $15, %%bl\n" -" ja .L_get_length_code\n" /* if (15 < bits) */ - -" xorl %%eax, %%eax\n" -" lodsw\n" /* al = *(ushort *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $16, %%bl\n" /* bits += 16 */ -" shll %%cl, %%eax\n" -" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */ - -".L_get_length_code:\n" -" movl 56(%%esp), %%eax\n" /* eax = lmask */ -" andl %%edx, %%eax\n" /* eax &= hold */ -" movl (%%ebp,%%eax,4), %%eax\n" /* eax = lcode[hold & lmask] */ - -".L_dolen:\n" -" movb %%ah, %%cl\n" /* cl = this.bits */ -" subb %%ah, %%bl\n" /* bits -= this.bits */ -" shrl %%cl, %%edx\n" /* hold >>= this.bits */ - -" testb %%al, %%al\n" -" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */ - -" shrl $16, %%eax\n" /* output this.val char */ -" stosb\n" -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_test_for_length_base:\n" -" movl %%eax, %%ecx\n" /* len = this */ -" shrl $16, %%ecx\n" /* len = this.val */ -" movl %%ecx, 64(%%esp)\n" /* save len */ -" movb %%al, %%cl\n" - -" testb $16, %%al\n" -" jz .L_test_for_second_level_length\n" /* if ((op & 16) == 0) 8% */ -" andb $15, %%cl\n" /* op &= 15 */ -" jz .L_decode_distance\n" /* if (!op) */ -" cmpb %%cl, %%bl\n" -" jae .L_add_bits_to_len\n" /* if (op <= bits) */ - -" movb %%cl, %%ch\n" /* stash op in ch, freeing cl */ -" xorl %%eax, %%eax\n" -" lodsw\n" /* al = *(ushort *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $16, %%bl\n" /* bits += 16 */ -" shll %%cl, %%eax\n" -" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */ -" movb %%ch, %%cl\n" /* move op back to ecx */ - -".L_add_bits_to_len:\n" -" subb %%cl, %%bl\n" -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" shrl %%cl, %%edx\n" -" addl %%eax, 64(%%esp)\n" /* len += hold & mask[op] */ - -".L_decode_distance:\n" -" cmpb $15, %%bl\n" -" ja .L_get_distance_code\n" /* if (15 < bits) */ - -" xorl %%eax, %%eax\n" -" lodsw\n" /* al = *(ushort *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $16, %%bl\n" /* bits += 16 */ -" shll %%cl, %%eax\n" -" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */ - -".L_get_distance_code:\n" -" movl 60(%%esp), %%eax\n" /* eax = dmask */ -" movl 36(%%esp), %%ecx\n" /* ecx = dcode */ -" andl %%edx, %%eax\n" /* eax &= hold */ -" movl (%%ecx,%%eax,4), %%eax\n"/* eax = dcode[hold & dmask] */ - -".L_dodist:\n" -" movl %%eax, %%ebp\n" /* dist = this */ -" shrl $16, %%ebp\n" /* dist = this.val */ -" movb %%ah, %%cl\n" -" subb %%ah, %%bl\n" /* bits -= this.bits */ -" shrl %%cl, %%edx\n" /* hold >>= this.bits */ -" movb %%al, %%cl\n" /* cl = this.op */ - -" testb $16, %%al\n" /* if ((op & 16) == 0) */ -" jz .L_test_for_second_level_dist\n" -" andb $15, %%cl\n" /* op &= 15 */ -" jz .L_check_dist_one\n" -" cmpb %%cl, %%bl\n" -" jae .L_add_bits_to_dist\n" /* if (op <= bits) 97.6% */ - -" movb %%cl, %%ch\n" /* stash op in ch, freeing cl */ -" xorl %%eax, %%eax\n" -" lodsw\n" /* al = *(ushort *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $16, %%bl\n" /* bits += 16 */ -" shll %%cl, %%eax\n" -" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */ -" movb %%ch, %%cl\n" /* move op back to ecx */ - -".L_add_bits_to_dist:\n" -" subb %%cl, %%bl\n" -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" /* (1 << op) - 1 */ -" andl %%edx, %%eax\n" /* eax &= hold */ -" shrl %%cl, %%edx\n" -" addl %%eax, %%ebp\n" /* dist += hold & ((1 << op) - 1) */ - -".L_check_window:\n" -" movl %%esi, 8(%%esp)\n" /* save in so from can use it's reg */ -" movl %%edi, %%eax\n" -" subl 20(%%esp), %%eax\n" /* nbytes = out - beg */ - -" cmpl %%ebp, %%eax\n" -" jb .L_clip_window\n" /* if (dist > nbytes) 4.2% */ - -" movl 64(%%esp), %%ecx\n" /* ecx = len */ -" movl %%edi, %%esi\n" -" subl %%ebp, %%esi\n" /* from = out - dist */ - -" sarl %%ecx\n" -" jnc .L_copy_two\n" /* if len % 2 == 0 */ - -" rep movsw\n" -" movb (%%esi), %%al\n" -" movb %%al, (%%edi)\n" -" incl %%edi\n" - -" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */ -" movl 32(%%esp), %%ebp\n" /* ebp = lcode */ -" jmp .L_while_test\n" - -".L_copy_two:\n" -" rep movsw\n" -" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */ -" movl 32(%%esp), %%ebp\n" /* ebp = lcode */ -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_check_dist_one:\n" -" cmpl $1, %%ebp\n" /* if dist 1, is a memset */ -" jne .L_check_window\n" -" cmpl %%edi, 20(%%esp)\n" -" je .L_check_window\n" /* out == beg, if outside window */ - -" movl 64(%%esp), %%ecx\n" /* ecx = len */ -" movb -1(%%edi), %%al\n" -" movb %%al, %%ah\n" - -" sarl %%ecx\n" -" jnc .L_set_two\n" -" movb %%al, (%%edi)\n" -" incl %%edi\n" - -".L_set_two:\n" -" rep stosw\n" -" movl 32(%%esp), %%ebp\n" /* ebp = lcode */ -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_test_for_second_level_length:\n" -" testb $64, %%al\n" -" jnz .L_test_for_end_of_block\n" /* if ((op & 64) != 0) */ - -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" addl 64(%%esp), %%eax\n" /* eax += len */ -" movl (%%ebp,%%eax,4), %%eax\n" /* eax = lcode[val+(hold&mask[op])]*/ -" jmp .L_dolen\n" - -".align 32,0x90\n" -".L_test_for_second_level_dist:\n" -" testb $64, %%al\n" -" jnz .L_invalid_distance_code\n" /* if ((op & 64) != 0) */ - -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" addl %%ebp, %%eax\n" /* eax += dist */ -" movl 36(%%esp), %%ecx\n" /* ecx = dcode */ -" movl (%%ecx,%%eax,4), %%eax\n" /* eax = dcode[val+(hold&mask[op])]*/ -" jmp .L_dodist\n" - -".align 32,0x90\n" -".L_clip_window:\n" -" movl %%eax, %%ecx\n" -" movl 48(%%esp), %%eax\n" /* eax = wsize */ -" negl %%ecx\n" /* nbytes = -nbytes */ -" movl 28(%%esp), %%esi\n" /* from = window */ - -" cmpl %%ebp, %%eax\n" -" jb .L_invalid_distance_too_far\n" /* if (dist > wsize) */ - -" addl %%ebp, %%ecx\n" /* nbytes = dist - nbytes */ -" cmpl $0, 52(%%esp)\n" -" jne .L_wrap_around_window\n" /* if (write != 0) */ - -" subl %%ecx, %%eax\n" -" addl %%eax, %%esi\n" /* from += wsize - nbytes */ - -" movl 64(%%esp), %%eax\n" /* eax = len */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movl %%edi, %%esi\n" -" subl %%ebp, %%esi\n" /* from = out - dist */ -" jmp .L_do_copy\n" - -".align 32,0x90\n" -".L_wrap_around_window:\n" -" movl 52(%%esp), %%eax\n" /* eax = write */ -" cmpl %%eax, %%ecx\n" -" jbe .L_contiguous_in_window\n" /* if (write >= nbytes) */ - -" addl 48(%%esp), %%esi\n" /* from += wsize */ -" addl %%eax, %%esi\n" /* from += write */ -" subl %%ecx, %%esi\n" /* from -= nbytes */ -" subl %%eax, %%ecx\n" /* nbytes -= write */ - -" movl 64(%%esp), %%eax\n" /* eax = len */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movl 28(%%esp), %%esi\n" /* from = window */ -" movl 52(%%esp), %%ecx\n" /* nbytes = write */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movl %%edi, %%esi\n" -" subl %%ebp, %%esi\n" /* from = out - dist */ -" jmp .L_do_copy\n" - -".align 32,0x90\n" -".L_contiguous_in_window:\n" -" addl %%eax, %%esi\n" -" subl %%ecx, %%esi\n" /* from += write - nbytes */ - -" movl 64(%%esp), %%eax\n" /* eax = len */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movl %%edi, %%esi\n" -" subl %%ebp, %%esi\n" /* from = out - dist */ -" jmp .L_do_copy\n" /* if (nbytes >= len) */ - -".align 32,0x90\n" -".L_do_copy:\n" -" movl %%eax, %%ecx\n" -" rep movsb\n" - -" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */ -" movl 32(%%esp), %%ebp\n" /* ebp = lcode */ -" jmp .L_while_test\n" - -".L_test_for_end_of_block:\n" -" testb $32, %%al\n" -" jz .L_invalid_literal_length_code\n" -" movl $1, 72(%%esp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_literal_length_code:\n" -" movl $2, 72(%%esp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_distance_code:\n" -" movl $3, 72(%%esp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_distance_too_far:\n" -" movl 8(%%esp), %%esi\n" -" movl $4, 72(%%esp)\n" -" jmp .L_break_loop_with_status\n" - -".L_break_loop:\n" -" movl $0, 72(%%esp)\n" - -".L_break_loop_with_status:\n" -/* put in, out, bits, and hold back into ar and pop esp */ -" movl %%esi, 8(%%esp)\n" /* save in */ -" movl %%edi, 16(%%esp)\n" /* save out */ -" movl %%ebx, 44(%%esp)\n" /* save bits */ -" movl %%edx, 40(%%esp)\n" /* save hold */ -" movl 4(%%esp), %%ebp\n" /* restore esp, ebp */ -" movl (%%esp), %%esp\n" - : - : "m" (ar) - : "memory", "%eax", "%ebx", "%ecx", "%edx", "%esi", "%edi" - ); -#elif defined( _MSC_VER ) && ! defined( _M_AMD64 ) - __asm { - lea eax, ar - mov [eax], esp /* save esp, ebp */ - mov [eax+4], ebp - mov esp, eax - mov esi, [esp+8] /* esi = in */ - mov edi, [esp+16] /* edi = out */ - mov edx, [esp+40] /* edx = hold */ - mov ebx, [esp+44] /* ebx = bits */ - mov ebp, [esp+32] /* ebp = lcode */ - - cld - jmp L_do_loop - -ALIGN 4 -L_while_test: - cmp [esp+24], edi - jbe L_break_loop - cmp [esp+12], esi - jbe L_break_loop - -L_do_loop: - cmp bl, 15 - ja L_get_length_code /* if (15 < bits) */ - - xor eax, eax - lodsw /* al = *(ushort *)in++ */ - mov cl, bl /* cl = bits, needs it for shifting */ - add bl, 16 /* bits += 16 */ - shl eax, cl - or edx, eax /* hold |= *((ushort *)in)++ << bits */ - -L_get_length_code: - mov eax, [esp+56] /* eax = lmask */ - and eax, edx /* eax &= hold */ - mov eax, [ebp+eax*4] /* eax = lcode[hold & lmask] */ - -L_dolen: - mov cl, ah /* cl = this.bits */ - sub bl, ah /* bits -= this.bits */ - shr edx, cl /* hold >>= this.bits */ - - test al, al - jnz L_test_for_length_base /* if (op != 0) 45.7% */ - - shr eax, 16 /* output this.val char */ - stosb - jmp L_while_test - -ALIGN 4 -L_test_for_length_base: - mov ecx, eax /* len = this */ - shr ecx, 16 /* len = this.val */ - mov [esp+64], ecx /* save len */ - mov cl, al - - test al, 16 - jz L_test_for_second_level_length /* if ((op & 16) == 0) 8% */ - and cl, 15 /* op &= 15 */ - jz L_decode_distance /* if (!op) */ - cmp bl, cl - jae L_add_bits_to_len /* if (op <= bits) */ - - mov ch, cl /* stash op in ch, freeing cl */ - xor eax, eax - lodsw /* al = *(ushort *)in++ */ - mov cl, bl /* cl = bits, needs it for shifting */ - add bl, 16 /* bits += 16 */ - shl eax, cl - or edx, eax /* hold |= *((ushort *)in)++ << bits */ - mov cl, ch /* move op back to ecx */ - -L_add_bits_to_len: - sub bl, cl - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx /* eax &= hold */ - shr edx, cl - add [esp+64], eax /* len += hold & mask[op] */ - -L_decode_distance: - cmp bl, 15 - ja L_get_distance_code /* if (15 < bits) */ - - xor eax, eax - lodsw /* al = *(ushort *)in++ */ - mov cl, bl /* cl = bits, needs it for shifting */ - add bl, 16 /* bits += 16 */ - shl eax, cl - or edx, eax /* hold |= *((ushort *)in)++ << bits */ - -L_get_distance_code: - mov eax, [esp+60] /* eax = dmask */ - mov ecx, [esp+36] /* ecx = dcode */ - and eax, edx /* eax &= hold */ - mov eax, [ecx+eax*4]/* eax = dcode[hold & dmask] */ - -L_dodist: - mov ebp, eax /* dist = this */ - shr ebp, 16 /* dist = this.val */ - mov cl, ah - sub bl, ah /* bits -= this.bits */ - shr edx, cl /* hold >>= this.bits */ - mov cl, al /* cl = this.op */ - - test al, 16 /* if ((op & 16) == 0) */ - jz L_test_for_second_level_dist - and cl, 15 /* op &= 15 */ - jz L_check_dist_one - cmp bl, cl - jae L_add_bits_to_dist /* if (op <= bits) 97.6% */ - - mov ch, cl /* stash op in ch, freeing cl */ - xor eax, eax - lodsw /* al = *(ushort *)in++ */ - mov cl, bl /* cl = bits, needs it for shifting */ - add bl, 16 /* bits += 16 */ - shl eax, cl - or edx, eax /* hold |= *((ushort *)in)++ << bits */ - mov cl, ch /* move op back to ecx */ - -L_add_bits_to_dist: - sub bl, cl - xor eax, eax - inc eax - shl eax, cl - dec eax /* (1 << op) - 1 */ - and eax, edx /* eax &= hold */ - shr edx, cl - add ebp, eax /* dist += hold & ((1 << op) - 1) */ - -L_check_window: - mov [esp+8], esi /* save in so from can use it's reg */ - mov eax, edi - sub eax, [esp+20] /* nbytes = out - beg */ - - cmp eax, ebp - jb L_clip_window /* if (dist > nbytes) 4.2% */ - - mov ecx, [esp+64] /* ecx = len */ - mov esi, edi - sub esi, ebp /* from = out - dist */ - - sar ecx, 1 - jnc L_copy_two - - rep movsw - mov al, [esi] - mov [edi], al - inc edi - - mov esi, [esp+8] /* move in back to %esi, toss from */ - mov ebp, [esp+32] /* ebp = lcode */ - jmp L_while_test - -L_copy_two: - rep movsw - mov esi, [esp+8] /* move in back to %esi, toss from */ - mov ebp, [esp+32] /* ebp = lcode */ - jmp L_while_test - -ALIGN 4 -L_check_dist_one: - cmp ebp, 1 /* if dist 1, is a memset */ - jne L_check_window - cmp [esp+20], edi - je L_check_window /* out == beg, if outside window */ - - mov ecx, [esp+64] /* ecx = len */ - mov al, [edi-1] - mov ah, al - - sar ecx, 1 - jnc L_set_two - mov [edi], al /* memset out with from[-1] */ - inc edi - -L_set_two: - rep stosw - mov ebp, [esp+32] /* ebp = lcode */ - jmp L_while_test - -ALIGN 4 -L_test_for_second_level_length: - test al, 64 - jnz L_test_for_end_of_block /* if ((op & 64) != 0) */ - - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx /* eax &= hold */ - add eax, [esp+64] /* eax += len */ - mov eax, [ebp+eax*4] /* eax = lcode[val+(hold&mask[op])]*/ - jmp L_dolen - -ALIGN 4 -L_test_for_second_level_dist: - test al, 64 - jnz L_invalid_distance_code /* if ((op & 64) != 0) */ - - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx /* eax &= hold */ - add eax, ebp /* eax += dist */ - mov ecx, [esp+36] /* ecx = dcode */ - mov eax, [ecx+eax*4] /* eax = dcode[val+(hold&mask[op])]*/ - jmp L_dodist - -ALIGN 4 -L_clip_window: - mov ecx, eax - mov eax, [esp+48] /* eax = wsize */ - neg ecx /* nbytes = -nbytes */ - mov esi, [esp+28] /* from = window */ - - cmp eax, ebp - jb L_invalid_distance_too_far /* if (dist > wsize) */ - - add ecx, ebp /* nbytes = dist - nbytes */ - cmp dword ptr [esp+52], 0 - jne L_wrap_around_window /* if (write != 0) */ - - sub eax, ecx - add esi, eax /* from += wsize - nbytes */ - - mov eax, [esp+64] /* eax = len */ - cmp eax, ecx - jbe L_do_copy /* if (nbytes >= len) */ - - sub eax, ecx /* len -= nbytes */ - rep movsb - mov esi, edi - sub esi, ebp /* from = out - dist */ - jmp L_do_copy - -ALIGN 4 -L_wrap_around_window: - mov eax, [esp+52] /* eax = write */ - cmp ecx, eax - jbe L_contiguous_in_window /* if (write >= nbytes) */ - - add esi, [esp+48] /* from += wsize */ - add esi, eax /* from += write */ - sub esi, ecx /* from -= nbytes */ - sub ecx, eax /* nbytes -= write */ - - mov eax, [esp+64] /* eax = len */ - cmp eax, ecx - jbe L_do_copy /* if (nbytes >= len) */ - - sub eax, ecx /* len -= nbytes */ - rep movsb - mov esi, [esp+28] /* from = window */ - mov ecx, [esp+52] /* nbytes = write */ - cmp eax, ecx - jbe L_do_copy /* if (nbytes >= len) */ - - sub eax, ecx /* len -= nbytes */ - rep movsb - mov esi, edi - sub esi, ebp /* from = out - dist */ - jmp L_do_copy - -ALIGN 4 -L_contiguous_in_window: - add esi, eax - sub esi, ecx /* from += write - nbytes */ - - mov eax, [esp+64] /* eax = len */ - cmp eax, ecx - jbe L_do_copy /* if (nbytes >= len) */ - - sub eax, ecx /* len -= nbytes */ - rep movsb - mov esi, edi - sub esi, ebp /* from = out - dist */ - jmp L_do_copy - -ALIGN 4 -L_do_copy: - mov ecx, eax - rep movsb - - mov esi, [esp+8] /* move in back to %esi, toss from */ - mov ebp, [esp+32] /* ebp = lcode */ - jmp L_while_test - -L_test_for_end_of_block: - test al, 32 - jz L_invalid_literal_length_code - mov dword ptr [esp+72], 1 - jmp L_break_loop_with_status - -L_invalid_literal_length_code: - mov dword ptr [esp+72], 2 - jmp L_break_loop_with_status - -L_invalid_distance_code: - mov dword ptr [esp+72], 3 - jmp L_break_loop_with_status - -L_invalid_distance_too_far: - mov esi, [esp+4] - mov dword ptr [esp+72], 4 - jmp L_break_loop_with_status - -L_break_loop: - mov dword ptr [esp+72], 0 - -L_break_loop_with_status: -/* put in, out, bits, and hold back into ar and pop esp */ - mov [esp+8], esi /* save in */ - mov [esp+16], edi /* save out */ - mov [esp+44], ebx /* save bits */ - mov [esp+40], edx /* save hold */ - mov ebp, [esp+4] /* restore esp, ebp */ - mov esp, [esp] - } -#else -#error "x86 architecture not defined" -#endif - - if (ar.status > 1) { - if (ar.status == 2) - strm->msg = "invalid literal/length code"; - else if (ar.status == 3) - strm->msg = "invalid distance code"; - else - strm->msg = "invalid distance too far back"; - state->mode = BAD; - } - else if ( ar.status == 1 ) { - state->mode = TYPE; - } - - /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ - ar.len = ar.bits >> 3; - ar.in -= ar.len; - ar.bits -= ar.len << 3; - ar.hold &= (1U << ar.bits) - 1; - - /* update state and return */ - strm->next_in = ar.in; - strm->next_out = ar.out; - strm->avail_in = (unsigned)(ar.in < ar.last ? - PAD_AVAIL_IN + (ar.last - ar.in) : - PAD_AVAIL_IN - (ar.in - ar.last)); - strm->avail_out = (unsigned)(ar.out < ar.end ? - PAD_AVAIL_OUT + (ar.end - ar.out) : - PAD_AVAIL_OUT - (ar.out - ar.end)); - state->hold = ar.hold; - state->bits = ar.bits; - return; -} - diff --git a/protocols/Telegram/tgl/zlib/contrib/inflate86/inffast.S b/protocols/Telegram/tgl/zlib/contrib/inflate86/inffast.S deleted file mode 100644 index 2245a2905b..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/inflate86/inffast.S +++ /dev/null @@ -1,1368 +0,0 @@ -/* - * inffast.S is a hand tuned assembler version of: - * - * inffast.c -- fast decoding - * Copyright (C) 1995-2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Copyright (C) 2003 Chris Anderson - * Please use the copyright conditions above. - * - * This version (Jan-23-2003) of inflate_fast was coded and tested under - * GNU/Linux on a pentium 3, using the gcc-3.2 compiler distribution. On that - * machine, I found that gzip style archives decompressed about 20% faster than - * the gcc-3.2 -O3 -fomit-frame-pointer compiled version. Your results will - * depend on how large of a buffer is used for z_stream.next_in & next_out - * (8K-32K worked best for my 256K cpu cache) and how much overhead there is in - * stream processing I/O and crc32/addler32. In my case, this routine used - * 70% of the cpu time and crc32 used 20%. - * - * I am confident that this version will work in the general case, but I have - * not tested a wide variety of datasets or a wide variety of platforms. - * - * Jan-24-2003 -- Added -DUSE_MMX define for slightly faster inflating. - * It should be a runtime flag instead of compile time flag... - * - * Jan-26-2003 -- Added runtime check for MMX support with cpuid instruction. - * With -DUSE_MMX, only MMX code is compiled. With -DNO_MMX, only non-MMX code - * is compiled. Without either option, runtime detection is enabled. Runtime - * detection should work on all modern cpus and the recomended algorithm (flip - * ID bit on eflags and then use the cpuid instruction) is used in many - * multimedia applications. Tested under win2k with gcc-2.95 and gas-2.12 - * distributed with cygwin3. Compiling with gcc-2.95 -c inffast.S -o - * inffast.obj generates a COFF object which can then be linked with MSVC++ - * compiled code. Tested under FreeBSD 4.7 with gcc-2.95. - * - * Jan-28-2003 -- Tested Athlon XP... MMX mode is slower than no MMX (and - * slower than compiler generated code). Adjusted cpuid check to use the MMX - * code only for Pentiums < P4 until I have more data on the P4. Speed - * improvment is only about 15% on the Athlon when compared with code generated - * with MSVC++. Not sure yet, but I think the P4 will also be slower using the - * MMX mode because many of it's x86 ALU instructions execute in .5 cycles and - * have less latency than MMX ops. Added code to buffer the last 11 bytes of - * the input stream since the MMX code grabs bits in chunks of 32, which - * differs from the inffast.c algorithm. I don't think there would have been - * read overruns where a page boundary was crossed (a segfault), but there - * could have been overruns when next_in ends on unaligned memory (unintialized - * memory read). - * - * Mar-13-2003 -- P4 MMX is slightly slower than P4 NO_MMX. I created a C - * version of the non-MMX code so that it doesn't depend on zstrm and zstate - * structure offsets which are hard coded in this file. This was last tested - * with zlib-1.2.0 which is currently in beta testing, newer versions of this - * and inffas86.c can be found at http://www.eetbeetee.com/zlib/ and - * http://www.charm.net/~christop/zlib/ - */ - - -/* - * if you have underscore linking problems (_inflate_fast undefined), try - * using -DGAS_COFF - */ -#if ! defined( GAS_COFF ) && ! defined( GAS_ELF ) - -#if defined( WIN32 ) || defined( __CYGWIN__ ) -#define GAS_COFF /* windows object format */ -#else -#define GAS_ELF -#endif - -#endif /* ! GAS_COFF && ! GAS_ELF */ - - -#if defined( GAS_COFF ) - -/* coff externals have underscores */ -#define inflate_fast _inflate_fast -#define inflate_fast_use_mmx _inflate_fast_use_mmx - -#endif /* GAS_COFF */ - - -.file "inffast.S" - -.globl inflate_fast - -.text -.align 4,0 -.L_invalid_literal_length_code_msg: -.string "invalid literal/length code" - -.align 4,0 -.L_invalid_distance_code_msg: -.string "invalid distance code" - -.align 4,0 -.L_invalid_distance_too_far_msg: -.string "invalid distance too far back" - -#if ! defined( NO_MMX ) -.align 4,0 -.L_mask: /* mask[N] = ( 1 << N ) - 1 */ -.long 0 -.long 1 -.long 3 -.long 7 -.long 15 -.long 31 -.long 63 -.long 127 -.long 255 -.long 511 -.long 1023 -.long 2047 -.long 4095 -.long 8191 -.long 16383 -.long 32767 -.long 65535 -.long 131071 -.long 262143 -.long 524287 -.long 1048575 -.long 2097151 -.long 4194303 -.long 8388607 -.long 16777215 -.long 33554431 -.long 67108863 -.long 134217727 -.long 268435455 -.long 536870911 -.long 1073741823 -.long 2147483647 -.long 4294967295 -#endif /* NO_MMX */ - -.text - -/* - * struct z_stream offsets, in zlib.h - */ -#define next_in_strm 0 /* strm->next_in */ -#define avail_in_strm 4 /* strm->avail_in */ -#define next_out_strm 12 /* strm->next_out */ -#define avail_out_strm 16 /* strm->avail_out */ -#define msg_strm 24 /* strm->msg */ -#define state_strm 28 /* strm->state */ - -/* - * struct inflate_state offsets, in inflate.h - */ -#define mode_state 0 /* state->mode */ -#define wsize_state 32 /* state->wsize */ -#define write_state 40 /* state->write */ -#define window_state 44 /* state->window */ -#define hold_state 48 /* state->hold */ -#define bits_state 52 /* state->bits */ -#define lencode_state 68 /* state->lencode */ -#define distcode_state 72 /* state->distcode */ -#define lenbits_state 76 /* state->lenbits */ -#define distbits_state 80 /* state->distbits */ - -/* - * inflate_fast's activation record - */ -#define local_var_size 64 /* how much local space for vars */ -#define strm_sp 88 /* first arg: z_stream * (local_var_size + 24) */ -#define start_sp 92 /* second arg: unsigned int (local_var_size + 28) */ - -/* - * offsets for local vars on stack - */ -#define out 60 /* unsigned char* */ -#define window 56 /* unsigned char* */ -#define wsize 52 /* unsigned int */ -#define write 48 /* unsigned int */ -#define in 44 /* unsigned char* */ -#define beg 40 /* unsigned char* */ -#define buf 28 /* char[ 12 ] */ -#define len 24 /* unsigned int */ -#define last 20 /* unsigned char* */ -#define end 16 /* unsigned char* */ -#define dcode 12 /* code* */ -#define lcode 8 /* code* */ -#define dmask 4 /* unsigned int */ -#define lmask 0 /* unsigned int */ - -/* - * typedef enum inflate_mode consts, in inflate.h - */ -#define INFLATE_MODE_TYPE 11 /* state->mode flags enum-ed in inflate.h */ -#define INFLATE_MODE_BAD 26 - - -#if ! defined( USE_MMX ) && ! defined( NO_MMX ) - -#define RUN_TIME_MMX - -#define CHECK_MMX 1 -#define DO_USE_MMX 2 -#define DONT_USE_MMX 3 - -.globl inflate_fast_use_mmx - -.data - -.align 4,0 -inflate_fast_use_mmx: /* integer flag for run time control 1=check,2=mmx,3=no */ -.long CHECK_MMX - -#if defined( GAS_ELF ) -/* elf info */ -.type inflate_fast_use_mmx,@object -.size inflate_fast_use_mmx,4 -#endif - -#endif /* RUN_TIME_MMX */ - -#if defined( GAS_COFF ) -/* coff info: scl 2 = extern, type 32 = function */ -.def inflate_fast; .scl 2; .type 32; .endef -#endif - -.text - -.align 32,0x90 -inflate_fast: - pushl %edi - pushl %esi - pushl %ebp - pushl %ebx - pushf /* save eflags (strm_sp, state_sp assumes this is 32 bits) */ - subl $local_var_size, %esp - cld - -#define strm_r %esi -#define state_r %edi - - movl strm_sp(%esp), strm_r - movl state_strm(strm_r), state_r - - /* in = strm->next_in; - * out = strm->next_out; - * last = in + strm->avail_in - 11; - * beg = out - (start - strm->avail_out); - * end = out + (strm->avail_out - 257); - */ - movl avail_in_strm(strm_r), %edx - movl next_in_strm(strm_r), %eax - - addl %eax, %edx /* avail_in += next_in */ - subl $11, %edx /* avail_in -= 11 */ - - movl %eax, in(%esp) - movl %edx, last(%esp) - - movl start_sp(%esp), %ebp - movl avail_out_strm(strm_r), %ecx - movl next_out_strm(strm_r), %ebx - - subl %ecx, %ebp /* start -= avail_out */ - negl %ebp /* start = -start */ - addl %ebx, %ebp /* start += next_out */ - - subl $257, %ecx /* avail_out -= 257 */ - addl %ebx, %ecx /* avail_out += out */ - - movl %ebx, out(%esp) - movl %ebp, beg(%esp) - movl %ecx, end(%esp) - - /* wsize = state->wsize; - * write = state->write; - * window = state->window; - * hold = state->hold; - * bits = state->bits; - * lcode = state->lencode; - * dcode = state->distcode; - * lmask = ( 1 << state->lenbits ) - 1; - * dmask = ( 1 << state->distbits ) - 1; - */ - - movl lencode_state(state_r), %eax - movl distcode_state(state_r), %ecx - - movl %eax, lcode(%esp) - movl %ecx, dcode(%esp) - - movl $1, %eax - movl lenbits_state(state_r), %ecx - shll %cl, %eax - decl %eax - movl %eax, lmask(%esp) - - movl $1, %eax - movl distbits_state(state_r), %ecx - shll %cl, %eax - decl %eax - movl %eax, dmask(%esp) - - movl wsize_state(state_r), %eax - movl write_state(state_r), %ecx - movl window_state(state_r), %edx - - movl %eax, wsize(%esp) - movl %ecx, write(%esp) - movl %edx, window(%esp) - - movl hold_state(state_r), %ebp - movl bits_state(state_r), %ebx - -#undef strm_r -#undef state_r - -#define in_r %esi -#define from_r %esi -#define out_r %edi - - movl in(%esp), in_r - movl last(%esp), %ecx - cmpl in_r, %ecx - ja .L_align_long /* if in < last */ - - addl $11, %ecx /* ecx = &in[ avail_in ] */ - subl in_r, %ecx /* ecx = avail_in */ - movl $12, %eax - subl %ecx, %eax /* eax = 12 - avail_in */ - leal buf(%esp), %edi - rep movsb /* memcpy( buf, in, avail_in ) */ - movl %eax, %ecx - xorl %eax, %eax - rep stosb /* memset( &buf[ avail_in ], 0, 12 - avail_in ) */ - leal buf(%esp), in_r /* in = buf */ - movl in_r, last(%esp) /* last = in, do just one iteration */ - jmp .L_is_aligned - - /* align in_r on long boundary */ -.L_align_long: - testl $3, in_r - jz .L_is_aligned - xorl %eax, %eax - movb (in_r), %al - incl in_r - movl %ebx, %ecx - addl $8, %ebx - shll %cl, %eax - orl %eax, %ebp - jmp .L_align_long - -.L_is_aligned: - movl out(%esp), out_r - -#if defined( NO_MMX ) - jmp .L_do_loop -#endif - -#if defined( USE_MMX ) - jmp .L_init_mmx -#endif - -/*** Runtime MMX check ***/ - -#if defined( RUN_TIME_MMX ) -.L_check_mmx: - cmpl $DO_USE_MMX, inflate_fast_use_mmx - je .L_init_mmx - ja .L_do_loop /* > 2 */ - - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - pushf - movl (%esp), %eax /* copy eflags to eax */ - xorl $0x200000, (%esp) /* try toggling ID bit of eflags (bit 21) - * to see if cpu supports cpuid... - * ID bit method not supported by NexGen but - * bios may load a cpuid instruction and - * cpuid may be disabled on Cyrix 5-6x86 */ - popf - pushf - popl %edx /* copy new eflags to edx */ - xorl %eax, %edx /* test if ID bit is flipped */ - jz .L_dont_use_mmx /* not flipped if zero */ - xorl %eax, %eax - cpuid - cmpl $0x756e6547, %ebx /* check for GenuineIntel in ebx,ecx,edx */ - jne .L_dont_use_mmx - cmpl $0x6c65746e, %ecx - jne .L_dont_use_mmx - cmpl $0x49656e69, %edx - jne .L_dont_use_mmx - movl $1, %eax - cpuid /* get cpu features */ - shrl $8, %eax - andl $15, %eax - cmpl $6, %eax /* check for Pentium family, is 0xf for P4 */ - jne .L_dont_use_mmx - testl $0x800000, %edx /* test if MMX feature is set (bit 23) */ - jnz .L_use_mmx - jmp .L_dont_use_mmx -.L_use_mmx: - movl $DO_USE_MMX, inflate_fast_use_mmx - jmp .L_check_mmx_pop -.L_dont_use_mmx: - movl $DONT_USE_MMX, inflate_fast_use_mmx -.L_check_mmx_pop: - popl %edx - popl %ecx - popl %ebx - popl %eax - jmp .L_check_mmx -#endif - - -/*** Non-MMX code ***/ - -#if defined ( NO_MMX ) || defined( RUN_TIME_MMX ) - -#define hold_r %ebp -#define bits_r %bl -#define bitslong_r %ebx - -.align 32,0x90 -.L_while_test: - /* while (in < last && out < end) - */ - cmpl out_r, end(%esp) - jbe .L_break_loop /* if (out >= end) */ - - cmpl in_r, last(%esp) - jbe .L_break_loop - -.L_do_loop: - /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out - * - * do { - * if (bits < 15) { - * hold |= *((unsigned short *)in)++ << bits; - * bits += 16 - * } - * this = lcode[hold & lmask] - */ - cmpb $15, bits_r - ja .L_get_length_code /* if (15 < bits) */ - - xorl %eax, %eax - lodsw /* al = *(ushort *)in++ */ - movb bits_r, %cl /* cl = bits, needs it for shifting */ - addb $16, bits_r /* bits += 16 */ - shll %cl, %eax - orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */ - -.L_get_length_code: - movl lmask(%esp), %edx /* edx = lmask */ - movl lcode(%esp), %ecx /* ecx = lcode */ - andl hold_r, %edx /* edx &= hold */ - movl (%ecx,%edx,4), %eax /* eax = lcode[hold & lmask] */ - -.L_dolen: - /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out - * - * dolen: - * bits -= this.bits; - * hold >>= this.bits - */ - movb %ah, %cl /* cl = this.bits */ - subb %ah, bits_r /* bits -= this.bits */ - shrl %cl, hold_r /* hold >>= this.bits */ - - /* check if op is a literal - * if (op == 0) { - * PUP(out) = this.val; - * } - */ - testb %al, %al - jnz .L_test_for_length_base /* if (op != 0) 45.7% */ - - shrl $16, %eax /* output this.val char */ - stosb - jmp .L_while_test - -.L_test_for_length_base: - /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out, %edx = len - * - * else if (op & 16) { - * len = this.val - * op &= 15 - * if (op) { - * if (op > bits) { - * hold |= *((unsigned short *)in)++ << bits; - * bits += 16 - * } - * len += hold & mask[op]; - * bits -= op; - * hold >>= op; - * } - */ -#define len_r %edx - movl %eax, len_r /* len = this */ - shrl $16, len_r /* len = this.val */ - movb %al, %cl - - testb $16, %al - jz .L_test_for_second_level_length /* if ((op & 16) == 0) 8% */ - andb $15, %cl /* op &= 15 */ - jz .L_save_len /* if (!op) */ - cmpb %cl, bits_r - jae .L_add_bits_to_len /* if (op <= bits) */ - - movb %cl, %ch /* stash op in ch, freeing cl */ - xorl %eax, %eax - lodsw /* al = *(ushort *)in++ */ - movb bits_r, %cl /* cl = bits, needs it for shifting */ - addb $16, bits_r /* bits += 16 */ - shll %cl, %eax - orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */ - movb %ch, %cl /* move op back to ecx */ - -.L_add_bits_to_len: - movl $1, %eax - shll %cl, %eax - decl %eax - subb %cl, bits_r - andl hold_r, %eax /* eax &= hold */ - shrl %cl, hold_r - addl %eax, len_r /* len += hold & mask[op] */ - -.L_save_len: - movl len_r, len(%esp) /* save len */ -#undef len_r - -.L_decode_distance: - /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * - * if (bits < 15) { - * hold |= *((unsigned short *)in)++ << bits; - * bits += 16 - * } - * this = dcode[hold & dmask]; - * dodist: - * bits -= this.bits; - * hold >>= this.bits; - * op = this.op; - */ - - cmpb $15, bits_r - ja .L_get_distance_code /* if (15 < bits) */ - - xorl %eax, %eax - lodsw /* al = *(ushort *)in++ */ - movb bits_r, %cl /* cl = bits, needs it for shifting */ - addb $16, bits_r /* bits += 16 */ - shll %cl, %eax - orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */ - -.L_get_distance_code: - movl dmask(%esp), %edx /* edx = dmask */ - movl dcode(%esp), %ecx /* ecx = dcode */ - andl hold_r, %edx /* edx &= hold */ - movl (%ecx,%edx,4), %eax /* eax = dcode[hold & dmask] */ - -#define dist_r %edx -.L_dodist: - movl %eax, dist_r /* dist = this */ - shrl $16, dist_r /* dist = this.val */ - movb %ah, %cl - subb %ah, bits_r /* bits -= this.bits */ - shrl %cl, hold_r /* hold >>= this.bits */ - - /* if (op & 16) { - * dist = this.val - * op &= 15 - * if (op > bits) { - * hold |= *((unsigned short *)in)++ << bits; - * bits += 16 - * } - * dist += hold & mask[op]; - * bits -= op; - * hold >>= op; - */ - movb %al, %cl /* cl = this.op */ - - testb $16, %al /* if ((op & 16) == 0) */ - jz .L_test_for_second_level_dist - andb $15, %cl /* op &= 15 */ - jz .L_check_dist_one - cmpb %cl, bits_r - jae .L_add_bits_to_dist /* if (op <= bits) 97.6% */ - - movb %cl, %ch /* stash op in ch, freeing cl */ - xorl %eax, %eax - lodsw /* al = *(ushort *)in++ */ - movb bits_r, %cl /* cl = bits, needs it for shifting */ - addb $16, bits_r /* bits += 16 */ - shll %cl, %eax - orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */ - movb %ch, %cl /* move op back to ecx */ - -.L_add_bits_to_dist: - movl $1, %eax - shll %cl, %eax - decl %eax /* (1 << op) - 1 */ - subb %cl, bits_r - andl hold_r, %eax /* eax &= hold */ - shrl %cl, hold_r - addl %eax, dist_r /* dist += hold & ((1 << op) - 1) */ - jmp .L_check_window - -.L_check_window: - /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * %ecx = nbytes - * - * nbytes = out - beg; - * if (dist <= nbytes) { - * from = out - dist; - * do { - * PUP(out) = PUP(from); - * } while (--len > 0) { - * } - */ - - movl in_r, in(%esp) /* save in so from can use it's reg */ - movl out_r, %eax - subl beg(%esp), %eax /* nbytes = out - beg */ - - cmpl dist_r, %eax - jb .L_clip_window /* if (dist > nbytes) 4.2% */ - - movl len(%esp), %ecx - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - - subl $3, %ecx - movb (from_r), %al - movb %al, (out_r) - movb 1(from_r), %al - movb 2(from_r), %dl - addl $3, from_r - movb %al, 1(out_r) - movb %dl, 2(out_r) - addl $3, out_r - rep movsb - - movl in(%esp), in_r /* move in back to %esi, toss from */ - jmp .L_while_test - -.align 16,0x90 -.L_check_dist_one: - cmpl $1, dist_r - jne .L_check_window - cmpl out_r, beg(%esp) - je .L_check_window - - decl out_r - movl len(%esp), %ecx - movb (out_r), %al - subl $3, %ecx - - movb %al, 1(out_r) - movb %al, 2(out_r) - movb %al, 3(out_r) - addl $4, out_r - rep stosb - - jmp .L_while_test - -.align 16,0x90 -.L_test_for_second_level_length: - /* else if ((op & 64) == 0) { - * this = lcode[this.val + (hold & mask[op])]; - * } - */ - testb $64, %al - jnz .L_test_for_end_of_block /* if ((op & 64) != 0) */ - - movl $1, %eax - shll %cl, %eax - decl %eax - andl hold_r, %eax /* eax &= hold */ - addl %edx, %eax /* eax += this.val */ - movl lcode(%esp), %edx /* edx = lcode */ - movl (%edx,%eax,4), %eax /* eax = lcode[val + (hold&mask[op])] */ - jmp .L_dolen - -.align 16,0x90 -.L_test_for_second_level_dist: - /* else if ((op & 64) == 0) { - * this = dcode[this.val + (hold & mask[op])]; - * } - */ - testb $64, %al - jnz .L_invalid_distance_code /* if ((op & 64) != 0) */ - - movl $1, %eax - shll %cl, %eax - decl %eax - andl hold_r, %eax /* eax &= hold */ - addl %edx, %eax /* eax += this.val */ - movl dcode(%esp), %edx /* edx = dcode */ - movl (%edx,%eax,4), %eax /* eax = dcode[val + (hold&mask[op])] */ - jmp .L_dodist - -.align 16,0x90 -.L_clip_window: - /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * %ecx = nbytes - * - * else { - * if (dist > wsize) { - * invalid distance - * } - * from = window; - * nbytes = dist - nbytes; - * if (write == 0) { - * from += wsize - nbytes; - */ -#define nbytes_r %ecx - movl %eax, nbytes_r - movl wsize(%esp), %eax /* prepare for dist compare */ - negl nbytes_r /* nbytes = -nbytes */ - movl window(%esp), from_r /* from = window */ - - cmpl dist_r, %eax - jb .L_invalid_distance_too_far /* if (dist > wsize) */ - - addl dist_r, nbytes_r /* nbytes = dist - nbytes */ - cmpl $0, write(%esp) - jne .L_wrap_around_window /* if (write != 0) */ - - subl nbytes_r, %eax - addl %eax, from_r /* from += wsize - nbytes */ - - /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * %ecx = nbytes, %eax = len - * - * if (nbytes < len) { - * len -= nbytes; - * do { - * PUP(out) = PUP(from); - * } while (--nbytes); - * from = out - dist; - * } - * } - */ -#define len_r %eax - movl len(%esp), len_r - cmpl nbytes_r, len_r - jbe .L_do_copy1 /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1 - - cmpl nbytes_r, len_r - jbe .L_do_copy1 /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1 - -.L_wrap_around_window: - /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * %ecx = nbytes, %eax = write, %eax = len - * - * else if (write < nbytes) { - * from += wsize + write - nbytes; - * nbytes -= write; - * if (nbytes < len) { - * len -= nbytes; - * do { - * PUP(out) = PUP(from); - * } while (--nbytes); - * from = window; - * nbytes = write; - * if (nbytes < len) { - * len -= nbytes; - * do { - * PUP(out) = PUP(from); - * } while(--nbytes); - * from = out - dist; - * } - * } - * } - */ -#define write_r %eax - movl write(%esp), write_r - cmpl write_r, nbytes_r - jbe .L_contiguous_in_window /* if (write >= nbytes) */ - - addl wsize(%esp), from_r - addl write_r, from_r - subl nbytes_r, from_r /* from += wsize + write - nbytes */ - subl write_r, nbytes_r /* nbytes -= write */ -#undef write_r - - movl len(%esp), len_r - cmpl nbytes_r, len_r - jbe .L_do_copy1 /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl window(%esp), from_r /* from = window */ - movl write(%esp), nbytes_r /* nbytes = write */ - cmpl nbytes_r, len_r - jbe .L_do_copy1 /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1 - -.L_contiguous_in_window: - /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * %ecx = nbytes, %eax = write, %eax = len - * - * else { - * from += write - nbytes; - * if (nbytes < len) { - * len -= nbytes; - * do { - * PUP(out) = PUP(from); - * } while (--nbytes); - * from = out - dist; - * } - * } - */ -#define write_r %eax - addl write_r, from_r - subl nbytes_r, from_r /* from += write - nbytes */ -#undef write_r - - movl len(%esp), len_r - cmpl nbytes_r, len_r - jbe .L_do_copy1 /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - -.L_do_copy1: - /* regs: %esi = from, %esi = in, %ebp = hold, %bl = bits, %edi = out - * %eax = len - * - * while (len > 0) { - * PUP(out) = PUP(from); - * len--; - * } - * } - * } while (in < last && out < end); - */ -#undef nbytes_r -#define in_r %esi - movl len_r, %ecx - rep movsb - - movl in(%esp), in_r /* move in back to %esi, toss from */ - jmp .L_while_test - -#undef len_r -#undef dist_r - -#endif /* NO_MMX || RUN_TIME_MMX */ - - -/*** MMX code ***/ - -#if defined( USE_MMX ) || defined( RUN_TIME_MMX ) - -.align 32,0x90 -.L_init_mmx: - emms - -#undef bits_r -#undef bitslong_r -#define bitslong_r %ebp -#define hold_mm %mm0 - movd %ebp, hold_mm - movl %ebx, bitslong_r - -#define used_mm %mm1 -#define dmask2_mm %mm2 -#define lmask2_mm %mm3 -#define lmask_mm %mm4 -#define dmask_mm %mm5 -#define tmp_mm %mm6 - - movd lmask(%esp), lmask_mm - movq lmask_mm, lmask2_mm - movd dmask(%esp), dmask_mm - movq dmask_mm, dmask2_mm - pxor used_mm, used_mm - movl lcode(%esp), %ebx /* ebx = lcode */ - jmp .L_do_loop_mmx - -.align 32,0x90 -.L_while_test_mmx: - /* while (in < last && out < end) - */ - cmpl out_r, end(%esp) - jbe .L_break_loop /* if (out >= end) */ - - cmpl in_r, last(%esp) - jbe .L_break_loop - -.L_do_loop_mmx: - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - - cmpl $32, bitslong_r - ja .L_get_length_code_mmx /* if (32 < bits) */ - - movd bitslong_r, tmp_mm - movd (in_r), %mm7 - addl $4, in_r - psllq tmp_mm, %mm7 - addl $32, bitslong_r - por %mm7, hold_mm /* hold_mm |= *((uint *)in)++ << bits */ - -.L_get_length_code_mmx: - pand hold_mm, lmask_mm - movd lmask_mm, %eax - movq lmask2_mm, lmask_mm - movl (%ebx,%eax,4), %eax /* eax = lcode[hold & lmask] */ - -.L_dolen_mmx: - movzbl %ah, %ecx /* ecx = this.bits */ - movd %ecx, used_mm - subl %ecx, bitslong_r /* bits -= this.bits */ - - testb %al, %al - jnz .L_test_for_length_base_mmx /* if (op != 0) 45.7% */ - - shrl $16, %eax /* output this.val char */ - stosb - jmp .L_while_test_mmx - -.L_test_for_length_base_mmx: -#define len_r %edx - movl %eax, len_r /* len = this */ - shrl $16, len_r /* len = this.val */ - - testb $16, %al - jz .L_test_for_second_level_length_mmx /* if ((op & 16) == 0) 8% */ - andl $15, %eax /* op &= 15 */ - jz .L_decode_distance_mmx /* if (!op) */ - - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - movd %eax, used_mm - movd hold_mm, %ecx - subl %eax, bitslong_r - andl .L_mask(,%eax,4), %ecx - addl %ecx, len_r /* len += hold & mask[op] */ - -.L_decode_distance_mmx: - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - - cmpl $32, bitslong_r - ja .L_get_dist_code_mmx /* if (32 < bits) */ - - movd bitslong_r, tmp_mm - movd (in_r), %mm7 - addl $4, in_r - psllq tmp_mm, %mm7 - addl $32, bitslong_r - por %mm7, hold_mm /* hold_mm |= *((uint *)in)++ << bits */ - -.L_get_dist_code_mmx: - movl dcode(%esp), %ebx /* ebx = dcode */ - pand hold_mm, dmask_mm - movd dmask_mm, %eax - movq dmask2_mm, dmask_mm - movl (%ebx,%eax,4), %eax /* eax = dcode[hold & lmask] */ - -.L_dodist_mmx: -#define dist_r %ebx - movzbl %ah, %ecx /* ecx = this.bits */ - movl %eax, dist_r - shrl $16, dist_r /* dist = this.val */ - subl %ecx, bitslong_r /* bits -= this.bits */ - movd %ecx, used_mm - - testb $16, %al /* if ((op & 16) == 0) */ - jz .L_test_for_second_level_dist_mmx - andl $15, %eax /* op &= 15 */ - jz .L_check_dist_one_mmx - -.L_add_bits_to_dist_mmx: - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - movd %eax, used_mm /* save bit length of current op */ - movd hold_mm, %ecx /* get the next bits on input stream */ - subl %eax, bitslong_r /* bits -= op bits */ - andl .L_mask(,%eax,4), %ecx /* ecx = hold & mask[op] */ - addl %ecx, dist_r /* dist += hold & mask[op] */ - -.L_check_window_mmx: - movl in_r, in(%esp) /* save in so from can use it's reg */ - movl out_r, %eax - subl beg(%esp), %eax /* nbytes = out - beg */ - - cmpl dist_r, %eax - jb .L_clip_window_mmx /* if (dist > nbytes) 4.2% */ - - movl len_r, %ecx - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - - subl $3, %ecx - movb (from_r), %al - movb %al, (out_r) - movb 1(from_r), %al - movb 2(from_r), %dl - addl $3, from_r - movb %al, 1(out_r) - movb %dl, 2(out_r) - addl $3, out_r - rep movsb - - movl in(%esp), in_r /* move in back to %esi, toss from */ - movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */ - jmp .L_while_test_mmx - -.align 16,0x90 -.L_check_dist_one_mmx: - cmpl $1, dist_r - jne .L_check_window_mmx - cmpl out_r, beg(%esp) - je .L_check_window_mmx - - decl out_r - movl len_r, %ecx - movb (out_r), %al - subl $3, %ecx - - movb %al, 1(out_r) - movb %al, 2(out_r) - movb %al, 3(out_r) - addl $4, out_r - rep stosb - - movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */ - jmp .L_while_test_mmx - -.align 16,0x90 -.L_test_for_second_level_length_mmx: - testb $64, %al - jnz .L_test_for_end_of_block /* if ((op & 64) != 0) */ - - andl $15, %eax - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - movd hold_mm, %ecx - andl .L_mask(,%eax,4), %ecx - addl len_r, %ecx - movl (%ebx,%ecx,4), %eax /* eax = lcode[hold & lmask] */ - jmp .L_dolen_mmx - -.align 16,0x90 -.L_test_for_second_level_dist_mmx: - testb $64, %al - jnz .L_invalid_distance_code /* if ((op & 64) != 0) */ - - andl $15, %eax - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - movd hold_mm, %ecx - andl .L_mask(,%eax,4), %ecx - movl dcode(%esp), %eax /* ecx = dcode */ - addl dist_r, %ecx - movl (%eax,%ecx,4), %eax /* eax = lcode[hold & lmask] */ - jmp .L_dodist_mmx - -.align 16,0x90 -.L_clip_window_mmx: -#define nbytes_r %ecx - movl %eax, nbytes_r - movl wsize(%esp), %eax /* prepare for dist compare */ - negl nbytes_r /* nbytes = -nbytes */ - movl window(%esp), from_r /* from = window */ - - cmpl dist_r, %eax - jb .L_invalid_distance_too_far /* if (dist > wsize) */ - - addl dist_r, nbytes_r /* nbytes = dist - nbytes */ - cmpl $0, write(%esp) - jne .L_wrap_around_window_mmx /* if (write != 0) */ - - subl nbytes_r, %eax - addl %eax, from_r /* from += wsize - nbytes */ - - cmpl nbytes_r, len_r - jbe .L_do_copy1_mmx /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1_mmx - - cmpl nbytes_r, len_r - jbe .L_do_copy1_mmx /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1_mmx - -.L_wrap_around_window_mmx: -#define write_r %eax - movl write(%esp), write_r - cmpl write_r, nbytes_r - jbe .L_contiguous_in_window_mmx /* if (write >= nbytes) */ - - addl wsize(%esp), from_r - addl write_r, from_r - subl nbytes_r, from_r /* from += wsize + write - nbytes */ - subl write_r, nbytes_r /* nbytes -= write */ -#undef write_r - - cmpl nbytes_r, len_r - jbe .L_do_copy1_mmx /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl window(%esp), from_r /* from = window */ - movl write(%esp), nbytes_r /* nbytes = write */ - cmpl nbytes_r, len_r - jbe .L_do_copy1_mmx /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1_mmx - -.L_contiguous_in_window_mmx: -#define write_r %eax - addl write_r, from_r - subl nbytes_r, from_r /* from += write - nbytes */ -#undef write_r - - cmpl nbytes_r, len_r - jbe .L_do_copy1_mmx /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - -.L_do_copy1_mmx: -#undef nbytes_r -#define in_r %esi - movl len_r, %ecx - rep movsb - - movl in(%esp), in_r /* move in back to %esi, toss from */ - movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */ - jmp .L_while_test_mmx - -#undef hold_r -#undef bitslong_r - -#endif /* USE_MMX || RUN_TIME_MMX */ - - -/*** USE_MMX, NO_MMX, and RUNTIME_MMX from here on ***/ - -.L_invalid_distance_code: - /* else { - * strm->msg = "invalid distance code"; - * state->mode = BAD; - * } - */ - movl $.L_invalid_distance_code_msg, %ecx - movl $INFLATE_MODE_BAD, %edx - jmp .L_update_stream_state - -.L_test_for_end_of_block: - /* else if (op & 32) { - * state->mode = TYPE; - * break; - * } - */ - testb $32, %al - jz .L_invalid_literal_length_code /* if ((op & 32) == 0) */ - - movl $0, %ecx - movl $INFLATE_MODE_TYPE, %edx - jmp .L_update_stream_state - -.L_invalid_literal_length_code: - /* else { - * strm->msg = "invalid literal/length code"; - * state->mode = BAD; - * } - */ - movl $.L_invalid_literal_length_code_msg, %ecx - movl $INFLATE_MODE_BAD, %edx - jmp .L_update_stream_state - -.L_invalid_distance_too_far: - /* strm->msg = "invalid distance too far back"; - * state->mode = BAD; - */ - movl in(%esp), in_r /* from_r has in's reg, put in back */ - movl $.L_invalid_distance_too_far_msg, %ecx - movl $INFLATE_MODE_BAD, %edx - jmp .L_update_stream_state - -.L_update_stream_state: - /* set strm->msg = %ecx, strm->state->mode = %edx */ - movl strm_sp(%esp), %eax - testl %ecx, %ecx /* if (msg != NULL) */ - jz .L_skip_msg - movl %ecx, msg_strm(%eax) /* strm->msg = msg */ -.L_skip_msg: - movl state_strm(%eax), %eax /* state = strm->state */ - movl %edx, mode_state(%eax) /* state->mode = edx (BAD | TYPE) */ - jmp .L_break_loop - -.align 32,0x90 -.L_break_loop: - -/* - * Regs: - * - * bits = %ebp when mmx, and in %ebx when non-mmx - * hold = %hold_mm when mmx, and in %ebp when non-mmx - * in = %esi - * out = %edi - */ - -#if defined( USE_MMX ) || defined( RUN_TIME_MMX ) - -#if defined( RUN_TIME_MMX ) - - cmpl $DO_USE_MMX, inflate_fast_use_mmx - jne .L_update_next_in - -#endif /* RUN_TIME_MMX */ - - movl %ebp, %ebx - -.L_update_next_in: - -#endif - -#define strm_r %eax -#define state_r %edx - - /* len = bits >> 3; - * in -= len; - * bits -= len << 3; - * hold &= (1U << bits) - 1; - * state->hold = hold; - * state->bits = bits; - * strm->next_in = in; - * strm->next_out = out; - */ - movl strm_sp(%esp), strm_r - movl %ebx, %ecx - movl state_strm(strm_r), state_r - shrl $3, %ecx - subl %ecx, in_r - shll $3, %ecx - subl %ecx, %ebx - movl out_r, next_out_strm(strm_r) - movl %ebx, bits_state(state_r) - movl %ebx, %ecx - - leal buf(%esp), %ebx - cmpl %ebx, last(%esp) - jne .L_buf_not_used /* if buf != last */ - - subl %ebx, in_r /* in -= buf */ - movl next_in_strm(strm_r), %ebx - movl %ebx, last(%esp) /* last = strm->next_in */ - addl %ebx, in_r /* in += strm->next_in */ - movl avail_in_strm(strm_r), %ebx - subl $11, %ebx - addl %ebx, last(%esp) /* last = &strm->next_in[ avail_in - 11 ] */ - -.L_buf_not_used: - movl in_r, next_in_strm(strm_r) - - movl $1, %ebx - shll %cl, %ebx - decl %ebx - -#if defined( USE_MMX ) || defined( RUN_TIME_MMX ) - -#if defined( RUN_TIME_MMX ) - - cmpl $DO_USE_MMX, inflate_fast_use_mmx - jne .L_update_hold - -#endif /* RUN_TIME_MMX */ - - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - movd hold_mm, %ebp - - emms - -.L_update_hold: - -#endif /* USE_MMX || RUN_TIME_MMX */ - - andl %ebx, %ebp - movl %ebp, hold_state(state_r) - -#define last_r %ebx - - /* strm->avail_in = in < last ? 11 + (last - in) : 11 - (in - last) */ - movl last(%esp), last_r - cmpl in_r, last_r - jbe .L_last_is_smaller /* if (in >= last) */ - - subl in_r, last_r /* last -= in */ - addl $11, last_r /* last += 11 */ - movl last_r, avail_in_strm(strm_r) - jmp .L_fixup_out -.L_last_is_smaller: - subl last_r, in_r /* in -= last */ - negl in_r /* in = -in */ - addl $11, in_r /* in += 11 */ - movl in_r, avail_in_strm(strm_r) - -#undef last_r -#define end_r %ebx - -.L_fixup_out: - /* strm->avail_out = out < end ? 257 + (end - out) : 257 - (out - end)*/ - movl end(%esp), end_r - cmpl out_r, end_r - jbe .L_end_is_smaller /* if (out >= end) */ - - subl out_r, end_r /* end -= out */ - addl $257, end_r /* end += 257 */ - movl end_r, avail_out_strm(strm_r) - jmp .L_done -.L_end_is_smaller: - subl end_r, out_r /* out -= end */ - negl out_r /* out = -out */ - addl $257, out_r /* out += 257 */ - movl out_r, avail_out_strm(strm_r) - -#undef end_r -#undef strm_r -#undef state_r - -.L_done: - addl $local_var_size, %esp - popf - popl %ebx - popl %ebp - popl %esi - popl %edi - ret - -#if defined( GAS_ELF ) -/* elf info */ -.type inflate_fast,@function -.size inflate_fast,.-inflate_fast -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/iostream/test.cpp b/protocols/Telegram/tgl/zlib/contrib/iostream/test.cpp deleted file mode 100644 index 7d265b3b5c..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/iostream/test.cpp +++ /dev/null @@ -1,24 +0,0 @@ - -#include "zfstream.h" - -int main() { - - // Construct a stream object with this filebuffer. Anything sent - // to this stream will go to standard out. - gzofstream os( 1, ios::out ); - - // This text is getting compressed and sent to stdout. - // To prove this, run 'test | zcat'. - os << "Hello, Mommy" << endl; - - os << setcompressionlevel( Z_NO_COMPRESSION ); - os << "hello, hello, hi, ho!" << endl; - - setcompressionlevel( os, Z_DEFAULT_COMPRESSION ) - << "I'm compressing again" << endl; - - os.close(); - - return 0; - -} diff --git a/protocols/Telegram/tgl/zlib/contrib/iostream/zfstream.cpp b/protocols/Telegram/tgl/zlib/contrib/iostream/zfstream.cpp deleted file mode 100644 index d0cd85faaf..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/iostream/zfstream.cpp +++ /dev/null @@ -1,329 +0,0 @@ - -#include "zfstream.h" - -gzfilebuf::gzfilebuf() : - file(NULL), - mode(0), - own_file_descriptor(0) -{ } - -gzfilebuf::~gzfilebuf() { - - sync(); - if ( own_file_descriptor ) - close(); - -} - -gzfilebuf *gzfilebuf::open( const char *name, - int io_mode ) { - - if ( is_open() ) - return NULL; - - char char_mode[10]; - char *p = char_mode; - - if ( io_mode & ios::in ) { - mode = ios::in; - *p++ = 'r'; - } else if ( io_mode & ios::app ) { - mode = ios::app; - *p++ = 'a'; - } else { - mode = ios::out; - *p++ = 'w'; - } - - if ( io_mode & ios::binary ) { - mode |= ios::binary; - *p++ = 'b'; - } - - // Hard code the compression level - if ( io_mode & (ios::out|ios::app )) { - *p++ = '9'; - } - - // Put the end-of-string indicator - *p = '\0'; - - if ( (file = gzopen(name, char_mode)) == NULL ) - return NULL; - - own_file_descriptor = 1; - - return this; - -} - -gzfilebuf *gzfilebuf::attach( int file_descriptor, - int io_mode ) { - - if ( is_open() ) - return NULL; - - char char_mode[10]; - char *p = char_mode; - - if ( io_mode & ios::in ) { - mode = ios::in; - *p++ = 'r'; - } else if ( io_mode & ios::app ) { - mode = ios::app; - *p++ = 'a'; - } else { - mode = ios::out; - *p++ = 'w'; - } - - if ( io_mode & ios::binary ) { - mode |= ios::binary; - *p++ = 'b'; - } - - // Hard code the compression level - if ( io_mode & (ios::out|ios::app )) { - *p++ = '9'; - } - - // Put the end-of-string indicator - *p = '\0'; - - if ( (file = gzdopen(file_descriptor, char_mode)) == NULL ) - return NULL; - - own_file_descriptor = 0; - - return this; - -} - -gzfilebuf *gzfilebuf::close() { - - if ( is_open() ) { - - sync(); - gzclose( file ); - file = NULL; - - } - - return this; - -} - -int gzfilebuf::setcompressionlevel( int comp_level ) { - - return gzsetparams(file, comp_level, -2); - -} - -int gzfilebuf::setcompressionstrategy( int comp_strategy ) { - - return gzsetparams(file, -2, comp_strategy); - -} - - -streampos gzfilebuf::seekoff( streamoff off, ios::seek_dir dir, int which ) { - - return streampos(EOF); - -} - -int gzfilebuf::underflow() { - - // If the file hasn't been opened for reading, error. - if ( !is_open() || !(mode & ios::in) ) - return EOF; - - // if a buffer doesn't exists, allocate one. - if ( !base() ) { - - if ( (allocate()) == EOF ) - return EOF; - setp(0,0); - - } else { - - if ( in_avail() ) - return (unsigned char) *gptr(); - - if ( out_waiting() ) { - if ( flushbuf() == EOF ) - return EOF; - } - - } - - // Attempt to fill the buffer. - - int result = fillbuf(); - if ( result == EOF ) { - // disable get area - setg(0,0,0); - return EOF; - } - - return (unsigned char) *gptr(); - -} - -int gzfilebuf::overflow( int c ) { - - if ( !is_open() || !(mode & ios::out) ) - return EOF; - - if ( !base() ) { - if ( allocate() == EOF ) - return EOF; - setg(0,0,0); - } else { - if (in_avail()) { - return EOF; - } - if (out_waiting()) { - if (flushbuf() == EOF) - return EOF; - } - } - - int bl = blen(); - setp( base(), base() + bl); - - if ( c != EOF ) { - - *pptr() = c; - pbump(1); - - } - - return 0; - -} - -int gzfilebuf::sync() { - - if ( !is_open() ) - return EOF; - - if ( out_waiting() ) - return flushbuf(); - - return 0; - -} - -int gzfilebuf::flushbuf() { - - int n; - char *q; - - q = pbase(); - n = pptr() - q; - - if ( gzwrite( file, q, n) < n ) - return EOF; - - setp(0,0); - - return 0; - -} - -int gzfilebuf::fillbuf() { - - int required; - char *p; - - p = base(); - - required = blen(); - - int t = gzread( file, p, required ); - - if ( t <= 0) return EOF; - - setg( base(), base(), base()+t); - - return t; - -} - -gzfilestream_common::gzfilestream_common() : - ios( gzfilestream_common::rdbuf() ) -{ } - -gzfilestream_common::~gzfilestream_common() -{ } - -void gzfilestream_common::attach( int fd, int io_mode ) { - - if ( !buffer.attach( fd, io_mode) ) - clear( ios::failbit | ios::badbit ); - else - clear(); - -} - -void gzfilestream_common::open( const char *name, int io_mode ) { - - if ( !buffer.open( name, io_mode ) ) - clear( ios::failbit | ios::badbit ); - else - clear(); - -} - -void gzfilestream_common::close() { - - if ( !buffer.close() ) - clear( ios::failbit | ios::badbit ); - -} - -gzfilebuf *gzfilestream_common::rdbuf() -{ - return &buffer; -} - -gzifstream::gzifstream() : - ios( gzfilestream_common::rdbuf() ) -{ - clear( ios::badbit ); -} - -gzifstream::gzifstream( const char *name, int io_mode ) : - ios( gzfilestream_common::rdbuf() ) -{ - gzfilestream_common::open( name, io_mode ); -} - -gzifstream::gzifstream( int fd, int io_mode ) : - ios( gzfilestream_common::rdbuf() ) -{ - gzfilestream_common::attach( fd, io_mode ); -} - -gzifstream::~gzifstream() { } - -gzofstream::gzofstream() : - ios( gzfilestream_common::rdbuf() ) -{ - clear( ios::badbit ); -} - -gzofstream::gzofstream( const char *name, int io_mode ) : - ios( gzfilestream_common::rdbuf() ) -{ - gzfilestream_common::open( name, io_mode ); -} - -gzofstream::gzofstream( int fd, int io_mode ) : - ios( gzfilestream_common::rdbuf() ) -{ - gzfilestream_common::attach( fd, io_mode ); -} - -gzofstream::~gzofstream() { } diff --git a/protocols/Telegram/tgl/zlib/contrib/iostream/zfstream.h b/protocols/Telegram/tgl/zlib/contrib/iostream/zfstream.h deleted file mode 100644 index ed79098a3a..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/iostream/zfstream.h +++ /dev/null @@ -1,128 +0,0 @@ - -#ifndef zfstream_h -#define zfstream_h - -#include -#include "zlib.h" - -class gzfilebuf : public streambuf { - -public: - - gzfilebuf( ); - virtual ~gzfilebuf(); - - gzfilebuf *open( const char *name, int io_mode ); - gzfilebuf *attach( int file_descriptor, int io_mode ); - gzfilebuf *close(); - - int setcompressionlevel( int comp_level ); - int setcompressionstrategy( int comp_strategy ); - - inline int is_open() const { return (file !=NULL); } - - virtual streampos seekoff( streamoff, ios::seek_dir, int ); - - virtual int sync(); - -protected: - - virtual int underflow(); - virtual int overflow( int = EOF ); - -private: - - gzFile file; - short mode; - short own_file_descriptor; - - int flushbuf(); - int fillbuf(); - -}; - -class gzfilestream_common : virtual public ios { - - friend class gzifstream; - friend class gzofstream; - friend gzofstream &setcompressionlevel( gzofstream &, int ); - friend gzofstream &setcompressionstrategy( gzofstream &, int ); - -public: - virtual ~gzfilestream_common(); - - void attach( int fd, int io_mode ); - void open( const char *name, int io_mode ); - void close(); - -protected: - gzfilestream_common(); - -private: - gzfilebuf *rdbuf(); - - gzfilebuf buffer; - -}; - -class gzifstream : public gzfilestream_common, public istream { - -public: - - gzifstream(); - gzifstream( const char *name, int io_mode = ios::in ); - gzifstream( int fd, int io_mode = ios::in ); - - virtual ~gzifstream(); - -}; - -class gzofstream : public gzfilestream_common, public ostream { - -public: - - gzofstream(); - gzofstream( const char *name, int io_mode = ios::out ); - gzofstream( int fd, int io_mode = ios::out ); - - virtual ~gzofstream(); - -}; - -template class gzomanip { - friend gzofstream &operator<<(gzofstream &, const gzomanip &); -public: - gzomanip(gzofstream &(*f)(gzofstream &, T), T v) : func(f), val(v) { } -private: - gzofstream &(*func)(gzofstream &, T); - T val; -}; - -template gzofstream &operator<<(gzofstream &s, const gzomanip &m) -{ - return (*m.func)(s, m.val); -} - -inline gzofstream &setcompressionlevel( gzofstream &s, int l ) -{ - (s.rdbuf())->setcompressionlevel(l); - return s; -} - -inline gzofstream &setcompressionstrategy( gzofstream &s, int l ) -{ - (s.rdbuf())->setcompressionstrategy(l); - return s; -} - -inline gzomanip setcompressionlevel(int l) -{ - return gzomanip(&setcompressionlevel,l); -} - -inline gzomanip setcompressionstrategy(int l) -{ - return gzomanip(&setcompressionstrategy,l); -} - -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/iostream2/zstream.h b/protocols/Telegram/tgl/zlib/contrib/iostream2/zstream.h deleted file mode 100644 index 43d2332b79..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/iostream2/zstream.h +++ /dev/null @@ -1,307 +0,0 @@ -/* - * - * Copyright (c) 1997 - * Christian Michelsen Research AS - * Advanced Computing - * Fantoftvegen 38, 5036 BERGEN, Norway - * http://www.cmr.no - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Christian Michelsen Research AS makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef ZSTREAM__H -#define ZSTREAM__H - -/* - * zstream.h - C++ interface to the 'zlib' general purpose compression library - * $Id: zstream.h 1.1 1997-06-25 12:00:56+02 tyge Exp tyge $ - */ - -#include -#include -#include -#include "zlib.h" - -#if defined(_WIN32) -# include -# include -# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) -#else -# define SET_BINARY_MODE(file) -#endif - -class zstringlen { -public: - zstringlen(class izstream&); - zstringlen(class ozstream&, const char*); - size_t value() const { return val.word; } -private: - struct Val { unsigned char byte; size_t word; } val; -}; - -// ----------------------------- izstream ----------------------------- - -class izstream -{ - public: - izstream() : m_fp(0) {} - izstream(FILE* fp) : m_fp(0) { open(fp); } - izstream(const char* name) : m_fp(0) { open(name); } - ~izstream() { close(); } - - /* Opens a gzip (.gz) file for reading. - * open() can be used to read a file which is not in gzip format; - * in this case read() will directly read from the file without - * decompression. errno can be checked to distinguish two error - * cases (if errno is zero, the zlib error is Z_MEM_ERROR). - */ - void open(const char* name) { - if (m_fp) close(); - m_fp = ::gzopen(name, "rb"); - } - - void open(FILE* fp) { - SET_BINARY_MODE(fp); - if (m_fp) close(); - m_fp = ::gzdopen(fileno(fp), "rb"); - } - - /* Flushes all pending input if necessary, closes the compressed file - * and deallocates all the (de)compression state. The return value is - * the zlib error number (see function error() below). - */ - int close() { - int r = ::gzclose(m_fp); - m_fp = 0; return r; - } - - /* Binary read the given number of bytes from the compressed file. - */ - int read(void* buf, size_t len) { - return ::gzread(m_fp, buf, len); - } - - /* Returns the error message for the last error which occurred on the - * given compressed file. errnum is set to zlib error number. If an - * error occurred in the file system and not in the compression library, - * errnum is set to Z_ERRNO and the application may consult errno - * to get the exact error code. - */ - const char* error(int* errnum) { - return ::gzerror(m_fp, errnum); - } - - gzFile fp() { return m_fp; } - - private: - gzFile m_fp; -}; - -/* - * Binary read the given (array of) object(s) from the compressed file. - * If the input file was not in gzip format, read() copies the objects number - * of bytes into the buffer. - * returns the number of uncompressed bytes actually read - * (0 for end of file, -1 for error). - */ -template -inline int read(izstream& zs, T* x, Items items) { - return ::gzread(zs.fp(), x, items*sizeof(T)); -} - -/* - * Binary input with the '>' operator. - */ -template -inline izstream& operator>(izstream& zs, T& x) { - ::gzread(zs.fp(), &x, sizeof(T)); - return zs; -} - - -inline zstringlen::zstringlen(izstream& zs) { - zs > val.byte; - if (val.byte == 255) zs > val.word; - else val.word = val.byte; -} - -/* - * Read length of string + the string with the '>' operator. - */ -inline izstream& operator>(izstream& zs, char* x) { - zstringlen len(zs); - ::gzread(zs.fp(), x, len.value()); - x[len.value()] = '\0'; - return zs; -} - -inline char* read_string(izstream& zs) { - zstringlen len(zs); - char* x = new char[len.value()+1]; - ::gzread(zs.fp(), x, len.value()); - x[len.value()] = '\0'; - return x; -} - -// ----------------------------- ozstream ----------------------------- - -class ozstream -{ - public: - ozstream() : m_fp(0), m_os(0) { - } - ozstream(FILE* fp, int level = Z_DEFAULT_COMPRESSION) - : m_fp(0), m_os(0) { - open(fp, level); - } - ozstream(const char* name, int level = Z_DEFAULT_COMPRESSION) - : m_fp(0), m_os(0) { - open(name, level); - } - ~ozstream() { - close(); - } - - /* Opens a gzip (.gz) file for writing. - * The compression level parameter should be in 0..9 - * errno can be checked to distinguish two error cases - * (if errno is zero, the zlib error is Z_MEM_ERROR). - */ - void open(const char* name, int level = Z_DEFAULT_COMPRESSION) { - char mode[4] = "wb\0"; - if (level != Z_DEFAULT_COMPRESSION) mode[2] = '0'+level; - if (m_fp) close(); - m_fp = ::gzopen(name, mode); - } - - /* open from a FILE pointer. - */ - void open(FILE* fp, int level = Z_DEFAULT_COMPRESSION) { - SET_BINARY_MODE(fp); - char mode[4] = "wb\0"; - if (level != Z_DEFAULT_COMPRESSION) mode[2] = '0'+level; - if (m_fp) close(); - m_fp = ::gzdopen(fileno(fp), mode); - } - - /* Flushes all pending output if necessary, closes the compressed file - * and deallocates all the (de)compression state. The return value is - * the zlib error number (see function error() below). - */ - int close() { - if (m_os) { - ::gzwrite(m_fp, m_os->str(), m_os->pcount()); - delete[] m_os->str(); delete m_os; m_os = 0; - } - int r = ::gzclose(m_fp); m_fp = 0; return r; - } - - /* Binary write the given number of bytes into the compressed file. - */ - int write(const void* buf, size_t len) { - return ::gzwrite(m_fp, (voidp) buf, len); - } - - /* Flushes all pending output into the compressed file. The parameter - * _flush is as in the deflate() function. The return value is the zlib - * error number (see function gzerror below). flush() returns Z_OK if - * the flush_ parameter is Z_FINISH and all output could be flushed. - * flush() should be called only when strictly necessary because it can - * degrade compression. - */ - int flush(int _flush) { - os_flush(); - return ::gzflush(m_fp, _flush); - } - - /* Returns the error message for the last error which occurred on the - * given compressed file. errnum is set to zlib error number. If an - * error occurred in the file system and not in the compression library, - * errnum is set to Z_ERRNO and the application may consult errno - * to get the exact error code. - */ - const char* error(int* errnum) { - return ::gzerror(m_fp, errnum); - } - - gzFile fp() { return m_fp; } - - ostream& os() { - if (m_os == 0) m_os = new ostrstream; - return *m_os; - } - - void os_flush() { - if (m_os && m_os->pcount()>0) { - ostrstream* oss = new ostrstream; - oss->fill(m_os->fill()); - oss->flags(m_os->flags()); - oss->precision(m_os->precision()); - oss->width(m_os->width()); - ::gzwrite(m_fp, m_os->str(), m_os->pcount()); - delete[] m_os->str(); delete m_os; m_os = oss; - } - } - - private: - gzFile m_fp; - ostrstream* m_os; -}; - -/* - * Binary write the given (array of) object(s) into the compressed file. - * returns the number of uncompressed bytes actually written - * (0 in case of error). - */ -template -inline int write(ozstream& zs, const T* x, Items items) { - return ::gzwrite(zs.fp(), (voidp) x, items*sizeof(T)); -} - -/* - * Binary output with the '<' operator. - */ -template -inline ozstream& operator<(ozstream& zs, const T& x) { - ::gzwrite(zs.fp(), (voidp) &x, sizeof(T)); - return zs; -} - -inline zstringlen::zstringlen(ozstream& zs, const char* x) { - val.byte = 255; val.word = ::strlen(x); - if (val.word < 255) zs < (val.byte = val.word); - else zs < val; -} - -/* - * Write length of string + the string with the '<' operator. - */ -inline ozstream& operator<(ozstream& zs, const char* x) { - zstringlen len(zs, x); - ::gzwrite(zs.fp(), (voidp) x, len.value()); - return zs; -} - -#ifdef _MSC_VER -inline ozstream& operator<(ozstream& zs, char* const& x) { - return zs < (const char*) x; -} -#endif - -/* - * Ascii write with the << operator; - */ -template -inline ostream& operator<<(ozstream& zs, const T& x) { - zs.os_flush(); - return zs.os() << x; -} - -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/iostream2/zstream_test.cpp b/protocols/Telegram/tgl/zlib/contrib/iostream2/zstream_test.cpp deleted file mode 100644 index 6273f62d62..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/iostream2/zstream_test.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "zstream.h" -#include -#include -#include - -void main() { - char h[256] = "Hello"; - char* g = "Goodbye"; - ozstream out("temp.gz"); - out < "This works well" < h < g; - out.close(); - - izstream in("temp.gz"); // read it back - char *x = read_string(in), *y = new char[256], z[256]; - in > y > z; - in.close(); - cout << x << endl << y << endl << z << endl; - - out.open("temp.gz"); // try ascii output; zcat temp.gz to see the results - out << setw(50) << setfill('#') << setprecision(20) << x << endl << y << endl << z << endl; - out << z << endl << y << endl << x << endl; - out << 1.1234567890123456789 << endl; - - delete[] x; delete[] y; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/iostream3/README b/protocols/Telegram/tgl/zlib/contrib/iostream3/README deleted file mode 100644 index f7b319ab91..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/iostream3/README +++ /dev/null @@ -1,35 +0,0 @@ -These classes provide a C++ stream interface to the zlib library. It allows you -to do things like: - - gzofstream outf("blah.gz"); - outf << "These go into the gzip file " << 123 << endl; - -It does this by deriving a specialized stream buffer for gzipped files, which is -the way Stroustrup would have done it. :-> - -The gzifstream and gzofstream classes were originally written by Kevin Ruland -and made available in the zlib contrib/iostream directory. The older version still -compiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of -this version. - -The new classes are as standard-compliant as possible, closely following the -approach of the standard library's fstream classes. It compiles under gcc versions -3.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard -library naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs -from the previous one in the following respects: -- added showmanyc -- added setbuf, with support for unbuffered output via setbuf(0,0) -- a few bug fixes of stream behavior -- gzipped output file opened with default compression level instead of maximum level -- setcompressionlevel()/strategy() members replaced by single setcompression() - -The code is provided "as is", with the permission to use, copy, modify, distribute -and sell it for any purpose without fee. - -Ludwig Schwardt - - -DSP Lab -Electrical & Electronic Engineering Department -University of Stellenbosch -South Africa diff --git a/protocols/Telegram/tgl/zlib/contrib/iostream3/TODO b/protocols/Telegram/tgl/zlib/contrib/iostream3/TODO deleted file mode 100644 index 7032f97be0..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/iostream3/TODO +++ /dev/null @@ -1,17 +0,0 @@ -Possible upgrades to gzfilebuf: - -- The ability to do putback (e.g. putbackfail) - -- The ability to seek (zlib supports this, but could be slow/tricky) - -- Simultaneous read/write access (does it make sense?) - -- Support for ios_base::ate open mode - -- Locale support? - -- Check public interface to see which calls give problems - (due to dependence on library internals) - -- Override operator<<(ostream&, gzfilebuf*) to allow direct copying - of stream buffer to stream ( i.e. os << is.rdbuf(); ) diff --git a/protocols/Telegram/tgl/zlib/contrib/iostream3/test.cc b/protocols/Telegram/tgl/zlib/contrib/iostream3/test.cc deleted file mode 100644 index 94235334f2..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/iostream3/test.cc +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Test program for gzifstream and gzofstream - * - * by Ludwig Schwardt - * original version by Kevin Ruland - */ - -#include "zfstream.h" -#include // for cout - -int main() { - - gzofstream outf; - gzifstream inf; - char buf[80]; - - outf.open("test1.txt.gz"); - outf << "The quick brown fox sidestepped the lazy canine\n" - << 1.3 << "\nPlan " << 9 << std::endl; - outf.close(); - std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n" - << "The quick brown fox sidestepped the lazy canine\n" - << 1.3 << "\nPlan " << 9 << std::endl; - - std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n"; - inf.open("test1.txt.gz"); - while (inf.getline(buf,80,'\n')) { - std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; - } - inf.close(); - - outf.rdbuf()->pubsetbuf(0,0); - outf.open("test2.txt.gz"); - outf << setcompression(Z_NO_COMPRESSION) - << "The quick brown fox sidestepped the lazy canine\n" - << 1.3 << "\nPlan " << 9 << std::endl; - outf.close(); - std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form"; - - std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n"; - inf.rdbuf()->pubsetbuf(0,0); - inf.open("test2.txt.gz"); - while (inf.getline(buf,80,'\n')) { - std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; - } - inf.close(); - - return 0; - -} diff --git a/protocols/Telegram/tgl/zlib/contrib/iostream3/zfstream.cc b/protocols/Telegram/tgl/zlib/contrib/iostream3/zfstream.cc deleted file mode 100644 index 94eb933444..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/iostream3/zfstream.cc +++ /dev/null @@ -1,479 +0,0 @@ -/* - * A C++ I/O streams interface to the zlib gz* functions - * - * by Ludwig Schwardt - * original version by Kevin Ruland - * - * This version is standard-compliant and compatible with gcc 3.x. - */ - -#include "zfstream.h" -#include // for strcpy, strcat, strlen (mode strings) -#include // for BUFSIZ - -// Internal buffer sizes (default and "unbuffered" versions) -#define BIGBUFSIZE BUFSIZ -#define SMALLBUFSIZE 1 - -/*****************************************************************************/ - -// Default constructor -gzfilebuf::gzfilebuf() -: file(NULL), io_mode(std::ios_base::openmode(0)), own_fd(false), - buffer(NULL), buffer_size(BIGBUFSIZE), own_buffer(true) -{ - // No buffers to start with - this->disable_buffer(); -} - -// Destructor -gzfilebuf::~gzfilebuf() -{ - // Sync output buffer and close only if responsible for file - // (i.e. attached streams should be left open at this stage) - this->sync(); - if (own_fd) - this->close(); - // Make sure internal buffer is deallocated - this->disable_buffer(); -} - -// Set compression level and strategy -int -gzfilebuf::setcompression(int comp_level, - int comp_strategy) -{ - return gzsetparams(file, comp_level, comp_strategy); -} - -// Open gzipped file -gzfilebuf* -gzfilebuf::open(const char *name, - std::ios_base::openmode mode) -{ - // Fail if file already open - if (this->is_open()) - return NULL; - // Don't support simultaneous read/write access (yet) - if ((mode & std::ios_base::in) && (mode & std::ios_base::out)) - return NULL; - - // Build mode string for gzopen and check it [27.8.1.3.2] - char char_mode[6] = "\0\0\0\0\0"; - if (!this->open_mode(mode, char_mode)) - return NULL; - - // Attempt to open file - if ((file = gzopen(name, char_mode)) == NULL) - return NULL; - - // On success, allocate internal buffer and set flags - this->enable_buffer(); - io_mode = mode; - own_fd = true; - return this; -} - -// Attach to gzipped file -gzfilebuf* -gzfilebuf::attach(int fd, - std::ios_base::openmode mode) -{ - // Fail if file already open - if (this->is_open()) - return NULL; - // Don't support simultaneous read/write access (yet) - if ((mode & std::ios_base::in) && (mode & std::ios_base::out)) - return NULL; - - // Build mode string for gzdopen and check it [27.8.1.3.2] - char char_mode[6] = "\0\0\0\0\0"; - if (!this->open_mode(mode, char_mode)) - return NULL; - - // Attempt to attach to file - if ((file = gzdopen(fd, char_mode)) == NULL) - return NULL; - - // On success, allocate internal buffer and set flags - this->enable_buffer(); - io_mode = mode; - own_fd = false; - return this; -} - -// Close gzipped file -gzfilebuf* -gzfilebuf::close() -{ - // Fail immediately if no file is open - if (!this->is_open()) - return NULL; - // Assume success - gzfilebuf* retval = this; - // Attempt to sync and close gzipped file - if (this->sync() == -1) - retval = NULL; - if (gzclose(file) < 0) - retval = NULL; - // File is now gone anyway (postcondition [27.8.1.3.8]) - file = NULL; - own_fd = false; - // Destroy internal buffer if it exists - this->disable_buffer(); - return retval; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -// Convert int open mode to mode string -bool -gzfilebuf::open_mode(std::ios_base::openmode mode, - char* c_mode) const -{ - bool testb = mode & std::ios_base::binary; - bool testi = mode & std::ios_base::in; - bool testo = mode & std::ios_base::out; - bool testt = mode & std::ios_base::trunc; - bool testa = mode & std::ios_base::app; - - // Check for valid flag combinations - see [27.8.1.3.2] (Table 92) - // Original zfstream hardcoded the compression level to maximum here... - // Double the time for less than 1% size improvement seems - // excessive though - keeping it at the default level - // To change back, just append "9" to the next three mode strings - if (!testi && testo && !testt && !testa) - strcpy(c_mode, "w"); - if (!testi && testo && !testt && testa) - strcpy(c_mode, "a"); - if (!testi && testo && testt && !testa) - strcpy(c_mode, "w"); - if (testi && !testo && !testt && !testa) - strcpy(c_mode, "r"); - // No read/write mode yet -// if (testi && testo && !testt && !testa) -// strcpy(c_mode, "r+"); -// if (testi && testo && testt && !testa) -// strcpy(c_mode, "w+"); - - // Mode string should be empty for invalid combination of flags - if (strlen(c_mode) == 0) - return false; - if (testb) - strcat(c_mode, "b"); - return true; -} - -// Determine number of characters in internal get buffer -std::streamsize -gzfilebuf::showmanyc() -{ - // Calls to underflow will fail if file not opened for reading - if (!this->is_open() || !(io_mode & std::ios_base::in)) - return -1; - // Make sure get area is in use - if (this->gptr() && (this->gptr() < this->egptr())) - return std::streamsize(this->egptr() - this->gptr()); - else - return 0; -} - -// Fill get area from gzipped file -gzfilebuf::int_type -gzfilebuf::underflow() -{ - // If something is left in the get area by chance, return it - // (this shouldn't normally happen, as underflow is only supposed - // to be called when gptr >= egptr, but it serves as error check) - if (this->gptr() && (this->gptr() < this->egptr())) - return traits_type::to_int_type(*(this->gptr())); - - // If the file hasn't been opened for reading, produce error - if (!this->is_open() || !(io_mode & std::ios_base::in)) - return traits_type::eof(); - - // Attempt to fill internal buffer from gzipped file - // (buffer must be guaranteed to exist...) - int bytes_read = gzread(file, buffer, buffer_size); - // Indicates error or EOF - if (bytes_read <= 0) - { - // Reset get area - this->setg(buffer, buffer, buffer); - return traits_type::eof(); - } - // Make all bytes read from file available as get area - this->setg(buffer, buffer, buffer + bytes_read); - - // Return next character in get area - return traits_type::to_int_type(*(this->gptr())); -} - -// Write put area to gzipped file -gzfilebuf::int_type -gzfilebuf::overflow(int_type c) -{ - // Determine whether put area is in use - if (this->pbase()) - { - // Double-check pointer range - if (this->pptr() > this->epptr() || this->pptr() < this->pbase()) - return traits_type::eof(); - // Add extra character to buffer if not EOF - if (!traits_type::eq_int_type(c, traits_type::eof())) - { - *(this->pptr()) = traits_type::to_char_type(c); - this->pbump(1); - } - // Number of characters to write to file - int bytes_to_write = this->pptr() - this->pbase(); - // Overflow doesn't fail if nothing is to be written - if (bytes_to_write > 0) - { - // If the file hasn't been opened for writing, produce error - if (!this->is_open() || !(io_mode & std::ios_base::out)) - return traits_type::eof(); - // If gzipped file won't accept all bytes written to it, fail - if (gzwrite(file, this->pbase(), bytes_to_write) != bytes_to_write) - return traits_type::eof(); - // Reset next pointer to point to pbase on success - this->pbump(-bytes_to_write); - } - } - // Write extra character to file if not EOF - else if (!traits_type::eq_int_type(c, traits_type::eof())) - { - // If the file hasn't been opened for writing, produce error - if (!this->is_open() || !(io_mode & std::ios_base::out)) - return traits_type::eof(); - // Impromptu char buffer (allows "unbuffered" output) - char_type last_char = traits_type::to_char_type(c); - // If gzipped file won't accept this character, fail - if (gzwrite(file, &last_char, 1) != 1) - return traits_type::eof(); - } - - // If you got here, you have succeeded (even if c was EOF) - // The return value should therefore be non-EOF - if (traits_type::eq_int_type(c, traits_type::eof())) - return traits_type::not_eof(c); - else - return c; -} - -// Assign new buffer -std::streambuf* -gzfilebuf::setbuf(char_type* p, - std::streamsize n) -{ - // First make sure stuff is sync'ed, for safety - if (this->sync() == -1) - return NULL; - // If buffering is turned off on purpose via setbuf(0,0), still allocate one... - // "Unbuffered" only really refers to put [27.8.1.4.10], while get needs at - // least a buffer of size 1 (very inefficient though, therefore make it bigger?) - // This follows from [27.5.2.4.3]/12 (gptr needs to point at something, it seems) - if (!p || !n) - { - // Replace existing buffer (if any) with small internal buffer - this->disable_buffer(); - buffer = NULL; - buffer_size = 0; - own_buffer = true; - this->enable_buffer(); - } - else - { - // Replace existing buffer (if any) with external buffer - this->disable_buffer(); - buffer = p; - buffer_size = n; - own_buffer = false; - this->enable_buffer(); - } - return this; -} - -// Write put area to gzipped file (i.e. ensures that put area is empty) -int -gzfilebuf::sync() -{ - return traits_type::eq_int_type(this->overflow(), traits_type::eof()) ? -1 : 0; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -// Allocate internal buffer -void -gzfilebuf::enable_buffer() -{ - // If internal buffer required, allocate one - if (own_buffer && !buffer) - { - // Check for buffered vs. "unbuffered" - if (buffer_size > 0) - { - // Allocate internal buffer - buffer = new char_type[buffer_size]; - // Get area starts empty and will be expanded by underflow as need arises - this->setg(buffer, buffer, buffer); - // Setup entire internal buffer as put area. - // The one-past-end pointer actually points to the last element of the buffer, - // so that overflow(c) can safely add the extra character c to the sequence. - // These pointers remain in place for the duration of the buffer - this->setp(buffer, buffer + buffer_size - 1); - } - else - { - // Even in "unbuffered" case, (small?) get buffer is still required - buffer_size = SMALLBUFSIZE; - buffer = new char_type[buffer_size]; - this->setg(buffer, buffer, buffer); - // "Unbuffered" means no put buffer - this->setp(0, 0); - } - } - else - { - // If buffer already allocated, reset buffer pointers just to make sure no - // stale chars are lying around - this->setg(buffer, buffer, buffer); - this->setp(buffer, buffer + buffer_size - 1); - } -} - -// Destroy internal buffer -void -gzfilebuf::disable_buffer() -{ - // If internal buffer exists, deallocate it - if (own_buffer && buffer) - { - // Preserve unbuffered status by zeroing size - if (!this->pbase()) - buffer_size = 0; - delete[] buffer; - buffer = NULL; - this->setg(0, 0, 0); - this->setp(0, 0); - } - else - { - // Reset buffer pointers to initial state if external buffer exists - this->setg(buffer, buffer, buffer); - if (buffer) - this->setp(buffer, buffer + buffer_size - 1); - else - this->setp(0, 0); - } -} - -/*****************************************************************************/ - -// Default constructor initializes stream buffer -gzifstream::gzifstream() -: std::istream(NULL), sb() -{ this->init(&sb); } - -// Initialize stream buffer and open file -gzifstream::gzifstream(const char* name, - std::ios_base::openmode mode) -: std::istream(NULL), sb() -{ - this->init(&sb); - this->open(name, mode); -} - -// Initialize stream buffer and attach to file -gzifstream::gzifstream(int fd, - std::ios_base::openmode mode) -: std::istream(NULL), sb() -{ - this->init(&sb); - this->attach(fd, mode); -} - -// Open file and go into fail() state if unsuccessful -void -gzifstream::open(const char* name, - std::ios_base::openmode mode) -{ - if (!sb.open(name, mode | std::ios_base::in)) - this->setstate(std::ios_base::failbit); - else - this->clear(); -} - -// Attach to file and go into fail() state if unsuccessful -void -gzifstream::attach(int fd, - std::ios_base::openmode mode) -{ - if (!sb.attach(fd, mode | std::ios_base::in)) - this->setstate(std::ios_base::failbit); - else - this->clear(); -} - -// Close file -void -gzifstream::close() -{ - if (!sb.close()) - this->setstate(std::ios_base::failbit); -} - -/*****************************************************************************/ - -// Default constructor initializes stream buffer -gzofstream::gzofstream() -: std::ostream(NULL), sb() -{ this->init(&sb); } - -// Initialize stream buffer and open file -gzofstream::gzofstream(const char* name, - std::ios_base::openmode mode) -: std::ostream(NULL), sb() -{ - this->init(&sb); - this->open(name, mode); -} - -// Initialize stream buffer and attach to file -gzofstream::gzofstream(int fd, - std::ios_base::openmode mode) -: std::ostream(NULL), sb() -{ - this->init(&sb); - this->attach(fd, mode); -} - -// Open file and go into fail() state if unsuccessful -void -gzofstream::open(const char* name, - std::ios_base::openmode mode) -{ - if (!sb.open(name, mode | std::ios_base::out)) - this->setstate(std::ios_base::failbit); - else - this->clear(); -} - -// Attach to file and go into fail() state if unsuccessful -void -gzofstream::attach(int fd, - std::ios_base::openmode mode) -{ - if (!sb.attach(fd, mode | std::ios_base::out)) - this->setstate(std::ios_base::failbit); - else - this->clear(); -} - -// Close file -void -gzofstream::close() -{ - if (!sb.close()) - this->setstate(std::ios_base::failbit); -} diff --git a/protocols/Telegram/tgl/zlib/contrib/iostream3/zfstream.h b/protocols/Telegram/tgl/zlib/contrib/iostream3/zfstream.h deleted file mode 100644 index 8574479ae1..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/iostream3/zfstream.h +++ /dev/null @@ -1,466 +0,0 @@ -/* - * A C++ I/O streams interface to the zlib gz* functions - * - * by Ludwig Schwardt - * original version by Kevin Ruland - * - * This version is standard-compliant and compatible with gcc 3.x. - */ - -#ifndef ZFSTREAM_H -#define ZFSTREAM_H - -#include // not iostream, since we don't need cin/cout -#include -#include "zlib.h" - -/*****************************************************************************/ - -/** - * @brief Gzipped file stream buffer class. - * - * This class implements basic_filebuf for gzipped files. It doesn't yet support - * seeking (allowed by zlib but slow/limited), putback and read/write access - * (tricky). Otherwise, it attempts to be a drop-in replacement for the standard - * file streambuf. -*/ -class gzfilebuf : public std::streambuf -{ -public: - // Default constructor. - gzfilebuf(); - - // Destructor. - virtual - ~gzfilebuf(); - - /** - * @brief Set compression level and strategy on the fly. - * @param comp_level Compression level (see zlib.h for allowed values) - * @param comp_strategy Compression strategy (see zlib.h for allowed values) - * @return Z_OK on success, Z_STREAM_ERROR otherwise. - * - * Unfortunately, these parameters cannot be modified separately, as the - * previous zfstream version assumed. Since the strategy is seldom changed, - * it can default and setcompression(level) then becomes like the old - * setcompressionlevel(level). - */ - int - setcompression(int comp_level, - int comp_strategy = Z_DEFAULT_STRATEGY); - - /** - * @brief Check if file is open. - * @return True if file is open. - */ - bool - is_open() const { return (file != NULL); } - - /** - * @brief Open gzipped file. - * @param name File name. - * @param mode Open mode flags. - * @return @c this on success, NULL on failure. - */ - gzfilebuf* - open(const char* name, - std::ios_base::openmode mode); - - /** - * @brief Attach to already open gzipped file. - * @param fd File descriptor. - * @param mode Open mode flags. - * @return @c this on success, NULL on failure. - */ - gzfilebuf* - attach(int fd, - std::ios_base::openmode mode); - - /** - * @brief Close gzipped file. - * @return @c this on success, NULL on failure. - */ - gzfilebuf* - close(); - -protected: - /** - * @brief Convert ios open mode int to mode string used by zlib. - * @return True if valid mode flag combination. - */ - bool - open_mode(std::ios_base::openmode mode, - char* c_mode) const; - - /** - * @brief Number of characters available in stream buffer. - * @return Number of characters. - * - * This indicates number of characters in get area of stream buffer. - * These characters can be read without accessing the gzipped file. - */ - virtual std::streamsize - showmanyc(); - - /** - * @brief Fill get area from gzipped file. - * @return First character in get area on success, EOF on error. - * - * This actually reads characters from gzipped file to stream - * buffer. Always buffered. - */ - virtual int_type - underflow(); - - /** - * @brief Write put area to gzipped file. - * @param c Extra character to add to buffer contents. - * @return Non-EOF on success, EOF on error. - * - * This actually writes characters in stream buffer to - * gzipped file. With unbuffered output this is done one - * character at a time. - */ - virtual int_type - overflow(int_type c = traits_type::eof()); - - /** - * @brief Installs external stream buffer. - * @param p Pointer to char buffer. - * @param n Size of external buffer. - * @return @c this on success, NULL on failure. - * - * Call setbuf(0,0) to enable unbuffered output. - */ - virtual std::streambuf* - setbuf(char_type* p, - std::streamsize n); - - /** - * @brief Flush stream buffer to file. - * @return 0 on success, -1 on error. - * - * This calls underflow(EOF) to do the job. - */ - virtual int - sync(); - -// -// Some future enhancements -// -// virtual int_type uflow(); -// virtual int_type pbackfail(int_type c = traits_type::eof()); -// virtual pos_type -// seekoff(off_type off, -// std::ios_base::seekdir way, -// std::ios_base::openmode mode = std::ios_base::in|std::ios_base::out); -// virtual pos_type -// seekpos(pos_type sp, -// std::ios_base::openmode mode = std::ios_base::in|std::ios_base::out); - -private: - /** - * @brief Allocate internal buffer. - * - * This function is safe to call multiple times. It will ensure - * that a proper internal buffer exists if it is required. If the - * buffer already exists or is external, the buffer pointers will be - * reset to their original state. - */ - void - enable_buffer(); - - /** - * @brief Destroy internal buffer. - * - * This function is safe to call multiple times. It will ensure - * that the internal buffer is deallocated if it exists. In any - * case, it will also reset the buffer pointers. - */ - void - disable_buffer(); - - /** - * Underlying file pointer. - */ - gzFile file; - - /** - * Mode in which file was opened. - */ - std::ios_base::openmode io_mode; - - /** - * @brief True if this object owns file descriptor. - * - * This makes the class responsible for closing the file - * upon destruction. - */ - bool own_fd; - - /** - * @brief Stream buffer. - * - * For simplicity this remains allocated on the free store for the - * entire life span of the gzfilebuf object, unless replaced by setbuf. - */ - char_type* buffer; - - /** - * @brief Stream buffer size. - * - * Defaults to system default buffer size (typically 8192 bytes). - * Modified by setbuf. - */ - std::streamsize buffer_size; - - /** - * @brief True if this object owns stream buffer. - * - * This makes the class responsible for deleting the buffer - * upon destruction. - */ - bool own_buffer; -}; - -/*****************************************************************************/ - -/** - * @brief Gzipped file input stream class. - * - * This class implements ifstream for gzipped files. Seeking and putback - * is not supported yet. -*/ -class gzifstream : public std::istream -{ -public: - // Default constructor - gzifstream(); - - /** - * @brief Construct stream on gzipped file to be opened. - * @param name File name. - * @param mode Open mode flags (forced to contain ios::in). - */ - explicit - gzifstream(const char* name, - std::ios_base::openmode mode = std::ios_base::in); - - /** - * @brief Construct stream on already open gzipped file. - * @param fd File descriptor. - * @param mode Open mode flags (forced to contain ios::in). - */ - explicit - gzifstream(int fd, - std::ios_base::openmode mode = std::ios_base::in); - - /** - * Obtain underlying stream buffer. - */ - gzfilebuf* - rdbuf() const - { return const_cast(&sb); } - - /** - * @brief Check if file is open. - * @return True if file is open. - */ - bool - is_open() { return sb.is_open(); } - - /** - * @brief Open gzipped file. - * @param name File name. - * @param mode Open mode flags (forced to contain ios::in). - * - * Stream will be in state good() if file opens successfully; - * otherwise in state fail(). This differs from the behavior of - * ifstream, which never sets the state to good() and therefore - * won't allow you to reuse the stream for a second file unless - * you manually clear() the state. The choice is a matter of - * convenience. - */ - void - open(const char* name, - std::ios_base::openmode mode = std::ios_base::in); - - /** - * @brief Attach to already open gzipped file. - * @param fd File descriptor. - * @param mode Open mode flags (forced to contain ios::in). - * - * Stream will be in state good() if attach succeeded; otherwise - * in state fail(). - */ - void - attach(int fd, - std::ios_base::openmode mode = std::ios_base::in); - - /** - * @brief Close gzipped file. - * - * Stream will be in state fail() if close failed. - */ - void - close(); - -private: - /** - * Underlying stream buffer. - */ - gzfilebuf sb; -}; - -/*****************************************************************************/ - -/** - * @brief Gzipped file output stream class. - * - * This class implements ofstream for gzipped files. Seeking and putback - * is not supported yet. -*/ -class gzofstream : public std::ostream -{ -public: - // Default constructor - gzofstream(); - - /** - * @brief Construct stream on gzipped file to be opened. - * @param name File name. - * @param mode Open mode flags (forced to contain ios::out). - */ - explicit - gzofstream(const char* name, - std::ios_base::openmode mode = std::ios_base::out); - - /** - * @brief Construct stream on already open gzipped file. - * @param fd File descriptor. - * @param mode Open mode flags (forced to contain ios::out). - */ - explicit - gzofstream(int fd, - std::ios_base::openmode mode = std::ios_base::out); - - /** - * Obtain underlying stream buffer. - */ - gzfilebuf* - rdbuf() const - { return const_cast(&sb); } - - /** - * @brief Check if file is open. - * @return True if file is open. - */ - bool - is_open() { return sb.is_open(); } - - /** - * @brief Open gzipped file. - * @param name File name. - * @param mode Open mode flags (forced to contain ios::out). - * - * Stream will be in state good() if file opens successfully; - * otherwise in state fail(). This differs from the behavior of - * ofstream, which never sets the state to good() and therefore - * won't allow you to reuse the stream for a second file unless - * you manually clear() the state. The choice is a matter of - * convenience. - */ - void - open(const char* name, - std::ios_base::openmode mode = std::ios_base::out); - - /** - * @brief Attach to already open gzipped file. - * @param fd File descriptor. - * @param mode Open mode flags (forced to contain ios::out). - * - * Stream will be in state good() if attach succeeded; otherwise - * in state fail(). - */ - void - attach(int fd, - std::ios_base::openmode mode = std::ios_base::out); - - /** - * @brief Close gzipped file. - * - * Stream will be in state fail() if close failed. - */ - void - close(); - -private: - /** - * Underlying stream buffer. - */ - gzfilebuf sb; -}; - -/*****************************************************************************/ - -/** - * @brief Gzipped file output stream manipulator class. - * - * This class defines a two-argument manipulator for gzofstream. It is used - * as base for the setcompression(int,int) manipulator. -*/ -template - class gzomanip2 - { - public: - // Allows insertor to peek at internals - template - friend gzofstream& - operator<<(gzofstream&, - const gzomanip2&); - - // Constructor - gzomanip2(gzofstream& (*f)(gzofstream&, T1, T2), - T1 v1, - T2 v2); - private: - // Underlying manipulator function - gzofstream& - (*func)(gzofstream&, T1, T2); - - // Arguments for manipulator function - T1 val1; - T2 val2; - }; - -/*****************************************************************************/ - -// Manipulator function thunks through to stream buffer -inline gzofstream& -setcompression(gzofstream &gzs, int l, int s = Z_DEFAULT_STRATEGY) -{ - (gzs.rdbuf())->setcompression(l, s); - return gzs; -} - -// Manipulator constructor stores arguments -template - inline - gzomanip2::gzomanip2(gzofstream &(*f)(gzofstream &, T1, T2), - T1 v1, - T2 v2) - : func(f), val1(v1), val2(v2) - { } - -// Insertor applies underlying manipulator function to stream -template - inline gzofstream& - operator<<(gzofstream& s, const gzomanip2& m) - { return (*m.func)(s, m.val1, m.val2); } - -// Insert this onto stream to simplify setting of compression level -inline gzomanip2 -setcompression(int l, int s = Z_DEFAULT_STRATEGY) -{ return gzomanip2(&setcompression, l, s); } - -#endif // ZFSTREAM_H diff --git a/protocols/Telegram/tgl/zlib/contrib/masmx64/bld_ml64.bat b/protocols/Telegram/tgl/zlib/contrib/masmx64/bld_ml64.bat deleted file mode 100644 index 8f9343d0af..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/masmx64/bld_ml64.bat +++ /dev/null @@ -1,2 +0,0 @@ -ml64.exe /Flinffasx64 /c /Zi inffasx64.asm -ml64.exe /Flgvmat64 /c /Zi gvmat64.asm diff --git a/protocols/Telegram/tgl/zlib/contrib/masmx64/gvmat64.asm b/protocols/Telegram/tgl/zlib/contrib/masmx64/gvmat64.asm deleted file mode 100644 index 9879c28b90..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/masmx64/gvmat64.asm +++ /dev/null @@ -1,553 +0,0 @@ -;uInt longest_match_x64( -; deflate_state *s, -; IPos cur_match); /* current match */ - -; gvmat64.asm -- Asm portion of the optimized longest_match for 32 bits x86_64 -; (AMD64 on Athlon 64, Opteron, Phenom -; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7) -; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant. -; -; File written by Gilles Vollant, by converting to assembly the longest_match -; from Jean-loup Gailly in deflate.c of zLib and infoZip zip. -; -; and by taking inspiration on asm686 with masm, optimised assembly code -; from Brian Raiter, written 1998 -; -; This software is provided 'as-is', without any express or implied -; warranty. In no event will the authors be held liable for any damages -; arising from the use of this software. -; -; Permission is granted to anyone to use this software for any purpose, -; including commercial applications, and to alter it and redistribute it -; freely, subject to the following restrictions: -; -; 1. The origin of this software must not be misrepresented; you must not -; claim that you wrote the original software. If you use this software -; in a product, an acknowledgment in the product documentation would be -; appreciated but is not required. -; 2. Altered source versions must be plainly marked as such, and must not be -; misrepresented as being the original software -; 3. This notice may not be removed or altered from any source distribution. -; -; -; -; http://www.zlib.net -; http://www.winimage.com/zLibDll -; http://www.muppetlabs.com/~breadbox/software/assembly.html -; -; to compile this file for infozip Zip, I use option: -; ml64.exe /Flgvmat64 /c /Zi /DINFOZIP gvmat64.asm -; -; to compile this file for zLib, I use option: -; ml64.exe /Flgvmat64 /c /Zi gvmat64.asm -; Be carrefull to adapt zlib1222add below to your version of zLib -; (if you use a version of zLib before 1.0.4 or after 1.2.2.2, change -; value of zlib1222add later) -; -; This file compile with Microsoft Macro Assembler (x64) for AMD64 -; -; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK -; -; (you can get Windows WDK with ml64 for AMD64 from -; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price) -; - - -;uInt longest_match(s, cur_match) -; deflate_state *s; -; IPos cur_match; /* current match */ -.code -longest_match PROC - - -;LocalVarsSize equ 88 - LocalVarsSize equ 72 - -; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12 -; free register : r14,r15 -; register can be saved : rsp - - chainlenwmask equ rsp + 8 - LocalVarsSize ; high word: current chain len - ; low word: s->wmask -;window equ rsp + xx - LocalVarsSize ; local copy of s->window ; stored in r10 -;windowbestlen equ rsp + xx - LocalVarsSize ; s->window + bestlen , use r10+r11 -;scanstart equ rsp + xx - LocalVarsSize ; first two bytes of string ; stored in r12w -;scanend equ rsp + xx - LocalVarsSize ; last two bytes of string use ebx -;scanalign equ rsp + xx - LocalVarsSize ; dword-misalignment of string r13 -;bestlen equ rsp + xx - LocalVarsSize ; size of best match so far -> r11d -;scan equ rsp + xx - LocalVarsSize ; ptr to string wanting match -> r9 -IFDEF INFOZIP -ELSE - nicematch equ (rsp + 16 - LocalVarsSize) ; a good enough match size -ENDIF - -save_rdi equ rsp + 24 - LocalVarsSize -save_rsi equ rsp + 32 - LocalVarsSize -save_rbx equ rsp + 40 - LocalVarsSize -save_rbp equ rsp + 48 - LocalVarsSize -save_r12 equ rsp + 56 - LocalVarsSize -save_r13 equ rsp + 64 - LocalVarsSize -;save_r14 equ rsp + 72 - LocalVarsSize -;save_r15 equ rsp + 80 - LocalVarsSize - - -; summary of register usage -; scanend ebx -; scanendw bx -; chainlenwmask edx -; curmatch rsi -; curmatchd esi -; windowbestlen r8 -; scanalign r9 -; scanalignd r9d -; window r10 -; bestlen r11 -; bestlend r11d -; scanstart r12d -; scanstartw r12w -; scan r13 -; nicematch r14d -; limit r15 -; limitd r15d -; prev rcx - -; all the +4 offsets are due to the addition of pending_buf_size (in zlib -; in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, remove the +4). -; Note : these value are good with a 8 bytes boundary pack structure - - - MAX_MATCH equ 258 - MIN_MATCH equ 3 - MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1) - - -;;; Offsets for fields in the deflate_state structure. These numbers -;;; are calculated from the definition of deflate_state, with the -;;; assumption that the compiler will dword-align the fields. (Thus, -;;; changing the definition of deflate_state could easily cause this -;;; program to crash horribly, without so much as a warning at -;;; compile time. Sigh.) - -; all the +zlib1222add offsets are due to the addition of fields -; in zlib in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). -; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). -; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). - - -IFDEF INFOZIP - -_DATA SEGMENT -COMM window_size:DWORD -; WMask ; 7fff -COMM window:BYTE:010040H -COMM prev:WORD:08000H -; MatchLen : unused -; PrevMatch : unused -COMM strstart:DWORD -COMM match_start:DWORD -; Lookahead : ignore -COMM prev_length:DWORD ; PrevLen -COMM max_chain_length:DWORD -COMM good_match:DWORD -COMM nice_match:DWORD -prev_ad equ OFFSET prev -window_ad equ OFFSET window -nicematch equ nice_match -_DATA ENDS -WMask equ 07fffh - -ELSE - - IFNDEF zlib1222add - zlib1222add equ 8 - ENDIF -dsWSize equ 56+zlib1222add+(zlib1222add/2) -dsWMask equ 64+zlib1222add+(zlib1222add/2) -dsWindow equ 72+zlib1222add -dsPrev equ 88+zlib1222add -dsMatchLen equ 128+zlib1222add -dsPrevMatch equ 132+zlib1222add -dsStrStart equ 140+zlib1222add -dsMatchStart equ 144+zlib1222add -dsLookahead equ 148+zlib1222add -dsPrevLen equ 152+zlib1222add -dsMaxChainLen equ 156+zlib1222add -dsGoodMatch equ 172+zlib1222add -dsNiceMatch equ 176+zlib1222add - -window_size equ [ rcx + dsWSize] -WMask equ [ rcx + dsWMask] -window_ad equ [ rcx + dsWindow] -prev_ad equ [ rcx + dsPrev] -strstart equ [ rcx + dsStrStart] -match_start equ [ rcx + dsMatchStart] -Lookahead equ [ rcx + dsLookahead] ; 0ffffffffh on infozip -prev_length equ [ rcx + dsPrevLen] -max_chain_length equ [ rcx + dsMaxChainLen] -good_match equ [ rcx + dsGoodMatch] -nice_match equ [ rcx + dsNiceMatch] -ENDIF - -; parameter 1 in r8(deflate state s), param 2 in rdx (cur match) - -; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and -; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp -; -; All registers must be preserved across the call, except for -; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch. - - - -;;; Save registers that the compiler may be using, and adjust esp to -;;; make room for our stack frame. - - -;;; Retrieve the function arguments. r8d will hold cur_match -;;; throughout the entire function. edx will hold the pointer to the -;;; deflate_state structure during the function's setup (before -;;; entering the main loop. - -; parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match) - -; this clear high 32 bits of r8, which can be garbage in both r8 and rdx - - mov [save_rdi],rdi - mov [save_rsi],rsi - mov [save_rbx],rbx - mov [save_rbp],rbp -IFDEF INFOZIP - mov r8d,ecx -ELSE - mov r8d,edx -ENDIF - mov [save_r12],r12 - mov [save_r13],r13 -; mov [save_r14],r14 -; mov [save_r15],r15 - - -;;; uInt wmask = s->w_mask; -;;; unsigned chain_length = s->max_chain_length; -;;; if (s->prev_length >= s->good_match) { -;;; chain_length >>= 2; -;;; } - - mov edi, prev_length - mov esi, good_match - mov eax, WMask - mov ebx, max_chain_length - cmp edi, esi - jl LastMatchGood - shr ebx, 2 -LastMatchGood: - -;;; chainlen is decremented once beforehand so that the function can -;;; use the sign flag instead of the zero flag for the exit test. -;;; It is then shifted into the high word, to make room for the wmask -;;; value, which it will always accompany. - - dec ebx - shl ebx, 16 - or ebx, eax - -;;; on zlib only -;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - -IFDEF INFOZIP - mov [chainlenwmask], ebx -; on infozip nice_match = [nice_match] -ELSE - mov eax, nice_match - mov [chainlenwmask], ebx - mov r10d, Lookahead - cmp r10d, eax - cmovnl r10d, eax - mov [nicematch],r10d -ENDIF - -;;; register Bytef *scan = s->window + s->strstart; - mov r10, window_ad - mov ebp, strstart - lea r13, [r10 + rbp] - -;;; Determine how many bytes the scan ptr is off from being -;;; dword-aligned. - - mov r9,r13 - neg r13 - and r13,3 - -;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? -;;; s->strstart - (IPos)MAX_DIST(s) : NIL; -IFDEF INFOZIP - mov eax,07efah ; MAX_DIST = (WSIZE-MIN_LOOKAHEAD) (0x8000-(3+8+1)) -ELSE - mov eax, window_size - sub eax, MIN_LOOKAHEAD -ENDIF - xor edi,edi - sub ebp, eax - - mov r11d, prev_length - - cmovng ebp,edi - -;;; int best_len = s->prev_length; - - -;;; Store the sum of s->window + best_len in esi locally, and in esi. - - lea rsi,[r10+r11] - -;;; register ush scan_start = *(ushf*)scan; -;;; register ush scan_end = *(ushf*)(scan+best_len-1); -;;; Posf *prev = s->prev; - - movzx r12d,word ptr [r9] - movzx ebx, word ptr [r9 + r11 - 1] - - mov rdi, prev_ad - -;;; Jump into the main loop. - - mov edx, [chainlenwmask] - - cmp bx,word ptr [rsi + r8 - 1] - jz LookupLoopIsZero - -LookupLoop1: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - sub edx, 00010000h - js LeaveNow - -LoopEntry1: - cmp bx,word ptr [rsi + r8 - 1] - jz LookupLoopIsZero - -LookupLoop2: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - sub edx, 00010000h - js LeaveNow - -LoopEntry2: - cmp bx,word ptr [rsi + r8 - 1] - jz LookupLoopIsZero - -LookupLoop4: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - sub edx, 00010000h - js LeaveNow - -LoopEntry4: - - cmp bx,word ptr [rsi + r8 - 1] - jnz LookupLoop1 - jmp LookupLoopIsZero - - -;;; do { -;;; match = s->window + cur_match; -;;; if (*(ushf*)(match+best_len-1) != scan_end || -;;; *(ushf*)match != scan_start) continue; -;;; [...] -;;; } while ((cur_match = prev[cur_match & wmask]) > limit -;;; && --chain_length != 0); -;;; -;;; Here is the inner loop of the function. The function will spend the -;;; majority of its time in this loop, and majority of that time will -;;; be spent in the first ten instructions. -;;; -;;; Within this loop: -;;; ebx = scanend -;;; r8d = curmatch -;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) -;;; esi = windowbestlen - i.e., (window + bestlen) -;;; edi = prev -;;; ebp = limit - -LookupLoop: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - sub edx, 00010000h - js LeaveNow - -LoopEntry: - - cmp bx,word ptr [rsi + r8 - 1] - jnz LookupLoop1 -LookupLoopIsZero: - cmp r12w, word ptr [r10 + r8] - jnz LookupLoop1 - - -;;; Store the current value of chainlen. - mov [chainlenwmask], edx - -;;; Point edi to the string under scrutiny, and esi to the string we -;;; are hoping to match it up with. In actuality, esi and edi are -;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is -;;; initialized to -(MAX_MATCH_8 - scanalign). - - lea rsi,[r8+r10] - mov rdx, 0fffffffffffffef8h; -(MAX_MATCH_8) - lea rsi, [rsi + r13 + 0108h] ;MAX_MATCH_8] - lea rdi, [r9 + r13 + 0108h] ;MAX_MATCH_8] - - prefetcht1 [rsi+rdx] - prefetcht1 [rdi+rdx] - - -;;; Test the strings for equality, 8 bytes at a time. At the end, -;;; adjust rdx so that it is offset to the exact byte that mismatched. -;;; -;;; We already know at this point that the first three bytes of the -;;; strings match each other, and they can be safely passed over before -;;; starting the compare loop. So what this code does is skip over 0-3 -;;; bytes, as much as necessary in order to dword-align the edi -;;; pointer. (rsi will still be misaligned three times out of four.) -;;; -;;; It should be confessed that this loop usually does not represent -;;; much of the total running time. Replacing it with a more -;;; straightforward "rep cmpsb" would not drastically degrade -;;; performance. - - -LoopCmps: - mov rax, [rsi + rdx] - xor rax, [rdi + rdx] - jnz LeaveLoopCmps - - mov rax, [rsi + rdx + 8] - xor rax, [rdi + rdx + 8] - jnz LeaveLoopCmps8 - - - mov rax, [rsi + rdx + 8+8] - xor rax, [rdi + rdx + 8+8] - jnz LeaveLoopCmps16 - - add rdx,8+8+8 - - jnz short LoopCmps - jmp short LenMaximum -LeaveLoopCmps16: add rdx,8 -LeaveLoopCmps8: add rdx,8 -LeaveLoopCmps: - - test eax, 0000FFFFh - jnz LenLower - - test eax,0ffffffffh - - jnz LenLower32 - - add rdx,4 - shr rax,32 - or ax,ax - jnz LenLower - -LenLower32: - shr eax,16 - add rdx,2 -LenLower: sub al, 1 - adc rdx, 0 -;;; Calculate the length of the match. If it is longer than MAX_MATCH, -;;; then automatically accept it as the best possible match and leave. - - lea rax, [rdi + rdx] - sub rax, r9 - cmp eax, MAX_MATCH - jge LenMaximum - -;;; If the length of the match is not longer than the best match we -;;; have so far, then forget it and return to the lookup loop. -;/////////////////////////////////// - - cmp eax, r11d - jg LongerMatch - - lea rsi,[r10+r11] - - mov rdi, prev_ad - mov edx, [chainlenwmask] - jmp LookupLoop - -;;; s->match_start = cur_match; -;;; best_len = len; -;;; if (len >= nice_match) break; -;;; scan_end = *(ushf*)(scan+best_len-1); - -LongerMatch: - mov r11d, eax - mov match_start, r8d - cmp eax, [nicematch] - jge LeaveNow - - lea rsi,[r10+rax] - - movzx ebx, word ptr [r9 + rax - 1] - mov rdi, prev_ad - mov edx, [chainlenwmask] - jmp LookupLoop - -;;; Accept the current string, with the maximum possible length. - -LenMaximum: - mov r11d,MAX_MATCH - mov match_start, r8d - -;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len; -;;; return s->lookahead; - -LeaveNow: -IFDEF INFOZIP - mov eax,r11d -ELSE - mov eax, Lookahead - cmp r11d, eax - cmovng eax, r11d -ENDIF - -;;; Restore the stack and return from whence we came. - - - mov rsi,[save_rsi] - mov rdi,[save_rdi] - mov rbx,[save_rbx] - mov rbp,[save_rbp] - mov r12,[save_r12] - mov r13,[save_r13] -; mov r14,[save_r14] -; mov r15,[save_r15] - - - ret 0 -; please don't remove this string ! -; Your can freely use gvmat64 in any free or commercial app -; but it is far better don't remove the string in the binary! - db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0 -longest_match ENDP - -match_init PROC - ret 0 -match_init ENDP - - -END diff --git a/protocols/Telegram/tgl/zlib/contrib/masmx64/inffas8664.c b/protocols/Telegram/tgl/zlib/contrib/masmx64/inffas8664.c deleted file mode 100644 index e8af06fa02..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/masmx64/inffas8664.c +++ /dev/null @@ -1,186 +0,0 @@ -/* inffas8664.c is a hand tuned assembler version of inffast.c - fast decoding - * version for AMD64 on Windows using Microsoft C compiler - * - * Copyright (C) 1995-2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Copyright (C) 2003 Chris Anderson - * Please use the copyright conditions above. - * - * 2005 - Adaptation to Microsoft C Compiler for AMD64 by Gilles Vollant - * - * inffas8664.c call function inffas8664fnc in inffasx64.asm - * inffasx64.asm is automatically convert from AMD64 portion of inffas86.c - * - * Dec-29-2003 -- I added AMD64 inflate asm support. This version is also - * slightly quicker on x86 systems because, instead of using rep movsb to copy - * data, it uses rep movsw, which moves data in 2-byte chunks instead of single - * bytes. I've tested the AMD64 code on a Fedora Core 1 + the x86_64 updates - * from http://fedora.linux.duke.edu/fc1_x86_64 - * which is running on an Athlon 64 3000+ / Gigabyte GA-K8VT800M system with - * 1GB ram. The 64-bit version is about 4% faster than the 32-bit version, - * when decompressing mozilla-source-1.3.tar.gz. - * - * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from - * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at - * the moment. I have successfully compiled and tested this code with gcc2.96, - * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S - * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX - * enabled. I will attempt to merge the MMX code into this version. Newer - * versions of this and inffast.S can be found at - * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/ - * - */ - -#include -#include "zutil.h" -#include "inftrees.h" -#include "inflate.h" -#include "inffast.h" - -/* Mark Adler's comments from inffast.c: */ - -/* - Decode literal, length, and distance codes and write out the resulting - literal and match bytes until either not enough input or output is - available, an end-of-block is encountered, or a data error is encountered. - When large enough input and output buffers are supplied to inflate(), for - example, a 16K input buffer and a 64K output buffer, more than 95% of the - inflate execution time is spent in this routine. - - Entry assumptions: - - state->mode == LEN - strm->avail_in >= 6 - strm->avail_out >= 258 - start >= strm->avail_out - state->bits < 8 - - On return, state->mode is one of: - - LEN -- ran out of enough output space or enough available input - TYPE -- reached end of block code, inflate() to interpret next block - BAD -- error in block data - - Notes: - - - The maximum input bits used by a length/distance pair is 15 bits for the - length code, 5 bits for the length extra, 15 bits for the distance code, - and 13 bits for the distance extra. This totals 48 bits, or six bytes. - Therefore if strm->avail_in >= 6, then there is enough input to avoid - checking for available input while decoding. - - - The maximum bytes that a single length/distance pair can output is 258 - bytes, which is the maximum length that can be coded. inflate_fast() - requires strm->avail_out >= 258 for each loop to avoid checking for - output space. - */ - - - - typedef struct inffast_ar { -/* 64 32 x86 x86_64 */ -/* ar offset register */ -/* 0 0 */ void *esp; /* esp save */ -/* 8 4 */ void *ebp; /* ebp save */ -/* 16 8 */ unsigned char FAR *in; /* esi rsi local strm->next_in */ -/* 24 12 */ unsigned char FAR *last; /* r9 while in < last */ -/* 32 16 */ unsigned char FAR *out; /* edi rdi local strm->next_out */ -/* 40 20 */ unsigned char FAR *beg; /* inflate()'s init next_out */ -/* 48 24 */ unsigned char FAR *end; /* r10 while out < end */ -/* 56 28 */ unsigned char FAR *window;/* size of window, wsize!=0 */ -/* 64 32 */ code const FAR *lcode; /* ebp rbp local strm->lencode */ -/* 72 36 */ code const FAR *dcode; /* r11 local strm->distcode */ -/* 80 40 */ size_t /*unsigned long */hold; /* edx rdx local strm->hold */ -/* 88 44 */ unsigned bits; /* ebx rbx local strm->bits */ -/* 92 48 */ unsigned wsize; /* window size */ -/* 96 52 */ unsigned write; /* window write index */ -/*100 56 */ unsigned lmask; /* r12 mask for lcode */ -/*104 60 */ unsigned dmask; /* r13 mask for dcode */ -/*108 64 */ unsigned len; /* r14 match length */ -/*112 68 */ unsigned dist; /* r15 match distance */ -/*116 72 */ unsigned status; /* set when state chng*/ - } type_ar; -#ifdef ASMINF - -void inflate_fast(strm, start) -z_streamp strm; -unsigned start; /* inflate()'s starting value for strm->avail_out */ -{ - struct inflate_state FAR *state; - type_ar ar; - void inffas8664fnc(struct inffast_ar * par); - - - -#if (defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )) || (defined(_MSC_VER) && defined(_M_AMD64)) -#define PAD_AVAIL_IN 6 -#define PAD_AVAIL_OUT 258 -#else -#define PAD_AVAIL_IN 5 -#define PAD_AVAIL_OUT 257 -#endif - - /* copy state to local variables */ - state = (struct inflate_state FAR *)strm->state; - - ar.in = strm->next_in; - ar.last = ar.in + (strm->avail_in - PAD_AVAIL_IN); - ar.out = strm->next_out; - ar.beg = ar.out - (start - strm->avail_out); - ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT); - ar.wsize = state->wsize; - ar.write = state->wnext; - ar.window = state->window; - ar.hold = state->hold; - ar.bits = state->bits; - ar.lcode = state->lencode; - ar.dcode = state->distcode; - ar.lmask = (1U << state->lenbits) - 1; - ar.dmask = (1U << state->distbits) - 1; - - /* decode literals and length/distances until end-of-block or not enough - input data or output space */ - - /* align in on 1/2 hold size boundary */ - while (((size_t)(void *)ar.in & (sizeof(ar.hold) / 2 - 1)) != 0) { - ar.hold += (unsigned long)*ar.in++ << ar.bits; - ar.bits += 8; - } - - inffas8664fnc(&ar); - - if (ar.status > 1) { - if (ar.status == 2) - strm->msg = "invalid literal/length code"; - else if (ar.status == 3) - strm->msg = "invalid distance code"; - else - strm->msg = "invalid distance too far back"; - state->mode = BAD; - } - else if ( ar.status == 1 ) { - state->mode = TYPE; - } - - /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ - ar.len = ar.bits >> 3; - ar.in -= ar.len; - ar.bits -= ar.len << 3; - ar.hold &= (1U << ar.bits) - 1; - - /* update state and return */ - strm->next_in = ar.in; - strm->next_out = ar.out; - strm->avail_in = (unsigned)(ar.in < ar.last ? - PAD_AVAIL_IN + (ar.last - ar.in) : - PAD_AVAIL_IN - (ar.in - ar.last)); - strm->avail_out = (unsigned)(ar.out < ar.end ? - PAD_AVAIL_OUT + (ar.end - ar.out) : - PAD_AVAIL_OUT - (ar.out - ar.end)); - state->hold = (unsigned long)ar.hold; - state->bits = ar.bits; - return; -} - -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/masmx64/inffasx64.asm b/protocols/Telegram/tgl/zlib/contrib/masmx64/inffasx64.asm deleted file mode 100644 index 60a8d89b71..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/masmx64/inffasx64.asm +++ /dev/null @@ -1,396 +0,0 @@ -; inffasx64.asm is a hand tuned assembler version of inffast.c - fast decoding -; version for AMD64 on Windows using Microsoft C compiler -; -; inffasx64.asm is automatically convert from AMD64 portion of inffas86.c -; inffasx64.asm is called by inffas8664.c, which contain more info. - - -; to compile this file, I use option -; ml64.exe /Flinffasx64 /c /Zi inffasx64.asm -; with Microsoft Macro Assembler (x64) for AMD64 -; - -; This file compile with Microsoft Macro Assembler (x64) for AMD64 -; -; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK -; -; (you can get Windows WDK with ml64 for AMD64 from -; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price) -; - - -.code -inffas8664fnc PROC - -; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and -; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp -; -; All registers must be preserved across the call, except for -; rax, rcx, rdx, r8, r-9, r10, and r11, which are scratch. - - - mov [rsp-8],rsi - mov [rsp-16],rdi - mov [rsp-24],r12 - mov [rsp-32],r13 - mov [rsp-40],r14 - mov [rsp-48],r15 - mov [rsp-56],rbx - - mov rax,rcx - - mov [rax+8], rbp ; /* save regs rbp and rsp */ - mov [rax], rsp - - mov rsp, rax ; /* make rsp point to &ar */ - - mov rsi, [rsp+16] ; /* rsi = in */ - mov rdi, [rsp+32] ; /* rdi = out */ - mov r9, [rsp+24] ; /* r9 = last */ - mov r10, [rsp+48] ; /* r10 = end */ - mov rbp, [rsp+64] ; /* rbp = lcode */ - mov r11, [rsp+72] ; /* r11 = dcode */ - mov rdx, [rsp+80] ; /* rdx = hold */ - mov ebx, [rsp+88] ; /* ebx = bits */ - mov r12d, [rsp+100] ; /* r12d = lmask */ - mov r13d, [rsp+104] ; /* r13d = dmask */ - ; /* r14d = len */ - ; /* r15d = dist */ - - - cld - cmp r10, rdi - je L_one_time ; /* if only one decode left */ - cmp r9, rsi - - jne L_do_loop - - -L_one_time: - mov r8, r12 ; /* r8 = lmask */ - cmp bl, 32 - ja L_get_length_code_one_time - - lodsd ; /* eax = *(uint *)in++ */ - mov cl, bl ; /* cl = bits, needs it for shifting */ - add bl, 32 ; /* bits += 32 */ - shl rax, cl - or rdx, rax ; /* hold |= *((uint *)in)++ << bits */ - jmp L_get_length_code_one_time - -ALIGN 4 -L_while_test: - cmp r10, rdi - jbe L_break_loop - cmp r9, rsi - jbe L_break_loop - -L_do_loop: - mov r8, r12 ; /* r8 = lmask */ - cmp bl, 32 - ja L_get_length_code ; /* if (32 < bits) */ - - lodsd ; /* eax = *(uint *)in++ */ - mov cl, bl ; /* cl = bits, needs it for shifting */ - add bl, 32 ; /* bits += 32 */ - shl rax, cl - or rdx, rax ; /* hold |= *((uint *)in)++ << bits */ - -L_get_length_code: - and r8, rdx ; /* r8 &= hold */ - mov eax, [rbp+r8*4] ; /* eax = lcode[hold & lmask] */ - - mov cl, ah ; /* cl = this.bits */ - sub bl, ah ; /* bits -= this.bits */ - shr rdx, cl ; /* hold >>= this.bits */ - - test al, al - jnz L_test_for_length_base ; /* if (op != 0) 45.7% */ - - mov r8, r12 ; /* r8 = lmask */ - shr eax, 16 ; /* output this.val char */ - stosb - -L_get_length_code_one_time: - and r8, rdx ; /* r8 &= hold */ - mov eax, [rbp+r8*4] ; /* eax = lcode[hold & lmask] */ - -L_dolen: - mov cl, ah ; /* cl = this.bits */ - sub bl, ah ; /* bits -= this.bits */ - shr rdx, cl ; /* hold >>= this.bits */ - - test al, al - jnz L_test_for_length_base ; /* if (op != 0) 45.7% */ - - shr eax, 16 ; /* output this.val char */ - stosb - jmp L_while_test - -ALIGN 4 -L_test_for_length_base: - mov r14d, eax ; /* len = this */ - shr r14d, 16 ; /* len = this.val */ - mov cl, al - - test al, 16 - jz L_test_for_second_level_length ; /* if ((op & 16) == 0) 8% */ - and cl, 15 ; /* op &= 15 */ - jz L_decode_distance ; /* if (!op) */ - -L_add_bits_to_len: - sub bl, cl - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx ; /* eax &= hold */ - shr rdx, cl - add r14d, eax ; /* len += hold & mask[op] */ - -L_decode_distance: - mov r8, r13 ; /* r8 = dmask */ - cmp bl, 32 - ja L_get_distance_code ; /* if (32 < bits) */ - - lodsd ; /* eax = *(uint *)in++ */ - mov cl, bl ; /* cl = bits, needs it for shifting */ - add bl, 32 ; /* bits += 32 */ - shl rax, cl - or rdx, rax ; /* hold |= *((uint *)in)++ << bits */ - -L_get_distance_code: - and r8, rdx ; /* r8 &= hold */ - mov eax, [r11+r8*4] ; /* eax = dcode[hold & dmask] */ - -L_dodist: - mov r15d, eax ; /* dist = this */ - shr r15d, 16 ; /* dist = this.val */ - mov cl, ah - sub bl, ah ; /* bits -= this.bits */ - shr rdx, cl ; /* hold >>= this.bits */ - mov cl, al ; /* cl = this.op */ - - test al, 16 ; /* if ((op & 16) == 0) */ - jz L_test_for_second_level_dist - and cl, 15 ; /* op &= 15 */ - jz L_check_dist_one - -L_add_bits_to_dist: - sub bl, cl - xor eax, eax - inc eax - shl eax, cl - dec eax ; /* (1 << op) - 1 */ - and eax, edx ; /* eax &= hold */ - shr rdx, cl - add r15d, eax ; /* dist += hold & ((1 << op) - 1) */ - -L_check_window: - mov r8, rsi ; /* save in so from can use it's reg */ - mov rax, rdi - sub rax, [rsp+40] ; /* nbytes = out - beg */ - - cmp eax, r15d - jb L_clip_window ; /* if (dist > nbytes) 4.2% */ - - mov ecx, r14d ; /* ecx = len */ - mov rsi, rdi - sub rsi, r15 ; /* from = out - dist */ - - sar ecx, 1 - jnc L_copy_two ; /* if len % 2 == 0 */ - - rep movsw - mov al, [rsi] - mov [rdi], al - inc rdi - - mov rsi, r8 ; /* move in back to %rsi, toss from */ - jmp L_while_test - -L_copy_two: - rep movsw - mov rsi, r8 ; /* move in back to %rsi, toss from */ - jmp L_while_test - -ALIGN 4 -L_check_dist_one: - cmp r15d, 1 ; /* if dist 1, is a memset */ - jne L_check_window - cmp [rsp+40], rdi ; /* if out == beg, outside window */ - je L_check_window - - mov ecx, r14d ; /* ecx = len */ - mov al, [rdi-1] - mov ah, al - - sar ecx, 1 - jnc L_set_two - mov [rdi], al - inc rdi - -L_set_two: - rep stosw - jmp L_while_test - -ALIGN 4 -L_test_for_second_level_length: - test al, 64 - jnz L_test_for_end_of_block ; /* if ((op & 64) != 0) */ - - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx ; /* eax &= hold */ - add eax, r14d ; /* eax += len */ - mov eax, [rbp+rax*4] ; /* eax = lcode[val+(hold&mask[op])]*/ - jmp L_dolen - -ALIGN 4 -L_test_for_second_level_dist: - test al, 64 - jnz L_invalid_distance_code ; /* if ((op & 64) != 0) */ - - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx ; /* eax &= hold */ - add eax, r15d ; /* eax += dist */ - mov eax, [r11+rax*4] ; /* eax = dcode[val+(hold&mask[op])]*/ - jmp L_dodist - -ALIGN 4 -L_clip_window: - mov ecx, eax ; /* ecx = nbytes */ - mov eax, [rsp+92] ; /* eax = wsize, prepare for dist cmp */ - neg ecx ; /* nbytes = -nbytes */ - - cmp eax, r15d - jb L_invalid_distance_too_far ; /* if (dist > wsize) */ - - add ecx, r15d ; /* nbytes = dist - nbytes */ - cmp dword ptr [rsp+96], 0 - jne L_wrap_around_window ; /* if (write != 0) */ - - mov rsi, [rsp+56] ; /* from = window */ - sub eax, ecx ; /* eax -= nbytes */ - add rsi, rax ; /* from += wsize - nbytes */ - - mov eax, r14d ; /* eax = len */ - cmp r14d, ecx - jbe L_do_copy ; /* if (nbytes >= len) */ - - sub eax, ecx ; /* eax -= nbytes */ - rep movsb - mov rsi, rdi - sub rsi, r15 ; /* from = &out[ -dist ] */ - jmp L_do_copy - -ALIGN 4 -L_wrap_around_window: - mov eax, [rsp+96] ; /* eax = write */ - cmp ecx, eax - jbe L_contiguous_in_window ; /* if (write >= nbytes) */ - - mov esi, [rsp+92] ; /* from = wsize */ - add rsi, [rsp+56] ; /* from += window */ - add rsi, rax ; /* from += write */ - sub rsi, rcx ; /* from -= nbytes */ - sub ecx, eax ; /* nbytes -= write */ - - mov eax, r14d ; /* eax = len */ - cmp eax, ecx - jbe L_do_copy ; /* if (nbytes >= len) */ - - sub eax, ecx ; /* len -= nbytes */ - rep movsb - mov rsi, [rsp+56] ; /* from = window */ - mov ecx, [rsp+96] ; /* nbytes = write */ - cmp eax, ecx - jbe L_do_copy ; /* if (nbytes >= len) */ - - sub eax, ecx ; /* len -= nbytes */ - rep movsb - mov rsi, rdi - sub rsi, r15 ; /* from = out - dist */ - jmp L_do_copy - -ALIGN 4 -L_contiguous_in_window: - mov rsi, [rsp+56] ; /* rsi = window */ - add rsi, rax - sub rsi, rcx ; /* from += write - nbytes */ - - mov eax, r14d ; /* eax = len */ - cmp eax, ecx - jbe L_do_copy ; /* if (nbytes >= len) */ - - sub eax, ecx ; /* len -= nbytes */ - rep movsb - mov rsi, rdi - sub rsi, r15 ; /* from = out - dist */ - jmp L_do_copy ; /* if (nbytes >= len) */ - -ALIGN 4 -L_do_copy: - mov ecx, eax ; /* ecx = len */ - rep movsb - - mov rsi, r8 ; /* move in back to %esi, toss from */ - jmp L_while_test - -L_test_for_end_of_block: - test al, 32 - jz L_invalid_literal_length_code - mov dword ptr [rsp+116], 1 - jmp L_break_loop_with_status - -L_invalid_literal_length_code: - mov dword ptr [rsp+116], 2 - jmp L_break_loop_with_status - -L_invalid_distance_code: - mov dword ptr [rsp+116], 3 - jmp L_break_loop_with_status - -L_invalid_distance_too_far: - mov dword ptr [rsp+116], 4 - jmp L_break_loop_with_status - -L_break_loop: - mov dword ptr [rsp+116], 0 - -L_break_loop_with_status: -; /* put in, out, bits, and hold back into ar and pop esp */ - mov [rsp+16], rsi ; /* in */ - mov [rsp+32], rdi ; /* out */ - mov [rsp+88], ebx ; /* bits */ - mov [rsp+80], rdx ; /* hold */ - - mov rax, [rsp] ; /* restore rbp and rsp */ - mov rbp, [rsp+8] - mov rsp, rax - - - - mov rsi,[rsp-8] - mov rdi,[rsp-16] - mov r12,[rsp-24] - mov r13,[rsp-32] - mov r14,[rsp-40] - mov r15,[rsp-48] - mov rbx,[rsp-56] - - ret 0 -; : -; : "m" (ar) -; : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi", -; "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15" -; ); - -inffas8664fnc ENDP -;_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/masmx64/readme.txt b/protocols/Telegram/tgl/zlib/contrib/masmx64/readme.txt deleted file mode 100644 index 2da6733412..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/masmx64/readme.txt +++ /dev/null @@ -1,31 +0,0 @@ -Summary -------- -This directory contains ASM implementations of the functions -longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t), -for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits. - -gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits - assembly optimized version from Jean-loup Gailly original longest_match function - -inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing - original function from Mark Adler - -Use instructions ----------------- -Assemble the .asm files using MASM and put the object files into the zlib source -directory. You can also get object files here: - - http://www.winimage.com/zLibDll/zlib124_masm_obj.zip - -define ASMV and ASMINF in your project. Include inffas8664.c in your source tree, -and inffasx64.obj and gvmat64.obj as object to link. - - -Build instructions ------------------- -run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe) - -ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK - -You can get Windows 2003 server DDK with ml64 and cl for AMD64 from - http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price) diff --git a/protocols/Telegram/tgl/zlib/contrib/masmx86/bld_ml32.bat b/protocols/Telegram/tgl/zlib/contrib/masmx86/bld_ml32.bat deleted file mode 100644 index e1b86bf68a..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/masmx86/bld_ml32.bat +++ /dev/null @@ -1,2 +0,0 @@ -ml /coff /Zi /c /Flmatch686.lst match686.asm -ml /coff /Zi /c /Flinffas32.lst inffas32.asm diff --git a/protocols/Telegram/tgl/zlib/contrib/masmx86/inffas32.asm b/protocols/Telegram/tgl/zlib/contrib/masmx86/inffas32.asm deleted file mode 100644 index 03d20f838b..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/masmx86/inffas32.asm +++ /dev/null @@ -1,1080 +0,0 @@ -;/* inffas32.asm is a hand tuned assembler version of inffast.c -- fast decoding -; * -; * inffas32.asm is derivated from inffas86.c, with translation of assembly code -; * -; * Copyright (C) 1995-2003 Mark Adler -; * For conditions of distribution and use, see copyright notice in zlib.h -; * -; * Copyright (C) 2003 Chris Anderson -; * Please use the copyright conditions above. -; * -; * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from -; * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at -; * the moment. I have successfully compiled and tested this code with gcc2.96, -; * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S -; * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX -; * enabled. I will attempt to merge the MMX code into this version. Newer -; * versions of this and inffast.S can be found at -; * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/ -; * -; * 2005 : modification by Gilles Vollant -; */ -; For Visual C++ 4.x and higher and ML 6.x and higher -; ml.exe is in directory \MASM611C of Win95 DDK -; ml.exe is also distributed in http://www.masm32.com/masmdl.htm -; and in VC++2003 toolkit at http://msdn.microsoft.com/visualc/vctoolkit2003/ -; -; -; compile with command line option -; ml /coff /Zi /c /Flinffas32.lst inffas32.asm - -; if you define NO_GZIP (see inflate.h), compile with -; ml /coff /Zi /c /Flinffas32.lst /DNO_GUNZIP inffas32.asm - - -; zlib122sup is 0 fort zlib 1.2.2.1 and lower -; zlib122sup is 8 fort zlib 1.2.2.2 and more (with addition of dmax and head -; in inflate_state in inflate.h) -zlib1222sup equ 8 - - -IFDEF GUNZIP - INFLATE_MODE_TYPE equ 11 - INFLATE_MODE_BAD equ 26 -ELSE - IFNDEF NO_GUNZIP - INFLATE_MODE_TYPE equ 11 - INFLATE_MODE_BAD equ 26 - ELSE - INFLATE_MODE_TYPE equ 3 - INFLATE_MODE_BAD equ 17 - ENDIF -ENDIF - - -; 75 "inffast.S" -;FILE "inffast.S" - -;;;GLOBAL _inflate_fast - -;;;SECTION .text - - - - .586p - .mmx - - name inflate_fast_x86 - .MODEL FLAT - -_DATA segment -inflate_fast_use_mmx: - dd 1 - - -_TEXT segment - - - -ALIGN 4 - db 'Fast decoding Code from Chris Anderson' - db 0 - -ALIGN 4 -invalid_literal_length_code_msg: - db 'invalid literal/length code' - db 0 - -ALIGN 4 -invalid_distance_code_msg: - db 'invalid distance code' - db 0 - -ALIGN 4 -invalid_distance_too_far_msg: - db 'invalid distance too far back' - db 0 - - -ALIGN 4 -inflate_fast_mask: -dd 0 -dd 1 -dd 3 -dd 7 -dd 15 -dd 31 -dd 63 -dd 127 -dd 255 -dd 511 -dd 1023 -dd 2047 -dd 4095 -dd 8191 -dd 16383 -dd 32767 -dd 65535 -dd 131071 -dd 262143 -dd 524287 -dd 1048575 -dd 2097151 -dd 4194303 -dd 8388607 -dd 16777215 -dd 33554431 -dd 67108863 -dd 134217727 -dd 268435455 -dd 536870911 -dd 1073741823 -dd 2147483647 -dd 4294967295 - - -mode_state equ 0 ;/* state->mode */ -wsize_state equ (32+zlib1222sup) ;/* state->wsize */ -write_state equ (36+4+zlib1222sup) ;/* state->write */ -window_state equ (40+4+zlib1222sup) ;/* state->window */ -hold_state equ (44+4+zlib1222sup) ;/* state->hold */ -bits_state equ (48+4+zlib1222sup) ;/* state->bits */ -lencode_state equ (64+4+zlib1222sup) ;/* state->lencode */ -distcode_state equ (68+4+zlib1222sup) ;/* state->distcode */ -lenbits_state equ (72+4+zlib1222sup) ;/* state->lenbits */ -distbits_state equ (76+4+zlib1222sup) ;/* state->distbits */ - - -;;SECTION .text -; 205 "inffast.S" -;GLOBAL inflate_fast_use_mmx - -;SECTION .data - - -; GLOBAL inflate_fast_use_mmx:object -;.size inflate_fast_use_mmx, 4 -; 226 "inffast.S" -;SECTION .text - -ALIGN 4 -_inflate_fast proc near -.FPO (16, 4, 0, 0, 1, 0) - push edi - push esi - push ebp - push ebx - pushfd - sub esp,64 - cld - - - - - mov esi, [esp+88] - mov edi, [esi+28] - - - - - - - - mov edx, [esi+4] - mov eax, [esi+0] - - add edx,eax - sub edx,11 - - mov [esp+44],eax - mov [esp+20],edx - - mov ebp, [esp+92] - mov ecx, [esi+16] - mov ebx, [esi+12] - - sub ebp,ecx - neg ebp - add ebp,ebx - - sub ecx,257 - add ecx,ebx - - mov [esp+60],ebx - mov [esp+40],ebp - mov [esp+16],ecx -; 285 "inffast.S" - mov eax, [edi+lencode_state] - mov ecx, [edi+distcode_state] - - mov [esp+8],eax - mov [esp+12],ecx - - mov eax,1 - mov ecx, [edi+lenbits_state] - shl eax,cl - dec eax - mov [esp+0],eax - - mov eax,1 - mov ecx, [edi+distbits_state] - shl eax,cl - dec eax - mov [esp+4],eax - - mov eax, [edi+wsize_state] - mov ecx, [edi+write_state] - mov edx, [edi+window_state] - - mov [esp+52],eax - mov [esp+48],ecx - mov [esp+56],edx - - mov ebp, [edi+hold_state] - mov ebx, [edi+bits_state] -; 321 "inffast.S" - mov esi, [esp+44] - mov ecx, [esp+20] - cmp ecx,esi - ja L_align_long - - add ecx,11 - sub ecx,esi - mov eax,12 - sub eax,ecx - lea edi, [esp+28] - rep movsb - mov ecx,eax - xor eax,eax - rep stosb - lea esi, [esp+28] - mov [esp+20],esi - jmp L_is_aligned - - -L_align_long: - test esi,3 - jz L_is_aligned - xor eax,eax - mov al, [esi] - inc esi - mov ecx,ebx - add ebx,8 - shl eax,cl - or ebp,eax - jmp L_align_long - -L_is_aligned: - mov edi, [esp+60] -; 366 "inffast.S" -L_check_mmx: - cmp dword ptr [inflate_fast_use_mmx],2 - je L_init_mmx - ja L_do_loop - - push eax - push ebx - push ecx - push edx - pushfd - mov eax, [esp] - xor dword ptr [esp],0200000h - - - - - popfd - pushfd - pop edx - xor edx,eax - jz L_dont_use_mmx - xor eax,eax - cpuid - cmp ebx,0756e6547h - jne L_dont_use_mmx - cmp ecx,06c65746eh - jne L_dont_use_mmx - cmp edx,049656e69h - jne L_dont_use_mmx - mov eax,1 - cpuid - shr eax,8 - and eax,15 - cmp eax,6 - jne L_dont_use_mmx - test edx,0800000h - jnz L_use_mmx - jmp L_dont_use_mmx -L_use_mmx: - mov dword ptr [inflate_fast_use_mmx],2 - jmp L_check_mmx_pop -L_dont_use_mmx: - mov dword ptr [inflate_fast_use_mmx],3 -L_check_mmx_pop: - pop edx - pop ecx - pop ebx - pop eax - jmp L_check_mmx -; 426 "inffast.S" -ALIGN 4 -L_do_loop: -; 437 "inffast.S" - cmp bl,15 - ja L_get_length_code - - xor eax,eax - lodsw - mov cl,bl - add bl,16 - shl eax,cl - or ebp,eax - -L_get_length_code: - mov edx, [esp+0] - mov ecx, [esp+8] - and edx,ebp - mov eax, [ecx+edx*4] - -L_dolen: - - - - - - - mov cl,ah - sub bl,ah - shr ebp,cl - - - - - - - test al,al - jnz L_test_for_length_base - - shr eax,16 - stosb - -L_while_test: - - - cmp [esp+16],edi - jbe L_break_loop - - cmp [esp+20],esi - ja L_do_loop - jmp L_break_loop - -L_test_for_length_base: -; 502 "inffast.S" - mov edx,eax - shr edx,16 - mov cl,al - - test al,16 - jz L_test_for_second_level_length - and cl,15 - jz L_save_len - cmp bl,cl - jae L_add_bits_to_len - - mov ch,cl - xor eax,eax - lodsw - mov cl,bl - add bl,16 - shl eax,cl - or ebp,eax - mov cl,ch - -L_add_bits_to_len: - mov eax,1 - shl eax,cl - dec eax - sub bl,cl - and eax,ebp - shr ebp,cl - add edx,eax - -L_save_len: - mov [esp+24],edx - - -L_decode_distance: -; 549 "inffast.S" - cmp bl,15 - ja L_get_distance_code - - xor eax,eax - lodsw - mov cl,bl - add bl,16 - shl eax,cl - or ebp,eax - -L_get_distance_code: - mov edx, [esp+4] - mov ecx, [esp+12] - and edx,ebp - mov eax, [ecx+edx*4] - - -L_dodist: - mov edx,eax - shr edx,16 - mov cl,ah - sub bl,ah - shr ebp,cl -; 584 "inffast.S" - mov cl,al - - test al,16 - jz L_test_for_second_level_dist - and cl,15 - jz L_check_dist_one - cmp bl,cl - jae L_add_bits_to_dist - - mov ch,cl - xor eax,eax - lodsw - mov cl,bl - add bl,16 - shl eax,cl - or ebp,eax - mov cl,ch - -L_add_bits_to_dist: - mov eax,1 - shl eax,cl - dec eax - sub bl,cl - and eax,ebp - shr ebp,cl - add edx,eax - jmp L_check_window - -L_check_window: -; 625 "inffast.S" - mov [esp+44],esi - mov eax,edi - sub eax, [esp+40] - - cmp eax,edx - jb L_clip_window - - mov ecx, [esp+24] - mov esi,edi - sub esi,edx - - sub ecx,3 - mov al, [esi] - mov [edi],al - mov al, [esi+1] - mov dl, [esi+2] - add esi,3 - mov [edi+1],al - mov [edi+2],dl - add edi,3 - rep movsb - - mov esi, [esp+44] - jmp L_while_test - -ALIGN 4 -L_check_dist_one: - cmp edx,1 - jne L_check_window - cmp [esp+40],edi - je L_check_window - - dec edi - mov ecx, [esp+24] - mov al, [edi] - sub ecx,3 - - mov [edi+1],al - mov [edi+2],al - mov [edi+3],al - add edi,4 - rep stosb - - jmp L_while_test - -ALIGN 4 -L_test_for_second_level_length: - - - - - test al,64 - jnz L_test_for_end_of_block - - mov eax,1 - shl eax,cl - dec eax - and eax,ebp - add eax,edx - mov edx, [esp+8] - mov eax, [edx+eax*4] - jmp L_dolen - -ALIGN 4 -L_test_for_second_level_dist: - - - - - test al,64 - jnz L_invalid_distance_code - - mov eax,1 - shl eax,cl - dec eax - and eax,ebp - add eax,edx - mov edx, [esp+12] - mov eax, [edx+eax*4] - jmp L_dodist - -ALIGN 4 -L_clip_window: -; 721 "inffast.S" - mov ecx,eax - mov eax, [esp+52] - neg ecx - mov esi, [esp+56] - - cmp eax,edx - jb L_invalid_distance_too_far - - add ecx,edx - cmp dword ptr [esp+48],0 - jne L_wrap_around_window - - sub eax,ecx - add esi,eax -; 749 "inffast.S" - mov eax, [esp+24] - cmp eax,ecx - jbe L_do_copy1 - - sub eax,ecx - rep movsb - mov esi,edi - sub esi,edx - jmp L_do_copy1 - - cmp eax,ecx - jbe L_do_copy1 - - sub eax,ecx - rep movsb - mov esi,edi - sub esi,edx - jmp L_do_copy1 - -L_wrap_around_window: -; 793 "inffast.S" - mov eax, [esp+48] - cmp ecx,eax - jbe L_contiguous_in_window - - add esi, [esp+52] - add esi,eax - sub esi,ecx - sub ecx,eax - - - mov eax, [esp+24] - cmp eax,ecx - jbe L_do_copy1 - - sub eax,ecx - rep movsb - mov esi, [esp+56] - mov ecx, [esp+48] - cmp eax,ecx - jbe L_do_copy1 - - sub eax,ecx - rep movsb - mov esi,edi - sub esi,edx - jmp L_do_copy1 - -L_contiguous_in_window: -; 836 "inffast.S" - add esi,eax - sub esi,ecx - - - mov eax, [esp+24] - cmp eax,ecx - jbe L_do_copy1 - - sub eax,ecx - rep movsb - mov esi,edi - sub esi,edx - -L_do_copy1: -; 862 "inffast.S" - mov ecx,eax - rep movsb - - mov esi, [esp+44] - jmp L_while_test -; 878 "inffast.S" -ALIGN 4 -L_init_mmx: - emms - - - - - - movd mm0,ebp - mov ebp,ebx -; 896 "inffast.S" - movd mm4,dword ptr [esp+0] - movq mm3,mm4 - movd mm5,dword ptr [esp+4] - movq mm2,mm5 - pxor mm1,mm1 - mov ebx, [esp+8] - jmp L_do_loop_mmx - -ALIGN 4 -L_do_loop_mmx: - psrlq mm0,mm1 - - cmp ebp,32 - ja L_get_length_code_mmx - - movd mm6,ebp - movd mm7,dword ptr [esi] - add esi,4 - psllq mm7,mm6 - add ebp,32 - por mm0,mm7 - -L_get_length_code_mmx: - pand mm4,mm0 - movd eax,mm4 - movq mm4,mm3 - mov eax, [ebx+eax*4] - -L_dolen_mmx: - movzx ecx,ah - movd mm1,ecx - sub ebp,ecx - - test al,al - jnz L_test_for_length_base_mmx - - shr eax,16 - stosb - -L_while_test_mmx: - - - cmp [esp+16],edi - jbe L_break_loop - - cmp [esp+20],esi - ja L_do_loop_mmx - jmp L_break_loop - -L_test_for_length_base_mmx: - - mov edx,eax - shr edx,16 - - test al,16 - jz L_test_for_second_level_length_mmx - and eax,15 - jz L_decode_distance_mmx - - psrlq mm0,mm1 - movd mm1,eax - movd ecx,mm0 - sub ebp,eax - and ecx, [inflate_fast_mask+eax*4] - add edx,ecx - -L_decode_distance_mmx: - psrlq mm0,mm1 - - cmp ebp,32 - ja L_get_dist_code_mmx - - movd mm6,ebp - movd mm7,dword ptr [esi] - add esi,4 - psllq mm7,mm6 - add ebp,32 - por mm0,mm7 - -L_get_dist_code_mmx: - mov ebx, [esp+12] - pand mm5,mm0 - movd eax,mm5 - movq mm5,mm2 - mov eax, [ebx+eax*4] - -L_dodist_mmx: - - movzx ecx,ah - mov ebx,eax - shr ebx,16 - sub ebp,ecx - movd mm1,ecx - - test al,16 - jz L_test_for_second_level_dist_mmx - and eax,15 - jz L_check_dist_one_mmx - -L_add_bits_to_dist_mmx: - psrlq mm0,mm1 - movd mm1,eax - movd ecx,mm0 - sub ebp,eax - and ecx, [inflate_fast_mask+eax*4] - add ebx,ecx - -L_check_window_mmx: - mov [esp+44],esi - mov eax,edi - sub eax, [esp+40] - - cmp eax,ebx - jb L_clip_window_mmx - - mov ecx,edx - mov esi,edi - sub esi,ebx - - sub ecx,3 - mov al, [esi] - mov [edi],al - mov al, [esi+1] - mov dl, [esi+2] - add esi,3 - mov [edi+1],al - mov [edi+2],dl - add edi,3 - rep movsb - - mov esi, [esp+44] - mov ebx, [esp+8] - jmp L_while_test_mmx - -ALIGN 4 -L_check_dist_one_mmx: - cmp ebx,1 - jne L_check_window_mmx - cmp [esp+40],edi - je L_check_window_mmx - - dec edi - mov ecx,edx - mov al, [edi] - sub ecx,3 - - mov [edi+1],al - mov [edi+2],al - mov [edi+3],al - add edi,4 - rep stosb - - mov ebx, [esp+8] - jmp L_while_test_mmx - -ALIGN 4 -L_test_for_second_level_length_mmx: - test al,64 - jnz L_test_for_end_of_block - - and eax,15 - psrlq mm0,mm1 - movd ecx,mm0 - and ecx, [inflate_fast_mask+eax*4] - add ecx,edx - mov eax, [ebx+ecx*4] - jmp L_dolen_mmx - -ALIGN 4 -L_test_for_second_level_dist_mmx: - test al,64 - jnz L_invalid_distance_code - - and eax,15 - psrlq mm0,mm1 - movd ecx,mm0 - and ecx, [inflate_fast_mask+eax*4] - mov eax, [esp+12] - add ecx,ebx - mov eax, [eax+ecx*4] - jmp L_dodist_mmx - -ALIGN 4 -L_clip_window_mmx: - - mov ecx,eax - mov eax, [esp+52] - neg ecx - mov esi, [esp+56] - - cmp eax,ebx - jb L_invalid_distance_too_far - - add ecx,ebx - cmp dword ptr [esp+48],0 - jne L_wrap_around_window_mmx - - sub eax,ecx - add esi,eax - - cmp edx,ecx - jbe L_do_copy1_mmx - - sub edx,ecx - rep movsb - mov esi,edi - sub esi,ebx - jmp L_do_copy1_mmx - - cmp edx,ecx - jbe L_do_copy1_mmx - - sub edx,ecx - rep movsb - mov esi,edi - sub esi,ebx - jmp L_do_copy1_mmx - -L_wrap_around_window_mmx: - - mov eax, [esp+48] - cmp ecx,eax - jbe L_contiguous_in_window_mmx - - add esi, [esp+52] - add esi,eax - sub esi,ecx - sub ecx,eax - - - cmp edx,ecx - jbe L_do_copy1_mmx - - sub edx,ecx - rep movsb - mov esi, [esp+56] - mov ecx, [esp+48] - cmp edx,ecx - jbe L_do_copy1_mmx - - sub edx,ecx - rep movsb - mov esi,edi - sub esi,ebx - jmp L_do_copy1_mmx - -L_contiguous_in_window_mmx: - - add esi,eax - sub esi,ecx - - - cmp edx,ecx - jbe L_do_copy1_mmx - - sub edx,ecx - rep movsb - mov esi,edi - sub esi,ebx - -L_do_copy1_mmx: - - - mov ecx,edx - rep movsb - - mov esi, [esp+44] - mov ebx, [esp+8] - jmp L_while_test_mmx -; 1174 "inffast.S" -L_invalid_distance_code: - - - - - - mov ecx, invalid_distance_code_msg - mov edx,INFLATE_MODE_BAD - jmp L_update_stream_state - -L_test_for_end_of_block: - - - - - - test al,32 - jz L_invalid_literal_length_code - - mov ecx,0 - mov edx,INFLATE_MODE_TYPE - jmp L_update_stream_state - -L_invalid_literal_length_code: - - - - - - mov ecx, invalid_literal_length_code_msg - mov edx,INFLATE_MODE_BAD - jmp L_update_stream_state - -L_invalid_distance_too_far: - - - - mov esi, [esp+44] - mov ecx, invalid_distance_too_far_msg - mov edx,INFLATE_MODE_BAD - jmp L_update_stream_state - -L_update_stream_state: - - mov eax, [esp+88] - test ecx,ecx - jz L_skip_msg - mov [eax+24],ecx -L_skip_msg: - mov eax, [eax+28] - mov [eax+mode_state],edx - jmp L_break_loop - -ALIGN 4 -L_break_loop: -; 1243 "inffast.S" - cmp dword ptr [inflate_fast_use_mmx],2 - jne L_update_next_in - - - - mov ebx,ebp - -L_update_next_in: -; 1266 "inffast.S" - mov eax, [esp+88] - mov ecx,ebx - mov edx, [eax+28] - shr ecx,3 - sub esi,ecx - shl ecx,3 - sub ebx,ecx - mov [eax+12],edi - mov [edx+bits_state],ebx - mov ecx,ebx - - lea ebx, [esp+28] - cmp [esp+20],ebx - jne L_buf_not_used - - sub esi,ebx - mov ebx, [eax+0] - mov [esp+20],ebx - add esi,ebx - mov ebx, [eax+4] - sub ebx,11 - add [esp+20],ebx - -L_buf_not_used: - mov [eax+0],esi - - mov ebx,1 - shl ebx,cl - dec ebx - - - - - - cmp dword ptr [inflate_fast_use_mmx],2 - jne L_update_hold - - - - psrlq mm0,mm1 - movd ebp,mm0 - - emms - -L_update_hold: - - - - and ebp,ebx - mov [edx+hold_state],ebp - - - - - mov ebx, [esp+20] - cmp ebx,esi - jbe L_last_is_smaller - - sub ebx,esi - add ebx,11 - mov [eax+4],ebx - jmp L_fixup_out -L_last_is_smaller: - sub esi,ebx - neg esi - add esi,11 - mov [eax+4],esi - - - - -L_fixup_out: - - mov ebx, [esp+16] - cmp ebx,edi - jbe L_end_is_smaller - - sub ebx,edi - add ebx,257 - mov [eax+16],ebx - jmp L_done -L_end_is_smaller: - sub edi,ebx - neg edi - add edi,257 - mov [eax+16],edi - - - - - -L_done: - add esp,64 - popfd - pop ebx - pop ebp - pop esi - pop edi - ret -_inflate_fast endp - -_TEXT ends -end diff --git a/protocols/Telegram/tgl/zlib/contrib/masmx86/match686.asm b/protocols/Telegram/tgl/zlib/contrib/masmx86/match686.asm deleted file mode 100644 index 3b09212f8a..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/masmx86/match686.asm +++ /dev/null @@ -1,479 +0,0 @@ -; match686.asm -- Asm portion of the optimized longest_match for 32 bits x86 -; Copyright (C) 1995-1996 Jean-loup Gailly, Brian Raiter and Gilles Vollant. -; File written by Gilles Vollant, by converting match686.S from Brian Raiter -; for MASM. This is as assembly version of longest_match -; from Jean-loup Gailly in deflate.c -; -; http://www.zlib.net -; http://www.winimage.com/zLibDll -; http://www.muppetlabs.com/~breadbox/software/assembly.html -; -; For Visual C++ 4.x and higher and ML 6.x and higher -; ml.exe is distributed in -; http://www.microsoft.com/downloads/details.aspx?FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64 -; -; this file contain two implementation of longest_match -; -; this longest_match was written by Brian raiter (1998), optimized for Pentium Pro -; (and the faster known version of match_init on modern Core 2 Duo and AMD Phenom) -; -; for using an assembly version of longest_match, you need define ASMV in project -; -; compile the asm file running -; ml /coff /Zi /c /Flmatch686.lst match686.asm -; and do not include match686.obj in your project -; -; note: contrib of zLib 1.2.3 and earlier contained both a deprecated version for -; Pentium (prior Pentium Pro) and this version for Pentium Pro and modern processor -; with autoselect (with cpu detection code) -; if you want support the old pentium optimization, you can still use these version -; -; this file is not optimized for old pentium, but it compatible with all x86 32 bits -; processor (starting 80386) -; -; -; see below : zlib1222add must be adjuster if you use a zlib version < 1.2.2.2 - -;uInt longest_match(s, cur_match) -; deflate_state *s; -; IPos cur_match; /* current match */ - - NbStack equ 76 - cur_match equ dword ptr[esp+NbStack-0] - str_s equ dword ptr[esp+NbStack-4] -; 5 dword on top (ret,ebp,esi,edi,ebx) - adrret equ dword ptr[esp+NbStack-8] - pushebp equ dword ptr[esp+NbStack-12] - pushedi equ dword ptr[esp+NbStack-16] - pushesi equ dword ptr[esp+NbStack-20] - pushebx equ dword ptr[esp+NbStack-24] - - chain_length equ dword ptr [esp+NbStack-28] - limit equ dword ptr [esp+NbStack-32] - best_len equ dword ptr [esp+NbStack-36] - window equ dword ptr [esp+NbStack-40] - prev equ dword ptr [esp+NbStack-44] - scan_start equ word ptr [esp+NbStack-48] - wmask equ dword ptr [esp+NbStack-52] - match_start_ptr equ dword ptr [esp+NbStack-56] - nice_match equ dword ptr [esp+NbStack-60] - scan equ dword ptr [esp+NbStack-64] - - windowlen equ dword ptr [esp+NbStack-68] - match_start equ dword ptr [esp+NbStack-72] - strend equ dword ptr [esp+NbStack-76] - NbStackAdd equ (NbStack-24) - - .386p - - name gvmatch - .MODEL FLAT - - - -; all the +zlib1222add offsets are due to the addition of fields -; in zlib in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). -; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). -; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). - - zlib1222add equ 8 - -; Note : these value are good with a 8 bytes boundary pack structure - dep_chain_length equ 74h+zlib1222add - dep_window equ 30h+zlib1222add - dep_strstart equ 64h+zlib1222add - dep_prev_length equ 70h+zlib1222add - dep_nice_match equ 88h+zlib1222add - dep_w_size equ 24h+zlib1222add - dep_prev equ 38h+zlib1222add - dep_w_mask equ 2ch+zlib1222add - dep_good_match equ 84h+zlib1222add - dep_match_start equ 68h+zlib1222add - dep_lookahead equ 6ch+zlib1222add - - -_TEXT segment - -IFDEF NOUNDERLINE - public longest_match - public match_init -ELSE - public _longest_match - public _match_init -ENDIF - - MAX_MATCH equ 258 - MIN_MATCH equ 3 - MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1) - - - -MAX_MATCH equ 258 -MIN_MATCH equ 3 -MIN_LOOKAHEAD equ (MAX_MATCH + MIN_MATCH + 1) -MAX_MATCH_8_ equ ((MAX_MATCH + 7) AND 0FFF0h) - - -;;; stack frame offsets - -chainlenwmask equ esp + 0 ; high word: current chain len - ; low word: s->wmask -window equ esp + 4 ; local copy of s->window -windowbestlen equ esp + 8 ; s->window + bestlen -scanstart equ esp + 16 ; first two bytes of string -scanend equ esp + 12 ; last two bytes of string -scanalign equ esp + 20 ; dword-misalignment of string -nicematch equ esp + 24 ; a good enough match size -bestlen equ esp + 28 ; size of best match so far -scan equ esp + 32 ; ptr to string wanting match - -LocalVarsSize equ 36 -; saved ebx byte esp + 36 -; saved edi byte esp + 40 -; saved esi byte esp + 44 -; saved ebp byte esp + 48 -; return address byte esp + 52 -deflatestate equ esp + 56 ; the function arguments -curmatch equ esp + 60 - -;;; Offsets for fields in the deflate_state structure. These numbers -;;; are calculated from the definition of deflate_state, with the -;;; assumption that the compiler will dword-align the fields. (Thus, -;;; changing the definition of deflate_state could easily cause this -;;; program to crash horribly, without so much as a warning at -;;; compile time. Sigh.) - -dsWSize equ 36+zlib1222add -dsWMask equ 44+zlib1222add -dsWindow equ 48+zlib1222add -dsPrev equ 56+zlib1222add -dsMatchLen equ 88+zlib1222add -dsPrevMatch equ 92+zlib1222add -dsStrStart equ 100+zlib1222add -dsMatchStart equ 104+zlib1222add -dsLookahead equ 108+zlib1222add -dsPrevLen equ 112+zlib1222add -dsMaxChainLen equ 116+zlib1222add -dsGoodMatch equ 132+zlib1222add -dsNiceMatch equ 136+zlib1222add - - -;;; match686.asm -- Pentium-Pro-optimized version of longest_match() -;;; Written for zlib 1.1.2 -;;; Copyright (C) 1998 Brian Raiter -;;; You can look at http://www.muppetlabs.com/~breadbox/software/assembly.html -;;; -;; -;; This software is provided 'as-is', without any express or implied -;; warranty. In no event will the authors be held liable for any damages -;; arising from the use of this software. -;; -;; Permission is granted to anyone to use this software for any purpose, -;; including commercial applications, and to alter it and redistribute it -;; freely, subject to the following restrictions: -;; -;; 1. The origin of this software must not be misrepresented; you must not -;; claim that you wrote the original software. If you use this software -;; in a product, an acknowledgment in the product documentation would be -;; appreciated but is not required. -;; 2. Altered source versions must be plainly marked as such, and must not be -;; misrepresented as being the original software -;; 3. This notice may not be removed or altered from any source distribution. -;; - -;GLOBAL _longest_match, _match_init - - -;SECTION .text - -;;; uInt longest_match(deflate_state *deflatestate, IPos curmatch) - -;_longest_match: - IFDEF NOUNDERLINE - longest_match proc near - ELSE - _longest_match proc near - ENDIF -.FPO (9, 4, 0, 0, 1, 0) - -;;; Save registers that the compiler may be using, and adjust esp to -;;; make room for our stack frame. - - push ebp - push edi - push esi - push ebx - sub esp, LocalVarsSize - -;;; Retrieve the function arguments. ecx will hold cur_match -;;; throughout the entire function. edx will hold the pointer to the -;;; deflate_state structure during the function's setup (before -;;; entering the main loop. - - mov edx, [deflatestate] - mov ecx, [curmatch] - -;;; uInt wmask = s->w_mask; -;;; unsigned chain_length = s->max_chain_length; -;;; if (s->prev_length >= s->good_match) { -;;; chain_length >>= 2; -;;; } - - mov eax, [edx + dsPrevLen] - mov ebx, [edx + dsGoodMatch] - cmp eax, ebx - mov eax, [edx + dsWMask] - mov ebx, [edx + dsMaxChainLen] - jl LastMatchGood - shr ebx, 2 -LastMatchGood: - -;;; chainlen is decremented once beforehand so that the function can -;;; use the sign flag instead of the zero flag for the exit test. -;;; It is then shifted into the high word, to make room for the wmask -;;; value, which it will always accompany. - - dec ebx - shl ebx, 16 - or ebx, eax - mov [chainlenwmask], ebx - -;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - mov eax, [edx + dsNiceMatch] - mov ebx, [edx + dsLookahead] - cmp ebx, eax - jl LookaheadLess - mov ebx, eax -LookaheadLess: mov [nicematch], ebx - -;;; register Bytef *scan = s->window + s->strstart; - - mov esi, [edx + dsWindow] - mov [window], esi - mov ebp, [edx + dsStrStart] - lea edi, [esi + ebp] - mov [scan], edi - -;;; Determine how many bytes the scan ptr is off from being -;;; dword-aligned. - - mov eax, edi - neg eax - and eax, 3 - mov [scanalign], eax - -;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? -;;; s->strstart - (IPos)MAX_DIST(s) : NIL; - - mov eax, [edx + dsWSize] - sub eax, MIN_LOOKAHEAD - sub ebp, eax - jg LimitPositive - xor ebp, ebp -LimitPositive: - -;;; int best_len = s->prev_length; - - mov eax, [edx + dsPrevLen] - mov [bestlen], eax - -;;; Store the sum of s->window + best_len in esi locally, and in esi. - - add esi, eax - mov [windowbestlen], esi - -;;; register ush scan_start = *(ushf*)scan; -;;; register ush scan_end = *(ushf*)(scan+best_len-1); -;;; Posf *prev = s->prev; - - movzx ebx, word ptr [edi] - mov [scanstart], ebx - movzx ebx, word ptr [edi + eax - 1] - mov [scanend], ebx - mov edi, [edx + dsPrev] - -;;; Jump into the main loop. - - mov edx, [chainlenwmask] - jmp short LoopEntry - -align 4 - -;;; do { -;;; match = s->window + cur_match; -;;; if (*(ushf*)(match+best_len-1) != scan_end || -;;; *(ushf*)match != scan_start) continue; -;;; [...] -;;; } while ((cur_match = prev[cur_match & wmask]) > limit -;;; && --chain_length != 0); -;;; -;;; Here is the inner loop of the function. The function will spend the -;;; majority of its time in this loop, and majority of that time will -;;; be spent in the first ten instructions. -;;; -;;; Within this loop: -;;; ebx = scanend -;;; ecx = curmatch -;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) -;;; esi = windowbestlen - i.e., (window + bestlen) -;;; edi = prev -;;; ebp = limit - -LookupLoop: - and ecx, edx - movzx ecx, word ptr [edi + ecx*2] - cmp ecx, ebp - jbe LeaveNow - sub edx, 00010000h - js LeaveNow -LoopEntry: movzx eax, word ptr [esi + ecx - 1] - cmp eax, ebx - jnz LookupLoop - mov eax, [window] - movzx eax, word ptr [eax + ecx] - cmp eax, [scanstart] - jnz LookupLoop - -;;; Store the current value of chainlen. - - mov [chainlenwmask], edx - -;;; Point edi to the string under scrutiny, and esi to the string we -;;; are hoping to match it up with. In actuality, esi and edi are -;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is -;;; initialized to -(MAX_MATCH_8 - scanalign). - - mov esi, [window] - mov edi, [scan] - add esi, ecx - mov eax, [scanalign] - mov edx, 0fffffef8h; -(MAX_MATCH_8) - lea edi, [edi + eax + 0108h] ;MAX_MATCH_8] - lea esi, [esi + eax + 0108h] ;MAX_MATCH_8] - -;;; Test the strings for equality, 8 bytes at a time. At the end, -;;; adjust edx so that it is offset to the exact byte that mismatched. -;;; -;;; We already know at this point that the first three bytes of the -;;; strings match each other, and they can be safely passed over before -;;; starting the compare loop. So what this code does is skip over 0-3 -;;; bytes, as much as necessary in order to dword-align the edi -;;; pointer. (esi will still be misaligned three times out of four.) -;;; -;;; It should be confessed that this loop usually does not represent -;;; much of the total running time. Replacing it with a more -;;; straightforward "rep cmpsb" would not drastically degrade -;;; performance. - -LoopCmps: - mov eax, [esi + edx] - xor eax, [edi + edx] - jnz LeaveLoopCmps - mov eax, [esi + edx + 4] - xor eax, [edi + edx + 4] - jnz LeaveLoopCmps4 - add edx, 8 - jnz LoopCmps - jmp short LenMaximum -LeaveLoopCmps4: add edx, 4 -LeaveLoopCmps: test eax, 0000FFFFh - jnz LenLower - add edx, 2 - shr eax, 16 -LenLower: sub al, 1 - adc edx, 0 - -;;; Calculate the length of the match. If it is longer than MAX_MATCH, -;;; then automatically accept it as the best possible match and leave. - - lea eax, [edi + edx] - mov edi, [scan] - sub eax, edi - cmp eax, MAX_MATCH - jge LenMaximum - -;;; If the length of the match is not longer than the best match we -;;; have so far, then forget it and return to the lookup loop. - - mov edx, [deflatestate] - mov ebx, [bestlen] - cmp eax, ebx - jg LongerMatch - mov esi, [windowbestlen] - mov edi, [edx + dsPrev] - mov ebx, [scanend] - mov edx, [chainlenwmask] - jmp LookupLoop - -;;; s->match_start = cur_match; -;;; best_len = len; -;;; if (len >= nice_match) break; -;;; scan_end = *(ushf*)(scan+best_len-1); - -LongerMatch: mov ebx, [nicematch] - mov [bestlen], eax - mov [edx + dsMatchStart], ecx - cmp eax, ebx - jge LeaveNow - mov esi, [window] - add esi, eax - mov [windowbestlen], esi - movzx ebx, word ptr [edi + eax - 1] - mov edi, [edx + dsPrev] - mov [scanend], ebx - mov edx, [chainlenwmask] - jmp LookupLoop - -;;; Accept the current string, with the maximum possible length. - -LenMaximum: mov edx, [deflatestate] - mov dword ptr [bestlen], MAX_MATCH - mov [edx + dsMatchStart], ecx - -;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len; -;;; return s->lookahead; - -LeaveNow: - mov edx, [deflatestate] - mov ebx, [bestlen] - mov eax, [edx + dsLookahead] - cmp ebx, eax - jg LookaheadRet - mov eax, ebx -LookaheadRet: - -;;; Restore the stack and return from whence we came. - - add esp, LocalVarsSize - pop ebx - pop esi - pop edi - pop ebp - - ret -; please don't remove this string ! -; Your can freely use match686 in any free or commercial app if you don't remove the string in the binary! - db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998",0dh,0ah - - - IFDEF NOUNDERLINE - longest_match endp - ELSE - _longest_match endp - ENDIF - - IFDEF NOUNDERLINE - match_init proc near - ret - match_init endp - ELSE - _match_init proc near - ret - _match_init endp - ENDIF - - -_TEXT ends -end diff --git a/protocols/Telegram/tgl/zlib/contrib/masmx86/readme.txt b/protocols/Telegram/tgl/zlib/contrib/masmx86/readme.txt deleted file mode 100644 index 3271f720a1..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/masmx86/readme.txt +++ /dev/null @@ -1,27 +0,0 @@ - -Summary -------- -This directory contains ASM implementations of the functions -longest_match() and inflate_fast(). - - -Use instructions ----------------- -Assemble using MASM, and copy the object files into the zlib source -directory, then run the appropriate makefile, as suggested below. You can -donwload MASM from here: - - http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64 - -You can also get objects files here: - - http://www.winimage.com/zLibDll/zlib124_masm_obj.zip - -Build instructions ------------------- -* With Microsoft C and MASM: -nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" - -* With Borland C and TASM: -make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj" - diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/Makefile b/protocols/Telegram/tgl/zlib/contrib/minizip/Makefile deleted file mode 100644 index 84eaad20d4..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -CC=cc -CFLAGS=-O -I../.. - -UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a -ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a - -.c.o: - $(CC) -c $(CFLAGS) $*.c - -all: miniunz minizip - -miniunz: $(UNZ_OBJS) - $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) - -minizip: $(ZIP_OBJS) - $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) - -test: miniunz minizip - ./minizip test readme.txt - ./miniunz -l test.zip - mv readme.txt readme.old - ./miniunz test.zip - -clean: - /bin/rm -f *.o *~ minizip miniunz diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/Makefile.am b/protocols/Telegram/tgl/zlib/contrib/minizip/Makefile.am deleted file mode 100644 index d343011ebc..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/Makefile.am +++ /dev/null @@ -1,45 +0,0 @@ -lib_LTLIBRARIES = libminizip.la - -if COND_DEMOS -bin_PROGRAMS = miniunzip minizip -endif - -zlib_top_srcdir = $(top_srcdir)/../.. -zlib_top_builddir = $(top_builddir)/../.. - -AM_CPPFLAGS = -I$(zlib_top_srcdir) -AM_LDFLAGS = -L$(zlib_top_builddir) - -if WIN32 -iowin32_src = iowin32.c -iowin32_h = iowin32.h -endif - -libminizip_la_SOURCES = \ - ioapi.c \ - mztools.c \ - unzip.c \ - zip.c \ - ${iowin32_src} - -libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz - -minizip_includedir = $(includedir)/minizip -minizip_include_HEADERS = \ - crypt.h \ - ioapi.h \ - mztools.h \ - unzip.h \ - zip.h \ - ${iowin32_h} - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = minizip.pc - -EXTRA_PROGRAMS = miniunzip minizip - -miniunzip_SOURCES = miniunz.c -miniunzip_LDADD = libminizip.la - -minizip_SOURCES = minizip.c -minizip_LDADD = libminizip.la -lz diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/MiniZip64_Changes.txt b/protocols/Telegram/tgl/zlib/contrib/minizip/MiniZip64_Changes.txt deleted file mode 100644 index 13a1bd91a9..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/MiniZip64_Changes.txt +++ /dev/null @@ -1,6 +0,0 @@ - -MiniZip 1.1 was derrived from MiniZip at version 1.01f - -Change in 1.0 (Okt 2009) - - **TODO - Add history** - diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/MiniZip64_info.txt b/protocols/Telegram/tgl/zlib/contrib/minizip/MiniZip64_info.txt deleted file mode 100644 index 57d7152420..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/MiniZip64_info.txt +++ /dev/null @@ -1,74 +0,0 @@ -MiniZip - Copyright (c) 1998-2010 - by Gilles Vollant - version 1.1 64 bits from Mathias Svensson - -Introduction ---------------------- -MiniZip 1.1 is built from MiniZip 1.0 by Gilles Vollant ( http://www.winimage.com/zLibDll/minizip.html ) - -When adding ZIP64 support into minizip it would result into risk of breaking compatibility with minizip 1.0. -All possible work was done for compatibility. - - -Background ---------------------- -When adding ZIP64 support Mathias Svensson found that Even Rouault have added ZIP64 -support for unzip.c into minizip for a open source project called gdal ( http://www.gdal.org/ ) - -That was used as a starting point. And after that ZIP64 support was added to zip.c -some refactoring and code cleanup was also done. - - -Changed from MiniZip 1.0 to MiniZip 1.1 ---------------------------------------- -* Added ZIP64 support for unzip ( by Even Rouault ) -* Added ZIP64 support for zip ( by Mathias Svensson ) -* Reverted some changed that Even Rouault did. -* Bunch of patches received from Gulles Vollant that he received for MiniZip from various users. -* Added unzip patch for BZIP Compression method (patch create by Daniel Borca) -* Added BZIP Compress method for zip -* Did some refactoring and code cleanup - - -Credits - - Gilles Vollant - Original MiniZip author - Even Rouault - ZIP64 unzip Support - Daniel Borca - BZip Compression method support in unzip - Mathias Svensson - ZIP64 zip support - Mathias Svensson - BZip Compression method support in zip - - Resources - - ZipLayout http://result42.com/projects/ZipFileLayout - Command line tool for Windows that shows the layout and information of the headers in a zip archive. - Used when debugging and validating the creation of zip files using MiniZip64 - - - ZIP App Note http://www.pkware.com/documents/casestudies/APPNOTE.TXT - Zip File specification - - -Notes. - * To be able to use BZip compression method in zip64.c or unzip64.c the BZIP2 lib is needed and HAVE_BZIP2 need to be defined. - -License ----------------------------------------------------------- - Condition of use and distribution are the same than zlib : - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - ----------------------------------------------------------- - diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/configure.ac b/protocols/Telegram/tgl/zlib/contrib/minizip/configure.ac deleted file mode 100644 index 827a4e0577..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/configure.ac +++ /dev/null @@ -1,32 +0,0 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. - -AC_INIT([minizip], [1.2.8], [bugzilla.redhat.com]) -AC_CONFIG_SRCDIR([minizip.c]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT - -AC_MSG_CHECKING([whether to build example programs]) -AC_ARG_ENABLE([demos], AC_HELP_STRING([--enable-demos], [build example programs])) -AM_CONDITIONAL([COND_DEMOS], [test "$enable_demos" = yes]) -if test "$enable_demos" = yes -then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - -case "${host}" in - *-mingw* | mingw*) - WIN32="yes" - ;; - *) - ;; -esac -AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"]) - - -AC_SUBST([HAVE_UNISTD_H], [0]) -AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], []) -AC_CONFIG_FILES([Makefile minizip.pc]) -AC_OUTPUT diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/crypt.h b/protocols/Telegram/tgl/zlib/contrib/minizip/crypt.h deleted file mode 100644 index 1e9e8200b2..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/crypt.h +++ /dev/null @@ -1,131 +0,0 @@ -/* crypt.h -- base code for crypt/uncrypt ZIPfile - - - Version 1.01e, February 12th, 2005 - - Copyright (C) 1998-2005 Gilles Vollant - - This code is a modified version of crypting code in Infozip distribution - - The encryption/decryption parts of this source code (as opposed to the - non-echoing password parts) were originally written in Europe. The - whole source package can be freely distributed, including from the USA. - (Prior to January 2000, re-export from the US was a violation of US law.) - - This encryption code is a direct transcription of the algorithm from - Roger Schlafly, described by Phil Katz in the file appnote.txt. This - file (appnote.txt) is distributed with the PKZIP program (even in the - version without encryption capabilities). - - If you don't need crypting in your application, just define symbols - NOCRYPT and NOUNCRYPT. - - This code support the "Traditional PKWARE Encryption". - - The new AES encryption added on Zip format by Winzip (see the page - http://www.winzip.com/aes_info.htm ) and PKWare PKZip 5.x Strong - Encryption is not supported. -*/ - -#define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8)) - -/*********************************************************************** - * Return the next byte in the pseudo-random sequence - */ -static int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab) -{ - unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an - * unpredictable manner on 16-bit systems; not a problem - * with any known compiler so far, though */ - - temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2; - return (int)(((temp * (temp ^ 1)) >> 8) & 0xff); -} - -/*********************************************************************** - * Update the encryption keys with the next byte of plain text - */ -static int update_keys(unsigned long* pkeys,const z_crc_t* pcrc_32_tab,int c) -{ - (*(pkeys+0)) = CRC32((*(pkeys+0)), c); - (*(pkeys+1)) += (*(pkeys+0)) & 0xff; - (*(pkeys+1)) = (*(pkeys+1)) * 134775813L + 1; - { - register int keyshift = (int)((*(pkeys+1)) >> 24); - (*(pkeys+2)) = CRC32((*(pkeys+2)), keyshift); - } - return c; -} - - -/*********************************************************************** - * Initialize the encryption keys and the random header according to - * the given password. - */ -static void init_keys(const char* passwd,unsigned long* pkeys,const z_crc_t* pcrc_32_tab) -{ - *(pkeys+0) = 305419896L; - *(pkeys+1) = 591751049L; - *(pkeys+2) = 878082192L; - while (*passwd != '\0') { - update_keys(pkeys,pcrc_32_tab,(int)*passwd); - passwd++; - } -} - -#define zdecode(pkeys,pcrc_32_tab,c) \ - (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys,pcrc_32_tab))) - -#define zencode(pkeys,pcrc_32_tab,c,t) \ - (t=decrypt_byte(pkeys,pcrc_32_tab), update_keys(pkeys,pcrc_32_tab,c), t^(c)) - -#ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED - -#define RAND_HEAD_LEN 12 - /* "last resort" source for second part of crypt seed pattern */ -# ifndef ZCR_SEED2 -# define ZCR_SEED2 3141592654UL /* use PI as default pattern */ -# endif - -static int crypthead(const char* passwd, /* password string */ - unsigned char* buf, /* where to write header */ - int bufSize, - unsigned long* pkeys, - const z_crc_t* pcrc_32_tab, - unsigned long crcForCrypting) -{ - int n; /* index in random header */ - int t; /* temporary */ - int c; /* random byte */ - unsigned char header[RAND_HEAD_LEN-2]; /* random header */ - static unsigned calls = 0; /* ensure different random header each time */ - - if (bufSize> 7) & 0xff; - header[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, c, t); - } - /* Encrypt random header (last two bytes is high word of crc) */ - init_keys(passwd, pkeys, pcrc_32_tab); - for (n = 0; n < RAND_HEAD_LEN-2; n++) - { - buf[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, header[n], t); - } - buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t); - buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t); - return n; -} - -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/ioapi.c b/protocols/Telegram/tgl/zlib/contrib/minizip/ioapi.c deleted file mode 100644 index 7f5c191b2a..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/ioapi.c +++ /dev/null @@ -1,247 +0,0 @@ -/* ioapi.h -- IO base function header for compress/uncompress .zip - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - -*/ - -#if defined(_WIN32) && (!(defined(_CRT_SECURE_NO_WARNINGS))) - #define _CRT_SECURE_NO_WARNINGS -#endif - -#if defined(__APPLE__) || defined(IOAPI_NO_64) -// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions -#define FOPEN_FUNC(filename, mode) fopen(filename, mode) -#define FTELLO_FUNC(stream) ftello(stream) -#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin) -#else -#define FOPEN_FUNC(filename, mode) fopen64(filename, mode) -#define FTELLO_FUNC(stream) ftello64(stream) -#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin) -#endif - - -#include "ioapi.h" - -voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode) -{ - if (pfilefunc->zfile_func64.zopen64_file != NULL) - return (*(pfilefunc->zfile_func64.zopen64_file)) (pfilefunc->zfile_func64.opaque,filename,mode); - else - { - return (*(pfilefunc->zopen32_file))(pfilefunc->zfile_func64.opaque,(const char*)filename,mode); - } -} - -long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin) -{ - if (pfilefunc->zfile_func64.zseek64_file != NULL) - return (*(pfilefunc->zfile_func64.zseek64_file)) (pfilefunc->zfile_func64.opaque,filestream,offset,origin); - else - { - uLong offsetTruncated = (uLong)offset; - if (offsetTruncated != offset) - return -1; - else - return (*(pfilefunc->zseek32_file))(pfilefunc->zfile_func64.opaque,filestream,offsetTruncated,origin); - } -} - -ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream) -{ - if (pfilefunc->zfile_func64.zseek64_file != NULL) - return (*(pfilefunc->zfile_func64.ztell64_file)) (pfilefunc->zfile_func64.opaque,filestream); - else - { - uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream); - if ((tell_uLong) == MAXU32) - return (ZPOS64_T)-1; - else - return tell_uLong; - } -} - -void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32) -{ - p_filefunc64_32->zfile_func64.zopen64_file = NULL; - p_filefunc64_32->zopen32_file = p_filefunc32->zopen_file; - p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file; - p_filefunc64_32->zfile_func64.zread_file = p_filefunc32->zread_file; - p_filefunc64_32->zfile_func64.zwrite_file = p_filefunc32->zwrite_file; - p_filefunc64_32->zfile_func64.ztell64_file = NULL; - p_filefunc64_32->zfile_func64.zseek64_file = NULL; - p_filefunc64_32->zfile_func64.zclose_file = p_filefunc32->zclose_file; - p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file; - p_filefunc64_32->zfile_func64.opaque = p_filefunc32->opaque; - p_filefunc64_32->zseek32_file = p_filefunc32->zseek_file; - p_filefunc64_32->ztell32_file = p_filefunc32->ztell_file; -} - - - -static voidpf ZCALLBACK fopen_file_func OF((voidpf opaque, const char* filename, int mode)); -static uLong ZCALLBACK fread_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size)); -static uLong ZCALLBACK fwrite_file_func OF((voidpf opaque, voidpf stream, const void* buf,uLong size)); -static ZPOS64_T ZCALLBACK ftell64_file_func OF((voidpf opaque, voidpf stream)); -static long ZCALLBACK fseek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)); -static int ZCALLBACK fclose_file_func OF((voidpf opaque, voidpf stream)); -static int ZCALLBACK ferror_file_func OF((voidpf opaque, voidpf stream)); - -static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode) -{ - FILE* file = NULL; - const char* mode_fopen = NULL; - if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - mode_fopen = "rb"; - else - if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - mode_fopen = "r+b"; - else - if (mode & ZLIB_FILEFUNC_MODE_CREATE) - mode_fopen = "wb"; - - if ((filename!=NULL) && (mode_fopen != NULL)) - file = fopen(filename, mode_fopen); - return file; -} - -static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode) -{ - FILE* file = NULL; - const char* mode_fopen = NULL; - if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - mode_fopen = "rb"; - else - if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - mode_fopen = "r+b"; - else - if (mode & ZLIB_FILEFUNC_MODE_CREATE) - mode_fopen = "wb"; - - if ((filename!=NULL) && (mode_fopen != NULL)) - file = FOPEN_FUNC((const char*)filename, mode_fopen); - return file; -} - - -static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size) -{ - uLong ret; - ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream); - return ret; -} - -static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size) -{ - uLong ret; - ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream); - return ret; -} - -static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream) -{ - long ret; - ret = ftell((FILE *)stream); - return ret; -} - - -static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream) -{ - ZPOS64_T ret; - ret = FTELLO_FUNC((FILE *)stream); - return ret; -} - -static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin) -{ - int fseek_origin=0; - long ret; - switch (origin) - { - case ZLIB_FILEFUNC_SEEK_CUR : - fseek_origin = SEEK_CUR; - break; - case ZLIB_FILEFUNC_SEEK_END : - fseek_origin = SEEK_END; - break; - case ZLIB_FILEFUNC_SEEK_SET : - fseek_origin = SEEK_SET; - break; - default: return -1; - } - ret = 0; - if (fseek((FILE *)stream, offset, fseek_origin) != 0) - ret = -1; - return ret; -} - -static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin) -{ - int fseek_origin=0; - long ret; - switch (origin) - { - case ZLIB_FILEFUNC_SEEK_CUR : - fseek_origin = SEEK_CUR; - break; - case ZLIB_FILEFUNC_SEEK_END : - fseek_origin = SEEK_END; - break; - case ZLIB_FILEFUNC_SEEK_SET : - fseek_origin = SEEK_SET; - break; - default: return -1; - } - ret = 0; - - if(FSEEKO_FUNC((FILE *)stream, offset, fseek_origin) != 0) - ret = -1; - - return ret; -} - - -static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream) -{ - int ret; - ret = fclose((FILE *)stream); - return ret; -} - -static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream) -{ - int ret; - ret = ferror((FILE *)stream); - return ret; -} - -void fill_fopen_filefunc (pzlib_filefunc_def) - zlib_filefunc_def* pzlib_filefunc_def; -{ - pzlib_filefunc_def->zopen_file = fopen_file_func; - pzlib_filefunc_def->zread_file = fread_file_func; - pzlib_filefunc_def->zwrite_file = fwrite_file_func; - pzlib_filefunc_def->ztell_file = ftell_file_func; - pzlib_filefunc_def->zseek_file = fseek_file_func; - pzlib_filefunc_def->zclose_file = fclose_file_func; - pzlib_filefunc_def->zerror_file = ferror_file_func; - pzlib_filefunc_def->opaque = NULL; -} - -void fill_fopen64_filefunc (zlib_filefunc64_def* pzlib_filefunc_def) -{ - pzlib_filefunc_def->zopen64_file = fopen64_file_func; - pzlib_filefunc_def->zread_file = fread_file_func; - pzlib_filefunc_def->zwrite_file = fwrite_file_func; - pzlib_filefunc_def->ztell64_file = ftell64_file_func; - pzlib_filefunc_def->zseek64_file = fseek64_file_func; - pzlib_filefunc_def->zclose_file = fclose_file_func; - pzlib_filefunc_def->zerror_file = ferror_file_func; - pzlib_filefunc_def->opaque = NULL; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/ioapi.h b/protocols/Telegram/tgl/zlib/contrib/minizip/ioapi.h deleted file mode 100644 index 8dcbdb06e3..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/ioapi.h +++ /dev/null @@ -1,208 +0,0 @@ -/* ioapi.h -- IO base function header for compress/uncompress .zip - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - - Changes - - Oct-2009 - Defined ZPOS64_T to fpos_t on windows and u_int64_t on linux. (might need to find a better why for this) - Oct-2009 - Change to fseeko64, ftello64 and fopen64 so large files would work on linux. - More if/def section may be needed to support other platforms - Oct-2009 - Defined fxxxx64 calls to normal fopen/ftell/fseek so they would compile on windows. - (but you should use iowin32.c for windows instead) - -*/ - -#ifndef _ZLIBIOAPI64_H -#define _ZLIBIOAPI64_H - -#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__)) - - // Linux needs this to support file operation on files larger then 4+GB - // But might need better if/def to select just the platforms that needs them. - - #ifndef __USE_FILE_OFFSET64 - #define __USE_FILE_OFFSET64 - #endif - #ifndef __USE_LARGEFILE64 - #define __USE_LARGEFILE64 - #endif - #ifndef _LARGEFILE64_SOURCE - #define _LARGEFILE64_SOURCE - #endif - #ifndef _FILE_OFFSET_BIT - #define _FILE_OFFSET_BIT 64 - #endif - -#endif - -#include -#include -#include "zlib.h" - -#if defined(USE_FILE32API) -#define fopen64 fopen -#define ftello64 ftell -#define fseeko64 fseek -#else -#ifdef __FreeBSD__ -#define fopen64 fopen -#define ftello64 ftello -#define fseeko64 fseeko -#endif -#ifdef _MSC_VER - #define fopen64 fopen - #if (_MSC_VER >= 1400) && (!(defined(NO_MSCVER_FILE64_FUNC))) - #define ftello64 _ftelli64 - #define fseeko64 _fseeki64 - #else // old MSC - #define ftello64 ftell - #define fseeko64 fseek - #endif -#endif -#endif - -/* -#ifndef ZPOS64_T - #ifdef _WIN32 - #define ZPOS64_T fpos_t - #else - #include - #define ZPOS64_T uint64_t - #endif -#endif -*/ - -#ifdef HAVE_MINIZIP64_CONF_H -#include "mz64conf.h" -#endif - -/* a type choosen by DEFINE */ -#ifdef HAVE_64BIT_INT_CUSTOM -typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T; -#else -#ifdef HAS_STDINT_H -#include "stdint.h" -typedef uint64_t ZPOS64_T; -#else - -/* Maximum unsigned 32-bit value used as placeholder for zip64 */ -#define MAXU32 0xffffffff - -#if defined(_MSC_VER) || defined(__BORLANDC__) -typedef unsigned __int64 ZPOS64_T; -#else -typedef unsigned long long int ZPOS64_T; -#endif -#endif -#endif - - - -#ifdef __cplusplus -extern "C" { -#endif - - -#define ZLIB_FILEFUNC_SEEK_CUR (1) -#define ZLIB_FILEFUNC_SEEK_END (2) -#define ZLIB_FILEFUNC_SEEK_SET (0) - -#define ZLIB_FILEFUNC_MODE_READ (1) -#define ZLIB_FILEFUNC_MODE_WRITE (2) -#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3) - -#define ZLIB_FILEFUNC_MODE_EXISTING (4) -#define ZLIB_FILEFUNC_MODE_CREATE (8) - - -#ifndef ZCALLBACK - #if (defined(WIN32) || defined(_WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) - #define ZCALLBACK CALLBACK - #else - #define ZCALLBACK - #endif -#endif - - - - -typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); -typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); -typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); -typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream)); -typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream)); - -typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream)); -typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin)); - - -/* here is the "old" 32 bits structure structure */ -typedef struct zlib_filefunc_def_s -{ - open_file_func zopen_file; - read_file_func zread_file; - write_file_func zwrite_file; - tell_file_func ztell_file; - seek_file_func zseek_file; - close_file_func zclose_file; - testerror_file_func zerror_file; - voidpf opaque; -} zlib_filefunc_def; - -typedef ZPOS64_T (ZCALLBACK *tell64_file_func) OF((voidpf opaque, voidpf stream)); -typedef long (ZCALLBACK *seek64_file_func) OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)); -typedef voidpf (ZCALLBACK *open64_file_func) OF((voidpf opaque, const void* filename, int mode)); - -typedef struct zlib_filefunc64_def_s -{ - open64_file_func zopen64_file; - read_file_func zread_file; - write_file_func zwrite_file; - tell64_file_func ztell64_file; - seek64_file_func zseek64_file; - close_file_func zclose_file; - testerror_file_func zerror_file; - voidpf opaque; -} zlib_filefunc64_def; - -void fill_fopen64_filefunc OF((zlib_filefunc64_def* pzlib_filefunc_def)); -void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); - -/* now internal definition, only for zip.c and unzip.h */ -typedef struct zlib_filefunc64_32_def_s -{ - zlib_filefunc64_def zfile_func64; - open_file_func zopen32_file; - tell_file_func ztell32_file; - seek_file_func zseek32_file; -} zlib_filefunc64_32_def; - - -#define ZREAD64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zread_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size)) -#define ZWRITE64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zwrite_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size)) -//#define ZTELL64(filefunc,filestream) ((*((filefunc).ztell64_file)) ((filefunc).opaque,filestream)) -//#define ZSEEK64(filefunc,filestream,pos,mode) ((*((filefunc).zseek64_file)) ((filefunc).opaque,filestream,pos,mode)) -#define ZCLOSE64(filefunc,filestream) ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream)) -#define ZERROR64(filefunc,filestream) ((*((filefunc).zfile_func64.zerror_file)) ((filefunc).zfile_func64.opaque,filestream)) - -voidpf call_zopen64 OF((const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode)); -long call_zseek64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin)); -ZPOS64_T call_ztell64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream)); - -void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32); - -#define ZOPEN64(filefunc,filename,mode) (call_zopen64((&(filefunc)),(filename),(mode))) -#define ZTELL64(filefunc,filestream) (call_ztell64((&(filefunc)),(filestream))) -#define ZSEEK64(filefunc,filestream,pos,mode) (call_zseek64((&(filefunc)),(filestream),(pos),(mode))) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/iowin32.c b/protocols/Telegram/tgl/zlib/contrib/minizip/iowin32.c deleted file mode 100644 index a46d96c7fd..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/iowin32.c +++ /dev/null @@ -1,461 +0,0 @@ -/* iowin32.c -- IO base function header for compress/uncompress .zip - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - -*/ - -#include - -#include "zlib.h" -#include "ioapi.h" -#include "iowin32.h" - -#ifndef INVALID_HANDLE_VALUE -#define INVALID_HANDLE_VALUE (0xFFFFFFFF) -#endif - -#ifndef INVALID_SET_FILE_POINTER -#define INVALID_SET_FILE_POINTER ((DWORD)-1) -#endif - - -#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API))) -#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) -#define IOWIN32_USING_WINRT_API 1 -#endif -#endif - -voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode)); -uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size)); -uLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); -ZPOS64_T ZCALLBACK win32_tell64_file_func OF((voidpf opaque, voidpf stream)); -long ZCALLBACK win32_seek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)); -int ZCALLBACK win32_close_file_func OF((voidpf opaque, voidpf stream)); -int ZCALLBACK win32_error_file_func OF((voidpf opaque, voidpf stream)); - -typedef struct -{ - HANDLE hf; - int error; -} WIN32FILE_IOWIN; - - -static void win32_translate_open_mode(int mode, - DWORD* lpdwDesiredAccess, - DWORD* lpdwCreationDisposition, - DWORD* lpdwShareMode, - DWORD* lpdwFlagsAndAttributes) -{ - *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0; - - if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - { - *lpdwDesiredAccess = GENERIC_READ; - *lpdwCreationDisposition = OPEN_EXISTING; - *lpdwShareMode = FILE_SHARE_READ; - } - else if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - { - *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ; - *lpdwCreationDisposition = OPEN_EXISTING; - } - else if (mode & ZLIB_FILEFUNC_MODE_CREATE) - { - *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ; - *lpdwCreationDisposition = CREATE_ALWAYS; - } -} - -static voidpf win32_build_iowin(HANDLE hFile) -{ - voidpf ret=NULL; - - if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE)) - { - WIN32FILE_IOWIN w32fiow; - w32fiow.hf = hFile; - w32fiow.error = 0; - ret = malloc(sizeof(WIN32FILE_IOWIN)); - - if (ret==NULL) - CloseHandle(hFile); - else - *((WIN32FILE_IOWIN*)ret) = w32fiow; - } - return ret; -} - -voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int mode) -{ - const char* mode_fopen = NULL; - DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; - HANDLE hFile = NULL; - - win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - -#ifdef IOWIN32_USING_WINRT_API -#ifdef UNICODE - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL); -#else - if ((filename!=NULL) && (dwDesiredAccess != 0)) - { - WCHAR filenameW[FILENAME_MAX + 0x200 + 1]; - MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200); - hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL); - } -#endif -#else - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); -#endif - - return win32_build_iowin(hFile); -} - - -voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int mode) -{ - const char* mode_fopen = NULL; - DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; - HANDLE hFile = NULL; - - win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - -#ifdef IOWIN32_USING_WINRT_API - if ((filename!=NULL) && (dwDesiredAccess != 0)) - { - WCHAR filenameW[FILENAME_MAX + 0x200 + 1]; - MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200); - hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL); - } -#else - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); -#endif - - return win32_build_iowin(hFile); -} - - -voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int mode) -{ - const char* mode_fopen = NULL; - DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; - HANDLE hFile = NULL; - - win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - -#ifdef IOWIN32_USING_WINRT_API - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFile2((LPCWSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition,NULL); -#else - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); -#endif - - return win32_build_iowin(hFile); -} - - -voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mode) -{ - const char* mode_fopen = NULL; - DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; - HANDLE hFile = NULL; - - win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - -#ifdef IOWIN32_USING_WINRT_API -#ifdef UNICODE - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL); -#else - if ((filename!=NULL) && (dwDesiredAccess != 0)) - { - WCHAR filenameW[FILENAME_MAX + 0x200 + 1]; - MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200); - hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL); - } -#endif -#else - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); -#endif - - return win32_build_iowin(hFile); -} - - -uLong ZCALLBACK win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uLong size) -{ - uLong ret=0; - HANDLE hFile = NULL; - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - if (hFile != NULL) - { - if (!ReadFile(hFile, buf, size, &ret, NULL)) - { - DWORD dwErr = GetLastError(); - if (dwErr == ERROR_HANDLE_EOF) - dwErr = 0; - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - } - } - - return ret; -} - - -uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* buf,uLong size) -{ - uLong ret=0; - HANDLE hFile = NULL; - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - if (hFile != NULL) - { - if (!WriteFile(hFile, buf, size, &ret, NULL)) - { - DWORD dwErr = GetLastError(); - if (dwErr == ERROR_HANDLE_EOF) - dwErr = 0; - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - } - } - - return ret; -} - -static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER *newPos, DWORD dwMoveMethod) -{ -#ifdef IOWIN32_USING_WINRT_API - return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod); -#else - LONG lHigh = pos.HighPart; - DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, FILE_CURRENT); - BOOL fOk = TRUE; - if (dwNewPos == 0xFFFFFFFF) - if (GetLastError() != NO_ERROR) - fOk = FALSE; - if ((newPos != NULL) && (fOk)) - { - newPos->LowPart = dwNewPos; - newPos->HighPart = lHigh; - } - return fOk; -#endif -} - -long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream) -{ - long ret=-1; - HANDLE hFile = NULL; - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - if (hFile != NULL) - { - LARGE_INTEGER pos; - pos.QuadPart = 0; - - if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT)) - { - DWORD dwErr = GetLastError(); - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - ret = -1; - } - else - ret=(long)pos.LowPart; - } - return ret; -} - -ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream) -{ - ZPOS64_T ret= (ZPOS64_T)-1; - HANDLE hFile = NULL; - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream)->hf; - - if (hFile) - { - LARGE_INTEGER pos; - pos.QuadPart = 0; - - if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT)) - { - DWORD dwErr = GetLastError(); - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - ret = (ZPOS64_T)-1; - } - else - ret=pos.QuadPart; - } - return ret; -} - - -long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,int origin) -{ - DWORD dwMoveMethod=0xFFFFFFFF; - HANDLE hFile = NULL; - - long ret=-1; - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - switch (origin) - { - case ZLIB_FILEFUNC_SEEK_CUR : - dwMoveMethod = FILE_CURRENT; - break; - case ZLIB_FILEFUNC_SEEK_END : - dwMoveMethod = FILE_END; - break; - case ZLIB_FILEFUNC_SEEK_SET : - dwMoveMethod = FILE_BEGIN; - break; - default: return -1; - } - - if (hFile != NULL) - { - LARGE_INTEGER pos; - pos.QuadPart = offset; - if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod)) - { - DWORD dwErr = GetLastError(); - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - ret = -1; - } - else - ret=0; - } - return ret; -} - -long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T offset,int origin) -{ - DWORD dwMoveMethod=0xFFFFFFFF; - HANDLE hFile = NULL; - long ret=-1; - - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream)->hf; - - switch (origin) - { - case ZLIB_FILEFUNC_SEEK_CUR : - dwMoveMethod = FILE_CURRENT; - break; - case ZLIB_FILEFUNC_SEEK_END : - dwMoveMethod = FILE_END; - break; - case ZLIB_FILEFUNC_SEEK_SET : - dwMoveMethod = FILE_BEGIN; - break; - default: return -1; - } - - if (hFile) - { - LARGE_INTEGER pos; - pos.QuadPart = offset; - if (!MySetFilePointerEx(hFile, pos, NULL, FILE_CURRENT)) - { - DWORD dwErr = GetLastError(); - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - ret = -1; - } - else - ret=0; - } - return ret; -} - -int ZCALLBACK win32_close_file_func (voidpf opaque, voidpf stream) -{ - int ret=-1; - - if (stream!=NULL) - { - HANDLE hFile; - hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - if (hFile != NULL) - { - CloseHandle(hFile); - ret=0; - } - free(stream); - } - return ret; -} - -int ZCALLBACK win32_error_file_func (voidpf opaque,voidpf stream) -{ - int ret=-1; - if (stream!=NULL) - { - ret = ((WIN32FILE_IOWIN*)stream) -> error; - } - return ret; -} - -void fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def) -{ - pzlib_filefunc_def->zopen_file = win32_open_file_func; - pzlib_filefunc_def->zread_file = win32_read_file_func; - pzlib_filefunc_def->zwrite_file = win32_write_file_func; - pzlib_filefunc_def->ztell_file = win32_tell_file_func; - pzlib_filefunc_def->zseek_file = win32_seek_file_func; - pzlib_filefunc_def->zclose_file = win32_close_file_func; - pzlib_filefunc_def->zerror_file = win32_error_file_func; - pzlib_filefunc_def->opaque = NULL; -} - -void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def) -{ - pzlib_filefunc_def->zopen64_file = win32_open64_file_func; - pzlib_filefunc_def->zread_file = win32_read_file_func; - pzlib_filefunc_def->zwrite_file = win32_write_file_func; - pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - pzlib_filefunc_def->zclose_file = win32_close_file_func; - pzlib_filefunc_def->zerror_file = win32_error_file_func; - pzlib_filefunc_def->opaque = NULL; -} - - -void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def) -{ - pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA; - pzlib_filefunc_def->zread_file = win32_read_file_func; - pzlib_filefunc_def->zwrite_file = win32_write_file_func; - pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - pzlib_filefunc_def->zclose_file = win32_close_file_func; - pzlib_filefunc_def->zerror_file = win32_error_file_func; - pzlib_filefunc_def->opaque = NULL; -} - - -void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def) -{ - pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW; - pzlib_filefunc_def->zread_file = win32_read_file_func; - pzlib_filefunc_def->zwrite_file = win32_write_file_func; - pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - pzlib_filefunc_def->zclose_file = win32_close_file_func; - pzlib_filefunc_def->zerror_file = win32_error_file_func; - pzlib_filefunc_def->opaque = NULL; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/iowin32.h b/protocols/Telegram/tgl/zlib/contrib/minizip/iowin32.h deleted file mode 100644 index 0ca0969a7d..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/iowin32.h +++ /dev/null @@ -1,28 +0,0 @@ -/* iowin32.h -- IO base function header for compress/uncompress .zip - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - -*/ - -#include - - -#ifdef __cplusplus -extern "C" { -#endif - -void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); -void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def)); -void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def)); -void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def)); - -#ifdef __cplusplus -} -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/make_vms.com b/protocols/Telegram/tgl/zlib/contrib/minizip/make_vms.com deleted file mode 100644 index 9ac13a98fa..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/make_vms.com +++ /dev/null @@ -1,25 +0,0 @@ -$ if f$search("ioapi.h_orig") .eqs. "" then copy ioapi.h ioapi.h_orig -$ open/write zdef vmsdefs.h -$ copy sys$input: zdef -$ deck -#define unix -#define fill_zlib_filefunc64_32_def_from_filefunc32 fillzffunc64from -#define Write_Zip64EndOfCentralDirectoryLocator Write_Zip64EoDLocator -#define Write_Zip64EndOfCentralDirectoryRecord Write_Zip64EoDRecord -#define Write_EndOfCentralDirectoryRecord Write_EoDRecord -$ eod -$ close zdef -$ copy vmsdefs.h,ioapi.h_orig ioapi.h -$ cc/include=[--]/prefix=all ioapi.c -$ cc/include=[--]/prefix=all miniunz.c -$ cc/include=[--]/prefix=all unzip.c -$ cc/include=[--]/prefix=all minizip.c -$ cc/include=[--]/prefix=all zip.c -$ link miniunz,unzip,ioapi,[--]libz.olb/lib -$ link minizip,zip,ioapi,[--]libz.olb/lib -$ mcr []minizip test minizip_info.txt -$ mcr []miniunz -l test.zip -$ rename minizip_info.txt; minizip_info.txt_old -$ mcr []miniunz test.zip -$ delete test.zip;* -$exit diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/miniunz.c b/protocols/Telegram/tgl/zlib/contrib/minizip/miniunz.c deleted file mode 100644 index 3d65401be5..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/miniunz.c +++ /dev/null @@ -1,660 +0,0 @@ -/* - miniunz.c - Version 1.1, February 14h, 2010 - sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications of Unzip for Zip64 - Copyright (C) 2007-2008 Even Rouault - - Modifications for Zip64 support on both zip and unzip - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) -*/ - -#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__)) - #ifndef __USE_FILE_OFFSET64 - #define __USE_FILE_OFFSET64 - #endif - #ifndef __USE_LARGEFILE64 - #define __USE_LARGEFILE64 - #endif - #ifndef _LARGEFILE64_SOURCE - #define _LARGEFILE64_SOURCE - #endif - #ifndef _FILE_OFFSET_BIT - #define _FILE_OFFSET_BIT 64 - #endif -#endif - -#ifdef __APPLE__ -// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions -#define FOPEN_FUNC(filename, mode) fopen(filename, mode) -#define FTELLO_FUNC(stream) ftello(stream) -#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin) -#else -#define FOPEN_FUNC(filename, mode) fopen64(filename, mode) -#define FTELLO_FUNC(stream) ftello64(stream) -#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin) -#endif - - -#include -#include -#include -#include -#include -#include - -#ifdef _WIN32 -# include -# include -#else -# include -# include -#endif - - -#include "unzip.h" - -#define CASESENSITIVITY (0) -#define WRITEBUFFERSIZE (8192) -#define MAXFILENAME (256) - -#ifdef _WIN32 -#define USEWIN32IOAPI -#include "iowin32.h" -#endif -/* - mini unzip, demo of unzip package - - usage : - Usage : miniunz [-exvlo] file.zip [file_to_extract] [-d extractdir] - - list the file in the zipfile, and print the content of FILE_ID.ZIP or README.TXT - if it exists -*/ - - -/* change_file_date : change the date/time of a file - filename : the filename of the file where date/time must be modified - dosdate : the new date at the MSDos format (4 bytes) - tmu_date : the SAME new date at the tm_unz format */ -void change_file_date(filename,dosdate,tmu_date) - const char *filename; - uLong dosdate; - tm_unz tmu_date; -{ -#ifdef _WIN32 - HANDLE hFile; - FILETIME ftm,ftLocal,ftCreate,ftLastAcc,ftLastWrite; - - hFile = CreateFileA(filename,GENERIC_READ | GENERIC_WRITE, - 0,NULL,OPEN_EXISTING,0,NULL); - GetFileTime(hFile,&ftCreate,&ftLastAcc,&ftLastWrite); - DosDateTimeToFileTime((WORD)(dosdate>>16),(WORD)dosdate,&ftLocal); - LocalFileTimeToFileTime(&ftLocal,&ftm); - SetFileTime(hFile,&ftm,&ftLastAcc,&ftm); - CloseHandle(hFile); -#else -#ifdef unix || __APPLE__ - struct utimbuf ut; - struct tm newdate; - newdate.tm_sec = tmu_date.tm_sec; - newdate.tm_min=tmu_date.tm_min; - newdate.tm_hour=tmu_date.tm_hour; - newdate.tm_mday=tmu_date.tm_mday; - newdate.tm_mon=tmu_date.tm_mon; - if (tmu_date.tm_year > 1900) - newdate.tm_year=tmu_date.tm_year - 1900; - else - newdate.tm_year=tmu_date.tm_year ; - newdate.tm_isdst=-1; - - ut.actime=ut.modtime=mktime(&newdate); - utime(filename,&ut); -#endif -#endif -} - - -/* mymkdir and change_file_date are not 100 % portable - As I don't know well Unix, I wait feedback for the unix portion */ - -int mymkdir(dirname) - const char* dirname; -{ - int ret=0; -#ifdef _WIN32 - ret = _mkdir(dirname); -#elif unix - ret = mkdir (dirname,0775); -#elif __APPLE__ - ret = mkdir (dirname,0775); -#endif - return ret; -} - -int makedir (newdir) - char *newdir; -{ - char *buffer ; - char *p; - int len = (int)strlen(newdir); - - if (len <= 0) - return 0; - - buffer = (char*)malloc(len+1); - if (buffer==NULL) - { - printf("Error allocating memory\n"); - return UNZ_INTERNALERROR; - } - strcpy(buffer,newdir); - - if (buffer[len-1] == '/') { - buffer[len-1] = '\0'; - } - if (mymkdir(buffer) == 0) - { - free(buffer); - return 1; - } - - p = buffer+1; - while (1) - { - char hold; - - while(*p && *p != '\\' && *p != '/') - p++; - hold = *p; - *p = 0; - if ((mymkdir(buffer) == -1) && (errno == ENOENT)) - { - printf("couldn't create directory %s\n",buffer); - free(buffer); - return 0; - } - if (hold == 0) - break; - *p++ = hold; - } - free(buffer); - return 1; -} - -void do_banner() -{ - printf("MiniUnz 1.01b, demo of zLib + Unz package written by Gilles Vollant\n"); - printf("more info at http://www.winimage.com/zLibDll/unzip.html\n\n"); -} - -void do_help() -{ - printf("Usage : miniunz [-e] [-x] [-v] [-l] [-o] [-p password] file.zip [file_to_extr.] [-d extractdir]\n\n" \ - " -e Extract without pathname (junk paths)\n" \ - " -x Extract with pathname\n" \ - " -v list files\n" \ - " -l list files\n" \ - " -d directory to extract into\n" \ - " -o overwrite files without prompting\n" \ - " -p extract crypted file using password\n\n"); -} - -void Display64BitsSize(ZPOS64_T n, int size_char) -{ - /* to avoid compatibility problem , we do here the conversion */ - char number[21]; - int offset=19; - int pos_string = 19; - number[20]=0; - for (;;) { - number[offset]=(char)((n%10)+'0'); - if (number[offset] != '0') - pos_string=offset; - n/=10; - if (offset==0) - break; - offset--; - } - { - int size_display_string = 19-pos_string; - while (size_char > size_display_string) - { - size_char--; - printf(" "); - } - } - - printf("%s",&number[pos_string]); -} - -int do_list(uf) - unzFile uf; -{ - uLong i; - unz_global_info64 gi; - int err; - - err = unzGetGlobalInfo64(uf,&gi); - if (err!=UNZ_OK) - printf("error %d with zipfile in unzGetGlobalInfo \n",err); - printf(" Length Method Size Ratio Date Time CRC-32 Name\n"); - printf(" ------ ------ ---- ----- ---- ---- ------ ----\n"); - for (i=0;i0) - ratio = (uLong)((file_info.compressed_size*100)/file_info.uncompressed_size); - - /* display a '*' if the file is crypted */ - if ((file_info.flag & 1) != 0) - charCrypt='*'; - - if (file_info.compression_method==0) - string_method="Stored"; - else - if (file_info.compression_method==Z_DEFLATED) - { - uInt iLevel=(uInt)((file_info.flag & 0x6)/2); - if (iLevel==0) - string_method="Defl:N"; - else if (iLevel==1) - string_method="Defl:X"; - else if ((iLevel==2) || (iLevel==3)) - string_method="Defl:F"; /* 2:fast , 3 : extra fast*/ - } - else - if (file_info.compression_method==Z_BZIP2ED) - { - string_method="BZip2 "; - } - else - string_method="Unkn. "; - - Display64BitsSize(file_info.uncompressed_size,7); - printf(" %6s%c",string_method,charCrypt); - Display64BitsSize(file_info.compressed_size,7); - printf(" %3lu%% %2.2lu-%2.2lu-%2.2lu %2.2lu:%2.2lu %8.8lx %s\n", - ratio, - (uLong)file_info.tmu_date.tm_mon + 1, - (uLong)file_info.tmu_date.tm_mday, - (uLong)file_info.tmu_date.tm_year % 100, - (uLong)file_info.tmu_date.tm_hour,(uLong)file_info.tmu_date.tm_min, - (uLong)file_info.crc,filename_inzip); - if ((i+1)='a') && (rep<='z')) - rep -= 0x20; - } - while ((rep!='Y') && (rep!='N') && (rep!='A')); - } - - if (rep == 'N') - skip = 1; - - if (rep == 'A') - *popt_overwrite=1; - } - - if ((skip==0) && (err==UNZ_OK)) - { - fout=FOPEN_FUNC(write_filename,"wb"); - /* some zipfile don't contain directory alone before file */ - if ((fout==NULL) && ((*popt_extract_without_path)==0) && - (filename_withoutpath!=(char*)filename_inzip)) - { - char c=*(filename_withoutpath-1); - *(filename_withoutpath-1)='\0'; - makedir(write_filename); - *(filename_withoutpath-1)=c; - fout=FOPEN_FUNC(write_filename,"wb"); - } - - if (fout==NULL) - { - printf("error opening %s\n",write_filename); - } - } - - if (fout!=NULL) - { - printf(" extracting: %s\n",write_filename); - - do - { - err = unzReadCurrentFile(uf,buf,size_buf); - if (err<0) - { - printf("error %d with zipfile in unzReadCurrentFile\n",err); - break; - } - if (err>0) - if (fwrite(buf,err,1,fout)!=1) - { - printf("error in writing extracted file\n"); - err=UNZ_ERRNO; - break; - } - } - while (err>0); - if (fout) - fclose(fout); - - if (err==0) - change_file_date(write_filename,file_info.dosDate, - file_info.tmu_date); - } - - if (err==UNZ_OK) - { - err = unzCloseCurrentFile (uf); - if (err!=UNZ_OK) - { - printf("error %d with zipfile in unzCloseCurrentFile\n",err); - } - } - else - unzCloseCurrentFile(uf); /* don't lose the error */ - } - - free(buf); - return err; -} - - -int do_extract(uf,opt_extract_without_path,opt_overwrite,password) - unzFile uf; - int opt_extract_without_path; - int opt_overwrite; - const char* password; -{ - uLong i; - unz_global_info64 gi; - int err; - FILE* fout=NULL; - - err = unzGetGlobalInfo64(uf,&gi); - if (err!=UNZ_OK) - printf("error %d with zipfile in unzGetGlobalInfo \n",err); - - for (i=0;i insert n+1 empty lines -.\" for manpage-specific macros, see man(7) -.SH NAME -miniunzip - uncompress and examine ZIP archives -.SH SYNOPSIS -.B miniunzip -.RI [ -exvlo ] -zipfile [ files_to_extract ] [-d tempdir] -.SH DESCRIPTION -.B minizip -is a simple tool which allows the extraction of compressed file -archives in the ZIP format used by the MS-DOS utility PKZIP. It was -written as a demonstration of the -.IR zlib (3) -library and therefore lack many of the features of the -.IR unzip (1) -program. -.SH OPTIONS -A number of options are supported. With the exception of -.BI \-d\ tempdir -these must be supplied before any -other arguments and are: -.TP -.BI \-l\ ,\ \-\-v -List the files in the archive without extracting them. -.TP -.B \-o -Overwrite files without prompting for confirmation. -.TP -.B \-x -Extract files (default). -.PP -The -.I zipfile -argument is the name of the archive to process. The next argument can be used -to specify a single file to extract from the archive. - -Lastly, the following option can be specified at the end of the command-line: -.TP -.BI \-d\ tempdir -Extract the archive in the directory -.I tempdir -rather than the current directory. -.SH SEE ALSO -.BR minizip (1), -.BR zlib (3), -.BR unzip (1). -.SH AUTHOR -This program was written by Gilles Vollant. This manual page was -written by Mark Brown . The -d tempdir option -was added by Dirk Eddelbuettel . diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/minizip.1 b/protocols/Telegram/tgl/zlib/contrib/minizip/minizip.1 deleted file mode 100644 index 1154484c1c..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/minizip.1 +++ /dev/null @@ -1,46 +0,0 @@ -.\" Hey, EMACS: -*- nroff -*- -.TH minizip 1 "May 2, 2001" -.\" Please adjust this date whenever revising the manpage. -.\" -.\" Some roff macros, for reference: -.\" .nh disable hyphenation -.\" .hy enable hyphenation -.\" .ad l left justify -.\" .ad b justify to both left and right margins -.\" .nf disable filling -.\" .fi enable filling -.\" .br insert line break -.\" .sp insert n+1 empty lines -.\" for manpage-specific macros, see man(7) -.SH NAME -minizip - create ZIP archives -.SH SYNOPSIS -.B minizip -.RI [ -o ] -zipfile [ " files" ... ] -.SH DESCRIPTION -.B minizip -is a simple tool which allows the creation of compressed file archives -in the ZIP format used by the MS-DOS utility PKZIP. It was written as -a demonstration of the -.IR zlib (3) -library and therefore lack many of the features of the -.IR zip (1) -program. -.SH OPTIONS -The first argument supplied is the name of the ZIP archive to create or -.RI -o -in which case it is ignored and the second argument treated as the -name of the ZIP file. If the ZIP file already exists it will be -overwritten. -.PP -Subsequent arguments specify a list of files to place in the ZIP -archive. If none are specified then an empty archive will be created. -.SH SEE ALSO -.BR miniunzip (1), -.BR zlib (3), -.BR zip (1). -.SH AUTHOR -This program was written by Gilles Vollant. This manual page was -written by Mark Brown . - diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/minizip.c b/protocols/Telegram/tgl/zlib/contrib/minizip/minizip.c deleted file mode 100644 index 4288962ece..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/minizip.c +++ /dev/null @@ -1,520 +0,0 @@ -/* - minizip.c - Version 1.1, February 14h, 2010 - sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications of Unzip for Zip64 - Copyright (C) 2007-2008 Even Rouault - - Modifications for Zip64 support on both zip and unzip - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) -*/ - - -#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__)) - #ifndef __USE_FILE_OFFSET64 - #define __USE_FILE_OFFSET64 - #endif - #ifndef __USE_LARGEFILE64 - #define __USE_LARGEFILE64 - #endif - #ifndef _LARGEFILE64_SOURCE - #define _LARGEFILE64_SOURCE - #endif - #ifndef _FILE_OFFSET_BIT - #define _FILE_OFFSET_BIT 64 - #endif -#endif - -#ifdef __APPLE__ -// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions -#define FOPEN_FUNC(filename, mode) fopen(filename, mode) -#define FTELLO_FUNC(stream) ftello(stream) -#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin) -#else -#define FOPEN_FUNC(filename, mode) fopen64(filename, mode) -#define FTELLO_FUNC(stream) ftello64(stream) -#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin) -#endif - - - -#include -#include -#include -#include -#include -#include - -#ifdef _WIN32 -# include -# include -#else -# include -# include -# include -# include -#endif - -#include "zip.h" - -#ifdef _WIN32 - #define USEWIN32IOAPI - #include "iowin32.h" -#endif - - - -#define WRITEBUFFERSIZE (16384) -#define MAXFILENAME (256) - -#ifdef _WIN32 -uLong filetime(f, tmzip, dt) - char *f; /* name of file to get info on */ - tm_zip *tmzip; /* return value: access, modific. and creation times */ - uLong *dt; /* dostime */ -{ - int ret = 0; - { - FILETIME ftLocal; - HANDLE hFind; - WIN32_FIND_DATAA ff32; - - hFind = FindFirstFileA(f,&ff32); - if (hFind != INVALID_HANDLE_VALUE) - { - FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal); - FileTimeToDosDateTime(&ftLocal,((LPWORD)dt)+1,((LPWORD)dt)+0); - FindClose(hFind); - ret = 1; - } - } - return ret; -} -#else -#ifdef unix || __APPLE__ -uLong filetime(f, tmzip, dt) - char *f; /* name of file to get info on */ - tm_zip *tmzip; /* return value: access, modific. and creation times */ - uLong *dt; /* dostime */ -{ - int ret=0; - struct stat s; /* results of stat() */ - struct tm* filedate; - time_t tm_t=0; - - if (strcmp(f,"-")!=0) - { - char name[MAXFILENAME+1]; - int len = strlen(f); - if (len > MAXFILENAME) - len = MAXFILENAME; - - strncpy(name, f,MAXFILENAME-1); - /* strncpy doesnt append the trailing NULL, of the string is too long. */ - name[ MAXFILENAME ] = '\0'; - - if (name[len - 1] == '/') - name[len - 1] = '\0'; - /* not all systems allow stat'ing a file with / appended */ - if (stat(name,&s)==0) - { - tm_t = s.st_mtime; - ret = 1; - } - } - filedate = localtime(&tm_t); - - tmzip->tm_sec = filedate->tm_sec; - tmzip->tm_min = filedate->tm_min; - tmzip->tm_hour = filedate->tm_hour; - tmzip->tm_mday = filedate->tm_mday; - tmzip->tm_mon = filedate->tm_mon ; - tmzip->tm_year = filedate->tm_year; - - return ret; -} -#else -uLong filetime(f, tmzip, dt) - char *f; /* name of file to get info on */ - tm_zip *tmzip; /* return value: access, modific. and creation times */ - uLong *dt; /* dostime */ -{ - return 0; -} -#endif -#endif - - - - -int check_exist_file(filename) - const char* filename; -{ - FILE* ftestexist; - int ret = 1; - ftestexist = FOPEN_FUNC(filename,"rb"); - if (ftestexist==NULL) - ret = 0; - else - fclose(ftestexist); - return ret; -} - -void do_banner() -{ - printf("MiniZip 1.1, demo of zLib + MiniZip64 package, written by Gilles Vollant\n"); - printf("more info on MiniZip at http://www.winimage.com/zLibDll/minizip.html\n\n"); -} - -void do_help() -{ - printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]\n\n" \ - " -o Overwrite existing file.zip\n" \ - " -a Append to existing file.zip\n" \ - " -0 Store only\n" \ - " -1 Compress faster\n" \ - " -9 Compress better\n\n" \ - " -j exclude path. store only the file name.\n\n"); -} - -/* calculate the CRC32 of a file, - because to encrypt a file, we need known the CRC32 of the file before */ -int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigned long* result_crc) -{ - unsigned long calculate_crc=0; - int err=ZIP_OK; - FILE * fin = FOPEN_FUNC(filenameinzip,"rb"); - - unsigned long size_read = 0; - unsigned long total_read = 0; - if (fin==NULL) - { - err = ZIP_ERRNO; - } - - if (err == ZIP_OK) - do - { - err = ZIP_OK; - size_read = (int)fread(buf,1,size_buf,fin); - if (size_read < size_buf) - if (feof(fin)==0) - { - printf("error in reading %s\n",filenameinzip); - err = ZIP_ERRNO; - } - - if (size_read>0) - calculate_crc = crc32(calculate_crc,buf,size_read); - total_read += size_read; - - } while ((err == ZIP_OK) && (size_read>0)); - - if (fin) - fclose(fin); - - *result_crc=calculate_crc; - printf("file %s crc %lx\n", filenameinzip, calculate_crc); - return err; -} - -int isLargeFile(const char* filename) -{ - int largeFile = 0; - ZPOS64_T pos = 0; - FILE* pFile = FOPEN_FUNC(filename, "rb"); - - if(pFile != NULL) - { - int n = FSEEKO_FUNC(pFile, 0, SEEK_END); - pos = FTELLO_FUNC(pFile); - - printf("File : %s is %lld bytes\n", filename, pos); - - if(pos >= 0xffffffff) - largeFile = 1; - - fclose(pFile); - } - - return largeFile; -} - -int main(argc,argv) - int argc; - char *argv[]; -{ - int i; - int opt_overwrite=0; - int opt_compress_level=Z_DEFAULT_COMPRESSION; - int opt_exclude_path=0; - int zipfilenamearg = 0; - char filename_try[MAXFILENAME+16]; - int zipok; - int err=0; - int size_buf=0; - void* buf=NULL; - const char* password=NULL; - - - do_banner(); - if (argc==1) - { - do_help(); - return 0; - } - else - { - for (i=1;i='0') && (c<='9')) - opt_compress_level = c-'0'; - if ((c=='j') || (c=='J')) - opt_exclude_path = 1; - - if (((c=='p') || (c=='P')) && (i+1='a') && (rep<='z')) - rep -= 0x20; - } - while ((rep!='Y') && (rep!='N') && (rep!='A')); - if (rep=='N') - zipok = 0; - if (rep=='A') - opt_overwrite = 2; - } - } - - if (zipok==1) - { - zipFile zf; - int errclose; -# ifdef USEWIN32IOAPI - zlib_filefunc64_def ffunc; - fill_win32_filefunc64A(&ffunc); - zf = zipOpen2_64(filename_try,(opt_overwrite==2) ? 2 : 0,NULL,&ffunc); -# else - zf = zipOpen64(filename_try,(opt_overwrite==2) ? 2 : 0); -# endif - - if (zf == NULL) - { - printf("error opening %s\n",filename_try); - err= ZIP_ERRNO; - } - else - printf("creating %s\n",filename_try); - - for (i=zipfilenamearg+1;(i='0') || (argv[i][1]<='9'))) && - (strlen(argv[i]) == 2))) - { - FILE * fin; - int size_read; - const char* filenameinzip = argv[i]; - const char *savefilenameinzip; - zip_fileinfo zi; - unsigned long crcFile=0; - int zip64 = 0; - - zi.tmz_date.tm_sec = zi.tmz_date.tm_min = zi.tmz_date.tm_hour = - zi.tmz_date.tm_mday = zi.tmz_date.tm_mon = zi.tmz_date.tm_year = 0; - zi.dosDate = 0; - zi.internal_fa = 0; - zi.external_fa = 0; - filetime(filenameinzip,&zi.tmz_date,&zi.dosDate); - -/* - err = zipOpenNewFileInZip(zf,filenameinzip,&zi, - NULL,0,NULL,0,NULL / * comment * /, - (opt_compress_level != 0) ? Z_DEFLATED : 0, - opt_compress_level); -*/ - if ((password != NULL) && (err==ZIP_OK)) - err = getFileCrc(filenameinzip,buf,size_buf,&crcFile); - - zip64 = isLargeFile(filenameinzip); - - /* The path name saved, should not include a leading slash. */ - /*if it did, windows/xp and dynazip couldn't read the zip file. */ - savefilenameinzip = filenameinzip; - while( savefilenameinzip[0] == '\\' || savefilenameinzip[0] == '/' ) - { - savefilenameinzip++; - } - - /*should the zip file contain any path at all?*/ - if( opt_exclude_path ) - { - const char *tmpptr; - const char *lastslash = 0; - for( tmpptr = savefilenameinzip; *tmpptr; tmpptr++) - { - if( *tmpptr == '\\' || *tmpptr == '/') - { - lastslash = tmpptr; - } - } - if( lastslash != NULL ) - { - savefilenameinzip = lastslash+1; // base filename follows last slash. - } - } - - /**/ - err = zipOpenNewFileInZip3_64(zf,savefilenameinzip,&zi, - NULL,0,NULL,0,NULL /* comment*/, - (opt_compress_level != 0) ? Z_DEFLATED : 0, - opt_compress_level,0, - /* -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, */ - -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - password,crcFile, zip64); - - if (err != ZIP_OK) - printf("error in opening %s in zipfile\n",filenameinzip); - else - { - fin = FOPEN_FUNC(filenameinzip,"rb"); - if (fin==NULL) - { - err=ZIP_ERRNO; - printf("error in opening %s for reading\n",filenameinzip); - } - } - - if (err == ZIP_OK) - do - { - err = ZIP_OK; - size_read = (int)fread(buf,1,size_buf,fin); - if (size_read < size_buf) - if (feof(fin)==0) - { - printf("error in reading %s\n",filenameinzip); - err = ZIP_ERRNO; - } - - if (size_read>0) - { - err = zipWriteInFileInZip (zf,buf,size_read); - if (err<0) - { - printf("error in writing %s in the zipfile\n", - filenameinzip); - } - - } - } while ((err == ZIP_OK) && (size_read>0)); - - if (fin) - fclose(fin); - - if (err<0) - err=ZIP_ERRNO; - else - { - err = zipCloseFileInZip(zf); - if (err!=ZIP_OK) - printf("error in closing %s in the zipfile\n", - filenameinzip); - } - } - } - errclose = zipClose(zf,NULL); - if (errclose != ZIP_OK) - printf("error in closing %s\n",filename_try); - } - else - { - do_help(); - } - - free(buf); - return 0; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/minizip.pc.in b/protocols/Telegram/tgl/zlib/contrib/minizip/minizip.pc.in deleted file mode 100644 index 69b5b7fdcb..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/minizip.pc.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@/minizip - -Name: minizip -Description: Minizip zip file manipulation library -Requires: -Version: @PACKAGE_VERSION@ -Libs: -L${libdir} -lminizip -Libs.private: -lz -Cflags: -I${includedir} diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/mztools.c b/protocols/Telegram/tgl/zlib/contrib/minizip/mztools.c deleted file mode 100644 index 96891c2e0b..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/mztools.c +++ /dev/null @@ -1,291 +0,0 @@ -/* - Additional tools for Minizip - Code: Xavier Roche '2004 - License: Same as ZLIB (www.gzip.org) -*/ - -/* Code */ -#include -#include -#include -#include "zlib.h" -#include "unzip.h" - -#define READ_8(adr) ((unsigned char)*(adr)) -#define READ_16(adr) ( READ_8(adr) | (READ_8(adr+1) << 8) ) -#define READ_32(adr) ( READ_16(adr) | (READ_16((adr)+2) << 16) ) - -#define WRITE_8(buff, n) do { \ - *((unsigned char*)(buff)) = (unsigned char) ((n) & 0xff); \ -} while(0) -#define WRITE_16(buff, n) do { \ - WRITE_8((unsigned char*)(buff), n); \ - WRITE_8(((unsigned char*)(buff)) + 1, (n) >> 8); \ -} while(0) -#define WRITE_32(buff, n) do { \ - WRITE_16((unsigned char*)(buff), (n) & 0xffff); \ - WRITE_16((unsigned char*)(buff) + 2, (n) >> 16); \ -} while(0) - -extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered, bytesRecovered) -const char* file; -const char* fileOut; -const char* fileOutTmp; -uLong* nRecovered; -uLong* bytesRecovered; -{ - int err = Z_OK; - FILE* fpZip = fopen(file, "rb"); - FILE* fpOut = fopen(fileOut, "wb"); - FILE* fpOutCD = fopen(fileOutTmp, "wb"); - if (fpZip != NULL && fpOut != NULL) { - int entries = 0; - uLong totalBytes = 0; - char header[30]; - char filename[1024]; - char extra[1024]; - int offset = 0; - int offsetCD = 0; - while ( fread(header, 1, 30, fpZip) == 30 ) { - int currentOffset = offset; - - /* File entry */ - if (READ_32(header) == 0x04034b50) { - unsigned int version = READ_16(header + 4); - unsigned int gpflag = READ_16(header + 6); - unsigned int method = READ_16(header + 8); - unsigned int filetime = READ_16(header + 10); - unsigned int filedate = READ_16(header + 12); - unsigned int crc = READ_32(header + 14); /* crc */ - unsigned int cpsize = READ_32(header + 18); /* compressed size */ - unsigned int uncpsize = READ_32(header + 22); /* uncompressed sz */ - unsigned int fnsize = READ_16(header + 26); /* file name length */ - unsigned int extsize = READ_16(header + 28); /* extra field length */ - filename[0] = extra[0] = '\0'; - - /* Header */ - if (fwrite(header, 1, 30, fpOut) == 30) { - offset += 30; - } else { - err = Z_ERRNO; - break; - } - - /* Filename */ - if (fnsize > 0) { - if (fnsize < sizeof(filename)) { - if (fread(filename, 1, fnsize, fpZip) == fnsize) { - if (fwrite(filename, 1, fnsize, fpOut) == fnsize) { - offset += fnsize; - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_STREAM_ERROR; - break; - } - - /* Extra field */ - if (extsize > 0) { - if (extsize < sizeof(extra)) { - if (fread(extra, 1, extsize, fpZip) == extsize) { - if (fwrite(extra, 1, extsize, fpOut) == extsize) { - offset += extsize; - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_ERRNO; - break; - } - } - - /* Data */ - { - int dataSize = cpsize; - if (dataSize == 0) { - dataSize = uncpsize; - } - if (dataSize > 0) { - char* data = malloc(dataSize); - if (data != NULL) { - if ((int)fread(data, 1, dataSize, fpZip) == dataSize) { - if ((int)fwrite(data, 1, dataSize, fpOut) == dataSize) { - offset += dataSize; - totalBytes += dataSize; - } else { - err = Z_ERRNO; - } - } else { - err = Z_ERRNO; - } - free(data); - if (err != Z_OK) { - break; - } - } else { - err = Z_MEM_ERROR; - break; - } - } - } - - /* Central directory entry */ - { - char header[46]; - char* comment = ""; - int comsize = (int) strlen(comment); - WRITE_32(header, 0x02014b50); - WRITE_16(header + 4, version); - WRITE_16(header + 6, version); - WRITE_16(header + 8, gpflag); - WRITE_16(header + 10, method); - WRITE_16(header + 12, filetime); - WRITE_16(header + 14, filedate); - WRITE_32(header + 16, crc); - WRITE_32(header + 20, cpsize); - WRITE_32(header + 24, uncpsize); - WRITE_16(header + 28, fnsize); - WRITE_16(header + 30, extsize); - WRITE_16(header + 32, comsize); - WRITE_16(header + 34, 0); /* disk # */ - WRITE_16(header + 36, 0); /* int attrb */ - WRITE_32(header + 38, 0); /* ext attrb */ - WRITE_32(header + 42, currentOffset); - /* Header */ - if (fwrite(header, 1, 46, fpOutCD) == 46) { - offsetCD += 46; - - /* Filename */ - if (fnsize > 0) { - if (fwrite(filename, 1, fnsize, fpOutCD) == fnsize) { - offsetCD += fnsize; - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_STREAM_ERROR; - break; - } - - /* Extra field */ - if (extsize > 0) { - if (fwrite(extra, 1, extsize, fpOutCD) == extsize) { - offsetCD += extsize; - } else { - err = Z_ERRNO; - break; - } - } - - /* Comment field */ - if (comsize > 0) { - if ((int)fwrite(comment, 1, comsize, fpOutCD) == comsize) { - offsetCD += comsize; - } else { - err = Z_ERRNO; - break; - } - } - - - } else { - err = Z_ERRNO; - break; - } - } - - /* Success */ - entries++; - - } else { - break; - } - } - - /* Final central directory */ - { - int entriesZip = entries; - char header[22]; - char* comment = ""; // "ZIP File recovered by zlib/minizip/mztools"; - int comsize = (int) strlen(comment); - if (entriesZip > 0xffff) { - entriesZip = 0xffff; - } - WRITE_32(header, 0x06054b50); - WRITE_16(header + 4, 0); /* disk # */ - WRITE_16(header + 6, 0); /* disk # */ - WRITE_16(header + 8, entriesZip); /* hack */ - WRITE_16(header + 10, entriesZip); /* hack */ - WRITE_32(header + 12, offsetCD); /* size of CD */ - WRITE_32(header + 16, offset); /* offset to CD */ - WRITE_16(header + 20, comsize); /* comment */ - - /* Header */ - if (fwrite(header, 1, 22, fpOutCD) == 22) { - - /* Comment field */ - if (comsize > 0) { - if ((int)fwrite(comment, 1, comsize, fpOutCD) != comsize) { - err = Z_ERRNO; - } - } - - } else { - err = Z_ERRNO; - } - } - - /* Final merge (file + central directory) */ - fclose(fpOutCD); - if (err == Z_OK) { - fpOutCD = fopen(fileOutTmp, "rb"); - if (fpOutCD != NULL) { - int nRead; - char buffer[8192]; - while ( (nRead = (int)fread(buffer, 1, sizeof(buffer), fpOutCD)) > 0) { - if ((int)fwrite(buffer, 1, nRead, fpOut) != nRead) { - err = Z_ERRNO; - break; - } - } - fclose(fpOutCD); - } - } - - /* Close */ - fclose(fpZip); - fclose(fpOut); - - /* Wipe temporary file */ - (void)remove(fileOutTmp); - - /* Number of recovered entries */ - if (err == Z_OK) { - if (nRecovered != NULL) { - *nRecovered = entries; - } - if (bytesRecovered != NULL) { - *bytesRecovered = totalBytes; - } - } - } else { - err = Z_STREAM_ERROR; - } - return err; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/mztools.h b/protocols/Telegram/tgl/zlib/contrib/minizip/mztools.h deleted file mode 100644 index a49a426ec2..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/mztools.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - Additional tools for Minizip - Code: Xavier Roche '2004 - License: Same as ZLIB (www.gzip.org) -*/ - -#ifndef _zip_tools_H -#define _zip_tools_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _ZLIB_H -#include "zlib.h" -#endif - -#include "unzip.h" - -/* Repair a ZIP file (missing central directory) - file: file to recover - fileOut: output file after recovery - fileOutTmp: temporary file name used for recovery -*/ -extern int ZEXPORT unzRepair(const char* file, - const char* fileOut, - const char* fileOutTmp, - uLong* nRecovered, - uLong* bytesRecovered); - - -#ifdef __cplusplus -} -#endif - - -#endif diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/unzip.c b/protocols/Telegram/tgl/zlib/contrib/minizip/unzip.c deleted file mode 100644 index 909350435a..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/unzip.c +++ /dev/null @@ -1,2125 +0,0 @@ -/* unzip.c -- IO for uncompress .zip files using zlib - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications of Unzip for Zip64 - Copyright (C) 2007-2008 Even Rouault - - Modifications for Zip64 support on both zip and unzip - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - - - ------------------------------------------------------------------------------------ - Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms of - compatibility with older software. The following is from the original crypt.c. - Code woven in by Terry Thorsen 1/2003. - - Copyright (c) 1990-2000 Info-ZIP. All rights reserved. - - See the accompanying file LICENSE, version 2000-Apr-09 or later - (the contents of which are also included in zip.h) for terms of use. - If, for some reason, all these files are missing, the Info-ZIP license - also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html - - crypt.c (full version) by Info-ZIP. Last revised: [see crypt.h] - - The encryption/decryption parts of this source code (as opposed to the - non-echoing password parts) were originally written in Europe. The - whole source package can be freely distributed, including from the USA. - (Prior to January 2000, re-export from the US was a violation of US law.) - - This encryption code is a direct transcription of the algorithm from - Roger Schlafly, described by Phil Katz in the file appnote.txt. This - file (appnote.txt) is distributed with the PKZIP program (even in the - version without encryption capabilities). - - ------------------------------------------------------------------------------------ - - Changes in unzip.c - - 2007-2008 - Even Rouault - Addition of cpl_unzGetCurrentFileZStreamPos - 2007-2008 - Even Rouault - Decoration of symbol names unz* -> cpl_unz* - 2007-2008 - Even Rouault - Remove old C style function prototypes - 2007-2008 - Even Rouault - Add unzip support for ZIP64 - - Copyright (C) 2007-2008 Even Rouault - - - Oct-2009 - Mathias Svensson - Removed cpl_* from symbol names (Even Rouault added them but since this is now moved to a new project (minizip64) I renamed them again). - Oct-2009 - Mathias Svensson - Fixed problem if uncompressed size was > 4G and compressed size was <4G - should only read the compressed/uncompressed size from the Zip64 format if - the size from normal header was 0xFFFFFFFF - Oct-2009 - Mathias Svensson - Applied some bug fixes from paches recived from Gilles Vollant - Oct-2009 - Mathias Svensson - Applied support to unzip files with compression mathod BZIP2 (bzip2 lib is required) - Patch created by Daniel Borca - - Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer - - Copyright (C) 1998 - 2010 Gilles Vollant, Even Rouault, Mathias Svensson - -*/ - - -#include -#include -#include - -#ifndef NOUNCRYPT - #define NOUNCRYPT -#endif - -#include "zlib.h" -#include "unzip.h" - -#ifdef STDC -# include -# include -# include -#endif -#ifdef NO_ERRNO_H - extern int errno; -#else -# include -#endif - - -#ifndef local -# define local static -#endif -/* compile with -Dlocal if your debugger can't find static symbols */ - - -#ifndef CASESENSITIVITYDEFAULT_NO -# if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) -# define CASESENSITIVITYDEFAULT_NO -# endif -#endif - - -#ifndef UNZ_BUFSIZE -#define UNZ_BUFSIZE (16384) -#endif - -#ifndef UNZ_MAXFILENAMEINZIP -#define UNZ_MAXFILENAMEINZIP (256) -#endif - -#ifndef ALLOC -# define ALLOC(size) (malloc(size)) -#endif -#ifndef TRYFREE -# define TRYFREE(p) {if (p) free(p);} -#endif - -#define SIZECENTRALDIRITEM (0x2e) -#define SIZEZIPLOCALHEADER (0x1e) - - -const char unz_copyright[] = - " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; - -/* unz_file_info_interntal contain internal info about a file in zipfile*/ -typedef struct unz_file_info64_internal_s -{ - ZPOS64_T offset_curfile;/* relative offset of local header 8 bytes */ -} unz_file_info64_internal; - - -/* file_in_zip_read_info_s contain internal information about a file in zipfile, - when reading and decompress it */ -typedef struct -{ - char *read_buffer; /* internal buffer for compressed data */ - z_stream stream; /* zLib stream structure for inflate */ - -#ifdef HAVE_BZIP2 - bz_stream bstream; /* bzLib stream structure for bziped */ -#endif - - ZPOS64_T pos_in_zipfile; /* position in byte on the zipfile, for fseek*/ - uLong stream_initialised; /* flag set if stream structure is initialised*/ - - ZPOS64_T offset_local_extrafield;/* offset of the local extra field */ - uInt size_local_extrafield;/* size of the local extra field */ - ZPOS64_T pos_local_extrafield; /* position in the local extra field in read*/ - ZPOS64_T total_out_64; - - uLong crc32; /* crc32 of all data uncompressed */ - uLong crc32_wait; /* crc32 we must obtain after decompress all */ - ZPOS64_T rest_read_compressed; /* number of byte to be decompressed */ - ZPOS64_T rest_read_uncompressed;/*number of byte to be obtained after decomp*/ - zlib_filefunc64_32_def z_filefunc; - voidpf filestream; /* io structore of the zipfile */ - uLong compression_method; /* compression method (0==store) */ - ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ - int raw; -} file_in_zip64_read_info_s; - - -/* unz64_s contain internal information about the zipfile -*/ -typedef struct -{ - zlib_filefunc64_32_def z_filefunc; - int is64bitOpenFunction; - voidpf filestream; /* io structore of the zipfile */ - unz_global_info64 gi; /* public global information */ - ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ - ZPOS64_T num_file; /* number of the current file in the zipfile*/ - ZPOS64_T pos_in_central_dir; /* pos of the current file in the central dir*/ - ZPOS64_T current_file_ok; /* flag about the usability of the current file*/ - ZPOS64_T central_pos; /* position of the beginning of the central dir*/ - - ZPOS64_T size_central_dir; /* size of the central directory */ - ZPOS64_T offset_central_dir; /* offset of start of central directory with - respect to the starting disk number */ - - unz_file_info64 cur_file_info; /* public info about the current file in zip*/ - unz_file_info64_internal cur_file_info_internal; /* private info about it*/ - file_in_zip64_read_info_s* pfile_in_zip_read; /* structure about the current - file if we are decompressing it */ - int encrypted; - - int isZip64; - -# ifndef NOUNCRYPT - unsigned long keys[3]; /* keys defining the pseudo-random sequence */ - const z_crc_t* pcrc_32_tab; -# endif -} unz64_s; - - -#ifndef NOUNCRYPT -#include "crypt.h" -#endif - -/* =========================================================================== - Read a byte from a gz_stream; update next_in and avail_in. Return EOF - for end of file. - IN assertion: the stream s has been sucessfully opened for reading. -*/ - - -local int unz64local_getByte OF(( - const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - int *pi)); - -local int unz64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi) -{ - unsigned char c; - int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1); - if (err==1) - { - *pi = (int)c; - return UNZ_OK; - } - else - { - if (ZERROR64(*pzlib_filefunc_def,filestream)) - return UNZ_ERRNO; - else - return UNZ_EOF; - } -} - - -/* =========================================================================== - Reads a long in LSB order from the given gz_stream. Sets -*/ -local int unz64local_getShort OF(( - const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - uLong *pX)); - -local int unz64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - uLong *pX) -{ - uLong x ; - int i = 0; - int err; - - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (uLong)i; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((uLong)i)<<8; - - if (err==UNZ_OK) - *pX = x; - else - *pX = 0; - return err; -} - -local int unz64local_getLong OF(( - const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - uLong *pX)); - -local int unz64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - uLong *pX) -{ - uLong x ; - int i = 0; - int err; - - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (uLong)i; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((uLong)i)<<8; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((uLong)i)<<16; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((uLong)i)<<24; - - if (err==UNZ_OK) - *pX = x; - else - *pX = 0; - return err; -} - -local int unz64local_getLong64 OF(( - const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - ZPOS64_T *pX)); - - -local int unz64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - ZPOS64_T *pX) -{ - ZPOS64_T x ; - int i = 0; - int err; - - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (ZPOS64_T)i; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<8; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<16; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<24; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<32; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<40; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<48; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<56; - - if (err==UNZ_OK) - *pX = x; - else - *pX = 0; - return err; -} - -/* My own strcmpi / strcasecmp */ -local int strcmpcasenosensitive_internal (const char* fileName1, const char* fileName2) -{ - for (;;) - { - char c1=*(fileName1++); - char c2=*(fileName2++); - if ((c1>='a') && (c1<='z')) - c1 -= 0x20; - if ((c2>='a') && (c2<='z')) - c2 -= 0x20; - if (c1=='\0') - return ((c2=='\0') ? 0 : -1); - if (c2=='\0') - return 1; - if (c1c2) - return 1; - } -} - - -#ifdef CASESENSITIVITYDEFAULT_NO -#define CASESENSITIVITYDEFAULTVALUE 2 -#else -#define CASESENSITIVITYDEFAULTVALUE 1 -#endif - -#ifndef STRCMPCASENOSENTIVEFUNCTION -#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal -#endif - -/* - Compare two filename (fileName1,fileName2). - If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) - If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi - or strcasecmp) - If iCaseSenisivity = 0, case sensitivity is defaut of your operating system - (like 1 on Unix, 2 on Windows) - -*/ -extern int ZEXPORT unzStringFileNameCompare (const char* fileName1, - const char* fileName2, - int iCaseSensitivity) - -{ - if (iCaseSensitivity==0) - iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE; - - if (iCaseSensitivity==1) - return strcmp(fileName1,fileName2); - - return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2); -} - -#ifndef BUFREADCOMMENT -#define BUFREADCOMMENT (0x400) -#endif - -/* - Locate the Central directory of a zipfile (at the end, just before - the global comment) -*/ -local ZPOS64_T unz64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)); -local ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream) -{ - unsigned char* buf; - ZPOS64_T uSizeFile; - ZPOS64_T uBackRead; - ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ - ZPOS64_T uPosFound=0; - - if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - return 0; - - - uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - if (uMaxBack>uSizeFile) - uMaxBack = uSizeFile; - - buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - if (buf==NULL) - return 0; - - uBackRead = 4; - while (uBackReaduMaxBack) - uBackRead = uMaxBack; - else - uBackRead+=BUFREADCOMMENT; - uReadPos = uSizeFile-uBackRead ; - - uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - break; - - if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - break; - - for (i=(int)uReadSize-3; (i--)>0;) - if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && - ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) - { - uPosFound = uReadPos+i; - break; - } - - if (uPosFound!=0) - break; - } - TRYFREE(buf); - return uPosFound; -} - - -/* - Locate the Central directory 64 of a zipfile (at the end, just before - the global comment) -*/ -local ZPOS64_T unz64local_SearchCentralDir64 OF(( - const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream)); - -local ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream) -{ - unsigned char* buf; - ZPOS64_T uSizeFile; - ZPOS64_T uBackRead; - ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ - ZPOS64_T uPosFound=0; - uLong uL; - ZPOS64_T relativeOffset; - - if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - return 0; - - - uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - if (uMaxBack>uSizeFile) - uMaxBack = uSizeFile; - - buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - if (buf==NULL) - return 0; - - uBackRead = 4; - while (uBackReaduMaxBack) - uBackRead = uMaxBack; - else - uBackRead+=BUFREADCOMMENT; - uReadPos = uSizeFile-uBackRead ; - - uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - break; - - if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - break; - - for (i=(int)uReadSize-3; (i--)>0;) - if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && - ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07)) - { - uPosFound = uReadPos+i; - break; - } - - if (uPosFound!=0) - break; - } - TRYFREE(buf); - if (uPosFound == 0) - return 0; - - /* Zip64 end of central directory locator */ - if (ZSEEK64(*pzlib_filefunc_def,filestream, uPosFound,ZLIB_FILEFUNC_SEEK_SET)!=0) - return 0; - - /* the signature, already checked */ - if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK) - return 0; - - /* number of the disk with the start of the zip64 end of central directory */ - if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK) - return 0; - if (uL != 0) - return 0; - - /* relative offset of the zip64 end of central directory record */ - if (unz64local_getLong64(pzlib_filefunc_def,filestream,&relativeOffset)!=UNZ_OK) - return 0; - - /* total number of disks */ - if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK) - return 0; - if (uL != 1) - return 0; - - /* Goto end of central directory record */ - if (ZSEEK64(*pzlib_filefunc_def,filestream, relativeOffset,ZLIB_FILEFUNC_SEEK_SET)!=0) - return 0; - - /* the signature */ - if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK) - return 0; - - if (uL != 0x06064b50) - return 0; - - return relativeOffset; -} - -/* - Open a Zip file. path contain the full pathname (by example, - on a Windows NT computer "c:\\test\\zlib114.zip" or on an Unix computer - "zlib/zlib114.zip". - If the zipfile cannot be opened (file doesn't exist or in not valid), the - return value is NULL. - Else, the return value is a unzFile Handle, usable with other function - of this unzip package. -*/ -local unzFile unzOpenInternal (const void *path, - zlib_filefunc64_32_def* pzlib_filefunc64_32_def, - int is64bitOpenFunction) -{ - unz64_s us; - unz64_s *s; - ZPOS64_T central_pos; - uLong uL; - - uLong number_disk; /* number of the current dist, used for - spaning ZIP, unsupported, always 0*/ - uLong number_disk_with_CD; /* number the the disk with central dir, used - for spaning ZIP, unsupported, always 0*/ - ZPOS64_T number_entry_CD; /* total number of entries in - the central dir - (same than number_entry on nospan) */ - - int err=UNZ_OK; - - if (unz_copyright[0]!=' ') - return NULL; - - us.z_filefunc.zseek32_file = NULL; - us.z_filefunc.ztell32_file = NULL; - if (pzlib_filefunc64_32_def==NULL) - fill_fopen64_filefunc(&us.z_filefunc.zfile_func64); - else - us.z_filefunc = *pzlib_filefunc64_32_def; - us.is64bitOpenFunction = is64bitOpenFunction; - - - - us.filestream = ZOPEN64(us.z_filefunc, - path, - ZLIB_FILEFUNC_MODE_READ | - ZLIB_FILEFUNC_MODE_EXISTING); - if (us.filestream==NULL) - return NULL; - - central_pos = unz64local_SearchCentralDir64(&us.z_filefunc,us.filestream); - if (central_pos) - { - uLong uS; - ZPOS64_T uL64; - - us.isZip64 = 1; - - if (ZSEEK64(us.z_filefunc, us.filestream, - central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) - err=UNZ_ERRNO; - - /* the signature, already checked */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - - /* size of zip64 end of central directory record */ - if (unz64local_getLong64(&us.z_filefunc, us.filestream,&uL64)!=UNZ_OK) - err=UNZ_ERRNO; - - /* version made by */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK) - err=UNZ_ERRNO; - - /* version needed to extract */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK) - err=UNZ_ERRNO; - - /* number of this disk */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK) - err=UNZ_ERRNO; - - /* number of the disk with the start of the central directory */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK) - err=UNZ_ERRNO; - - /* total number of entries in the central directory on this disk */ - if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.gi.number_entry)!=UNZ_OK) - err=UNZ_ERRNO; - - /* total number of entries in the central directory */ - if (unz64local_getLong64(&us.z_filefunc, us.filestream,&number_entry_CD)!=UNZ_OK) - err=UNZ_ERRNO; - - if ((number_entry_CD!=us.gi.number_entry) || - (number_disk_with_CD!=0) || - (number_disk!=0)) - err=UNZ_BADZIPFILE; - - /* size of the central directory */ - if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.size_central_dir)!=UNZ_OK) - err=UNZ_ERRNO; - - /* offset of start of central directory with respect to the - starting disk number */ - if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.offset_central_dir)!=UNZ_OK) - err=UNZ_ERRNO; - - us.gi.size_comment = 0; - } - else - { - central_pos = unz64local_SearchCentralDir(&us.z_filefunc,us.filestream); - if (central_pos==0) - err=UNZ_ERRNO; - - us.isZip64 = 0; - - if (ZSEEK64(us.z_filefunc, us.filestream, - central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) - err=UNZ_ERRNO; - - /* the signature, already checked */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - - /* number of this disk */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK) - err=UNZ_ERRNO; - - /* number of the disk with the start of the central directory */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK) - err=UNZ_ERRNO; - - /* total number of entries in the central dir on this disk */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - us.gi.number_entry = uL; - - /* total number of entries in the central dir */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - number_entry_CD = uL; - - if ((number_entry_CD!=us.gi.number_entry) || - (number_disk_with_CD!=0) || - (number_disk!=0)) - err=UNZ_BADZIPFILE; - - /* size of the central directory */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - us.size_central_dir = uL; - - /* offset of start of central directory with respect to the - starting disk number */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - us.offset_central_dir = uL; - - /* zipfile comment length */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&us.gi.size_comment)!=UNZ_OK) - err=UNZ_ERRNO; - } - - if ((central_pospfile_in_zip_read!=NULL) - unzCloseCurrentFile(file); - - ZCLOSE64(s->z_filefunc, s->filestream); - TRYFREE(s); - return UNZ_OK; -} - - -/* - Write info about the ZipFile in the *pglobal_info structure. - No preparation of the structure is needed - return UNZ_OK if there is no problem. */ -extern int ZEXPORT unzGetGlobalInfo64 (unzFile file, unz_global_info64* pglobal_info) -{ - unz64_s* s; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - *pglobal_info=s->gi; - return UNZ_OK; -} - -extern int ZEXPORT unzGetGlobalInfo (unzFile file, unz_global_info* pglobal_info32) -{ - unz64_s* s; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - /* to do : check if number_entry is not truncated */ - pglobal_info32->number_entry = (uLong)s->gi.number_entry; - pglobal_info32->size_comment = s->gi.size_comment; - return UNZ_OK; -} -/* - Translate date/time from Dos format to tm_unz (readable more easilty) -*/ -local void unz64local_DosDateToTmuDate (ZPOS64_T ulDosDate, tm_unz* ptm) -{ - ZPOS64_T uDate; - uDate = (ZPOS64_T)(ulDosDate>>16); - ptm->tm_mday = (uInt)(uDate&0x1f) ; - ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ; - ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ; - - ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800); - ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ; - ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ; -} - -/* - Get Info about the current file in the zipfile, with internal only info -*/ -local int unz64local_GetCurrentFileInfoInternal OF((unzFile file, - unz_file_info64 *pfile_info, - unz_file_info64_internal - *pfile_info_internal, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize)); - -local int unz64local_GetCurrentFileInfoInternal (unzFile file, - unz_file_info64 *pfile_info, - unz_file_info64_internal - *pfile_info_internal, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize) -{ - unz64_s* s; - unz_file_info64 file_info; - unz_file_info64_internal file_info_internal; - int err=UNZ_OK; - uLong uMagic; - long lSeek=0; - uLong uL; - - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - if (ZSEEK64(s->z_filefunc, s->filestream, - s->pos_in_central_dir+s->byte_before_the_zipfile, - ZLIB_FILEFUNC_SEEK_SET)!=0) - err=UNZ_ERRNO; - - - /* we check the magic */ - if (err==UNZ_OK) - { - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) - err=UNZ_ERRNO; - else if (uMagic!=0x02014b50) - err=UNZ_BADZIPFILE; - } - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version_needed) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.flag) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.compression_method) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.dosDate) != UNZ_OK) - err=UNZ_ERRNO; - - unz64local_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date); - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.crc) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - err=UNZ_ERRNO; - file_info.compressed_size = uL; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - err=UNZ_ERRNO; - file_info.uncompressed_size = uL; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_filename) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_extra) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_comment) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.disk_num_start) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.internal_fa) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.external_fa) != UNZ_OK) - err=UNZ_ERRNO; - - // relative offset of local header - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - err=UNZ_ERRNO; - file_info_internal.offset_curfile = uL; - - lSeek+=file_info.size_filename; - if ((err==UNZ_OK) && (szFileName!=NULL)) - { - uLong uSizeRead ; - if (file_info.size_filename0) && (fileNameBufferSize>0)) - if (ZREAD64(s->z_filefunc, s->filestream,szFileName,uSizeRead)!=uSizeRead) - err=UNZ_ERRNO; - lSeek -= uSizeRead; - } - - // Read extrafield - if ((err==UNZ_OK) && (extraField!=NULL)) - { - ZPOS64_T uSizeRead ; - if (file_info.size_file_extraz_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - lSeek=0; - else - err=UNZ_ERRNO; - } - - if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0)) - if (ZREAD64(s->z_filefunc, s->filestream,extraField,(uLong)uSizeRead)!=uSizeRead) - err=UNZ_ERRNO; - - lSeek += file_info.size_file_extra - (uLong)uSizeRead; - } - else - lSeek += file_info.size_file_extra; - - - if ((err==UNZ_OK) && (file_info.size_file_extra != 0)) - { - uLong acc = 0; - - // since lSeek now points to after the extra field we need to move back - lSeek -= file_info.size_file_extra; - - if (lSeek!=0) - { - if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - lSeek=0; - else - err=UNZ_ERRNO; - } - - while(acc < file_info.size_file_extra) - { - uLong headerId; - uLong dataSize; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&headerId) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&dataSize) != UNZ_OK) - err=UNZ_ERRNO; - - /* ZIP64 extra fields */ - if (headerId == 0x0001) - { - uLong uL; - - if(file_info.uncompressed_size == MAXU32) - { - if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK) - err=UNZ_ERRNO; - } - - if(file_info.compressed_size == MAXU32) - { - if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK) - err=UNZ_ERRNO; - } - - if(file_info_internal.offset_curfile == MAXU32) - { - /* Relative Header offset */ - if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK) - err=UNZ_ERRNO; - } - - if(file_info.disk_num_start == MAXU32) - { - /* Disk Start Number */ - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - err=UNZ_ERRNO; - } - - } - else - { - if (ZSEEK64(s->z_filefunc, s->filestream,dataSize,ZLIB_FILEFUNC_SEEK_CUR)!=0) - err=UNZ_ERRNO; - } - - acc += 2 + 2 + dataSize; - } - } - - if ((err==UNZ_OK) && (szComment!=NULL)) - { - uLong uSizeRead ; - if (file_info.size_file_commentz_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - lSeek=0; - else - err=UNZ_ERRNO; - } - - if ((file_info.size_file_comment>0) && (commentBufferSize>0)) - if (ZREAD64(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead) - err=UNZ_ERRNO; - lSeek+=file_info.size_file_comment - uSizeRead; - } - else - lSeek+=file_info.size_file_comment; - - - if ((err==UNZ_OK) && (pfile_info!=NULL)) - *pfile_info=file_info; - - if ((err==UNZ_OK) && (pfile_info_internal!=NULL)) - *pfile_info_internal=file_info_internal; - - return err; -} - - - -/* - Write info about the ZipFile in the *pglobal_info structure. - No preparation of the structure is needed - return UNZ_OK if there is no problem. -*/ -extern int ZEXPORT unzGetCurrentFileInfo64 (unzFile file, - unz_file_info64 * pfile_info, - char * szFileName, uLong fileNameBufferSize, - void *extraField, uLong extraFieldBufferSize, - char* szComment, uLong commentBufferSize) -{ - return unz64local_GetCurrentFileInfoInternal(file,pfile_info,NULL, - szFileName,fileNameBufferSize, - extraField,extraFieldBufferSize, - szComment,commentBufferSize); -} - -extern int ZEXPORT unzGetCurrentFileInfo (unzFile file, - unz_file_info * pfile_info, - char * szFileName, uLong fileNameBufferSize, - void *extraField, uLong extraFieldBufferSize, - char* szComment, uLong commentBufferSize) -{ - int err; - unz_file_info64 file_info64; - err = unz64local_GetCurrentFileInfoInternal(file,&file_info64,NULL, - szFileName,fileNameBufferSize, - extraField,extraFieldBufferSize, - szComment,commentBufferSize); - if ((err==UNZ_OK) && (pfile_info != NULL)) - { - pfile_info->version = file_info64.version; - pfile_info->version_needed = file_info64.version_needed; - pfile_info->flag = file_info64.flag; - pfile_info->compression_method = file_info64.compression_method; - pfile_info->dosDate = file_info64.dosDate; - pfile_info->crc = file_info64.crc; - - pfile_info->size_filename = file_info64.size_filename; - pfile_info->size_file_extra = file_info64.size_file_extra; - pfile_info->size_file_comment = file_info64.size_file_comment; - - pfile_info->disk_num_start = file_info64.disk_num_start; - pfile_info->internal_fa = file_info64.internal_fa; - pfile_info->external_fa = file_info64.external_fa; - - pfile_info->tmu_date = file_info64.tmu_date, - - - pfile_info->compressed_size = (uLong)file_info64.compressed_size; - pfile_info->uncompressed_size = (uLong)file_info64.uncompressed_size; - - } - return err; -} -/* - Set the current file of the zipfile to the first file. - return UNZ_OK if there is no problem -*/ -extern int ZEXPORT unzGoToFirstFile (unzFile file) -{ - int err=UNZ_OK; - unz64_s* s; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - s->pos_in_central_dir=s->offset_central_dir; - s->num_file=0; - err=unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - &s->cur_file_info_internal, - NULL,0,NULL,0,NULL,0); - s->current_file_ok = (err == UNZ_OK); - return err; -} - -/* - Set the current file of the zipfile to the next file. - return UNZ_OK if there is no problem - return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. -*/ -extern int ZEXPORT unzGoToNextFile (unzFile file) -{ - unz64_s* s; - int err; - - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - if (!s->current_file_ok) - return UNZ_END_OF_LIST_OF_FILE; - if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */ - if (s->num_file+1==s->gi.number_entry) - return UNZ_END_OF_LIST_OF_FILE; - - s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename + - s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ; - s->num_file++; - err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - &s->cur_file_info_internal, - NULL,0,NULL,0,NULL,0); - s->current_file_ok = (err == UNZ_OK); - return err; -} - - -/* - Try locate the file szFileName in the zipfile. - For the iCaseSensitivity signification, see unzStringFileNameCompare - - return value : - UNZ_OK if the file is found. It becomes the current file. - UNZ_END_OF_LIST_OF_FILE if the file is not found -*/ -extern int ZEXPORT unzLocateFile (unzFile file, const char *szFileName, int iCaseSensitivity) -{ - unz64_s* s; - int err; - - /* We remember the 'current' position in the file so that we can jump - * back there if we fail. - */ - unz_file_info64 cur_file_infoSaved; - unz_file_info64_internal cur_file_info_internalSaved; - ZPOS64_T num_fileSaved; - ZPOS64_T pos_in_central_dirSaved; - - - if (file==NULL) - return UNZ_PARAMERROR; - - if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP) - return UNZ_PARAMERROR; - - s=(unz64_s*)file; - if (!s->current_file_ok) - return UNZ_END_OF_LIST_OF_FILE; - - /* Save the current state */ - num_fileSaved = s->num_file; - pos_in_central_dirSaved = s->pos_in_central_dir; - cur_file_infoSaved = s->cur_file_info; - cur_file_info_internalSaved = s->cur_file_info_internal; - - err = unzGoToFirstFile(file); - - while (err == UNZ_OK) - { - char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1]; - err = unzGetCurrentFileInfo64(file,NULL, - szCurrentFileName,sizeof(szCurrentFileName)-1, - NULL,0,NULL,0); - if (err == UNZ_OK) - { - if (unzStringFileNameCompare(szCurrentFileName, - szFileName,iCaseSensitivity)==0) - return UNZ_OK; - err = unzGoToNextFile(file); - } - } - - /* We failed, so restore the state of the 'current file' to where we - * were. - */ - s->num_file = num_fileSaved ; - s->pos_in_central_dir = pos_in_central_dirSaved ; - s->cur_file_info = cur_file_infoSaved; - s->cur_file_info_internal = cur_file_info_internalSaved; - return err; -} - - -/* -/////////////////////////////////////////// -// Contributed by Ryan Haksi (mailto://cryogen@infoserve.net) -// I need random access -// -// Further optimization could be realized by adding an ability -// to cache the directory in memory. The goal being a single -// comprehensive file read to put the file I need in a memory. -*/ - -/* -typedef struct unz_file_pos_s -{ - ZPOS64_T pos_in_zip_directory; // offset in file - ZPOS64_T num_of_file; // # of file -} unz_file_pos; -*/ - -extern int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos* file_pos) -{ - unz64_s* s; - - if (file==NULL || file_pos==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - if (!s->current_file_ok) - return UNZ_END_OF_LIST_OF_FILE; - - file_pos->pos_in_zip_directory = s->pos_in_central_dir; - file_pos->num_of_file = s->num_file; - - return UNZ_OK; -} - -extern int ZEXPORT unzGetFilePos( - unzFile file, - unz_file_pos* file_pos) -{ - unz64_file_pos file_pos64; - int err = unzGetFilePos64(file,&file_pos64); - if (err==UNZ_OK) - { - file_pos->pos_in_zip_directory = (uLong)file_pos64.pos_in_zip_directory; - file_pos->num_of_file = (uLong)file_pos64.num_of_file; - } - return err; -} - -extern int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos* file_pos) -{ - unz64_s* s; - int err; - - if (file==NULL || file_pos==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - - /* jump to the right spot */ - s->pos_in_central_dir = file_pos->pos_in_zip_directory; - s->num_file = file_pos->num_of_file; - - /* set the current file */ - err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - &s->cur_file_info_internal, - NULL,0,NULL,0,NULL,0); - /* return results */ - s->current_file_ok = (err == UNZ_OK); - return err; -} - -extern int ZEXPORT unzGoToFilePos( - unzFile file, - unz_file_pos* file_pos) -{ - unz64_file_pos file_pos64; - if (file_pos == NULL) - return UNZ_PARAMERROR; - - file_pos64.pos_in_zip_directory = file_pos->pos_in_zip_directory; - file_pos64.num_of_file = file_pos->num_of_file; - return unzGoToFilePos64(file,&file_pos64); -} - -/* -// Unzip Helper Functions - should be here? -/////////////////////////////////////////// -*/ - -/* - Read the local header of the current zipfile - Check the coherency of the local header and info in the end of central - directory about this file - store in *piSizeVar the size of extra info in local header - (filename and size of extra field data) -*/ -local int unz64local_CheckCurrentFileCoherencyHeader (unz64_s* s, uInt* piSizeVar, - ZPOS64_T * poffset_local_extrafield, - uInt * psize_local_extrafield) -{ - uLong uMagic,uData,uFlags; - uLong size_filename; - uLong size_extra_field; - int err=UNZ_OK; - - *piSizeVar = 0; - *poffset_local_extrafield = 0; - *psize_local_extrafield = 0; - - if (ZSEEK64(s->z_filefunc, s->filestream,s->cur_file_info_internal.offset_curfile + - s->byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0) - return UNZ_ERRNO; - - - if (err==UNZ_OK) - { - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) - err=UNZ_ERRNO; - else if (uMagic!=0x04034b50) - err=UNZ_BADZIPFILE; - } - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) - err=UNZ_ERRNO; -/* - else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion)) - err=UNZ_BADZIPFILE; -*/ - if (unz64local_getShort(&s->z_filefunc, s->filestream,&uFlags) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) - err=UNZ_ERRNO; - else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method)) - err=UNZ_BADZIPFILE; - - if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) && -/* #ifdef HAVE_BZIP2 */ - (s->cur_file_info.compression_method!=Z_BZIP2ED) && -/* #endif */ - (s->cur_file_info.compression_method!=Z_DEFLATED)) - err=UNZ_BADZIPFILE; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* date/time */ - err=UNZ_ERRNO; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* crc */ - err=UNZ_ERRNO; - else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && ((uFlags & 8)==0)) - err=UNZ_BADZIPFILE; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size compr */ - err=UNZ_ERRNO; - else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && ((uFlags & 8)==0)) - err=UNZ_BADZIPFILE; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size uncompr */ - err=UNZ_ERRNO; - else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && ((uFlags & 8)==0)) - err=UNZ_BADZIPFILE; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_filename) != UNZ_OK) - err=UNZ_ERRNO; - else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename)) - err=UNZ_BADZIPFILE; - - *piSizeVar += (uInt)size_filename; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_extra_field) != UNZ_OK) - err=UNZ_ERRNO; - *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile + - SIZEZIPLOCALHEADER + size_filename; - *psize_local_extrafield = (uInt)size_extra_field; - - *piSizeVar += (uInt)size_extra_field; - - return err; -} - -/* - Open for reading data the current file in the zipfile. - If there is no error and the file is opened, the return value is UNZ_OK. -*/ -extern int ZEXPORT unzOpenCurrentFile3 (unzFile file, int* method, - int* level, int raw, const char* password) -{ - int err=UNZ_OK; - uInt iSizeVar; - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - ZPOS64_T offset_local_extrafield; /* offset of the local extra field */ - uInt size_local_extrafield; /* size of the local extra field */ -# ifndef NOUNCRYPT - char source[12]; -# else - if (password != NULL) - return UNZ_PARAMERROR; -# endif - - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - if (!s->current_file_ok) - return UNZ_PARAMERROR; - - if (s->pfile_in_zip_read != NULL) - unzCloseCurrentFile(file); - - if (unz64local_CheckCurrentFileCoherencyHeader(s,&iSizeVar, &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK) - return UNZ_BADZIPFILE; - - pfile_in_zip_read_info = (file_in_zip64_read_info_s*)ALLOC(sizeof(file_in_zip64_read_info_s)); - if (pfile_in_zip_read_info==NULL) - return UNZ_INTERNALERROR; - - pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE); - pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield; - pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield; - pfile_in_zip_read_info->pos_local_extrafield=0; - pfile_in_zip_read_info->raw=raw; - - if (pfile_in_zip_read_info->read_buffer==NULL) - { - TRYFREE(pfile_in_zip_read_info); - return UNZ_INTERNALERROR; - } - - pfile_in_zip_read_info->stream_initialised=0; - - if (method!=NULL) - *method = (int)s->cur_file_info.compression_method; - - if (level!=NULL) - { - *level = 6; - switch (s->cur_file_info.flag & 0x06) - { - case 6 : *level = 1; break; - case 4 : *level = 2; break; - case 2 : *level = 9; break; - } - } - - if ((s->cur_file_info.compression_method!=0) && -/* #ifdef HAVE_BZIP2 */ - (s->cur_file_info.compression_method!=Z_BZIP2ED) && -/* #endif */ - (s->cur_file_info.compression_method!=Z_DEFLATED)) - - err=UNZ_BADZIPFILE; - - pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc; - pfile_in_zip_read_info->crc32=0; - pfile_in_zip_read_info->total_out_64=0; - pfile_in_zip_read_info->compression_method = s->cur_file_info.compression_method; - pfile_in_zip_read_info->filestream=s->filestream; - pfile_in_zip_read_info->z_filefunc=s->z_filefunc; - pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile; - - pfile_in_zip_read_info->stream.total_out = 0; - - if ((s->cur_file_info.compression_method==Z_BZIP2ED) && (!raw)) - { -#ifdef HAVE_BZIP2 - pfile_in_zip_read_info->bstream.bzalloc = (void *(*) (void *, int, int))0; - pfile_in_zip_read_info->bstream.bzfree = (free_func)0; - pfile_in_zip_read_info->bstream.opaque = (voidpf)0; - pfile_in_zip_read_info->bstream.state = (voidpf)0; - - pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; - pfile_in_zip_read_info->stream.zfree = (free_func)0; - pfile_in_zip_read_info->stream.opaque = (voidpf)0; - pfile_in_zip_read_info->stream.next_in = (voidpf)0; - pfile_in_zip_read_info->stream.avail_in = 0; - - err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0); - if (err == Z_OK) - pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED; - else - { - TRYFREE(pfile_in_zip_read_info); - return err; - } -#else - pfile_in_zip_read_info->raw=1; -#endif - } - else if ((s->cur_file_info.compression_method==Z_DEFLATED) && (!raw)) - { - pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; - pfile_in_zip_read_info->stream.zfree = (free_func)0; - pfile_in_zip_read_info->stream.opaque = (voidpf)0; - pfile_in_zip_read_info->stream.next_in = 0; - pfile_in_zip_read_info->stream.avail_in = 0; - - err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); - if (err == Z_OK) - pfile_in_zip_read_info->stream_initialised=Z_DEFLATED; - else - { - TRYFREE(pfile_in_zip_read_info); - return err; - } - /* windowBits is passed < 0 to tell that there is no zlib header. - * Note that in this case inflate *requires* an extra "dummy" byte - * after the compressed stream in order to complete decompression and - * return Z_STREAM_END. - * In unzip, i don't wait absolutely Z_STREAM_END because I known the - * size of both compressed and uncompressed data - */ - } - pfile_in_zip_read_info->rest_read_compressed = - s->cur_file_info.compressed_size ; - pfile_in_zip_read_info->rest_read_uncompressed = - s->cur_file_info.uncompressed_size ; - - - pfile_in_zip_read_info->pos_in_zipfile = - s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + - iSizeVar; - - pfile_in_zip_read_info->stream.avail_in = (uInt)0; - - s->pfile_in_zip_read = pfile_in_zip_read_info; - s->encrypted = 0; - -# ifndef NOUNCRYPT - if (password != NULL) - { - int i; - s->pcrc_32_tab = get_crc_table(); - init_keys(password,s->keys,s->pcrc_32_tab); - if (ZSEEK64(s->z_filefunc, s->filestream, - s->pfile_in_zip_read->pos_in_zipfile + - s->pfile_in_zip_read->byte_before_the_zipfile, - SEEK_SET)!=0) - return UNZ_INTERNALERROR; - if(ZREAD64(s->z_filefunc, s->filestream,source, 12)<12) - return UNZ_INTERNALERROR; - - for (i = 0; i<12; i++) - zdecode(s->keys,s->pcrc_32_tab,source[i]); - - s->pfile_in_zip_read->pos_in_zipfile+=12; - s->encrypted=1; - } -# endif - - - return UNZ_OK; -} - -extern int ZEXPORT unzOpenCurrentFile (unzFile file) -{ - return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL); -} - -extern int ZEXPORT unzOpenCurrentFilePassword (unzFile file, const char* password) -{ - return unzOpenCurrentFile3(file, NULL, NULL, 0, password); -} - -extern int ZEXPORT unzOpenCurrentFile2 (unzFile file, int* method, int* level, int raw) -{ - return unzOpenCurrentFile3(file, method, level, raw, NULL); -} - -/** Addition for GDAL : START */ - -extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64( unzFile file) -{ - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - s=(unz64_s*)file; - if (file==NULL) - return 0; //UNZ_PARAMERROR; - pfile_in_zip_read_info=s->pfile_in_zip_read; - if (pfile_in_zip_read_info==NULL) - return 0; //UNZ_PARAMERROR; - return pfile_in_zip_read_info->pos_in_zipfile + - pfile_in_zip_read_info->byte_before_the_zipfile; -} - -/** Addition for GDAL : END */ - -/* - Read bytes from the current file. - buf contain buffer where data must be copied - len the size of buf. - - return the number of byte copied if somes bytes are copied - return 0 if the end of file was reached - return <0 with error code if there is an error - (UNZ_ERRNO for IO error, or zLib error for uncompress error) -*/ -extern int ZEXPORT unzReadCurrentFile (unzFile file, voidp buf, unsigned len) -{ - int err=UNZ_OK; - uInt iRead = 0; - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return UNZ_PARAMERROR; - - - if (pfile_in_zip_read_info->read_buffer == NULL) - return UNZ_END_OF_LIST_OF_FILE; - if (len==0) - return 0; - - pfile_in_zip_read_info->stream.next_out = (Bytef*)buf; - - pfile_in_zip_read_info->stream.avail_out = (uInt)len; - - if ((len>pfile_in_zip_read_info->rest_read_uncompressed) && - (!(pfile_in_zip_read_info->raw))) - pfile_in_zip_read_info->stream.avail_out = - (uInt)pfile_in_zip_read_info->rest_read_uncompressed; - - if ((len>pfile_in_zip_read_info->rest_read_compressed+ - pfile_in_zip_read_info->stream.avail_in) && - (pfile_in_zip_read_info->raw)) - pfile_in_zip_read_info->stream.avail_out = - (uInt)pfile_in_zip_read_info->rest_read_compressed+ - pfile_in_zip_read_info->stream.avail_in; - - while (pfile_in_zip_read_info->stream.avail_out>0) - { - if ((pfile_in_zip_read_info->stream.avail_in==0) && - (pfile_in_zip_read_info->rest_read_compressed>0)) - { - uInt uReadThis = UNZ_BUFSIZE; - if (pfile_in_zip_read_info->rest_read_compressedrest_read_compressed; - if (uReadThis == 0) - return UNZ_EOF; - if (ZSEEK64(pfile_in_zip_read_info->z_filefunc, - pfile_in_zip_read_info->filestream, - pfile_in_zip_read_info->pos_in_zipfile + - pfile_in_zip_read_info->byte_before_the_zipfile, - ZLIB_FILEFUNC_SEEK_SET)!=0) - return UNZ_ERRNO; - if (ZREAD64(pfile_in_zip_read_info->z_filefunc, - pfile_in_zip_read_info->filestream, - pfile_in_zip_read_info->read_buffer, - uReadThis)!=uReadThis) - return UNZ_ERRNO; - - -# ifndef NOUNCRYPT - if(s->encrypted) - { - uInt i; - for(i=0;iread_buffer[i] = - zdecode(s->keys,s->pcrc_32_tab, - pfile_in_zip_read_info->read_buffer[i]); - } -# endif - - - pfile_in_zip_read_info->pos_in_zipfile += uReadThis; - - pfile_in_zip_read_info->rest_read_compressed-=uReadThis; - - pfile_in_zip_read_info->stream.next_in = - (Bytef*)pfile_in_zip_read_info->read_buffer; - pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis; - } - - if ((pfile_in_zip_read_info->compression_method==0) || (pfile_in_zip_read_info->raw)) - { - uInt uDoCopy,i ; - - if ((pfile_in_zip_read_info->stream.avail_in == 0) && - (pfile_in_zip_read_info->rest_read_compressed == 0)) - return (iRead==0) ? UNZ_EOF : iRead; - - if (pfile_in_zip_read_info->stream.avail_out < - pfile_in_zip_read_info->stream.avail_in) - uDoCopy = pfile_in_zip_read_info->stream.avail_out ; - else - uDoCopy = pfile_in_zip_read_info->stream.avail_in ; - - for (i=0;istream.next_out+i) = - *(pfile_in_zip_read_info->stream.next_in+i); - - pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uDoCopy; - - pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, - pfile_in_zip_read_info->stream.next_out, - uDoCopy); - pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy; - pfile_in_zip_read_info->stream.avail_in -= uDoCopy; - pfile_in_zip_read_info->stream.avail_out -= uDoCopy; - pfile_in_zip_read_info->stream.next_out += uDoCopy; - pfile_in_zip_read_info->stream.next_in += uDoCopy; - pfile_in_zip_read_info->stream.total_out += uDoCopy; - iRead += uDoCopy; - } - else if (pfile_in_zip_read_info->compression_method==Z_BZIP2ED) - { -#ifdef HAVE_BZIP2 - uLong uTotalOutBefore,uTotalOutAfter; - const Bytef *bufBefore; - uLong uOutThis; - - pfile_in_zip_read_info->bstream.next_in = (char*)pfile_in_zip_read_info->stream.next_in; - pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->stream.avail_in; - pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->stream.total_in; - pfile_in_zip_read_info->bstream.total_in_hi32 = 0; - pfile_in_zip_read_info->bstream.next_out = (char*)pfile_in_zip_read_info->stream.next_out; - pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->stream.avail_out; - pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->stream.total_out; - pfile_in_zip_read_info->bstream.total_out_hi32 = 0; - - uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32; - bufBefore = (const Bytef *)pfile_in_zip_read_info->bstream.next_out; - - err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream); - - uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32; - uOutThis = uTotalOutAfter-uTotalOutBefore; - - pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis; - - pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,bufBefore, (uInt)(uOutThis)); - pfile_in_zip_read_info->rest_read_uncompressed -= uOutThis; - iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); - - pfile_in_zip_read_info->stream.next_in = (Bytef*)pfile_in_zip_read_info->bstream.next_in; - pfile_in_zip_read_info->stream.avail_in = pfile_in_zip_read_info->bstream.avail_in; - pfile_in_zip_read_info->stream.total_in = pfile_in_zip_read_info->bstream.total_in_lo32; - pfile_in_zip_read_info->stream.next_out = (Bytef*)pfile_in_zip_read_info->bstream.next_out; - pfile_in_zip_read_info->stream.avail_out = pfile_in_zip_read_info->bstream.avail_out; - pfile_in_zip_read_info->stream.total_out = pfile_in_zip_read_info->bstream.total_out_lo32; - - if (err==BZ_STREAM_END) - return (iRead==0) ? UNZ_EOF : iRead; - if (err!=BZ_OK) - break; -#endif - } // end Z_BZIP2ED - else - { - ZPOS64_T uTotalOutBefore,uTotalOutAfter; - const Bytef *bufBefore; - ZPOS64_T uOutThis; - int flush=Z_SYNC_FLUSH; - - uTotalOutBefore = pfile_in_zip_read_info->stream.total_out; - bufBefore = pfile_in_zip_read_info->stream.next_out; - - /* - if ((pfile_in_zip_read_info->rest_read_uncompressed == - pfile_in_zip_read_info->stream.avail_out) && - (pfile_in_zip_read_info->rest_read_compressed == 0)) - flush = Z_FINISH; - */ - err=inflate(&pfile_in_zip_read_info->stream,flush); - - if ((err>=0) && (pfile_in_zip_read_info->stream.msg!=NULL)) - err = Z_DATA_ERROR; - - uTotalOutAfter = pfile_in_zip_read_info->stream.total_out; - uOutThis = uTotalOutAfter-uTotalOutBefore; - - pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis; - - pfile_in_zip_read_info->crc32 = - crc32(pfile_in_zip_read_info->crc32,bufBefore, - (uInt)(uOutThis)); - - pfile_in_zip_read_info->rest_read_uncompressed -= - uOutThis; - - iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); - - if (err==Z_STREAM_END) - return (iRead==0) ? UNZ_EOF : iRead; - if (err!=Z_OK) - break; - } - } - - if (err==Z_OK) - return iRead; - return err; -} - - -/* - Give the current position in uncompressed data -*/ -extern z_off_t ZEXPORT unztell (unzFile file) -{ - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return UNZ_PARAMERROR; - - return (z_off_t)pfile_in_zip_read_info->stream.total_out; -} - -extern ZPOS64_T ZEXPORT unztell64 (unzFile file) -{ - - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - if (file==NULL) - return (ZPOS64_T)-1; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return (ZPOS64_T)-1; - - return pfile_in_zip_read_info->total_out_64; -} - - -/* - return 1 if the end of file was reached, 0 elsewhere -*/ -extern int ZEXPORT unzeof (unzFile file) -{ - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return UNZ_PARAMERROR; - - if (pfile_in_zip_read_info->rest_read_uncompressed == 0) - return 1; - else - return 0; -} - - - -/* -Read extra field from the current file (opened by unzOpenCurrentFile) -This is the local-header version of the extra field (sometimes, there is -more info in the local-header version than in the central-header) - - if buf==NULL, it return the size of the local extra field that can be read - - if buf!=NULL, len is the size of the buffer, the extra header is copied in - buf. - the return value is the number of bytes copied in buf, or (if <0) - the error code -*/ -extern int ZEXPORT unzGetLocalExtrafield (unzFile file, voidp buf, unsigned len) -{ - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - uInt read_now; - ZPOS64_T size_to_read; - - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return UNZ_PARAMERROR; - - size_to_read = (pfile_in_zip_read_info->size_local_extrafield - - pfile_in_zip_read_info->pos_local_extrafield); - - if (buf==NULL) - return (int)size_to_read; - - if (len>size_to_read) - read_now = (uInt)size_to_read; - else - read_now = (uInt)len ; - - if (read_now==0) - return 0; - - if (ZSEEK64(pfile_in_zip_read_info->z_filefunc, - pfile_in_zip_read_info->filestream, - pfile_in_zip_read_info->offset_local_extrafield + - pfile_in_zip_read_info->pos_local_extrafield, - ZLIB_FILEFUNC_SEEK_SET)!=0) - return UNZ_ERRNO; - - if (ZREAD64(pfile_in_zip_read_info->z_filefunc, - pfile_in_zip_read_info->filestream, - buf,read_now)!=read_now) - return UNZ_ERRNO; - - return (int)read_now; -} - -/* - Close the file in zip opened with unzOpenCurrentFile - Return UNZ_CRCERROR if all the file was read but the CRC is not good -*/ -extern int ZEXPORT unzCloseCurrentFile (unzFile file) -{ - int err=UNZ_OK; - - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return UNZ_PARAMERROR; - - - if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) && - (!pfile_in_zip_read_info->raw)) - { - if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait) - err=UNZ_CRCERROR; - } - - - TRYFREE(pfile_in_zip_read_info->read_buffer); - pfile_in_zip_read_info->read_buffer = NULL; - if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED) - inflateEnd(&pfile_in_zip_read_info->stream); -#ifdef HAVE_BZIP2 - else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED) - BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream); -#endif - - - pfile_in_zip_read_info->stream_initialised = 0; - TRYFREE(pfile_in_zip_read_info); - - s->pfile_in_zip_read=NULL; - - return err; -} - - -/* - Get the global comment string of the ZipFile, in the szComment buffer. - uSizeBuf is the size of the szComment buffer. - return the number of byte copied or an error code <0 -*/ -extern int ZEXPORT unzGetGlobalComment (unzFile file, char * szComment, uLong uSizeBuf) -{ - unz64_s* s; - uLong uReadThis ; - if (file==NULL) - return (int)UNZ_PARAMERROR; - s=(unz64_s*)file; - - uReadThis = uSizeBuf; - if (uReadThis>s->gi.size_comment) - uReadThis = s->gi.size_comment; - - if (ZSEEK64(s->z_filefunc,s->filestream,s->central_pos+22,ZLIB_FILEFUNC_SEEK_SET)!=0) - return UNZ_ERRNO; - - if (uReadThis>0) - { - *szComment='\0'; - if (ZREAD64(s->z_filefunc,s->filestream,szComment,uReadThis)!=uReadThis) - return UNZ_ERRNO; - } - - if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment)) - *(szComment+s->gi.size_comment)='\0'; - return (int)uReadThis; -} - -/* Additions by RX '2004 */ -extern ZPOS64_T ZEXPORT unzGetOffset64(unzFile file) -{ - unz64_s* s; - - if (file==NULL) - return 0; //UNZ_PARAMERROR; - s=(unz64_s*)file; - if (!s->current_file_ok) - return 0; - if (s->gi.number_entry != 0 && s->gi.number_entry != 0xffff) - if (s->num_file==s->gi.number_entry) - return 0; - return s->pos_in_central_dir; -} - -extern uLong ZEXPORT unzGetOffset (unzFile file) -{ - ZPOS64_T offset64; - - if (file==NULL) - return 0; //UNZ_PARAMERROR; - offset64 = unzGetOffset64(file); - return (uLong)offset64; -} - -extern int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos) -{ - unz64_s* s; - int err; - - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - - s->pos_in_central_dir = pos; - s->num_file = s->gi.number_entry; /* hack */ - err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - &s->cur_file_info_internal, - NULL,0,NULL,0,NULL,0); - s->current_file_ok = (err == UNZ_OK); - return err; -} - -extern int ZEXPORT unzSetOffset (unzFile file, uLong pos) -{ - return unzSetOffset64(file,pos); -} diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/unzip.h b/protocols/Telegram/tgl/zlib/contrib/minizip/unzip.h deleted file mode 100644 index 2104e39150..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/unzip.h +++ /dev/null @@ -1,437 +0,0 @@ -/* unzip.h -- IO for uncompress .zip files using zlib - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications of Unzip for Zip64 - Copyright (C) 2007-2008 Even Rouault - - Modifications for Zip64 support on both zip and unzip - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - - --------------------------------------------------------------------------------- - - Condition of use and distribution are the same than zlib : - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - --------------------------------------------------------------------------------- - - Changes - - See header of unzip64.c - -*/ - -#ifndef _unz64_H -#define _unz64_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _ZLIB_H -#include "zlib.h" -#endif - -#ifndef _ZLIBIOAPI_H -#include "ioapi.h" -#endif - -#ifdef HAVE_BZIP2 -#include "bzlib.h" -#endif - -#define Z_BZIP2ED 12 - -#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) -/* like the STRICT of WIN32, we define a pointer that cannot be converted - from (void*) without cast */ -typedef struct TagunzFile__ { int unused; } unzFile__; -typedef unzFile__ *unzFile; -#else -typedef voidp unzFile; -#endif - - -#define UNZ_OK (0) -#define UNZ_END_OF_LIST_OF_FILE (-100) -#define UNZ_ERRNO (Z_ERRNO) -#define UNZ_EOF (0) -#define UNZ_PARAMERROR (-102) -#define UNZ_BADZIPFILE (-103) -#define UNZ_INTERNALERROR (-104) -#define UNZ_CRCERROR (-105) - -/* tm_unz contain date/time info */ -typedef struct tm_unz_s -{ - uInt tm_sec; /* seconds after the minute - [0,59] */ - uInt tm_min; /* minutes after the hour - [0,59] */ - uInt tm_hour; /* hours since midnight - [0,23] */ - uInt tm_mday; /* day of the month - [1,31] */ - uInt tm_mon; /* months since January - [0,11] */ - uInt tm_year; /* years - [1980..2044] */ -} tm_unz; - -/* unz_global_info structure contain global data about the ZIPfile - These data comes from the end of central dir */ -typedef struct unz_global_info64_s -{ - ZPOS64_T number_entry; /* total number of entries in - the central dir on this disk */ - uLong size_comment; /* size of the global comment of the zipfile */ -} unz_global_info64; - -typedef struct unz_global_info_s -{ - uLong number_entry; /* total number of entries in - the central dir on this disk */ - uLong size_comment; /* size of the global comment of the zipfile */ -} unz_global_info; - -/* unz_file_info contain information about a file in the zipfile */ -typedef struct unz_file_info64_s -{ - uLong version; /* version made by 2 bytes */ - uLong version_needed; /* version needed to extract 2 bytes */ - uLong flag; /* general purpose bit flag 2 bytes */ - uLong compression_method; /* compression method 2 bytes */ - uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ - uLong crc; /* crc-32 4 bytes */ - ZPOS64_T compressed_size; /* compressed size 8 bytes */ - ZPOS64_T uncompressed_size; /* uncompressed size 8 bytes */ - uLong size_filename; /* filename length 2 bytes */ - uLong size_file_extra; /* extra field length 2 bytes */ - uLong size_file_comment; /* file comment length 2 bytes */ - - uLong disk_num_start; /* disk number start 2 bytes */ - uLong internal_fa; /* internal file attributes 2 bytes */ - uLong external_fa; /* external file attributes 4 bytes */ - - tm_unz tmu_date; -} unz_file_info64; - -typedef struct unz_file_info_s -{ - uLong version; /* version made by 2 bytes */ - uLong version_needed; /* version needed to extract 2 bytes */ - uLong flag; /* general purpose bit flag 2 bytes */ - uLong compression_method; /* compression method 2 bytes */ - uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ - uLong crc; /* crc-32 4 bytes */ - uLong compressed_size; /* compressed size 4 bytes */ - uLong uncompressed_size; /* uncompressed size 4 bytes */ - uLong size_filename; /* filename length 2 bytes */ - uLong size_file_extra; /* extra field length 2 bytes */ - uLong size_file_comment; /* file comment length 2 bytes */ - - uLong disk_num_start; /* disk number start 2 bytes */ - uLong internal_fa; /* internal file attributes 2 bytes */ - uLong external_fa; /* external file attributes 4 bytes */ - - tm_unz tmu_date; -} unz_file_info; - -extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1, - const char* fileName2, - int iCaseSensitivity)); -/* - Compare two filename (fileName1,fileName2). - If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) - If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi - or strcasecmp) - If iCaseSenisivity = 0, case sensitivity is defaut of your operating system - (like 1 on Unix, 2 on Windows) -*/ - - -extern unzFile ZEXPORT unzOpen OF((const char *path)); -extern unzFile ZEXPORT unzOpen64 OF((const void *path)); -/* - Open a Zip file. path contain the full pathname (by example, - on a Windows XP computer "c:\\zlib\\zlib113.zip" or on an Unix computer - "zlib/zlib113.zip". - If the zipfile cannot be opened (file don't exist or in not valid), the - return value is NULL. - Else, the return value is a unzFile Handle, usable with other function - of this unzip package. - the "64" function take a const void* pointer, because the path is just the - value passed to the open64_file_func callback. - Under Windows, if UNICODE is defined, using fill_fopen64_filefunc, the path - is a pointer to a wide unicode string (LPCTSTR is LPCWSTR), so const char* - does not describe the reality -*/ - - -extern unzFile ZEXPORT unzOpen2 OF((const char *path, - zlib_filefunc_def* pzlib_filefunc_def)); -/* - Open a Zip file, like unzOpen, but provide a set of file low level API - for read/write the zip file (see ioapi.h) -*/ - -extern unzFile ZEXPORT unzOpen2_64 OF((const void *path, - zlib_filefunc64_def* pzlib_filefunc_def)); -/* - Open a Zip file, like unz64Open, but provide a set of file low level API - for read/write the zip file (see ioapi.h) -*/ - -extern int ZEXPORT unzClose OF((unzFile file)); -/* - Close a ZipFile opened with unzOpen. - If there is files inside the .Zip opened with unzOpenCurrentFile (see later), - these files MUST be closed with unzCloseCurrentFile before call unzClose. - return UNZ_OK if there is no problem. */ - -extern int ZEXPORT unzGetGlobalInfo OF((unzFile file, - unz_global_info *pglobal_info)); - -extern int ZEXPORT unzGetGlobalInfo64 OF((unzFile file, - unz_global_info64 *pglobal_info)); -/* - Write info about the ZipFile in the *pglobal_info structure. - No preparation of the structure is needed - return UNZ_OK if there is no problem. */ - - -extern int ZEXPORT unzGetGlobalComment OF((unzFile file, - char *szComment, - uLong uSizeBuf)); -/* - Get the global comment string of the ZipFile, in the szComment buffer. - uSizeBuf is the size of the szComment buffer. - return the number of byte copied or an error code <0 -*/ - - -/***************************************************************************/ -/* Unzip package allow you browse the directory of the zipfile */ - -extern int ZEXPORT unzGoToFirstFile OF((unzFile file)); -/* - Set the current file of the zipfile to the first file. - return UNZ_OK if there is no problem -*/ - -extern int ZEXPORT unzGoToNextFile OF((unzFile file)); -/* - Set the current file of the zipfile to the next file. - return UNZ_OK if there is no problem - return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. -*/ - -extern int ZEXPORT unzLocateFile OF((unzFile file, - const char *szFileName, - int iCaseSensitivity)); -/* - Try locate the file szFileName in the zipfile. - For the iCaseSensitivity signification, see unzStringFileNameCompare - - return value : - UNZ_OK if the file is found. It becomes the current file. - UNZ_END_OF_LIST_OF_FILE if the file is not found -*/ - - -/* ****************************************** */ -/* Ryan supplied functions */ -/* unz_file_info contain information about a file in the zipfile */ -typedef struct unz_file_pos_s -{ - uLong pos_in_zip_directory; /* offset in zip file directory */ - uLong num_of_file; /* # of file */ -} unz_file_pos; - -extern int ZEXPORT unzGetFilePos( - unzFile file, - unz_file_pos* file_pos); - -extern int ZEXPORT unzGoToFilePos( - unzFile file, - unz_file_pos* file_pos); - -typedef struct unz64_file_pos_s -{ - ZPOS64_T pos_in_zip_directory; /* offset in zip file directory */ - ZPOS64_T num_of_file; /* # of file */ -} unz64_file_pos; - -extern int ZEXPORT unzGetFilePos64( - unzFile file, - unz64_file_pos* file_pos); - -extern int ZEXPORT unzGoToFilePos64( - unzFile file, - const unz64_file_pos* file_pos); - -/* ****************************************** */ - -extern int ZEXPORT unzGetCurrentFileInfo64 OF((unzFile file, - unz_file_info64 *pfile_info, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize)); - -extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file, - unz_file_info *pfile_info, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize)); -/* - Get Info about the current file - if pfile_info!=NULL, the *pfile_info structure will contain somes info about - the current file - if szFileName!=NULL, the filemane string will be copied in szFileName - (fileNameBufferSize is the size of the buffer) - if extraField!=NULL, the extra field information will be copied in extraField - (extraFieldBufferSize is the size of the buffer). - This is the Central-header version of the extra field - if szComment!=NULL, the comment string of the file will be copied in szComment - (commentBufferSize is the size of the buffer) -*/ - - -/** Addition for GDAL : START */ - -extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64 OF((unzFile file)); - -/** Addition for GDAL : END */ - - -/***************************************************************************/ -/* for reading the content of the current zipfile, you can open it, read data - from it, and close it (you can close it before reading all the file) - */ - -extern int ZEXPORT unzOpenCurrentFile OF((unzFile file)); -/* - Open for reading data the current file in the zipfile. - If there is no error, the return value is UNZ_OK. -*/ - -extern int ZEXPORT unzOpenCurrentFilePassword OF((unzFile file, - const char* password)); -/* - Open for reading data the current file in the zipfile. - password is a crypting password - If there is no error, the return value is UNZ_OK. -*/ - -extern int ZEXPORT unzOpenCurrentFile2 OF((unzFile file, - int* method, - int* level, - int raw)); -/* - Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) - if raw==1 - *method will receive method of compression, *level will receive level of - compression - note : you can set level parameter as NULL (if you did not want known level, - but you CANNOT set method parameter as NULL -*/ - -extern int ZEXPORT unzOpenCurrentFile3 OF((unzFile file, - int* method, - int* level, - int raw, - const char* password)); -/* - Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) - if raw==1 - *method will receive method of compression, *level will receive level of - compression - note : you can set level parameter as NULL (if you did not want known level, - but you CANNOT set method parameter as NULL -*/ - - -extern int ZEXPORT unzCloseCurrentFile OF((unzFile file)); -/* - Close the file in zip opened with unzOpenCurrentFile - Return UNZ_CRCERROR if all the file was read but the CRC is not good -*/ - -extern int ZEXPORT unzReadCurrentFile OF((unzFile file, - voidp buf, - unsigned len)); -/* - Read bytes from the current file (opened by unzOpenCurrentFile) - buf contain buffer where data must be copied - len the size of buf. - - return the number of byte copied if somes bytes are copied - return 0 if the end of file was reached - return <0 with error code if there is an error - (UNZ_ERRNO for IO error, or zLib error for uncompress error) -*/ - -extern z_off_t ZEXPORT unztell OF((unzFile file)); - -extern ZPOS64_T ZEXPORT unztell64 OF((unzFile file)); -/* - Give the current position in uncompressed data -*/ - -extern int ZEXPORT unzeof OF((unzFile file)); -/* - return 1 if the end of file was reached, 0 elsewhere -*/ - -extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file, - voidp buf, - unsigned len)); -/* - Read extra field from the current file (opened by unzOpenCurrentFile) - This is the local-header version of the extra field (sometimes, there is - more info in the local-header version than in the central-header) - - if buf==NULL, it return the size of the local extra field - - if buf!=NULL, len is the size of the buffer, the extra header is copied in - buf. - the return value is the number of bytes copied in buf, or (if <0) - the error code -*/ - -/***************************************************************************/ - -/* Get the current file offset */ -extern ZPOS64_T ZEXPORT unzGetOffset64 (unzFile file); -extern uLong ZEXPORT unzGetOffset (unzFile file); - -/* Set the current file offset */ -extern int ZEXPORT unzSetOffset64 (unzFile file, ZPOS64_T pos); -extern int ZEXPORT unzSetOffset (unzFile file, uLong pos); - - - -#ifdef __cplusplus -} -#endif - -#endif /* _unz64_H */ diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/zip.c b/protocols/Telegram/tgl/zlib/contrib/minizip/zip.c deleted file mode 100644 index ea54853e85..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/zip.c +++ /dev/null @@ -1,2007 +0,0 @@ -/* zip.c -- IO on .zip files using zlib - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - - Changes - Oct-2009 - Mathias Svensson - Remove old C style function prototypes - Oct-2009 - Mathias Svensson - Added Zip64 Support when creating new file archives - Oct-2009 - Mathias Svensson - Did some code cleanup and refactoring to get better overview of some functions. - Oct-2009 - Mathias Svensson - Added zipRemoveExtraInfoBlock to strip extra field data from its ZIP64 data - It is used when recreting zip archive with RAW when deleting items from a zip. - ZIP64 data is automaticly added to items that needs it, and existing ZIP64 data need to be removed. - Oct-2009 - Mathias Svensson - Added support for BZIP2 as compression mode (bzip2 lib is required) - Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer - -*/ - - -#include -#include -#include -#include -#include "zlib.h" -#include "zip.h" - -#ifdef STDC -# include -# include -# include -#endif -#ifdef NO_ERRNO_H - extern int errno; -#else -# include -#endif - - -#ifndef local -# define local static -#endif -/* compile with -Dlocal if your debugger can't find static symbols */ - -#ifndef VERSIONMADEBY -# define VERSIONMADEBY (0x0) /* platform depedent */ -#endif - -#ifndef Z_BUFSIZE -#define Z_BUFSIZE (64*1024) //(16384) -#endif - -#ifndef Z_MAXFILENAMEINZIP -#define Z_MAXFILENAMEINZIP (256) -#endif - -#ifndef ALLOC -# define ALLOC(size) (malloc(size)) -#endif -#ifndef TRYFREE -# define TRYFREE(p) {if (p) free(p);} -#endif - -/* -#define SIZECENTRALDIRITEM (0x2e) -#define SIZEZIPLOCALHEADER (0x1e) -*/ - -/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ - - -// NOT sure that this work on ALL platform -#define MAKEULONG64(a, b) ((ZPOS64_T)(((unsigned long)(a)) | ((ZPOS64_T)((unsigned long)(b))) << 32)) - -#ifndef SEEK_CUR -#define SEEK_CUR 1 -#endif - -#ifndef SEEK_END -#define SEEK_END 2 -#endif - -#ifndef SEEK_SET -#define SEEK_SET 0 -#endif - -#ifndef DEF_MEM_LEVEL -#if MAX_MEM_LEVEL >= 8 -# define DEF_MEM_LEVEL 8 -#else -# define DEF_MEM_LEVEL MAX_MEM_LEVEL -#endif -#endif -const char zip_copyright[] =" zip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; - - -#define SIZEDATA_INDATABLOCK (4096-(4*4)) - -#define LOCALHEADERMAGIC (0x04034b50) -#define CENTRALHEADERMAGIC (0x02014b50) -#define ENDHEADERMAGIC (0x06054b50) -#define ZIP64ENDHEADERMAGIC (0x6064b50) -#define ZIP64ENDLOCHEADERMAGIC (0x7064b50) - -#define FLAG_LOCALHEADER_OFFSET (0x06) -#define CRC_LOCALHEADER_OFFSET (0x0e) - -#define SIZECENTRALHEADER (0x2e) /* 46 */ - -typedef struct linkedlist_datablock_internal_s -{ - struct linkedlist_datablock_internal_s* next_datablock; - uLong avail_in_this_block; - uLong filled_in_this_block; - uLong unused; /* for future use and alignement */ - unsigned char data[SIZEDATA_INDATABLOCK]; -} linkedlist_datablock_internal; - -typedef struct linkedlist_data_s -{ - linkedlist_datablock_internal* first_block; - linkedlist_datablock_internal* last_block; -} linkedlist_data; - - -typedef struct -{ - z_stream stream; /* zLib stream structure for inflate */ -#ifdef HAVE_BZIP2 - bz_stream bstream; /* bzLib stream structure for bziped */ -#endif - - int stream_initialised; /* 1 is stream is initialised */ - uInt pos_in_buffered_data; /* last written byte in buffered_data */ - - ZPOS64_T pos_local_header; /* offset of the local header of the file - currenty writing */ - char* central_header; /* central header data for the current file */ - uLong size_centralExtra; - uLong size_centralheader; /* size of the central header for cur file */ - uLong size_centralExtraFree; /* Extra bytes allocated to the centralheader but that are not used */ - uLong flag; /* flag of the file currently writing */ - - int method; /* compression method of file currenty wr.*/ - int raw; /* 1 for directly writing raw data */ - Byte buffered_data[Z_BUFSIZE];/* buffer contain compressed data to be writ*/ - uLong dosDate; - uLong crc32; - int encrypt; - int zip64; /* Add ZIP64 extened information in the extra field */ - ZPOS64_T pos_zip64extrainfo; - ZPOS64_T totalCompressedData; - ZPOS64_T totalUncompressedData; -#ifndef NOCRYPT - unsigned long keys[3]; /* keys defining the pseudo-random sequence */ - const z_crc_t* pcrc_32_tab; - int crypt_header_size; -#endif -} curfile64_info; - -typedef struct -{ - zlib_filefunc64_32_def z_filefunc; - voidpf filestream; /* io structore of the zipfile */ - linkedlist_data central_dir;/* datablock with central dir in construction*/ - int in_opened_file_inzip; /* 1 if a file in the zip is currently writ.*/ - curfile64_info ci; /* info on the file curretly writing */ - - ZPOS64_T begin_pos; /* position of the beginning of the zipfile */ - ZPOS64_T add_position_when_writting_offset; - ZPOS64_T number_entry; - -#ifndef NO_ADDFILEINEXISTINGZIP - char *globalcomment; -#endif - -} zip64_internal; - - -#ifndef NOCRYPT -#define INCLUDECRYPTINGCODE_IFCRYPTALLOWED -#include "crypt.h" -#endif - -local linkedlist_datablock_internal* allocate_new_datablock() -{ - linkedlist_datablock_internal* ldi; - ldi = (linkedlist_datablock_internal*) - ALLOC(sizeof(linkedlist_datablock_internal)); - if (ldi!=NULL) - { - ldi->next_datablock = NULL ; - ldi->filled_in_this_block = 0 ; - ldi->avail_in_this_block = SIZEDATA_INDATABLOCK ; - } - return ldi; -} - -local void free_datablock(linkedlist_datablock_internal* ldi) -{ - while (ldi!=NULL) - { - linkedlist_datablock_internal* ldinext = ldi->next_datablock; - TRYFREE(ldi); - ldi = ldinext; - } -} - -local void init_linkedlist(linkedlist_data* ll) -{ - ll->first_block = ll->last_block = NULL; -} - -local void free_linkedlist(linkedlist_data* ll) -{ - free_datablock(ll->first_block); - ll->first_block = ll->last_block = NULL; -} - - -local int add_data_in_datablock(linkedlist_data* ll, const void* buf, uLong len) -{ - linkedlist_datablock_internal* ldi; - const unsigned char* from_copy; - - if (ll==NULL) - return ZIP_INTERNALERROR; - - if (ll->last_block == NULL) - { - ll->first_block = ll->last_block = allocate_new_datablock(); - if (ll->first_block == NULL) - return ZIP_INTERNALERROR; - } - - ldi = ll->last_block; - from_copy = (unsigned char*)buf; - - while (len>0) - { - uInt copy_this; - uInt i; - unsigned char* to_copy; - - if (ldi->avail_in_this_block==0) - { - ldi->next_datablock = allocate_new_datablock(); - if (ldi->next_datablock == NULL) - return ZIP_INTERNALERROR; - ldi = ldi->next_datablock ; - ll->last_block = ldi; - } - - if (ldi->avail_in_this_block < len) - copy_this = (uInt)ldi->avail_in_this_block; - else - copy_this = (uInt)len; - - to_copy = &(ldi->data[ldi->filled_in_this_block]); - - for (i=0;ifilled_in_this_block += copy_this; - ldi->avail_in_this_block -= copy_this; - from_copy += copy_this ; - len -= copy_this; - } - return ZIP_OK; -} - - - -/****************************************************************************/ - -#ifndef NO_ADDFILEINEXISTINGZIP -/* =========================================================================== - Inputs a long in LSB order to the given file - nbByte == 1, 2 ,4 or 8 (byte, short or long, ZPOS64_T) -*/ - -local int zip64local_putValue OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T x, int nbByte)); -local int zip64local_putValue (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T x, int nbByte) -{ - unsigned char buf[8]; - int n; - for (n = 0; n < nbByte; n++) - { - buf[n] = (unsigned char)(x & 0xff); - x >>= 8; - } - if (x != 0) - { /* data overflow - hack for ZIP64 (X Roche) */ - for (n = 0; n < nbByte; n++) - { - buf[n] = 0xff; - } - } - - if (ZWRITE64(*pzlib_filefunc_def,filestream,buf,nbByte)!=(uLong)nbByte) - return ZIP_ERRNO; - else - return ZIP_OK; -} - -local void zip64local_putValue_inmemory OF((void* dest, ZPOS64_T x, int nbByte)); -local void zip64local_putValue_inmemory (void* dest, ZPOS64_T x, int nbByte) -{ - unsigned char* buf=(unsigned char*)dest; - int n; - for (n = 0; n < nbByte; n++) { - buf[n] = (unsigned char)(x & 0xff); - x >>= 8; - } - - if (x != 0) - { /* data overflow - hack for ZIP64 */ - for (n = 0; n < nbByte; n++) - { - buf[n] = 0xff; - } - } -} - -/****************************************************************************/ - - -local uLong zip64local_TmzDateToDosDate(const tm_zip* ptm) -{ - uLong year = (uLong)ptm->tm_year; - if (year>=1980) - year-=1980; - else if (year>=80) - year-=80; - return - (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) | - ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour)); -} - - -/****************************************************************************/ - -local int zip64local_getByte OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi)); - -local int zip64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,voidpf filestream,int* pi) -{ - unsigned char c; - int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1); - if (err==1) - { - *pi = (int)c; - return ZIP_OK; - } - else - { - if (ZERROR64(*pzlib_filefunc_def,filestream)) - return ZIP_ERRNO; - else - return ZIP_EOF; - } -} - - -/* =========================================================================== - Reads a long in LSB order from the given gz_stream. Sets -*/ -local int zip64local_getShort OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); - -local int zip64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX) -{ - uLong x ; - int i = 0; - int err; - - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (uLong)i; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((uLong)i)<<8; - - if (err==ZIP_OK) - *pX = x; - else - *pX = 0; - return err; -} - -local int zip64local_getLong OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); - -local int zip64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX) -{ - uLong x ; - int i = 0; - int err; - - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (uLong)i; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((uLong)i)<<8; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((uLong)i)<<16; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((uLong)i)<<24; - - if (err==ZIP_OK) - *pX = x; - else - *pX = 0; - return err; -} - -local int zip64local_getLong64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX)); - - -local int zip64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX) -{ - ZPOS64_T x; - int i = 0; - int err; - - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (ZPOS64_T)i; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<8; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<16; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<24; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<32; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<40; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<48; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<56; - - if (err==ZIP_OK) - *pX = x; - else - *pX = 0; - - return err; -} - -#ifndef BUFREADCOMMENT -#define BUFREADCOMMENT (0x400) -#endif -/* - Locate the Central directory of a zipfile (at the end, just before - the global comment) -*/ -local ZPOS64_T zip64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)); - -local ZPOS64_T zip64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream) -{ - unsigned char* buf; - ZPOS64_T uSizeFile; - ZPOS64_T uBackRead; - ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ - ZPOS64_T uPosFound=0; - - if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - return 0; - - - uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - if (uMaxBack>uSizeFile) - uMaxBack = uSizeFile; - - buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - if (buf==NULL) - return 0; - - uBackRead = 4; - while (uBackReaduMaxBack) - uBackRead = uMaxBack; - else - uBackRead+=BUFREADCOMMENT; - uReadPos = uSizeFile-uBackRead ; - - uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - break; - - if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - break; - - for (i=(int)uReadSize-3; (i--)>0;) - if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && - ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) - { - uPosFound = uReadPos+i; - break; - } - - if (uPosFound!=0) - break; - } - TRYFREE(buf); - return uPosFound; -} - -/* -Locate the End of Zip64 Central directory locator and from there find the CD of a zipfile (at the end, just before -the global comment) -*/ -local ZPOS64_T zip64local_SearchCentralDir64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)); - -local ZPOS64_T zip64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream) -{ - unsigned char* buf; - ZPOS64_T uSizeFile; - ZPOS64_T uBackRead; - ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ - ZPOS64_T uPosFound=0; - uLong uL; - ZPOS64_T relativeOffset; - - if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - return 0; - - uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - if (uMaxBack>uSizeFile) - uMaxBack = uSizeFile; - - buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - if (buf==NULL) - return 0; - - uBackRead = 4; - while (uBackReaduMaxBack) - uBackRead = uMaxBack; - else - uBackRead+=BUFREADCOMMENT; - uReadPos = uSizeFile-uBackRead ; - - uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - break; - - if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - break; - - for (i=(int)uReadSize-3; (i--)>0;) - { - // Signature "0x07064b50" Zip64 end of central directory locater - if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07)) - { - uPosFound = uReadPos+i; - break; - } - } - - if (uPosFound!=0) - break; - } - - TRYFREE(buf); - if (uPosFound == 0) - return 0; - - /* Zip64 end of central directory locator */ - if (ZSEEK64(*pzlib_filefunc_def,filestream, uPosFound,ZLIB_FILEFUNC_SEEK_SET)!=0) - return 0; - - /* the signature, already checked */ - if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK) - return 0; - - /* number of the disk with the start of the zip64 end of central directory */ - if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK) - return 0; - if (uL != 0) - return 0; - - /* relative offset of the zip64 end of central directory record */ - if (zip64local_getLong64(pzlib_filefunc_def,filestream,&relativeOffset)!=ZIP_OK) - return 0; - - /* total number of disks */ - if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK) - return 0; - if (uL != 1) - return 0; - - /* Goto Zip64 end of central directory record */ - if (ZSEEK64(*pzlib_filefunc_def,filestream, relativeOffset,ZLIB_FILEFUNC_SEEK_SET)!=0) - return 0; - - /* the signature */ - if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK) - return 0; - - if (uL != 0x06064b50) // signature of 'Zip64 end of central directory' - return 0; - - return relativeOffset; -} - -int LoadCentralDirectoryRecord(zip64_internal* pziinit) -{ - int err=ZIP_OK; - ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ - - ZPOS64_T size_central_dir; /* size of the central directory */ - ZPOS64_T offset_central_dir; /* offset of start of central directory */ - ZPOS64_T central_pos; - uLong uL; - - uLong number_disk; /* number of the current dist, used for - spaning ZIP, unsupported, always 0*/ - uLong number_disk_with_CD; /* number the the disk with central dir, used - for spaning ZIP, unsupported, always 0*/ - ZPOS64_T number_entry; - ZPOS64_T number_entry_CD; /* total number of entries in - the central dir - (same than number_entry on nospan) */ - uLong VersionMadeBy; - uLong VersionNeeded; - uLong size_comment; - - int hasZIP64Record = 0; - - // check first if we find a ZIP64 record - central_pos = zip64local_SearchCentralDir64(&pziinit->z_filefunc,pziinit->filestream); - if(central_pos > 0) - { - hasZIP64Record = 1; - } - else if(central_pos == 0) - { - central_pos = zip64local_SearchCentralDir(&pziinit->z_filefunc,pziinit->filestream); - } - -/* disable to allow appending to empty ZIP archive - if (central_pos==0) - err=ZIP_ERRNO; -*/ - - if(hasZIP64Record) - { - ZPOS64_T sizeEndOfCentralDirectory; - if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) - err=ZIP_ERRNO; - - /* the signature, already checked */ - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK) - err=ZIP_ERRNO; - - /* size of zip64 end of central directory record */ - if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &sizeEndOfCentralDirectory)!=ZIP_OK) - err=ZIP_ERRNO; - - /* version made by */ - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionMadeBy)!=ZIP_OK) - err=ZIP_ERRNO; - - /* version needed to extract */ - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionNeeded)!=ZIP_OK) - err=ZIP_ERRNO; - - /* number of this disk */ - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK) - err=ZIP_ERRNO; - - /* number of the disk with the start of the central directory */ - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK) - err=ZIP_ERRNO; - - /* total number of entries in the central directory on this disk */ - if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &number_entry)!=ZIP_OK) - err=ZIP_ERRNO; - - /* total number of entries in the central directory */ - if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&number_entry_CD)!=ZIP_OK) - err=ZIP_ERRNO; - - if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0)) - err=ZIP_BADZIPFILE; - - /* size of the central directory */ - if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&size_central_dir)!=ZIP_OK) - err=ZIP_ERRNO; - - /* offset of start of central directory with respect to the - starting disk number */ - if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&offset_central_dir)!=ZIP_OK) - err=ZIP_ERRNO; - - // TODO.. - // read the comment from the standard central header. - size_comment = 0; - } - else - { - // Read End of central Directory info - if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) - err=ZIP_ERRNO; - - /* the signature, already checked */ - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK) - err=ZIP_ERRNO; - - /* number of this disk */ - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK) - err=ZIP_ERRNO; - - /* number of the disk with the start of the central directory */ - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK) - err=ZIP_ERRNO; - - /* total number of entries in the central dir on this disk */ - number_entry = 0; - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - err=ZIP_ERRNO; - else - number_entry = uL; - - /* total number of entries in the central dir */ - number_entry_CD = 0; - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - err=ZIP_ERRNO; - else - number_entry_CD = uL; - - if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0)) - err=ZIP_BADZIPFILE; - - /* size of the central directory */ - size_central_dir = 0; - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - err=ZIP_ERRNO; - else - size_central_dir = uL; - - /* offset of start of central directory with respect to the starting disk number */ - offset_central_dir = 0; - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - err=ZIP_ERRNO; - else - offset_central_dir = uL; - - - /* zipfile global comment length */ - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &size_comment)!=ZIP_OK) - err=ZIP_ERRNO; - } - - if ((central_posz_filefunc, pziinit->filestream); - return ZIP_ERRNO; - } - - if (size_comment>0) - { - pziinit->globalcomment = (char*)ALLOC(size_comment+1); - if (pziinit->globalcomment) - { - size_comment = ZREAD64(pziinit->z_filefunc, pziinit->filestream, pziinit->globalcomment,size_comment); - pziinit->globalcomment[size_comment]=0; - } - } - - byte_before_the_zipfile = central_pos - (offset_central_dir+size_central_dir); - pziinit->add_position_when_writting_offset = byte_before_the_zipfile; - - { - ZPOS64_T size_central_dir_to_read = size_central_dir; - size_t buf_size = SIZEDATA_INDATABLOCK; - void* buf_read = (void*)ALLOC(buf_size); - if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir + byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) - err=ZIP_ERRNO; - - while ((size_central_dir_to_read>0) && (err==ZIP_OK)) - { - ZPOS64_T read_this = SIZEDATA_INDATABLOCK; - if (read_this > size_central_dir_to_read) - read_this = size_central_dir_to_read; - - if (ZREAD64(pziinit->z_filefunc, pziinit->filestream,buf_read,(uLong)read_this) != read_this) - err=ZIP_ERRNO; - - if (err==ZIP_OK) - err = add_data_in_datablock(&pziinit->central_dir,buf_read, (uLong)read_this); - - size_central_dir_to_read-=read_this; - } - TRYFREE(buf_read); - } - pziinit->begin_pos = byte_before_the_zipfile; - pziinit->number_entry = number_entry_CD; - - if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET) != 0) - err=ZIP_ERRNO; - - return err; -} - - -#endif /* !NO_ADDFILEINEXISTINGZIP*/ - - -/************************************************************/ -extern zipFile ZEXPORT zipOpen3 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_32_def* pzlib_filefunc64_32_def) -{ - zip64_internal ziinit; - zip64_internal* zi; - int err=ZIP_OK; - - ziinit.z_filefunc.zseek32_file = NULL; - ziinit.z_filefunc.ztell32_file = NULL; - if (pzlib_filefunc64_32_def==NULL) - fill_fopen64_filefunc(&ziinit.z_filefunc.zfile_func64); - else - ziinit.z_filefunc = *pzlib_filefunc64_32_def; - - ziinit.filestream = ZOPEN64(ziinit.z_filefunc, - pathname, - (append == APPEND_STATUS_CREATE) ? - (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) : - (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING)); - - if (ziinit.filestream == NULL) - return NULL; - - if (append == APPEND_STATUS_CREATEAFTER) - ZSEEK64(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END); - - ziinit.begin_pos = ZTELL64(ziinit.z_filefunc,ziinit.filestream); - ziinit.in_opened_file_inzip = 0; - ziinit.ci.stream_initialised = 0; - ziinit.number_entry = 0; - ziinit.add_position_when_writting_offset = 0; - init_linkedlist(&(ziinit.central_dir)); - - - - zi = (zip64_internal*)ALLOC(sizeof(zip64_internal)); - if (zi==NULL) - { - ZCLOSE64(ziinit.z_filefunc,ziinit.filestream); - return NULL; - } - - /* now we add file in a zipfile */ -# ifndef NO_ADDFILEINEXISTINGZIP - ziinit.globalcomment = NULL; - if (append == APPEND_STATUS_ADDINZIP) - { - // Read and Cache Central Directory Records - err = LoadCentralDirectoryRecord(&ziinit); - } - - if (globalcomment) - { - *globalcomment = ziinit.globalcomment; - } -# endif /* !NO_ADDFILEINEXISTINGZIP*/ - - if (err != ZIP_OK) - { -# ifndef NO_ADDFILEINEXISTINGZIP - TRYFREE(ziinit.globalcomment); -# endif /* !NO_ADDFILEINEXISTINGZIP*/ - TRYFREE(zi); - return NULL; - } - else - { - *zi = ziinit; - return (zipFile)zi; - } -} - -extern zipFile ZEXPORT zipOpen2 (const char *pathname, int append, zipcharpc* globalcomment, zlib_filefunc_def* pzlib_filefunc32_def) -{ - if (pzlib_filefunc32_def != NULL) - { - zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; - fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def); - return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); - } - else - return zipOpen3(pathname, append, globalcomment, NULL); -} - -extern zipFile ZEXPORT zipOpen2_64 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_def* pzlib_filefunc_def) -{ - if (pzlib_filefunc_def != NULL) - { - zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; - zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def; - zlib_filefunc64_32_def_fill.ztell32_file = NULL; - zlib_filefunc64_32_def_fill.zseek32_file = NULL; - return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); - } - else - return zipOpen3(pathname, append, globalcomment, NULL); -} - - - -extern zipFile ZEXPORT zipOpen (const char* pathname, int append) -{ - return zipOpen3((const void*)pathname,append,NULL,NULL); -} - -extern zipFile ZEXPORT zipOpen64 (const void* pathname, int append) -{ - return zipOpen3(pathname,append,NULL,NULL); -} - -int Write_LocalFileHeader(zip64_internal* zi, const char* filename, uInt size_extrafield_local, const void* extrafield_local) -{ - /* write the local header */ - int err; - uInt size_filename = (uInt)strlen(filename); - uInt size_extrafield = size_extrafield_local; - - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)LOCALHEADERMAGIC, 4); - - if (err==ZIP_OK) - { - if(zi->ci.zip64) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);/* version needed to extract */ - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)20,2);/* version needed to extract */ - } - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.flag,2); - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.method,2); - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.dosDate,4); - - // CRC / Compressed size / Uncompressed size will be filled in later and rewritten later - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* crc 32, unknown */ - if (err==ZIP_OK) - { - if(zi->ci.zip64) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* compressed size, unknown */ - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* compressed size, unknown */ - } - if (err==ZIP_OK) - { - if(zi->ci.zip64) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* uncompressed size, unknown */ - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* uncompressed size, unknown */ - } - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_filename,2); - - if(zi->ci.zip64) - { - size_extrafield += 20; - } - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_extrafield,2); - - if ((err==ZIP_OK) && (size_filename > 0)) - { - if (ZWRITE64(zi->z_filefunc,zi->filestream,filename,size_filename)!=size_filename) - err = ZIP_ERRNO; - } - - if ((err==ZIP_OK) && (size_extrafield_local > 0)) - { - if (ZWRITE64(zi->z_filefunc, zi->filestream, extrafield_local, size_extrafield_local) != size_extrafield_local) - err = ZIP_ERRNO; - } - - - if ((err==ZIP_OK) && (zi->ci.zip64)) - { - // write the Zip64 extended info - short HeaderID = 1; - short DataSize = 16; - ZPOS64_T CompressedSize = 0; - ZPOS64_T UncompressedSize = 0; - - // Remember position of Zip64 extended info for the local file header. (needed when we update size after done with file) - zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc,zi->filestream); - - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)HeaderID,2); - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)DataSize,2); - - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)UncompressedSize,8); - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)CompressedSize,8); - } - - return err; -} - -/* - NOTE. - When writing RAW the ZIP64 extended information in extrafield_local and extrafield_global needs to be stripped - before calling this function it can be done with zipRemoveExtraInfoBlock - - It is not done here because then we need to realloc a new buffer since parameters are 'const' and I want to minimize - unnecessary allocations. - */ -extern int ZEXPORT zipOpenNewFileInZip4_64 (zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw, - int windowBits,int memLevel, int strategy, - const char* password, uLong crcForCrypting, - uLong versionMadeBy, uLong flagBase, int zip64) -{ - zip64_internal* zi; - uInt size_filename; - uInt size_comment; - uInt i; - int err = ZIP_OK; - -# ifdef NOCRYPT - (crcForCrypting); - if (password != NULL) - return ZIP_PARAMERROR; -# endif - - if (file == NULL) - return ZIP_PARAMERROR; - -#ifdef HAVE_BZIP2 - if ((method!=0) && (method!=Z_DEFLATED) && (method!=Z_BZIP2ED)) - return ZIP_PARAMERROR; -#else - if ((method!=0) && (method!=Z_DEFLATED)) - return ZIP_PARAMERROR; -#endif - - zi = (zip64_internal*)file; - - if (zi->in_opened_file_inzip == 1) - { - err = zipCloseFileInZip (file); - if (err != ZIP_OK) - return err; - } - - if (filename==NULL) - filename="-"; - - if (comment==NULL) - size_comment = 0; - else - size_comment = (uInt)strlen(comment); - - size_filename = (uInt)strlen(filename); - - if (zipfi == NULL) - zi->ci.dosDate = 0; - else - { - if (zipfi->dosDate != 0) - zi->ci.dosDate = zipfi->dosDate; - else - zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date); - } - - zi->ci.flag = flagBase; - if ((level==8) || (level==9)) - zi->ci.flag |= 2; - if (level==2) - zi->ci.flag |= 4; - if (level==1) - zi->ci.flag |= 6; - if (password != NULL) - zi->ci.flag |= 1; - - zi->ci.crc32 = 0; - zi->ci.method = method; - zi->ci.encrypt = 0; - zi->ci.stream_initialised = 0; - zi->ci.pos_in_buffered_data = 0; - zi->ci.raw = raw; - zi->ci.pos_local_header = ZTELL64(zi->z_filefunc,zi->filestream); - - zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment; - zi->ci.size_centralExtraFree = 32; // Extra space we have reserved in case we need to add ZIP64 extra info data - - zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralExtraFree); - - zi->ci.size_centralExtra = size_extrafield_global; - zip64local_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4); - /* version info */ - zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2); - zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2); - zip64local_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2); - zip64local_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2); - zip64local_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4); - zip64local_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/ - zip64local_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/ - zip64local_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/ - zip64local_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2); - zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2); - zip64local_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2); - zip64local_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/ - - if (zipfi==NULL) - zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2); - else - zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2); - - if (zipfi==NULL) - zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4); - else - zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4); - - if(zi->ci.pos_local_header >= 0xffffffff) - zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)0xffffffff,4); - else - zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header - zi->add_position_when_writting_offset,4); - - for (i=0;ici.central_header+SIZECENTRALHEADER+i) = *(filename+i); - - for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+i) = - *(((const char*)extrafield_global)+i); - - for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+ - size_extrafield_global+i) = *(comment+i); - if (zi->ci.central_header == NULL) - return ZIP_INTERNALERROR; - - zi->ci.zip64 = zip64; - zi->ci.totalCompressedData = 0; - zi->ci.totalUncompressedData = 0; - zi->ci.pos_zip64extrainfo = 0; - - err = Write_LocalFileHeader(zi, filename, size_extrafield_local, extrafield_local); - -#ifdef HAVE_BZIP2 - zi->ci.bstream.avail_in = (uInt)0; - zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; - zi->ci.bstream.total_in_hi32 = 0; - zi->ci.bstream.total_in_lo32 = 0; - zi->ci.bstream.total_out_hi32 = 0; - zi->ci.bstream.total_out_lo32 = 0; -#endif - - zi->ci.stream.avail_in = (uInt)0; - zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.stream.next_out = zi->ci.buffered_data; - zi->ci.stream.total_in = 0; - zi->ci.stream.total_out = 0; - zi->ci.stream.data_type = Z_BINARY; - -#ifdef HAVE_BZIP2 - if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED || zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) -#else - if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) -#endif - { - if(zi->ci.method == Z_DEFLATED) - { - zi->ci.stream.zalloc = (alloc_func)0; - zi->ci.stream.zfree = (free_func)0; - zi->ci.stream.opaque = (voidpf)0; - - if (windowBits>0) - windowBits = -windowBits; - - err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy); - - if (err==Z_OK) - zi->ci.stream_initialised = Z_DEFLATED; - } - else if(zi->ci.method == Z_BZIP2ED) - { -#ifdef HAVE_BZIP2 - // Init BZip stuff here - zi->ci.bstream.bzalloc = 0; - zi->ci.bstream.bzfree = 0; - zi->ci.bstream.opaque = (voidpf)0; - - err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0,35); - if(err == BZ_OK) - zi->ci.stream_initialised = Z_BZIP2ED; -#endif - } - - } - -# ifndef NOCRYPT - zi->ci.crypt_header_size = 0; - if ((err==Z_OK) && (password != NULL)) - { - unsigned char bufHead[RAND_HEAD_LEN]; - unsigned int sizeHead; - zi->ci.encrypt = 1; - zi->ci.pcrc_32_tab = get_crc_table(); - /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/ - - sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting); - zi->ci.crypt_header_size = sizeHead; - - if (ZWRITE64(zi->z_filefunc,zi->filestream,bufHead,sizeHead) != sizeHead) - err = ZIP_ERRNO; - } -# endif - - if (err==Z_OK) - zi->in_opened_file_inzip = 1; - return err; -} - -extern int ZEXPORT zipOpenNewFileInZip4 (zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw, - int windowBits,int memLevel, int strategy, - const char* password, uLong crcForCrypting, - uLong versionMadeBy, uLong flagBase) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, raw, - windowBits, memLevel, strategy, - password, crcForCrypting, versionMadeBy, flagBase, 0); -} - -extern int ZEXPORT zipOpenNewFileInZip3 (zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw, - int windowBits,int memLevel, int strategy, - const char* password, uLong crcForCrypting) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, raw, - windowBits, memLevel, strategy, - password, crcForCrypting, VERSIONMADEBY, 0, 0); -} - -extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw, - int windowBits,int memLevel, int strategy, - const char* password, uLong crcForCrypting, int zip64) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, raw, - windowBits, memLevel, strategy, - password, crcForCrypting, VERSIONMADEBY, 0, zip64); -} - -extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, raw, - -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - NULL, 0, VERSIONMADEBY, 0, 0); -} - -extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw, int zip64) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, raw, - -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - NULL, 0, VERSIONMADEBY, 0, zip64); -} - -extern int ZEXPORT zipOpenNewFileInZip64 (zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void*extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int zip64) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, 0, - -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - NULL, 0, VERSIONMADEBY, 0, zip64); -} - -extern int ZEXPORT zipOpenNewFileInZip (zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void*extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, 0, - -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - NULL, 0, VERSIONMADEBY, 0, 0); -} - -local int zip64FlushWriteBuffer(zip64_internal* zi) -{ - int err=ZIP_OK; - - if (zi->ci.encrypt != 0) - { -#ifndef NOCRYPT - uInt i; - int t; - for (i=0;ici.pos_in_buffered_data;i++) - zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t); -#endif - } - - if (ZWRITE64(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) != zi->ci.pos_in_buffered_data) - err = ZIP_ERRNO; - - zi->ci.totalCompressedData += zi->ci.pos_in_buffered_data; - -#ifdef HAVE_BZIP2 - if(zi->ci.method == Z_BZIP2ED) - { - zi->ci.totalUncompressedData += zi->ci.bstream.total_in_lo32; - zi->ci.bstream.total_in_lo32 = 0; - zi->ci.bstream.total_in_hi32 = 0; - } - else -#endif - { - zi->ci.totalUncompressedData += zi->ci.stream.total_in; - zi->ci.stream.total_in = 0; - } - - - zi->ci.pos_in_buffered_data = 0; - - return err; -} - -extern int ZEXPORT zipWriteInFileInZip (zipFile file,const void* buf,unsigned int len) -{ - zip64_internal* zi; - int err=ZIP_OK; - - if (file == NULL) - return ZIP_PARAMERROR; - zi = (zip64_internal*)file; - - if (zi->in_opened_file_inzip == 0) - return ZIP_PARAMERROR; - - zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len); - -#ifdef HAVE_BZIP2 - if(zi->ci.method == Z_BZIP2ED && (!zi->ci.raw)) - { - zi->ci.bstream.next_in = (void*)buf; - zi->ci.bstream.avail_in = len; - err = BZ_RUN_OK; - - while ((err==BZ_RUN_OK) && (zi->ci.bstream.avail_in>0)) - { - if (zi->ci.bstream.avail_out == 0) - { - if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - err = ZIP_ERRNO; - zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; - } - - - if(err != BZ_RUN_OK) - break; - - if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) - { - uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32; -// uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32; - err=BZ2_bzCompress(&zi->ci.bstream, BZ_RUN); - - zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo) ; - } - } - - if(err == BZ_RUN_OK) - err = ZIP_OK; - } - else -#endif - { - zi->ci.stream.next_in = (Bytef*)buf; - zi->ci.stream.avail_in = len; - - while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0)) - { - if (zi->ci.stream.avail_out == 0) - { - if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - err = ZIP_ERRNO; - zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.stream.next_out = zi->ci.buffered_data; - } - - - if(err != ZIP_OK) - break; - - if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - { - uLong uTotalOutBefore = zi->ci.stream.total_out; - err=deflate(&zi->ci.stream, Z_NO_FLUSH); - if(uTotalOutBefore > zi->ci.stream.total_out) - { - int bBreak = 0; - bBreak++; - } - - zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; - } - else - { - uInt copy_this,i; - if (zi->ci.stream.avail_in < zi->ci.stream.avail_out) - copy_this = zi->ci.stream.avail_in; - else - copy_this = zi->ci.stream.avail_out; - - for (i = 0; i < copy_this; i++) - *(((char*)zi->ci.stream.next_out)+i) = - *(((const char*)zi->ci.stream.next_in)+i); - { - zi->ci.stream.avail_in -= copy_this; - zi->ci.stream.avail_out-= copy_this; - zi->ci.stream.next_in+= copy_this; - zi->ci.stream.next_out+= copy_this; - zi->ci.stream.total_in+= copy_this; - zi->ci.stream.total_out+= copy_this; - zi->ci.pos_in_buffered_data += copy_this; - } - } - }// while(...) - } - - return err; -} - -extern int ZEXPORT zipCloseFileInZipRaw (zipFile file, uLong uncompressed_size, uLong crc32) -{ - return zipCloseFileInZipRaw64 (file, uncompressed_size, crc32); -} - -extern int ZEXPORT zipCloseFileInZipRaw64 (zipFile file, ZPOS64_T uncompressed_size, uLong crc32) -{ - zip64_internal* zi; - ZPOS64_T compressed_size; - uLong invalidValue = 0xffffffff; - short datasize = 0; - int err=ZIP_OK; - - if (file == NULL) - return ZIP_PARAMERROR; - zi = (zip64_internal*)file; - - if (zi->in_opened_file_inzip == 0) - return ZIP_PARAMERROR; - zi->ci.stream.avail_in = 0; - - if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - { - while (err==ZIP_OK) - { - uLong uTotalOutBefore; - if (zi->ci.stream.avail_out == 0) - { - if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - err = ZIP_ERRNO; - zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.stream.next_out = zi->ci.buffered_data; - } - uTotalOutBefore = zi->ci.stream.total_out; - err=deflate(&zi->ci.stream, Z_FINISH); - zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; - } - } - else if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) - { -#ifdef HAVE_BZIP2 - err = BZ_FINISH_OK; - while (err==BZ_FINISH_OK) - { - uLong uTotalOutBefore; - if (zi->ci.bstream.avail_out == 0) - { - if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - err = ZIP_ERRNO; - zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; - } - uTotalOutBefore = zi->ci.bstream.total_out_lo32; - err=BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH); - if(err == BZ_STREAM_END) - err = Z_STREAM_END; - - zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore); - } - - if(err == BZ_FINISH_OK) - err = ZIP_OK; -#endif - } - - if (err==Z_STREAM_END) - err=ZIP_OK; /* this is normal */ - - if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK)) - { - if (zip64FlushWriteBuffer(zi)==ZIP_ERRNO) - err = ZIP_ERRNO; - } - - if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - { - int tmp_err = deflateEnd(&zi->ci.stream); - if (err == ZIP_OK) - err = tmp_err; - zi->ci.stream_initialised = 0; - } -#ifdef HAVE_BZIP2 - else if((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) - { - int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream); - if (err==ZIP_OK) - err = tmperr; - zi->ci.stream_initialised = 0; - } -#endif - - if (!zi->ci.raw) - { - crc32 = (uLong)zi->ci.crc32; - uncompressed_size = zi->ci.totalUncompressedData; - } - compressed_size = zi->ci.totalCompressedData; - -# ifndef NOCRYPT - compressed_size += zi->ci.crypt_header_size; -# endif - - // update Current Item crc and sizes, - if(compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >= 0xffffffff) - { - /*version Made by*/ - zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)45,2); - /*version needed*/ - zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)45,2); - - } - - zip64local_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/ - - - if(compressed_size >= 0xffffffff) - zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue,4); /*compr size*/ - else - zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size,4); /*compr size*/ - - /// set internal file attributes field - if (zi->ci.stream.data_type == Z_ASCII) - zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2); - - if(uncompressed_size >= 0xffffffff) - zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue,4); /*uncompr size*/ - else - zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size,4); /*uncompr size*/ - - // Add ZIP64 extra info field for uncompressed size - if(uncompressed_size >= 0xffffffff) - datasize += 8; - - // Add ZIP64 extra info field for compressed size - if(compressed_size >= 0xffffffff) - datasize += 8; - - // Add ZIP64 extra info field for relative offset to local file header of current file - if(zi->ci.pos_local_header >= 0xffffffff) - datasize += 8; - - if(datasize > 0) - { - char* p = NULL; - - if((uLong)(datasize + 4) > zi->ci.size_centralExtraFree) - { - // we can not write more data to the buffer that we have room for. - return ZIP_BADZIPFILE; - } - - p = zi->ci.central_header + zi->ci.size_centralheader; - - // Add Extra Information Header for 'ZIP64 information' - zip64local_putValue_inmemory(p, 0x0001, 2); // HeaderID - p += 2; - zip64local_putValue_inmemory(p, datasize, 2); // DataSize - p += 2; - - if(uncompressed_size >= 0xffffffff) - { - zip64local_putValue_inmemory(p, uncompressed_size, 8); - p += 8; - } - - if(compressed_size >= 0xffffffff) - { - zip64local_putValue_inmemory(p, compressed_size, 8); - p += 8; - } - - if(zi->ci.pos_local_header >= 0xffffffff) - { - zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8); - p += 8; - } - - // Update how much extra free space we got in the memory buffer - // and increase the centralheader size so the new ZIP64 fields are included - // ( 4 below is the size of HeaderID and DataSize field ) - zi->ci.size_centralExtraFree -= datasize + 4; - zi->ci.size_centralheader += datasize + 4; - - // Update the extra info size field - zi->ci.size_centralExtra += datasize + 4; - zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)zi->ci.size_centralExtra,2); - } - - if (err==ZIP_OK) - err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader); - - free(zi->ci.central_header); - - if (err==ZIP_OK) - { - // Update the LocalFileHeader with the new values. - - ZPOS64_T cur_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream); - - if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0) - err = ZIP_ERRNO; - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */ - - if(uncompressed_size >= 0xffffffff || compressed_size >= 0xffffffff ) - { - if(zi->ci.pos_zip64extrainfo > 0) - { - // Update the size in the ZIP64 extended field. - if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_zip64extrainfo + 4,ZLIB_FILEFUNC_SEEK_SET)!=0) - err = ZIP_ERRNO; - - if (err==ZIP_OK) /* compressed size, unknown */ - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, uncompressed_size, 8); - - if (err==ZIP_OK) /* uncompressed size, unknown */ - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8); - } - else - err = ZIP_BADZIPFILE; // Caller passed zip64 = 0, so no room for zip64 info -> fatal - } - else - { - if (err==ZIP_OK) /* compressed size, unknown */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4); - - if (err==ZIP_OK) /* uncompressed size, unknown */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4); - } - - if (ZSEEK64(zi->z_filefunc,zi->filestream, cur_pos_inzip,ZLIB_FILEFUNC_SEEK_SET)!=0) - err = ZIP_ERRNO; - } - - zi->number_entry ++; - zi->in_opened_file_inzip = 0; - - return err; -} - -extern int ZEXPORT zipCloseFileInZip (zipFile file) -{ - return zipCloseFileInZipRaw (file,0,0); -} - -int Write_Zip64EndOfCentralDirectoryLocator(zip64_internal* zi, ZPOS64_T zip64eocd_pos_inzip) -{ - int err = ZIP_OK; - ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset; - - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDLOCHEADERMAGIC,4); - - /*num disks*/ - if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - /*relative offset*/ - if (err==ZIP_OK) /* Relative offset to the Zip64EndOfCentralDirectory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream, pos,8); - - /*total disks*/ /* Do not support spawning of disk so always say 1 here*/ - if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)1,4); - - return err; -} - -int Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip) -{ - int err = ZIP_OK; - - uLong Zip64DataSize = 44; - - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDHEADERMAGIC,4); - - if (err==ZIP_OK) /* size of this 'zip64 end of central directory' */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)Zip64DataSize,8); // why ZPOS64_T of this ? - - if (err==ZIP_OK) /* version made by */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2); - - if (err==ZIP_OK) /* version needed */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2); - - if (err==ZIP_OK) /* number of this disk */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - if (err==ZIP_OK) /* total number of entries in the central dir on this disk */ - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); - - if (err==ZIP_OK) /* total number of entries in the central dir */ - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); - - if (err==ZIP_OK) /* size of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)size_centraldir,8); - - if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */ - { - ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (ZPOS64_T)pos,8); - } - return err; -} -int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip) -{ - int err = ZIP_OK; - - /*signature*/ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4); - - if (err==ZIP_OK) /* number of this disk */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); - - if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); - - if (err==ZIP_OK) /* total number of entries in the central dir on this disk */ - { - { - if(zi->number_entry >= 0xFFFF) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); - } - } - - if (err==ZIP_OK) /* total number of entries in the central dir */ - { - if(zi->number_entry >= 0xFFFF) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); - } - - if (err==ZIP_OK) /* size of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_centraldir,4); - - if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */ - { - ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - if(pos >= 0xffffffff) - { - err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)0xffffffff,4); - } - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)(centraldir_pos_inzip - zi->add_position_when_writting_offset),4); - } - - return err; -} - -int Write_GlobalComment(zip64_internal* zi, const char* global_comment) -{ - int err = ZIP_OK; - uInt size_global_comment = 0; - - if(global_comment != NULL) - size_global_comment = (uInt)strlen(global_comment); - - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_global_comment,2); - - if (err == ZIP_OK && size_global_comment > 0) - { - if (ZWRITE64(zi->z_filefunc,zi->filestream, global_comment, size_global_comment) != size_global_comment) - err = ZIP_ERRNO; - } - return err; -} - -extern int ZEXPORT zipClose (zipFile file, const char* global_comment) -{ - zip64_internal* zi; - int err = 0; - uLong size_centraldir = 0; - ZPOS64_T centraldir_pos_inzip; - ZPOS64_T pos; - - if (file == NULL) - return ZIP_PARAMERROR; - - zi = (zip64_internal*)file; - - if (zi->in_opened_file_inzip == 1) - { - err = zipCloseFileInZip (file); - } - -#ifndef NO_ADDFILEINEXISTINGZIP - if (global_comment==NULL) - global_comment = zi->globalcomment; -#endif - - centraldir_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream); - - if (err==ZIP_OK) - { - linkedlist_datablock_internal* ldi = zi->central_dir.first_block; - while (ldi!=NULL) - { - if ((err==ZIP_OK) && (ldi->filled_in_this_block>0)) - { - if (ZWRITE64(zi->z_filefunc,zi->filestream, ldi->data, ldi->filled_in_this_block) != ldi->filled_in_this_block) - err = ZIP_ERRNO; - } - - size_centraldir += ldi->filled_in_this_block; - ldi = ldi->next_datablock; - } - } - free_linkedlist(&(zi->central_dir)); - - pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - if(pos >= 0xffffffff || zi->number_entry > 0xFFFF) - { - ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream); - Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip); - - Write_Zip64EndOfCentralDirectoryLocator(zi, Zip64EOCDpos); - } - - if (err==ZIP_OK) - err = Write_EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip); - - if(err == ZIP_OK) - err = Write_GlobalComment(zi, global_comment); - - if (ZCLOSE64(zi->z_filefunc,zi->filestream) != 0) - if (err == ZIP_OK) - err = ZIP_ERRNO; - -#ifndef NO_ADDFILEINEXISTINGZIP - TRYFREE(zi->globalcomment); -#endif - TRYFREE(zi); - - return err; -} - -extern int ZEXPORT zipRemoveExtraInfoBlock (char* pData, int* dataLen, short sHeader) -{ - char* p = pData; - int size = 0; - char* pNewHeader; - char* pTmp; - short header; - short dataSize; - - int retVal = ZIP_OK; - - if(pData == NULL || *dataLen < 4) - return ZIP_PARAMERROR; - - pNewHeader = (char*)ALLOC(*dataLen); - pTmp = pNewHeader; - - while(p < (pData + *dataLen)) - { - header = *(short*)p; - dataSize = *(((short*)p)+1); - - if( header == sHeader ) // Header found. - { - p += dataSize + 4; // skip it. do not copy to temp buffer - } - else - { - // Extra Info block should not be removed, So copy it to the temp buffer. - memcpy(pTmp, p, dataSize + 4); - p += dataSize + 4; - size += dataSize + 4; - } - - } - - if(size < *dataLen) - { - // clean old extra info block. - memset(pData,0, *dataLen); - - // copy the new extra info block over the old - if(size > 0) - memcpy(pData, pNewHeader, size); - - // set the new extra info size - *dataLen = size; - - retVal = ZIP_OK; - } - else - retVal = ZIP_ERRNO; - - TRYFREE(pNewHeader); - - return retVal; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/minizip/zip.h b/protocols/Telegram/tgl/zlib/contrib/minizip/zip.h deleted file mode 100644 index 8aaebb6234..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/minizip/zip.h +++ /dev/null @@ -1,362 +0,0 @@ -/* zip.h -- IO on .zip files using zlib - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - - --------------------------------------------------------------------------- - - Condition of use and distribution are the same than zlib : - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - --------------------------------------------------------------------------- - - Changes - - See header of zip.h - -*/ - -#ifndef _zip12_H -#define _zip12_H - -#ifdef __cplusplus -extern "C" { -#endif - -//#define HAVE_BZIP2 - -#ifndef _ZLIB_H -#include "zlib.h" -#endif - -#ifndef _ZLIBIOAPI_H -#include "ioapi.h" -#endif - -#ifdef HAVE_BZIP2 -#include "bzlib.h" -#endif - -#define Z_BZIP2ED 12 - -#if defined(STRICTZIP) || defined(STRICTZIPUNZIP) -/* like the STRICT of WIN32, we define a pointer that cannot be converted - from (void*) without cast */ -typedef struct TagzipFile__ { int unused; } zipFile__; -typedef zipFile__ *zipFile; -#else -typedef voidp zipFile; -#endif - -#define ZIP_OK (0) -#define ZIP_EOF (0) -#define ZIP_ERRNO (Z_ERRNO) -#define ZIP_PARAMERROR (-102) -#define ZIP_BADZIPFILE (-103) -#define ZIP_INTERNALERROR (-104) - -#ifndef DEF_MEM_LEVEL -# if MAX_MEM_LEVEL >= 8 -# define DEF_MEM_LEVEL 8 -# else -# define DEF_MEM_LEVEL MAX_MEM_LEVEL -# endif -#endif -/* default memLevel */ - -/* tm_zip contain date/time info */ -typedef struct tm_zip_s -{ - uInt tm_sec; /* seconds after the minute - [0,59] */ - uInt tm_min; /* minutes after the hour - [0,59] */ - uInt tm_hour; /* hours since midnight - [0,23] */ - uInt tm_mday; /* day of the month - [1,31] */ - uInt tm_mon; /* months since January - [0,11] */ - uInt tm_year; /* years - [1980..2044] */ -} tm_zip; - -typedef struct -{ - tm_zip tmz_date; /* date in understandable format */ - uLong dosDate; /* if dos_date == 0, tmu_date is used */ -/* uLong flag; */ /* general purpose bit flag 2 bytes */ - - uLong internal_fa; /* internal file attributes 2 bytes */ - uLong external_fa; /* external file attributes 4 bytes */ -} zip_fileinfo; - -typedef const char* zipcharpc; - - -#define APPEND_STATUS_CREATE (0) -#define APPEND_STATUS_CREATEAFTER (1) -#define APPEND_STATUS_ADDINZIP (2) - -extern zipFile ZEXPORT zipOpen OF((const char *pathname, int append)); -extern zipFile ZEXPORT zipOpen64 OF((const void *pathname, int append)); -/* - Create a zipfile. - pathname contain on Windows XP a filename like "c:\\zlib\\zlib113.zip" or on - an Unix computer "zlib/zlib113.zip". - if the file pathname exist and append==APPEND_STATUS_CREATEAFTER, the zip - will be created at the end of the file. - (useful if the file contain a self extractor code) - if the file pathname exist and append==APPEND_STATUS_ADDINZIP, we will - add files in existing zip (be sure you don't add file that doesn't exist) - If the zipfile cannot be opened, the return value is NULL. - Else, the return value is a zipFile Handle, usable with other function - of this zip package. -*/ - -/* Note : there is no delete function into a zipfile. - If you want delete file into a zipfile, you must open a zipfile, and create another - Of couse, you can use RAW reading and writing to copy the file you did not want delte -*/ - -extern zipFile ZEXPORT zipOpen2 OF((const char *pathname, - int append, - zipcharpc* globalcomment, - zlib_filefunc_def* pzlib_filefunc_def)); - -extern zipFile ZEXPORT zipOpen2_64 OF((const void *pathname, - int append, - zipcharpc* globalcomment, - zlib_filefunc64_def* pzlib_filefunc_def)); - -extern int ZEXPORT zipOpenNewFileInZip OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level)); - -extern int ZEXPORT zipOpenNewFileInZip64 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int zip64)); - -/* - Open a file in the ZIP for writing. - filename : the filename in zip (if NULL, '-' without quote will be used - *zipfi contain supplemental information - if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local - contains the extrafield data the the local header - if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global - contains the extrafield data the the local header - if comment != NULL, comment contain the comment string - method contain the compression method (0 for store, Z_DEFLATED for deflate) - level contain the level of compression (can be Z_DEFAULT_COMPRESSION) - zip64 is set to 1 if a zip64 extended information block should be added to the local file header. - this MUST be '1' if the uncompressed size is >= 0xffffffff. - -*/ - - -extern int ZEXPORT zipOpenNewFileInZip2 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw)); - - -extern int ZEXPORT zipOpenNewFileInZip2_64 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int zip64)); -/* - Same than zipOpenNewFileInZip, except if raw=1, we write raw file - */ - -extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int windowBits, - int memLevel, - int strategy, - const char* password, - uLong crcForCrypting)); - -extern int ZEXPORT zipOpenNewFileInZip3_64 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int windowBits, - int memLevel, - int strategy, - const char* password, - uLong crcForCrypting, - int zip64 - )); - -/* - Same than zipOpenNewFileInZip2, except - windowBits,memLevel,,strategy : see parameter strategy in deflateInit2 - password : crypting password (NULL for no crypting) - crcForCrypting : crc of file to compress (needed for crypting) - */ - -extern int ZEXPORT zipOpenNewFileInZip4 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int windowBits, - int memLevel, - int strategy, - const char* password, - uLong crcForCrypting, - uLong versionMadeBy, - uLong flagBase - )); - - -extern int ZEXPORT zipOpenNewFileInZip4_64 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int windowBits, - int memLevel, - int strategy, - const char* password, - uLong crcForCrypting, - uLong versionMadeBy, - uLong flagBase, - int zip64 - )); -/* - Same than zipOpenNewFileInZip4, except - versionMadeBy : value for Version made by field - flag : value for flag field (compression level info will be added) - */ - - -extern int ZEXPORT zipWriteInFileInZip OF((zipFile file, - const void* buf, - unsigned len)); -/* - Write data in the zipfile -*/ - -extern int ZEXPORT zipCloseFileInZip OF((zipFile file)); -/* - Close the current file in the zipfile -*/ - -extern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file, - uLong uncompressed_size, - uLong crc32)); - -extern int ZEXPORT zipCloseFileInZipRaw64 OF((zipFile file, - ZPOS64_T uncompressed_size, - uLong crc32)); - -/* - Close the current file in the zipfile, for file opened with - parameter raw=1 in zipOpenNewFileInZip2 - uncompressed_size and crc32 are value for the uncompressed size -*/ - -extern int ZEXPORT zipClose OF((zipFile file, - const char* global_comment)); -/* - Close the zipfile -*/ - - -extern int ZEXPORT zipRemoveExtraInfoBlock OF((char* pData, int* dataLen, short sHeader)); -/* - zipRemoveExtraInfoBlock - Added by Mathias Svensson - - Remove extra information block from a extra information data for the local file header or central directory header - - It is needed to remove ZIP64 extra information blocks when before data is written if using RAW mode. - - 0x0001 is the signature header for the ZIP64 extra information blocks - - usage. - Remove ZIP64 Extra information from a central director extra field data - zipRemoveExtraInfoBlock(pCenDirExtraFieldData, &nCenDirExtraFieldDataLen, 0x0001); - - Remove ZIP64 Extra information from a Local File Header extra field data - zipRemoveExtraInfoBlock(pLocalHeaderExtraFieldData, &nLocalHeaderExtraFieldDataLen, 0x0001); -*/ - -#ifdef __cplusplus -} -#endif - -#endif /* _zip64_H */ diff --git a/protocols/Telegram/tgl/zlib/contrib/pascal/example.pas b/protocols/Telegram/tgl/zlib/contrib/pascal/example.pas deleted file mode 100644 index 5518b36a73..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/pascal/example.pas +++ /dev/null @@ -1,599 +0,0 @@ -(* example.c -- usage example of the zlib compression library - * Copyright (C) 1995-2003 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Pascal translation - * Copyright (C) 1998 by Jacques Nomssi Nzali. - * For conditions of distribution and use, see copyright notice in readme.txt - * - * Adaptation to the zlibpas interface - * Copyright (C) 2003 by Cosmin Truta. - * For conditions of distribution and use, see copyright notice in readme.txt - *) - -program example; - -{$DEFINE TEST_COMPRESS} -{DO NOT $DEFINE TEST_GZIO} -{$DEFINE TEST_DEFLATE} -{$DEFINE TEST_INFLATE} -{$DEFINE TEST_FLUSH} -{$DEFINE TEST_SYNC} -{$DEFINE TEST_DICT} - -uses SysUtils, zlibpas; - -const TESTFILE = 'foo.gz'; - -(* "hello world" would be more standard, but the repeated "hello" - * stresses the compression code better, sorry... - *) -const hello: PChar = 'hello, hello!'; - -const dictionary: PChar = 'hello'; - -var dictId: LongInt; (* Adler32 value of the dictionary *) - -procedure CHECK_ERR(err: Integer; msg: String); -begin - if err <> Z_OK then - begin - WriteLn(msg, ' error: ', err); - Halt(1); - end; -end; - -procedure EXIT_ERR(const msg: String); -begin - WriteLn('Error: ', msg); - Halt(1); -end; - -(* =========================================================================== - * Test compress and uncompress - *) -{$IFDEF TEST_COMPRESS} -procedure test_compress(compr: Pointer; comprLen: LongInt; - uncompr: Pointer; uncomprLen: LongInt); -var err: Integer; - len: LongInt; -begin - len := StrLen(hello)+1; - - err := compress(compr, comprLen, hello, len); - CHECK_ERR(err, 'compress'); - - StrCopy(PChar(uncompr), 'garbage'); - - err := uncompress(uncompr, uncomprLen, compr, comprLen); - CHECK_ERR(err, 'uncompress'); - - if StrComp(PChar(uncompr), hello) <> 0 then - EXIT_ERR('bad uncompress') - else - WriteLn('uncompress(): ', PChar(uncompr)); -end; -{$ENDIF} - -(* =========================================================================== - * Test read/write of .gz files - *) -{$IFDEF TEST_GZIO} -procedure test_gzio(const fname: PChar; (* compressed file name *) - uncompr: Pointer; - uncomprLen: LongInt); -var err: Integer; - len: Integer; - zfile: gzFile; - pos: LongInt; -begin - len := StrLen(hello)+1; - - zfile := gzopen(fname, 'wb'); - if zfile = NIL then - begin - WriteLn('gzopen error'); - Halt(1); - end; - gzputc(zfile, 'h'); - if gzputs(zfile, 'ello') <> 4 then - begin - WriteLn('gzputs err: ', gzerror(zfile, err)); - Halt(1); - end; - {$IFDEF GZ_FORMAT_STRING} - if gzprintf(zfile, ', %s!', 'hello') <> 8 then - begin - WriteLn('gzprintf err: ', gzerror(zfile, err)); - Halt(1); - end; - {$ELSE} - if gzputs(zfile, ', hello!') <> 8 then - begin - WriteLn('gzputs err: ', gzerror(zfile, err)); - Halt(1); - end; - {$ENDIF} - gzseek(zfile, 1, SEEK_CUR); (* add one zero byte *) - gzclose(zfile); - - zfile := gzopen(fname, 'rb'); - if zfile = NIL then - begin - WriteLn('gzopen error'); - Halt(1); - end; - - StrCopy(PChar(uncompr), 'garbage'); - - if gzread(zfile, uncompr, uncomprLen) <> len then - begin - WriteLn('gzread err: ', gzerror(zfile, err)); - Halt(1); - end; - if StrComp(PChar(uncompr), hello) <> 0 then - begin - WriteLn('bad gzread: ', PChar(uncompr)); - Halt(1); - end - else - WriteLn('gzread(): ', PChar(uncompr)); - - pos := gzseek(zfile, -8, SEEK_CUR); - if (pos <> 6) or (gztell(zfile) <> pos) then - begin - WriteLn('gzseek error, pos=', pos, ', gztell=', gztell(zfile)); - Halt(1); - end; - - if gzgetc(zfile) <> ' ' then - begin - WriteLn('gzgetc error'); - Halt(1); - end; - - if gzungetc(' ', zfile) <> ' ' then - begin - WriteLn('gzungetc error'); - Halt(1); - end; - - gzgets(zfile, PChar(uncompr), uncomprLen); - uncomprLen := StrLen(PChar(uncompr)); - if uncomprLen <> 7 then (* " hello!" *) - begin - WriteLn('gzgets err after gzseek: ', gzerror(zfile, err)); - Halt(1); - end; - if StrComp(PChar(uncompr), hello + 6) <> 0 then - begin - WriteLn('bad gzgets after gzseek'); - Halt(1); - end - else - WriteLn('gzgets() after gzseek: ', PChar(uncompr)); - - gzclose(zfile); -end; -{$ENDIF} - -(* =========================================================================== - * Test deflate with small buffers - *) -{$IFDEF TEST_DEFLATE} -procedure test_deflate(compr: Pointer; comprLen: LongInt); -var c_stream: z_stream; (* compression stream *) - err: Integer; - len: LongInt; -begin - len := StrLen(hello)+1; - - c_stream.zalloc := NIL; - c_stream.zfree := NIL; - c_stream.opaque := NIL; - - err := deflateInit(c_stream, Z_DEFAULT_COMPRESSION); - CHECK_ERR(err, 'deflateInit'); - - c_stream.next_in := hello; - c_stream.next_out := compr; - - while (c_stream.total_in <> len) and - (c_stream.total_out < comprLen) do - begin - c_stream.avail_out := 1; { force small buffers } - c_stream.avail_in := 1; - err := deflate(c_stream, Z_NO_FLUSH); - CHECK_ERR(err, 'deflate'); - end; - - (* Finish the stream, still forcing small buffers: *) - while TRUE do - begin - c_stream.avail_out := 1; - err := deflate(c_stream, Z_FINISH); - if err = Z_STREAM_END then - break; - CHECK_ERR(err, 'deflate'); - end; - - err := deflateEnd(c_stream); - CHECK_ERR(err, 'deflateEnd'); -end; -{$ENDIF} - -(* =========================================================================== - * Test inflate with small buffers - *) -{$IFDEF TEST_INFLATE} -procedure test_inflate(compr: Pointer; comprLen : LongInt; - uncompr: Pointer; uncomprLen : LongInt); -var err: Integer; - d_stream: z_stream; (* decompression stream *) -begin - StrCopy(PChar(uncompr), 'garbage'); - - d_stream.zalloc := NIL; - d_stream.zfree := NIL; - d_stream.opaque := NIL; - - d_stream.next_in := compr; - d_stream.avail_in := 0; - d_stream.next_out := uncompr; - - err := inflateInit(d_stream); - CHECK_ERR(err, 'inflateInit'); - - while (d_stream.total_out < uncomprLen) and - (d_stream.total_in < comprLen) do - begin - d_stream.avail_out := 1; (* force small buffers *) - d_stream.avail_in := 1; - err := inflate(d_stream, Z_NO_FLUSH); - if err = Z_STREAM_END then - break; - CHECK_ERR(err, 'inflate'); - end; - - err := inflateEnd(d_stream); - CHECK_ERR(err, 'inflateEnd'); - - if StrComp(PChar(uncompr), hello) <> 0 then - EXIT_ERR('bad inflate') - else - WriteLn('inflate(): ', PChar(uncompr)); -end; -{$ENDIF} - -(* =========================================================================== - * Test deflate with large buffers and dynamic change of compression level - *) -{$IFDEF TEST_DEFLATE} -procedure test_large_deflate(compr: Pointer; comprLen: LongInt; - uncompr: Pointer; uncomprLen: LongInt); -var c_stream: z_stream; (* compression stream *) - err: Integer; -begin - c_stream.zalloc := NIL; - c_stream.zfree := NIL; - c_stream.opaque := NIL; - - err := deflateInit(c_stream, Z_BEST_SPEED); - CHECK_ERR(err, 'deflateInit'); - - c_stream.next_out := compr; - c_stream.avail_out := Integer(comprLen); - - (* At this point, uncompr is still mostly zeroes, so it should compress - * very well: - *) - c_stream.next_in := uncompr; - c_stream.avail_in := Integer(uncomprLen); - err := deflate(c_stream, Z_NO_FLUSH); - CHECK_ERR(err, 'deflate'); - if c_stream.avail_in <> 0 then - EXIT_ERR('deflate not greedy'); - - (* Feed in already compressed data and switch to no compression: *) - deflateParams(c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY); - c_stream.next_in := compr; - c_stream.avail_in := Integer(comprLen div 2); - err := deflate(c_stream, Z_NO_FLUSH); - CHECK_ERR(err, 'deflate'); - - (* Switch back to compressing mode: *) - deflateParams(c_stream, Z_BEST_COMPRESSION, Z_FILTERED); - c_stream.next_in := uncompr; - c_stream.avail_in := Integer(uncomprLen); - err := deflate(c_stream, Z_NO_FLUSH); - CHECK_ERR(err, 'deflate'); - - err := deflate(c_stream, Z_FINISH); - if err <> Z_STREAM_END then - EXIT_ERR('deflate should report Z_STREAM_END'); - - err := deflateEnd(c_stream); - CHECK_ERR(err, 'deflateEnd'); -end; -{$ENDIF} - -(* =========================================================================== - * Test inflate with large buffers - *) -{$IFDEF TEST_INFLATE} -procedure test_large_inflate(compr: Pointer; comprLen: LongInt; - uncompr: Pointer; uncomprLen: LongInt); -var err: Integer; - d_stream: z_stream; (* decompression stream *) -begin - StrCopy(PChar(uncompr), 'garbage'); - - d_stream.zalloc := NIL; - d_stream.zfree := NIL; - d_stream.opaque := NIL; - - d_stream.next_in := compr; - d_stream.avail_in := Integer(comprLen); - - err := inflateInit(d_stream); - CHECK_ERR(err, 'inflateInit'); - - while TRUE do - begin - d_stream.next_out := uncompr; (* discard the output *) - d_stream.avail_out := Integer(uncomprLen); - err := inflate(d_stream, Z_NO_FLUSH); - if err = Z_STREAM_END then - break; - CHECK_ERR(err, 'large inflate'); - end; - - err := inflateEnd(d_stream); - CHECK_ERR(err, 'inflateEnd'); - - if d_stream.total_out <> 2 * uncomprLen + comprLen div 2 then - begin - WriteLn('bad large inflate: ', d_stream.total_out); - Halt(1); - end - else - WriteLn('large_inflate(): OK'); -end; -{$ENDIF} - -(* =========================================================================== - * Test deflate with full flush - *) -{$IFDEF TEST_FLUSH} -procedure test_flush(compr: Pointer; var comprLen : LongInt); -var c_stream: z_stream; (* compression stream *) - err: Integer; - len: Integer; -begin - len := StrLen(hello)+1; - - c_stream.zalloc := NIL; - c_stream.zfree := NIL; - c_stream.opaque := NIL; - - err := deflateInit(c_stream, Z_DEFAULT_COMPRESSION); - CHECK_ERR(err, 'deflateInit'); - - c_stream.next_in := hello; - c_stream.next_out := compr; - c_stream.avail_in := 3; - c_stream.avail_out := Integer(comprLen); - err := deflate(c_stream, Z_FULL_FLUSH); - CHECK_ERR(err, 'deflate'); - - Inc(PByteArray(compr)^[3]); (* force an error in first compressed block *) - c_stream.avail_in := len - 3; - - err := deflate(c_stream, Z_FINISH); - if err <> Z_STREAM_END then - CHECK_ERR(err, 'deflate'); - - err := deflateEnd(c_stream); - CHECK_ERR(err, 'deflateEnd'); - - comprLen := c_stream.total_out; -end; -{$ENDIF} - -(* =========================================================================== - * Test inflateSync() - *) -{$IFDEF TEST_SYNC} -procedure test_sync(compr: Pointer; comprLen: LongInt; - uncompr: Pointer; uncomprLen : LongInt); -var err: Integer; - d_stream: z_stream; (* decompression stream *) -begin - StrCopy(PChar(uncompr), 'garbage'); - - d_stream.zalloc := NIL; - d_stream.zfree := NIL; - d_stream.opaque := NIL; - - d_stream.next_in := compr; - d_stream.avail_in := 2; (* just read the zlib header *) - - err := inflateInit(d_stream); - CHECK_ERR(err, 'inflateInit'); - - d_stream.next_out := uncompr; - d_stream.avail_out := Integer(uncomprLen); - - inflate(d_stream, Z_NO_FLUSH); - CHECK_ERR(err, 'inflate'); - - d_stream.avail_in := Integer(comprLen-2); (* read all compressed data *) - err := inflateSync(d_stream); (* but skip the damaged part *) - CHECK_ERR(err, 'inflateSync'); - - err := inflate(d_stream, Z_FINISH); - if err <> Z_DATA_ERROR then - EXIT_ERR('inflate should report DATA_ERROR'); - (* Because of incorrect adler32 *) - - err := inflateEnd(d_stream); - CHECK_ERR(err, 'inflateEnd'); - - WriteLn('after inflateSync(): hel', PChar(uncompr)); -end; -{$ENDIF} - -(* =========================================================================== - * Test deflate with preset dictionary - *) -{$IFDEF TEST_DICT} -procedure test_dict_deflate(compr: Pointer; comprLen: LongInt); -var c_stream: z_stream; (* compression stream *) - err: Integer; -begin - c_stream.zalloc := NIL; - c_stream.zfree := NIL; - c_stream.opaque := NIL; - - err := deflateInit(c_stream, Z_BEST_COMPRESSION); - CHECK_ERR(err, 'deflateInit'); - - err := deflateSetDictionary(c_stream, dictionary, StrLen(dictionary)); - CHECK_ERR(err, 'deflateSetDictionary'); - - dictId := c_stream.adler; - c_stream.next_out := compr; - c_stream.avail_out := Integer(comprLen); - - c_stream.next_in := hello; - c_stream.avail_in := StrLen(hello)+1; - - err := deflate(c_stream, Z_FINISH); - if err <> Z_STREAM_END then - EXIT_ERR('deflate should report Z_STREAM_END'); - - err := deflateEnd(c_stream); - CHECK_ERR(err, 'deflateEnd'); -end; -{$ENDIF} - -(* =========================================================================== - * Test inflate with a preset dictionary - *) -{$IFDEF TEST_DICT} -procedure test_dict_inflate(compr: Pointer; comprLen: LongInt; - uncompr: Pointer; uncomprLen: LongInt); -var err: Integer; - d_stream: z_stream; (* decompression stream *) -begin - StrCopy(PChar(uncompr), 'garbage'); - - d_stream.zalloc := NIL; - d_stream.zfree := NIL; - d_stream.opaque := NIL; - - d_stream.next_in := compr; - d_stream.avail_in := Integer(comprLen); - - err := inflateInit(d_stream); - CHECK_ERR(err, 'inflateInit'); - - d_stream.next_out := uncompr; - d_stream.avail_out := Integer(uncomprLen); - - while TRUE do - begin - err := inflate(d_stream, Z_NO_FLUSH); - if err = Z_STREAM_END then - break; - if err = Z_NEED_DICT then - begin - if d_stream.adler <> dictId then - EXIT_ERR('unexpected dictionary'); - err := inflateSetDictionary(d_stream, dictionary, StrLen(dictionary)); - end; - CHECK_ERR(err, 'inflate with dict'); - end; - - err := inflateEnd(d_stream); - CHECK_ERR(err, 'inflateEnd'); - - if StrComp(PChar(uncompr), hello) <> 0 then - EXIT_ERR('bad inflate with dict') - else - WriteLn('inflate with dictionary: ', PChar(uncompr)); -end; -{$ENDIF} - -var compr, uncompr: Pointer; - comprLen, uncomprLen: LongInt; - -begin - if zlibVersion^ <> ZLIB_VERSION[1] then - EXIT_ERR('Incompatible zlib version'); - - WriteLn('zlib version: ', zlibVersion); - WriteLn('zlib compile flags: ', Format('0x%x', [zlibCompileFlags])); - - comprLen := 10000 * SizeOf(Integer); (* don't overflow on MSDOS *) - uncomprLen := comprLen; - GetMem(compr, comprLen); - GetMem(uncompr, uncomprLen); - if (compr = NIL) or (uncompr = NIL) then - EXIT_ERR('Out of memory'); - (* compr and uncompr are cleared to avoid reading uninitialized - * data and to ensure that uncompr compresses well. - *) - FillChar(compr^, comprLen, 0); - FillChar(uncompr^, uncomprLen, 0); - - {$IFDEF TEST_COMPRESS} - WriteLn('** Testing compress'); - test_compress(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - - {$IFDEF TEST_GZIO} - WriteLn('** Testing gzio'); - if ParamCount >= 1 then - test_gzio(ParamStr(1), uncompr, uncomprLen) - else - test_gzio(TESTFILE, uncompr, uncomprLen); - {$ENDIF} - - {$IFDEF TEST_DEFLATE} - WriteLn('** Testing deflate with small buffers'); - test_deflate(compr, comprLen); - {$ENDIF} - {$IFDEF TEST_INFLATE} - WriteLn('** Testing inflate with small buffers'); - test_inflate(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - - {$IFDEF TEST_DEFLATE} - WriteLn('** Testing deflate with large buffers'); - test_large_deflate(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - {$IFDEF TEST_INFLATE} - WriteLn('** Testing inflate with large buffers'); - test_large_inflate(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - - {$IFDEF TEST_FLUSH} - WriteLn('** Testing deflate with full flush'); - test_flush(compr, comprLen); - {$ENDIF} - {$IFDEF TEST_SYNC} - WriteLn('** Testing inflateSync'); - test_sync(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - comprLen := uncomprLen; - - {$IFDEF TEST_DICT} - WriteLn('** Testing deflate and inflate with preset dictionary'); - test_dict_deflate(compr, comprLen); - test_dict_inflate(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - - FreeMem(compr, comprLen); - FreeMem(uncompr, uncomprLen); -end. diff --git a/protocols/Telegram/tgl/zlib/contrib/pascal/readme.txt b/protocols/Telegram/tgl/zlib/contrib/pascal/readme.txt deleted file mode 100644 index 60e87c8a33..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/pascal/readme.txt +++ /dev/null @@ -1,76 +0,0 @@ - -This directory contains a Pascal (Delphi, Kylix) interface to the -zlib data compression library. - - -Directory listing -================= - -zlibd32.mak makefile for Borland C++ -example.pas usage example of zlib -zlibpas.pas the Pascal interface to zlib -readme.txt this file - - -Compatibility notes -=================== - -- Although the name "zlib" would have been more normal for the - zlibpas unit, this name is already taken by Borland's ZLib unit. - This is somehow unfortunate, because that unit is not a genuine - interface to the full-fledged zlib functionality, but a suite of - class wrappers around zlib streams. Other essential features, - such as checksums, are missing. - It would have been more appropriate for that unit to have a name - like "ZStreams", or something similar. - -- The C and zlib-supplied types int, uInt, long, uLong, etc. are - translated directly into Pascal types of similar sizes (Integer, - LongInt, etc.), to avoid namespace pollution. In particular, - there is no conversion of unsigned int into a Pascal unsigned - integer. The Word type is non-portable and has the same size - (16 bits) both in a 16-bit and in a 32-bit environment, unlike - Integer. Even if there is a 32-bit Cardinal type, there is no - real need for unsigned int in zlib under a 32-bit environment. - -- Except for the callbacks, the zlib function interfaces are - assuming the calling convention normally used in Pascal - (__pascal for DOS and Windows16, __fastcall for Windows32). - Since the cdecl keyword is used, the old Turbo Pascal does - not work with this interface. - -- The gz* function interfaces are not translated, to avoid - interfacing problems with the C runtime library. Besides, - gzprintf(gzFile file, const char *format, ...) - cannot be translated into Pascal. - - -Legal issues -============ - -The zlibpas interface is: - Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler. - Copyright (C) 1998 by Bob Dellaca. - Copyright (C) 2003 by Cosmin Truta. - -The example program is: - Copyright (C) 1995-2003 by Jean-loup Gailly. - Copyright (C) 1998,1999,2000 by Jacques Nomssi Nzali. - Copyright (C) 2003 by Cosmin Truta. - - This software is provided 'as-is', without any express or implied - warranty. In no event will the author be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - diff --git a/protocols/Telegram/tgl/zlib/contrib/pascal/zlibd32.mak b/protocols/Telegram/tgl/zlib/contrib/pascal/zlibd32.mak deleted file mode 100644 index 9bb00b7cc4..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/pascal/zlibd32.mak +++ /dev/null @@ -1,99 +0,0 @@ -# Makefile for zlib -# For use with Delphi and C++ Builder under Win32 -# Updated for zlib 1.2.x by Cosmin Truta - -# ------------ Borland C++ ------------ - -# This project uses the Delphi (fastcall/register) calling convention: -LOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl - -CC = bcc32 -LD = bcc32 -AR = tlib -# do not use "-pr" in CFLAGS -CFLAGS = -a -d -k- -O2 $(LOC) -LDFLAGS = - - -# variables -ZLIB_LIB = zlib.lib - -OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj -OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj -OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj -OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj - - -# targets -all: $(ZLIB_LIB) example.exe minigzip.exe - -.c.obj: - $(CC) -c $(CFLAGS) $*.c - -adler32.obj: adler32.c zlib.h zconf.h - -compress.obj: compress.c zlib.h zconf.h - -crc32.obj: crc32.c zlib.h zconf.h crc32.h - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - -gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h - -gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h - -gzread.obj: gzread.c zlib.h zconf.h gzguts.h - -gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h - -infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h - -inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - -trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h - -uncompr.obj: uncompr.c zlib.h zconf.h - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - -example.obj: test/example.c zlib.h zconf.h - -minigzip.obj: test/minigzip.c zlib.h zconf.h - - -# For the sake of the old Borland make, -# the command line is cut to fit in the MS-DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) - -del $(ZLIB_LIB) - $(AR) $(ZLIB_LIB) $(OBJP1) - $(AR) $(ZLIB_LIB) $(OBJP2) - - -# testing -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) - - -# cleanup -clean: - -del *.obj - -del *.exe - -del *.lib - -del *.tds - -del zlib.bak - -del foo.gz - diff --git a/protocols/Telegram/tgl/zlib/contrib/pascal/zlibpas.pas b/protocols/Telegram/tgl/zlib/contrib/pascal/zlibpas.pas deleted file mode 100644 index e6a0782b48..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/pascal/zlibpas.pas +++ /dev/null @@ -1,276 +0,0 @@ -(* zlibpas -- Pascal interface to the zlib data compression library - * - * Copyright (C) 2003 Cosmin Truta. - * Derived from original sources by Bob Dellaca. - * For conditions of distribution and use, see copyright notice in readme.txt - *) - -unit zlibpas; - -interface - -const - ZLIB_VERSION = '1.2.8'; - ZLIB_VERNUM = $1280; - -type - alloc_func = function(opaque: Pointer; items, size: Integer): Pointer; - cdecl; - free_func = procedure(opaque, address: Pointer); - cdecl; - - in_func = function(opaque: Pointer; var buf: PByte): Integer; - cdecl; - out_func = function(opaque: Pointer; buf: PByte; size: Integer): Integer; - cdecl; - - z_streamp = ^z_stream; - z_stream = packed record - next_in: PChar; (* next input byte *) - avail_in: Integer; (* number of bytes available at next_in *) - total_in: LongInt; (* total nb of input bytes read so far *) - - next_out: PChar; (* next output byte should be put there *) - avail_out: Integer; (* remaining free space at next_out *) - total_out: LongInt; (* total nb of bytes output so far *) - - msg: PChar; (* last error message, NULL if no error *) - state: Pointer; (* not visible by applications *) - - zalloc: alloc_func; (* used to allocate the internal state *) - zfree: free_func; (* used to free the internal state *) - opaque: Pointer; (* private data object passed to zalloc and zfree *) - - data_type: Integer; (* best guess about the data type: ascii or binary *) - adler: LongInt; (* adler32 value of the uncompressed data *) - reserved: LongInt; (* reserved for future use *) - end; - - gz_headerp = ^gz_header; - gz_header = packed record - text: Integer; (* true if compressed data believed to be text *) - time: LongInt; (* modification time *) - xflags: Integer; (* extra flags (not used when writing a gzip file) *) - os: Integer; (* operating system *) - extra: PChar; (* pointer to extra field or Z_NULL if none *) - extra_len: Integer; (* extra field length (valid if extra != Z_NULL) *) - extra_max: Integer; (* space at extra (only when reading header) *) - name: PChar; (* pointer to zero-terminated file name or Z_NULL *) - name_max: Integer; (* space at name (only when reading header) *) - comment: PChar; (* pointer to zero-terminated comment or Z_NULL *) - comm_max: Integer; (* space at comment (only when reading header) *) - hcrc: Integer; (* true if there was or will be a header crc *) - done: Integer; (* true when done reading gzip header *) - end; - -(* constants *) -const - Z_NO_FLUSH = 0; - Z_PARTIAL_FLUSH = 1; - Z_SYNC_FLUSH = 2; - Z_FULL_FLUSH = 3; - Z_FINISH = 4; - Z_BLOCK = 5; - Z_TREES = 6; - - Z_OK = 0; - Z_STREAM_END = 1; - Z_NEED_DICT = 2; - Z_ERRNO = -1; - Z_STREAM_ERROR = -2; - Z_DATA_ERROR = -3; - Z_MEM_ERROR = -4; - Z_BUF_ERROR = -5; - Z_VERSION_ERROR = -6; - - Z_NO_COMPRESSION = 0; - Z_BEST_SPEED = 1; - Z_BEST_COMPRESSION = 9; - Z_DEFAULT_COMPRESSION = -1; - - Z_FILTERED = 1; - Z_HUFFMAN_ONLY = 2; - Z_RLE = 3; - Z_FIXED = 4; - Z_DEFAULT_STRATEGY = 0; - - Z_BINARY = 0; - Z_TEXT = 1; - Z_ASCII = 1; - Z_UNKNOWN = 2; - - Z_DEFLATED = 8; - -(* basic functions *) -function zlibVersion: PChar; -function deflateInit(var strm: z_stream; level: Integer): Integer; -function deflate(var strm: z_stream; flush: Integer): Integer; -function deflateEnd(var strm: z_stream): Integer; -function inflateInit(var strm: z_stream): Integer; -function inflate(var strm: z_stream; flush: Integer): Integer; -function inflateEnd(var strm: z_stream): Integer; - -(* advanced functions *) -function deflateInit2(var strm: z_stream; level, method, windowBits, - memLevel, strategy: Integer): Integer; -function deflateSetDictionary(var strm: z_stream; const dictionary: PChar; - dictLength: Integer): Integer; -function deflateCopy(var dest, source: z_stream): Integer; -function deflateReset(var strm: z_stream): Integer; -function deflateParams(var strm: z_stream; level, strategy: Integer): Integer; -function deflateTune(var strm: z_stream; good_length, max_lazy, nice_length, max_chain: Integer): Integer; -function deflateBound(var strm: z_stream; sourceLen: LongInt): LongInt; -function deflatePending(var strm: z_stream; var pending: Integer; var bits: Integer): Integer; -function deflatePrime(var strm: z_stream; bits, value: Integer): Integer; -function deflateSetHeader(var strm: z_stream; head: gz_header): Integer; -function inflateInit2(var strm: z_stream; windowBits: Integer): Integer; -function inflateSetDictionary(var strm: z_stream; const dictionary: PChar; - dictLength: Integer): Integer; -function inflateSync(var strm: z_stream): Integer; -function inflateCopy(var dest, source: z_stream): Integer; -function inflateReset(var strm: z_stream): Integer; -function inflateReset2(var strm: z_stream; windowBits: Integer): Integer; -function inflatePrime(var strm: z_stream; bits, value: Integer): Integer; -function inflateMark(var strm: z_stream): LongInt; -function inflateGetHeader(var strm: z_stream; var head: gz_header): Integer; -function inflateBackInit(var strm: z_stream; - windowBits: Integer; window: PChar): Integer; -function inflateBack(var strm: z_stream; in_fn: in_func; in_desc: Pointer; - out_fn: out_func; out_desc: Pointer): Integer; -function inflateBackEnd(var strm: z_stream): Integer; -function zlibCompileFlags: LongInt; - -(* utility functions *) -function compress(dest: PChar; var destLen: LongInt; - const source: PChar; sourceLen: LongInt): Integer; -function compress2(dest: PChar; var destLen: LongInt; - const source: PChar; sourceLen: LongInt; - level: Integer): Integer; -function compressBound(sourceLen: LongInt): LongInt; -function uncompress(dest: PChar; var destLen: LongInt; - const source: PChar; sourceLen: LongInt): Integer; - -(* checksum functions *) -function adler32(adler: LongInt; const buf: PChar; len: Integer): LongInt; -function adler32_combine(adler1, adler2, len2: LongInt): LongInt; -function crc32(crc: LongInt; const buf: PChar; len: Integer): LongInt; -function crc32_combine(crc1, crc2, len2: LongInt): LongInt; - -(* various hacks, don't look :) *) -function deflateInit_(var strm: z_stream; level: Integer; - const version: PChar; stream_size: Integer): Integer; -function inflateInit_(var strm: z_stream; const version: PChar; - stream_size: Integer): Integer; -function deflateInit2_(var strm: z_stream; - level, method, windowBits, memLevel, strategy: Integer; - const version: PChar; stream_size: Integer): Integer; -function inflateInit2_(var strm: z_stream; windowBits: Integer; - const version: PChar; stream_size: Integer): Integer; -function inflateBackInit_(var strm: z_stream; - windowBits: Integer; window: PChar; - const version: PChar; stream_size: Integer): Integer; - - -implementation - -{$L adler32.obj} -{$L compress.obj} -{$L crc32.obj} -{$L deflate.obj} -{$L infback.obj} -{$L inffast.obj} -{$L inflate.obj} -{$L inftrees.obj} -{$L trees.obj} -{$L uncompr.obj} -{$L zutil.obj} - -function adler32; external; -function adler32_combine; external; -function compress; external; -function compress2; external; -function compressBound; external; -function crc32; external; -function crc32_combine; external; -function deflate; external; -function deflateBound; external; -function deflateCopy; external; -function deflateEnd; external; -function deflateInit_; external; -function deflateInit2_; external; -function deflateParams; external; -function deflatePending; external; -function deflatePrime; external; -function deflateReset; external; -function deflateSetDictionary; external; -function deflateSetHeader; external; -function deflateTune; external; -function inflate; external; -function inflateBack; external; -function inflateBackEnd; external; -function inflateBackInit_; external; -function inflateCopy; external; -function inflateEnd; external; -function inflateGetHeader; external; -function inflateInit_; external; -function inflateInit2_; external; -function inflateMark; external; -function inflatePrime; external; -function inflateReset; external; -function inflateReset2; external; -function inflateSetDictionary; external; -function inflateSync; external; -function uncompress; external; -function zlibCompileFlags; external; -function zlibVersion; external; - -function deflateInit(var strm: z_stream; level: Integer): Integer; -begin - Result := deflateInit_(strm, level, ZLIB_VERSION, sizeof(z_stream)); -end; - -function deflateInit2(var strm: z_stream; level, method, windowBits, memLevel, - strategy: Integer): Integer; -begin - Result := deflateInit2_(strm, level, method, windowBits, memLevel, strategy, - ZLIB_VERSION, sizeof(z_stream)); -end; - -function inflateInit(var strm: z_stream): Integer; -begin - Result := inflateInit_(strm, ZLIB_VERSION, sizeof(z_stream)); -end; - -function inflateInit2(var strm: z_stream; windowBits: Integer): Integer; -begin - Result := inflateInit2_(strm, windowBits, ZLIB_VERSION, sizeof(z_stream)); -end; - -function inflateBackInit(var strm: z_stream; - windowBits: Integer; window: PChar): Integer; -begin - Result := inflateBackInit_(strm, windowBits, window, - ZLIB_VERSION, sizeof(z_stream)); -end; - -function _malloc(Size: Integer): Pointer; cdecl; -begin - GetMem(Result, Size); -end; - -procedure _free(Block: Pointer); cdecl; -begin - FreeMem(Block); -end; - -procedure _memset(P: Pointer; B: Byte; count: Integer); cdecl; -begin - FillChar(P^, count, B); -end; - -procedure _memcpy(dest, source: Pointer; count: Integer); cdecl; -begin - Move(source^, dest^, count); -end; - -end. diff --git a/protocols/Telegram/tgl/zlib/contrib/puff/Makefile b/protocols/Telegram/tgl/zlib/contrib/puff/Makefile deleted file mode 100644 index 0e2594c808..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/puff/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -CFLAGS=-O - -puff: puff.o pufftest.o - -puff.o: puff.h - -pufftest.o: puff.h - -test: puff - puff zeros.raw - -puft: puff.c puff.h pufftest.o - cc -fprofile-arcs -ftest-coverage -o puft puff.c pufftest.o - -# puff full coverage test (should say 100%) -cov: puft - @rm -f *.gcov *.gcda - @puft -w zeros.raw 2>&1 | cat > /dev/null - @echo '04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 - @echo '00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 - @echo '00 00 00 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 254 - @echo '00 01 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 - @echo '01 01 00 fe ff 0a' | xxd -r -p | puft -f 2>&1 | cat > /dev/null - @echo '02 7e ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 - @echo '02' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 - @echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 - @echo '04 80 49 92 24 49 92 24 71 ff ff 93 11 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 249 - @echo '04 c0 81 08 00 00 00 00 20 7f eb 0b 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 - @echo '0b 00 00' | xxd -r -p | puft -f 2>&1 | cat > /dev/null - @echo '1a 07' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 - @echo '0c c0 81 00 00 00 00 00 90 ff 6b 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 245 - @puft -f zeros.raw 2>&1 | cat > /dev/null - @echo 'fc 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 253 - @echo '04 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 252 - @echo '04 00 24 49' | xxd -r -p | puft 2> /dev/null || test $$? -eq 251 - @echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 84' | xxd -r -p | puft 2> /dev/null || test $$? -eq 248 - @echo '04 00 24 e9 ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 250 - @echo '04 00 24 e9 ff 6d' | xxd -r -p | puft 2> /dev/null || test $$? -eq 247 - @gcov -n puff.c - -clean: - rm -f puff puft *.o *.gc* diff --git a/protocols/Telegram/tgl/zlib/contrib/puff/README b/protocols/Telegram/tgl/zlib/contrib/puff/README deleted file mode 100644 index bbc4cb595e..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/puff/README +++ /dev/null @@ -1,63 +0,0 @@ -Puff -- A Simple Inflate -3 Mar 2003 -Mark Adler -madler@alumni.caltech.edu - -What this is -- - -puff.c provides the routine puff() to decompress the deflate data format. It -does so more slowly than zlib, but the code is about one-fifth the size of the -inflate code in zlib, and written to be very easy to read. - -Why I wrote this -- - -puff.c was written to document the deflate format unambiguously, by virtue of -being working C code. It is meant to supplement RFC 1951, which formally -describes the deflate format. I have received many questions on details of the -deflate format, and I hope that reading this code will answer those questions. -puff.c is heavily commented with details of the deflate format, especially -those little nooks and cranies of the format that might not be obvious from a -specification. - -puff.c may also be useful in applications where code size or memory usage is a -very limited resource, and speed is not as important. - -How to use it -- - -Well, most likely you should just be reading puff.c and using zlib for actual -applications, but if you must ... - -Include puff.h in your code, which provides this prototype: - -int puff(unsigned char *dest, /* pointer to destination pointer */ - unsigned long *destlen, /* amount of output space */ - unsigned char *source, /* pointer to source data pointer */ - unsigned long *sourcelen); /* amount of input available */ - -Then you can call puff() to decompress a deflate stream that is in memory in -its entirety at source, to a sufficiently sized block of memory for the -decompressed data at dest. puff() is the only external symbol in puff.c The -only C library functions that puff.c needs are setjmp() and longjmp(), which -are used to simplify error checking in the code to improve readabilty. puff.c -does no memory allocation, and uses less than 2K bytes off of the stack. - -If destlen is not enough space for the uncompressed data, then inflate will -return an error without writing more than destlen bytes. Note that this means -that in order to decompress the deflate data successfully, you need to know -the size of the uncompressed data ahead of time. - -If needed, puff() can determine the size of the uncompressed data with no -output space. This is done by passing dest equal to (unsigned char *)0. Then -the initial value of *destlen is ignored and *destlen is set to the length of -the uncompressed data. So if the size of the uncompressed data is not known, -then two passes of puff() can be used--first to determine the size, and second -to do the actual inflation after allocating the appropriate memory. Not -pretty, but it works. (This is one of the reasons you should be using zlib.) - -The deflate format is self-terminating. If the deflate stream does not end -in *sourcelen bytes, puff() will return an error without reading at or past -endsource. - -On return, *sourcelen is updated to the amount of input data consumed, and -*destlen is updated to the size of the uncompressed data. See the comments -in puff.c for the possible return codes for puff(). diff --git a/protocols/Telegram/tgl/zlib/contrib/puff/puff.c b/protocols/Telegram/tgl/zlib/contrib/puff/puff.c deleted file mode 100644 index ba58483d57..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/puff/puff.c +++ /dev/null @@ -1,840 +0,0 @@ -/* - * puff.c - * Copyright (C) 2002-2013 Mark Adler - * For conditions of distribution and use, see copyright notice in puff.h - * version 2.3, 21 Jan 2013 - * - * puff.c is a simple inflate written to be an unambiguous way to specify the - * deflate format. It is not written for speed but rather simplicity. As a - * side benefit, this code might actually be useful when small code is more - * important than speed, such as bootstrap applications. For typical deflate - * data, zlib's inflate() is about four times as fast as puff(). zlib's - * inflate compiles to around 20K on my machine, whereas puff.c compiles to - * around 4K on my machine (a PowerPC using GNU cc). If the faster decode() - * function here is used, then puff() is only twice as slow as zlib's - * inflate(). - * - * All dynamically allocated memory comes from the stack. The stack required - * is less than 2K bytes. This code is compatible with 16-bit int's and - * assumes that long's are at least 32 bits. puff.c uses the short data type, - * assumed to be 16 bits, for arrays in order to to conserve memory. The code - * works whether integers are stored big endian or little endian. - * - * In the comments below are "Format notes" that describe the inflate process - * and document some of the less obvious aspects of the format. This source - * code is meant to supplement RFC 1951, which formally describes the deflate - * format: - * - * http://www.zlib.org/rfc-deflate.html - */ - -/* - * Change history: - * - * 1.0 10 Feb 2002 - First version - * 1.1 17 Feb 2002 - Clarifications of some comments and notes - * - Update puff() dest and source pointers on negative - * errors to facilitate debugging deflators - * - Remove longest from struct huffman -- not needed - * - Simplify offs[] index in construct() - * - Add input size and checking, using longjmp() to - * maintain easy readability - * - Use short data type for large arrays - * - Use pointers instead of long to specify source and - * destination sizes to avoid arbitrary 4 GB limits - * 1.2 17 Mar 2002 - Add faster version of decode(), doubles speed (!), - * but leave simple version for readabilty - * - Make sure invalid distances detected if pointers - * are 16 bits - * - Fix fixed codes table error - * - Provide a scanning mode for determining size of - * uncompressed data - * 1.3 20 Mar 2002 - Go back to lengths for puff() parameters [Gailly] - * - Add a puff.h file for the interface - * - Add braces in puff() for else do [Gailly] - * - Use indexes instead of pointers for readability - * 1.4 31 Mar 2002 - Simplify construct() code set check - * - Fix some comments - * - Add FIXLCODES #define - * 1.5 6 Apr 2002 - Minor comment fixes - * 1.6 7 Aug 2002 - Minor format changes - * 1.7 3 Mar 2003 - Added test code for distribution - * - Added zlib-like license - * 1.8 9 Jan 2004 - Added some comments on no distance codes case - * 1.9 21 Feb 2008 - Fix bug on 16-bit integer architectures [Pohland] - * - Catch missing end-of-block symbol error - * 2.0 25 Jul 2008 - Add #define to permit distance too far back - * - Add option in TEST code for puff to write the data - * - Add option in TEST code to skip input bytes - * - Allow TEST code to read from piped stdin - * 2.1 4 Apr 2010 - Avoid variable initialization for happier compilers - * - Avoid unsigned comparisons for even happier compilers - * 2.2 25 Apr 2010 - Fix bug in variable initializations [Oberhumer] - * - Add const where appropriate [Oberhumer] - * - Split if's and ?'s for coverage testing - * - Break out test code to separate file - * - Move NIL to puff.h - * - Allow incomplete code only if single code length is 1 - * - Add full code coverage test to Makefile - * 2.3 21 Jan 2013 - Check for invalid code length codes in dynamic blocks - */ - -#include /* for setjmp(), longjmp(), and jmp_buf */ -#include "puff.h" /* prototype for puff() */ - -#define local static /* for local function definitions */ - -/* - * Maximums for allocations and loops. It is not useful to change these -- - * they are fixed by the deflate format. - */ -#define MAXBITS 15 /* maximum bits in a code */ -#define MAXLCODES 286 /* maximum number of literal/length codes */ -#define MAXDCODES 30 /* maximum number of distance codes */ -#define MAXCODES (MAXLCODES+MAXDCODES) /* maximum codes lengths to read */ -#define FIXLCODES 288 /* number of fixed literal/length codes */ - -/* input and output state */ -struct state { - /* output state */ - unsigned char *out; /* output buffer */ - unsigned long outlen; /* available space at out */ - unsigned long outcnt; /* bytes written to out so far */ - - /* input state */ - const unsigned char *in; /* input buffer */ - unsigned long inlen; /* available input at in */ - unsigned long incnt; /* bytes read so far */ - int bitbuf; /* bit buffer */ - int bitcnt; /* number of bits in bit buffer */ - - /* input limit error return state for bits() and decode() */ - jmp_buf env; -}; - -/* - * Return need bits from the input stream. This always leaves less than - * eight bits in the buffer. bits() works properly for need == 0. - * - * Format notes: - * - * - Bits are stored in bytes from the least significant bit to the most - * significant bit. Therefore bits are dropped from the bottom of the bit - * buffer, using shift right, and new bytes are appended to the top of the - * bit buffer, using shift left. - */ -local int bits(struct state *s, int need) -{ - long val; /* bit accumulator (can use up to 20 bits) */ - - /* load at least need bits into val */ - val = s->bitbuf; - while (s->bitcnt < need) { - if (s->incnt == s->inlen) - longjmp(s->env, 1); /* out of input */ - val |= (long)(s->in[s->incnt++]) << s->bitcnt; /* load eight bits */ - s->bitcnt += 8; - } - - /* drop need bits and update buffer, always zero to seven bits left */ - s->bitbuf = (int)(val >> need); - s->bitcnt -= need; - - /* return need bits, zeroing the bits above that */ - return (int)(val & ((1L << need) - 1)); -} - -/* - * Process a stored block. - * - * Format notes: - * - * - After the two-bit stored block type (00), the stored block length and - * stored bytes are byte-aligned for fast copying. Therefore any leftover - * bits in the byte that has the last bit of the type, as many as seven, are - * discarded. The value of the discarded bits are not defined and should not - * be checked against any expectation. - * - * - The second inverted copy of the stored block length does not have to be - * checked, but it's probably a good idea to do so anyway. - * - * - A stored block can have zero length. This is sometimes used to byte-align - * subsets of the compressed data for random access or partial recovery. - */ -local int stored(struct state *s) -{ - unsigned len; /* length of stored block */ - - /* discard leftover bits from current byte (assumes s->bitcnt < 8) */ - s->bitbuf = 0; - s->bitcnt = 0; - - /* get length and check against its one's complement */ - if (s->incnt + 4 > s->inlen) - return 2; /* not enough input */ - len = s->in[s->incnt++]; - len |= s->in[s->incnt++] << 8; - if (s->in[s->incnt++] != (~len & 0xff) || - s->in[s->incnt++] != ((~len >> 8) & 0xff)) - return -2; /* didn't match complement! */ - - /* copy len bytes from in to out */ - if (s->incnt + len > s->inlen) - return 2; /* not enough input */ - if (s->out != NIL) { - if (s->outcnt + len > s->outlen) - return 1; /* not enough output space */ - while (len--) - s->out[s->outcnt++] = s->in[s->incnt++]; - } - else { /* just scanning */ - s->outcnt += len; - s->incnt += len; - } - - /* done with a valid stored block */ - return 0; -} - -/* - * Huffman code decoding tables. count[1..MAXBITS] is the number of symbols of - * each length, which for a canonical code are stepped through in order. - * symbol[] are the symbol values in canonical order, where the number of - * entries is the sum of the counts in count[]. The decoding process can be - * seen in the function decode() below. - */ -struct huffman { - short *count; /* number of symbols of each length */ - short *symbol; /* canonically ordered symbols */ -}; - -/* - * Decode a code from the stream s using huffman table h. Return the symbol or - * a negative value if there is an error. If all of the lengths are zero, i.e. - * an empty code, or if the code is incomplete and an invalid code is received, - * then -10 is returned after reading MAXBITS bits. - * - * Format notes: - * - * - The codes as stored in the compressed data are bit-reversed relative to - * a simple integer ordering of codes of the same lengths. Hence below the - * bits are pulled from the compressed data one at a time and used to - * build the code value reversed from what is in the stream in order to - * permit simple integer comparisons for decoding. A table-based decoding - * scheme (as used in zlib) does not need to do this reversal. - * - * - The first code for the shortest length is all zeros. Subsequent codes of - * the same length are simply integer increments of the previous code. When - * moving up a length, a zero bit is appended to the code. For a complete - * code, the last code of the longest length will be all ones. - * - * - Incomplete codes are handled by this decoder, since they are permitted - * in the deflate format. See the format notes for fixed() and dynamic(). - */ -#ifdef SLOW -local int decode(struct state *s, const struct huffman *h) -{ - int len; /* current number of bits in code */ - int code; /* len bits being decoded */ - int first; /* first code of length len */ - int count; /* number of codes of length len */ - int index; /* index of first code of length len in symbol table */ - - code = first = index = 0; - for (len = 1; len <= MAXBITS; len++) { - code |= bits(s, 1); /* get next bit */ - count = h->count[len]; - if (code - count < first) /* if length len, return symbol */ - return h->symbol[index + (code - first)]; - index += count; /* else update for next length */ - first += count; - first <<= 1; - code <<= 1; - } - return -10; /* ran out of codes */ -} - -/* - * A faster version of decode() for real applications of this code. It's not - * as readable, but it makes puff() twice as fast. And it only makes the code - * a few percent larger. - */ -#else /* !SLOW */ -local int decode(struct state *s, const struct huffman *h) -{ - int len; /* current number of bits in code */ - int code; /* len bits being decoded */ - int first; /* first code of length len */ - int count; /* number of codes of length len */ - int index; /* index of first code of length len in symbol table */ - int bitbuf; /* bits from stream */ - int left; /* bits left in next or left to process */ - short *next; /* next number of codes */ - - bitbuf = s->bitbuf; - left = s->bitcnt; - code = first = index = 0; - len = 1; - next = h->count + 1; - while (1) { - while (left--) { - code |= bitbuf & 1; - bitbuf >>= 1; - count = *next++; - if (code - count < first) { /* if length len, return symbol */ - s->bitbuf = bitbuf; - s->bitcnt = (s->bitcnt - len) & 7; - return h->symbol[index + (code - first)]; - } - index += count; /* else update for next length */ - first += count; - first <<= 1; - code <<= 1; - len++; - } - left = (MAXBITS+1) - len; - if (left == 0) - break; - if (s->incnt == s->inlen) - longjmp(s->env, 1); /* out of input */ - bitbuf = s->in[s->incnt++]; - if (left > 8) - left = 8; - } - return -10; /* ran out of codes */ -} -#endif /* SLOW */ - -/* - * Given the list of code lengths length[0..n-1] representing a canonical - * Huffman code for n symbols, construct the tables required to decode those - * codes. Those tables are the number of codes of each length, and the symbols - * sorted by length, retaining their original order within each length. The - * return value is zero for a complete code set, negative for an over- - * subscribed code set, and positive for an incomplete code set. The tables - * can be used if the return value is zero or positive, but they cannot be used - * if the return value is negative. If the return value is zero, it is not - * possible for decode() using that table to return an error--any stream of - * enough bits will resolve to a symbol. If the return value is positive, then - * it is possible for decode() using that table to return an error for received - * codes past the end of the incomplete lengths. - * - * Not used by decode(), but used for error checking, h->count[0] is the number - * of the n symbols not in the code. So n - h->count[0] is the number of - * codes. This is useful for checking for incomplete codes that have more than - * one symbol, which is an error in a dynamic block. - * - * Assumption: for all i in 0..n-1, 0 <= length[i] <= MAXBITS - * This is assured by the construction of the length arrays in dynamic() and - * fixed() and is not verified by construct(). - * - * Format notes: - * - * - Permitted and expected examples of incomplete codes are one of the fixed - * codes and any code with a single symbol which in deflate is coded as one - * bit instead of zero bits. See the format notes for fixed() and dynamic(). - * - * - Within a given code length, the symbols are kept in ascending order for - * the code bits definition. - */ -local int construct(struct huffman *h, const short *length, int n) -{ - int symbol; /* current symbol when stepping through length[] */ - int len; /* current length when stepping through h->count[] */ - int left; /* number of possible codes left of current length */ - short offs[MAXBITS+1]; /* offsets in symbol table for each length */ - - /* count number of codes of each length */ - for (len = 0; len <= MAXBITS; len++) - h->count[len] = 0; - for (symbol = 0; symbol < n; symbol++) - (h->count[length[symbol]])++; /* assumes lengths are within bounds */ - if (h->count[0] == n) /* no codes! */ - return 0; /* complete, but decode() will fail */ - - /* check for an over-subscribed or incomplete set of lengths */ - left = 1; /* one possible code of zero length */ - for (len = 1; len <= MAXBITS; len++) { - left <<= 1; /* one more bit, double codes left */ - left -= h->count[len]; /* deduct count from possible codes */ - if (left < 0) - return left; /* over-subscribed--return negative */ - } /* left > 0 means incomplete */ - - /* generate offsets into symbol table for each length for sorting */ - offs[1] = 0; - for (len = 1; len < MAXBITS; len++) - offs[len + 1] = offs[len] + h->count[len]; - - /* - * put symbols in table sorted by length, by symbol order within each - * length - */ - for (symbol = 0; symbol < n; symbol++) - if (length[symbol] != 0) - h->symbol[offs[length[symbol]]++] = symbol; - - /* return zero for complete set, positive for incomplete set */ - return left; -} - -/* - * Decode literal/length and distance codes until an end-of-block code. - * - * Format notes: - * - * - Compressed data that is after the block type if fixed or after the code - * description if dynamic is a combination of literals and length/distance - * pairs terminated by and end-of-block code. Literals are simply Huffman - * coded bytes. A length/distance pair is a coded length followed by a - * coded distance to represent a string that occurs earlier in the - * uncompressed data that occurs again at the current location. - * - * - Literals, lengths, and the end-of-block code are combined into a single - * code of up to 286 symbols. They are 256 literals (0..255), 29 length - * symbols (257..285), and the end-of-block symbol (256). - * - * - There are 256 possible lengths (3..258), and so 29 symbols are not enough - * to represent all of those. Lengths 3..10 and 258 are in fact represented - * by just a length symbol. Lengths 11..257 are represented as a symbol and - * some number of extra bits that are added as an integer to the base length - * of the length symbol. The number of extra bits is determined by the base - * length symbol. These are in the static arrays below, lens[] for the base - * lengths and lext[] for the corresponding number of extra bits. - * - * - The reason that 258 gets its own symbol is that the longest length is used - * often in highly redundant files. Note that 258 can also be coded as the - * base value 227 plus the maximum extra value of 31. While a good deflate - * should never do this, it is not an error, and should be decoded properly. - * - * - If a length is decoded, including its extra bits if any, then it is - * followed a distance code. There are up to 30 distance symbols. Again - * there are many more possible distances (1..32768), so extra bits are added - * to a base value represented by the symbol. The distances 1..4 get their - * own symbol, but the rest require extra bits. The base distances and - * corresponding number of extra bits are below in the static arrays dist[] - * and dext[]. - * - * - Literal bytes are simply written to the output. A length/distance pair is - * an instruction to copy previously uncompressed bytes to the output. The - * copy is from distance bytes back in the output stream, copying for length - * bytes. - * - * - Distances pointing before the beginning of the output data are not - * permitted. - * - * - Overlapped copies, where the length is greater than the distance, are - * allowed and common. For example, a distance of one and a length of 258 - * simply copies the last byte 258 times. A distance of four and a length of - * twelve copies the last four bytes three times. A simple forward copy - * ignoring whether the length is greater than the distance or not implements - * this correctly. You should not use memcpy() since its behavior is not - * defined for overlapped arrays. You should not use memmove() or bcopy() - * since though their behavior -is- defined for overlapping arrays, it is - * defined to do the wrong thing in this case. - */ -local int codes(struct state *s, - const struct huffman *lencode, - const struct huffman *distcode) -{ - int symbol; /* decoded symbol */ - int len; /* length for copy */ - unsigned dist; /* distance for copy */ - static const short lens[29] = { /* Size base for length codes 257..285 */ - 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, - 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258}; - static const short lext[29] = { /* Extra bits for length codes 257..285 */ - 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, - 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0}; - static const short dists[30] = { /* Offset base for distance codes 0..29 */ - 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, - 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, - 8193, 12289, 16385, 24577}; - static const short dext[30] = { /* Extra bits for distance codes 0..29 */ - 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, - 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, - 12, 12, 13, 13}; - - /* decode literals and length/distance pairs */ - do { - symbol = decode(s, lencode); - if (symbol < 0) - return symbol; /* invalid symbol */ - if (symbol < 256) { /* literal: symbol is the byte */ - /* write out the literal */ - if (s->out != NIL) { - if (s->outcnt == s->outlen) - return 1; - s->out[s->outcnt] = symbol; - } - s->outcnt++; - } - else if (symbol > 256) { /* length */ - /* get and compute length */ - symbol -= 257; - if (symbol >= 29) - return -10; /* invalid fixed code */ - len = lens[symbol] + bits(s, lext[symbol]); - - /* get and check distance */ - symbol = decode(s, distcode); - if (symbol < 0) - return symbol; /* invalid symbol */ - dist = dists[symbol] + bits(s, dext[symbol]); -#ifndef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR - if (dist > s->outcnt) - return -11; /* distance too far back */ -#endif - - /* copy length bytes from distance bytes back */ - if (s->out != NIL) { - if (s->outcnt + len > s->outlen) - return 1; - while (len--) { - s->out[s->outcnt] = -#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR - dist > s->outcnt ? - 0 : -#endif - s->out[s->outcnt - dist]; - s->outcnt++; - } - } - else - s->outcnt += len; - } - } while (symbol != 256); /* end of block symbol */ - - /* done with a valid fixed or dynamic block */ - return 0; -} - -/* - * Process a fixed codes block. - * - * Format notes: - * - * - This block type can be useful for compressing small amounts of data for - * which the size of the code descriptions in a dynamic block exceeds the - * benefit of custom codes for that block. For fixed codes, no bits are - * spent on code descriptions. Instead the code lengths for literal/length - * codes and distance codes are fixed. The specific lengths for each symbol - * can be seen in the "for" loops below. - * - * - The literal/length code is complete, but has two symbols that are invalid - * and should result in an error if received. This cannot be implemented - * simply as an incomplete code since those two symbols are in the "middle" - * of the code. They are eight bits long and the longest literal/length\ - * code is nine bits. Therefore the code must be constructed with those - * symbols, and the invalid symbols must be detected after decoding. - * - * - The fixed distance codes also have two invalid symbols that should result - * in an error if received. Since all of the distance codes are the same - * length, this can be implemented as an incomplete code. Then the invalid - * codes are detected while decoding. - */ -local int fixed(struct state *s) -{ - static int virgin = 1; - static short lencnt[MAXBITS+1], lensym[FIXLCODES]; - static short distcnt[MAXBITS+1], distsym[MAXDCODES]; - static struct huffman lencode, distcode; - - /* build fixed huffman tables if first call (may not be thread safe) */ - if (virgin) { - int symbol; - short lengths[FIXLCODES]; - - /* construct lencode and distcode */ - lencode.count = lencnt; - lencode.symbol = lensym; - distcode.count = distcnt; - distcode.symbol = distsym; - - /* literal/length table */ - for (symbol = 0; symbol < 144; symbol++) - lengths[symbol] = 8; - for (; symbol < 256; symbol++) - lengths[symbol] = 9; - for (; symbol < 280; symbol++) - lengths[symbol] = 7; - for (; symbol < FIXLCODES; symbol++) - lengths[symbol] = 8; - construct(&lencode, lengths, FIXLCODES); - - /* distance table */ - for (symbol = 0; symbol < MAXDCODES; symbol++) - lengths[symbol] = 5; - construct(&distcode, lengths, MAXDCODES); - - /* do this just once */ - virgin = 0; - } - - /* decode data until end-of-block code */ - return codes(s, &lencode, &distcode); -} - -/* - * Process a dynamic codes block. - * - * Format notes: - * - * - A dynamic block starts with a description of the literal/length and - * distance codes for that block. New dynamic blocks allow the compressor to - * rapidly adapt to changing data with new codes optimized for that data. - * - * - The codes used by the deflate format are "canonical", which means that - * the actual bits of the codes are generated in an unambiguous way simply - * from the number of bits in each code. Therefore the code descriptions - * are simply a list of code lengths for each symbol. - * - * - The code lengths are stored in order for the symbols, so lengths are - * provided for each of the literal/length symbols, and for each of the - * distance symbols. - * - * - If a symbol is not used in the block, this is represented by a zero as - * as the code length. This does not mean a zero-length code, but rather - * that no code should be created for this symbol. There is no way in the - * deflate format to represent a zero-length code. - * - * - The maximum number of bits in a code is 15, so the possible lengths for - * any code are 1..15. - * - * - The fact that a length of zero is not permitted for a code has an - * interesting consequence. Normally if only one symbol is used for a given - * code, then in fact that code could be represented with zero bits. However - * in deflate, that code has to be at least one bit. So for example, if - * only a single distance base symbol appears in a block, then it will be - * represented by a single code of length one, in particular one 0 bit. This - * is an incomplete code, since if a 1 bit is received, it has no meaning, - * and should result in an error. So incomplete distance codes of one symbol - * should be permitted, and the receipt of invalid codes should be handled. - * - * - It is also possible to have a single literal/length code, but that code - * must be the end-of-block code, since every dynamic block has one. This - * is not the most efficient way to create an empty block (an empty fixed - * block is fewer bits), but it is allowed by the format. So incomplete - * literal/length codes of one symbol should also be permitted. - * - * - If there are only literal codes and no lengths, then there are no distance - * codes. This is represented by one distance code with zero bits. - * - * - The list of up to 286 length/literal lengths and up to 30 distance lengths - * are themselves compressed using Huffman codes and run-length encoding. In - * the list of code lengths, a 0 symbol means no code, a 1..15 symbol means - * that length, and the symbols 16, 17, and 18 are run-length instructions. - * Each of 16, 17, and 18 are follwed by extra bits to define the length of - * the run. 16 copies the last length 3 to 6 times. 17 represents 3 to 10 - * zero lengths, and 18 represents 11 to 138 zero lengths. Unused symbols - * are common, hence the special coding for zero lengths. - * - * - The symbols for 0..18 are Huffman coded, and so that code must be - * described first. This is simply a sequence of up to 19 three-bit values - * representing no code (0) or the code length for that symbol (1..7). - * - * - A dynamic block starts with three fixed-size counts from which is computed - * the number of literal/length code lengths, the number of distance code - * lengths, and the number of code length code lengths (ok, you come up with - * a better name!) in the code descriptions. For the literal/length and - * distance codes, lengths after those provided are considered zero, i.e. no - * code. The code length code lengths are received in a permuted order (see - * the order[] array below) to make a short code length code length list more - * likely. As it turns out, very short and very long codes are less likely - * to be seen in a dynamic code description, hence what may appear initially - * to be a peculiar ordering. - * - * - Given the number of literal/length code lengths (nlen) and distance code - * lengths (ndist), then they are treated as one long list of nlen + ndist - * code lengths. Therefore run-length coding can and often does cross the - * boundary between the two sets of lengths. - * - * - So to summarize, the code description at the start of a dynamic block is - * three counts for the number of code lengths for the literal/length codes, - * the distance codes, and the code length codes. This is followed by the - * code length code lengths, three bits each. This is used to construct the - * code length code which is used to read the remainder of the lengths. Then - * the literal/length code lengths and distance lengths are read as a single - * set of lengths using the code length codes. Codes are constructed from - * the resulting two sets of lengths, and then finally you can start - * decoding actual compressed data in the block. - * - * - For reference, a "typical" size for the code description in a dynamic - * block is around 80 bytes. - */ -local int dynamic(struct state *s) -{ - int nlen, ndist, ncode; /* number of lengths in descriptor */ - int index; /* index of lengths[] */ - int err; /* construct() return value */ - short lengths[MAXCODES]; /* descriptor code lengths */ - short lencnt[MAXBITS+1], lensym[MAXLCODES]; /* lencode memory */ - short distcnt[MAXBITS+1], distsym[MAXDCODES]; /* distcode memory */ - struct huffman lencode, distcode; /* length and distance codes */ - static const short order[19] = /* permutation of code length codes */ - {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; - - /* construct lencode and distcode */ - lencode.count = lencnt; - lencode.symbol = lensym; - distcode.count = distcnt; - distcode.symbol = distsym; - - /* get number of lengths in each table, check lengths */ - nlen = bits(s, 5) + 257; - ndist = bits(s, 5) + 1; - ncode = bits(s, 4) + 4; - if (nlen > MAXLCODES || ndist > MAXDCODES) - return -3; /* bad counts */ - - /* read code length code lengths (really), missing lengths are zero */ - for (index = 0; index < ncode; index++) - lengths[order[index]] = bits(s, 3); - for (; index < 19; index++) - lengths[order[index]] = 0; - - /* build huffman table for code lengths codes (use lencode temporarily) */ - err = construct(&lencode, lengths, 19); - if (err != 0) /* require complete code set here */ - return -4; - - /* read length/literal and distance code length tables */ - index = 0; - while (index < nlen + ndist) { - int symbol; /* decoded value */ - int len; /* last length to repeat */ - - symbol = decode(s, &lencode); - if (symbol < 0) - return symbol; /* invalid symbol */ - if (symbol < 16) /* length in 0..15 */ - lengths[index++] = symbol; - else { /* repeat instruction */ - len = 0; /* assume repeating zeros */ - if (symbol == 16) { /* repeat last length 3..6 times */ - if (index == 0) - return -5; /* no last length! */ - len = lengths[index - 1]; /* last length */ - symbol = 3 + bits(s, 2); - } - else if (symbol == 17) /* repeat zero 3..10 times */ - symbol = 3 + bits(s, 3); - else /* == 18, repeat zero 11..138 times */ - symbol = 11 + bits(s, 7); - if (index + symbol > nlen + ndist) - return -6; /* too many lengths! */ - while (symbol--) /* repeat last or zero symbol times */ - lengths[index++] = len; - } - } - - /* check for end-of-block code -- there better be one! */ - if (lengths[256] == 0) - return -9; - - /* build huffman table for literal/length codes */ - err = construct(&lencode, lengths, nlen); - if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1])) - return -7; /* incomplete code ok only for single length 1 code */ - - /* build huffman table for distance codes */ - err = construct(&distcode, lengths + nlen, ndist); - if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1])) - return -8; /* incomplete code ok only for single length 1 code */ - - /* decode data until end-of-block code */ - return codes(s, &lencode, &distcode); -} - -/* - * Inflate source to dest. On return, destlen and sourcelen are updated to the - * size of the uncompressed data and the size of the deflate data respectively. - * On success, the return value of puff() is zero. If there is an error in the - * source data, i.e. it is not in the deflate format, then a negative value is - * returned. If there is not enough input available or there is not enough - * output space, then a positive error is returned. In that case, destlen and - * sourcelen are not updated to facilitate retrying from the beginning with the - * provision of more input data or more output space. In the case of invalid - * inflate data (a negative error), the dest and source pointers are updated to - * facilitate the debugging of deflators. - * - * puff() also has a mode to determine the size of the uncompressed output with - * no output written. For this dest must be (unsigned char *)0. In this case, - * the input value of *destlen is ignored, and on return *destlen is set to the - * size of the uncompressed output. - * - * The return codes are: - * - * 2: available inflate data did not terminate - * 1: output space exhausted before completing inflate - * 0: successful inflate - * -1: invalid block type (type == 3) - * -2: stored block length did not match one's complement - * -3: dynamic block code description: too many length or distance codes - * -4: dynamic block code description: code lengths codes incomplete - * -5: dynamic block code description: repeat lengths with no first length - * -6: dynamic block code description: repeat more than specified lengths - * -7: dynamic block code description: invalid literal/length code lengths - * -8: dynamic block code description: invalid distance code lengths - * -9: dynamic block code description: missing end-of-block code - * -10: invalid literal/length or distance code in fixed or dynamic block - * -11: distance is too far back in fixed or dynamic block - * - * Format notes: - * - * - Three bits are read for each block to determine the kind of block and - * whether or not it is the last block. Then the block is decoded and the - * process repeated if it was not the last block. - * - * - The leftover bits in the last byte of the deflate data after the last - * block (if it was a fixed or dynamic block) are undefined and have no - * expected values to check. - */ -int puff(unsigned char *dest, /* pointer to destination pointer */ - unsigned long *destlen, /* amount of output space */ - const unsigned char *source, /* pointer to source data pointer */ - unsigned long *sourcelen) /* amount of input available */ -{ - struct state s; /* input/output state */ - int last, type; /* block information */ - int err; /* return value */ - - /* initialize output state */ - s.out = dest; - s.outlen = *destlen; /* ignored if dest is NIL */ - s.outcnt = 0; - - /* initialize input state */ - s.in = source; - s.inlen = *sourcelen; - s.incnt = 0; - s.bitbuf = 0; - s.bitcnt = 0; - - /* return if bits() or decode() tries to read past available input */ - if (setjmp(s.env) != 0) /* if came back here via longjmp() */ - err = 2; /* then skip do-loop, return error */ - else { - /* process blocks until last block or error */ - do { - last = bits(&s, 1); /* one if last block */ - type = bits(&s, 2); /* block type 0..3 */ - err = type == 0 ? - stored(&s) : - (type == 1 ? - fixed(&s) : - (type == 2 ? - dynamic(&s) : - -1)); /* type == 3, invalid */ - if (err != 0) - break; /* return with error */ - } while (!last); - } - - /* update the lengths and return */ - if (err <= 0) { - *destlen = s.outcnt; - *sourcelen = s.incnt; - } - return err; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/puff/puff.h b/protocols/Telegram/tgl/zlib/contrib/puff/puff.h deleted file mode 100644 index e23a245431..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/puff/puff.h +++ /dev/null @@ -1,35 +0,0 @@ -/* puff.h - Copyright (C) 2002-2013 Mark Adler, all rights reserved - version 2.3, 21 Jan 2013 - - This software is provided 'as-is', without any express or implied - warranty. In no event will the author be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Mark Adler madler@alumni.caltech.edu - */ - - -/* - * See puff.c for purpose and usage. - */ -#ifndef NIL -# define NIL ((unsigned char *)0) /* for no output option */ -#endif - -int puff(unsigned char *dest, /* pointer to destination pointer */ - unsigned long *destlen, /* amount of output space */ - const unsigned char *source, /* pointer to source data pointer */ - unsigned long *sourcelen); /* amount of input available */ diff --git a/protocols/Telegram/tgl/zlib/contrib/puff/pufftest.c b/protocols/Telegram/tgl/zlib/contrib/puff/pufftest.c deleted file mode 100644 index 776481488c..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/puff/pufftest.c +++ /dev/null @@ -1,165 +0,0 @@ -/* - * pufftest.c - * Copyright (C) 2002-2013 Mark Adler - * For conditions of distribution and use, see copyright notice in puff.h - * version 2.3, 21 Jan 2013 - */ - -/* Example of how to use puff(). - - Usage: puff [-w] [-f] [-nnn] file - ... | puff [-w] [-f] [-nnn] - - where file is the input file with deflate data, nnn is the number of bytes - of input to skip before inflating (e.g. to skip a zlib or gzip header), and - -w is used to write the decompressed data to stdout. -f is for coverage - testing, and causes pufftest to fail with not enough output space (-f does - a write like -w, so -w is not required). */ - -#include -#include -#include "puff.h" - -#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__) -# include -# include -# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) -#else -# define SET_BINARY_MODE(file) -#endif - -#define local static - -/* Return size times approximately the cube root of 2, keeping the result as 1, - 3, or 5 times a power of 2 -- the result is always > size, until the result - is the maximum value of an unsigned long, where it remains. This is useful - to keep reallocations less than ~33% over the actual data. */ -local size_t bythirds(size_t size) -{ - int n; - size_t m; - - m = size; - for (n = 0; m; n++) - m >>= 1; - if (n < 3) - return size + 1; - n -= 3; - m = size >> n; - m += m == 6 ? 2 : 1; - m <<= n; - return m > size ? m : (size_t)(-1); -} - -/* Read the input file *name, or stdin if name is NULL, into allocated memory. - Reallocate to larger buffers until the entire file is read in. Return a - pointer to the allocated data, or NULL if there was a memory allocation - failure. *len is the number of bytes of data read from the input file (even - if load() returns NULL). If the input file was empty or could not be opened - or read, *len is zero. */ -local void *load(const char *name, size_t *len) -{ - size_t size; - void *buf, *swap; - FILE *in; - - *len = 0; - buf = malloc(size = 4096); - if (buf == NULL) - return NULL; - in = name == NULL ? stdin : fopen(name, "rb"); - if (in != NULL) { - for (;;) { - *len += fread((char *)buf + *len, 1, size - *len, in); - if (*len < size) break; - size = bythirds(size); - if (size == *len || (swap = realloc(buf, size)) == NULL) { - free(buf); - buf = NULL; - break; - } - buf = swap; - } - fclose(in); - } - return buf; -} - -int main(int argc, char **argv) -{ - int ret, put = 0, fail = 0; - unsigned skip = 0; - char *arg, *name = NULL; - unsigned char *source = NULL, *dest; - size_t len = 0; - unsigned long sourcelen, destlen; - - /* process arguments */ - while (arg = *++argv, --argc) - if (arg[0] == '-') { - if (arg[1] == 'w' && arg[2] == 0) - put = 1; - else if (arg[1] == 'f' && arg[2] == 0) - fail = 1, put = 1; - else if (arg[1] >= '0' && arg[1] <= '9') - skip = (unsigned)atoi(arg + 1); - else { - fprintf(stderr, "invalid option %s\n", arg); - return 3; - } - } - else if (name != NULL) { - fprintf(stderr, "only one file name allowed\n"); - return 3; - } - else - name = arg; - source = load(name, &len); - if (source == NULL) { - fprintf(stderr, "memory allocation failure\n"); - return 4; - } - if (len == 0) { - fprintf(stderr, "could not read %s, or it was empty\n", - name == NULL ? "" : name); - free(source); - return 3; - } - if (skip >= len) { - fprintf(stderr, "skip request of %d leaves no input\n", skip); - free(source); - return 3; - } - - /* test inflate data with offset skip */ - len -= skip; - sourcelen = (unsigned long)len; - ret = puff(NIL, &destlen, source + skip, &sourcelen); - if (ret) - fprintf(stderr, "puff() failed with return code %d\n", ret); - else { - fprintf(stderr, "puff() succeeded uncompressing %lu bytes\n", destlen); - if (sourcelen < len) fprintf(stderr, "%lu compressed bytes unused\n", - len - sourcelen); - } - - /* if requested, inflate again and write decompressd data to stdout */ - if (put && ret == 0) { - if (fail) - destlen >>= 1; - dest = malloc(destlen); - if (dest == NULL) { - fprintf(stderr, "memory allocation failure\n"); - free(source); - return 4; - } - puff(dest, &destlen, source + skip, &sourcelen); - SET_BINARY_MODE(stdout); - fwrite(dest, 1, destlen, stdout); - free(dest); - } - - /* clean up */ - free(source); - return ret; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/puff/zeros.raw b/protocols/Telegram/tgl/zlib/contrib/puff/zeros.raw deleted file mode 100644 index 0a90e76b30..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/puff/zeros.raw and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/testzlib/testzlib.c b/protocols/Telegram/tgl/zlib/contrib/testzlib/testzlib.c deleted file mode 100644 index 5f659dea00..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/testzlib/testzlib.c +++ /dev/null @@ -1,275 +0,0 @@ -#include -#include -#include - -#include "zlib.h" - - -void MyDoMinus64(LARGE_INTEGER *R,LARGE_INTEGER A,LARGE_INTEGER B) -{ - R->HighPart = A.HighPart - B.HighPart; - if (A.LowPart >= B.LowPart) - R->LowPart = A.LowPart - B.LowPart; - else - { - R->LowPart = A.LowPart - B.LowPart; - R->HighPart --; - } -} - -#ifdef _M_X64 -// see http://msdn2.microsoft.com/library/twchhe95(en-us,vs.80).aspx for __rdtsc -unsigned __int64 __rdtsc(void); -void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) -{ - // printf("rdtsc = %I64x\n",__rdtsc()); - pbeginTime64->QuadPart=__rdtsc(); -} - -LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER LIres; - unsigned _int64 res=__rdtsc()-((unsigned _int64)(beginTime64.QuadPart)); - LIres.QuadPart=res; - // printf("rdtsc = %I64x\n",__rdtsc()); - return LIres; -} -#else -#ifdef _M_IX86 -void myGetRDTSC32(LARGE_INTEGER * pbeginTime64) -{ - DWORD dwEdx,dwEax; - _asm - { - rdtsc - mov dwEax,eax - mov dwEdx,edx - } - pbeginTime64->LowPart=dwEax; - pbeginTime64->HighPart=dwEdx; -} - -void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) -{ - myGetRDTSC32(pbeginTime64); -} - -LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER LIres,endTime64; - myGetRDTSC32(&endTime64); - - LIres.LowPart=LIres.HighPart=0; - MyDoMinus64(&LIres,endTime64,beginTime64); - return LIres; -} -#else -void myGetRDTSC32(LARGE_INTEGER * pbeginTime64) -{ -} - -void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) -{ -} - -LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER lr; - lr.QuadPart=0; - return lr; -} -#endif -#endif - -void BeginCountPerfCounter(LARGE_INTEGER * pbeginTime64,BOOL fComputeTimeQueryPerf) -{ - if ((!fComputeTimeQueryPerf) || (!QueryPerformanceCounter(pbeginTime64))) - { - pbeginTime64->LowPart = GetTickCount(); - pbeginTime64->HighPart = 0; - } -} - -DWORD GetMsecSincePerfCounter(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER endTime64,ticksPerSecond,ticks; - DWORDLONG ticksShifted,tickSecShifted; - DWORD dwLog=16+0; - DWORD dwRet; - if ((!fComputeTimeQueryPerf) || (!QueryPerformanceCounter(&endTime64))) - dwRet = (GetTickCount() - beginTime64.LowPart)*1; - else - { - MyDoMinus64(&ticks,endTime64,beginTime64); - QueryPerformanceFrequency(&ticksPerSecond); - - - { - ticksShifted = Int64ShrlMod32(*(DWORDLONG*)&ticks,dwLog); - tickSecShifted = Int64ShrlMod32(*(DWORDLONG*)&ticksPerSecond,dwLog); - - } - - dwRet = (DWORD)((((DWORD)ticksShifted)*1000)/(DWORD)(tickSecShifted)); - dwRet *=1; - } - return dwRet; -} - -int ReadFileMemory(const char* filename,long* plFileSize,unsigned char** pFilePtr) -{ - FILE* stream; - unsigned char* ptr; - int retVal=1; - stream=fopen(filename, "rb"); - if (stream==NULL) - return 0; - - fseek(stream,0,SEEK_END); - - *plFileSize=ftell(stream); - fseek(stream,0,SEEK_SET); - ptr=malloc((*plFileSize)+1); - if (ptr==NULL) - retVal=0; - else - { - if (fread(ptr, 1, *plFileSize,stream) != (*plFileSize)) - retVal=0; - } - fclose(stream); - *pFilePtr=ptr; - return retVal; -} - -int main(int argc, char *argv[]) -{ - int BlockSizeCompress=0x8000; - int BlockSizeUncompress=0x8000; - int cprLevel=Z_DEFAULT_COMPRESSION ; - long lFileSize; - unsigned char* FilePtr; - long lBufferSizeCpr; - long lBufferSizeUncpr; - long lCompressedSize=0; - unsigned char* CprPtr; - unsigned char* UncprPtr; - long lSizeCpr,lSizeUncpr; - DWORD dwGetTick,dwMsecQP; - LARGE_INTEGER li_qp,li_rdtsc,dwResRdtsc; - - if (argc<=1) - { - printf("run TestZlib [BlockSizeCompress] [BlockSizeUncompress] [compres. level]\n"); - return 0; - } - - if (ReadFileMemory(argv[1],&lFileSize,&FilePtr)==0) - { - printf("error reading %s\n",argv[1]); - return 1; - } - else printf("file %s read, %u bytes\n",argv[1],lFileSize); - - if (argc>=3) - BlockSizeCompress=atol(argv[2]); - - if (argc>=4) - BlockSizeUncompress=atol(argv[3]); - - if (argc>=5) - cprLevel=(int)atol(argv[4]); - - lBufferSizeCpr = lFileSize + (lFileSize/0x10) + 0x200; - lBufferSizeUncpr = lBufferSizeCpr; - - CprPtr=(unsigned char*)malloc(lBufferSizeCpr + BlockSizeCompress); - - BeginCountPerfCounter(&li_qp,TRUE); - dwGetTick=GetTickCount(); - BeginCountRdtsc(&li_rdtsc); - { - z_stream zcpr; - int ret=Z_OK; - long lOrigToDo = lFileSize; - long lOrigDone = 0; - int step=0; - memset(&zcpr,0,sizeof(z_stream)); - deflateInit(&zcpr,cprLevel); - - zcpr.next_in = FilePtr; - zcpr.next_out = CprPtr; - - - do - { - long all_read_before = zcpr.total_in; - zcpr.avail_in = min(lOrigToDo,BlockSizeCompress); - zcpr.avail_out = BlockSizeCompress; - ret=deflate(&zcpr,(zcpr.avail_in==lOrigToDo) ? Z_FINISH : Z_SYNC_FLUSH); - lOrigDone += (zcpr.total_in-all_read_before); - lOrigToDo -= (zcpr.total_in-all_read_before); - step++; - } while (ret==Z_OK); - - lSizeCpr=zcpr.total_out; - deflateEnd(&zcpr); - dwGetTick=GetTickCount()-dwGetTick; - dwMsecQP=GetMsecSincePerfCounter(li_qp,TRUE); - dwResRdtsc=GetResRdtsc(li_rdtsc,TRUE); - printf("total compress size = %u, in %u step\n",lSizeCpr,step); - printf("time = %u msec = %f sec\n",dwGetTick,dwGetTick/(double)1000.); - printf("defcpr time QP = %u msec = %f sec\n",dwMsecQP,dwMsecQP/(double)1000.); - printf("defcpr result rdtsc = %I64x\n\n",dwResRdtsc.QuadPart); - } - - CprPtr=(unsigned char*)realloc(CprPtr,lSizeCpr); - UncprPtr=(unsigned char*)malloc(lBufferSizeUncpr + BlockSizeUncompress); - - BeginCountPerfCounter(&li_qp,TRUE); - dwGetTick=GetTickCount(); - BeginCountRdtsc(&li_rdtsc); - { - z_stream zcpr; - int ret=Z_OK; - long lOrigToDo = lSizeCpr; - long lOrigDone = 0; - int step=0; - memset(&zcpr,0,sizeof(z_stream)); - inflateInit(&zcpr); - - zcpr.next_in = CprPtr; - zcpr.next_out = UncprPtr; - - - do - { - long all_read_before = zcpr.total_in; - zcpr.avail_in = min(lOrigToDo,BlockSizeUncompress); - zcpr.avail_out = BlockSizeUncompress; - ret=inflate(&zcpr,Z_SYNC_FLUSH); - lOrigDone += (zcpr.total_in-all_read_before); - lOrigToDo -= (zcpr.total_in-all_read_before); - step++; - } while (ret==Z_OK); - - lSizeUncpr=zcpr.total_out; - inflateEnd(&zcpr); - dwGetTick=GetTickCount()-dwGetTick; - dwMsecQP=GetMsecSincePerfCounter(li_qp,TRUE); - dwResRdtsc=GetResRdtsc(li_rdtsc,TRUE); - printf("total uncompress size = %u, in %u step\n",lSizeUncpr,step); - printf("time = %u msec = %f sec\n",dwGetTick,dwGetTick/(double)1000.); - printf("uncpr time QP = %u msec = %f sec\n",dwMsecQP,dwMsecQP/(double)1000.); - printf("uncpr result rdtsc = %I64x\n\n",dwResRdtsc.QuadPart); - } - - if (lSizeUncpr==lFileSize) - { - if (memcmp(FilePtr,UncprPtr,lFileSize)==0) - printf("compare ok\n"); - - } - - return 0; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/testzlib/testzlib.txt b/protocols/Telegram/tgl/zlib/contrib/testzlib/testzlib.txt deleted file mode 100644 index 62258f1495..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/testzlib/testzlib.txt +++ /dev/null @@ -1,10 +0,0 @@ -To build testzLib with Visual Studio 2005: - -copy to a directory file from : -- root of zLib tree -- contrib/testzlib -- contrib/masmx86 -- contrib/masmx64 -- contrib/vstudio/vc7 - -and open testzlib8.sln \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/untgz/Makefile b/protocols/Telegram/tgl/zlib/contrib/untgz/Makefile deleted file mode 100644 index b54266fba2..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/untgz/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -CC=cc -CFLAGS=-g - -untgz: untgz.o ../../libz.a - $(CC) $(CFLAGS) -o untgz untgz.o -L../.. -lz - -untgz.o: untgz.c ../../zlib.h - $(CC) $(CFLAGS) -c -I../.. untgz.c - -../../libz.a: - cd ../..; ./configure; make - -clean: - rm -f untgz untgz.o *~ diff --git a/protocols/Telegram/tgl/zlib/contrib/untgz/Makefile.msc b/protocols/Telegram/tgl/zlib/contrib/untgz/Makefile.msc deleted file mode 100644 index 77b8602213..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/untgz/Makefile.msc +++ /dev/null @@ -1,17 +0,0 @@ -CC=cl -CFLAGS=-MD - -untgz.exe: untgz.obj ..\..\zlib.lib - $(CC) $(CFLAGS) untgz.obj ..\..\zlib.lib - -untgz.obj: untgz.c ..\..\zlib.h - $(CC) $(CFLAGS) -c -I..\.. untgz.c - -..\..\zlib.lib: - cd ..\.. - $(MAKE) -f win32\makefile.msc - cd contrib\untgz - -clean: - -del untgz.obj - -del untgz.exe diff --git a/protocols/Telegram/tgl/zlib/contrib/untgz/untgz.c b/protocols/Telegram/tgl/zlib/contrib/untgz/untgz.c deleted file mode 100644 index 2c391e5986..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/untgz/untgz.c +++ /dev/null @@ -1,674 +0,0 @@ -/* - * untgz.c -- Display contents and extract files from a gzip'd TAR file - * - * written by Pedro A. Aranda Gutierrez - * adaptation to Unix by Jean-loup Gailly - * various fixes by Cosmin Truta - */ - -#include -#include -#include -#include -#include - -#include "zlib.h" - -#ifdef unix -# include -#else -# include -# include -#endif - -#ifdef WIN32 -#include -# ifndef F_OK -# define F_OK 0 -# endif -# define mkdir(dirname,mode) _mkdir(dirname) -# ifdef _MSC_VER -# define access(path,mode) _access(path,mode) -# define chmod(path,mode) _chmod(path,mode) -# define strdup(str) _strdup(str) -# endif -#else -# include -#endif - - -/* values used in typeflag field */ - -#define REGTYPE '0' /* regular file */ -#define AREGTYPE '\0' /* regular file */ -#define LNKTYPE '1' /* link */ -#define SYMTYPE '2' /* reserved */ -#define CHRTYPE '3' /* character special */ -#define BLKTYPE '4' /* block special */ -#define DIRTYPE '5' /* directory */ -#define FIFOTYPE '6' /* FIFO special */ -#define CONTTYPE '7' /* reserved */ - -/* GNU tar extensions */ - -#define GNUTYPE_DUMPDIR 'D' /* file names from dumped directory */ -#define GNUTYPE_LONGLINK 'K' /* long link name */ -#define GNUTYPE_LONGNAME 'L' /* long file name */ -#define GNUTYPE_MULTIVOL 'M' /* continuation of file from another volume */ -#define GNUTYPE_NAMES 'N' /* file name that does not fit into main hdr */ -#define GNUTYPE_SPARSE 'S' /* sparse file */ -#define GNUTYPE_VOLHDR 'V' /* tape/volume header */ - - -/* tar header */ - -#define BLOCKSIZE 512 -#define SHORTNAMESIZE 100 - -struct tar_header -{ /* byte offset */ - char name[100]; /* 0 */ - char mode[8]; /* 100 */ - char uid[8]; /* 108 */ - char gid[8]; /* 116 */ - char size[12]; /* 124 */ - char mtime[12]; /* 136 */ - char chksum[8]; /* 148 */ - char typeflag; /* 156 */ - char linkname[100]; /* 157 */ - char magic[6]; /* 257 */ - char version[2]; /* 263 */ - char uname[32]; /* 265 */ - char gname[32]; /* 297 */ - char devmajor[8]; /* 329 */ - char devminor[8]; /* 337 */ - char prefix[155]; /* 345 */ - /* 500 */ -}; - -union tar_buffer -{ - char buffer[BLOCKSIZE]; - struct tar_header header; -}; - -struct attr_item -{ - struct attr_item *next; - char *fname; - int mode; - time_t time; -}; - -enum { TGZ_EXTRACT, TGZ_LIST, TGZ_INVALID }; - -char *TGZfname OF((const char *)); -void TGZnotfound OF((const char *)); - -int getoct OF((char *, int)); -char *strtime OF((time_t *)); -int setfiletime OF((char *, time_t)); -void push_attr OF((struct attr_item **, char *, int, time_t)); -void restore_attr OF((struct attr_item **)); - -int ExprMatch OF((char *, char *)); - -int makedir OF((char *)); -int matchname OF((int, int, char **, char *)); - -void error OF((const char *)); -int tar OF((gzFile, int, int, int, char **)); - -void help OF((int)); -int main OF((int, char **)); - -char *prog; - -const char *TGZsuffix[] = { "\0", ".tar", ".tar.gz", ".taz", ".tgz", NULL }; - -/* return the file name of the TGZ archive */ -/* or NULL if it does not exist */ - -char *TGZfname (const char *arcname) -{ - static char buffer[1024]; - int origlen,i; - - strcpy(buffer,arcname); - origlen = strlen(buffer); - - for (i=0; TGZsuffix[i]; i++) - { - strcpy(buffer+origlen,TGZsuffix[i]); - if (access(buffer,F_OK) == 0) - return buffer; - } - return NULL; -} - - -/* error message for the filename */ - -void TGZnotfound (const char *arcname) -{ - int i; - - fprintf(stderr,"%s: Couldn't find ",prog); - for (i=0;TGZsuffix[i];i++) - fprintf(stderr,(TGZsuffix[i+1]) ? "%s%s, " : "or %s%s\n", - arcname, - TGZsuffix[i]); - exit(1); -} - - -/* convert octal digits to int */ -/* on error return -1 */ - -int getoct (char *p,int width) -{ - int result = 0; - char c; - - while (width--) - { - c = *p++; - if (c == 0) - break; - if (c == ' ') - continue; - if (c < '0' || c > '7') - return -1; - result = result * 8 + (c - '0'); - } - return result; -} - - -/* convert time_t to string */ -/* use the "YYYY/MM/DD hh:mm:ss" format */ - -char *strtime (time_t *t) -{ - struct tm *local; - static char result[32]; - - local = localtime(t); - sprintf(result,"%4d/%02d/%02d %02d:%02d:%02d", - local->tm_year+1900, local->tm_mon+1, local->tm_mday, - local->tm_hour, local->tm_min, local->tm_sec); - return result; -} - - -/* set file time */ - -int setfiletime (char *fname,time_t ftime) -{ -#ifdef WIN32 - static int isWinNT = -1; - SYSTEMTIME st; - FILETIME locft, modft; - struct tm *loctm; - HANDLE hFile; - int result; - - loctm = localtime(&ftime); - if (loctm == NULL) - return -1; - - st.wYear = (WORD)loctm->tm_year + 1900; - st.wMonth = (WORD)loctm->tm_mon + 1; - st.wDayOfWeek = (WORD)loctm->tm_wday; - st.wDay = (WORD)loctm->tm_mday; - st.wHour = (WORD)loctm->tm_hour; - st.wMinute = (WORD)loctm->tm_min; - st.wSecond = (WORD)loctm->tm_sec; - st.wMilliseconds = 0; - if (!SystemTimeToFileTime(&st, &locft) || - !LocalFileTimeToFileTime(&locft, &modft)) - return -1; - - if (isWinNT < 0) - isWinNT = (GetVersion() < 0x80000000) ? 1 : 0; - hFile = CreateFile(fname, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, - (isWinNT ? FILE_FLAG_BACKUP_SEMANTICS : 0), - NULL); - if (hFile == INVALID_HANDLE_VALUE) - return -1; - result = SetFileTime(hFile, NULL, NULL, &modft) ? 0 : -1; - CloseHandle(hFile); - return result; -#else - struct utimbuf settime; - - settime.actime = settime.modtime = ftime; - return utime(fname,&settime); -#endif -} - - -/* push file attributes */ - -void push_attr(struct attr_item **list,char *fname,int mode,time_t time) -{ - struct attr_item *item; - - item = (struct attr_item *)malloc(sizeof(struct attr_item)); - if (item == NULL) - error("Out of memory"); - item->fname = strdup(fname); - item->mode = mode; - item->time = time; - item->next = *list; - *list = item; -} - - -/* restore file attributes */ - -void restore_attr(struct attr_item **list) -{ - struct attr_item *item, *prev; - - for (item = *list; item != NULL; ) - { - setfiletime(item->fname,item->time); - chmod(item->fname,item->mode); - prev = item; - item = item->next; - free(prev); - } - *list = NULL; -} - - -/* match regular expression */ - -#define ISSPECIAL(c) (((c) == '*') || ((c) == '/')) - -int ExprMatch (char *string,char *expr) -{ - while (1) - { - if (ISSPECIAL(*expr)) - { - if (*expr == '/') - { - if (*string != '\\' && *string != '/') - return 0; - string ++; expr++; - } - else if (*expr == '*') - { - if (*expr ++ == 0) - return 1; - while (*++string != *expr) - if (*string == 0) - return 0; - } - } - else - { - if (*string != *expr) - return 0; - if (*expr++ == 0) - return 1; - string++; - } - } -} - - -/* recursive mkdir */ -/* abort on ENOENT; ignore other errors like "directory already exists" */ -/* return 1 if OK */ -/* 0 on error */ - -int makedir (char *newdir) -{ - char *buffer = strdup(newdir); - char *p; - int len = strlen(buffer); - - if (len <= 0) { - free(buffer); - return 0; - } - if (buffer[len-1] == '/') { - buffer[len-1] = '\0'; - } - if (mkdir(buffer, 0755) == 0) - { - free(buffer); - return 1; - } - - p = buffer+1; - while (1) - { - char hold; - - while(*p && *p != '\\' && *p != '/') - p++; - hold = *p; - *p = 0; - if ((mkdir(buffer, 0755) == -1) && (errno == ENOENT)) - { - fprintf(stderr,"%s: Couldn't create directory %s\n",prog,buffer); - free(buffer); - return 0; - } - if (hold == 0) - break; - *p++ = hold; - } - free(buffer); - return 1; -} - - -int matchname (int arg,int argc,char **argv,char *fname) -{ - if (arg == argc) /* no arguments given (untgz tgzarchive) */ - return 1; - - while (arg < argc) - if (ExprMatch(fname,argv[arg++])) - return 1; - - return 0; /* ignore this for the moment being */ -} - - -/* tar file list or extract */ - -int tar (gzFile in,int action,int arg,int argc,char **argv) -{ - union tar_buffer buffer; - int len; - int err; - int getheader = 1; - int remaining = 0; - FILE *outfile = NULL; - char fname[BLOCKSIZE]; - int tarmode; - time_t tartime; - struct attr_item *attributes = NULL; - - if (action == TGZ_LIST) - printf(" date time size file\n" - " ---------- -------- --------- -------------------------------------\n"); - while (1) - { - len = gzread(in, &buffer, BLOCKSIZE); - if (len < 0) - error(gzerror(in, &err)); - /* - * Always expect complete blocks to process - * the tar information. - */ - if (len != BLOCKSIZE) - { - action = TGZ_INVALID; /* force error exit */ - remaining = 0; /* force I/O cleanup */ - } - - /* - * If we have to get a tar header - */ - if (getheader >= 1) - { - /* - * if we met the end of the tar - * or the end-of-tar block, - * we are done - */ - if (len == 0 || buffer.header.name[0] == 0) - break; - - tarmode = getoct(buffer.header.mode,8); - tartime = (time_t)getoct(buffer.header.mtime,12); - if (tarmode == -1 || tartime == (time_t)-1) - { - buffer.header.name[0] = 0; - action = TGZ_INVALID; - } - - if (getheader == 1) - { - strncpy(fname,buffer.header.name,SHORTNAMESIZE); - if (fname[SHORTNAMESIZE-1] != 0) - fname[SHORTNAMESIZE] = 0; - } - else - { - /* - * The file name is longer than SHORTNAMESIZE - */ - if (strncmp(fname,buffer.header.name,SHORTNAMESIZE-1) != 0) - error("bad long name"); - getheader = 1; - } - - /* - * Act according to the type flag - */ - switch (buffer.header.typeflag) - { - case DIRTYPE: - if (action == TGZ_LIST) - printf(" %s %s\n",strtime(&tartime),fname); - if (action == TGZ_EXTRACT) - { - makedir(fname); - push_attr(&attributes,fname,tarmode,tartime); - } - break; - case REGTYPE: - case AREGTYPE: - remaining = getoct(buffer.header.size,12); - if (remaining == -1) - { - action = TGZ_INVALID; - break; - } - if (action == TGZ_LIST) - printf(" %s %9d %s\n",strtime(&tartime),remaining,fname); - else if (action == TGZ_EXTRACT) - { - if (matchname(arg,argc,argv,fname)) - { - outfile = fopen(fname,"wb"); - if (outfile == NULL) { - /* try creating directory */ - char *p = strrchr(fname, '/'); - if (p != NULL) { - *p = '\0'; - makedir(fname); - *p = '/'; - outfile = fopen(fname,"wb"); - } - } - if (outfile != NULL) - printf("Extracting %s\n",fname); - else - fprintf(stderr, "%s: Couldn't create %s",prog,fname); - } - else - outfile = NULL; - } - getheader = 0; - break; - case GNUTYPE_LONGLINK: - case GNUTYPE_LONGNAME: - remaining = getoct(buffer.header.size,12); - if (remaining < 0 || remaining >= BLOCKSIZE) - { - action = TGZ_INVALID; - break; - } - len = gzread(in, fname, BLOCKSIZE); - if (len < 0) - error(gzerror(in, &err)); - if (fname[BLOCKSIZE-1] != 0 || (int)strlen(fname) > remaining) - { - action = TGZ_INVALID; - break; - } - getheader = 2; - break; - default: - if (action == TGZ_LIST) - printf(" %s <---> %s\n",strtime(&tartime),fname); - break; - } - } - else - { - unsigned int bytes = (remaining > BLOCKSIZE) ? BLOCKSIZE : remaining; - - if (outfile != NULL) - { - if (fwrite(&buffer,sizeof(char),bytes,outfile) != bytes) - { - fprintf(stderr, - "%s: Error writing %s -- skipping\n",prog,fname); - fclose(outfile); - outfile = NULL; - remove(fname); - } - } - remaining -= bytes; - } - - if (remaining == 0) - { - getheader = 1; - if (outfile != NULL) - { - fclose(outfile); - outfile = NULL; - if (action != TGZ_INVALID) - push_attr(&attributes,fname,tarmode,tartime); - } - } - - /* - * Abandon if errors are found - */ - if (action == TGZ_INVALID) - { - error("broken archive"); - break; - } - } - - /* - * Restore file modes and time stamps - */ - restore_attr(&attributes); - - if (gzclose(in) != Z_OK) - error("failed gzclose"); - - return 0; -} - - -/* ============================================================ */ - -void help(int exitval) -{ - printf("untgz version 0.2.1\n" - " using zlib version %s\n\n", - zlibVersion()); - printf("Usage: untgz file.tgz extract all files\n" - " untgz file.tgz fname ... extract selected files\n" - " untgz -l file.tgz list archive contents\n" - " untgz -h display this help\n"); - exit(exitval); -} - -void error(const char *msg) -{ - fprintf(stderr, "%s: %s\n", prog, msg); - exit(1); -} - - -/* ============================================================ */ - -#if defined(WIN32) && defined(__GNUC__) -int _CRT_glob = 0; /* disable argument globbing in MinGW */ -#endif - -int main(int argc,char **argv) -{ - int action = TGZ_EXTRACT; - int arg = 1; - char *TGZfile; - gzFile *f; - - prog = strrchr(argv[0],'\\'); - if (prog == NULL) - { - prog = strrchr(argv[0],'/'); - if (prog == NULL) - { - prog = strrchr(argv[0],':'); - if (prog == NULL) - prog = argv[0]; - else - prog++; - } - else - prog++; - } - else - prog++; - - if (argc == 1) - help(0); - - if (strcmp(argv[arg],"-l") == 0) - { - action = TGZ_LIST; - if (argc == ++arg) - help(0); - } - else if (strcmp(argv[arg],"-h") == 0) - { - help(0); - } - - if ((TGZfile = TGZfname(argv[arg])) == NULL) - TGZnotfound(argv[arg]); - - ++arg; - if ((action == TGZ_LIST) && (arg != argc)) - help(1); - -/* - * Process the TGZ file - */ - switch(action) - { - case TGZ_LIST: - case TGZ_EXTRACT: - f = gzopen(TGZfile,"rb"); - if (f == NULL) - { - fprintf(stderr,"%s: Couldn't gzopen %s\n",prog,TGZfile); - return 1; - } - exit(tar(f, action, arg, argc, argv)); - break; - - default: - error("Unknown option"); - exit(1); - } - - return 0; -} diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/readme.txt b/protocols/Telegram/tgl/zlib/contrib/vstudio/readme.txt deleted file mode 100644 index bfdcd9dd01..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/readme.txt +++ /dev/null @@ -1,65 +0,0 @@ -Building instructions for the DLL versions of Zlib 1.2.8 -======================================================== - -This directory contains projects that build zlib and minizip using -Microsoft Visual C++ 9.0/10.0. - -You don't need to build these projects yourself. You can download the -binaries from: - http://www.winimage.com/zLibDll - -More information can be found at this site. - - - - - -Build instructions for Visual Studio 2008 (32 bits or 64 bits) --------------------------------------------------------------- -- Uncompress current zlib, including all contrib/* files -- Compile assembly code (with Visual Studio Command Prompt) by running: - bld_ml64.bat (in contrib\masmx64) - bld_ml32.bat (in contrib\masmx86) -- Open contrib\vstudio\vc9\zlibvc.sln with Microsoft Visual C++ 2008 -- Or run: vcbuild /rebuild contrib\vstudio\vc9\zlibvc.sln "Release|Win32" - -Build instructions for Visual Studio 2010 (32 bits or 64 bits) --------------------------------------------------------------- -- Uncompress current zlib, including all contrib/* files -- Open contrib\vstudio\vc10\zlibvc.sln with Microsoft Visual C++ 2010 - -Build instructions for Visual Studio 2012 (32 bits or 64 bits) --------------------------------------------------------------- -- Uncompress current zlib, including all contrib/* files -- Open contrib\vstudio\vc11\zlibvc.sln with Microsoft Visual C++ 2012 - - -Important ---------- -- To use zlibwapi.dll in your application, you must define the - macro ZLIB_WINAPI when compiling your application's source files. - - -Additional notes ----------------- -- This DLL, named zlibwapi.dll, is compatible to the old zlib.dll built - by Gilles Vollant from the zlib 1.1.x sources, and distributed at - http://www.winimage.com/zLibDll - It uses the WINAPI calling convention for the exported functions, and - includes the minizip functionality. If your application needs that - particular build of zlib.dll, you can rename zlibwapi.dll to zlib.dll. - -- The new DLL was renamed because there exist several incompatible - versions of zlib.dll on the Internet. - -- There is also an official DLL build of zlib, named zlib1.dll. This one - is exporting the functions using the CDECL convention. See the file - win32\DLL_FAQ.txt found in this zlib distribution. - -- There used to be a ZLIB_DLL macro in zlib 1.1.x, but now this symbol - has a slightly different effect. To avoid compatibility problems, do - not define it here. - - -Gilles Vollant -info@winimage.com diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/miniunz.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/miniunz.vcxproj deleted file mode 100644 index 74e15c90d3..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/miniunz.vcxproj +++ /dev/null @@ -1,310 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {C52F9E7B-498A-42BE-8DB4-85A15694382A} - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\MiniUnzip$(Configuration)\ - x86\MiniUnzip$(Configuration)\Tmp\ - true - false - x86\MiniUnzip$(Configuration)\ - x86\MiniUnzip$(Configuration)\Tmp\ - false - false - x64\MiniUnzip$(Configuration)\ - x64\MiniUnzip$(Configuration)\Tmp\ - true - false - ia64\MiniUnzip$(Configuration)\ - ia64\MiniUnzip$(Configuration)\Tmp\ - true - false - x64\MiniUnzip$(Configuration)\ - x64\MiniUnzip$(Configuration)\Tmp\ - false - false - ia64\MiniUnzip$(Configuration)\ - ia64\MiniUnzip$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - $(IntDir) - Level3 - EditAndContinue - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters deleted file mode 100644 index 0b2a3de2df..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {048af943-022b-4db6-beeb-a54c34774ee2} - cpp;c;cxx;def;odl;idl;hpj;bat;asm - - - {c1d600d2-888f-4aea-b73e-8b0dd9befa0c} - h;hpp;hxx;hm;inl;inc - - - {0844199a-966b-4f19-81db-1e0125e141b9} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/minizip.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/minizip.vcxproj deleted file mode 100644 index 917e15652b..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/minizip.vcxproj +++ /dev/null @@ -1,307 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B} - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\MiniZip$(Configuration)\ - x86\MiniZip$(Configuration)\Tmp\ - true - false - x86\MiniZip$(Configuration)\ - x86\MiniZip$(Configuration)\Tmp\ - false - x64\$(Configuration)\ - x64\$(Configuration)\ - true - false - ia64\$(Configuration)\ - ia64\$(Configuration)\ - true - false - x64\$(Configuration)\ - x64\$(Configuration)\ - false - ia64\$(Configuration)\ - ia64\$(Configuration)\ - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - $(IntDir) - Level3 - EditAndContinue - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters deleted file mode 100644 index dd73cd3132..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {c0419b40-bf50-40da-b153-ff74215b79de} - cpp;c;cxx;def;odl;idl;hpj;bat;asm - - - {bb87b070-735b-478e-92ce-7383abb2f36c} - h;hpp;hxx;hm;inl;inc - - - {f46ab6a6-548f-43cb-ae96-681abb5bd5db} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlib.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlib.vcxproj deleted file mode 100644 index 9088d176f8..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlib.vcxproj +++ /dev/null @@ -1,420 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B} - testzlib - Win32Proj - - - - Application - MultiByte - true - - - Application - MultiByte - true - - - Application - MultiByte - - - Application - MultiByte - true - - - Application - MultiByte - true - - - Application - MultiByte - - - Application - true - - - Application - true - - - Application - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - true - false - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - false - false - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - false - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - true - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - false - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - AssemblyAndSourceCode - $(IntDir) - Level3 - EditAndContinue - - - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDebugDLL - false - $(IntDir) - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - - - - - Itanium - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - AssemblyAndSourceCode - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - MachineIA64 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDLL - false - $(IntDir) - - - %(AdditionalDependencies) - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDLL - false - $(IntDir) - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - - - - - - true - true - true - true - true - true - - - - - - - - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters deleted file mode 100644 index 249daa89ca..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters +++ /dev/null @@ -1,58 +0,0 @@ - - - - - {c1f6a2e3-5da5-4955-8653-310d3efe05a9} - cpp;c;cxx;def;odl;idl;hpj;bat;asm - - - {c2aaffdc-2c95-4d6f-8466-4bec5890af2c} - h;hpp;hxx;hm;inl;inc - - - {c274fe07-05f2-461c-964b-f6341e4e7eb5} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj deleted file mode 100644 index bcb08ff95d..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj +++ /dev/null @@ -1,310 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {C52F9E7B-498A-42BE-8DB4-85A15694366A} - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\TestZlibDll$(Configuration)\ - x86\TestZlibDll$(Configuration)\Tmp\ - true - false - x86\TestZlibDll$(Configuration)\ - x86\TestZlibDll$(Configuration)\Tmp\ - false - false - x64\TestZlibDll$(Configuration)\ - x64\TestZlibDll$(Configuration)\Tmp\ - true - false - ia64\TestZlibDll$(Configuration)\ - ia64\TestZlibDll$(Configuration)\Tmp\ - true - false - x64\TestZlibDll$(Configuration)\ - x64\TestZlibDll$(Configuration)\Tmp\ - false - false - ia64\TestZlibDll$(Configuration)\ - ia64\TestZlibDll$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - $(IntDir) - Level3 - EditAndContinue - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters deleted file mode 100644 index 53a8693bb0..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {fa61a89f-93fc-4c89-b29e-36224b7592f4} - cpp;c;cxx;def;odl;idl;hpj;bat;asm - - - {d4b85da0-2ba2-4934-b57f-e2584e3848ee} - h;hpp;hxx;hm;inl;inc - - - {e573e075-00bd-4a7d-bd67-a8cc9bfc5aca} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlib.rc b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlib.rc deleted file mode 100644 index 73f6476d60..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlib.rc +++ /dev/null @@ -1,32 +0,0 @@ -#include - -#define IDR_VERSION1 1 -IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE - FILEVERSION 1,2,8,0 - PRODUCTVERSION 1,2,8,0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 - FILEOS VOS_DOS_WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0 // not used -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - //language ID = U.S. English, char set = Windows, Multilingual - - BEGIN - VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" - VALUE "FileVersion", "1.2.8\0" - VALUE "InternalName", "zlib\0" - VALUE "OriginalFilename", "zlibwapi.dll\0" - VALUE "ProductName", "ZLib.DLL\0" - VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" - VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibstat.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibstat.vcxproj deleted file mode 100644 index b9f2bbe5f0..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibstat.vcxproj +++ /dev/null @@ -1,473 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} - - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - - - MultiThreadedDebug - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - cd ..\..\masmx86 -bld_ml32.bat - - - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)zlibstat.lib - true - - - cd ..\..\masmx86 -bld_ml32.bat - - - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - cd ..\..\masmx64 -bld_ml64.bat - - - - - Itanium - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - $(OutDir)zlibstat.lib - true - - - cd ..\..\masmx64 -bld_ml64.bat - - - - - Itanium - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - - - - - - - - - - true - true - true - true - true - true - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters deleted file mode 100644 index c8c7f7ea39..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters +++ /dev/null @@ -1,77 +0,0 @@ - - - - - {174213f6-7f66-4ae8-a3a8-a1e0a1e6ffdd} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Source Files - - - - - Source Files - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.def b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.def deleted file mode 100644 index 6367046722..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.def +++ /dev/null @@ -1,143 +0,0 @@ -LIBRARY -; zlib data compression and ZIP file I/O library - -VERSION 1.2.8 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - inflateCopy @42 - inflateBackInit_ @43 - inflateBack @44 - inflateBackEnd @45 - compressBound @46 - deflateBound @47 - gzclearerr @48 - gzungetc @49 - zlibCompileFlags @50 - deflatePrime @51 - deflatePending @52 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unzOpenCurrentFile3 @69 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - unzOpen2 @77 - unzOpenCurrentFile2 @78 - unzOpenCurrentFilePassword @79 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 - zipOpenNewFileInZip2 @86 - zipCloseFileInZipRaw @87 - zipOpen2 @88 - zipOpenNewFileInZip3 @89 - - unzGetFilePos @100 - unzGoToFilePos @101 - - fill_win32_filefunc @110 - -; zlibwapi v1.2.4 added: - fill_win32_filefunc64 @111 - fill_win32_filefunc64A @112 - fill_win32_filefunc64W @113 - - unzOpen64 @120 - unzOpen2_64 @121 - unzGetGlobalInfo64 @122 - unzGetCurrentFileInfo64 @124 - unzGetCurrentFileZStreamPos64 @125 - unztell64 @126 - unzGetFilePos64 @127 - unzGoToFilePos64 @128 - - zipOpen64 @130 - zipOpen2_64 @131 - zipOpenNewFileInZip64 @132 - zipOpenNewFileInZip2_64 @133 - zipOpenNewFileInZip3_64 @134 - zipOpenNewFileInZip4_64 @135 - zipCloseFileInZipRaw64 @136 - -; zlib1 v1.2.4 added: - adler32_combine @140 - crc32_combine @142 - deflateSetHeader @144 - deflateTune @145 - gzbuffer @146 - gzclose_r @147 - gzclose_w @148 - gzdirect @149 - gzoffset @150 - inflateGetHeader @156 - inflateMark @157 - inflatePrime @158 - inflateReset2 @159 - inflateUndermine @160 - -; zlib1 v1.2.6 added: - gzgetc_ @161 - inflateResetKeep @163 - deflateResetKeep @164 - -; zlib1 v1.2.7 added: - gzopen_w @165 - -; zlib1 v1.2.8 added: - inflateGetDictionary @166 - gzvprintf @167 diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.sln b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.sln deleted file mode 100644 index 6f6ffd5eea..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.sln +++ /dev/null @@ -1,135 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Itanium = Debug|Itanium - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Itanium = Release|Itanium - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium - ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 - ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.Build.0 = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.Build.0 = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.Build.0 = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.vcxproj deleted file mode 100644 index 6ff9ddb077..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.vcxproj +++ /dev/null @@ -1,657 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {8FD826F8-3739-44E6-8CC8-997122E53B8D} - - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - true - false - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - false - false - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - false - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - true - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - true - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - false - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - false - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - false - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - zlibwapid - zlibwapi - zlibwapi - zlibwapid - zlibwapi - zlibwapi - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions) - - - MultiThreadedDebug - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - EditAndContinue - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - true - .\zlibvc.def - true - true - Windows - false - - - - - cd ..\..\masmx86 -bld_ml32.bat - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - true - false - .\zlibvc.def - true - Windows - false - - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - true - false - .\zlibvc.def - true - Windows - false - - - - - cd ..\..\masmx86 -bld_ml32.bat - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - true - .\zlibvc.def - true - true - Windows - MachineX64 - - - cd ..\..\masmx64 -bld_ml64.bat - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - true - false - .\zlibvc.def - true - Windows - MachineX64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - true - false - .\zlibvc.def - true - Windows - MachineX64 - - - cd ..\..\masmx64 -bld_ml64.bat - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - - - - - - - - - - true - true - true - true - true - true - - - - - - - - - - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters deleted file mode 100644 index 180b71cd61..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters +++ /dev/null @@ -1,118 +0,0 @@ - - - - - {07934a85-8b61-443d-a0ee-b2eedb74f3cd} - cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90 - - - {1d99675b-433d-4a21-9e50-ed4ab8b19762} - h;hpp;hxx;hm;inl;fi;fd - - - {431c0958-fa71-44d0-9084-2d19d100c0cc} - ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Source Files - - - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/miniunz.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/miniunz.vcxproj deleted file mode 100644 index 8c31d9d61c..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/miniunz.vcxproj +++ /dev/null @@ -1,314 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {C52F9E7B-498A-42BE-8DB4-85A15694382A} - Win32Proj - - - - Application - MultiByte - v140 - - - Application - Unicode - v140 - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - v140 - - - Application - MultiByte - v140 - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\MiniUnzip$(Configuration)\ - x86\MiniUnzip$(Configuration)\Tmp\ - true - false - x86\MiniUnzip$(Configuration)\ - x86\MiniUnzip$(Configuration)\Tmp\ - false - false - x64\MiniUnzip$(Configuration)\ - x64\MiniUnzip$(Configuration)\Tmp\ - true - false - ia64\MiniUnzip$(Configuration)\ - ia64\MiniUnzip$(Configuration)\Tmp\ - true - false - x64\MiniUnzip$(Configuration)\ - x64\MiniUnzip$(Configuration)\Tmp\ - false - false - ia64\MiniUnzip$(Configuration)\ - ia64\MiniUnzip$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/minizip.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/minizip.vcxproj deleted file mode 100644 index 143d300f9e..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/minizip.vcxproj +++ /dev/null @@ -1,311 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B} - Win32Proj - - - - Application - MultiByte - v140 - - - Application - Unicode - v140 - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - v140 - - - Application - MultiByte - v140 - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\MiniZip$(Configuration)\ - x86\MiniZip$(Configuration)\Tmp\ - true - false - x86\MiniZip$(Configuration)\ - x86\MiniZip$(Configuration)\Tmp\ - false - x64\$(Configuration)\ - x64\$(Configuration)\ - true - false - ia64\$(Configuration)\ - ia64\$(Configuration)\ - true - false - x64\$(Configuration)\ - x64\$(Configuration)\ - false - ia64\$(Configuration)\ - ia64\$(Configuration)\ - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/testzlib.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/testzlib.vcxproj deleted file mode 100644 index 874a5f2444..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/testzlib.vcxproj +++ /dev/null @@ -1,426 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B} - testzlib - Win32Proj - - - - Application - MultiByte - true - v140 - - - Application - MultiByte - true - v140 - - - Application - Unicode - v140 - - - Application - MultiByte - true - - - Application - MultiByte - true - - - Application - MultiByte - - - Application - true - v140 - - - Application - true - v140 - - - Application - v140 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - true - false - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - false - false - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - false - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - true - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - false - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - AssemblyAndSourceCode - $(IntDir) - Level3 - ProgramDatabase - - - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDebugDLL - false - $(IntDir) - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - - - - - Itanium - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - AssemblyAndSourceCode - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - MachineIA64 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDLL - false - $(IntDir) - - - %(AdditionalDependencies) - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDLL - false - $(IntDir) - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - - - - - - true - true - true - true - true - true - - - - - - - - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj deleted file mode 100644 index f6866af8f2..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj +++ /dev/null @@ -1,314 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {C52F9E7B-498A-42BE-8DB4-85A15694366A} - Win32Proj - - - - Application - MultiByte - v140 - - - Application - Unicode - v140 - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - v140 - - - Application - MultiByte - v140 - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\TestZlibDll$(Configuration)\ - x86\TestZlibDll$(Configuration)\Tmp\ - true - false - x86\TestZlibDll$(Configuration)\ - x86\TestZlibDll$(Configuration)\Tmp\ - false - false - x64\TestZlibDll$(Configuration)\ - x64\TestZlibDll$(Configuration)\Tmp\ - true - false - ia64\TestZlibDll$(Configuration)\ - ia64\TestZlibDll$(Configuration)\Tmp\ - true - false - x64\TestZlibDll$(Configuration)\ - x64\TestZlibDll$(Configuration)\Tmp\ - false - false - ia64\TestZlibDll$(Configuration)\ - ia64\TestZlibDll$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/adler32.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/adler32.cod deleted file mode 100644 index 0433d789dc..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/adler32.cod +++ /dev/null @@ -1,610 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\adler32.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _adler32_combine@12 -PUBLIC _adler32@12 -EXTRN __alldiv:PROC -EXTRN __chkstk:PROC -EXTRN _memcpy:PROC -EXTRN _memset:PROC -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\adler32.c -; COMDAT _adler32@12 -_TEXT SEGMENT -_adler$ = 8 ; size = 4 -tv1591 = 12 ; size = 4 -_buf$ = 12 ; size = 4 -_len$ = 16 ; size = 4 -_adler32@12 PROC ; COMDAT - -; 69 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 70 : unsigned long sum2; -; 71 : unsigned n; -; 72 : -; 73 : /* split Adler-32 into component sums */ -; 74 : sum2 = (adler >> 16) & 0xffff; - - 00003 8b 45 08 mov eax, DWORD PTR _adler$[ebp] - 00006 53 push ebx - -; 75 : adler &= 0xffff; -; 76 : -; 77 : /* in case user likes doing a byte at a time, keep it fast */ -; 78 : if (len == 1) { - - 00007 8b 5d 10 mov ebx, DWORD PTR _len$[ebp] - 0000a 56 push esi - 0000b 8b f0 mov esi, eax - 0000d 0f b7 c8 movzx ecx, ax - 00010 c1 ee 10 shr esi, 16 ; 00000010H - 00013 83 fb 01 cmp ebx, 1 - 00016 75 33 jne SHORT $LN13@adler32 - -; 79 : adler += buf[0]; - - 00018 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 0001b 0f b6 00 movzx eax, BYTE PTR [eax] - 0001e 03 c8 add ecx, eax - -; 80 : if (adler >= BASE) - - 00020 81 f9 f1 ff 00 - 00 cmp ecx, 65521 ; 0000fff1H - 00026 72 06 jb SHORT $LN14@adler32 - -; 81 : adler -= BASE; - - 00028 81 e9 f1 ff 00 - 00 sub ecx, 65521 ; 0000fff1H -$LN14@adler32: - -; 82 : sum2 += adler; - - 0002e 03 f1 add esi, ecx - -; 83 : if (sum2 >= BASE) - - 00030 81 fe f1 ff 00 - 00 cmp esi, 65521 ; 0000fff1H - 00036 72 06 jb SHORT $LN15@adler32 - -; 84 : sum2 -= BASE; - - 00038 81 ee f1 ff 00 - 00 sub esi, 65521 ; 0000fff1H -$LN15@adler32: - -; 85 : return adler | (sum2 << 16); - - 0003e c1 e6 10 shl esi, 16 ; 00000010H - 00041 0b f1 or esi, ecx - 00043 8b c6 mov eax, esi - 00045 5e pop esi - 00046 5b pop ebx - -; 133 : } - - 00047 5d pop ebp - 00048 c2 0c 00 ret 12 ; 0000000cH -$LN13@adler32: - 0004b 57 push edi - -; 86 : } -; 87 : -; 88 : /* initial Adler-32 value (deferred check for len == 1 speed) */ -; 89 : if (buf == Z_NULL) - - 0004c 8b 7d 0c mov edi, DWORD PTR _buf$[ebp] - 0004f 85 ff test edi, edi - 00051 75 0a jne SHORT $LN16@adler32 - -; 90 : return 1L; - - 00053 8d 47 01 lea eax, DWORD PTR [edi+1] - 00056 5f pop edi - 00057 5e pop esi - 00058 5b pop ebx - -; 133 : } - - 00059 5d pop ebp - 0005a c2 0c 00 ret 12 ; 0000000cH -$LN16@adler32: - -; 91 : -; 92 : /* in case short lengths are provided, keep it somewhat fast */ -; 93 : if (len < 16) { - - 0005d 83 fb 10 cmp ebx, 16 ; 00000010H - 00060 73 40 jae SHORT $LN22@adler32 - -; 94 : while (len--) { - - 00062 85 db test ebx, ebx - 00064 74 0f je SHORT $LN26@adler32 -$LL2@adler32: - -; 95 : adler += *buf++; - - 00066 0f b6 07 movzx eax, BYTE PTR [edi] - 00069 8d 7f 01 lea edi, DWORD PTR [edi+1] - 0006c 03 c8 add ecx, eax - -; 96 : sum2 += adler; - - 0006e 03 f1 add esi, ecx - 00070 83 eb 01 sub ebx, 1 - 00073 75 f1 jne SHORT $LL2@adler32 -$LN26@adler32: - -; 97 : } -; 98 : if (adler >= BASE) - - 00075 81 f9 f1 ff 00 - 00 cmp ecx, 65521 ; 0000fff1H - 0007b 72 06 jb SHORT $LN18@adler32 - -; 99 : adler -= BASE; - - 0007d 81 e9 f1 ff 00 - 00 sub ecx, 65521 ; 0000fff1H -$LN18@adler32: - -; 100 : MOD28(sum2); /* only added so many BASE's */ - - 00083 b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 00088 f7 e6 mul esi - 0008a 5f pop edi - 0008b c1 ea 0f shr edx, 15 ; 0000000fH - -; 101 : return adler | (sum2 << 16); - - 0008e 8b c2 mov eax, edx - 00090 c1 e0 04 shl eax, 4 - 00093 2b c2 sub eax, edx - 00095 03 c6 add eax, esi - 00097 c1 e0 10 shl eax, 16 ; 00000010H - 0009a 5e pop esi - 0009b 0b c1 or eax, ecx - 0009d 5b pop ebx - -; 133 : } - - 0009e 5d pop ebp - 0009f c2 0c 00 ret 12 ; 0000000cH -$LN22@adler32: - -; 102 : } -; 103 : -; 104 : /* do length NMAX blocks -- requires just one modulo operation */ -; 105 : while (len >= NMAX) { - - 000a2 81 fb b0 15 00 - 00 cmp ebx, 5552 ; 000015b0H - 000a8 0f 82 db 00 00 - 00 jb $LN5@adler32 - 000ae b8 af a9 6e 5e mov eax, 1584310703 ; 5e6ea9afH - 000b3 f7 e3 mul ebx - 000b5 c1 ea 0b shr edx, 11 ; 0000000bH - 000b8 89 55 0c mov DWORD PTR tv1591[ebp], edx - 000bb 0f 1f 44 00 00 npad 5 -$LL4@adler32: - -; 106 : len -= NMAX; - - 000c0 81 eb b0 15 00 - 00 sub ebx, 5552 ; 000015b0H - -; 107 : n = NMAX / 16; /* NMAX is divisible by 16 */ - - 000c6 ba 5b 01 00 00 mov edx, 347 ; 0000015bH - 000cb 0f 1f 44 00 00 npad 5 -$LL8@adler32: - -; 108 : do { -; 109 : DO16(buf); /* 16 sums unrolled */ - - 000d0 0f b6 07 movzx eax, BYTE PTR [edi] - 000d3 03 c8 add ecx, eax - 000d5 0f b6 47 01 movzx eax, BYTE PTR [edi+1] - 000d9 03 f1 add esi, ecx - 000db 03 c8 add ecx, eax - 000dd 0f b6 47 02 movzx eax, BYTE PTR [edi+2] - 000e1 03 f1 add esi, ecx - 000e3 03 c8 add ecx, eax - 000e5 0f b6 47 03 movzx eax, BYTE PTR [edi+3] - 000e9 03 f1 add esi, ecx - 000eb 03 c8 add ecx, eax - 000ed 0f b6 47 04 movzx eax, BYTE PTR [edi+4] - 000f1 03 f1 add esi, ecx - 000f3 03 c8 add ecx, eax - 000f5 0f b6 47 05 movzx eax, BYTE PTR [edi+5] - 000f9 03 f1 add esi, ecx - 000fb 03 c8 add ecx, eax - 000fd 0f b6 47 06 movzx eax, BYTE PTR [edi+6] - 00101 03 f1 add esi, ecx - 00103 03 c8 add ecx, eax - 00105 0f b6 47 07 movzx eax, BYTE PTR [edi+7] - 00109 03 f1 add esi, ecx - 0010b 03 c8 add ecx, eax - 0010d 0f b6 47 08 movzx eax, BYTE PTR [edi+8] - 00111 03 f1 add esi, ecx - 00113 03 c8 add ecx, eax - 00115 0f b6 47 09 movzx eax, BYTE PTR [edi+9] - 00119 03 f1 add esi, ecx - 0011b 03 c8 add ecx, eax - 0011d 0f b6 47 0a movzx eax, BYTE PTR [edi+10] - 00121 03 f1 add esi, ecx - 00123 03 c8 add ecx, eax - 00125 0f b6 47 0b movzx eax, BYTE PTR [edi+11] - 00129 03 f1 add esi, ecx - 0012b 03 c8 add ecx, eax - 0012d 0f b6 47 0c movzx eax, BYTE PTR [edi+12] - 00131 03 f1 add esi, ecx - 00133 03 c8 add ecx, eax - 00135 0f b6 47 0d movzx eax, BYTE PTR [edi+13] - 00139 03 f1 add esi, ecx - 0013b 03 c8 add ecx, eax - 0013d 0f b6 47 0e movzx eax, BYTE PTR [edi+14] - 00141 03 f1 add esi, ecx - 00143 03 c8 add ecx, eax - 00145 0f b6 47 0f movzx eax, BYTE PTR [edi+15] - 00149 03 f1 add esi, ecx - -; 110 : buf += 16; - - 0014b 83 c7 10 add edi, 16 ; 00000010H - 0014e 03 c8 add ecx, eax - 00150 03 f1 add esi, ecx - -; 111 : } while (--n); - - 00152 83 ea 01 sub edx, 1 - 00155 0f 85 75 ff ff - ff jne $LL8@adler32 - -; 112 : MOD(adler); - - 0015b b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 00160 f7 e1 mul ecx - 00162 c1 ea 0f shr edx, 15 ; 0000000fH - 00165 69 c2 0f 00 ff - ff imul eax, edx, -65521 - 0016b 03 c8 add ecx, eax - -; 113 : MOD(sum2); - - 0016d b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 00172 f7 e6 mul esi - 00174 c1 ea 0f shr edx, 15 ; 0000000fH - 00177 69 c2 0f 00 ff - ff imul eax, edx, -65521 - 0017d 03 f0 add esi, eax - 0017f 83 6d 0c 01 sub DWORD PTR tv1591[ebp], 1 - 00183 0f 85 37 ff ff - ff jne $LL4@adler32 -$LN5@adler32: - -; 114 : } -; 115 : -; 116 : /* do remaining bytes (less than NMAX, still just one modulo) */ -; 117 : if (len) { /* avoid modulos if none remaining */ - - 00189 85 db test ebx, ebx - 0018b 0f 84 d4 00 00 - 00 je $LN19@adler32 - -; 118 : while (len >= 16) { - - 00191 83 fb 10 cmp ebx, 16 ; 00000010H - 00194 0f 82 94 00 00 - 00 jb $LN25@adler32 - 0019a 8b d3 mov edx, ebx - 0019c c1 ea 04 shr edx, 4 - 0019f 90 npad 1 -$LL9@adler32: - -; 119 : len -= 16; -; 120 : DO16(buf); - - 001a0 0f b6 07 movzx eax, BYTE PTR [edi] - 001a3 83 eb 10 sub ebx, 16 ; 00000010H - 001a6 03 c8 add ecx, eax - 001a8 0f b6 47 01 movzx eax, BYTE PTR [edi+1] - 001ac 03 f1 add esi, ecx - 001ae 03 c8 add ecx, eax - 001b0 0f b6 47 02 movzx eax, BYTE PTR [edi+2] - 001b4 03 f1 add esi, ecx - 001b6 03 c8 add ecx, eax - 001b8 0f b6 47 03 movzx eax, BYTE PTR [edi+3] - 001bc 03 f1 add esi, ecx - 001be 03 c8 add ecx, eax - 001c0 0f b6 47 04 movzx eax, BYTE PTR [edi+4] - 001c4 03 f1 add esi, ecx - 001c6 03 c8 add ecx, eax - 001c8 0f b6 47 05 movzx eax, BYTE PTR [edi+5] - 001cc 03 f1 add esi, ecx - 001ce 03 c8 add ecx, eax - 001d0 0f b6 47 06 movzx eax, BYTE PTR [edi+6] - 001d4 03 f1 add esi, ecx - 001d6 03 c8 add ecx, eax - 001d8 0f b6 47 07 movzx eax, BYTE PTR [edi+7] - 001dc 03 f1 add esi, ecx - 001de 03 c8 add ecx, eax - 001e0 0f b6 47 08 movzx eax, BYTE PTR [edi+8] - 001e4 03 f1 add esi, ecx - 001e6 03 c8 add ecx, eax - 001e8 0f b6 47 09 movzx eax, BYTE PTR [edi+9] - 001ec 03 f1 add esi, ecx - 001ee 03 c8 add ecx, eax - 001f0 0f b6 47 0a movzx eax, BYTE PTR [edi+10] - 001f4 03 f1 add esi, ecx - 001f6 03 c8 add ecx, eax - 001f8 0f b6 47 0b movzx eax, BYTE PTR [edi+11] - 001fc 03 f1 add esi, ecx - 001fe 03 c8 add ecx, eax - 00200 0f b6 47 0c movzx eax, BYTE PTR [edi+12] - 00204 03 f1 add esi, ecx - 00206 03 c8 add ecx, eax - 00208 0f b6 47 0d movzx eax, BYTE PTR [edi+13] - 0020c 03 f1 add esi, ecx - 0020e 03 c8 add ecx, eax - 00210 0f b6 47 0e movzx eax, BYTE PTR [edi+14] - 00214 03 f1 add esi, ecx - 00216 03 c8 add ecx, eax - 00218 0f b6 47 0f movzx eax, BYTE PTR [edi+15] - 0021c 03 f1 add esi, ecx - -; 121 : buf += 16; - - 0021e 83 c7 10 add edi, 16 ; 00000010H - 00221 03 c8 add ecx, eax - 00223 03 f1 add esi, ecx - 00225 83 ea 01 sub edx, 1 - 00228 0f 85 72 ff ff - ff jne $LL9@adler32 -$LN25@adler32: - -; 122 : } -; 123 : while (len--) { - - 0022e 85 db test ebx, ebx - 00230 74 0f je SHORT $LN30@adler32 -$LL11@adler32: - -; 124 : adler += *buf++; - - 00232 0f b6 07 movzx eax, BYTE PTR [edi] - 00235 8d 7f 01 lea edi, DWORD PTR [edi+1] - 00238 03 c8 add ecx, eax - -; 125 : sum2 += adler; - - 0023a 03 f1 add esi, ecx - 0023c 83 eb 01 sub ebx, 1 - 0023f 75 f1 jne SHORT $LL11@adler32 -$LN30@adler32: - -; 126 : } -; 127 : MOD(adler); - - 00241 b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 00246 f7 e1 mul ecx - -; 128 : MOD(sum2); - - 00248 b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 0024d c1 ea 0f shr edx, 15 ; 0000000fH - 00250 69 d2 0f 00 ff - ff imul edx, edx, -65521 - 00256 03 ca add ecx, edx - 00258 f7 e6 mul esi - 0025a c1 ea 0f shr edx, 15 ; 0000000fH - 0025d 69 c2 0f 00 ff - ff imul eax, edx, -65521 - 00263 03 f0 add esi, eax -$LN19@adler32: - -; 129 : } -; 130 : -; 131 : /* return recombined sums */ -; 132 : return adler | (sum2 << 16); - - 00265 c1 e6 10 shl esi, 16 ; 00000010H - 00268 0b f1 or esi, ecx - 0026a 5f pop edi - 0026b 8b c6 mov eax, esi - 0026d 5e pop esi - 0026e 5b pop ebx - -; 133 : } - - 0026f 5d pop ebp - 00270 c2 0c 00 ret 12 ; 0000000cH -_adler32@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\adler32.c -; COMDAT _adler32_combine_ -_TEXT SEGMENT -_adler2$1$ = -4 ; size = 4 -_len2$ = 8 ; size = 8 -_adler32_combine_ PROC ; COMDAT -; _adler1$ = ecx -; _adler2$ = edx - -; 140 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - -; 141 : unsigned long sum1; -; 142 : unsigned long sum2; -; 143 : unsigned rem; -; 144 : -; 145 : /* for negative len, return invalid adler32 as a clue for debugging */ -; 146 : if (len2 < 0) - - 00004 8b 45 0c mov eax, DWORD PTR _len2$[ebp+4] - 00007 89 55 fc mov DWORD PTR _adler2$1$[ebp], edx - 0000a 53 push ebx - 0000b 8b d9 mov ebx, ecx - 0000d 57 push edi - 0000e 8b 7d 08 mov edi, DWORD PTR _len2$[ebp] - 00011 85 c0 test eax, eax - 00013 7f 0f jg SHORT $LN2@adler32_co - 00015 7c 04 jl SHORT $LN8@adler32_co - 00017 85 ff test edi, edi - 00019 73 09 jae SHORT $LN2@adler32_co -$LN8@adler32_co: - 0001b 5f pop edi - -; 147 : return 0xffffffffUL; - - 0001c 83 c8 ff or eax, -1 - 0001f 5b pop ebx - -; 162 : } - - 00020 8b e5 mov esp, ebp - 00022 5d pop ebp - 00023 c3 ret 0 -$LN2@adler32_co: - 00024 56 push esi - -; 148 : -; 149 : /* the derivation of this formula is left as an exercise for the reader */ -; 150 : MOD63(len2); /* assumes len2 >= 0 */ - - 00025 6a 00 push 0 - 00027 68 f1 ff 00 00 push 65521 ; 0000fff1H - 0002c 50 push eax - 0002d 57 push edi - 0002e e8 00 00 00 00 call __alldiv - 00033 69 c0 f1 ff 00 - 00 imul eax, eax, 65521 - -; 151 : rem = (unsigned)len2; -; 152 : sum1 = adler1 & 0xffff; - - 00039 0f b7 cb movzx ecx, bx - -; 153 : sum2 = rem * sum1; - - 0003c 8b f1 mov esi, ecx - -; 154 : MOD(sum2); -; 155 : sum1 += (adler2 & 0xffff) + BASE - 1; -; 156 : sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem; - - 0003e c1 eb 10 shr ebx, 16 ; 00000010H - 00041 2b f8 sub edi, eax - 00043 8b 45 fc mov eax, DWORD PTR _adler2$1$[ebp] - 00046 0f b7 c0 movzx eax, ax - 00049 05 f0 ff 00 00 add eax, 65520 ; 0000fff0H - 0004e 0f af f7 imul esi, edi - 00051 03 c8 add ecx, eax - 00053 b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 00058 f7 e6 mul esi - 0005a 81 c6 f1 ff 00 - 00 add esi, 65521 ; 0000fff1H - 00060 c1 ea 0f shr edx, 15 ; 0000000fH - 00063 69 c2 f1 ff 00 - 00 imul eax, edx, 65521 - 00069 2b d8 sub ebx, eax - 0006b 8b 45 fc mov eax, DWORD PTR _adler2$1$[ebp] - 0006e c1 e8 10 shr eax, 16 ; 00000010H - 00071 03 c3 add eax, ebx - 00073 2b c7 sub eax, edi - 00075 03 c6 add eax, esi - 00077 5e pop esi - -; 157 : if (sum1 >= BASE) sum1 -= BASE; - - 00078 81 f9 f1 ff 00 - 00 cmp ecx, 65521 ; 0000fff1H - 0007e 72 14 jb SHORT $LN4@adler32_co - 00080 81 e9 f1 ff 00 - 00 sub ecx, 65521 ; 0000fff1H - -; 158 : if (sum1 >= BASE) sum1 -= BASE; - - 00086 81 f9 f1 ff 00 - 00 cmp ecx, 65521 ; 0000fff1H - 0008c 72 06 jb SHORT $LN4@adler32_co - 0008e 81 e9 f1 ff 00 - 00 sub ecx, 65521 ; 0000fff1H -$LN4@adler32_co: - -; 159 : if (sum2 >= (BASE << 1)) sum2 -= (BASE << 1); - - 00094 3d e2 ff 01 00 cmp eax, 131042 ; 0001ffe2H - 00099 72 05 jb SHORT $LN5@adler32_co - 0009b 2d e2 ff 01 00 sub eax, 131042 ; 0001ffe2H -$LN5@adler32_co: - -; 160 : if (sum2 >= BASE) sum2 -= BASE; - - 000a0 3d f1 ff 00 00 cmp eax, 65521 ; 0000fff1H - 000a5 72 05 jb SHORT $LN6@adler32_co - 000a7 2d f1 ff 00 00 sub eax, 65521 ; 0000fff1H -$LN6@adler32_co: - -; 161 : return sum1 | (sum2 << 16); - - 000ac c1 e0 10 shl eax, 16 ; 00000010H - 000af 5f pop edi - 000b0 0b c1 or eax, ecx - 000b2 5b pop ebx - -; 162 : } - - 000b3 8b e5 mov esp, ebp - 000b5 5d pop ebp - 000b6 c3 ret 0 -_adler32_combine_ ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\adler32.c -; COMDAT _adler32_combine@12 -_TEXT SEGMENT -_adler1$ = 8 ; size = 4 -_adler2$ = 12 ; size = 4 -_len2$ = 16 ; size = 4 -_adler32_combine@12 PROC ; COMDAT - -; 169 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 170 : return adler32_combine_(adler1, adler2, len2); - - 00003 8b 45 10 mov eax, DWORD PTR _len2$[ebp] - 00006 8b 4d 08 mov ecx, DWORD PTR _adler1$[ebp] - 00009 99 cdq - 0000a 52 push edx - 0000b 8b 55 0c mov edx, DWORD PTR _adler2$[ebp] - 0000e 50 push eax - 0000f e8 00 00 00 00 call _adler32_combine_ - 00014 83 c4 08 add esp, 8 - -; 171 : } - - 00017 5d pop ebp - 00018 c2 0c 00 ret 12 ; 0000000cH -_adler32_combine@12 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/adler32.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/adler32.obj deleted file mode 100644 index 8b7e7eda4b..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/adler32.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/compress.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/compress.cod deleted file mode 100644 index 0a573cab58..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/compress.cod +++ /dev/null @@ -1,214 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\compress.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_05IAIEPMAK@1?42?48?$AA@ ; `string' -CONST ENDS -; COMDAT ??_C@_05IAIEPMAK@1?42?48?$AA@ -CONST SEGMENT -??_C@_05IAIEPMAK@1?42?48?$AA@ DB '1.2.8', 00H ; `string' -CONST ENDS -PUBLIC _compressBound@4 -PUBLIC _compress@16 -PUBLIC _compress2@20 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\compress.c -; COMDAT _compress2@20 -_TEXT SEGMENT -_stream$ = -56 ; size = 56 -_dest$ = 8 ; size = 4 -_destLen$ = 12 ; size = 4 -_source$ = 16 ; size = 4 -_sourceLen$ = 20 ; size = 4 -_level$ = 24 ; size = 4 -_compress2@20 PROC ; COMDAT - -; 28 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 38 sub esp, 56 ; 00000038H - -; 29 : z_stream stream; -; 30 : int err; -; 31 : -; 32 : stream.next_in = (z_const Bytef *)source; - - 00009 8b 45 10 mov eax, DWORD PTR _source$[ebp] - 0000c 56 push esi - 0000d 57 push edi - -; 33 : stream.avail_in = (uInt)sourceLen; -; 34 : #ifdef MAXSEG_64K -; 35 : /* Check for source > 64K on 16-bit machine: */ -; 36 : if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; -; 37 : #endif -; 38 : stream.next_out = dest; -; 39 : stream.avail_out = (uInt)*destLen; - - 0000e 8b 7d 0c mov edi, DWORD PTR _destLen$[ebp] - 00011 89 44 24 08 mov DWORD PTR _stream$[esp+64], eax - 00015 8b 45 14 mov eax, DWORD PTR _sourceLen$[ebp] - 00018 89 44 24 0c mov DWORD PTR _stream$[esp+68], eax - 0001c 8b 45 08 mov eax, DWORD PTR _dest$[ebp] - -; 40 : if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; -; 41 : -; 42 : stream.zalloc = (alloc_func)0; -; 43 : stream.zfree = (free_func)0; -; 44 : stream.opaque = (voidpf)0; -; 45 : -; 46 : err = deflateInit(&stream, level); - - 0001f 6a 38 push 56 ; 00000038H - 00021 89 44 24 18 mov DWORD PTR _stream$[esp+80], eax - 00025 8b 07 mov eax, DWORD PTR [edi] - 00027 68 00 00 00 00 push OFFSET ??_C@_05IAIEPMAK@1?42?48?$AA@ - 0002c ff 75 18 push DWORD PTR _level$[ebp] - 0002f 89 44 24 24 mov DWORD PTR _stream$[esp+92], eax - 00033 8d 44 24 14 lea eax, DWORD PTR _stream$[esp+76] - 00037 50 push eax - 00038 c7 44 24 38 00 - 00 00 00 mov DWORD PTR _stream$[esp+112], 0 - 00040 c7 44 24 3c 00 - 00 00 00 mov DWORD PTR _stream$[esp+116], 0 - 00048 c7 44 24 40 00 - 00 00 00 mov DWORD PTR _stream$[esp+120], 0 - 00050 e8 00 00 00 00 call _deflateInit_@16 - -; 47 : if (err != Z_OK) return err; - - 00055 85 c0 test eax, eax - 00057 75 41 jne SHORT $LN1@compress2 - -; 48 : -; 49 : err = deflate(&stream, Z_FINISH); - - 00059 6a 04 push 4 - 0005b 8d 44 24 0c lea eax, DWORD PTR _stream$[esp+68] - 0005f 50 push eax - 00060 e8 00 00 00 00 call _deflate@8 - 00065 8b f0 mov esi, eax - -; 50 : if (err != Z_STREAM_END) { - - 00067 83 fe 01 cmp esi, 1 - 0006a 74 1e je SHORT $LN4@compress2 - -; 51 : deflateEnd(&stream); - - 0006c 8d 44 24 08 lea eax, DWORD PTR _stream$[esp+64] - 00070 50 push eax - 00071 e8 00 00 00 00 call _deflateEnd@4 - -; 52 : return err == Z_OK ? Z_BUF_ERROR : err; - - 00076 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 0007b 85 f6 test esi, esi - 0007d 0f 44 f0 cmove esi, eax - 00080 8b c6 mov eax, esi - -; 57 : return err; -; 58 : } - - 00082 5f pop edi - 00083 5e pop esi - 00084 8b e5 mov esp, ebp - 00086 5d pop ebp - 00087 c2 14 00 ret 20 ; 00000014H -$LN4@compress2: - -; 53 : } -; 54 : *destLen = stream.total_out; - - 0008a 8b 44 24 1c mov eax, DWORD PTR _stream$[esp+84] - 0008e 89 07 mov DWORD PTR [edi], eax - -; 55 : -; 56 : err = deflateEnd(&stream); - - 00090 8d 44 24 08 lea eax, DWORD PTR _stream$[esp+64] - 00094 50 push eax - 00095 e8 00 00 00 00 call _deflateEnd@4 -$LN1@compress2: - -; 57 : return err; -; 58 : } - - 0009a 5f pop edi - 0009b 5e pop esi - 0009c 8b e5 mov esp, ebp - 0009e 5d pop ebp - 0009f c2 14 00 ret 20 ; 00000014H -_compress2@20 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\compress.c -; COMDAT _compress@16 -_TEXT SEGMENT -_dest$ = 8 ; size = 4 -_destLen$ = 12 ; size = 4 -_source$ = 16 ; size = 4 -_sourceLen$ = 20 ; size = 4 -_compress@16 PROC ; COMDAT - -; 67 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 68 : return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION); - - 00003 6a ff push -1 - 00005 ff 75 14 push DWORD PTR _sourceLen$[ebp] - 00008 ff 75 10 push DWORD PTR _source$[ebp] - 0000b ff 75 0c push DWORD PTR _destLen$[ebp] - 0000e ff 75 08 push DWORD PTR _dest$[ebp] - 00011 e8 00 00 00 00 call _compress2@20 - -; 69 : } - - 00016 5d pop ebp - 00017 c2 10 00 ret 16 ; 00000010H -_compress@16 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\compress.c -; COMDAT _compressBound@4 -_TEXT SEGMENT -_sourceLen$ = 8 ; size = 4 -_compressBound@4 PROC ; COMDAT - -; 77 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 78 : return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + - - 00003 8b 55 08 mov edx, DWORD PTR _sourceLen$[ebp] - 00006 8b c2 mov eax, edx - 00008 c1 e8 0e shr eax, 14 ; 0000000eH - 0000b 8b ca mov ecx, edx - 0000d 03 c2 add eax, edx - 0000f c1 e9 19 shr ecx, 25 ; 00000019H - 00012 c1 ea 0c shr edx, 12 ; 0000000cH - 00015 03 c1 add eax, ecx - 00017 83 c2 0d add edx, 13 ; 0000000dH - 0001a 03 c2 add eax, edx - -; 79 : (sourceLen >> 25) + 13; -; 80 : } - - 0001c 5d pop ebp - 0001d c2 04 00 ret 4 -_compressBound@4 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/compress.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/compress.obj deleted file mode 100644 index 3d0a063e87..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/compress.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/crc32.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/crc32.cod deleted file mode 100644 index e344758a46..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/crc32.cod +++ /dev/null @@ -1,3150 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\crc32.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -_crc_table DD 00H - DD 077073096H - DD 0ee0e612cH - DD 0990951baH - DD 076dc419H - DD 0706af48fH - DD 0e963a535H - DD 09e6495a3H - DD 0edb8832H - DD 079dcb8a4H - DD 0e0d5e91eH - DD 097d2d988H - DD 09b64c2bH - DD 07eb17cbdH - DD 0e7b82d07H - DD 090bf1d91H - DD 01db71064H - DD 06ab020f2H - DD 0f3b97148H - DD 084be41deH - DD 01adad47dH - DD 06ddde4ebH - DD 0f4d4b551H - DD 083d385c7H - DD 0136c9856H - DD 0646ba8c0H - DD 0fd62f97aH - DD 08a65c9ecH - DD 014015c4fH - DD 063066cd9H - DD 0fa0f3d63H - DD 08d080df5H - DD 03b6e20c8H - DD 04c69105eH - DD 0d56041e4H - DD 0a2677172H - DD 03c03e4d1H - DD 04b04d447H - DD 0d20d85fdH - DD 0a50ab56bH - DD 035b5a8faH - DD 042b2986cH - DD 0dbbbc9d6H - DD 0acbcf940H - DD 032d86ce3H - DD 045df5c75H - DD 0dcd60dcfH - DD 0abd13d59H - DD 026d930acH - DD 051de003aH - DD 0c8d75180H - DD 0bfd06116H - DD 021b4f4b5H - DD 056b3c423H - DD 0cfba9599H - DD 0b8bda50fH - DD 02802b89eH - DD 05f058808H - DD 0c60cd9b2H - DD 0b10be924H - DD 02f6f7c87H - DD 058684c11H - DD 0c1611dabH - DD 0b6662d3dH - DD 076dc4190H - DD 01db7106H - DD 098d220bcH - DD 0efd5102aH - DD 071b18589H - DD 06b6b51fH - DD 09fbfe4a5H - DD 0e8b8d433H - DD 07807c9a2H - DD 0f00f934H - DD 09609a88eH - DD 0e10e9818H - DD 07f6a0dbbH - DD 086d3d2dH - DD 091646c97H - DD 0e6635c01H - DD 06b6b51f4H - DD 01c6c6162H - DD 0856530d8H - DD 0f262004eH - DD 06c0695edH - DD 01b01a57bH - DD 08208f4c1H - DD 0f50fc457H - DD 065b0d9c6H - DD 012b7e950H - DD 08bbeb8eaH - DD 0fcb9887cH - DD 062dd1ddfH - DD 015da2d49H - DD 08cd37cf3H - DD 0fbd44c65H - DD 04db26158H - DD 03ab551ceH - DD 0a3bc0074H - DD 0d4bb30e2H - DD 04adfa541H - DD 03dd895d7H - DD 0a4d1c46dH - DD 0d3d6f4fbH - DD 04369e96aH - DD 0346ed9fcH - DD 0ad678846H - DD 0da60b8d0H - DD 044042d73H - DD 033031de5H - DD 0aa0a4c5fH - DD 0dd0d7cc9H - DD 05005713cH - DD 0270241aaH - DD 0be0b1010H - DD 0c90c2086H - DD 05768b525H - DD 0206f85b3H - DD 0b966d409H - DD 0ce61e49fH - DD 05edef90eH - DD 029d9c998H - DD 0b0d09822H - DD 0c7d7a8b4H - DD 059b33d17H - DD 02eb40d81H - DD 0b7bd5c3bH - DD 0c0ba6cadH - DD 0edb88320H - DD 09abfb3b6H - DD 03b6e20cH - DD 074b1d29aH - DD 0ead54739H - DD 09dd277afH - DD 04db2615H - DD 073dc1683H - DD 0e3630b12H - DD 094643b84H - DD 0d6d6a3eH - DD 07a6a5aa8H - DD 0e40ecf0bH - DD 09309ff9dH - DD 0a00ae27H - DD 07d079eb1H - DD 0f00f9344H - DD 08708a3d2H - DD 01e01f268H - DD 06906c2feH - DD 0f762575dH - DD 0806567cbH - DD 0196c3671H - DD 06e6b06e7H - DD 0fed41b76H - DD 089d32be0H - DD 010da7a5aH - DD 067dd4accH - DD 0f9b9df6fH - DD 08ebeeff9H - DD 017b7be43H - DD 060b08ed5H - DD 0d6d6a3e8H - DD 0a1d1937eH - DD 038d8c2c4H - DD 04fdff252H - DD 0d1bb67f1H - DD 0a6bc5767H - DD 03fb506ddH - DD 048b2364bH - DD 0d80d2bdaH - DD 0af0a1b4cH - DD 036034af6H - DD 041047a60H - DD 0df60efc3H - DD 0a867df55H - DD 0316e8eefH - DD 04669be79H - DD 0cb61b38cH - DD 0bc66831aH - DD 0256fd2a0H - DD 05268e236H - DD 0cc0c7795H - DD 0bb0b4703H - DD 0220216b9H - DD 05505262fH - DD 0c5ba3bbeH - DD 0b2bd0b28H - DD 02bb45a92H - DD 05cb36a04H - DD 0c2d7ffa7H - DD 0b5d0cf31H - DD 02cd99e8bH - DD 05bdeae1dH - DD 09b64c2b0H - DD 0ec63f226H - DD 0756aa39cH - DD 026d930aH - DD 09c0906a9H - DD 0eb0e363fH - DD 072076785H - DD 05005713H - DD 095bf4a82H - DD 0e2b87a14H - DD 07bb12baeH - DD 0cb61b38H - DD 092d28e9bH - DD 0e5d5be0dH - DD 07cdcefb7H - DD 0bdbdf21H - DD 086d3d2d4H - DD 0f1d4e242H - DD 068ddb3f8H - DD 01fda836eH - DD 081be16cdH - DD 0f6b9265bH - DD 06fb077e1H - DD 018b74777H - DD 088085ae6H - DD 0ff0f6a70H - DD 066063bcaH - DD 011010b5cH - DD 08f659effH - DD 0f862ae69H - DD 0616bffd3H - DD 0166ccf45H - DD 0a00ae278H - DD 0d70dd2eeH - DD 04e048354H - DD 03903b3c2H - DD 0a7672661H - DD 0d06016f7H - DD 04969474dH - DD 03e6e77dbH - DD 0aed16a4aH - DD 0d9d65adcH - DD 040df0b66H - DD 037d83bf0H - DD 0a9bcae53H - DD 0debb9ec5H - DD 047b2cf7fH - DD 030b5ffe9H - DD 0bdbdf21cH - DD 0cabac28aH - DD 053b39330H - DD 024b4a3a6H - DD 0bad03605H - DD 0cdd70693H - DD 054de5729H - DD 023d967bfH - DD 0b3667a2eH - DD 0c4614ab8H - DD 05d681b02H - DD 02a6f2b94H - DD 0b40bbe37H - DD 0c30c8ea1H - DD 05a05df1bH - DD 02d02ef8dH - DD 00H - DD 0191b3141H - DD 032366282H - DD 02b2d53c3H - DD 0646cc504H - DD 07d77f445H - DD 0565aa786H - DD 04f4196c7H - DD 0c8d98a08H - DD 0d1c2bb49H - DD 0faefe88aH - DD 0e3f4d9cbH - DD 0acb54f0cH - DD 0b5ae7e4dH - DD 09e832d8eH - DD 087981ccfH - DD 04ac21251H - DD 053d92310H - DD 078f470d3H - DD 061ef4192H - DD 02eaed755H - DD 037b5e614H - DD 01c98b5d7H - DD 05838496H - DD 0821b9859H - DD 09b00a918H - DD 0b02dfadbH - DD 0a936cb9aH - DD 0e6775d5dH - DD 0ff6c6c1cH - DD 0d4413fdfH - DD 0cd5a0e9eH - DD 0958424a2H - DD 08c9f15e3H - DD 0a7b24620H - DD 0bea97761H - DD 0f1e8e1a6H - DD 0e8f3d0e7H - DD 0c3de8324H - DD 0dac5b265H - DD 05d5daeaaH - DD 044469febH - DD 06f6bcc28H - DD 07670fd69H - DD 039316baeH - DD 0202a5aefH - DD 0b07092cH - DD 0121c386dH - DD 0df4636f3H - DD 0c65d07b2H - DD 0ed705471H - DD 0f46b6530H - DD 0bb2af3f7H - DD 0a231c2b6H - DD 0891c9175H - DD 09007a034H - DD 0179fbcfbH - DD 0e848dbaH - DD 025a9de79H - DD 03cb2ef38H - DD 073f379ffH - DD 06ae848beH - DD 041c51b7dH - DD 058de2a3cH - DD 0f0794f05H - DD 0e9627e44H - DD 0c24f2d87H - DD 0db541cc6H - DD 094158a01H - DD 08d0ebb40H - DD 0a623e883H - DD 0bf38d9c2H - DD 038a0c50dH - DD 021bbf44cH - DD 0a96a78fH - DD 0138d96ceH - DD 05ccc0009H - DD 045d73148H - DD 06efa628bH - DD 077e153caH - DD 0babb5d54H - DD 0a3a06c15H - DD 0888d3fd6H - DD 091960e97H - DD 0ded79850H - DD 0c7cca911H - DD 0ece1fad2H - DD 0f5facb93H - DD 07262d75cH - DD 06b79e61dH - DD 04054b5deH - DD 0594f849fH - DD 0160e1258H - DD 0f152319H - DD 0243870daH - DD 03d23419bH - DD 065fd6ba7H - DD 07ce65ae6H - DD 057cb0925H - DD 04ed03864H - DD 0191aea3H - DD 0188a9fe2H - DD 033a7cc21H - DD 02abcfd60H - DD 0ad24e1afH - DD 0b43fd0eeH - DD 09f12832dH - DD 08609b26cH - DD 0c94824abH - DD 0d05315eaH - DD 0fb7e4629H - DD 0e2657768H - DD 02f3f79f6H - DD 0362448b7H - DD 01d091b74H - DD 04122a35H - DD 04b53bcf2H - DD 052488db3H - DD 07965de70H - DD 0607eef31H - DD 0e7e6f3feH - DD 0fefdc2bfH - DD 0d5d0917cH - DD 0cccba03dH - DD 0838a36faH - DD 09a9107bbH - DD 0b1bc5478H - DD 0a8a76539H - DD 03b83984bH - DD 02298a90aH - DD 09b5fac9H - DD 010aecb88H - DD 05fef5d4fH - DD 046f46c0eH - DD 06dd93fcdH - DD 074c20e8cH - DD 0f35a1243H - DD 0ea412302H - DD 0c16c70c1H - DD 0d8774180H - DD 09736d747H - DD 08e2de606H - DD 0a500b5c5H - DD 0bc1b8484H - DD 071418a1aH - DD 0685abb5bH - DD 04377e898H - DD 05a6cd9d9H - DD 0152d4f1eH - DD 0c367e5fH - DD 0271b2d9cH - DD 03e001cddH - DD 0b9980012H - DD 0a0833153H - DD 08bae6290H - DD 092b553d1H - DD 0ddf4c516H - DD 0c4eff457H - DD 0efc2a794H - DD 0f6d996d5H - DD 0ae07bce9H - DD 0b71c8da8H - DD 09c31de6bH - DD 0852aef2aH - DD 0ca6b79edH - DD 0d37048acH - DD 0f85d1b6fH - DD 0e1462a2eH - DD 066de36e1H - DD 07fc507a0H - DD 054e85463H - DD 04df36522H - DD 02b2f3e5H - DD 01ba9c2a4H - DD 030849167H - DD 0299fa026H - DD 0e4c5aeb8H - DD 0fdde9ff9H - DD 0d6f3cc3aH - DD 0cfe8fd7bH - DD 080a96bbcH - DD 099b25afdH - DD 0b29f093eH - DD 0ab84387fH - DD 02c1c24b0H - DD 0350715f1H - DD 01e2a4632H - DD 07317773H - DD 04870e1b4H - DD 0516bd0f5H - DD 07a468336H - DD 0635db277H - DD 0cbfad74eH - DD 0d2e1e60fH - DD 0f9ccb5ccH - DD 0e0d7848dH - DD 0af96124aH - DD 0b68d230bH - DD 09da070c8H - DD 084bb4189H - DD 03235d46H - DD 01a386c07H - DD 031153fc4H - DD 0280e0e85H - DD 0674f9842H - DD 07e54a903H - DD 05579fac0H - DD 04c62cb81H - DD 08138c51fH - DD 09823f45eH - DD 0b30ea79dH - DD 0aa1596dcH - DD 0e554001bH - DD 0fc4f315aH - DD 0d7626299H - DD 0ce7953d8H - DD 049e14f17H - DD 050fa7e56H - DD 07bd72d95H - DD 062cc1cd4H - DD 02d8d8a13H - DD 03496bb52H - DD 01fbbe891H - DD 06a0d9d0H - DD 05e7ef3ecH - DD 04765c2adH - DD 06c48916eH - DD 07553a02fH - DD 03a1236e8H - DD 0230907a9H - DD 0824546aH - DD 0113f652bH - DD 096a779e4H - DD 08fbc48a5H - DD 0a4911b66H - DD 0bd8a2a27H - DD 0f2cbbce0H - DD 0ebd08da1H - DD 0c0fdde62H - DD 0d9e6ef23H - DD 014bce1bdH - DD 0da7d0fcH - DD 0268a833fH - DD 03f91b27eH - DD 070d024b9H - DD 069cb15f8H - DD 042e6463bH - DD 05bfd777aH - DD 0dc656bb5H - DD 0c57e5af4H - DD 0ee530937H - DD 0f7483876H - DD 0b809aeb1H - DD 0a1129ff0H - DD 08a3fcc33H - DD 09324fd72H - DD 00H - DD 01c26a37H - DD 0384d46eH - DD 0246be59H - DD 0709a8dcH - DD 06cbc2ebH - DD 048d7cb2H - DD 054f1685H - DD 0e1351b8H - DD 0fd13b8fH - DD 0d9785d6H - DD 0c55efe1H - DD 091af964H - DD 08d89353H - DD 0a9e2d0aH - DD 0b5c473dH - DD 01c26a370H - DD 01de4c947H - DD 01fa2771eH - DD 01e601d29H - DD 01b2f0bacH - DD 01aed619bH - DD 018abdfc2H - DD 01969b5f5H - DD 01235f2c8H - DD 013f798ffH - DD 011b126a6H - DD 010734c91H - DD 0153c5a14H - DD 014fe3023H - DD 016b88e7aH - DD 0177ae44dH - DD 0384d46e0H - DD 0398f2cd7H - DD 03bc9928eH - DD 03a0bf8b9H - DD 03f44ee3cH - DD 03e86840bH - DD 03cc03a52H - DD 03d025065H - DD 0365e1758H - DD 0379c7d6fH - DD 035dac336H - DD 03418a901H - DD 03157bf84H - DD 03095d5b3H - DD 032d36beaH - DD 0331101ddH - DD 0246be590H - DD 025a98fa7H - DD 027ef31feH - DD 0262d5bc9H - DD 023624d4cH - DD 022a0277bH - DD 020e69922H - DD 02124f315H - DD 02a78b428H - DD 02bbade1fH - DD 029fc6046H - DD 0283e0a71H - DD 02d711cf4H - DD 02cb376c3H - DD 02ef5c89aH - DD 02f37a2adH - DD 0709a8dc0H - DD 07158e7f7H - DD 0731e59aeH - DD 072dc3399H - DD 07793251cH - DD 076514f2bH - DD 07417f172H - DD 075d59b45H - DD 07e89dc78H - DD 07f4bb64fH - DD 07d0d0816H - DD 07ccf6221H - DD 0798074a4H - DD 078421e93H - DD 07a04a0caH - DD 07bc6cafdH - DD 06cbc2eb0H - DD 06d7e4487H - DD 06f38fadeH - DD 06efa90e9H - DD 06bb5866cH - DD 06a77ec5bH - DD 068315202H - DD 069f33835H - DD 062af7f08H - DD 0636d153fH - DD 0612bab66H - DD 060e9c151H - DD 065a6d7d4H - DD 06464bde3H - DD 0662203baH - DD 067e0698dH - DD 048d7cb20H - DD 04915a117H - DD 04b531f4eH - DD 04a917579H - DD 04fde63fcH - DD 04e1c09cbH - DD 04c5ab792H - DD 04d98dda5H - DD 046c49a98H - DD 04706f0afH - DD 045404ef6H - DD 0448224c1H - DD 041cd3244H - DD 0400f5873H - DD 04249e62aH - DD 0438b8c1dH - DD 054f16850H - DD 055330267H - DD 05775bc3eH - DD 056b7d609H - DD 053f8c08cH - DD 0523aaabbH - DD 0507c14e2H - DD 051be7ed5H - DD 05ae239e8H - DD 05b2053dfH - DD 05966ed86H - DD 058a487b1H - DD 05deb9134H - DD 05c29fb03H - DD 05e6f455aH - DD 05fad2f6dH - DD 0e1351b80H - DD 0e0f771b7H - DD 0e2b1cfeeH - DD 0e373a5d9H - DD 0e63cb35cH - DD 0e7fed96bH - DD 0e5b86732H - DD 0e47a0d05H - DD 0ef264a38H - DD 0eee4200fH - DD 0eca29e56H - DD 0ed60f461H - DD 0e82fe2e4H - DD 0e9ed88d3H - DD 0ebab368aH - DD 0ea695cbdH - DD 0fd13b8f0H - DD 0fcd1d2c7H - DD 0fe976c9eH - DD 0ff5506a9H - DD 0fa1a102cH - DD 0fbd87a1bH - DD 0f99ec442H - DD 0f85cae75H - DD 0f300e948H - DD 0f2c2837fH - DD 0f0843d26H - DD 0f1465711H - DD 0f4094194H - DD 0f5cb2ba3H - DD 0f78d95faH - DD 0f64fffcdH - DD 0d9785d60H - DD 0d8ba3757H - DD 0dafc890eH - DD 0db3ee339H - DD 0de71f5bcH - DD 0dfb39f8bH - DD 0ddf521d2H - DD 0dc374be5H - DD 0d76b0cd8H - DD 0d6a966efH - DD 0d4efd8b6H - DD 0d52db281H - DD 0d062a404H - DD 0d1a0ce33H - DD 0d3e6706aH - DD 0d2241a5dH - DD 0c55efe10H - DD 0c49c9427H - DD 0c6da2a7eH - DD 0c7184049H - DD 0c25756ccH - DD 0c3953cfbH - DD 0c1d382a2H - DD 0c011e895H - DD 0cb4dafa8H - DD 0ca8fc59fH - DD 0c8c97bc6H - DD 0c90b11f1H - DD 0cc440774H - DD 0cd866d43H - DD 0cfc0d31aH - DD 0ce02b92dH - DD 091af9640H - DD 0906dfc77H - DD 0922b422eH - DD 093e92819H - DD 096a63e9cH - DD 0976454abH - DD 09522eaf2H - DD 094e080c5H - DD 09fbcc7f8H - DD 09e7eadcfH - DD 09c381396H - DD 09dfa79a1H - DD 098b56f24H - DD 099770513H - DD 09b31bb4aH - DD 09af3d17dH - DD 08d893530H - DD 08c4b5f07H - DD 08e0de15eH - DD 08fcf8b69H - DD 08a809decH - DD 08b42f7dbH - DD 089044982H - DD 088c623b5H - DD 0839a6488H - DD 082580ebfH - DD 0801eb0e6H - DD 081dcdad1H - DD 08493cc54H - DD 08551a663H - DD 08717183aH - DD 086d5720dH - DD 0a9e2d0a0H - DD 0a820ba97H - DD 0aa6604ceH - DD 0aba46ef9H - DD 0aeeb787cH - DD 0af29124bH - DD 0ad6fac12H - DD 0acadc625H - DD 0a7f18118H - DD 0a633eb2fH - DD 0a4755576H - DD 0a5b73f41H - DD 0a0f829c4H - DD 0a13a43f3H - DD 0a37cfdaaH - DD 0a2be979dH - DD 0b5c473d0H - DD 0b40619e7H - DD 0b640a7beH - DD 0b782cd89H - DD 0b2cddb0cH - DD 0b30fb13bH - DD 0b1490f62H - DD 0b08b6555H - DD 0bbd72268H - DD 0ba15485fH - DD 0b853f606H - DD 0b9919c31H - DD 0bcde8ab4H - DD 0bd1ce083H - DD 0bf5a5edaH - DD 0be9834edH - DD 00H - DD 0b8bc6765H - DD 0aa09c88bH - DD 012b5afeeH - DD 08f629757H - DD 037def032H - DD 0256b5fdcH - DD 09dd738b9H - DD 0c5b428efH - DD 07d084f8aH - DD 06fbde064H - DD 0d7018701H - DD 04ad6bfb8H - DD 0f26ad8ddH - DD 0e0df7733H - DD 058631056H - DD 05019579fH - DD 0e8a530faH - DD 0fa109f14H - DD 042acf871H - DD 0df7bc0c8H - DD 067c7a7adH - DD 075720843H - DD 0cdce6f26H - DD 095ad7f70H - DD 02d111815H - DD 03fa4b7fbH - DD 08718d09eH - DD 01acfe827H - DD 0a2738f42H - DD 0b0c620acH - DD 087a47c9H - DD 0a032af3eH - DD 0188ec85bH - DD 0a3b67b5H - DD 0b28700d0H - DD 02f503869H - DD 097ec5f0cH - DD 08559f0e2H - DD 03de59787H - DD 0658687d1H - DD 0dd3ae0b4H - DD 0cf8f4f5aH - DD 07733283fH - DD 0eae41086H - DD 0525877e3H - DD 040edd80dH - DD 0f851bf68H - DD 0f02bf8a1H - DD 048979fc4H - DD 05a22302aH - DD 0e29e574fH - DD 07f496ff6H - DD 0c7f50893H - DD 0d540a77dH - DD 06dfcc018H - DD 0359fd04eH - DD 08d23b72bH - DD 09f9618c5H - DD 0272a7fa0H - DD 0bafd4719H - DD 0241207cH - DD 010f48f92H - DD 0a848e8f7H - DD 09b14583dH - DD 023a83f58H - DD 0311d90b6H - DD 089a1f7d3H - DD 01476cf6aH - DD 0accaa80fH - DD 0be7f07e1H - DD 06c36084H - DD 05ea070d2H - DD 0e61c17b7H - DD 0f4a9b859H - DD 04c15df3cH - DD 0d1c2e785H - DD 0697e80e0H - DD 07bcb2f0eH - DD 0c377486bH - DD 0cb0d0fa2H - DD 073b168c7H - DD 06104c729H - DD 0d9b8a04cH - DD 0446f98f5H - DD 0fcd3ff90H - DD 0ee66507eH - DD 056da371bH - DD 0eb9274dH - DD 0b6054028H - DD 0a4b0efc6H - DD 01c0c88a3H - DD 081dbb01aH - DD 03967d77fH - DD 02bd27891H - DD 0936e1ff4H - DD 03b26f703H - DD 0839a9066H - DD 0912f3f88H - DD 0299358edH - DD 0b4446054H - DD 0cf80731H - DD 01e4da8dfH - DD 0a6f1cfbaH - DD 0fe92dfecH - DD 0462eb889H - DD 0549b1767H - DD 0ec277002H - DD 071f048bbH - DD 0c94c2fdeH - DD 0dbf98030H - DD 06345e755H - DD 06b3fa09cH - DD 0d383c7f9H - DD 0c1366817H - DD 0798a0f72H - DD 0e45d37cbH - DD 05ce150aeH - DD 04e54ff40H - DD 0f6e89825H - DD 0ae8b8873H - DD 01637ef16H - DD 048240f8H - DD 0bc3e279dH - DD 021e91f24H - DD 099557841H - DD 08be0d7afH - DD 0335cb0caH - DD 0ed59b63bH - DD 055e5d15eH - DD 047507eb0H - DD 0ffec19d5H - DD 0623b216cH - DD 0da874609H - DD 0c832e9e7H - DD 0708e8e82H - DD 028ed9ed4H - DD 09051f9b1H - DD 082e4565fH - DD 03a58313aH - DD 0a78f0983H - DD 01f336ee6H - DD 0d86c108H - DD 0b53aa66dH - DD 0bd40e1a4H - DD 05fc86c1H - DD 01749292fH - DD 0aff54e4aH - DD 0322276f3H - DD 08a9e1196H - DD 0982bbe78H - DD 02097d91dH - DD 078f4c94bH - DD 0c048ae2eH - DD 0d2fd01c0H - DD 06a4166a5H - DD 0f7965e1cH - DD 04f2a3979H - DD 05d9f9697H - DD 0e523f1f2H - DD 04d6b1905H - DD 0f5d77e60H - DD 0e762d18eH - DD 05fdeb6ebH - DD 0c2098e52H - DD 07ab5e937H - DD 0680046d9H - DD 0d0bc21bcH - DD 088df31eaH - DD 03063568fH - DD 022d6f961H - DD 09a6a9e04H - DD 07bda6bdH - DD 0bf01c1d8H - DD 0adb46e36H - DD 015080953H - DD 01d724e9aH - DD 0a5ce29ffH - DD 0b77b8611H - DD 0fc7e174H - DD 09210d9cdH - DD 02aacbea8H - DD 038191146H - DD 080a57623H - DD 0d8c66675H - DD 0607a0110H - DD 072cfaefeH - DD 0ca73c99bH - DD 057a4f122H - DD 0ef189647H - DD 0fdad39a9H - DD 045115eccH - DD 0764dee06H - DD 0cef18963H - DD 0dc44268dH - DD 064f841e8H - DD 0f92f7951H - DD 041931e34H - DD 05326b1daH - DD 0eb9ad6bfH - DD 0b3f9c6e9H - DD 0b45a18cH - DD 019f00e62H - DD 0a14c6907H - DD 03c9b51beH - DD 0842736dbH - DD 096929935H - DD 02e2efe50H - DD 02654b999H - DD 09ee8defcH - DD 08c5d7112H - DD 034e11677H - DD 0a9362eceH - DD 0118a49abH - DD 033fe645H - DD 0bb838120H - DD 0e3e09176H - DD 05b5cf613H - DD 049e959fdH - DD 0f1553e98H - DD 06c820621H - DD 0d43e6144H - DD 0c68bceaaH - DD 07e37a9cfH - DD 0d67f4138H - DD 06ec3265dH - DD 07c7689b3H - DD 0c4caeed6H - DD 0591dd66fH - DD 0e1a1b10aH - DD 0f3141ee4H - DD 04ba87981H - DD 013cb69d7H - DD 0ab770eb2H - DD 0b9c2a15cH - DD 017ec639H - DD 09ca9fe80H - DD 0241599e5H - DD 036a0360bH - DD 08e1c516eH - DD 0866616a7H - DD 03eda71c2H - DD 02c6fde2cH - DD 094d3b949H - DD 090481f0H - DD 0b1b8e695H - DD 0a30d497bH - DD 01bb12e1eH - DD 043d23e48H - DD 0fb6e592dH - DD 0e9dbf6c3H - DD 0516791a6H - DD 0ccb0a91fH - DD 0740cce7aH - DD 066b96194H - DD 0de0506f1H - DD 00H - DD 096300777H - DD 02c610eeeH - DD 0ba510999H - DD 019c46d07H - DD 08ff46a70H - DD 035a563e9H - DD 0a395649eH - DD 03288db0eH - DD 0a4b8dc79H - DD 01ee9d5e0H - DD 088d9d297H - DD 02b4cb609H - DD 0bd7cb17eH - DD 072db8e7H - DD 0911dbf90H - DD 06410b71dH - DD 0f220b06aH - DD 04871b9f3H - DD 0de41be84H - DD 07dd4da1aH - DD 0ebe4dd6dH - DD 051b5d4f4H - DD 0c785d383H - DD 056986c13H - DD 0c0a86b64H - DD 07af962fdH - DD 0ecc9658aH - DD 04f5c0114H - DD 0d96c0663H - DD 0633d0ffaH - DD 0f50d088dH - DD 0c8206e3bH - DD 05e10694cH - DD 0e44160d5H - DD 0727167a2H - DD 0d1e4033cH - DD 047d4044bH - DD 0fd850dd2H - DD 06bb50aa5H - DD 0faa8b535H - DD 06c98b242H - DD 0d6c9bbdbH - DD 040f9bcacH - DD 0e36cd832H - DD 0755cdf45H - DD 0cf0dd6dcH - DD 0593dd1abH - DD 0ac30d926H - DD 03a00de51H - DD 08051d7c8H - DD 01661d0bfH - DD 0b5f4b421H - DD 023c4b356H - DD 09995bacfH - DD 0fa5bdb8H - DD 09eb80228H - DD 0888055fH - DD 0b2d90cc6H - DD 024e90bb1H - DD 0877c6f2fH - DD 0114c6858H - DD 0ab1d61c1H - DD 03d2d66b6H - DD 09041dc76H - DD 0671db01H - DD 0bc20d298H - DD 02a10d5efH - DD 08985b171H - DD 01fb5b606H - DD 0a5e4bf9fH - DD 033d4b8e8H - DD 0a2c90778H - DD 034f9000fH - DD 08ea80996H - DD 018980ee1H - DD 0bb0d6a7fH - DD 02d3d6d08H - DD 0976c6491H - DD 015c63e6H - DD 0f4516b6bH - DD 062616c1cH - DD 0d8306585H - DD 04e0062f2H - DD 0ed95066cH - DD 07ba5011bH - DD 0c1f40882H - DD 057c40ff5H - DD 0c6d9b065H - DD 050e9b712H - DD 0eab8be8bH - DD 07c88b9fcH - DD 0df1ddd62H - DD 0492dda15H - DD 0f37cd38cH - DD 0654cd4fbH - DD 05861b24dH - DD 0ce51b53aH - DD 07400bca3H - DD 0e230bbd4H - DD 041a5df4aH - DD 0d795d83dH - DD 06dc4d1a4H - DD 0fbf4d6d3H - DD 06ae96943H - DD 0fcd96e34H - DD 0468867adH - DD 0d0b860daH - DD 0732d0444H - DD 0e51d0333H - DD 05f4c0aaaH - DD 0c97c0dddH - DD 03c710550H - DD 0aa410227H - DD 010100bbeH - DD 086200cc9H - DD 025b56857H - DD 0b3856f20H - DD 09d466b9H - DD 09fe461ceH - DD 0ef9de5eH - DD 098c9d929H - DD 02298d0b0H - DD 0b4a8d7c7H - DD 0173db359H - DD 0810db42eH - DD 03b5cbdb7H - DD 0ad6cbac0H - DD 02083b8edH - DD 0b6b3bf9aH - DD 0ce2b603H - DD 09ad2b174H - DD 03947d5eaH - DD 0af77d29dH - DD 01526db04H - DD 08316dc73H - DD 0120b63e3H - DD 0843b6494H - DD 03e6a6d0dH - DD 0a85a6a7aH - DD 0bcf0ee4H - DD 09dff0993H - DD 027ae000aH - DD 0b19e077dH - DD 044930ff0H - DD 0d2a30887H - DD 068f2011eH - DD 0fec20669H - DD 05d5762f7H - DD 0cb676580H - DD 071366c19H - DD 0e7066b6eH - DD 0761bd4feH - DD 0e02bd389H - DD 05a7ada10H - DD 0cc4add67H - DD 06fdfb9f9H - DD 0f9efbe8eH - DD 043beb717H - DD 0d58eb060H - DD 0e8a3d6d6H - DD 07e93d1a1H - DD 0c4c2d838H - DD 052f2df4fH - DD 0f167bbd1H - DD 06757bca6H - DD 0dd06b53fH - DD 04b36b248H - DD 0da2b0dd8H - DD 04c1b0aafH - DD 0f64a0336H - DD 0607a0441H - DD 0c3ef60dfH - DD 055df67a8H - DD 0ef8e6e31H - DD 079be6946H - DD 08cb361cbH - DD 01a8366bcH - DD 0a0d26f25H - DD 036e26852H - DD 095770cccH - DD 03470bbbH - DD 0b9160222H - DD 02f260555H - DD 0be3bbac5H - DD 0280bbdb2H - DD 0925ab42bH - DD 046ab35cH - DD 0a7ffd7c2H - DD 031cfd0b5H - DD 08b9ed92cH - DD 01daede5bH - DD 0b0c2649bH - DD 026f263ecH - DD 09ca36a75H - DD 0a936d02H - DD 0a906099cH - DD 03f360eebH - DD 085670772H - DD 013570005H - DD 0824abf95H - DD 0147ab8e2H - DD 0ae2bb17bH - DD 0381bb60cH - DD 09b8ed292H - DD 0dbed5e5H - DD 0b7efdc7cH - DD 021dfdb0bH - DD 0d4d2d386H - DD 042e2d4f1H - DD 0f8b3dd68H - DD 06e83da1fH - DD 0cd16be81H - DD 05b26b9f6H - DD 0e177b06fH - DD 07747b718H - DD 0e65a0888H - DD 0706a0fffH - DD 0ca3b0666H - DD 05c0b0111H - DD 0ff9e658fH - DD 069ae62f8H - DD 0d3ff6b61H - DD 045cf6c16H - DD 078e20aa0H - DD 0eed20dd7H - DD 05483044eH - DD 0c2b30339H - DD 0612667a7H - DD 0f71660d0H - DD 04d476949H - DD 0db776e3eH - DD 04a6ad1aeH - DD 0dc5ad6d9H - DD 0660bdf40H - DD 0f03bd837H - DD 053aebca9H - DD 0c59ebbdeH - DD 07fcfb247H - DD 0e9ffb530H - DD 01cf2bdbdH - DD 08ac2bacaH - DD 03093b353H - DD 0a6a3b424H - DD 0536d0baH - DD 09306d7cdH - DD 02957de54H - DD 0bf67d923H - DD 02e7a66b3H - DD 0b84a61c4H - DD 021b685dH - DD 0942b6f2aH - DD 037be0bb4H - DD 0a18e0cc3H - DD 01bdf055aH - DD 08def022dH - DD 00H - DD 041311b19H - DD 082623632H - DD 0c3532d2bH - DD 04c56c64H - DD 045f4777dH - DD 086a75a56H - DD 0c796414fH - DD 088ad9c8H - DD 049bbc2d1H - DD 08ae8effaH - DD 0cbd9f4e3H - DD 0c4fb5acH - DD 04d7eaeb5H - DD 08e2d839eH - DD 0cf1c9887H - DD 05112c24aH - DD 01023d953H - DD 0d370f478H - DD 09241ef61H - DD 055d7ae2eH - DD 014e6b537H - DD 0d7b5981cH - DD 096848305H - DD 059981b82H - DD 018a9009bH - DD 0dbfa2db0H - DD 09acb36a9H - DD 05d5d77e6H - DD 01c6c6cffH - DD 0df3f41d4H - DD 09e0e5acdH - DD 0a2248495H - DD 0e3159f8cH - DD 02046b2a7H - DD 06177a9beH - DD 0a6e1e8f1H - DD 0e7d0f3e8H - DD 02483dec3H - DD 065b2c5daH - DD 0aaae5d5dH - DD 0eb9f4644H - DD 028cc6b6fH - DD 069fd7076H - DD 0ae6b3139H - DD 0ef5a2a20H - DD 02c09070bH - DD 06d381c12H - DD 0f33646dfH - DD 0b2075dc6H - DD 0715470edH - DD 030656bf4H - DD 0f7f32abbH - DD 0b6c231a2H - DD 075911c89H - DD 034a00790H - DD 0fbbc9f17H - DD 0ba8d840eH - DD 079dea925H - DD 038efb23cH - DD 0ff79f373H - DD 0be48e86aH - DD 07d1bc541H - DD 03c2ade58H - DD 054f79f0H - DD 0447e62e9H - DD 0872d4fc2H - DD 0c61c54dbH - DD 018a1594H - DD 040bb0e8dH - DD 083e823a6H - DD 0c2d938bfH - DD 0dc5a038H - DD 04cf4bb21H - DD 08fa7960aH - DD 0ce968d13H - DD 0900cc5cH - DD 04831d745H - DD 08b62fa6eH - DD 0ca53e177H - DD 0545dbbbaH - DD 0156ca0a3H - DD 0d63f8d88H - DD 0970e9691H - DD 05098d7deH - DD 011a9ccc7H - DD 0d2fae1ecH - DD 093cbfaf5H - DD 05cd76272H - DD 01de6796bH - DD 0deb55440H - DD 09f844f59H - DD 058120e16H - DD 01923150fH - DD 0da703824H - DD 09b41233dH - DD 0a76bfd65H - DD 0e65ae67cH - DD 02509cb57H - DD 06438d04eH - DD 0a3ae9101H - DD 0e29f8a18H - DD 021cca733H - DD 060fdbc2aH - DD 0afe124adH - DD 0eed03fb4H - DD 02d83129fH - DD 06cb20986H - DD 0ab2448c9H - DD 0ea1553d0H - DD 029467efbH - DD 0687765e2H - DD 0f6793f2fH - DD 0b7482436H - DD 0741b091dH - DD 0352a1204H - DD 0f2bc534bH - DD 0b38d4852H - DD 070de6579H - DD 031ef7e60H - DD 0fef3e6e7H - DD 0bfc2fdfeH - DD 07c91d0d5H - DD 03da0cbccH - DD 0fa368a83H - DD 0bb07919aH - DD 07854bcb1H - DD 03965a7a8H - DD 04b98833bH - DD 0aa99822H - DD 0c9fab509H - DD 088cbae10H - DD 04f5def5fH - DD 0e6cf446H - DD 0cd3fd96dH - DD 08c0ec274H - DD 043125af3H - DD 022341eaH - DD 0c1706cc1H - DD 0804177d8H - DD 047d73697H - DD 06e62d8eH - DD 0c5b500a5H - DD 084841bbcH - DD 01a8a4171H - DD 05bbb5a68H - DD 098e87743H - DD 0d9d96c5aH - DD 01e4f2d15H - DD 05f7e360cH - DD 09c2d1b27H - DD 0dd1c003eH - DD 0120098b9H - DD 0533183a0H - DD 09062ae8bH - DD 0d153b592H - DD 016c5f4ddH - DD 057f4efc4H - DD 094a7c2efH - DD 0d596d9f6H - DD 0e9bc07aeH - DD 0a88d1cb7H - DD 06bde319cH - DD 02aef2a85H - DD 0ed796bcaH - DD 0ac4870d3H - DD 06f1b5df8H - DD 02e2a46e1H - DD 0e136de66H - DD 0a007c57fH - DD 06354e854H - DD 02265f34dH - DD 0e5f3b202H - DD 0a4c2a91bH - DD 067918430H - DD 026a09f29H - DD 0b8aec5e4H - DD 0f99fdefdH - DD 03accf3d6H - DD 07bfde8cfH - DD 0bc6ba980H - DD 0fd5ab299H - DD 03e099fb2H - DD 07f3884abH - DD 0b0241c2cH - DD 0f1150735H - DD 032462a1eH - DD 073773107H - DD 0b4e17048H - DD 0f5d06b51H - DD 03683467aH - DD 077b25d63H - DD 04ed7facbH - DD 0fe6e1d2H - DD 0ccb5ccf9H - DD 08d84d7e0H - DD 04a1296afH - DD 0b238db6H - DD 0c870a09dH - DD 08941bb84H - DD 0465d2303H - DD 076c381aH - DD 0c43f1531H - DD 0850e0e28H - DD 042984f67H - DD 03a9547eH - DD 0c0fa7955H - DD 081cb624cH - DD 01fc53881H - DD 05ef42398H - DD 09da70eb3H - DD 0dc9615aaH - DD 01b0054e5H - DD 05a314ffcH - DD 0996262d7H - DD 0d85379ceH - DD 0174fe149H - DD 0567efa50H - DD 0952dd77bH - DD 0d41ccc62H - DD 0138a8d2dH - DD 052bb9634H - DD 091e8bb1fH - DD 0d0d9a006H - DD 0ecf37e5eH - DD 0adc26547H - DD 06e91486cH - DD 02fa05375H - DD 0e836123aH - DD 0a9070923H - DD 06a542408H - DD 02b653f11H - DD 0e479a796H - DD 0a548bc8fH - DD 0661b91a4H - DD 0272a8abdH - DD 0e0bccbf2H - DD 0a18dd0ebH - DD 062defdc0H - DD 023efe6d9H - DD 0bde1bc14H - DD 0fcd0a70dH - DD 03f838a26H - DD 07eb2913fH - DD 0b924d070H - DD 0f815cb69H - DD 03b46e642H - DD 07a77fd5bH - DD 0b56b65dcH - DD 0f45a7ec5H - DD 0370953eeH - DD 0763848f7H - DD 0b1ae09b8H - DD 0f09f12a1H - DD 033cc3f8aH - DD 072fd2493H - DD 00H - DD 0376ac201H - DD 06ed48403H - DD 059be4602H - DD 0dca80907H - DD 0ebc2cb06H - DD 0b27c8d04H - DD 085164f05H - DD 0b851130eH - DD 08f3bd10fH - DD 0d685970dH - DD 0e1ef550cH - DD 064f91a09H - DD 05393d808H - DD 0a2d9e0aH - DD 03d475c0bH - DD 070a3261cH - DD 047c9e41dH - DD 01e77a21fH - DD 0291d601eH - DD 0ac0b2f1bH - DD 09b61ed1aH - DD 0c2dfab18H - DD 0f5b56919H - DD 0c8f23512H - DD 0ff98f713H - DD 0a626b111H - DD 0914c7310H - DD 0145a3c15H - DD 02330fe14H - DD 07a8eb816H - DD 04de47a17H - DD 0e0464d38H - DD 0d72c8f39H - DD 08e92c93bH - DD 0b9f80b3aH - DD 03cee443fH - DD 0b84863eH - DD 0523ac03cH - DD 06550023dH - DD 058175e36H - DD 06f7d9c37H - DD 036c3da35H - DD 01a91834H - DD 084bf5731H - DD 0b3d59530H - DD 0ea6bd332H - DD 0dd011133H - DD 090e56b24H - DD 0a78fa925H - DD 0fe31ef27H - DD 0c95b2d26H - DD 04c4d6223H - DD 07b27a022H - DD 02299e620H - DD 015f32421H - DD 028b4782aH - DD 01fdeba2bH - DD 04660fc29H - DD 0710a3e28H - DD 0f41c712dH - DD 0c376b32cH - DD 09ac8f52eH - DD 0ada2372fH - DD 0c08d9a70H - DD 0f7e75871H - DD 0ae591e73H - DD 09933dc72H - DD 01c259377H - DD 02b4f5176H - DD 072f11774H - DD 0459bd575H - DD 078dc897eH - DD 04fb64b7fH - DD 016080d7dH - DD 02162cf7cH - DD 0a4748079H - DD 0931e4278H - DD 0caa0047aH - DD 0fdcac67bH - DD 0b02ebc6cH - DD 087447e6dH - DD 0defa386fH - DD 0e990fa6eH - DD 06c86b56bH - DD 05bec776aH - DD 02523168H - DD 03538f369H - DD 087faf62H - DD 03f156d63H - DD 066ab2b61H - DD 051c1e960H - DD 0d4d7a665H - DD 0e3bd6464H - DD 0ba032266H - DD 08d69e067H - DD 020cbd748H - DD 017a11549H - DD 04e1f534bH - DD 07975914aH - DD 0fc63de4fH - DD 0cb091c4eH - DD 092b75a4cH - DD 0a5dd984dH - DD 0989ac446H - DD 0aff00647H - DD 0f64e4045H - DD 0c1248244H - DD 04432cd41H - DD 073580f40H - DD 02ae64942H - DD 01d8c8b43H - DD 05068f154H - DD 067023355H - DD 03ebc7557H - DD 09d6b756H - DD 08cc0f853H - DD 0bbaa3a52H - DD 0e2147c50H - DD 0d57ebe51H - DD 0e839e25aH - DD 0df53205bH - DD 086ed6659H - DD 0b187a458H - DD 03491eb5dH - DD 03fb295cH - DD 05a456f5eH - DD 06d2fad5fH - DD 0801b35e1H - DD 0b771f7e0H - DD 0eecfb1e2H - DD 0d9a573e3H - DD 05cb33ce6H - DD 06bd9fee7H - DD 03267b8e5H - DD 050d7ae4H - DD 0384a26efH - DD 0f20e4eeH - DD 0569ea2ecH - DD 061f460edH - DD 0e4e22fe8H - DD 0d388ede9H - DD 08a36abebH - DD 0bd5c69eaH - DD 0f0b813fdH - DD 0c7d2d1fcH - DD 09e6c97feH - DD 0a90655ffH - DD 02c101afaH - DD 01b7ad8fbH - DD 042c49ef9H - DD 075ae5cf8H - DD 048e900f3H - DD 07f83c2f2H - DD 0263d84f0H - DD 0115746f1H - DD 0944109f4H - DD 0a32bcbf5H - DD 0fa958df7H - DD 0cdff4ff6H - DD 0605d78d9H - DD 05737bad8H - DD 0e89fcdaH - DD 039e33edbH - DD 0bcf571deH - DD 08b9fb3dfH - DD 0d221f5ddH - DD 0e54b37dcH - DD 0d80c6bd7H - DD 0ef66a9d6H - DD 0b6d8efd4H - DD 081b22dd5H - DD 04a462d0H - DD 033cea0d1H - DD 06a70e6d3H - DD 05d1a24d2H - DD 010fe5ec5H - DD 027949cc4H - DD 07e2adac6H - DD 0494018c7H - DD 0cc5657c2H - DD 0fb3c95c3H - DD 0a282d3c1H - DD 095e811c0H - DD 0a8af4dcbH - DD 09fc58fcaH - DD 0c67bc9c8H - DD 0f1110bc9H - DD 0740744ccH - DD 0436d86cdH - DD 01ad3c0cfH - DD 02db902ceH - DD 04096af91H - DD 077fc6d90H - DD 02e422b92H - DD 01928e993H - DD 09c3ea696H - DD 0ab546497H - DD 0f2ea2295H - DD 0c580e094H - DD 0f8c7bc9fH - DD 0cfad7e9eH - DD 09613389cH - DD 0a179fa9dH - DD 0246fb598H - DD 013057799H - DD 04abb319bH - DD 07dd1f39aH - DD 03035898dH - DD 075f4b8cH - DD 05ee10d8eH - DD 0698bcf8fH - DD 0ec9d808aH - DD 0dbf7428bH - DD 082490489H - DD 0b523c688H - DD 088649a83H - DD 0bf0e5882H - DD 0e6b01e80H - DD 0d1dadc81H - DD 054cc9384H - DD 063a65185H - DD 03a181787H - DD 0d72d586H - DD 0a0d0e2a9H - DD 097ba20a8H - DD 0ce0466aaH - DD 0f96ea4abH - DD 07c78ebaeH - DD 04b1229afH - DD 012ac6fadH - DD 025c6adacH - DD 01881f1a7H - DD 02feb33a6H - DD 0765575a4H - DD 0413fb7a5H - DD 0c429f8a0H - DD 0f3433aa1H - DD 0aafd7ca3H - DD 09d97bea2H - DD 0d073c4b5H - DD 0e71906b4H - DD 0bea740b6H - DD 089cd82b7H - DD 0cdbcdb2H - DD 03bb10fb3H - DD 0620f49b1H - DD 055658bb0H - DD 06822d7bbH - DD 05f4815baH - DD 06f653b8H - DD 0319c91b9H - DD 0b48adebcH - DD 083e01cbdH - DD 0da5e5abfH - DD 0ed3498beH - DD 00H - DD 06567bcb8H - DD 08bc809aaH - DD 0eeafb512H - DD 05797628fH - DD 032f0de37H - DD 0dc5f6b25H - DD 0b938d79dH - DD 0ef28b4c5H - DD 08a4f087dH - DD 064e0bd6fH - DD 018701d7H - DD 0b8bfd64aH - DD 0ddd86af2H - DD 03377dfe0H - DD 056106358H - DD 09f571950H - DD 0fa30a5e8H - DD 0149f10faH - DD 071f8ac42H - DD 0c8c07bdfH - DD 0ada7c767H - DD 043087275H - DD 0266fcecdH - DD 0707fad95H - DD 01518112dH - DD 0fbb7a43fH - DD 09ed01887H - DD 027e8cf1aH - DD 0428f73a2H - DD 0ac20c6b0H - DD 0c9477a08H - DD 03eaf32a0H - DD 05bc88e18H - DD 0b5673b0aH - DD 0d00087b2H - DD 06938502fH - DD 0c5fec97H - DD 0e2f05985H - DD 08797e53dH - DD 0d1878665H - DD 0b4e03addH - DD 05a4f8fcfH - DD 03f283377H - DD 08610e4eaH - DD 0e3775852H - DD 0dd8ed40H - DD 068bf51f8H - DD 0a1f82bf0H - DD 0c49f9748H - DD 02a30225aH - DD 04f579ee2H - DD 0f66f497fH - DD 09308f5c7H - DD 07da740d5H - DD 018c0fc6dH - DD 04ed09f35H - DD 02bb7238dH - DD 0c518969fH - DD 0a07f2a27H - DD 01947fdbaH - DD 07c204102H - DD 0928ff410H - DD 0f7e848a8H - DD 03d58149bH - DD 0583fa823H - DD 0b6901d31H - DD 0d3f7a189H - DD 06acf7614H - DD 0fa8caacH - DD 0e1077fbeH - DD 08460c306H - DD 0d270a05eH - DD 0b7171ce6H - DD 059b8a9f4H - DD 03cdf154cH - DD 085e7c2d1H - DD 0e0807e69H - DD 0e2fcb7bH - DD 06b4877c3H - DD 0a20f0dcbH - DD 0c768b173H - DD 029c70461H - DD 04ca0b8d9H - DD 0f5986f44H - DD 090ffd3fcH - DD 07e5066eeH - DD 01b37da56H - DD 04d27b90eH - DD 0284005b6H - DD 0c6efb0a4H - DD 0a3880c1cH - DD 01ab0db81H - DD 07fd76739H - DD 09178d22bH - DD 0f41f6e93H - DD 03f7263bH - DD 066909a83H - DD 0883f2f91H - DD 0ed589329H - DD 0546044b4H - DD 03107f80cH - DD 0dfa84d1eH - DD 0bacff1a6H - DD 0ecdf92feH - DD 089b82e46H - DD 067179b54H - DD 027027ecH - DD 0bb48f071H - DD 0de2f4cc9H - DD 03080f9dbH - DD 055e74563H - DD 09ca03f6bH - DD 0f9c783d3H - DD 0176836c1H - DD 0720f8a79H - DD 0cb375de4H - DD 0ae50e15cH - DD 040ff544eH - DD 02598e8f6H - DD 073888baeH - DD 016ef3716H - DD 0f8408204H - DD 09d273ebcH - DD 0241fe921H - DD 041785599H - DD 0afd7e08bH - DD 0cab05c33H - DD 03bb659edH - DD 05ed1e555H - DD 0b07e5047H - DD 0d519ecffH - DD 06c213b62H - DD 094687daH - DD 0e7e932c8H - DD 0828e8e70H - DD 0d49eed28H - DD 0b1f95190H - DD 05f56e482H - DD 03a31583aH - DD 083098fa7H - DD 0e66e331fH - DD 08c1860dH - DD 06da63ab5H - DD 0a4e140bdH - DD 0c186fc05H - DD 02f294917H - DD 04a4ef5afH - DD 0f3762232H - DD 096119e8aH - DD 078be2b98H - DD 01dd99720H - DD 04bc9f478H - DD 02eae48c0H - DD 0c001fdd2H - DD 0a566416aH - DD 01c5e96f7H - DD 079392a4fH - DD 097969f5dH - DD 0f2f123e5H - DD 05196b4dH - DD 0607ed7f5H - DD 08ed162e7H - DD 0ebb6de5fH - DD 0528e09c2H - DD 037e9b57aH - DD 0d9460068H - DD 0bc21bcd0H - DD 0ea31df88H - DD 08f566330H - DD 061f9d622H - DD 049e6a9aH - DD 0bda6bd07H - DD 0d8c101bfH - DD 0366eb4adH - DD 053090815H - DD 09a4e721dH - DD 0ff29cea5H - DD 011867bb7H - DD 074e1c70fH - DD 0cdd91092H - DD 0a8beac2aH - DD 046111938H - DD 02376a580H - DD 07566c6d8H - DD 010017a60H - DD 0feaecf72H - DD 09bc973caH - DD 022f1a457H - DD 0479618efH - DD 0a939adfdH - DD 0cc5e1145H - DD 06ee4d76H - DD 06389f1ceH - DD 08d2644dcH - DD 0e841f864H - DD 051792ff9H - DD 0341e9341H - DD 0dab12653H - DD 0bfd69aebH - DD 0e9c6f9b3H - DD 08ca1450bH - DD 0620ef019H - DD 07694ca1H - DD 0be519b3cH - DD 0db362784H - DD 035999296H - DD 050fe2e2eH - DD 099b95426H - DD 0fcdee89eH - DD 012715d8cH - DD 07716e134H - DD 0ce2e36a9H - DD 0ab498a11H - DD 045e63f03H - DD 0208183bbH - DD 07691e0e3H - DD 013f65c5bH - DD 0fd59e949H - DD 0983e55f1H - DD 02106826cH - DD 044613ed4H - DD 0aace8bc6H - DD 0cfa9377eH - DD 038417fd6H - DD 05d26c36eH - DD 0b389767cH - DD 0d6eecac4H - DD 06fd61d59H - DD 0ab1a1e1H - DD 0e41e14f3H - DD 08179a84bH - DD 0d769cb13H - DD 0b20e77abH - DD 05ca1c2b9H - DD 039c67e01H - DD 080fea99cH - DD 0e5991524H - DD 0b36a036H - DD 06e511c8eH - DD 0a7166686H - DD 0c271da3eH - DD 02cde6f2cH - DD 049b9d394H - DD 0f0810409H - DD 095e6b8b1H - DD 07b490da3H - DD 01e2eb11bH - DD 0483ed243H - DD 02d596efbH - DD 0c3f6dbe9H - DD 0a6916751H - DD 01fa9b0ccH - DD 07ace0c74H - DD 09461b966H - DD 0f10605deH -PUBLIC _crc32_combine@12 -PUBLIC _crc32@12 -PUBLIC _get_crc_table@0 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\crc32.c -; COMDAT _get_crc_table@0 -_TEXT SEGMENT -_get_crc_table@0 PROC ; COMDAT - -; 192 : #ifdef DYNAMIC_CRC_TABLE -; 193 : if (crc_table_empty) -; 194 : make_crc_table(); -; 195 : #endif /* DYNAMIC_CRC_TABLE */ -; 196 : return (const z_crc_t FAR *)crc_table; - - 00000 b8 00 00 00 00 mov eax, OFFSET _crc_table - -; 197 : } - - 00005 c3 ret 0 -_get_crc_table@0 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\crc32.c -; COMDAT _crc32@12 -_TEXT SEGMENT -_crc$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_len$ = 16 ; size = 4 -_crc32@12 PROC ; COMDAT - -; 208 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 209 : if (buf == Z_NULL) return 0UL; - - 00003 8b 55 0c mov edx, DWORD PTR _buf$[ebp] - 00006 85 d2 test edx, edx - 00008 75 06 jne SHORT $LN7@crc32 - 0000a 33 c0 xor eax, eax - -; 223 : else -; 224 : return crc32_big(crc, buf, len); -; 225 : } -; 226 : #endif /* BYFOUR */ -; 227 : crc = crc ^ 0xffffffffUL; -; 228 : while (len >= 8) { -; 229 : DO8; -; 230 : len -= 8; -; 231 : } -; 232 : if (len) do { -; 233 : DO1; -; 234 : } while (--len); -; 235 : return crc ^ 0xffffffffUL; -; 236 : } - - 0000c 5d pop ebp - 0000d c2 0c 00 ret 12 ; 0000000cH -$LN7@crc32: - -; 210 : -; 211 : #ifdef DYNAMIC_CRC_TABLE -; 212 : if (crc_table_empty) -; 213 : make_crc_table(); -; 214 : #endif /* DYNAMIC_CRC_TABLE */ -; 215 : -; 216 : #ifdef BYFOUR -; 217 : if (sizeof(void *) == sizeof(ptrdiff_t)) { -; 218 : z_crc_t endian; -; 219 : -; 220 : endian = 1; -; 221 : if (*((unsigned char *)(&endian))) -; 222 : return crc32_little(crc, buf, len); - - 00010 ff 75 10 push DWORD PTR _len$[ebp] - 00013 8b 4d 08 mov ecx, DWORD PTR _crc$[ebp] - 00016 e8 00 00 00 00 call _crc32_little - 0001b 83 c4 04 add esp, 4 - -; 223 : else -; 224 : return crc32_big(crc, buf, len); -; 225 : } -; 226 : #endif /* BYFOUR */ -; 227 : crc = crc ^ 0xffffffffUL; -; 228 : while (len >= 8) { -; 229 : DO8; -; 230 : len -= 8; -; 231 : } -; 232 : if (len) do { -; 233 : DO1; -; 234 : } while (--len); -; 235 : return crc ^ 0xffffffffUL; -; 236 : } - - 0001e 5d pop ebp - 0001f c2 0c 00 ret 12 ; 0000000cH -_crc32@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\crc32.c -; COMDAT _crc32_little -_TEXT SEGMENT -tv537 = -4 ; size = 4 -_buf$2$ = 8 ; size = 4 -_len$ = 8 ; size = 4 -_crc32_little PROC ; COMDAT -; _crc$ = ecx -; _buf$ = edx - -; 251 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 57 push edi - -; 252 : register z_crc_t c; -; 253 : register const z_crc_t FAR *buf4; -; 254 : -; 255 : c = (z_crc_t)crc; -; 256 : c = ~c; -; 257 : while (len && ((ptrdiff_t)buf & 3)) { - - 00006 8b 7d 08 mov edi, DWORD PTR _len$[ebp] - 00009 8b da mov ebx, edx - 0000b f7 d1 not ecx - 0000d 85 ff test edi, edi - 0000f 74 1d je SHORT $LN28@crc32_litt -$LL2@crc32_litt: - 00011 f6 c3 03 test bl, 3 - 00014 74 18 je SHORT $LN28@crc32_litt - -; 258 : c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8); - - 00016 0f b6 03 movzx eax, BYTE PTR [ebx] - 00019 43 inc ebx - 0001a 33 c1 xor eax, ecx - 0001c c1 e9 08 shr ecx, 8 - 0001f 0f b6 c0 movzx eax, al - 00022 33 0c 85 00 00 - 00 00 xor ecx, DWORD PTR _crc_table[eax*4] - -; 259 : len--; - - 00029 83 ef 01 sub edi, 1 - 0002c 75 e3 jne SHORT $LL2@crc32_litt -$LN28@crc32_litt: - 0002e 56 push esi - -; 263 : while (len >= 32) { - - 0002f 83 ff 20 cmp edi, 32 ; 00000020H - 00032 0f 82 de 01 00 - 00 jb $LN15@crc32_litt - -; 260 : } -; 261 : -; 262 : buf4 = (const z_crc_t FAR *)(const void FAR *)buf; - - 00038 8b c7 mov eax, edi - 0003a c1 e8 05 shr eax, 5 - 0003d 89 45 fc mov DWORD PTR tv537[ebp], eax -$LL4@crc32_litt: - -; 264 : DOLIT32; - - 00040 33 0b xor ecx, DWORD PTR [ebx] - 00042 8b c1 mov eax, ecx - 00044 c1 e8 10 shr eax, 16 ; 00000010H - 00047 0f b6 d0 movzx edx, al - 0004a 8b c1 mov eax, ecx - 0004c c1 e8 08 shr eax, 8 - 0004f 0f b6 c0 movzx eax, al - 00052 8b 14 95 00 04 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+1024] - 00059 33 14 85 00 08 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+2048] - 00060 8b c1 mov eax, ecx - 00062 c1 e8 18 shr eax, 24 ; 00000018H - 00065 33 14 85 00 00 - 00 00 xor edx, DWORD PTR _crc_table[eax*4] - 0006c 0f b6 c1 movzx eax, cl - 0006f 33 14 85 00 0c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+3072] - 00076 33 53 04 xor edx, DWORD PTR [ebx+4] - 00079 83 c3 08 add ebx, 8 - 0007c 8b c2 mov eax, edx - 0007e 89 5d 08 mov DWORD PTR _buf$2$[ebp], ebx - 00081 c1 e8 10 shr eax, 16 ; 00000010H - 00084 0f b6 c8 movzx ecx, al - 00087 8b c2 mov eax, edx - 00089 c1 e8 08 shr eax, 8 - 0008c 0f b6 c0 movzx eax, al - 0008f 8b 75 08 mov esi, DWORD PTR _buf$2$[ebp] - 00092 8b 1c 8d 00 04 - 00 00 mov ebx, DWORD PTR _crc_table[ecx*4+1024] - 00099 33 1c 85 00 08 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+2048] - 000a0 8b c2 mov eax, edx - 000a2 c1 e8 18 shr eax, 24 ; 00000018H - 000a5 33 1c 85 00 00 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4] - 000ac 0f b6 c2 movzx eax, dl - 000af 33 1c 85 00 0c - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+3072] - 000b6 33 1e xor ebx, DWORD PTR [esi] - 000b8 8b c3 mov eax, ebx - 000ba c1 e8 10 shr eax, 16 ; 00000010H - 000bd 0f b6 c8 movzx ecx, al - 000c0 8b c3 mov eax, ebx - 000c2 c1 e8 08 shr eax, 8 - 000c5 0f b6 c0 movzx eax, al - 000c8 8b 14 8d 00 04 - 00 00 mov edx, DWORD PTR _crc_table[ecx*4+1024] - 000cf 33 14 85 00 08 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+2048] - 000d6 8b c3 mov eax, ebx - 000d8 c1 e8 18 shr eax, 24 ; 00000018H - 000db 33 14 85 00 00 - 00 00 xor edx, DWORD PTR _crc_table[eax*4] - 000e2 0f b6 c3 movzx eax, bl - 000e5 33 14 85 00 0c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+3072] - 000ec 33 56 04 xor edx, DWORD PTR [esi+4] - 000ef 8b c2 mov eax, edx - 000f1 c1 e8 10 shr eax, 16 ; 00000010H - 000f4 0f b6 c8 movzx ecx, al - 000f7 8b c2 mov eax, edx - 000f9 c1 e8 08 shr eax, 8 - 000fc 0f b6 c0 movzx eax, al - 000ff 8b 1c 8d 00 04 - 00 00 mov ebx, DWORD PTR _crc_table[ecx*4+1024] - 00106 33 1c 85 00 08 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+2048] - 0010d 8b c2 mov eax, edx - 0010f c1 e8 18 shr eax, 24 ; 00000018H - 00112 33 1c 85 00 00 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4] - 00119 0f b6 c2 movzx eax, dl - 0011c 33 1c 85 00 0c - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+3072] - 00123 33 5e 08 xor ebx, DWORD PTR [esi+8] - 00126 8b c3 mov eax, ebx - 00128 c1 e8 10 shr eax, 16 ; 00000010H - 0012b 0f b6 c8 movzx ecx, al - 0012e 8b c3 mov eax, ebx - 00130 c1 e8 08 shr eax, 8 - 00133 0f b6 c0 movzx eax, al - 00136 8b 14 8d 00 04 - 00 00 mov edx, DWORD PTR _crc_table[ecx*4+1024] - 0013d 33 14 85 00 08 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+2048] - 00144 8b c3 mov eax, ebx - 00146 c1 e8 18 shr eax, 24 ; 00000018H - 00149 33 14 85 00 00 - 00 00 xor edx, DWORD PTR _crc_table[eax*4] - 00150 0f b6 c3 movzx eax, bl - 00153 33 14 85 00 0c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+3072] - 0015a 33 56 0c xor edx, DWORD PTR [esi+12] - 0015d 8b c2 mov eax, edx - 0015f c1 e8 10 shr eax, 16 ; 00000010H - 00162 0f b6 c8 movzx ecx, al - 00165 8b c2 mov eax, edx - 00167 c1 e8 08 shr eax, 8 - 0016a 0f b6 c0 movzx eax, al - 0016d 8b 1c 8d 00 04 - 00 00 mov ebx, DWORD PTR _crc_table[ecx*4+1024] - 00174 33 1c 85 00 08 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+2048] - -; 265 : len -= 32; - - 0017b 83 ef 20 sub edi, 32 ; 00000020H - 0017e 8b c2 mov eax, edx - 00180 c1 e8 18 shr eax, 24 ; 00000018H - 00183 33 1c 85 00 00 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4] - 0018a 0f b6 c2 movzx eax, dl - 0018d 33 1c 85 00 0c - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+3072] - 00194 33 5e 10 xor ebx, DWORD PTR [esi+16] - 00197 83 c6 14 add esi, 20 ; 00000014H - 0019a 8b c3 mov eax, ebx - 0019c 89 75 08 mov DWORD PTR _buf$2$[ebp], esi - 0019f c1 e8 10 shr eax, 16 ; 00000010H - 001a2 0f b6 c8 movzx ecx, al - 001a5 8b c3 mov eax, ebx - 001a7 c1 e8 08 shr eax, 8 - 001aa 0f b6 c0 movzx eax, al - 001ad 8b 14 8d 00 04 - 00 00 mov edx, DWORD PTR _crc_table[ecx*4+1024] - 001b4 33 14 85 00 08 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+2048] - 001bb 8b c3 mov eax, ebx - 001bd c1 e8 18 shr eax, 24 ; 00000018H - 001c0 33 14 85 00 00 - 00 00 xor edx, DWORD PTR _crc_table[eax*4] - 001c7 0f b6 c3 movzx eax, bl - 001ca 8b de mov ebx, esi - 001cc 33 14 85 00 0c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+3072] - 001d3 33 13 xor edx, DWORD PTR [ebx] - 001d5 83 c3 04 add ebx, 4 - 001d8 8b c2 mov eax, edx - 001da c1 e8 10 shr eax, 16 ; 00000010H - 001dd 0f b6 c8 movzx ecx, al - 001e0 8b c2 mov eax, edx - 001e2 c1 e8 08 shr eax, 8 - 001e5 0f b6 c0 movzx eax, al - 001e8 8b 0c 8d 00 04 - 00 00 mov ecx, DWORD PTR _crc_table[ecx*4+1024] - 001ef 33 0c 85 00 08 - 00 00 xor ecx, DWORD PTR _crc_table[eax*4+2048] - 001f6 8b c2 mov eax, edx - 001f8 c1 e8 18 shr eax, 24 ; 00000018H - 001fb 33 0c 85 00 00 - 00 00 xor ecx, DWORD PTR _crc_table[eax*4] - 00202 0f b6 c2 movzx eax, dl - 00205 33 0c 85 00 0c - 00 00 xor ecx, DWORD PTR _crc_table[eax*4+3072] - 0020c 83 6d fc 01 sub DWORD PTR tv537[ebp], 1 - 00210 0f 85 2a fe ff - ff jne $LL4@crc32_litt -$LN15@crc32_litt: - -; 266 : } -; 267 : while (len >= 4) { - - 00216 83 ff 04 cmp edi, 4 - 00219 72 48 jb SHORT $LN7@crc32_litt - 0021b 8b f7 mov esi, edi - 0021d c1 ee 02 shr esi, 2 -$LL6@crc32_litt: - -; 268 : DOLIT4; - - 00220 33 0b xor ecx, DWORD PTR [ebx] - -; 269 : len -= 4; - - 00222 83 ef 04 sub edi, 4 - 00225 8b c1 mov eax, ecx - 00227 83 c3 04 add ebx, 4 - 0022a c1 e8 10 shr eax, 16 ; 00000010H - 0022d 0f b6 d0 movzx edx, al - 00230 8b c1 mov eax, ecx - 00232 c1 e8 08 shr eax, 8 - 00235 0f b6 c0 movzx eax, al - 00238 8b 14 95 00 04 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+1024] - 0023f 33 14 85 00 08 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+2048] - 00246 8b c1 mov eax, ecx - 00248 c1 e8 18 shr eax, 24 ; 00000018H - 0024b 33 14 85 00 00 - 00 00 xor edx, DWORD PTR _crc_table[eax*4] - 00252 0f b6 c1 movzx eax, cl - 00255 33 14 85 00 0c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+3072] - 0025c 8b ca mov ecx, edx - 0025e 83 ee 01 sub esi, 1 - 00261 75 bd jne SHORT $LL6@crc32_litt -$LN7@crc32_litt: - 00263 5e pop esi - -; 270 : } -; 271 : buf = (const unsigned char FAR *)buf4; -; 272 : -; 273 : if (len) do { - - 00264 85 ff test edi, edi - 00266 74 1a je SHORT $LN9@crc32_litt -$LL10@crc32_litt: - -; 274 : c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8); - - 00268 0f b6 03 movzx eax, BYTE PTR [ebx] - 0026b 8d 5b 01 lea ebx, DWORD PTR [ebx+1] - 0026e 33 c1 xor eax, ecx - 00270 c1 e9 08 shr ecx, 8 - 00273 0f b6 c0 movzx eax, al - 00276 33 0c 85 00 00 - 00 00 xor ecx, DWORD PTR _crc_table[eax*4] - -; 275 : } while (--len); - - 0027d 83 ef 01 sub edi, 1 - 00280 75 e6 jne SHORT $LL10@crc32_litt -$LN9@crc32_litt: - -; 276 : c = ~c; - - 00282 f7 d1 not ecx - 00284 5f pop edi - -; 277 : return (unsigned long)c; - - 00285 8b c1 mov eax, ecx - 00287 5b pop ebx - -; 278 : } - - 00288 8b e5 mov esp, ebp - 0028a 5d pop ebp - 0028b c3 ret 0 -_crc32_little ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\crc32.c -; COMDAT _crc32_big -_TEXT SEGMENT -_c$6$ = -4 ; size = 4 -tv575 = 8 ; size = 4 -_len$ = 8 ; size = 4 -_crc32_big PROC ; COMDAT -; _crc$ = ecx -; _buf$ = edx - -; 291 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - -; 292 : register z_crc_t c; -; 293 : register const z_crc_t FAR *buf4; -; 294 : -; 295 : c = ZSWAP32((z_crc_t)crc); - - 00006 8b c1 mov eax, ecx - -; 296 : c = ~c; - - 00008 8b f1 mov esi, ecx - 0000a 25 00 ff 00 00 and eax, 65280 ; 0000ff00H - 0000f c1 e6 10 shl esi, 16 ; 00000010H - 00012 03 c6 add eax, esi - 00014 8b da mov ebx, edx - 00016 8b f1 mov esi, ecx - 00018 c1 e0 08 shl eax, 8 - 0001b c1 ee 08 shr esi, 8 - 0001e 81 e6 00 ff 00 - 00 and esi, 65280 ; 0000ff00H - 00024 c1 e9 18 shr ecx, 24 ; 00000018H - 00027 03 c6 add eax, esi - -; 297 : while (len && ((ptrdiff_t)buf & 3)) { - - 00029 8b 75 08 mov esi, DWORD PTR _len$[ebp] - 0002c 03 c1 add eax, ecx - 0002e f7 d0 not eax - 00030 57 push edi - 00031 85 f6 test esi, esi - 00033 74 1f je SHORT $LN28@crc32_big -$LL2@crc32_big: - 00035 f6 c3 03 test bl, 3 - 00038 74 1a je SHORT $LN28@crc32_big - -; 298 : c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8); - - 0003a 0f b6 0b movzx ecx, BYTE PTR [ebx] - 0003d 8b d0 mov edx, eax - 0003f c1 ea 18 shr edx, 24 ; 00000018H - 00042 43 inc ebx - 00043 33 d1 xor edx, ecx - 00045 c1 e0 08 shl eax, 8 - 00048 33 04 95 00 10 - 00 00 xor eax, DWORD PTR _crc_table[edx*4+4096] - -; 299 : len--; - - 0004f 83 ee 01 sub esi, 1 - 00052 75 e1 jne SHORT $LL2@crc32_big -$LN28@crc32_big: - -; 300 : } -; 301 : -; 302 : buf4 = (const z_crc_t FAR *)(const void FAR *)buf; -; 303 : buf4--; - - 00054 8d 7b fc lea edi, DWORD PTR [ebx-4] - -; 304 : while (len >= 32) { - - 00057 83 fe 20 cmp esi, 32 ; 00000020H - 0005a 0f 82 d5 01 00 - 00 jb $LN15@crc32_big - -; 300 : } -; 301 : -; 302 : buf4 = (const z_crc_t FAR *)(const void FAR *)buf; -; 303 : buf4--; - - 00060 8b ce mov ecx, esi - 00062 c1 e9 05 shr ecx, 5 - 00065 89 4d 08 mov DWORD PTR tv575[ebp], ecx -$LL4@crc32_big: - -; 305 : DOBIG32; - - 00068 33 47 04 xor eax, DWORD PTR [edi+4] - 0006b 8b c8 mov ecx, eax - 0006d c1 e9 10 shr ecx, 16 ; 00000010H - 00070 0f b6 d1 movzx edx, cl - 00073 8b c8 mov ecx, eax - 00075 c1 e9 08 shr ecx, 8 - 00078 0f b6 c9 movzx ecx, cl - 0007b 8b 14 95 00 18 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+6144] - 00082 33 14 8d 00 14 - 00 00 xor edx, DWORD PTR _crc_table[ecx*4+5120] - 00089 8b c8 mov ecx, eax - 0008b 0f b6 c0 movzx eax, al - 0008e c1 e9 18 shr ecx, 24 ; 00000018H - 00091 33 14 8d 00 1c - 00 00 xor edx, DWORD PTR _crc_table[ecx*4+7168] - 00098 33 14 85 00 10 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+4096] - 0009f 33 57 08 xor edx, DWORD PTR [edi+8] - 000a2 8b c2 mov eax, edx - 000a4 c1 e8 10 shr eax, 16 ; 00000010H - 000a7 0f b6 c8 movzx ecx, al - 000aa 8b c2 mov eax, edx - 000ac c1 e8 08 shr eax, 8 - 000af 0f b6 c0 movzx eax, al - 000b2 8b 1c 8d 00 18 - 00 00 mov ebx, DWORD PTR _crc_table[ecx*4+6144] - 000b9 33 1c 85 00 14 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+5120] - 000c0 8b c2 mov eax, edx - 000c2 c1 e8 18 shr eax, 24 ; 00000018H - 000c5 33 1c 85 00 1c - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+7168] - 000cc 0f b6 c2 movzx eax, dl - 000cf 33 1c 85 00 10 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+4096] - 000d6 33 5f 0c xor ebx, DWORD PTR [edi+12] - 000d9 8b c3 mov eax, ebx - 000db c1 e8 10 shr eax, 16 ; 00000010H - 000de 0f b6 c8 movzx ecx, al - 000e1 8b c3 mov eax, ebx - 000e3 c1 e8 08 shr eax, 8 - 000e6 0f b6 c0 movzx eax, al - 000e9 8b 14 8d 00 18 - 00 00 mov edx, DWORD PTR _crc_table[ecx*4+6144] - 000f0 33 14 85 00 14 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+5120] - 000f7 8b c3 mov eax, ebx - 000f9 c1 e8 18 shr eax, 24 ; 00000018H - 000fc 33 14 85 00 1c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+7168] - 00103 0f b6 c3 movzx eax, bl - 00106 33 14 85 00 10 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+4096] - 0010d 33 57 10 xor edx, DWORD PTR [edi+16] - 00110 8b c2 mov eax, edx - 00112 c1 e8 10 shr eax, 16 ; 00000010H - 00115 0f b6 c8 movzx ecx, al - 00118 8b c2 mov eax, edx - 0011a c1 e8 08 shr eax, 8 - 0011d 0f b6 c0 movzx eax, al - 00120 8b 1c 8d 00 18 - 00 00 mov ebx, DWORD PTR _crc_table[ecx*4+6144] - 00127 33 1c 85 00 14 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+5120] - 0012e 8b c2 mov eax, edx - 00130 c1 e8 18 shr eax, 24 ; 00000018H - 00133 33 1c 85 00 1c - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+7168] - 0013a 0f b6 c2 movzx eax, dl - 0013d 33 1c 85 00 10 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+4096] - 00144 33 5f 14 xor ebx, DWORD PTR [edi+20] - 00147 8b c3 mov eax, ebx - 00149 c1 e8 10 shr eax, 16 ; 00000010H - 0014c 0f b6 c8 movzx ecx, al - 0014f 8b c3 mov eax, ebx - 00151 c1 e8 08 shr eax, 8 - 00154 0f b6 c0 movzx eax, al - 00157 8b 14 8d 00 18 - 00 00 mov edx, DWORD PTR _crc_table[ecx*4+6144] - 0015e 33 14 85 00 14 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+5120] - 00165 8b c3 mov eax, ebx - 00167 c1 e8 18 shr eax, 24 ; 00000018H - 0016a 33 14 85 00 1c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+7168] - 00171 0f b6 c3 movzx eax, bl - 00174 33 14 85 00 10 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+4096] - 0017b 33 57 18 xor edx, DWORD PTR [edi+24] - 0017e 8b c2 mov eax, edx - 00180 c1 e8 10 shr eax, 16 ; 00000010H - 00183 0f b6 c8 movzx ecx, al - 00186 8b c2 mov eax, edx - 00188 c1 e8 08 shr eax, 8 - 0018b 0f b6 c0 movzx eax, al - 0018e 8b 1c 8d 00 18 - 00 00 mov ebx, DWORD PTR _crc_table[ecx*4+6144] - 00195 33 1c 85 00 14 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+5120] - 0019c 8b c2 mov eax, edx - 0019e c1 e8 18 shr eax, 24 ; 00000018H - 001a1 33 1c 85 00 1c - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+7168] - -; 306 : len -= 32; - - 001a8 83 ee 20 sub esi, 32 ; 00000020H - 001ab 0f b6 c2 movzx eax, dl - 001ae 33 1c 85 00 10 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+4096] - 001b5 33 5f 1c xor ebx, DWORD PTR [edi+28] - 001b8 83 c7 20 add edi, 32 ; 00000020H - 001bb 8b c3 mov eax, ebx - 001bd 89 5d fc mov DWORD PTR _c$6$[ebp], ebx - 001c0 c1 e8 10 shr eax, 16 ; 00000010H - 001c3 0f b6 c8 movzx ecx, al - 001c6 8b c3 mov eax, ebx - 001c8 c1 e8 08 shr eax, 8 - 001cb 0f b6 c0 movzx eax, al - 001ce 8b 1c 8d 00 18 - 00 00 mov ebx, DWORD PTR _crc_table[ecx*4+6144] - 001d5 8b 4d fc mov ecx, DWORD PTR _c$6$[ebp] - 001d8 33 1c 85 00 14 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+5120] - 001df 8b c1 mov eax, ecx - 001e1 c1 e8 18 shr eax, 24 ; 00000018H - 001e4 33 1c 85 00 1c - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+7168] - 001eb 0f b6 c1 movzx eax, cl - 001ee 33 1c 85 00 10 - 00 00 xor ebx, DWORD PTR _crc_table[eax*4+4096] - 001f5 33 1f xor ebx, DWORD PTR [edi] - 001f7 8b c3 mov eax, ebx - 001f9 c1 e8 10 shr eax, 16 ; 00000010H - 001fc 0f b6 d0 movzx edx, al - 001ff 8b c3 mov eax, ebx - 00201 c1 e8 08 shr eax, 8 - 00204 0f b6 c8 movzx ecx, al - 00207 8b 04 95 00 18 - 00 00 mov eax, DWORD PTR _crc_table[edx*4+6144] - 0020e 33 04 8d 00 14 - 00 00 xor eax, DWORD PTR _crc_table[ecx*4+5120] - 00215 8b cb mov ecx, ebx - 00217 c1 e9 18 shr ecx, 24 ; 00000018H - 0021a 33 04 8d 00 1c - 00 00 xor eax, DWORD PTR _crc_table[ecx*4+7168] - 00221 0f b6 cb movzx ecx, bl - 00224 33 04 8d 00 10 - 00 00 xor eax, DWORD PTR _crc_table[ecx*4+4096] - 0022b 83 6d 08 01 sub DWORD PTR tv575[ebp], 1 - 0022f 0f 85 33 fe ff - ff jne $LL4@crc32_big -$LN15@crc32_big: - -; 307 : } -; 308 : while (len >= 4) { - - 00235 83 fe 04 cmp esi, 4 - 00238 72 4a jb SHORT $LN7@crc32_big - 0023a 8b de mov ebx, esi - 0023c c1 eb 02 shr ebx, 2 - 0023f 90 npad 1 -$LL6@crc32_big: - -; 309 : DOBIG4; - - 00240 33 47 04 xor eax, DWORD PTR [edi+4] - 00243 83 c7 04 add edi, 4 - 00246 8b c8 mov ecx, eax - -; 310 : len -= 4; - - 00248 83 ee 04 sub esi, 4 - 0024b c1 e9 10 shr ecx, 16 ; 00000010H - 0024e 0f b6 d1 movzx edx, cl - 00251 8b c8 mov ecx, eax - 00253 c1 e9 08 shr ecx, 8 - 00256 0f b6 c9 movzx ecx, cl - 00259 8b 14 95 00 18 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+6144] - 00260 33 14 8d 00 14 - 00 00 xor edx, DWORD PTR _crc_table[ecx*4+5120] - 00267 8b c8 mov ecx, eax - 00269 c1 e9 18 shr ecx, 24 ; 00000018H - 0026c 0f b6 c0 movzx eax, al - 0026f 33 14 8d 00 1c - 00 00 xor edx, DWORD PTR _crc_table[ecx*4+7168] - 00276 33 14 85 00 10 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+4096] - 0027d 8b c2 mov eax, edx - 0027f 83 eb 01 sub ebx, 1 - 00282 75 bc jne SHORT $LL6@crc32_big -$LN7@crc32_big: - -; 311 : } -; 312 : buf4++; - - 00284 83 c7 04 add edi, 4 - -; 313 : buf = (const unsigned char FAR *)buf4; -; 314 : -; 315 : if (len) do { - - 00287 85 f6 test esi, esi - 00289 74 21 je SHORT $LN9@crc32_big - 0028b 0f 1f 44 00 00 npad 5 -$LL10@crc32_big: - -; 316 : c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8); - - 00290 0f b6 0f movzx ecx, BYTE PTR [edi] - 00293 8d 7f 01 lea edi, DWORD PTR [edi+1] - 00296 8b d0 mov edx, eax - 00298 c1 e0 08 shl eax, 8 - 0029b c1 ea 18 shr edx, 24 ; 00000018H - 0029e 33 d1 xor edx, ecx - 002a0 33 04 95 00 10 - 00 00 xor eax, DWORD PTR _crc_table[edx*4+4096] - -; 317 : } while (--len); - - 002a7 83 ee 01 sub esi, 1 - 002aa 75 e4 jne SHORT $LL10@crc32_big -$LN9@crc32_big: - -; 318 : c = ~c; - - 002ac f7 d0 not eax - -; 319 : return (unsigned long)(ZSWAP32(c)); - - 002ae 8b d0 mov edx, eax - 002b0 8b c8 mov ecx, eax - 002b2 c1 e1 10 shl ecx, 16 ; 00000010H - 002b5 81 e2 00 ff 00 - 00 and edx, 65280 ; 0000ff00H - 002bb 03 d1 add edx, ecx - 002bd 8b c8 mov ecx, eax - 002bf c1 e9 08 shr ecx, 8 - 002c2 c1 e2 08 shl edx, 8 - 002c5 81 e1 00 ff 00 - 00 and ecx, 65280 ; 0000ff00H - 002cb 5f pop edi - 002cc 03 d1 add edx, ecx - 002ce c1 e8 18 shr eax, 24 ; 00000018H - 002d1 5e pop esi - 002d2 03 c2 add eax, edx - 002d4 5b pop ebx - -; 320 : } - - 002d5 8b e5 mov esp, ebp - 002d7 5d pop ebp - 002d8 c3 ret 0 -_crc32_big ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\crc32.c -; COMDAT _gf2_matrix_times -_TEXT SEGMENT -_gf2_matrix_times PROC ; COMDAT -; _mat$ = ecx -; _vec$ = edx - -; 331 : unsigned long sum; -; 332 : -; 333 : sum = 0; - - 00000 33 c0 xor eax, eax - -; 334 : while (vec) { - - 00002 85 d2 test edx, edx - 00004 74 0e je SHORT $LN3@gf2_matrix -$LL2@gf2_matrix: - -; 335 : if (vec & 1) - - 00006 f6 c2 01 test dl, 1 - 00009 74 02 je SHORT $LN4@gf2_matrix - -; 336 : sum ^= *mat; - - 0000b 33 01 xor eax, DWORD PTR [ecx] -$LN4@gf2_matrix: - -; 337 : vec >>= 1; -; 338 : mat++; - - 0000d 83 c1 04 add ecx, 4 - 00010 d1 ea shr edx, 1 - 00012 75 f2 jne SHORT $LL2@gf2_matrix -$LN3@gf2_matrix: - -; 339 : } -; 340 : return sum; -; 341 : } - - 00014 c3 ret 0 -_gf2_matrix_times ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\crc32.c -; COMDAT _gf2_matrix_square -_TEXT SEGMENT -_mat$1$ = -4 ; size = 4 -_gf2_matrix_square PROC ; COMDAT -; _square$ = ecx -; _mat$ = edx - -; 347 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 8b c2 mov eax, edx - 00007 56 push esi - 00008 8b f1 mov esi, ecx - 0000a 89 45 fc mov DWORD PTR _mat$1$[ebp], eax - -; 348 : int n; -; 349 : -; 350 : for (n = 0; n < GF2_DIM; n++) - - 0000d 8b d8 mov ebx, eax - 0000f 57 push edi - 00010 2b de sub ebx, esi - 00012 bf 20 00 00 00 mov edi, 32 ; 00000020H - 00017 66 0f 1f 84 00 - 00 00 00 00 npad 9 -$LL4@gf2_matrix: - -; 351 : square[n] = gf2_matrix_times(mat, mat[n]); - - 00020 8b 14 33 mov edx, DWORD PTR [ebx+esi] - 00023 8b c8 mov ecx, eax - 00025 e8 00 00 00 00 call _gf2_matrix_times - 0002a 89 06 mov DWORD PTR [esi], eax - 0002c 8d 76 04 lea esi, DWORD PTR [esi+4] - 0002f 8b 45 fc mov eax, DWORD PTR _mat$1$[ebp] - 00032 83 ef 01 sub edi, 1 - 00035 75 e9 jne SHORT $LL4@gf2_matrix - 00037 5f pop edi - 00038 5e pop esi - 00039 5b pop ebx - -; 352 : } - - 0003a 8b e5 mov esp, ebp - 0003c 5d pop ebp - 0003d c3 ret 0 -_gf2_matrix_square ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\crc32.c -; COMDAT _crc32_combine_ -_TEXT SEGMENT -_even$ = -260 ; size = 128 -_odd$ = -132 ; size = 128 -_crc2$1$ = -4 ; size = 4 -_len2$ = 8 ; size = 8 -_crc32_combine_ PROC ; COMDAT -; _crc1$ = ecx -; _crc2$ = edx - -; 359 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 81 ec 04 01 00 - 00 sub esp, 260 ; 00000104H - 00009 53 push ebx - 0000a 56 push esi - -; 360 : int n; -; 361 : unsigned long row; -; 362 : unsigned long even[GF2_DIM]; /* even-power-of-two zeros operator */ -; 363 : unsigned long odd[GF2_DIM]; /* odd-power-of-two zeros operator */ -; 364 : -; 365 : /* degenerate case (also disallow negative lengths) */ -; 366 : if (len2 <= 0) - - 0000b 8b 75 0c mov esi, DWORD PTR _len2$[ebp+4] - 0000e 8b d9 mov ebx, ecx - 00010 89 55 fc mov DWORD PTR _crc2$1$[ebp], edx - 00013 57 push edi - 00014 8b 7d 08 mov edi, DWORD PTR _len2$[ebp] - 00017 85 f6 test esi, esi - 00019 7f 0e jg SHORT $LN8@crc32_comb - 0001b 0f 8c bf 00 00 - 00 jl $LN23@crc32_comb - 00021 85 ff test edi, edi - 00023 0f 84 b7 00 00 - 00 je $LN23@crc32_comb -$LN8@crc32_comb: - -; 367 : return crc1; -; 368 : -; 369 : /* put operator for one zero bit in odd */ -; 370 : odd[0] = 0xedb88320UL; /* CRC-32 polynomial */ -; 371 : row = 1; - - 00029 b9 01 00 00 00 mov ecx, 1 - 0002e c7 85 7c ff ff - ff 20 83 b8 ed mov DWORD PTR _odd$[ebp], -306674912 ; edb88320H - -; 372 : for (n = 1; n < GF2_DIM; n++) { - - 00038 8b c1 mov eax, ecx - 0003a 66 0f 1f 44 00 - 00 npad 6 -$LL17@crc32_comb: - -; 373 : odd[n] = row; - - 00040 89 8c 85 7c ff - ff ff mov DWORD PTR _odd$[ebp+eax*4], ecx - 00047 40 inc eax - -; 374 : row <<= 1; - - 00048 03 c9 add ecx, ecx - 0004a 83 f8 20 cmp eax, 32 ; 00000020H - 0004d 7c f1 jl SHORT $LL17@crc32_comb - -; 375 : } -; 376 : -; 377 : /* put operator for two zero bits in even */ -; 378 : gf2_matrix_square(even, odd); - - 0004f 8d 95 7c ff ff - ff lea edx, DWORD PTR _odd$[ebp] - 00055 8d 8d fc fe ff - ff lea ecx, DWORD PTR _even$[ebp] - 0005b e8 00 00 00 00 call _gf2_matrix_square - -; 379 : -; 380 : /* put operator for four zero bits in odd */ -; 381 : gf2_matrix_square(odd, even); - - 00060 8d 95 fc fe ff - ff lea edx, DWORD PTR _even$[ebp] - 00066 8d 8d 7c ff ff - ff lea ecx, DWORD PTR _odd$[ebp] - 0006c e8 00 00 00 00 call _gf2_matrix_square -$LL7@crc32_comb: - -; 382 : -; 383 : /* apply len2 zeros to crc1 (first square will put the operator for one -; 384 : zero byte, eight zero bits, in even) */ -; 385 : do { -; 386 : /* apply zeros operator for this bit of len2 */ -; 387 : gf2_matrix_square(even, odd); - - 00071 8d 95 7c ff ff - ff lea edx, DWORD PTR _odd$[ebp] - 00077 8d 8d fc fe ff - ff lea ecx, DWORD PTR _even$[ebp] - 0007d e8 00 00 00 00 call _gf2_matrix_square - -; 388 : if (len2 & 1) - - 00082 8b c7 mov eax, edi - 00084 83 e0 01 and eax, 1 - 00087 83 c8 00 or eax, 0 - 0008a 74 0f je SHORT $LN9@crc32_comb - -; 389 : crc1 = gf2_matrix_times(even, crc1); - - 0008c 8b d3 mov edx, ebx - 0008e 8d 8d fc fe ff - ff lea ecx, DWORD PTR _even$[ebp] - 00094 e8 00 00 00 00 call _gf2_matrix_times - 00099 8b d8 mov ebx, eax -$LN9@crc32_comb: - -; 390 : len2 >>= 1; - - 0009b 0f ac f7 01 shrd edi, esi, 1 - 0009f d1 fe sar esi, 1 - -; 391 : -; 392 : /* if no more bits set, then done */ -; 393 : if (len2 == 0) - - 000a1 8b c7 mov eax, edi - 000a3 0b c6 or eax, esi - 000a5 74 36 je SHORT $LN6@crc32_comb - -; 394 : break; -; 395 : -; 396 : /* another iteration of the loop with odd and even swapped */ -; 397 : gf2_matrix_square(odd, even); - - 000a7 8d 95 fc fe ff - ff lea edx, DWORD PTR _even$[ebp] - 000ad 8d 8d 7c ff ff - ff lea ecx, DWORD PTR _odd$[ebp] - 000b3 e8 00 00 00 00 call _gf2_matrix_square - -; 398 : if (len2 & 1) - - 000b8 8b c7 mov eax, edi - 000ba 83 e0 01 and eax, 1 - 000bd 83 c8 00 or eax, 0 - 000c0 74 0f je SHORT $LN11@crc32_comb - -; 399 : crc1 = gf2_matrix_times(odd, crc1); - - 000c2 8b d3 mov edx, ebx - 000c4 8d 8d 7c ff ff - ff lea ecx, DWORD PTR _odd$[ebp] - 000ca e8 00 00 00 00 call _gf2_matrix_times - 000cf 8b d8 mov ebx, eax -$LN11@crc32_comb: - -; 400 : len2 >>= 1; - - 000d1 0f ac f7 01 shrd edi, esi, 1 - 000d5 d1 fe sar esi, 1 - -; 401 : -; 402 : /* if no more bits set, then done */ -; 403 : } while (len2 != 0); - - 000d7 8b c7 mov eax, edi - 000d9 0b c6 or eax, esi - 000db 75 94 jne SHORT $LL7@crc32_comb -$LN6@crc32_comb: - -; 404 : -; 405 : /* return combined crc */ -; 406 : crc1 ^= crc2; - - 000dd 33 5d fc xor ebx, DWORD PTR _crc2$1$[ebp] -$LN23@crc32_comb: - 000e0 5f pop edi - 000e1 5e pop esi - -; 407 : return crc1; - - 000e2 8b c3 mov eax, ebx - 000e4 5b pop ebx - -; 408 : } - - 000e5 8b e5 mov esp, ebp - 000e7 5d pop ebp - 000e8 c3 ret 0 -_crc32_combine_ ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\crc32.c -; COMDAT _crc32_combine@12 -_TEXT SEGMENT -_crc1$ = 8 ; size = 4 -_crc2$ = 12 ; size = 4 -_len2$ = 16 ; size = 4 -_crc32_combine@12 PROC ; COMDAT - -; 415 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 416 : return crc32_combine_(crc1, crc2, len2); - - 00003 8b 45 10 mov eax, DWORD PTR _len2$[ebp] - 00006 8b 4d 08 mov ecx, DWORD PTR _crc1$[ebp] - 00009 99 cdq - 0000a 52 push edx - 0000b 8b 55 0c mov edx, DWORD PTR _crc2$[ebp] - 0000e 50 push eax - 0000f e8 00 00 00 00 call _crc32_combine_ - 00014 83 c4 08 add esp, 8 - -; 417 : } - - 00017 5d pop ebp - 00018 c2 0c 00 ret 12 ; 0000000cH -_crc32_combine@12 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/crc32.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/crc32.obj deleted file mode 100644 index 5df3a63aaf..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/crc32.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/deflate.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/deflate.cod deleted file mode 100644 index ec19286e9f..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/deflate.cod +++ /dev/null @@ -1,6858 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\deflate.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -?my_version@?1??deflateInit2_@@9@9 DB '1.2.8', 00H ; `deflateInit2_'::`2'::my_version - ORG $+2 -_configuration_table DW 00H - DW 00H - DW 00H - DW 00H - DD FLAT:_deflate_stored - DW 04H - DW 04H - DW 08H - DW 04H - DD FLAT:_deflate_fast - DW 04H - DW 05H - DW 010H - DW 08H - DD FLAT:_deflate_fast - DW 04H - DW 06H - DW 020H - DW 020H - DD FLAT:_deflate_fast - DW 04H - DW 04H - DW 010H - DW 010H - DD FLAT:_deflate_slow - DW 08H - DW 010H - DW 020H - DW 020H - DD FLAT:_deflate_slow - DW 08H - DW 010H - DW 080H - DW 080H - DD FLAT:_deflate_slow - DW 08H - DW 020H - DW 080H - DW 0100H - DD FLAT:_deflate_slow - DW 020H - DW 080H - DW 0102H - DW 0400H - DD FLAT:_deflate_slow - DW 020H - DW 0102H - DW 0102H - DW 01000H - DD FLAT:_deflate_slow -PUBLIC _deflateCopy@8 -PUBLIC _deflateBound@8 -PUBLIC _deflateTune@20 -PUBLIC _deflateParams@12 -PUBLIC _deflatePrime@12 -PUBLIC _deflatePending@12 -PUBLIC _deflateSetHeader@8 -PUBLIC _deflateReset@4 -PUBLIC _deflateResetKeep@4 -PUBLIC _deflateSetDictionary@12 -PUBLIC _deflateInit2_@32 -PUBLIC _deflateInit_@16 -PUBLIC _deflateEnd@4 -PUBLIC _deflate@8 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflate@8 -_TEXT SEGMENT -_old_flush$1$ = -4 ; size = 4 -_val$1$ = 8 ; size = 4 -_val$1$ = 8 ; size = 4 -_beg$1$ = 8 ; size = 4 -_strm$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_deflate@8 PROC ; COMDAT - -; 668 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - 00005 57 push edi - -; 669 : int old_flush; /* value of flush param for previous deflate call */ -; 670 : deflate_state *s; -; 671 : -; 672 : if (strm == Z_NULL || strm->state == Z_NULL || -; 673 : flush > Z_BLOCK || flush < 0) { - - 00006 8b 7d 08 mov edi, DWORD PTR _strm$[ebp] - 00009 85 ff test edi, edi - 0000b 0f 84 46 08 00 - 00 je $LN11@deflate - 00011 8b 77 1c mov esi, DWORD PTR [edi+28] - 00014 85 f6 test esi, esi - 00016 0f 84 3b 08 00 - 00 je $LN11@deflate - 0001c 8b 45 0c mov eax, DWORD PTR _flush$[ebp] - 0001f 83 f8 05 cmp eax, 5 - 00022 0f 87 2f 08 00 - 00 ja $LN11@deflate - -; 674 : return Z_STREAM_ERROR; -; 675 : } -; 676 : s = strm->state; -; 677 : -; 678 : if (strm->next_out == Z_NULL || -; 679 : (strm->next_in == Z_NULL && strm->avail_in != 0) || - - 00028 83 7f 0c 00 cmp DWORD PTR [edi+12], 0 - 0002c 0f 84 1d 08 00 - 00 je $LN13@deflate - 00032 83 3f 00 cmp DWORD PTR [edi], 0 - 00035 75 0a jne SHORT $LN14@deflate - 00037 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 0003b 0f 85 0e 08 00 - 00 jne $LN13@deflate -$LN14@deflate: - 00041 8b 4e 04 mov ecx, DWORD PTR [esi+4] - 00044 81 f9 9a 02 00 - 00 cmp ecx, 666 ; 0000029aH - 0004a 75 09 jne SHORT $LN12@deflate - 0004c 83 f8 04 cmp eax, 4 - 0004f 0f 85 fa 07 00 - 00 jne $LN13@deflate -$LN12@deflate: - -; 682 : } -; 683 : if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR); - - 00055 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 00059 75 15 jne SHORT $LN15@deflate - 0005b a1 1c 00 00 00 mov eax, DWORD PTR _z_errmsg+28 - 00060 89 47 18 mov DWORD PTR [edi+24], eax - 00063 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 00068 5f pop edi - 00069 5e pop esi - -; 976 : } - - 0006a 8b e5 mov esp, ebp - 0006c 5d pop ebp - 0006d c2 08 00 ret 8 -$LN15@deflate: - -; 684 : -; 685 : s->strm = strm; /* just in case */ -; 686 : old_flush = s->last_flush; - - 00070 8b 56 28 mov edx, DWORD PTR [esi+40] - 00073 89 3e mov DWORD PTR [esi], edi - 00075 89 55 fc mov DWORD PTR _old_flush$1$[ebp], edx - -; 687 : s->last_flush = flush; - - 00078 89 46 28 mov DWORD PTR [esi+40], eax - 0007b 53 push ebx - -; 688 : -; 689 : /* Write the header */ -; 690 : if (s->status == INIT_STATE) { - - 0007c 83 f9 2a cmp ecx, 42 ; 0000002aH - 0007f 0f 85 95 02 00 - 00 jne $LN18@deflate - -; 691 : #ifdef GZIP -; 692 : if (s->wrap == 2) { - - 00085 83 7e 18 02 cmp DWORD PTR [esi+24], 2 - 00089 0f 85 ef 01 00 - 00 jne $LN17@deflate - -; 693 : strm->adler = crc32(0L, Z_NULL, 0); - - 0008f 6a 00 push 0 - 00091 6a 00 push 0 - 00093 6a 00 push 0 - 00095 e8 00 00 00 00 call _crc32@12 - 0009a 89 47 30 mov DWORD PTR [edi+48], eax - -; 694 : put_byte(s, 31); - - 0009d 8b 46 14 mov eax, DWORD PTR [esi+20] - 000a0 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 000a3 c6 04 01 1f mov BYTE PTR [ecx+eax], 31 ; 0000001fH - 000a7 ff 46 14 inc DWORD PTR [esi+20] - 000aa 8b 4e 14 mov ecx, DWORD PTR [esi+20] - -; 695 : put_byte(s, 139); - - 000ad 8b 46 08 mov eax, DWORD PTR [esi+8] - 000b0 c6 04 01 8b mov BYTE PTR [ecx+eax], 139 ; 0000008bH - 000b4 ff 46 14 inc DWORD PTR [esi+20] - 000b7 8b 4e 14 mov ecx, DWORD PTR [esi+20] - -; 696 : put_byte(s, 8); - - 000ba 8b 46 08 mov eax, DWORD PTR [esi+8] - 000bd c6 04 01 08 mov BYTE PTR [ecx+eax], 8 - 000c1 ff 46 14 inc DWORD PTR [esi+20] - -; 697 : if (s->gzhead == Z_NULL) { - - 000c4 8b 56 1c mov edx, DWORD PTR [esi+28] - 000c7 8b 5e 14 mov ebx, DWORD PTR [esi+20] - 000ca 85 d2 test edx, edx - 000cc 0f 85 85 00 00 - 00 jne $LN19@deflate - -; 698 : put_byte(s, 0); - - 000d2 8b 46 08 mov eax, DWORD PTR [esi+8] - 000d5 88 14 03 mov BYTE PTR [ebx+eax], dl - 000d8 ff 46 14 inc DWORD PTR [esi+20] - 000db 8b 4e 14 mov ecx, DWORD PTR [esi+20] - -; 699 : put_byte(s, 0); - - 000de 8b 46 08 mov eax, DWORD PTR [esi+8] - 000e1 88 14 01 mov BYTE PTR [ecx+eax], dl - 000e4 ff 46 14 inc DWORD PTR [esi+20] - 000e7 8b 4e 14 mov ecx, DWORD PTR [esi+20] - -; 700 : put_byte(s, 0); - - 000ea 8b 46 08 mov eax, DWORD PTR [esi+8] - 000ed 88 14 01 mov BYTE PTR [ecx+eax], dl - 000f0 ff 46 14 inc DWORD PTR [esi+20] - 000f3 8b 4e 14 mov ecx, DWORD PTR [esi+20] - -; 701 : put_byte(s, 0); - - 000f6 8b 46 08 mov eax, DWORD PTR [esi+8] - 000f9 88 14 01 mov BYTE PTR [ecx+eax], dl - 000fc ff 46 14 inc DWORD PTR [esi+20] - 000ff 8b 4e 14 mov ecx, DWORD PTR [esi+20] - -; 702 : put_byte(s, 0); - - 00102 8b 46 08 mov eax, DWORD PTR [esi+8] - 00105 88 14 01 mov BYTE PTR [ecx+eax], dl - 00108 ff 46 14 inc DWORD PTR [esi+20] - -; 703 : put_byte(s, s->level == 9 ? 2 : - - 0010b 8b 86 84 00 00 - 00 mov eax, DWORD PTR [esi+132] - 00111 8b 56 14 mov edx, DWORD PTR [esi+20] - 00114 83 f8 09 cmp eax, 9 - 00117 75 05 jne SHORT $LN88@deflate - 00119 8d 48 f9 lea ecx, DWORD PTR [eax-7] - 0011c eb 17 jmp SHORT $LN87@deflate -$LN88@deflate: - 0011e 83 be 88 00 00 - 00 02 cmp DWORD PTR [esi+136], 2 - 00125 7d 09 jge SHORT $LN86@deflate - 00127 83 f8 02 cmp eax, 2 - 0012a 7c 04 jl SHORT $LN86@deflate - 0012c 33 c9 xor ecx, ecx - 0012e eb 05 jmp SHORT $LN87@deflate -$LN86@deflate: - 00130 b9 04 00 00 00 mov ecx, 4 -$LN87@deflate: - 00135 8b 46 08 mov eax, DWORD PTR [esi+8] - 00138 88 0c 02 mov BYTE PTR [edx+eax], cl - 0013b ff 46 14 inc DWORD PTR [esi+20] - 0013e 8b 4e 14 mov ecx, DWORD PTR [esi+20] - -; 704 : (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ? -; 705 : 4 : 0)); -; 706 : put_byte(s, OS_CODE); - - 00141 8b 46 08 mov eax, DWORD PTR [esi+8] - 00144 c6 04 01 0b mov BYTE PTR [ecx+eax], 11 ; 0000000bH - 00148 ff 46 14 inc DWORD PTR [esi+20] - -; 707 : s->status = BUSY_STATE; - - 0014b c7 46 04 71 00 - 00 00 mov DWORD PTR [esi+4], 113 ; 00000071H - -; 708 : } - - 00152 e9 c3 01 00 00 jmp $LN18@deflate -$LN19@deflate: - -; 709 : else { -; 710 : put_byte(s, (s->gzhead->text ? 1 : 0) + - - 00157 8b 4a 24 mov ecx, DWORD PTR [edx+36] - 0015a 8b 42 2c mov eax, DWORD PTR [edx+44] - 0015d f7 d9 neg ecx - 0015f 1a c9 sbb cl, cl - 00161 80 e1 10 and cl, 16 ; 00000010H - 00164 f7 d8 neg eax - 00166 1a c0 sbb al, al - 00168 24 02 and al, 2 - 0016a 02 c8 add cl, al - 0016c 8b 42 1c mov eax, DWORD PTR [edx+28] - 0016f f7 d8 neg eax - 00171 1a c0 sbb al, al - 00173 24 08 and al, 8 - 00175 02 c8 add cl, al - 00177 8b 42 10 mov eax, DWORD PTR [edx+16] - 0017a f7 d8 neg eax - 0017c 1a c0 sbb al, al - 0017e 24 04 and al, 4 - 00180 02 c8 add cl, al - 00182 83 3a 00 cmp DWORD PTR [edx], 0 - 00185 0f 95 c0 setne al - 00188 02 c8 add cl, al - 0018a 8b 46 08 mov eax, DWORD PTR [esi+8] - 0018d 88 0c 03 mov BYTE PTR [ebx+eax], cl - 00190 ff 46 14 inc DWORD PTR [esi+20] - 00193 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 711 : (s->gzhead->hcrc ? 2 : 0) + -; 712 : (s->gzhead->extra == Z_NULL ? 0 : 4) + -; 713 : (s->gzhead->name == Z_NULL ? 0 : 8) + -; 714 : (s->gzhead->comment == Z_NULL ? 0 : 16) -; 715 : ); -; 716 : put_byte(s, (Byte)(s->gzhead->time & 0xff)); - - 00196 8b 46 1c mov eax, DWORD PTR [esi+28] - 00199 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 0019c 0f b6 40 04 movzx eax, BYTE PTR [eax+4] - 001a0 88 04 0a mov BYTE PTR [edx+ecx], al - 001a3 ff 46 14 inc DWORD PTR [esi+20] - 001a6 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 717 : put_byte(s, (Byte)((s->gzhead->time >> 8) & 0xff)); - - 001a9 8b 46 1c mov eax, DWORD PTR [esi+28] - 001ac 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 001af 0f b6 40 05 movzx eax, BYTE PTR [eax+5] - 001b3 88 04 0a mov BYTE PTR [edx+ecx], al - 001b6 ff 46 14 inc DWORD PTR [esi+20] - 001b9 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 718 : put_byte(s, (Byte)((s->gzhead->time >> 16) & 0xff)); - - 001bc 8b 46 1c mov eax, DWORD PTR [esi+28] - 001bf 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 001c2 0f b6 40 06 movzx eax, BYTE PTR [eax+6] - 001c6 88 04 0a mov BYTE PTR [edx+ecx], al - 001c9 ff 46 14 inc DWORD PTR [esi+20] - -; 719 : put_byte(s, (Byte)((s->gzhead->time >> 24) & 0xff)); - - 001cc 8b 46 1c mov eax, DWORD PTR [esi+28] - 001cf 8b 56 14 mov edx, DWORD PTR [esi+20] - 001d2 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 001d5 0f b6 40 07 movzx eax, BYTE PTR [eax+7] - 001d9 88 04 0a mov BYTE PTR [edx+ecx], al - 001dc ff 46 14 inc DWORD PTR [esi+20] - -; 720 : put_byte(s, s->level == 9 ? 2 : - - 001df 8b 86 84 00 00 - 00 mov eax, DWORD PTR [esi+132] - 001e5 8b 56 14 mov edx, DWORD PTR [esi+20] - 001e8 83 f8 09 cmp eax, 9 - 001eb 75 05 jne SHORT $LN92@deflate - 001ed 8d 48 f9 lea ecx, DWORD PTR [eax-7] - 001f0 eb 17 jmp SHORT $LN91@deflate -$LN92@deflate: - 001f2 83 be 88 00 00 - 00 02 cmp DWORD PTR [esi+136], 2 - 001f9 7d 09 jge SHORT $LN90@deflate - 001fb 83 f8 02 cmp eax, 2 - 001fe 7c 04 jl SHORT $LN90@deflate - 00200 33 c9 xor ecx, ecx - 00202 eb 05 jmp SHORT $LN91@deflate -$LN90@deflate: - 00204 b9 04 00 00 00 mov ecx, 4 -$LN91@deflate: - 00209 8b 46 08 mov eax, DWORD PTR [esi+8] - 0020c 88 0c 02 mov BYTE PTR [edx+eax], cl - 0020f ff 46 14 inc DWORD PTR [esi+20] - -; 721 : (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ? -; 722 : 4 : 0)); -; 723 : put_byte(s, s->gzhead->os & 0xff); - - 00212 8b 46 1c mov eax, DWORD PTR [esi+28] - 00215 8b 56 14 mov edx, DWORD PTR [esi+20] - 00218 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 0021b 8a 40 0c mov al, BYTE PTR [eax+12] - 0021e 88 04 0a mov BYTE PTR [edx+ecx], al - -; 724 : if (s->gzhead->extra != Z_NULL) { - - 00221 8b 46 1c mov eax, DWORD PTR [esi+28] - 00224 ff 46 14 inc DWORD PTR [esi+20] - 00227 8b 56 14 mov edx, DWORD PTR [esi+20] - 0022a 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 0022e 74 23 je SHORT $LN21@deflate - -; 725 : put_byte(s, s->gzhead->extra_len & 0xff); - - 00230 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00233 0f b6 40 14 movzx eax, BYTE PTR [eax+20] - 00237 88 04 0a mov BYTE PTR [edx+ecx], al - 0023a ff 46 14 inc DWORD PTR [esi+20] - -; 726 : put_byte(s, (s->gzhead->extra_len >> 8) & 0xff); - - 0023d 8b 46 1c mov eax, DWORD PTR [esi+28] - 00240 8b 56 14 mov edx, DWORD PTR [esi+20] - 00243 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00246 0f b6 40 15 movzx eax, BYTE PTR [eax+21] - 0024a 88 04 0a mov BYTE PTR [edx+ecx], al - 0024d ff 46 14 inc DWORD PTR [esi+20] - 00250 8b 56 14 mov edx, DWORD PTR [esi+20] -$LN21@deflate: - -; 727 : } -; 728 : if (s->gzhead->hcrc) - - 00253 8b 46 1c mov eax, DWORD PTR [esi+28] - 00256 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 0025a 74 0f je SHORT $LN22@deflate - -; 729 : strm->adler = crc32(strm->adler, s->pending_buf, - - 0025c 52 push edx - 0025d ff 76 08 push DWORD PTR [esi+8] - 00260 ff 77 30 push DWORD PTR [edi+48] - 00263 e8 00 00 00 00 call _crc32@12 - 00268 89 47 30 mov DWORD PTR [edi+48], eax -$LN22@deflate: - -; 730 : s->pending); -; 731 : s->gzindex = 0; - - 0026b c7 46 20 00 00 - 00 00 mov DWORD PTR [esi+32], 0 - -; 732 : s->status = EXTRA_STATE; - - 00272 c7 46 04 45 00 - 00 00 mov DWORD PTR [esi+4], 69 ; 00000045H - -; 733 : } -; 734 : } - - 00279 e9 9c 00 00 00 jmp $LN18@deflate -$LN17@deflate: - -; 735 : else -; 736 : #endif -; 737 : { -; 738 : uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8; - - 0027e 8b 4e 30 mov ecx, DWORD PTR [esi+48] - 00281 83 e9 08 sub ecx, 8 - 00284 c1 e1 0c shl ecx, 12 ; 0000000cH - 00287 81 c1 00 08 00 - 00 add ecx, 2048 ; 00000800H - -; 739 : uInt level_flags; -; 740 : -; 741 : if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2) - - 0028d 83 be 88 00 00 - 00 02 cmp DWORD PTR [esi+136], 2 - 00294 7d 24 jge SHORT $LN25@deflate - 00296 8b 96 84 00 00 - 00 mov edx, DWORD PTR [esi+132] - 0029c 83 fa 02 cmp edx, 2 - 0029f 7c 19 jl SHORT $LN25@deflate - -; 743 : else if (s->level < 6) - - 002a1 83 fa 06 cmp edx, 6 - 002a4 7d 07 jge SHORT $LN26@deflate - -; 744 : level_flags = 1; - - 002a6 b8 01 00 00 00 mov eax, 1 - 002ab eb 0f jmp SHORT $LN29@deflate -$LN26@deflate: - -; 745 : else if (s->level == 6) - - 002ad 33 c0 xor eax, eax - 002af 83 fa 06 cmp edx, 6 - 002b2 0f 95 c0 setne al - 002b5 83 c0 02 add eax, 2 - -; 746 : level_flags = 2; -; 747 : else -; 748 : level_flags = 3; - - 002b8 eb 02 jmp SHORT $LN29@deflate -$LN25@deflate: - -; 742 : level_flags = 0; - - 002ba 33 c0 xor eax, eax -$LN29@deflate: - -; 749 : header |= (level_flags << 6); - - 002bc c1 e0 06 shl eax, 6 - 002bf 0b c8 or ecx, eax - -; 750 : if (s->strstart != 0) header |= PRESET_DICT; - - 002c1 83 7e 6c 00 cmp DWORD PTR [esi+108], 0 - 002c5 74 03 je SHORT $LN30@deflate - 002c7 83 c9 20 or ecx, 32 ; 00000020H -$LN30@deflate: - -; 751 : header += 31 - (header % 31); - - 002ca b8 85 10 42 08 mov eax, 138547333 ; 08421085H - -; 752 : -; 753 : s->status = BUSY_STATE; - - 002cf c7 46 04 71 00 - 00 00 mov DWORD PTR [esi+4], 113 ; 00000071H - 002d6 f7 e1 mul ecx - 002d8 2b ca sub ecx, edx - 002da d1 e9 shr ecx, 1 - 002dc 03 ca add ecx, edx - 002de c1 e9 04 shr ecx, 4 - -; 754 : putShortMSB(s, header); - - 002e1 41 inc ecx - 002e2 8b d1 mov edx, ecx - 002e4 c1 e2 05 shl edx, 5 - 002e7 2b d1 sub edx, ecx - 002e9 8b ce mov ecx, esi - 002eb e8 00 00 00 00 call _putShortMSB - -; 755 : -; 756 : /* Save the adler32 of the preset dictionary: */ -; 757 : if (s->strstart != 0) { - - 002f0 83 7e 6c 00 cmp DWORD PTR [esi+108], 0 - 002f4 74 16 je SHORT $LN31@deflate - -; 758 : putShortMSB(s, (uInt)(strm->adler >> 16)); - - 002f6 0f b7 57 32 movzx edx, WORD PTR [edi+50] - 002fa 8b ce mov ecx, esi - 002fc e8 00 00 00 00 call _putShortMSB - -; 759 : putShortMSB(s, (uInt)(strm->adler & 0xffff)); - - 00301 0f b7 57 30 movzx edx, WORD PTR [edi+48] - 00305 8b ce mov ecx, esi - 00307 e8 00 00 00 00 call _putShortMSB -$LN31@deflate: - -; 760 : } -; 761 : strm->adler = adler32(0L, Z_NULL, 0); - - 0030c 6a 00 push 0 - 0030e 6a 00 push 0 - 00310 6a 00 push 0 - 00312 e8 00 00 00 00 call _adler32@12 - 00317 89 47 30 mov DWORD PTR [edi+48], eax -$LN18@deflate: - -; 762 : } -; 763 : } -; 764 : #ifdef GZIP -; 765 : if (s->status == EXTRA_STATE) { - - 0031a 83 7e 04 45 cmp DWORD PTR [esi+4], 69 ; 00000045H - 0031e 0f 85 bd 00 00 - 00 jne $LN34@deflate - -; 766 : if (s->gzhead->extra != Z_NULL) { - - 00324 8b 46 1c mov eax, DWORD PTR [esi+28] - 00327 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 0032b 0f 84 a9 00 00 - 00 je $LN33@deflate - -; 767 : uInt beg = s->pending; /* start of bytes to update crc */ -; 768 : -; 769 : while (s->gzindex < (s->gzhead->extra_len & 0xffff)) { - - 00331 0f b7 40 14 movzx eax, WORD PTR [eax+20] - 00335 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00338 89 4d 08 mov DWORD PTR _beg$1$[ebp], ecx - 0033b 39 46 20 cmp DWORD PTR [esi+32], eax - 0033e 73 64 jae SHORT $LN111@deflate -$LL2@deflate: - -; 770 : if (s->pending == s->pending_buf_size) { - - 00340 8b 5e 14 mov ebx, DWORD PTR [esi+20] - 00343 3b 5e 0c cmp ebx, DWORD PTR [esi+12] - 00346 75 35 jne SHORT $LN37@deflate - -; 771 : if (s->gzhead->hcrc && s->pending > beg) - - 00348 8b 46 1c mov eax, DWORD PTR [esi+28] - 0034b 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 0034f 74 18 je SHORT $LN36@deflate - 00351 3b d9 cmp ebx, ecx - 00353 76 14 jbe SHORT $LN36@deflate - -; 772 : strm->adler = crc32(strm->adler, s->pending_buf + beg, - - 00355 8b 46 08 mov eax, DWORD PTR [esi+8] - 00358 2b d9 sub ebx, ecx - 0035a 53 push ebx - 0035b 03 c1 add eax, ecx - 0035d 50 push eax - 0035e ff 77 30 push DWORD PTR [edi+48] - 00361 e8 00 00 00 00 call _crc32@12 - 00366 89 47 30 mov DWORD PTR [edi+48], eax -$LN36@deflate: - -; 773 : s->pending - beg); -; 774 : flush_pending(strm); - - 00369 8b cf mov ecx, edi - 0036b e8 00 00 00 00 call _flush_pending - -; 775 : beg = s->pending; - - 00370 8b 5e 14 mov ebx, DWORD PTR [esi+20] - 00373 8b cb mov ecx, ebx - 00375 89 4d 08 mov DWORD PTR _beg$1$[ebp], ecx - -; 776 : if (s->pending == s->pending_buf_size) - - 00378 3b 5e 0c cmp ebx, DWORD PTR [esi+12] - 0037b 74 27 je SHORT $LN111@deflate -$LN37@deflate: - -; 777 : break; -; 778 : } -; 779 : put_byte(s, s->gzhead->extra[s->gzindex]); - - 0037d 8b 46 1c mov eax, DWORD PTR [esi+28] - 00380 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00383 8b 50 10 mov edx, DWORD PTR [eax+16] - 00386 8b 46 20 mov eax, DWORD PTR [esi+32] - 00389 8a 04 02 mov al, BYTE PTR [edx+eax] - 0038c 88 04 0b mov BYTE PTR [ebx+ecx], al - 0038f ff 46 14 inc DWORD PTR [esi+20] - -; 780 : s->gzindex++; - - 00392 ff 46 20 inc DWORD PTR [esi+32] - 00395 8b 46 1c mov eax, DWORD PTR [esi+28] - 00398 8b 4d 08 mov ecx, DWORD PTR _beg$1$[ebp] - 0039b 0f b7 40 14 movzx eax, WORD PTR [eax+20] - 0039f 39 46 20 cmp DWORD PTR [esi+32], eax - 003a2 72 9c jb SHORT $LL2@deflate -$LN111@deflate: - -; 781 : } -; 782 : if (s->gzhead->hcrc && s->pending > beg) - - 003a4 8b 46 1c mov eax, DWORD PTR [esi+28] - 003a7 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 003ab 74 1b je SHORT $LN38@deflate - 003ad 8b 46 14 mov eax, DWORD PTR [esi+20] - 003b0 3b c1 cmp eax, ecx - 003b2 76 14 jbe SHORT $LN38@deflate - -; 783 : strm->adler = crc32(strm->adler, s->pending_buf + beg, - - 003b4 2b c1 sub eax, ecx - 003b6 50 push eax - 003b7 8b 46 08 mov eax, DWORD PTR [esi+8] - 003ba 03 c1 add eax, ecx - 003bc 50 push eax - 003bd ff 77 30 push DWORD PTR [edi+48] - 003c0 e8 00 00 00 00 call _crc32@12 - 003c5 89 47 30 mov DWORD PTR [edi+48], eax -$LN38@deflate: - -; 784 : s->pending - beg); -; 785 : if (s->gzindex == s->gzhead->extra_len) { - - 003c8 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 003cb 8b 46 20 mov eax, DWORD PTR [esi+32] - 003ce 3b 41 14 cmp eax, DWORD PTR [ecx+20] - 003d1 75 0e jne SHORT $LN34@deflate - -; 786 : s->gzindex = 0; - - 003d3 c7 46 20 00 00 - 00 00 mov DWORD PTR [esi+32], 0 -$LN33@deflate: - -; 787 : s->status = NAME_STATE; -; 788 : } -; 789 : } -; 790 : else -; 791 : s->status = NAME_STATE; - - 003da c7 46 04 49 00 - 00 00 mov DWORD PTR [esi+4], 73 ; 00000049H -$LN34@deflate: - -; 792 : } -; 793 : if (s->status == NAME_STATE) { - - 003e1 83 7e 04 49 cmp DWORD PTR [esi+4], 73 ; 00000049H - 003e5 0f 85 b6 00 00 - 00 jne $LN42@deflate - -; 794 : if (s->gzhead->name != Z_NULL) { - - 003eb 8b 46 1c mov eax, DWORD PTR [esi+28] - 003ee 83 78 1c 00 cmp DWORD PTR [eax+28], 0 - 003f2 0f 84 a2 00 00 - 00 je $LN41@deflate - -; 795 : uInt beg = s->pending; /* start of bytes to update crc */ - - 003f8 8b 5e 14 mov ebx, DWORD PTR [esi+20] - 003fb 0f 1f 44 00 00 npad 5 -$LL6@deflate: - -; 796 : int val; -; 797 : -; 798 : do { -; 799 : if (s->pending == s->pending_buf_size) { - - 00400 8b 56 14 mov edx, DWORD PTR [esi+20] - 00403 3b 56 0c cmp edx, DWORD PTR [esi+12] - 00406 75 32 jne SHORT $LN45@deflate - -; 800 : if (s->gzhead->hcrc && s->pending > beg) - - 00408 8b 46 1c mov eax, DWORD PTR [esi+28] - 0040b 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 0040f 74 18 je SHORT $LN44@deflate - 00411 3b d3 cmp edx, ebx - 00413 76 14 jbe SHORT $LN44@deflate - -; 801 : strm->adler = crc32(strm->adler, s->pending_buf + beg, - - 00415 8b 46 08 mov eax, DWORD PTR [esi+8] - 00418 2b d3 sub edx, ebx - 0041a 52 push edx - 0041b 03 c3 add eax, ebx - 0041d 50 push eax - 0041e ff 77 30 push DWORD PTR [edi+48] - 00421 e8 00 00 00 00 call _crc32@12 - 00426 89 47 30 mov DWORD PTR [edi+48], eax -$LN44@deflate: - -; 802 : s->pending - beg); -; 803 : flush_pending(strm); - - 00429 8b cf mov ecx, edi - 0042b e8 00 00 00 00 call _flush_pending - -; 804 : beg = s->pending; - - 00430 8b 56 14 mov edx, DWORD PTR [esi+20] - 00433 8b da mov ebx, edx - -; 805 : if (s->pending == s->pending_buf_size) { - - 00435 3b 56 0c cmp edx, DWORD PTR [esi+12] - 00438 74 28 je SHORT $LN102@deflate -$LN45@deflate: - -; 807 : break; -; 808 : } -; 809 : } -; 810 : val = s->gzhead->name[s->gzindex++]; - - 0043a 8b 46 1c mov eax, DWORD PTR [esi+28] - 0043d 8b 4e 20 mov ecx, DWORD PTR [esi+32] - 00440 8b 40 1c mov eax, DWORD PTR [eax+28] - 00443 0f b6 04 08 movzx eax, BYTE PTR [eax+ecx] - 00447 89 45 08 mov DWORD PTR _val$1$[ebp], eax - 0044a 8d 41 01 lea eax, DWORD PTR [ecx+1] - -; 811 : put_byte(s, val); - - 0044d 8b 4d 08 mov ecx, DWORD PTR _val$1$[ebp] - 00450 89 46 20 mov DWORD PTR [esi+32], eax - 00453 8b 46 08 mov eax, DWORD PTR [esi+8] - 00456 88 0c 02 mov BYTE PTR [edx+eax], cl - 00459 ff 46 14 inc DWORD PTR [esi+20] - -; 812 : } while (val != 0); - - 0045c 85 c9 test ecx, ecx - 0045e 75 a0 jne SHORT $LL6@deflate - 00460 eb 07 jmp SHORT $LN5@deflate -$LN102@deflate: - -; 806 : val = 1; - - 00462 c7 45 08 01 00 - 00 00 mov DWORD PTR _val$1$[ebp], 1 -$LN5@deflate: - -; 813 : if (s->gzhead->hcrc && s->pending > beg) - - 00469 8b 46 1c mov eax, DWORD PTR [esi+28] - 0046c 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 00470 74 1b je SHORT $LN46@deflate - 00472 8b 46 14 mov eax, DWORD PTR [esi+20] - 00475 3b c3 cmp eax, ebx - 00477 76 14 jbe SHORT $LN46@deflate - -; 814 : strm->adler = crc32(strm->adler, s->pending_buf + beg, - - 00479 2b c3 sub eax, ebx - 0047b 50 push eax - 0047c 8b 46 08 mov eax, DWORD PTR [esi+8] - 0047f 03 c3 add eax, ebx - 00481 50 push eax - 00482 ff 77 30 push DWORD PTR [edi+48] - 00485 e8 00 00 00 00 call _crc32@12 - 0048a 89 47 30 mov DWORD PTR [edi+48], eax -$LN46@deflate: - -; 815 : s->pending - beg); -; 816 : if (val == 0) { - - 0048d 83 7d 08 00 cmp DWORD PTR _val$1$[ebp], 0 - 00491 75 0e jne SHORT $LN42@deflate - -; 817 : s->gzindex = 0; - - 00493 c7 46 20 00 00 - 00 00 mov DWORD PTR [esi+32], 0 -$LN41@deflate: - -; 818 : s->status = COMMENT_STATE; -; 819 : } -; 820 : } -; 821 : else -; 822 : s->status = COMMENT_STATE; - - 0049a c7 46 04 5b 00 - 00 00 mov DWORD PTR [esi+4], 91 ; 0000005bH -$LN42@deflate: - -; 823 : } -; 824 : if (s->status == COMMENT_STATE) { - - 004a1 83 7e 04 5b cmp DWORD PTR [esi+4], 91 ; 0000005bH - 004a5 0f 85 af 00 00 - 00 jne $LN50@deflate - -; 825 : if (s->gzhead->comment != Z_NULL) { - - 004ab 8b 46 1c mov eax, DWORD PTR [esi+28] - 004ae 83 78 24 00 cmp DWORD PTR [eax+36], 0 - 004b2 0f 84 9b 00 00 - 00 je $LN49@deflate - -; 826 : uInt beg = s->pending; /* start of bytes to update crc */ - - 004b8 8b 5e 14 mov ebx, DWORD PTR [esi+20] - 004bb 0f 1f 44 00 00 npad 5 -$LL9@deflate: - -; 827 : int val; -; 828 : -; 829 : do { -; 830 : if (s->pending == s->pending_buf_size) { - - 004c0 8b 56 14 mov edx, DWORD PTR [esi+20] - 004c3 3b 56 0c cmp edx, DWORD PTR [esi+12] - 004c6 75 32 jne SHORT $LN53@deflate - -; 831 : if (s->gzhead->hcrc && s->pending > beg) - - 004c8 8b 46 1c mov eax, DWORD PTR [esi+28] - 004cb 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 004cf 74 18 je SHORT $LN52@deflate - 004d1 3b d3 cmp edx, ebx - 004d3 76 14 jbe SHORT $LN52@deflate - -; 832 : strm->adler = crc32(strm->adler, s->pending_buf + beg, - - 004d5 8b 46 08 mov eax, DWORD PTR [esi+8] - 004d8 2b d3 sub edx, ebx - 004da 52 push edx - 004db 03 c3 add eax, ebx - 004dd 50 push eax - 004de ff 77 30 push DWORD PTR [edi+48] - 004e1 e8 00 00 00 00 call _crc32@12 - 004e6 89 47 30 mov DWORD PTR [edi+48], eax -$LN52@deflate: - -; 833 : s->pending - beg); -; 834 : flush_pending(strm); - - 004e9 8b cf mov ecx, edi - 004eb e8 00 00 00 00 call _flush_pending - -; 835 : beg = s->pending; - - 004f0 8b 56 14 mov edx, DWORD PTR [esi+20] - 004f3 8b da mov ebx, edx - -; 836 : if (s->pending == s->pending_buf_size) { - - 004f5 3b 56 0c cmp edx, DWORD PTR [esi+12] - 004f8 74 28 je SHORT $LN103@deflate -$LN53@deflate: - -; 838 : break; -; 839 : } -; 840 : } -; 841 : val = s->gzhead->comment[s->gzindex++]; - - 004fa 8b 46 1c mov eax, DWORD PTR [esi+28] - 004fd 8b 4e 20 mov ecx, DWORD PTR [esi+32] - 00500 8b 40 24 mov eax, DWORD PTR [eax+36] - 00503 0f b6 04 08 movzx eax, BYTE PTR [eax+ecx] - 00507 89 45 08 mov DWORD PTR _val$1$[ebp], eax - 0050a 8d 41 01 lea eax, DWORD PTR [ecx+1] - -; 842 : put_byte(s, val); - - 0050d 8b 4d 08 mov ecx, DWORD PTR _val$1$[ebp] - 00510 89 46 20 mov DWORD PTR [esi+32], eax - 00513 8b 46 08 mov eax, DWORD PTR [esi+8] - 00516 88 0c 02 mov BYTE PTR [edx+eax], cl - 00519 ff 46 14 inc DWORD PTR [esi+20] - -; 843 : } while (val != 0); - - 0051c 85 c9 test ecx, ecx - 0051e 75 a0 jne SHORT $LL9@deflate - 00520 eb 07 jmp SHORT $LN8@deflate -$LN103@deflate: - -; 837 : val = 1; - - 00522 c7 45 08 01 00 - 00 00 mov DWORD PTR _val$1$[ebp], 1 -$LN8@deflate: - -; 844 : if (s->gzhead->hcrc && s->pending > beg) - - 00529 8b 46 1c mov eax, DWORD PTR [esi+28] - 0052c 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 00530 74 1b je SHORT $LN54@deflate - 00532 8b 46 14 mov eax, DWORD PTR [esi+20] - 00535 3b c3 cmp eax, ebx - 00537 76 14 jbe SHORT $LN54@deflate - -; 845 : strm->adler = crc32(strm->adler, s->pending_buf + beg, - - 00539 2b c3 sub eax, ebx - 0053b 50 push eax - 0053c 8b 46 08 mov eax, DWORD PTR [esi+8] - 0053f 03 c3 add eax, ebx - 00541 50 push eax - 00542 ff 77 30 push DWORD PTR [edi+48] - 00545 e8 00 00 00 00 call _crc32@12 - 0054a 89 47 30 mov DWORD PTR [edi+48], eax -$LN54@deflate: - -; 846 : s->pending - beg); -; 847 : if (val == 0) - - 0054d 83 7d 08 00 cmp DWORD PTR _val$1$[ebp], 0 - 00551 75 07 jne SHORT $LN50@deflate -$LN49@deflate: - -; 848 : s->status = HCRC_STATE; -; 849 : } -; 850 : else -; 851 : s->status = HCRC_STATE; - - 00553 c7 46 04 67 00 - 00 00 mov DWORD PTR [esi+4], 103 ; 00000067H -$LN50@deflate: - -; 852 : } -; 853 : if (s->status == HCRC_STATE) { - - 0055a 83 7e 04 67 cmp DWORD PTR [esi+4], 103 ; 00000067H - 0055e 75 58 jne SHORT $LN58@deflate - -; 854 : if (s->gzhead->hcrc) { - - 00560 8b 46 1c mov eax, DWORD PTR [esi+28] - 00563 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 00567 74 48 je SHORT $LN57@deflate - -; 855 : if (s->pending + 2 > s->pending_buf_size) - - 00569 8b 46 14 mov eax, DWORD PTR [esi+20] - 0056c 83 c0 02 add eax, 2 - 0056f 3b 46 0c cmp eax, DWORD PTR [esi+12] - 00572 76 07 jbe SHORT $LN59@deflate - -; 856 : flush_pending(strm); - - 00574 8b cf mov ecx, edi - 00576 e8 00 00 00 00 call _flush_pending -$LN59@deflate: - -; 857 : if (s->pending + 2 <= s->pending_buf_size) { - - 0057b 8b 56 14 mov edx, DWORD PTR [esi+20] - 0057e 8d 42 02 lea eax, DWORD PTR [edx+2] - 00581 3b 46 0c cmp eax, DWORD PTR [esi+12] - 00584 77 32 ja SHORT $LN58@deflate - -; 858 : put_byte(s, (Byte)(strm->adler & 0xff)); - - 00586 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00589 0f b6 47 30 movzx eax, BYTE PTR [edi+48] - -; 859 : put_byte(s, (Byte)((strm->adler >> 8) & 0xff)); -; 860 : strm->adler = crc32(0L, Z_NULL, 0); - - 0058d 6a 00 push 0 - 0058f 6a 00 push 0 - 00591 88 04 0a mov BYTE PTR [edx+ecx], al - 00594 ff 46 14 inc DWORD PTR [esi+20] - 00597 8b 56 14 mov edx, DWORD PTR [esi+20] - 0059a 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 0059d 0f b6 47 31 movzx eax, BYTE PTR [edi+49] - 005a1 6a 00 push 0 - 005a3 88 04 0a mov BYTE PTR [edx+ecx], al - 005a6 ff 46 14 inc DWORD PTR [esi+20] - 005a9 e8 00 00 00 00 call _crc32@12 - 005ae 89 47 30 mov DWORD PTR [edi+48], eax -$LN57@deflate: - -; 861 : s->status = BUSY_STATE; -; 862 : } -; 863 : } -; 864 : else -; 865 : s->status = BUSY_STATE; - - 005b1 c7 46 04 71 00 - 00 00 mov DWORD PTR [esi+4], 113 ; 00000071H -$LN58@deflate: - -; 866 : } -; 867 : #endif -; 868 : -; 869 : /* Flush as much pending output as possible */ -; 870 : if (s->pending != 0) { - - 005b8 83 7e 14 00 cmp DWORD PTR [esi+20], 0 - 005bc 74 1f je SHORT $LN61@deflate - -; 871 : flush_pending(strm); - - 005be 8b cf mov ecx, edi - 005c0 e8 00 00 00 00 call _flush_pending - -; 872 : if (strm->avail_out == 0) { - - 005c5 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 005c9 75 61 jne SHORT $LN112@deflate -$LN117@deflate: - -; 873 : /* Since avail_out is 0, deflate will be called again with -; 874 : * more output space, but possibly with both pending and -; 875 : * avail_in equal to zero. There won't be anything to do, -; 876 : * but this is not an error situation so make sure we -; 877 : * return OK instead of BUF_ERROR at next call of deflate: -; 878 : */ -; 879 : s->last_flush = -1; - - 005cb c7 46 28 ff ff - ff ff mov DWORD PTR [esi+40], -1 -$LN72@deflate: - 005d2 5b pop ebx - 005d3 5f pop edi - -; 880 : return Z_OK; - - 005d4 33 c0 xor eax, eax - 005d6 5e pop esi - -; 976 : } - - 005d7 8b e5 mov esp, ebp - 005d9 5d pop ebp - 005da c2 08 00 ret 8 -$LN61@deflate: - -; 881 : } -; 882 : -; 883 : /* Make sure there is something to do and avoid duplicate consecutive -; 884 : * flushes. For repeated and useless calls with Z_FINISH, we keep -; 885 : * returning Z_STREAM_END instead of Z_BUF_ERROR. -; 886 : */ -; 887 : } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) && - - 005dd 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 005e1 8b 5d 0c mov ebx, DWORD PTR _flush$[ebp] - 005e4 75 49 jne SHORT $LN64@deflate - 005e6 8b 4d fc mov ecx, DWORD PTR _old_flush$1$[ebp] - 005e9 33 c0 xor eax, eax - 005eb 83 f9 04 cmp ecx, 4 - 005ee ba 09 00 00 00 mov edx, 9 - 005f3 0f 4f c2 cmovg eax, edx - 005f6 8d 14 09 lea edx, DWORD PTR [ecx+ecx] - 005f9 33 c9 xor ecx, ecx - 005fb 2b d0 sub edx, eax - 005fd 83 fb 04 cmp ebx, 4 - 00600 b8 09 00 00 00 mov eax, 9 - 00605 0f 4f c8 cmovg ecx, eax - 00608 8d 04 1b lea eax, DWORD PTR [ebx+ebx] - 0060b 2b c1 sub eax, ecx - 0060d 3b c2 cmp eax, edx - 0060f 7f 1e jg SHORT $LN64@deflate - 00611 83 fb 04 cmp ebx, 4 - 00614 74 19 je SHORT $LN64@deflate - -; 888 : flush != Z_FINISH) { -; 889 : ERR_RETURN(strm, Z_BUF_ERROR); - - 00616 a1 1c 00 00 00 mov eax, DWORD PTR _z_errmsg+28 - 0061b 5b pop ebx - 0061c 89 47 18 mov DWORD PTR [edi+24], eax - 0061f b8 fb ff ff ff mov eax, -5 ; fffffffbH - 00624 5f pop edi - 00625 5e pop esi - -; 976 : } - - 00626 8b e5 mov esp, ebp - 00628 5d pop ebp - 00629 c2 08 00 ret 8 -$LN112@deflate: - 0062c 8b 5d 0c mov ebx, DWORD PTR _flush$[ebp] -$LN64@deflate: - -; 890 : } -; 891 : -; 892 : /* User must not provide more input after the first FINISH: */ -; 893 : if (s->status == FINISH_STATE && strm->avail_in != 0) { - - 0062f 8b 46 04 mov eax, DWORD PTR [esi+4] - 00632 3d 9a 02 00 00 cmp eax, 666 ; 0000029aH - 00637 75 1c jne SHORT $LN65@deflate - 00639 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 0063d 74 1c je SHORT $LN116@deflate - -; 894 : ERR_RETURN(strm, Z_BUF_ERROR); - - 0063f a1 1c 00 00 00 mov eax, DWORD PTR _z_errmsg+28 - 00644 5b pop ebx - 00645 89 47 18 mov DWORD PTR [edi+24], eax - 00648 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 0064d 5f pop edi - 0064e 5e pop esi - -; 976 : } - - 0064f 8b e5 mov esp, ebp - 00651 5d pop ebp - 00652 c2 08 00 ret 8 -$LN65@deflate: - -; 895 : } -; 896 : -; 897 : /* Start a new block or continue the current one. -; 898 : */ -; 899 : if (strm->avail_in != 0 || s->lookahead != 0 || - - 00655 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 00659 75 19 jne SHORT $LN67@deflate -$LN116@deflate: - 0065b 83 7e 74 00 cmp DWORD PTR [esi+116], 0 - 0065f 75 13 jne SHORT $LN67@deflate - 00661 85 db test ebx, ebx - 00663 0f 84 e9 00 00 - 00 je $LN79@deflate - 00669 3d 9a 02 00 00 cmp eax, 666 ; 0000029aH - 0066e 0f 84 de 00 00 - 00 je $LN79@deflate -$LN67@deflate: - -; 900 : (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) { -; 901 : block_state bstate; -; 902 : -; 903 : bstate = s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : - - 00674 8b 86 88 00 00 - 00 mov eax, DWORD PTR [esi+136] - 0067a 83 f8 02 cmp eax, 2 - 0067d 75 0b jne SHORT $LN96@deflate - 0067f 8b d3 mov edx, ebx - 00681 8b ce mov ecx, esi - 00683 e8 00 00 00 00 call _deflate_huff - 00688 eb 27 jmp SHORT $LN95@deflate -$LN96@deflate: - 0068a 83 f8 03 cmp eax, 3 - 0068d 75 0b jne SHORT $LN94@deflate - 0068f 8b d3 mov edx, ebx - 00691 8b ce mov ecx, esi - 00693 e8 00 00 00 00 call _deflate_rle - 00698 eb 17 jmp SHORT $LN95@deflate -$LN94@deflate: - 0069a 8b 86 84 00 00 - 00 mov eax, DWORD PTR [esi+132] - 006a0 53 push ebx - 006a1 56 push esi - 006a2 8d 04 40 lea eax, DWORD PTR [eax+eax*2] - 006a5 8b 04 85 08 00 - 00 00 mov eax, DWORD PTR _configuration_table[eax*4+8] - 006ac ff d0 call eax - 006ae 83 c4 08 add esp, 8 -$LN95@deflate: - -; 904 : (s->strategy == Z_RLE ? deflate_rle(s, flush) : -; 905 : (*(configuration_table[s->level].func))(s, flush)); -; 906 : -; 907 : if (bstate == finish_started || bstate == finish_done) { - - 006b1 83 f8 02 cmp eax, 2 - 006b4 74 05 je SHORT $LN69@deflate - 006b6 83 f8 03 cmp eax, 3 - 006b9 75 07 jne SHORT $LN68@deflate -$LN69@deflate: - -; 908 : s->status = FINISH_STATE; - - 006bb c7 46 04 9a 02 - 00 00 mov DWORD PTR [esi+4], 666 ; 0000029aH -$LN68@deflate: - -; 909 : } -; 910 : if (bstate == need_more || bstate == finish_started) { - - 006c2 85 c0 test eax, eax - 006c4 0f 84 69 01 00 - 00 je $LN71@deflate - 006ca 83 f8 02 cmp eax, 2 - 006cd 0f 84 60 01 00 - 00 je $LN71@deflate - -; 912 : s->last_flush = -1; /* avoid BUF_ERROR next call, see above */ -; 913 : } -; 914 : return Z_OK; -; 915 : /* If flush != Z_NO_FLUSH && avail_out == 0, the next call -; 916 : * of deflate should use the same flush parameter to make sure -; 917 : * that the flush is complete. So we don't have to output an -; 918 : * empty block here, this will be done at next call. This also -; 919 : * ensures that for a very small output buffer, we emit at most -; 920 : * one empty block. -; 921 : */ -; 922 : } -; 923 : if (bstate == block_done) { - - 006d3 83 f8 01 cmp eax, 1 - 006d6 75 7a jne SHORT $LN79@deflate - -; 924 : if (flush == Z_PARTIAL_FLUSH) { - - 006d8 3b d8 cmp ebx, eax - 006da 75 09 jne SHORT $LN74@deflate - -; 925 : _tr_align(s); - - 006dc 8b ce mov ecx, esi - 006de e8 00 00 00 00 call __tr_align - 006e3 eb 5c jmp SHORT $LN78@deflate -$LN74@deflate: - -; 926 : } else if (flush != Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */ - - 006e5 83 fb 05 cmp ebx, 5 - 006e8 74 57 je SHORT $LN78@deflate - -; 927 : _tr_stored_block(s, (char*)0, 0L, 0); - - 006ea 6a 00 push 0 - 006ec 6a 00 push 0 - 006ee 33 d2 xor edx, edx - 006f0 8b ce mov ecx, esi - 006f2 e8 00 00 00 00 call __tr_stored_block - 006f7 83 c4 08 add esp, 8 - -; 928 : /* For a full flush, this empty block will be recognized -; 929 : * as a special marker by inflate_sync(). -; 930 : */ -; 931 : if (flush == Z_FULL_FLUSH) { - - 006fa 83 fb 03 cmp ebx, 3 - 006fd 75 42 jne SHORT $LN78@deflate - -; 932 : CLEAR_HASH(s); /* forget history */ - - 006ff 8b 46 44 mov eax, DWORD PTR [esi+68] - 00702 33 d2 xor edx, edx - 00704 8b 4e 4c mov ecx, DWORD PTR [esi+76] - 00707 66 89 54 48 fe mov WORD PTR [eax+ecx*2-2], dx - 0070c 8b 46 4c mov eax, DWORD PTR [esi+76] - 0070f 8d 04 45 fe ff - ff ff lea eax, DWORD PTR [eax*2-2] - 00716 50 push eax - 00717 52 push edx - 00718 ff 76 44 push DWORD PTR [esi+68] - 0071b e8 00 00 00 00 call _memset - 00720 83 c4 0c add esp, 12 ; 0000000cH - -; 933 : if (s->lookahead == 0) { - - 00723 83 7e 74 00 cmp DWORD PTR [esi+116], 0 - 00727 75 18 jne SHORT $LN78@deflate - -; 934 : s->strstart = 0; - - 00729 c7 46 6c 00 00 - 00 00 mov DWORD PTR [esi+108], 0 - -; 935 : s->block_start = 0L; - - 00730 c7 46 5c 00 00 - 00 00 mov DWORD PTR [esi+92], 0 - -; 936 : s->insert = 0; - - 00737 c7 86 b4 16 00 - 00 00 00 00 00 mov DWORD PTR [esi+5812], 0 -$LN78@deflate: - -; 937 : } -; 938 : } -; 939 : } -; 940 : flush_pending(strm); - - 00741 8b cf mov ecx, edi - 00743 e8 00 00 00 00 call _flush_pending - -; 941 : if (strm->avail_out == 0) { - - 00748 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 0074c 0f 84 79 fe ff - ff je $LN117@deflate -$LN79@deflate: - -; 942 : s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */ -; 943 : return Z_OK; -; 944 : } -; 945 : } -; 946 : } -; 947 : Assert(strm->avail_out > 0, "bug2"); -; 948 : -; 949 : if (flush != Z_FINISH) return Z_OK; - - 00752 83 fb 04 cmp ebx, 4 - 00755 0f 85 77 fe ff - ff jne $LN72@deflate - -; 950 : if (s->wrap <= 0) return Z_STREAM_END; - - 0075b 8b 46 18 mov eax, DWORD PTR [esi+24] - 0075e 85 c0 test eax, eax - 00760 7f 0c jg SHORT $LN81@deflate - 00762 8d 43 fd lea eax, DWORD PTR [ebx-3] - 00765 5b pop ebx - 00766 5f pop edi - 00767 5e pop esi - -; 976 : } - - 00768 8b e5 mov esp, ebp - 0076a 5d pop ebp - 0076b c2 08 00 ret 8 -$LN81@deflate: - -; 951 : -; 952 : /* Write the trailer */ -; 953 : #ifdef GZIP -; 954 : if (s->wrap == 2) { - - 0076e 83 f8 02 cmp eax, 2 - 00771 0f 85 82 00 00 - 00 jne $LN82@deflate - -; 955 : put_byte(s, (Byte)(strm->adler & 0xff)); - - 00777 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 0077a 0f b6 47 30 movzx eax, BYTE PTR [edi+48] - 0077e 8b 56 08 mov edx, DWORD PTR [esi+8] - 00781 88 04 0a mov BYTE PTR [edx+ecx], al - 00784 ff 46 14 inc DWORD PTR [esi+20] - 00787 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 956 : put_byte(s, (Byte)((strm->adler >> 8) & 0xff)); - - 0078a 0f b6 47 31 movzx eax, BYTE PTR [edi+49] - 0078e 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00791 88 04 0a mov BYTE PTR [edx+ecx], al - 00794 ff 46 14 inc DWORD PTR [esi+20] - 00797 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 957 : put_byte(s, (Byte)((strm->adler >> 16) & 0xff)); - - 0079a 0f b6 47 32 movzx eax, BYTE PTR [edi+50] - 0079e 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007a1 88 04 0a mov BYTE PTR [edx+ecx], al - 007a4 ff 46 14 inc DWORD PTR [esi+20] - 007a7 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 958 : put_byte(s, (Byte)((strm->adler >> 24) & 0xff)); - - 007aa 0f b6 47 33 movzx eax, BYTE PTR [edi+51] - 007ae 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007b1 88 04 0a mov BYTE PTR [edx+ecx], al - 007b4 ff 46 14 inc DWORD PTR [esi+20] - 007b7 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 959 : put_byte(s, (Byte)(strm->total_in & 0xff)); - - 007ba 0f b6 47 08 movzx eax, BYTE PTR [edi+8] - 007be 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007c1 88 04 0a mov BYTE PTR [edx+ecx], al - 007c4 ff 46 14 inc DWORD PTR [esi+20] - 007c7 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 960 : put_byte(s, (Byte)((strm->total_in >> 8) & 0xff)); - - 007ca 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007cd 0f b6 47 09 movzx eax, BYTE PTR [edi+9] - 007d1 88 04 0a mov BYTE PTR [edx+ecx], al - 007d4 ff 46 14 inc DWORD PTR [esi+20] - 007d7 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 961 : put_byte(s, (Byte)((strm->total_in >> 16) & 0xff)); - - 007da 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007dd 0f b6 47 0a movzx eax, BYTE PTR [edi+10] - 007e1 88 04 0a mov BYTE PTR [edx+ecx], al - 007e4 ff 46 14 inc DWORD PTR [esi+20] - 007e7 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 962 : put_byte(s, (Byte)((strm->total_in >> 24) & 0xff)); - - 007ea 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007ed 0f b6 47 0b movzx eax, BYTE PTR [edi+11] - 007f1 88 04 0a mov BYTE PTR [edx+ecx], al - 007f4 ff 46 14 inc DWORD PTR [esi+20] - -; 963 : } - - 007f7 eb 16 jmp SHORT $LN83@deflate -$LN82@deflate: - -; 964 : else -; 965 : #endif -; 966 : { -; 967 : putShortMSB(s, (uInt)(strm->adler >> 16)); - - 007f9 0f b7 57 32 movzx edx, WORD PTR [edi+50] - 007fd 8b ce mov ecx, esi - 007ff e8 00 00 00 00 call _putShortMSB - -; 968 : putShortMSB(s, (uInt)(strm->adler & 0xffff)); - - 00804 0f b7 57 30 movzx edx, WORD PTR [edi+48] - 00808 8b ce mov ecx, esi - 0080a e8 00 00 00 00 call _putShortMSB -$LN83@deflate: - -; 969 : } -; 970 : flush_pending(strm); - - 0080f 8b cf mov ecx, edi - 00811 e8 00 00 00 00 call _flush_pending - -; 971 : /* If avail_out is zero, the application will call deflate again -; 972 : * to flush the rest. -; 973 : */ -; 974 : if (s->wrap > 0) s->wrap = -s->wrap; /* write the trailer only once! */ - - 00816 8b 46 18 mov eax, DWORD PTR [esi+24] - 00819 85 c0 test eax, eax - 0081b 7e 05 jle SHORT $LN84@deflate - 0081d f7 d8 neg eax - 0081f 89 46 18 mov DWORD PTR [esi+24], eax -$LN84@deflate: - -; 975 : return s->pending != 0 ? Z_OK : Z_STREAM_END; - - 00822 33 c0 xor eax, eax - 00824 39 46 14 cmp DWORD PTR [esi+20], eax - 00827 5b pop ebx - 00828 5f pop edi - 00829 0f 94 c0 sete al - 0082c 5e pop esi - -; 976 : } - - 0082d 8b e5 mov esp, ebp - 0082f 5d pop ebp - 00830 c2 08 00 ret 8 -$LN71@deflate: - -; 911 : if (strm->avail_out == 0) { - - 00833 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 00837 0f 85 95 fd ff - ff jne $LN72@deflate - -; 873 : /* Since avail_out is 0, deflate will be called again with -; 874 : * more output space, but possibly with both pending and -; 875 : * avail_in equal to zero. There won't be anything to do, -; 876 : * but this is not an error situation so make sure we -; 877 : * return OK instead of BUF_ERROR at next call of deflate: -; 878 : */ -; 879 : s->last_flush = -1; - - 0083d 5b pop ebx - 0083e 5f pop edi - 0083f c7 46 28 ff ff - ff ff mov DWORD PTR [esi+40], -1 - -; 880 : return Z_OK; - - 00846 33 c0 xor eax, eax - 00848 5e pop esi - -; 976 : } - - 00849 8b e5 mov esp, ebp - 0084b 5d pop ebp - 0084c c2 08 00 ret 8 -$LN13@deflate: - -; 680 : (s->status == FINISH_STATE && flush != Z_FINISH)) { -; 681 : ERR_RETURN(strm, Z_STREAM_ERROR); - - 0084f a1 10 00 00 00 mov eax, DWORD PTR _z_errmsg+16 - 00854 89 47 18 mov DWORD PTR [edi+24], eax -$LN11@deflate: - 00857 5f pop edi - 00858 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0085d 5e pop esi - -; 976 : } - - 0085e 8b e5 mov esp, ebp - 00860 5d pop ebp - 00861 c2 08 00 ret 8 -_deflate@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateEnd@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_deflateEnd@4 PROC ; COMDAT - -; 981 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 982 : int status; -; 983 : -; 984 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00004 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00007 85 f6 test esi, esi - 00009 0f 84 bd 00 00 - 00 je $LN3@deflateEnd - 0000f 8b 46 1c mov eax, DWORD PTR [esi+28] - 00012 85 c0 test eax, eax - 00014 0f 84 b2 00 00 - 00 je $LN3@deflateEnd - -; 985 : -; 986 : status = strm->state->status; - - 0001a 57 push edi - 0001b 8b 78 04 mov edi, DWORD PTR [eax+4] - -; 987 : if (status != INIT_STATE && -; 988 : status != EXTRA_STATE && -; 989 : status != NAME_STATE && -; 990 : status != COMMENT_STATE && -; 991 : status != HCRC_STATE && -; 992 : status != BUSY_STATE && - - 0001e 83 ff 2a cmp edi, 42 ; 0000002aH - 00021 74 2c je SHORT $LN4@deflateEnd - 00023 83 ff 45 cmp edi, 69 ; 00000045H - 00026 74 27 je SHORT $LN4@deflateEnd - 00028 83 ff 49 cmp edi, 73 ; 00000049H - 0002b 74 22 je SHORT $LN4@deflateEnd - 0002d 83 ff 5b cmp edi, 91 ; 0000005bH - 00030 74 1d je SHORT $LN4@deflateEnd - 00032 83 ff 67 cmp edi, 103 ; 00000067H - 00035 74 18 je SHORT $LN4@deflateEnd - 00037 83 ff 71 cmp edi, 113 ; 00000071H - 0003a 74 13 je SHORT $LN4@deflateEnd - 0003c 81 ff 9a 02 00 - 00 cmp edi, 666 ; 0000029aH - 00042 74 0b je SHORT $LN4@deflateEnd - -; 993 : status != FINISH_STATE) { -; 994 : return Z_STREAM_ERROR; - - 00044 5f pop edi - 00045 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0004a 5e pop esi - -; 1007 : } - - 0004b 5d pop ebp - 0004c c2 04 00 ret 4 -$LN4@deflateEnd: - -; 995 : } -; 996 : -; 997 : /* Deallocate in reverse order of allocations: */ -; 998 : TRY_FREE(strm, strm->state->pending_buf); - - 0004f 8b 40 08 mov eax, DWORD PTR [eax+8] - 00052 85 c0 test eax, eax - 00054 74 0c je SHORT $LN5@deflateEnd - 00056 50 push eax - 00057 ff 76 28 push DWORD PTR [esi+40] - 0005a 8b 46 24 mov eax, DWORD PTR [esi+36] - 0005d ff d0 call eax - 0005f 83 c4 08 add esp, 8 -$LN5@deflateEnd: - -; 999 : TRY_FREE(strm, strm->state->head); - - 00062 8b 46 1c mov eax, DWORD PTR [esi+28] - 00065 8b 40 44 mov eax, DWORD PTR [eax+68] - 00068 85 c0 test eax, eax - 0006a 74 0c je SHORT $LN6@deflateEnd - 0006c 50 push eax - 0006d ff 76 28 push DWORD PTR [esi+40] - 00070 8b 46 24 mov eax, DWORD PTR [esi+36] - 00073 ff d0 call eax - 00075 83 c4 08 add esp, 8 -$LN6@deflateEnd: - -; 1000 : TRY_FREE(strm, strm->state->prev); - - 00078 8b 46 1c mov eax, DWORD PTR [esi+28] - 0007b 8b 40 40 mov eax, DWORD PTR [eax+64] - 0007e 85 c0 test eax, eax - 00080 74 0c je SHORT $LN7@deflateEnd - 00082 50 push eax - 00083 ff 76 28 push DWORD PTR [esi+40] - 00086 8b 46 24 mov eax, DWORD PTR [esi+36] - 00089 ff d0 call eax - 0008b 83 c4 08 add esp, 8 -$LN7@deflateEnd: - -; 1001 : TRY_FREE(strm, strm->state->window); - - 0008e 8b 46 1c mov eax, DWORD PTR [esi+28] - 00091 8b 40 38 mov eax, DWORD PTR [eax+56] - 00094 85 c0 test eax, eax - 00096 74 0c je SHORT $LN8@deflateEnd - 00098 50 push eax - 00099 ff 76 28 push DWORD PTR [esi+40] - 0009c 8b 46 24 mov eax, DWORD PTR [esi+36] - 0009f ff d0 call eax - 000a1 83 c4 08 add esp, 8 -$LN8@deflateEnd: - -; 1002 : -; 1003 : ZFREE(strm, strm->state); - - 000a4 ff 76 1c push DWORD PTR [esi+28] - 000a7 8b 46 24 mov eax, DWORD PTR [esi+36] - 000aa ff 76 28 push DWORD PTR [esi+40] - 000ad ff d0 call eax - 000af 83 c4 08 add esp, 8 - -; 1004 : strm->state = Z_NULL; - - 000b2 c7 46 1c 00 00 - 00 00 mov DWORD PTR [esi+28], 0 - -; 1005 : -; 1006 : return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK; - - 000b9 33 c0 xor eax, eax - 000bb b9 fd ff ff ff mov ecx, -3 ; fffffffdH - 000c0 83 ff 71 cmp edi, 113 ; 00000071H - 000c3 5f pop edi - 000c4 0f 44 c1 cmove eax, ecx - 000c7 5e pop esi - -; 1007 : } - - 000c8 5d pop ebp - 000c9 c2 04 00 ret 4 -$LN3@deflateEnd: - -; 982 : int status; -; 983 : -; 984 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 000cc b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000d1 5e pop esi - -; 1007 : } - - 000d2 5d pop ebp - 000d3 c2 04 00 ret 4 -_deflateEnd@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateInit_@16 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_level$ = 12 ; size = 4 -_version$ = 16 ; size = 4 -_stream_size$ = 20 ; size = 4 -_deflateInit_@16 PROC ; COMDAT - -; 206 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 207 : return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, - - 00003 ff 75 14 push DWORD PTR _stream_size$[ebp] - 00006 ff 75 10 push DWORD PTR _version$[ebp] - 00009 6a 00 push 0 - 0000b 6a 08 push 8 - 0000d 6a 0f push 15 ; 0000000fH - 0000f 6a 08 push 8 - 00011 ff 75 0c push DWORD PTR _level$[ebp] - 00014 ff 75 08 push DWORD PTR _strm$[ebp] - 00017 e8 00 00 00 00 call _deflateInit2_@32 - -; 208 : Z_DEFAULT_STRATEGY, version, stream_size); -; 209 : /* To do: ignore strm->next_in if we use it as window */ -; 210 : } - - 0001c 5d pop ebp - 0001d c2 10 00 ret 16 ; 00000010H -_deflateInit_@16 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateInit2_@32 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_level$ = 12 ; size = 4 -_method$ = 16 ; size = 4 -_windowBits$ = 20 ; size = 4 -_memLevel$ = 24 ; size = 4 -_strategy$ = 28 ; size = 4 -_version$ = 32 ; size = 4 -_stream_size$ = 36 ; size = 4 -_deflateInit2_@32 PROC ; COMDAT - -; 223 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 224 : deflate_state *s; -; 225 : int wrap = 1; -; 226 : static const char my_version[] = ZLIB_VERSION; -; 227 : -; 228 : ushf *overlay; -; 229 : /* We overlay pending_buf and d_buf+l_buf. This works since the average -; 230 : * output size for (length,distance) codes is <= 24 bits. -; 231 : */ -; 232 : -; 233 : if (version == Z_NULL || version[0] != my_version[0] || - - 00003 8b 45 20 mov eax, DWORD PTR _version$[ebp] - 00006 56 push esi - 00007 be 01 00 00 00 mov esi, 1 - 0000c 85 c0 test eax, eax - 0000e 0f 84 0b 02 00 - 00 je $LN3@deflateIni - 00014 80 38 31 cmp BYTE PTR [eax], 49 ; 00000031H - 00017 0f 85 02 02 00 - 00 jne $LN3@deflateIni - 0001d 83 7d 24 38 cmp DWORD PTR _stream_size$[ebp], 56 ; 00000038H - 00021 0f 85 f8 01 00 - 00 jne $LN3@deflateIni - -; 236 : } -; 237 : if (strm == Z_NULL) return Z_STREAM_ERROR; - - 00027 57 push edi - 00028 8b 7d 08 mov edi, DWORD PTR _strm$[ebp] - 0002b 85 ff test edi, edi - 0002d 75 09 jne SHORT $LN4@deflateIni - 0002f 5f pop edi - 00030 8d 46 fd lea eax, DWORD PTR [esi-3] - 00033 5e pop esi - -; 320 : } - - 00034 5d pop ebp - 00035 c2 20 00 ret 32 ; 00000020H -$LN4@deflateIni: - -; 238 : -; 239 : strm->msg = Z_NULL; -; 240 : if (strm->zalloc == (alloc_func)0) { - - 00038 83 7f 20 00 cmp DWORD PTR [edi+32], 0 - 0003c c7 47 18 00 00 - 00 00 mov DWORD PTR [edi+24], 0 - 00043 75 0e jne SHORT $LN5@deflateIni - -; 241 : #ifdef Z_SOLO -; 242 : return Z_STREAM_ERROR; -; 243 : #else -; 244 : strm->zalloc = zcalloc; - - 00045 c7 47 20 00 00 - 00 00 mov DWORD PTR [edi+32], OFFSET _zcalloc - -; 245 : strm->opaque = (voidpf)0; - - 0004c c7 47 28 00 00 - 00 00 mov DWORD PTR [edi+40], 0 -$LN5@deflateIni: - -; 246 : #endif -; 247 : } -; 248 : if (strm->zfree == (free_func)0) - - 00053 83 7f 24 00 cmp DWORD PTR [edi+36], 0 - 00057 75 07 jne SHORT $LN6@deflateIni - -; 249 : #ifdef Z_SOLO -; 250 : return Z_STREAM_ERROR; -; 251 : #else -; 252 : strm->zfree = zcfree; - - 00059 c7 47 24 00 00 - 00 00 mov DWORD PTR [edi+36], OFFSET _zcfree -$LN6@deflateIni: - -; 253 : #endif -; 254 : -; 255 : #ifdef FASTEST -; 256 : if (level != 0) level = 1; -; 257 : #else -; 258 : if (level == Z_DEFAULT_COMPRESSION) level = 6; - - 00060 8b 4d 0c mov ecx, DWORD PTR _level$[ebp] - 00063 b8 06 00 00 00 mov eax, 6 - 00068 83 f9 ff cmp ecx, -1 - 0006b 53 push ebx - -; 259 : #endif -; 260 : -; 261 : if (windowBits < 0) { /* suppress zlib wrapper */ - - 0006c 8b 5d 14 mov ebx, DWORD PTR _windowBits$[ebp] - 0006f 0f 44 c8 cmove ecx, eax - 00072 89 4d 0c mov DWORD PTR _level$[ebp], ecx - 00075 85 db test ebx, ebx - 00077 79 06 jns SHORT $LN8@deflateIni - -; 262 : wrap = 0; - - 00079 33 f6 xor esi, esi - -; 263 : windowBits = -windowBits; - - 0007b f7 db neg ebx - -; 264 : } - - 0007d eb 0d jmp SHORT $LN10@deflateIni -$LN8@deflateIni: - -; 265 : #ifdef GZIP -; 266 : else if (windowBits > 15) { - - 0007f 83 fb 0f cmp ebx, 15 ; 0000000fH - 00082 7e 08 jle SHORT $LN10@deflateIni - -; 267 : wrap = 2; /* write gzip wrapper instead */ - - 00084 be 02 00 00 00 mov esi, 2 - -; 268 : windowBits -= 16; - - 00089 83 eb 10 sub ebx, 16 ; 00000010H -$LN10@deflateIni: - -; 269 : } -; 270 : #endif -; 271 : if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED || -; 272 : windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || -; 273 : strategy < 0 || strategy > Z_FIXED) { - - 0008c 8b 45 18 mov eax, DWORD PTR _memLevel$[ebp] - 0008f 48 dec eax - 00090 83 f8 08 cmp eax, 8 - 00093 0f 87 7a 01 00 - 00 ja $LN12@deflateIni - 00099 83 7d 10 08 cmp DWORD PTR _method$[ebp], 8 - 0009d 0f 85 70 01 00 - 00 jne $LN12@deflateIni - 000a3 8d 43 f8 lea eax, DWORD PTR [ebx-8] - 000a6 83 f8 07 cmp eax, 7 - 000a9 0f 87 64 01 00 - 00 ja $LN12@deflateIni - 000af 83 f9 09 cmp ecx, 9 - 000b2 0f 87 5b 01 00 - 00 ja $LN12@deflateIni - 000b8 83 7d 1c 04 cmp DWORD PTR _strategy$[ebp], 4 - 000bc 0f 87 51 01 00 - 00 ja $LN12@deflateIni - -; 275 : } -; 276 : if (windowBits == 8) windowBits = 9; /* until 256-byte window bug fixed */ -; 277 : s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state)); - - 000c2 68 c4 16 00 00 push 5828 ; 000016c4H - 000c7 b8 09 00 00 00 mov eax, 9 - 000cc 83 fb 08 cmp ebx, 8 - 000cf 6a 01 push 1 - 000d1 ff 77 28 push DWORD PTR [edi+40] - 000d4 0f 44 d8 cmove ebx, eax - 000d7 8b 47 20 mov eax, DWORD PTR [edi+32] - 000da ff d0 call eax - 000dc 83 c4 0c add esp, 12 ; 0000000cH - -; 278 : if (s == Z_NULL) return Z_MEM_ERROR; - - 000df 85 c0 test eax, eax - 000e1 0f 84 20 01 00 - 00 je $LN20@deflateIni - -; 279 : strm->state = (struct internal_state FAR *)s; - - 000e7 89 47 1c mov DWORD PTR [edi+28], eax - -; 280 : s->strm = strm; -; 281 : -; 282 : s->wrap = wrap; -; 283 : s->gzhead = Z_NULL; -; 284 : s->w_bits = windowBits; -; 285 : s->w_size = 1 << s->w_bits; - - 000ea 8b cb mov ecx, ebx - 000ec 89 70 18 mov DWORD PTR [eax+24], esi - 000ef be 01 00 00 00 mov esi, 1 - 000f4 89 58 30 mov DWORD PTR [eax+48], ebx - 000f7 8b d8 mov ebx, eax - 000f9 d3 e6 shl esi, cl - -; 286 : s->w_mask = s->w_size - 1; -; 287 : -; 288 : s->hash_bits = memLevel + 7; - - 000fb 8b 4d 18 mov ecx, DWORD PTR _memLevel$[ebp] - 000fe 89 38 mov DWORD PTR [eax], edi - 00100 83 c1 07 add ecx, 7 - 00103 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 - 0010a 8d 46 ff lea eax, DWORD PTR [esi-1] - 0010d 89 4b 50 mov DWORD PTR [ebx+80], ecx - 00110 89 43 34 mov DWORD PTR [ebx+52], eax - -; 289 : s->hash_size = 1 << s->hash_bits; - - 00113 b8 01 00 00 00 mov eax, 1 - 00118 d3 e0 shl eax, cl - -; 290 : s->hash_mask = s->hash_size - 1; -; 291 : s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH); - - 0011a 83 c1 02 add ecx, 2 - 0011d 89 43 4c mov DWORD PTR [ebx+76], eax - 00120 48 dec eax - 00121 89 43 54 mov DWORD PTR [ebx+84], eax - 00124 b8 ab aa aa aa mov eax, -1431655765 ; aaaaaaabH - 00129 f7 e1 mul ecx - -; 292 : -; 293 : s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte)); - - 0012b 6a 02 push 2 - 0012d d1 ea shr edx, 1 - 0012f 89 73 2c mov DWORD PTR [ebx+44], esi - 00132 89 53 58 mov DWORD PTR [ebx+88], edx - 00135 8b 47 20 mov eax, DWORD PTR [edi+32] - 00138 56 push esi - 00139 ff 77 28 push DWORD PTR [edi+40] - 0013c ff d0 call eax - -; 294 : s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos)); - - 0013e 6a 02 push 2 - 00140 ff 73 2c push DWORD PTR [ebx+44] - 00143 89 43 38 mov DWORD PTR [ebx+56], eax - 00146 ff 77 28 push DWORD PTR [edi+40] - 00149 8b 47 20 mov eax, DWORD PTR [edi+32] - 0014c ff d0 call eax - -; 295 : s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos)); - - 0014e 6a 02 push 2 - 00150 ff 73 4c push DWORD PTR [ebx+76] - 00153 89 43 40 mov DWORD PTR [ebx+64], eax - 00156 ff 77 28 push DWORD PTR [edi+40] - 00159 8b 47 20 mov eax, DWORD PTR [edi+32] - 0015c ff d0 call eax - -; 296 : -; 297 : s->high_water = 0; /* nothing written to s->window yet */ -; 298 : -; 299 : s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ - - 0015e 8b 4d 18 mov ecx, DWORD PTR _memLevel$[ebp] - 00161 89 43 44 mov DWORD PTR [ebx+68], eax - 00164 b8 01 00 00 00 mov eax, 1 - -; 300 : -; 301 : overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); - - 00169 6a 04 push 4 - 0016b c7 83 c0 16 00 - 00 00 00 00 00 mov DWORD PTR [ebx+5824], 0 - 00175 8d 49 06 lea ecx, DWORD PTR [ecx+6] - 00178 d3 e0 shl eax, cl - 0017a 50 push eax - 0017b 89 83 9c 16 00 - 00 mov DWORD PTR [ebx+5788], eax - 00181 ff 77 28 push DWORD PTR [edi+40] - 00184 8b 47 20 mov eax, DWORD PTR [edi+32] - 00187 ff d0 call eax - -; 302 : s->pending_buf = (uchf *) overlay; -; 303 : s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L); - - 00189 8b b3 9c 16 00 - 00 mov esi, DWORD PTR [ebx+5788] - 0018f 83 c4 30 add esp, 48 ; 00000030H - -; 304 : -; 305 : if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || - - 00192 83 7b 38 00 cmp DWORD PTR [ebx+56], 0 - 00196 8b d0 mov edx, eax - 00198 89 53 08 mov DWORD PTR [ebx+8], edx - 0019b 8d 0c b5 00 00 - 00 00 lea ecx, DWORD PTR [esi*4] - 001a2 89 4b 0c mov DWORD PTR [ebx+12], ecx - 001a5 74 4b je SHORT $LN16@deflateIni - 001a7 83 7b 40 00 cmp DWORD PTR [ebx+64], 0 - 001ab 74 45 je SHORT $LN16@deflateIni - 001ad 83 7b 44 00 cmp DWORD PTR [ebx+68], 0 - 001b1 74 3f je SHORT $LN16@deflateIni - 001b3 85 d2 test edx, edx - 001b5 74 3b je SHORT $LN16@deflateIni - -; 311 : } -; 312 : s->d_buf = overlay + s->lit_bufsize/sizeof(ush); - - 001b7 8b c6 mov eax, esi - -; 313 : s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; -; 314 : -; 315 : s->level = level; -; 316 : s->strategy = strategy; -; 317 : s->method = (Byte)method; - - 001b9 c6 43 24 08 mov BYTE PTR [ebx+36], 8 - 001bd d1 e8 shr eax, 1 - -; 318 : -; 319 : return deflateReset(strm); - - 001bf 57 push edi - 001c0 8d 04 42 lea eax, DWORD PTR [edx+eax*2] - 001c3 89 83 a4 16 00 - 00 mov DWORD PTR [ebx+5796], eax - 001c9 8d 04 72 lea eax, DWORD PTR [edx+esi*2] - 001cc 03 c6 add eax, esi - 001ce 89 83 98 16 00 - 00 mov DWORD PTR [ebx+5784], eax - 001d4 8b 45 0c mov eax, DWORD PTR _level$[ebp] - 001d7 89 83 84 00 00 - 00 mov DWORD PTR [ebx+132], eax - 001dd 8b 45 1c mov eax, DWORD PTR _strategy$[ebp] - 001e0 89 83 88 00 00 - 00 mov DWORD PTR [ebx+136], eax - 001e6 e8 00 00 00 00 call _deflateReset@4 - 001eb 5b pop ebx - 001ec 5f pop edi - 001ed 5e pop esi - -; 320 : } - - 001ee 5d pop ebp - 001ef c2 20 00 ret 32 ; 00000020H -$LN16@deflateIni: - -; 306 : s->pending_buf == Z_NULL) { -; 307 : s->status = FINISH_STATE; -; 308 : strm->msg = ERR_MSG(Z_MEM_ERROR); - - 001f2 a1 18 00 00 00 mov eax, DWORD PTR _z_errmsg+24 - 001f7 c7 43 04 9a 02 - 00 00 mov DWORD PTR [ebx+4], 666 ; 0000029aH - -; 309 : deflateEnd (strm); - - 001fe 57 push edi - 001ff 89 47 18 mov DWORD PTR [edi+24], eax - 00202 e8 00 00 00 00 call _deflateEnd@4 -$LN20@deflateIni: - -; 310 : return Z_MEM_ERROR; - - 00207 5b pop ebx - 00208 5f pop edi - 00209 b8 fc ff ff ff mov eax, -4 ; fffffffcH - 0020e 5e pop esi - -; 320 : } - - 0020f 5d pop ebp - 00210 c2 20 00 ret 32 ; 00000020H -$LN12@deflateIni: - 00213 5b pop ebx - 00214 5f pop edi - -; 274 : return Z_STREAM_ERROR; - - 00215 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0021a 5e pop esi - -; 320 : } - - 0021b 5d pop ebp - 0021c c2 20 00 ret 32 ; 00000020H -$LN3@deflateIni: - -; 234 : stream_size != sizeof(z_stream)) { -; 235 : return Z_VERSION_ERROR; - - 0021f b8 fa ff ff ff mov eax, -6 ; fffffffaH - 00224 5e pop esi - -; 320 : } - - 00225 5d pop ebp - 00226 c2 20 00 ret 32 ; 00000020H -_deflateInit2_@32 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateSetDictionary@12 -_TEXT SEGMENT -_avail$1$ = -8 ; size = 4 -_wrap$1$ = -4 ; size = 4 -_strm$ = 8 ; size = 4 -_n$1$ = 12 ; size = 4 -_dictionary$ = 12 ; size = 4 -_next$1$ = 16 ; size = 4 -_dictLength$ = 16 ; size = 4 -_deflateSetDictionary@12 PROC ; COMDAT - -; 327 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - 00006 53 push ebx - -; 328 : deflate_state *s; -; 329 : uInt str, n; -; 330 : int wrap; -; 331 : unsigned avail; -; 332 : z_const unsigned char *next; -; 333 : -; 334 : if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL) - - 00007 8b 5d 08 mov ebx, DWORD PTR _strm$[ebp] - 0000a 56 push esi - 0000b 85 db test ebx, ebx - 0000d 0f 84 7d 01 00 - 00 je $LN8@deflateSet - 00013 8b 73 1c mov esi, DWORD PTR [ebx+28] - 00016 85 f6 test esi, esi - 00018 0f 84 72 01 00 - 00 je $LN8@deflateSet - 0001e 8b 4d 0c mov ecx, DWORD PTR _dictionary$[ebp] - 00021 85 c9 test ecx, ecx - 00023 0f 84 67 01 00 - 00 je $LN8@deflateSet - -; 336 : s = strm->state; -; 337 : wrap = s->wrap; - - 00029 8b 46 18 mov eax, DWORD PTR [esi+24] - 0002c 89 45 fc mov DWORD PTR _wrap$1$[ebp], eax - -; 338 : if (wrap == 2 || (wrap == 1 && s->status != INIT_STATE) || s->lookahead) - - 0002f 83 f8 02 cmp eax, 2 - 00032 0f 84 58 01 00 - 00 je $LN8@deflateSet - 00038 83 f8 01 cmp eax, 1 - 0003b 75 0a jne SHORT $LN11@deflateSet - 0003d 83 7e 04 2a cmp DWORD PTR [esi+4], 42 ; 0000002aH - 00041 0f 85 49 01 00 - 00 jne $LN8@deflateSet -$LN11@deflateSet: - 00047 83 7e 74 00 cmp DWORD PTR [esi+116], 0 - 0004b 0f 85 3f 01 00 - 00 jne $LN8@deflateSet - -; 339 : return Z_STREAM_ERROR; -; 340 : -; 341 : /* when using zlib wrappers, compute Adler-32 for provided dictionary */ -; 342 : if (wrap == 1) - - 00051 57 push edi - 00052 8b 7d 10 mov edi, DWORD PTR _dictLength$[ebp] - 00055 83 f8 01 cmp eax, 1 - 00058 75 13 jne SHORT $LN12@deflateSet - -; 343 : strm->adler = adler32(strm->adler, dictionary, dictLength); - - 0005a 57 push edi - 0005b 51 push ecx - 0005c ff 73 30 push DWORD PTR [ebx+48] - 0005f e8 00 00 00 00 call _adler32@12 - 00064 8b 4d 0c mov ecx, DWORD PTR _dictionary$[ebp] - 00067 89 43 30 mov DWORD PTR [ebx+48], eax - 0006a 8b 45 fc mov eax, DWORD PTR _wrap$1$[ebp] -$LN12@deflateSet: - -; 344 : s->wrap = 0; /* avoid computing Adler-32 in read_buf */ - - 0006d c7 46 18 00 00 - 00 00 mov DWORD PTR [esi+24], 0 - -; 345 : -; 346 : /* if dictionary would fill window, just replace the history */ -; 347 : if (dictLength >= s->w_size) { - - 00074 3b 7e 2c cmp edi, DWORD PTR [esi+44] - 00077 72 4b jb SHORT $LN13@deflateSet - -; 348 : if (wrap == 0) { /* already empty otherwise */ - - 00079 85 c0 test eax, eax - 0007b 75 3f jne SHORT $LN14@deflateSet - -; 349 : CLEAR_HASH(s); - - 0007d 8b 46 44 mov eax, DWORD PTR [esi+68] - 00080 33 d2 xor edx, edx - 00082 8b 4e 4c mov ecx, DWORD PTR [esi+76] - 00085 66 89 54 48 fe mov WORD PTR [eax+ecx*2-2], dx - 0008a 8b 46 4c mov eax, DWORD PTR [esi+76] - 0008d 8d 04 45 fe ff - ff ff lea eax, DWORD PTR [eax*2-2] - 00094 50 push eax - 00095 52 push edx - 00096 ff 76 44 push DWORD PTR [esi+68] - 00099 e8 00 00 00 00 call _memset - 0009e 8b 4d 0c mov ecx, DWORD PTR _dictionary$[ebp] - 000a1 83 c4 0c add esp, 12 ; 0000000cH - -; 350 : s->strstart = 0; - - 000a4 c7 46 6c 00 00 - 00 00 mov DWORD PTR [esi+108], 0 - -; 351 : s->block_start = 0L; - - 000ab c7 46 5c 00 00 - 00 00 mov DWORD PTR [esi+92], 0 - -; 352 : s->insert = 0; - - 000b2 c7 86 b4 16 00 - 00 00 00 00 00 mov DWORD PTR [esi+5812], 0 -$LN14@deflateSet: - -; 353 : } -; 354 : dictionary += dictLength - s->w_size; /* use the tail */ - - 000bc 2b 7e 2c sub edi, DWORD PTR [esi+44] - 000bf 03 cf add ecx, edi - -; 355 : dictLength = s->w_size; - - 000c1 8b 7e 2c mov edi, DWORD PTR [esi+44] -$LN13@deflateSet: - -; 356 : } -; 357 : -; 358 : /* insert dictionary into window and hash */ -; 359 : avail = strm->avail_in; - - 000c4 8b 43 04 mov eax, DWORD PTR [ebx+4] - 000c7 89 45 f8 mov DWORD PTR _avail$1$[ebp], eax - -; 360 : next = strm->next_in; - - 000ca 8b 03 mov eax, DWORD PTR [ebx] - -; 361 : strm->avail_in = dictLength; -; 362 : strm->next_in = (z_const Bytef *)dictionary; - - 000cc 89 0b mov DWORD PTR [ebx], ecx - -; 363 : fill_window(s); - - 000ce 8b ce mov ecx, esi - 000d0 89 45 10 mov DWORD PTR _next$1$[ebp], eax - 000d3 89 7b 04 mov DWORD PTR [ebx+4], edi - 000d6 e8 00 00 00 00 call _fill_window - -; 364 : while (s->lookahead >= MIN_MATCH) { - - 000db 83 7e 74 03 cmp DWORD PTR [esi+116], 3 - 000df 72 65 jb SHORT $LN3@deflateSet -$LL2@deflateSet: - -; 365 : str = s->strstart; -; 366 : n = s->lookahead - (MIN_MATCH-1); - - 000e1 8b 46 74 mov eax, DWORD PTR [esi+116] - 000e4 8b 5e 6c mov ebx, DWORD PTR [esi+108] - 000e7 83 e8 02 sub eax, 2 - 000ea 89 45 0c mov DWORD PTR _n$1$[ebp], eax - 000ed 0f 1f 00 npad 3 -$LL6@deflateSet: - -; 367 : do { -; 368 : UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); - - 000f0 8b 46 38 mov eax, DWORD PTR [esi+56] - 000f3 8b 4e 58 mov ecx, DWORD PTR [esi+88] - -; 369 : #ifndef FASTEST -; 370 : s->prev[str & s->w_mask] = s->head[s->ins_h]; - - 000f6 8b 56 34 mov edx, DWORD PTR [esi+52] - 000f9 23 d3 and edx, ebx - 000fb 0f b6 7c 18 02 movzx edi, BYTE PTR [eax+ebx+2] - 00100 8b 46 48 mov eax, DWORD PTR [esi+72] - 00103 d3 e0 shl eax, cl - 00105 8b 4e 40 mov ecx, DWORD PTR [esi+64] - 00108 33 f8 xor edi, eax - 0010a 23 7e 54 and edi, DWORD PTR [esi+84] - 0010d 8b 46 44 mov eax, DWORD PTR [esi+68] - 00110 89 7e 48 mov DWORD PTR [esi+72], edi - 00113 66 8b 04 78 mov ax, WORD PTR [eax+edi*2] - 00117 66 89 04 51 mov WORD PTR [ecx+edx*2], ax - -; 371 : #endif -; 372 : s->head[s->ins_h] = (Pos)str; - - 0011b 8b 4e 48 mov ecx, DWORD PTR [esi+72] - 0011e 8b 46 44 mov eax, DWORD PTR [esi+68] - 00121 66 89 1c 48 mov WORD PTR [eax+ecx*2], bx - -; 373 : str++; - - 00125 43 inc ebx - -; 374 : } while (--n); - - 00126 83 6d 0c 01 sub DWORD PTR _n$1$[ebp], 1 - 0012a 75 c4 jne SHORT $LL6@deflateSet - -; 375 : s->strstart = str; -; 376 : s->lookahead = MIN_MATCH-1; -; 377 : fill_window(s); - - 0012c 8b ce mov ecx, esi - 0012e 89 5e 6c mov DWORD PTR [esi+108], ebx - 00131 c7 46 74 02 00 - 00 00 mov DWORD PTR [esi+116], 2 - 00138 e8 00 00 00 00 call _fill_window - 0013d 83 7e 74 03 cmp DWORD PTR [esi+116], 3 - 00141 73 9e jae SHORT $LL2@deflateSet - 00143 8b 5d 08 mov ebx, DWORD PTR _strm$[ebp] -$LN3@deflateSet: - -; 378 : } -; 379 : s->strstart += s->lookahead; - - 00146 8b 4e 74 mov ecx, DWORD PTR [esi+116] - 00149 01 4e 6c add DWORD PTR [esi+108], ecx - 0014c 8b 46 6c mov eax, DWORD PTR [esi+108] - -; 380 : s->block_start = (long)s->strstart; - - 0014f 89 46 5c mov DWORD PTR [esi+92], eax - -; 381 : s->insert = s->lookahead; -; 382 : s->lookahead = 0; -; 383 : s->match_length = s->prev_length = MIN_MATCH-1; -; 384 : s->match_available = 0; -; 385 : strm->next_in = next; - - 00152 8b 45 10 mov eax, DWORD PTR _next$1$[ebp] - 00155 89 8e b4 16 00 - 00 mov DWORD PTR [esi+5812], ecx - 0015b c7 46 74 00 00 - 00 00 mov DWORD PTR [esi+116], 0 - 00162 c7 46 78 02 00 - 00 00 mov DWORD PTR [esi+120], 2 - 00169 c7 46 60 02 00 - 00 00 mov DWORD PTR [esi+96], 2 - 00170 c7 46 68 00 00 - 00 00 mov DWORD PTR [esi+104], 0 - 00177 89 03 mov DWORD PTR [ebx], eax - -; 386 : strm->avail_in = avail; - - 00179 8b 45 f8 mov eax, DWORD PTR _avail$1$[ebp] - 0017c 89 43 04 mov DWORD PTR [ebx+4], eax - -; 387 : s->wrap = wrap; - - 0017f 8b 45 fc mov eax, DWORD PTR _wrap$1$[ebp] - 00182 5f pop edi - 00183 89 46 18 mov DWORD PTR [esi+24], eax - -; 388 : return Z_OK; - - 00186 33 c0 xor eax, eax - 00188 5e pop esi - 00189 5b pop ebx - -; 389 : } - - 0018a 8b e5 mov esp, ebp - 0018c 5d pop ebp - 0018d c2 0c 00 ret 12 ; 0000000cH -$LN8@deflateSet: - 00190 5e pop esi - -; 335 : return Z_STREAM_ERROR; - - 00191 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00196 5b pop ebx - -; 389 : } - - 00197 8b e5 mov esp, ebp - 00199 5d pop ebp - 0019a c2 0c 00 ret 12 ; 0000000cH -_deflateSetDictionary@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateResetKeep@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_deflateResetKeep@4 PROC ; COMDAT - -; 394 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 395 : deflate_state *s; -; 396 : -; 397 : if (strm == Z_NULL || strm->state == Z_NULL || -; 398 : strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0) { - - 00004 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00007 57 push edi - 00008 85 f6 test esi, esi - 0000a 0f 84 95 00 00 - 00 je $LN3@deflateRes - 00010 8b 7e 1c mov edi, DWORD PTR [esi+28] - 00013 85 ff test edi, edi - 00015 0f 84 8a 00 00 - 00 je $LN3@deflateRes - 0001b 83 7e 20 00 cmp DWORD PTR [esi+32], 0 - 0001f 0f 84 80 00 00 - 00 je $LN3@deflateRes - 00025 83 7e 24 00 cmp DWORD PTR [esi+36], 0 - 00029 74 7a je SHORT $LN3@deflateRes - -; 400 : } -; 401 : -; 402 : strm->total_in = strm->total_out = 0; - - 0002b c7 46 14 00 00 - 00 00 mov DWORD PTR [esi+20], 0 - 00032 c7 46 08 00 00 - 00 00 mov DWORD PTR [esi+8], 0 - -; 403 : strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */ - - 00039 c7 46 18 00 00 - 00 00 mov DWORD PTR [esi+24], 0 - -; 404 : strm->data_type = Z_UNKNOWN; - - 00040 c7 46 2c 02 00 - 00 00 mov DWORD PTR [esi+44], 2 - -; 405 : -; 406 : s = (deflate_state *)strm->state; -; 407 : s->pending = 0; -; 408 : s->pending_out = s->pending_buf; - - 00047 8b 47 08 mov eax, DWORD PTR [edi+8] - 0004a 89 47 10 mov DWORD PTR [edi+16], eax - -; 409 : -; 410 : if (s->wrap < 0) { - - 0004d 8b 47 18 mov eax, DWORD PTR [edi+24] - 00050 c7 47 14 00 00 - 00 00 mov DWORD PTR [edi+20], 0 - 00057 85 c0 test eax, eax - 00059 79 05 jns SHORT $LN4@deflateRes - -; 411 : s->wrap = -s->wrap; /* was made negative by deflate(..., Z_FINISH); */ - - 0005b f7 d8 neg eax - 0005d 89 47 18 mov DWORD PTR [edi+24], eax -$LN4@deflateRes: - -; 412 : } -; 413 : s->status = s->wrap ? INIT_STATE : BUSY_STATE; - - 00060 8b 4f 18 mov ecx, DWORD PTR [edi+24] - 00063 b8 71 00 00 00 mov eax, 113 ; 00000071H - 00068 85 c9 test ecx, ecx - 0006a ba 2a 00 00 00 mov edx, 42 ; 0000002aH - -; 414 : strm->adler = - - 0006f 6a 00 push 0 - 00071 0f 45 c2 cmovne eax, edx - 00074 89 47 04 mov DWORD PTR [edi+4], eax - 00077 6a 00 push 0 - 00079 6a 00 push 0 - 0007b 83 f9 02 cmp ecx, 2 - 0007e 75 07 jne SHORT $LN6@deflateRes - 00080 e8 00 00 00 00 call _crc32@12 - 00085 eb 05 jmp SHORT $LN7@deflateRes -$LN6@deflateRes: - 00087 e8 00 00 00 00 call _adler32@12 -$LN7@deflateRes: - 0008c 89 46 30 mov DWORD PTR [esi+48], eax - -; 415 : #ifdef GZIP -; 416 : s->wrap == 2 ? crc32(0L, Z_NULL, 0) : -; 417 : #endif -; 418 : adler32(0L, Z_NULL, 0); -; 419 : s->last_flush = Z_NO_FLUSH; -; 420 : -; 421 : _tr_init(s); - - 0008f 8b cf mov ecx, edi - 00091 c7 47 28 00 00 - 00 00 mov DWORD PTR [edi+40], 0 - 00098 e8 00 00 00 00 call __tr_init - 0009d 5f pop edi - -; 422 : -; 423 : return Z_OK; - - 0009e 33 c0 xor eax, eax - 000a0 5e pop esi - -; 424 : } - - 000a1 5d pop ebp - 000a2 c2 04 00 ret 4 -$LN3@deflateRes: - 000a5 5f pop edi - -; 399 : return Z_STREAM_ERROR; - - 000a6 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000ab 5e pop esi - -; 424 : } - - 000ac 5d pop ebp - 000ad c2 04 00 ret 4 -_deflateResetKeep@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateReset@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_deflateReset@4 PROC ; COMDAT - -; 429 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - 00004 57 push edi - -; 430 : int ret; -; 431 : -; 432 : ret = deflateResetKeep(strm); - - 00005 8b 7d 08 mov edi, DWORD PTR _strm$[ebp] - 00008 57 push edi - 00009 e8 00 00 00 00 call _deflateResetKeep@4 - 0000e 8b f0 mov esi, eax - -; 433 : if (ret == Z_OK) - - 00010 85 f6 test esi, esi - 00012 75 0a jne SHORT $LN2@deflateRes - -; 434 : lm_init(strm->state); - - 00014 8b 4f 1c mov ecx, DWORD PTR [edi+28] - 00017 e8 00 00 00 00 call _lm_init - -; 435 : return ret; - - 0001c 8b c6 mov eax, esi -$LN2@deflateRes: - 0001e 5f pop edi - 0001f 5e pop esi - -; 436 : } - - 00020 5d pop ebp - 00021 c2 04 00 ret 4 -_deflateReset@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateSetHeader@8 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_head$ = 12 ; size = 4 -_deflateSetHeader@8 PROC ; COMDAT - -; 442 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 443 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00006 85 c9 test ecx, ecx - 00008 74 19 je SHORT $LN3@deflateSet - 0000a 8b 49 1c mov ecx, DWORD PTR [ecx+28] - 0000d 85 c9 test ecx, ecx - 0000f 74 12 je SHORT $LN3@deflateSet - -; 444 : if (strm->state->wrap != 2) return Z_STREAM_ERROR; - - 00011 83 79 18 02 cmp DWORD PTR [ecx+24], 2 - 00015 75 0c jne SHORT $LN3@deflateSet - -; 445 : strm->state->gzhead = head; - - 00017 8b 45 0c mov eax, DWORD PTR _head$[ebp] - 0001a 89 41 1c mov DWORD PTR [ecx+28], eax - -; 446 : return Z_OK; - - 0001d 33 c0 xor eax, eax - -; 447 : } - - 0001f 5d pop ebp - 00020 c2 08 00 ret 8 -$LN3@deflateSet: - -; 443 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00023 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 447 : } - - 00028 5d pop ebp - 00029 c2 08 00 ret 8 -_deflateSetHeader@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflatePending@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_pending$ = 12 ; size = 4 -_bits$ = 16 ; size = 4 -_deflatePending@12 PROC ; COMDAT - -; 454 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 455 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00006 85 c9 test ecx, ecx - 00008 74 2b je SHORT $LN3@deflatePen - 0000a 8b 41 1c mov eax, DWORD PTR [ecx+28] - 0000d 85 c0 test eax, eax - 0000f 74 24 je SHORT $LN3@deflatePen - -; 456 : if (pending != Z_NULL) - - 00011 8b 55 0c mov edx, DWORD PTR _pending$[ebp] - 00014 85 d2 test edx, edx - 00016 74 05 je SHORT $LN4@deflatePen - -; 457 : *pending = strm->state->pending; - - 00018 8b 40 14 mov eax, DWORD PTR [eax+20] - 0001b 89 02 mov DWORD PTR [edx], eax -$LN4@deflatePen: - -; 458 : if (bits != Z_NULL) - - 0001d 8b 55 10 mov edx, DWORD PTR _bits$[ebp] - 00020 85 d2 test edx, edx - 00022 74 0b je SHORT $LN5@deflatePen - -; 459 : *bits = strm->state->bi_valid; - - 00024 8b 41 1c mov eax, DWORD PTR [ecx+28] - 00027 8b 80 bc 16 00 - 00 mov eax, DWORD PTR [eax+5820] - 0002d 89 02 mov DWORD PTR [edx], eax -$LN5@deflatePen: - -; 460 : return Z_OK; - - 0002f 33 c0 xor eax, eax - -; 461 : } - - 00031 5d pop ebp - 00032 c2 0c 00 ret 12 ; 0000000cH -$LN3@deflatePen: - -; 455 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00035 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 461 : } - - 0003a 5d pop ebp - 0003b c2 0c 00 ret 12 ; 0000000cH -_deflatePending@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflatePrime@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_bits$ = 12 ; size = 4 -_value$ = 16 ; size = 4 -_deflatePrime@12 PROC ; COMDAT - -; 468 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 469 : deflate_state *s; -; 470 : int put; -; 471 : -; 472 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00004 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00007 85 f6 test esi, esi - 00009 74 75 je SHORT $LN6@deflatePri - 0000b 8b 76 1c mov esi, DWORD PTR [esi+28] - 0000e 85 f6 test esi, esi - 00010 74 6e je SHORT $LN6@deflatePri - -; 473 : s = strm->state; -; 474 : if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3)) - - 00012 8b 46 10 mov eax, DWORD PTR [esi+16] - 00015 83 c0 02 add eax, 2 - 00018 39 86 a4 16 00 - 00 cmp DWORD PTR [esi+5796], eax - 0001e 73 0a jae SHORT $LN12@deflatePri - -; 475 : return Z_BUF_ERROR; - - 00020 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 00025 5e pop esi - -; 487 : } - - 00026 5d pop ebp - 00027 c2 0c 00 ret 12 ; 0000000cH -$LN12@deflatePri: - 0002a 53 push ebx - -; 475 : return Z_BUF_ERROR; - - 0002b 8b 5d 0c mov ebx, DWORD PTR _bits$[ebp] - 0002e 57 push edi - 0002f 90 npad 1 -$LL4@deflatePri: - -; 476 : do { -; 477 : put = Buf_size - s->bi_valid; - - 00030 8b 96 bc 16 00 - 00 mov edx, DWORD PTR [esi+5820] - 00036 bf 10 00 00 00 mov edi, 16 ; 00000010H - 0003b 2b fa sub edi, edx - -; 478 : if (put > bits) -; 479 : put = bits; -; 480 : s->bi_buf |= (ush)((value & ((1 << put) - 1)) << s->bi_valid); - - 0003d b8 01 00 00 00 mov eax, 1 - 00042 3b fb cmp edi, ebx - 00044 0f 4f fb cmovg edi, ebx - 00047 8b cf mov ecx, edi - 00049 66 d3 e0 shl ax, cl - 0004c 8b ca mov ecx, edx - 0004e 66 48 dec ax - 00050 66 23 45 10 and ax, WORD PTR _value$[ebp] - 00054 66 d3 e0 shl ax, cl - -; 481 : s->bi_valid += put; -; 482 : _tr_flush_bits(s); - - 00057 8b ce mov ecx, esi - 00059 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 00060 8d 04 3a lea eax, DWORD PTR [edx+edi] - 00063 89 86 bc 16 00 - 00 mov DWORD PTR [esi+5820], eax - 00069 e8 00 00 00 00 call __tr_flush_bits - -; 483 : value >>= put; - - 0006e 8b cf mov ecx, edi - 00070 d3 7d 10 sar DWORD PTR _value$[ebp], cl - -; 484 : bits -= put; - - 00073 2b df sub ebx, edi - -; 485 : } while (bits); - - 00075 75 b9 jne SHORT $LL4@deflatePri - -; 486 : return Z_OK; - - 00077 5f pop edi - 00078 5b pop ebx - 00079 33 c0 xor eax, eax - 0007b 5e pop esi - -; 487 : } - - 0007c 5d pop ebp - 0007d c2 0c 00 ret 12 ; 0000000cH -$LN6@deflatePri: - -; 469 : deflate_state *s; -; 470 : int put; -; 471 : -; 472 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00080 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00085 5e pop esi - -; 487 : } - - 00086 5d pop ebp - 00087 c2 0c 00 ret 12 ; 0000000cH -_deflatePrime@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateParams@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_level$ = 12 ; size = 4 -_strategy$ = 16 ; size = 4 -_deflateParams@12 PROC ; COMDAT - -; 494 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 495 : deflate_state *s; -; 496 : compress_func func; -; 497 : int err = Z_OK; -; 498 : -; 499 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00004 8b 5d 08 mov ebx, DWORD PTR _strm$[ebp] - 00007 33 d2 xor edx, edx - 00009 57 push edi - 0000a 85 db test ebx, ebx - 0000c 0f 84 da 00 00 - 00 je $LN3@deflatePar - 00012 8b 7b 1c mov edi, DWORD PTR [ebx+28] - 00015 85 ff test edi, edi - 00017 0f 84 cf 00 00 - 00 je $LN3@deflatePar - -; 500 : s = strm->state; -; 501 : -; 502 : #ifdef FASTEST -; 503 : if (level != 0) level = 1; -; 504 : #else -; 505 : if (level == Z_DEFAULT_COMPRESSION) level = 6; - - 0001d 56 push esi - 0001e 8b 75 0c mov esi, DWORD PTR _level$[ebp] - 00021 83 fe ff cmp esi, -1 - 00024 75 05 jne SHORT $LN4@deflatePar - 00026 8d 72 06 lea esi, DWORD PTR [edx+6] - -; 506 : #endif -; 507 : if (level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) { - - 00029 eb 11 jmp SHORT $LN13@deflatePar -$LN4@deflatePar: - 0002b 85 f6 test esi, esi - 0002d 0f 88 ad 00 00 - 00 js $LN6@deflatePar - 00033 83 fe 09 cmp esi, 9 - 00036 0f 8f a4 00 00 - 00 jg $LN6@deflatePar -$LN13@deflatePar: - 0003c 8b 45 10 mov eax, DWORD PTR _strategy$[ebp] - 0003f 83 f8 04 cmp eax, 4 - 00042 0f 87 98 00 00 - 00 ja $LN6@deflatePar - -; 509 : } -; 510 : func = configuration_table[s->level].func; -; 511 : -; 512 : if ((strategy != s->strategy || func != configuration_table[level].func) && - - 00048 3b 87 88 00 00 - 00 cmp eax, DWORD PTR [edi+136] - 0004e 75 1c jne SHORT $LN8@deflatePar - 00050 8b 87 84 00 00 - 00 mov eax, DWORD PTR [edi+132] - 00056 8d 0c 76 lea ecx, DWORD PTR [esi+esi*2] - 00059 8d 04 40 lea eax, DWORD PTR [eax+eax*2] - 0005c 8b 04 85 08 00 - 00 00 mov eax, DWORD PTR _configuration_table[eax*4+8] - 00063 3b 04 8d 08 00 - 00 00 cmp eax, DWORD PTR _configuration_table[ecx*4+8] - 0006a 74 1c je SHORT $LN9@deflatePar -$LN8@deflatePar: - 0006c 39 53 08 cmp DWORD PTR [ebx+8], edx - 0006f 74 17 je SHORT $LN9@deflatePar - -; 513 : strm->total_in != 0) { -; 514 : /* Flush the last buffer: */ -; 515 : err = deflate(strm, Z_BLOCK); - - 00071 6a 05 push 5 - 00073 53 push ebx - 00074 e8 00 00 00 00 call _deflate@8 - 00079 8b d0 mov edx, eax - -; 516 : if (err == Z_BUF_ERROR && s->pending == 0) - - 0007b 83 fa fb cmp edx, -5 ; fffffffbH - 0007e 75 08 jne SHORT $LN9@deflatePar - 00080 33 c0 xor eax, eax - 00082 39 47 14 cmp DWORD PTR [edi+20], eax - 00085 0f 44 d0 cmove edx, eax -$LN9@deflatePar: - -; 517 : err = Z_OK; -; 518 : } -; 519 : if (s->level != level) { - - 00088 39 b7 84 00 00 - 00 cmp DWORD PTR [edi+132], esi - 0008e 74 3e je SHORT $LN10@deflatePar - -; 520 : s->level = level; -; 521 : s->max_lazy_match = configuration_table[level].max_lazy; - - 00090 8d 0c 76 lea ecx, DWORD PTR [esi+esi*2] - 00093 89 b7 84 00 00 - 00 mov DWORD PTR [edi+132], esi - 00099 0f b7 04 8d 02 - 00 00 00 movzx eax, WORD PTR _configuration_table[ecx*4+2] - 000a1 89 87 80 00 00 - 00 mov DWORD PTR [edi+128], eax - -; 522 : s->good_match = configuration_table[level].good_length; - - 000a7 0f b7 04 8d 00 - 00 00 00 movzx eax, WORD PTR _configuration_table[ecx*4] - 000af 89 87 8c 00 00 - 00 mov DWORD PTR [edi+140], eax - -; 523 : s->nice_match = configuration_table[level].nice_length; - - 000b5 0f b7 04 8d 04 - 00 00 00 movzx eax, WORD PTR _configuration_table[ecx*4+4] - 000bd 89 87 90 00 00 - 00 mov DWORD PTR [edi+144], eax - -; 524 : s->max_chain_length = configuration_table[level].max_chain; - - 000c3 0f b7 04 8d 06 - 00 00 00 movzx eax, WORD PTR _configuration_table[ecx*4+6] - 000cb 89 47 7c mov DWORD PTR [edi+124], eax -$LN10@deflatePar: - -; 525 : } -; 526 : s->strategy = strategy; - - 000ce 8b 45 10 mov eax, DWORD PTR _strategy$[ebp] - 000d1 5e pop esi - 000d2 89 87 88 00 00 - 00 mov DWORD PTR [edi+136], eax - -; 527 : return err; - - 000d8 8b c2 mov eax, edx - 000da 5f pop edi - 000db 5b pop ebx - -; 528 : } - - 000dc 5d pop ebp - 000dd c2 0c 00 ret 12 ; 0000000cH -$LN6@deflatePar: - 000e0 5e pop esi - 000e1 5f pop edi - -; 508 : return Z_STREAM_ERROR; - - 000e2 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000e7 5b pop ebx - -; 528 : } - - 000e8 5d pop ebp - 000e9 c2 0c 00 ret 12 ; 0000000cH -$LN3@deflatePar: - 000ec 5f pop edi - -; 495 : deflate_state *s; -; 496 : compress_func func; -; 497 : int err = Z_OK; -; 498 : -; 499 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 000ed b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000f2 5b pop ebx - -; 528 : } - - 000f3 5d pop ebp - 000f4 c2 0c 00 ret 12 ; 0000000cH -_deflateParams@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateTune@20 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_good_length$ = 12 ; size = 4 -_max_lazy$ = 16 ; size = 4 -_nice_length$ = 20 ; size = 4 -_max_chain$ = 24 ; size = 4 -_deflateTune@20 PROC ; COMDAT - -; 537 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 538 : deflate_state *s; -; 539 : -; 540 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00006 85 c9 test ecx, ecx - 00008 74 2e je SHORT $LN3@deflateTun - 0000a 8b 49 1c mov ecx, DWORD PTR [ecx+28] - 0000d 85 c9 test ecx, ecx - 0000f 74 27 je SHORT $LN3@deflateTun - -; 541 : s = strm->state; -; 542 : s->good_match = good_length; - - 00011 8b 45 0c mov eax, DWORD PTR _good_length$[ebp] - 00014 89 81 8c 00 00 - 00 mov DWORD PTR [ecx+140], eax - -; 543 : s->max_lazy_match = max_lazy; - - 0001a 8b 45 10 mov eax, DWORD PTR _max_lazy$[ebp] - 0001d 89 81 80 00 00 - 00 mov DWORD PTR [ecx+128], eax - -; 544 : s->nice_match = nice_length; - - 00023 8b 45 14 mov eax, DWORD PTR _nice_length$[ebp] - 00026 89 81 90 00 00 - 00 mov DWORD PTR [ecx+144], eax - -; 545 : s->max_chain_length = max_chain; - - 0002c 8b 45 18 mov eax, DWORD PTR _max_chain$[ebp] - 0002f 89 41 7c mov DWORD PTR [ecx+124], eax - -; 546 : return Z_OK; - - 00032 33 c0 xor eax, eax - -; 547 : } - - 00034 5d pop ebp - 00035 c2 14 00 ret 20 ; 00000014H -$LN3@deflateTun: - -; 538 : deflate_state *s; -; 539 : -; 540 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00038 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 547 : } - - 0003d 5d pop ebp - 0003e c2 14 00 ret 20 ; 00000014H -_deflateTune@20 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateBound@8 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_complen$1$ = 12 ; size = 4 -_sourceLen$ = 12 ; size = 4 -_deflateBound@8 PROC ; COMDAT - -; 569 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 570 : deflate_state *s; -; 571 : uLong complen, wraplen; -; 572 : Bytef *str; -; 573 : -; 574 : /* conservative upper bound for compressed data */ -; 575 : complen = sourceLen + -; 576 : ((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5; -; 577 : -; 578 : /* if can't get parameters, return conservative bound plus zlib wrapper */ -; 579 : if (strm == Z_NULL || strm->state == Z_NULL) - - 00003 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 00006 53 push ebx - 00007 8b 5d 0c mov ebx, DWORD PTR _sourceLen$[ebp] - 0000a 8d 4b 3f lea ecx, DWORD PTR [ebx+63] - 0000d c1 e9 06 shr ecx, 6 - 00010 8d 43 07 lea eax, DWORD PTR [ebx+7] - 00013 c1 e8 03 shr eax, 3 - 00016 03 cb add ecx, ebx - 00018 83 c0 05 add eax, 5 - 0001b 03 c8 add ecx, eax - 0001d 89 4d 0c mov DWORD PTR _complen$1$[ebp], ecx - 00020 85 d2 test edx, edx - 00022 0f 84 bd 00 00 - 00 je $LN11@deflateBou - 00028 8b 52 1c mov edx, DWORD PTR [edx+28] - 0002b 85 d2 test edx, edx - 0002d 0f 84 b2 00 00 - 00 je $LN11@deflateBou - -; 581 : -; 582 : /* compute wrapper length */ -; 583 : s = strm->state; -; 584 : switch (s->wrap) { - - 00033 8b 42 18 mov eax, DWORD PTR [edx+24] - 00036 56 push esi - 00037 83 e8 00 sub eax, 0 - 0003a 0f 84 98 00 00 - 00 je $LN12@deflateBou - 00040 83 e8 01 sub eax, 1 - 00043 0f 84 80 00 00 - 00 je $LN13@deflateBou - 00049 83 e8 01 sub eax, 1 - 0004c 74 07 je SHORT $LN14@deflateBou - -; 610 : default: /* for compiler happiness */ -; 611 : wraplen = 6; - - 0004e be 06 00 00 00 mov esi, 6 - 00053 eb 48 jmp SHORT $LN2@deflateBou -$LN14@deflateBou: - 00055 57 push edi - -; 591 : case 2: /* gzip wrapper */ -; 592 : wraplen = 18; -; 593 : if (s->gzhead != Z_NULL) { /* user-supplied gzip header */ - - 00056 8b 7a 1c mov edi, DWORD PTR [edx+28] - 00059 be 12 00 00 00 mov esi, 18 ; 00000012H - 0005e 85 ff test edi, edi - 00060 74 3a je SHORT $LN32@deflateBou - -; 594 : if (s->gzhead->extra != Z_NULL) - - 00062 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 00066 74 06 je SHORT $LN16@deflateBou - -; 595 : wraplen += 2 + s->gzhead->extra_len; - - 00068 8b 77 14 mov esi, DWORD PTR [edi+20] - 0006b 83 c6 14 add esi, 20 ; 00000014H -$LN16@deflateBou: - -; 596 : str = s->gzhead->name; - - 0006e 8b 4f 1c mov ecx, DWORD PTR [edi+28] - -; 597 : if (str != Z_NULL) - - 00071 85 c9 test ecx, ecx - 00073 74 0a je SHORT $LN5@deflateBou -$LL6@deflateBou: - -; 598 : do { -; 599 : wraplen++; -; 600 : } while (*str++); - - 00075 8a 01 mov al, BYTE PTR [ecx] - 00077 8d 49 01 lea ecx, DWORD PTR [ecx+1] - 0007a 46 inc esi - 0007b 84 c0 test al, al - 0007d 75 f6 jne SHORT $LL6@deflateBou -$LN5@deflateBou: - -; 601 : str = s->gzhead->comment; - - 0007f 8b 4f 24 mov ecx, DWORD PTR [edi+36] - -; 602 : if (str != Z_NULL) - - 00082 85 c9 test ecx, ecx - 00084 74 0a je SHORT $LN8@deflateBou -$LL9@deflateBou: - -; 603 : do { -; 604 : wraplen++; -; 605 : } while (*str++); - - 00086 8a 01 mov al, BYTE PTR [ecx] - 00088 8d 49 01 lea ecx, DWORD PTR [ecx+1] - 0008b 46 inc esi - 0008c 84 c0 test al, al - 0008e 75 f6 jne SHORT $LL9@deflateBou -$LN8@deflateBou: - -; 606 : if (s->gzhead->hcrc) - - 00090 83 7f 2c 00 cmp DWORD PTR [edi+44], 0 - -; 608 : } -; 609 : break; - - 00094 8b 4d 0c mov ecx, DWORD PTR _complen$1$[ebp] - 00097 74 03 je SHORT $LN32@deflateBou - -; 607 : wraplen += 2; - - 00099 83 c6 02 add esi, 2 -$LN32@deflateBou: - 0009c 5f pop edi -$LN2@deflateBou: - -; 612 : } -; 613 : -; 614 : /* if not default parameters, return conservative bound */ -; 615 : if (s->w_bits != 15 || s->hash_bits != 8 + 7) - - 0009d 83 7a 30 0f cmp DWORD PTR [edx+48], 15 ; 0000000fH - 000a1 75 39 jne SHORT $LN22@deflateBou - 000a3 83 7a 50 0f cmp DWORD PTR [edx+80], 15 ; 0000000fH - 000a7 75 33 jne SHORT $LN22@deflateBou - -; 617 : -; 618 : /* default settings: return tight bound for that case */ -; 619 : return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + - - 000a9 8b cb mov ecx, ebx - 000ab 8b d3 mov edx, ebx - 000ad c1 e9 0e shr ecx, 14 ; 0000000eH - 000b0 8b c3 mov eax, ebx - 000b2 03 ce add ecx, esi - 000b4 c1 e8 0c shr eax, 12 ; 0000000cH - 000b7 c1 ea 19 shr edx, 25 ; 00000019H - 000ba 83 c0 07 add eax, 7 - 000bd 03 ca add ecx, edx - 000bf 03 c1 add eax, ecx - 000c1 5e pop esi - 000c2 03 c3 add eax, ebx - 000c4 5b pop ebx - -; 620 : (sourceLen >> 25) + 13 - 6 + wraplen; -; 621 : } - - 000c5 5d pop ebp - 000c6 c2 08 00 ret 8 -$LN13@deflateBou: - -; 587 : break; -; 588 : case 1: /* zlib wrapper */ -; 589 : wraplen = 6 + (s->strstart ? 4 : 0); - - 000c9 8b 72 6c mov esi, DWORD PTR [edx+108] - 000cc f7 de neg esi - 000ce 1b f6 sbb esi, esi - 000d0 83 e6 04 and esi, 4 - 000d3 83 c6 06 add esi, 6 - -; 590 : break; - - 000d6 eb c5 jmp SHORT $LN2@deflateBou -$LN12@deflateBou: - -; 585 : case 0: /* raw deflate */ -; 586 : wraplen = 0; - - 000d8 33 f6 xor esi, esi - 000da eb c1 jmp SHORT $LN2@deflateBou -$LN22@deflateBou: - -; 616 : return complen + wraplen; - - 000dc 8d 04 0e lea eax, DWORD PTR [esi+ecx] - 000df 5e pop esi - 000e0 5b pop ebx - -; 620 : (sourceLen >> 25) + 13 - 6 + wraplen; -; 621 : } - - 000e1 5d pop ebp - 000e2 c2 08 00 ret 8 -$LN11@deflateBou: - -; 580 : return complen + 6; - - 000e5 8d 41 06 lea eax, DWORD PTR [ecx+6] - 000e8 5b pop ebx - -; 620 : (sourceLen >> 25) + 13 - 6 + wraplen; -; 621 : } - - 000e9 5d pop ebp - 000ea c2 08 00 ret 8 -_deflateBound@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _putShortMSB -_TEXT SEGMENT -_putShortMSB PROC ; COMDAT -; _s$ = ecx -; _b$ = edx - -; 631 : { - - 00000 56 push esi - 00001 57 push edi - 00002 8b f9 mov edi, ecx - -; 632 : put_byte(s, (Byte)(b >> 8)); - - 00004 8b ca mov ecx, edx - 00006 c1 e9 08 shr ecx, 8 - 00009 8b 47 14 mov eax, DWORD PTR [edi+20] - 0000c 8b 77 08 mov esi, DWORD PTR [edi+8] - 0000f 88 0c 06 mov BYTE PTR [esi+eax], cl - 00012 ff 47 14 inc DWORD PTR [edi+20] - 00015 8b 4f 14 mov ecx, DWORD PTR [edi+20] - -; 633 : put_byte(s, (Byte)(b & 0xff)); - - 00018 8b 47 08 mov eax, DWORD PTR [edi+8] - 0001b 88 14 01 mov BYTE PTR [ecx+eax], dl - 0001e ff 47 14 inc DWORD PTR [edi+20] - 00021 5f pop edi - 00022 5e pop esi - -; 634 : } - - 00023 c3 ret 0 -_putShortMSB ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _flush_pending -_TEXT SEGMENT -_flush_pending PROC ; COMDAT -; _strm$ = ecx - -; 644 : { - - 00000 53 push ebx - 00001 8b d9 mov ebx, ecx - 00003 56 push esi - 00004 57 push edi - -; 645 : unsigned len; -; 646 : deflate_state *s = strm->state; - - 00005 8b 73 1c mov esi, DWORD PTR [ebx+28] - -; 647 : -; 648 : _tr_flush_bits(s); - - 00008 8b ce mov ecx, esi - 0000a e8 00 00 00 00 call __tr_flush_bits - -; 649 : len = s->pending; - - 0000f 8b 7e 14 mov edi, DWORD PTR [esi+20] - -; 650 : if (len > strm->avail_out) len = strm->avail_out; - - 00012 3b 7b 10 cmp edi, DWORD PTR [ebx+16] - 00015 0f 47 7b 10 cmova edi, DWORD PTR [ebx+16] - -; 651 : if (len == 0) return; - - 00019 85 ff test edi, edi - 0001b 74 26 je SHORT $LN4@flush_pend - -; 652 : -; 653 : zmemcpy(strm->next_out, s->pending_out, len); - - 0001d 57 push edi - 0001e ff 76 10 push DWORD PTR [esi+16] - 00021 ff 73 0c push DWORD PTR [ebx+12] - 00024 e8 00 00 00 00 call _memcpy - -; 654 : strm->next_out += len; - - 00029 01 7b 0c add DWORD PTR [ebx+12], edi - 0002c 83 c4 0c add esp, 12 ; 0000000cH - -; 655 : s->pending_out += len; - - 0002f 01 7e 10 add DWORD PTR [esi+16], edi - -; 656 : strm->total_out += len; - - 00032 01 7b 14 add DWORD PTR [ebx+20], edi - -; 657 : strm->avail_out -= len; - - 00035 29 7b 10 sub DWORD PTR [ebx+16], edi - -; 658 : s->pending -= len; - - 00038 29 7e 14 sub DWORD PTR [esi+20], edi - -; 659 : if (s->pending == 0) { - - 0003b 75 06 jne SHORT $LN4@flush_pend - -; 660 : s->pending_out = s->pending_buf; - - 0003d 8b 46 08 mov eax, DWORD PTR [esi+8] - 00040 89 46 10 mov DWORD PTR [esi+16], eax -$LN4@flush_pend: - -; 661 : } -; 662 : } - - 00043 5f pop edi - 00044 5e pop esi - 00045 5b pop ebx - 00046 c3 ret 0 -_flush_pending ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflateCopy@8 -_TEXT SEGMENT -_dest$ = 8 ; size = 4 -_overlay$1$ = 12 ; size = 4 -_source$ = 12 ; size = 4 -_deflateCopy@8 PROC ; COMDAT - -; 1017 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1018 : #ifdef MAXSEG_64K -; 1019 : return Z_STREAM_ERROR; -; 1020 : #else -; 1021 : deflate_state *ds; -; 1022 : deflate_state *ss; -; 1023 : ushf *overlay; -; 1024 : -; 1025 : -; 1026 : if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) { - - 00003 8b 45 0c mov eax, DWORD PTR _source$[ebp] - 00006 53 push ebx - 00007 56 push esi - 00008 85 c0 test eax, eax - 0000a 0f 84 84 01 00 - 00 je $LN3@deflateCop - 00010 8b 75 08 mov esi, DWORD PTR _dest$[ebp] - 00013 85 f6 test esi, esi - 00015 0f 84 79 01 00 - 00 je $LN3@deflateCop - 0001b 8b 58 1c mov ebx, DWORD PTR [eax+28] - 0001e 85 db test ebx, ebx - 00020 0f 84 6e 01 00 - 00 je $LN3@deflateCop - -; 1028 : } -; 1029 : -; 1030 : ss = source->state; -; 1031 : -; 1032 : zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream)); - - 00026 0f 10 00 movups xmm0, XMMWORD PTR [eax] - 00029 57 push edi - -; 1033 : -; 1034 : ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state)); - - 0002a 68 c4 16 00 00 push 5828 ; 000016c4H - 0002f 0f 11 06 movups XMMWORD PTR [esi], xmm0 - 00032 6a 01 push 1 - 00034 0f 10 40 10 movups xmm0, XMMWORD PTR [eax+16] - 00038 0f 11 46 10 movups XMMWORD PTR [esi+16], xmm0 - 0003c 0f 10 40 20 movups xmm0, XMMWORD PTR [eax+32] - 00040 0f 11 46 20 movups XMMWORD PTR [esi+32], xmm0 - 00044 f3 0f 7e 40 30 movq xmm0, QWORD PTR [eax+48] - 00049 66 0f d6 46 30 movq QWORD PTR [esi+48], xmm0 - 0004e ff 76 28 push DWORD PTR [esi+40] - 00051 8b 46 20 mov eax, DWORD PTR [esi+32] - 00054 ff d0 call eax - 00056 8b f8 mov edi, eax - 00058 83 c4 0c add esp, 12 ; 0000000cH - -; 1035 : if (ds == Z_NULL) return Z_MEM_ERROR; - - 0005b 85 ff test edi, edi - 0005d 0f 84 25 01 00 - 00 je $LN9@deflateCop - -; 1036 : dest->state = (struct internal_state FAR *) ds; -; 1037 : zmemcpy((voidpf)ds, (voidpf)ss, sizeof(deflate_state)); - - 00063 68 c4 16 00 00 push 5828 ; 000016c4H - 00068 53 push ebx - 00069 57 push edi - 0006a 89 7e 1c mov DWORD PTR [esi+28], edi - 0006d e8 00 00 00 00 call _memcpy - -; 1038 : ds->strm = dest; -; 1039 : -; 1040 : ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); - - 00072 6a 02 push 2 - 00074 ff 77 2c push DWORD PTR [edi+44] - 00077 89 37 mov DWORD PTR [edi], esi - 00079 ff 76 28 push DWORD PTR [esi+40] - 0007c 8b 46 20 mov eax, DWORD PTR [esi+32] - 0007f ff d0 call eax - -; 1041 : ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); - - 00081 6a 02 push 2 - 00083 ff 77 2c push DWORD PTR [edi+44] - 00086 89 47 38 mov DWORD PTR [edi+56], eax - 00089 ff 76 28 push DWORD PTR [esi+40] - 0008c 8b 46 20 mov eax, DWORD PTR [esi+32] - 0008f ff d0 call eax - -; 1042 : ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); - - 00091 6a 02 push 2 - 00093 ff 77 4c push DWORD PTR [edi+76] - 00096 89 47 40 mov DWORD PTR [edi+64], eax - 00099 ff 76 28 push DWORD PTR [esi+40] - 0009c 8b 46 20 mov eax, DWORD PTR [esi+32] - 0009f ff d0 call eax - -; 1043 : overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2); - - 000a1 6a 04 push 4 - 000a3 ff b7 9c 16 00 - 00 push DWORD PTR [edi+5788] - 000a9 89 47 44 mov DWORD PTR [edi+68], eax - 000ac ff 76 28 push DWORD PTR [esi+40] - 000af 8b 46 20 mov eax, DWORD PTR [esi+32] - 000b2 ff d0 call eax - -; 1044 : ds->pending_buf = (uchf *) overlay; -; 1045 : -; 1046 : if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || - - 000b4 8b 4f 38 mov ecx, DWORD PTR [edi+56] - 000b7 83 c4 3c add esp, 60 ; 0000003cH - 000ba 89 45 0c mov DWORD PTR _overlay$1$[ebp], eax - 000bd 89 47 08 mov DWORD PTR [edi+8], eax - 000c0 85 c9 test ecx, ecx - 000c2 0f 84 ba 00 00 - 00 je $LN6@deflateCop - 000c8 83 7f 40 00 cmp DWORD PTR [edi+64], 0 - 000cc 0f 84 b0 00 00 - 00 je $LN6@deflateCop - 000d2 83 7f 44 00 cmp DWORD PTR [edi+68], 0 - 000d6 0f 84 a6 00 00 - 00 je $LN6@deflateCop - 000dc 85 c0 test eax, eax - 000de 0f 84 9e 00 00 - 00 je $LN6@deflateCop - -; 1050 : } -; 1051 : /* following zmemcpy do not work for 16-bit MSDOS */ -; 1052 : zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte)); - - 000e4 8b 47 2c mov eax, DWORD PTR [edi+44] - 000e7 03 c0 add eax, eax - 000e9 50 push eax - 000ea ff 73 38 push DWORD PTR [ebx+56] - 000ed 51 push ecx - 000ee e8 00 00 00 00 call _memcpy - -; 1053 : zmemcpy((voidpf)ds->prev, (voidpf)ss->prev, ds->w_size * sizeof(Pos)); - - 000f3 8b 47 2c mov eax, DWORD PTR [edi+44] - 000f6 03 c0 add eax, eax - 000f8 50 push eax - 000f9 ff 73 40 push DWORD PTR [ebx+64] - 000fc ff 77 40 push DWORD PTR [edi+64] - 000ff e8 00 00 00 00 call _memcpy - -; 1054 : zmemcpy((voidpf)ds->head, (voidpf)ss->head, ds->hash_size * sizeof(Pos)); - - 00104 8b 47 4c mov eax, DWORD PTR [edi+76] - 00107 03 c0 add eax, eax - 00109 50 push eax - 0010a ff 73 44 push DWORD PTR [ebx+68] - 0010d ff 77 44 push DWORD PTR [edi+68] - 00110 e8 00 00 00 00 call _memcpy - -; 1055 : zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); - - 00115 ff 77 0c push DWORD PTR [edi+12] - 00118 ff 73 08 push DWORD PTR [ebx+8] - 0011b ff 77 08 push DWORD PTR [edi+8] - 0011e e8 00 00 00 00 call _memcpy - -; 1056 : -; 1057 : ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); - - 00123 8b 43 10 mov eax, DWORD PTR [ebx+16] - 00126 83 c4 30 add esp, 48 ; 00000030H - 00129 2b 43 08 sub eax, DWORD PTR [ebx+8] - 0012c 8b 57 08 mov edx, DWORD PTR [edi+8] - 0012f 03 c2 add eax, edx - -; 1058 : ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush); - - 00131 8b 8f 9c 16 00 - 00 mov ecx, DWORD PTR [edi+5788] - 00137 8b 75 0c mov esi, DWORD PTR _overlay$1$[ebp] - 0013a 89 47 10 mov DWORD PTR [edi+16], eax - 0013d 8b c1 mov eax, ecx - 0013f d1 e8 shr eax, 1 - 00141 8d 04 46 lea eax, DWORD PTR [esi+eax*2] - 00144 89 87 a4 16 00 - 00 mov DWORD PTR [edi+5796], eax - -; 1059 : ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize; - - 0014a 8d 04 4a lea eax, DWORD PTR [edx+ecx*2] - 0014d 03 c1 add eax, ecx - 0014f 89 87 98 16 00 - 00 mov DWORD PTR [edi+5784], eax - -; 1060 : -; 1061 : ds->l_desc.dyn_tree = ds->dyn_ltree; - - 00155 8d 87 94 00 00 - 00 lea eax, DWORD PTR [edi+148] - 0015b 89 87 18 0b 00 - 00 mov DWORD PTR [edi+2840], eax - -; 1062 : ds->d_desc.dyn_tree = ds->dyn_dtree; - - 00161 8d 87 88 09 00 - 00 lea eax, DWORD PTR [edi+2440] - 00167 89 87 24 0b 00 - 00 mov DWORD PTR [edi+2852], eax - -; 1063 : ds->bl_desc.dyn_tree = ds->bl_tree; - - 0016d 8d 87 7c 0a 00 - 00 lea eax, DWORD PTR [edi+2684] - 00173 89 87 30 0b 00 - 00 mov DWORD PTR [edi+2864], eax - -; 1064 : -; 1065 : return Z_OK; - - 00179 33 c0 xor eax, eax - 0017b 5f pop edi - 0017c 5e pop esi - 0017d 5b pop ebx - -; 1066 : #endif /* MAXSEG_64K */ -; 1067 : } - - 0017e 5d pop ebp - 0017f c2 08 00 ret 8 -$LN6@deflateCop: - -; 1047 : ds->pending_buf == Z_NULL) { -; 1048 : deflateEnd (dest); - - 00182 56 push esi - 00183 e8 00 00 00 00 call _deflateEnd@4 -$LN9@deflateCop: - -; 1049 : return Z_MEM_ERROR; - - 00188 5f pop edi - 00189 5e pop esi - 0018a b8 fc ff ff ff mov eax, -4 ; fffffffcH - 0018f 5b pop ebx - -; 1066 : #endif /* MAXSEG_64K */ -; 1067 : } - - 00190 5d pop ebp - 00191 c2 08 00 ret 8 -$LN3@deflateCop: - 00194 5e pop esi - -; 1027 : return Z_STREAM_ERROR; - - 00195 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0019a 5b pop ebx - -; 1066 : #endif /* MAXSEG_64K */ -; 1067 : } - - 0019b 5d pop ebp - 0019c c2 08 00 ret 8 -_deflateCopy@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _read_buf -_TEXT SEGMENT -_size$ = 8 ; size = 4 -_read_buf PROC ; COMDAT -; _strm$ = ecx -; _buf$ = edx - -; 1080 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - 00005 8b f1 mov esi, ecx - 00007 8b da mov ebx, edx - 00009 57 push edi - -; 1081 : unsigned len = strm->avail_in; - - 0000a 8b 4e 04 mov ecx, DWORD PTR [esi+4] - -; 1082 : -; 1083 : if (len > size) len = size; - - 0000d 8b f9 mov edi, ecx - 0000f 3b 4d 08 cmp ecx, DWORD PTR _size$[ebp] - 00012 0f 47 7d 08 cmova edi, DWORD PTR _size$[ebp] - -; 1084 : if (len == 0) return 0; - - 00016 85 ff test edi, edi - 00018 75 07 jne SHORT $LN3@read_buf - 0001a 5f pop edi - 0001b 5e pop esi - 0001c 33 c0 xor eax, eax - 0001e 5b pop ebx - -; 1101 : } - - 0001f 5d pop ebp - 00020 c3 ret 0 -$LN3@read_buf: - -; 1085 : -; 1086 : strm->avail_in -= len; -; 1087 : -; 1088 : zmemcpy(buf, strm->next_in, len); - - 00021 57 push edi - 00022 ff 36 push DWORD PTR [esi] - 00024 2b cf sub ecx, edi - 00026 53 push ebx - 00027 89 4e 04 mov DWORD PTR [esi+4], ecx - 0002a e8 00 00 00 00 call _memcpy - -; 1089 : if (strm->state->wrap == 1) { - - 0002f 8b 46 1c mov eax, DWORD PTR [esi+28] - 00032 83 c4 0c add esp, 12 ; 0000000cH - 00035 8b 40 18 mov eax, DWORD PTR [eax+24] - 00038 83 f8 01 cmp eax, 1 - 0003b 75 19 jne SHORT $LN4@read_buf - -; 1090 : strm->adler = adler32(strm->adler, buf, len); - - 0003d 57 push edi - 0003e 53 push ebx - 0003f ff 76 30 push DWORD PTR [esi+48] - 00042 e8 00 00 00 00 call _adler32@12 - -; 1095 : } -; 1096 : #endif -; 1097 : strm->next_in += len; - - 00047 01 3e add DWORD PTR [esi], edi - -; 1098 : strm->total_in += len; - - 00049 01 7e 08 add DWORD PTR [esi+8], edi - 0004c 89 46 30 mov DWORD PTR [esi+48], eax - -; 1099 : -; 1100 : return (int)len; - - 0004f 8b c7 mov eax, edi - 00051 5f pop edi - 00052 5e pop esi - 00053 5b pop ebx - -; 1101 : } - - 00054 5d pop ebp - 00055 c3 ret 0 -$LN4@read_buf: - -; 1091 : } -; 1092 : #ifdef GZIP -; 1093 : else if (strm->state->wrap == 2) { - - 00056 83 f8 02 cmp eax, 2 - 00059 75 0d jne SHORT $LN6@read_buf - -; 1094 : strm->adler = crc32(strm->adler, buf, len); - - 0005b 57 push edi - 0005c 53 push ebx - 0005d ff 76 30 push DWORD PTR [esi+48] - 00060 e8 00 00 00 00 call _crc32@12 - 00065 89 46 30 mov DWORD PTR [esi+48], eax -$LN6@read_buf: - -; 1095 : } -; 1096 : #endif -; 1097 : strm->next_in += len; - - 00068 01 3e add DWORD PTR [esi], edi - -; 1099 : -; 1100 : return (int)len; - - 0006a 8b c7 mov eax, edi - 0006c 01 7e 08 add DWORD PTR [esi+8], edi - 0006f 5f pop edi - 00070 5e pop esi - 00071 5b pop ebx - -; 1101 : } - - 00072 5d pop ebp - 00073 c3 ret 0 -_read_buf ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _lm_init -_TEXT SEGMENT -_lm_init PROC ; COMDAT -; _s$ = ecx - -; 1108 : { - - 00000 56 push esi - 00001 8b f1 mov esi, ecx - -; 1109 : s->window_size = (ulg)2L*s->w_size; -; 1110 : -; 1111 : CLEAR_HASH(s); - - 00003 33 c9 xor ecx, ecx - 00005 8b 46 2c mov eax, DWORD PTR [esi+44] - 00008 8b 56 4c mov edx, DWORD PTR [esi+76] - 0000b 03 c0 add eax, eax - 0000d 89 46 3c mov DWORD PTR [esi+60], eax - 00010 8b 46 44 mov eax, DWORD PTR [esi+68] - 00013 66 89 4c 50 fe mov WORD PTR [eax+edx*2-2], cx - 00018 8b 46 4c mov eax, DWORD PTR [esi+76] - 0001b 8d 04 45 fe ff - ff ff lea eax, DWORD PTR [eax*2-2] - 00022 50 push eax - 00023 51 push ecx - 00024 ff 76 44 push DWORD PTR [esi+68] - 00027 e8 00 00 00 00 call _memset - -; 1112 : -; 1113 : /* Set the default configuration parameters: -; 1114 : */ -; 1115 : s->max_lazy_match = configuration_table[s->level].max_lazy; - - 0002c 8b 86 84 00 00 - 00 mov eax, DWORD PTR [esi+132] - 00032 83 c4 0c add esp, 12 ; 0000000cH - 00035 8d 0c 40 lea ecx, DWORD PTR [eax+eax*2] - 00038 0f b7 04 8d 02 - 00 00 00 movzx eax, WORD PTR _configuration_table[ecx*4+2] - 00040 89 86 80 00 00 - 00 mov DWORD PTR [esi+128], eax - -; 1116 : s->good_match = configuration_table[s->level].good_length; - - 00046 0f b7 04 8d 00 - 00 00 00 movzx eax, WORD PTR _configuration_table[ecx*4] - 0004e 89 86 8c 00 00 - 00 mov DWORD PTR [esi+140], eax - -; 1117 : s->nice_match = configuration_table[s->level].nice_length; - - 00054 0f b7 04 8d 04 - 00 00 00 movzx eax, WORD PTR _configuration_table[ecx*4+4] - 0005c 89 86 90 00 00 - 00 mov DWORD PTR [esi+144], eax - -; 1118 : s->max_chain_length = configuration_table[s->level].max_chain; - - 00062 0f b7 04 8d 06 - 00 00 00 movzx eax, WORD PTR _configuration_table[ecx*4+6] - 0006a 89 46 7c mov DWORD PTR [esi+124], eax - -; 1119 : -; 1120 : s->strstart = 0; - - 0006d c7 46 6c 00 00 - 00 00 mov DWORD PTR [esi+108], 0 - -; 1121 : s->block_start = 0L; - - 00074 c7 46 5c 00 00 - 00 00 mov DWORD PTR [esi+92], 0 - -; 1122 : s->lookahead = 0; - - 0007b c7 46 74 00 00 - 00 00 mov DWORD PTR [esi+116], 0 - -; 1123 : s->insert = 0; - - 00082 c7 86 b4 16 00 - 00 00 00 00 00 mov DWORD PTR [esi+5812], 0 - -; 1124 : s->match_length = s->prev_length = MIN_MATCH-1; - - 0008c c7 46 78 02 00 - 00 00 mov DWORD PTR [esi+120], 2 - 00093 c7 46 60 02 00 - 00 00 mov DWORD PTR [esi+96], 2 - -; 1125 : s->match_available = 0; - - 0009a c7 46 68 00 00 - 00 00 mov DWORD PTR [esi+104], 0 - -; 1126 : s->ins_h = 0; - - 000a1 c7 46 48 00 00 - 00 00 mov DWORD PTR [esi+72], 0 - 000a8 5e pop esi - -; 1127 : #ifndef FASTEST -; 1128 : #ifdef ASMV -; 1129 : match_init(); /* initialize the asm code */ -; 1130 : #endif -; 1131 : #endif -; 1132 : } - - 000a9 c3 ret 0 -_lm_init ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _longest_match -_TEXT SEGMENT -tv373 = -36 ; size = 4 -_prev$1$ = -32 ; size = 4 -_wmask$1$ = -28 ; size = 4 -tv381 = -24 ; size = 4 -_limit$1$ = -20 ; size = 4 -_s$1$ = -16 ; size = 4 -_chain_length$1$ = -12 ; size = 4 -_nice_match$2$ = -8 ; size = 4 -_scan_end$1$ = -2 ; size = 1 -_scan_end1$1$ = -1 ; size = 1 -_longest_match PROC ; COMDAT -; _s$ = ecx -; _cur_match$ = edx - -; 1151 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 24 sub esp, 36 ; 00000024H - 00006 53 push ebx - 00007 56 push esi - 00008 8b f1 mov esi, ecx - 0000a 8b da mov ebx, edx - 0000c 57 push edi - 0000d 89 75 f0 mov DWORD PTR _s$1$[ebp], esi - -; 1152 : unsigned chain_length = s->max_chain_length;/* max hash chain length */ - - 00010 8b 46 7c mov eax, DWORD PTR [esi+124] - -; 1153 : register Bytef *scan = s->window + s->strstart; /* current string */ - - 00013 8b 4e 38 mov ecx, DWORD PTR [esi+56] - -; 1154 : register Bytef *match; /* matched string */ -; 1155 : register int len; /* length of current match */ -; 1156 : int best_len = s->prev_length; /* best match length so far */ -; 1157 : int nice_match = s->nice_match; /* stop if match long enough */ -; 1158 : IPos limit = s->strstart > (IPos)MAX_DIST(s) ? - - 00016 8b 56 2c mov edx, DWORD PTR [esi+44] - 00019 8b 7e 78 mov edi, DWORD PTR [esi+120] - 0001c 89 45 f4 mov DWORD PTR _chain_length$1$[ebp], eax - 0001f 8b 46 6c mov eax, DWORD PTR [esi+108] - 00022 03 c1 add eax, ecx - 00024 89 4d e8 mov DWORD PTR tv381[ebp], ecx - 00027 8b 8e 90 00 00 - 00 mov ecx, DWORD PTR [esi+144] - 0002d 89 4d f8 mov DWORD PTR _nice_match$2$[ebp], ecx - 00030 8d 8a fa fe ff - ff lea ecx, DWORD PTR [edx-262] - 00036 39 4e 6c cmp DWORD PTR [esi+108], ecx - 00039 76 10 jbe SHORT $LN18@longest_ma - 0003b 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 0003e 2b ca sub ecx, edx - 00040 81 c1 06 01 00 - 00 add ecx, 262 ; 00000106H - 00046 89 4d ec mov DWORD PTR _limit$1$[ebp], ecx - 00049 eb 07 jmp SHORT $LN19@longest_ma -$LN18@longest_ma: - 0004b c7 45 ec 00 00 - 00 00 mov DWORD PTR _limit$1$[ebp], 0 -$LN19@longest_ma: - -; 1159 : s->strstart - (IPos)MAX_DIST(s) : NIL; -; 1160 : /* Stop when cur_match becomes <= limit. To simplify the code, -; 1161 : * we prevent matches with the string of window index 0. -; 1162 : */ -; 1163 : Posf *prev = s->prev; - - 00052 8b 4e 40 mov ecx, DWORD PTR [esi+64] - 00055 89 4d e0 mov DWORD PTR _prev$1$[ebp], ecx - -; 1164 : uInt wmask = s->w_mask; - - 00058 8b 4e 34 mov ecx, DWORD PTR [esi+52] - -; 1165 : -; 1166 : #ifdef UNALIGNED_OK -; 1167 : /* Compare two bytes at a time. Note: this is not always beneficial. -; 1168 : * Try with and without -DUNALIGNED_OK to check. -; 1169 : */ -; 1170 : register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1; -; 1171 : register ush scan_start = *(ushf*)scan; -; 1172 : register ush scan_end = *(ushf*)(scan+best_len-1); -; 1173 : #else -; 1174 : register Bytef *strend = s->window + s->strstart + MAX_MATCH; - - 0005b 8d b0 02 01 00 - 00 lea esi, DWORD PTR [eax+258] - 00061 89 4d e4 mov DWORD PTR _wmask$1$[ebp], ecx - -; 1175 : register Byte scan_end1 = scan[best_len-1]; - - 00064 8a 4c 07 ff mov cl, BYTE PTR [edi+eax-1] - 00068 88 4d ff mov BYTE PTR _scan_end1$1$[ebp], cl - -; 1176 : register Byte scan_end = scan[best_len]; - - 0006b 8a 0c 07 mov cl, BYTE PTR [edi+eax] - 0006e 88 4d fe mov BYTE PTR _scan_end$1$[ebp], cl - -; 1177 : #endif -; 1178 : -; 1179 : /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. -; 1180 : * It is easy to get rid of this optimization if necessary. -; 1181 : */ -; 1182 : Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); -; 1183 : -; 1184 : /* Do not waste too much time if we already have a good match: */ -; 1185 : if (s->prev_length >= s->good_match) { - - 00071 8b 4d f0 mov ecx, DWORD PTR _s$1$[ebp] - 00074 3b b9 8c 00 00 - 00 cmp edi, DWORD PTR [ecx+140] - 0007a 72 09 jb SHORT $LN8@longest_ma - -; 1186 : chain_length >>= 2; - - 0007c 8b 51 7c mov edx, DWORD PTR [ecx+124] - 0007f c1 ea 02 shr edx, 2 - 00082 89 55 f4 mov DWORD PTR _chain_length$1$[ebp], edx -$LN8@longest_ma: - -; 1187 : } -; 1188 : /* Do not look for matches beyond the end of the input. This is necessary -; 1189 : * to make deflate deterministic. -; 1190 : */ -; 1191 : if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - 00085 8b 49 74 mov ecx, DWORD PTR [ecx+116] - 00088 8b 55 f8 mov edx, DWORD PTR _nice_match$2$[ebp] - 0008b 3b d1 cmp edx, ecx - 0008d 89 4d dc mov DWORD PTR tv373[ebp], ecx - 00090 0f 47 d1 cmova edx, ecx - 00093 89 55 f8 mov DWORD PTR _nice_match$2$[ebp], edx -$LL4@longest_ma: - -; 1192 : -; 1193 : Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); -; 1194 : -; 1195 : do { -; 1196 : Assert(cur_match < s->strstart, "no future"); -; 1197 : match = s->window + cur_match; - - 00096 8b 55 e8 mov edx, DWORD PTR tv381[ebp] - -; 1198 : -; 1199 : /* Skip to next match if the match length cannot increase -; 1200 : * or if the match length is less than 2. Note that the checks below -; 1201 : * for insufficient lookahead only occur occasionally for performance -; 1202 : * reasons. Therefore uninitialized memory will be accessed, and -; 1203 : * conditional jumps will be made that depend on those values. -; 1204 : * However the length of the match is limited to the lookahead, so -; 1205 : * the output of deflate is not affected by the uninitialized values. -; 1206 : */ -; 1207 : #if (defined(UNALIGNED_OK) && MAX_MATCH == 258) -; 1208 : /* This code assumes sizeof(unsigned short) == 2. Do not use -; 1209 : * UNALIGNED_OK if your compiler uses a different size. -; 1210 : */ -; 1211 : if (*(ushf*)(match+best_len-1) != scan_end || -; 1212 : *(ushf*)match != scan_start) continue; -; 1213 : -; 1214 : /* It is not necessary to compare scan[2] and match[2] since they are -; 1215 : * always equal when the other bytes match, given that the hash keys -; 1216 : * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at -; 1217 : * strstart+3, +5, ... up to strstart+257. We check for insufficient -; 1218 : * lookahead only every 4th comparison; the 128th check will be made -; 1219 : * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is -; 1220 : * necessary to put more guard bytes at the end of the window, or -; 1221 : * to check more often for insufficient lookahead. -; 1222 : */ -; 1223 : Assert(scan[2] == match[2], "scan[2]?"); -; 1224 : scan++, match++; -; 1225 : do { -; 1226 : } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) && -; 1227 : *(ushf*)(scan+=2) == *(ushf*)(match+=2) && -; 1228 : *(ushf*)(scan+=2) == *(ushf*)(match+=2) && -; 1229 : *(ushf*)(scan+=2) == *(ushf*)(match+=2) && -; 1230 : scan < strend); -; 1231 : /* The funny "do {}" generates better code on most compilers */ -; 1232 : -; 1233 : /* Here, scan <= window+strstart+257 */ -; 1234 : Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); -; 1235 : if (*scan == *match) scan++; -; 1236 : -; 1237 : len = (MAX_MATCH - 1) - (int)(strend-scan); -; 1238 : scan = strend - (MAX_MATCH-1); -; 1239 : -; 1240 : #else /* UNALIGNED_OK */ -; 1241 : -; 1242 : if (match[best_len] != scan_end || -; 1243 : match[best_len-1] != scan_end1 || -; 1244 : *match != *scan || - - 00099 8a 4d fe mov cl, BYTE PTR _scan_end$1$[ebp] - 0009c 03 d3 add edx, ebx - 0009e 38 0c 3a cmp BYTE PTR [edx+edi], cl - 000a1 0f 85 a3 00 00 - 00 jne $LN2@longest_ma - 000a7 8a 4d ff mov cl, BYTE PTR _scan_end1$1$[ebp] - 000aa 38 4c 3a ff cmp BYTE PTR [edx+edi-1], cl - 000ae 0f 85 96 00 00 - 00 jne $LN2@longest_ma - 000b4 8a 0a mov cl, BYTE PTR [edx] - 000b6 3a 08 cmp cl, BYTE PTR [eax] - 000b8 0f 85 8c 00 00 - 00 jne $LN2@longest_ma - 000be 8a 4a 01 mov cl, BYTE PTR [edx+1] - 000c1 3a 48 01 cmp cl, BYTE PTR [eax+1] - 000c4 0f 85 80 00 00 - 00 jne $LN2@longest_ma - -; 1245 : *++match != scan[1]) continue; -; 1246 : -; 1247 : /* The check at best_len-1 can be removed because it will be made -; 1248 : * again later. (This heuristic is not always a win.) -; 1249 : * It is not necessary to compare scan[2] and match[2] since they -; 1250 : * are always equal when the other bytes match, given that -; 1251 : * the hash keys are equal and that HASH_BITS >= 8. -; 1252 : */ -; 1253 : scan += 2, match++; - - 000ca 83 c0 02 add eax, 2 - 000cd 83 c2 02 add edx, 2 -$LL7@longest_ma: - -; 1254 : Assert(*scan == *match, "match[2]?"); -; 1255 : -; 1256 : /* We check for insufficient lookahead only every 8th comparison; -; 1257 : * the 256th check will be made at strstart+258. -; 1258 : */ -; 1259 : do { -; 1260 : } while (*++scan == *++match && *++scan == *++match && -; 1261 : *++scan == *++match && *++scan == *++match && -; 1262 : *++scan == *++match && *++scan == *++match && -; 1263 : *++scan == *++match && *++scan == *++match && - - 000d0 8a 48 01 mov cl, BYTE PTR [eax+1] - 000d3 40 inc eax - 000d4 3a 4a 01 cmp cl, BYTE PTR [edx+1] - 000d7 75 45 jne SHORT $LN12@longest_ma - 000d9 8a 48 01 mov cl, BYTE PTR [eax+1] - 000dc 40 inc eax - 000dd 3a 4a 02 cmp cl, BYTE PTR [edx+2] - 000e0 75 3c jne SHORT $LN12@longest_ma - 000e2 8a 48 01 mov cl, BYTE PTR [eax+1] - 000e5 40 inc eax - 000e6 3a 4a 03 cmp cl, BYTE PTR [edx+3] - 000e9 75 33 jne SHORT $LN12@longest_ma - 000eb 8a 48 01 mov cl, BYTE PTR [eax+1] - 000ee 40 inc eax - 000ef 3a 4a 04 cmp cl, BYTE PTR [edx+4] - 000f2 75 2a jne SHORT $LN12@longest_ma - 000f4 8a 48 01 mov cl, BYTE PTR [eax+1] - 000f7 40 inc eax - 000f8 3a 4a 05 cmp cl, BYTE PTR [edx+5] - 000fb 75 21 jne SHORT $LN12@longest_ma - 000fd 8a 48 01 mov cl, BYTE PTR [eax+1] - 00100 40 inc eax - 00101 3a 4a 06 cmp cl, BYTE PTR [edx+6] - 00104 75 18 jne SHORT $LN12@longest_ma - 00106 8a 48 01 mov cl, BYTE PTR [eax+1] - 00109 40 inc eax - 0010a 3a 4a 07 cmp cl, BYTE PTR [edx+7] - 0010d 75 0f jne SHORT $LN12@longest_ma - 0010f 8a 48 01 mov cl, BYTE PTR [eax+1] - 00112 40 inc eax - 00113 83 c2 08 add edx, 8 - 00116 3a 0a cmp cl, BYTE PTR [edx] - 00118 75 04 jne SHORT $LN12@longest_ma - 0011a 3b c6 cmp eax, esi - 0011c 72 b2 jb SHORT $LL7@longest_ma -$LN12@longest_ma: - -; 1264 : scan < strend); -; 1265 : -; 1266 : Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); -; 1267 : -; 1268 : len = MAX_MATCH - (int)(strend - scan); - - 0011e 2b c6 sub eax, esi - 00120 8d 88 02 01 00 - 00 lea ecx, DWORD PTR [eax+258] - -; 1269 : scan = strend - MAX_MATCH; - - 00126 8d 86 fe fe ff - ff lea eax, DWORD PTR [esi-258] - -; 1270 : -; 1271 : #endif /* UNALIGNED_OK */ -; 1272 : -; 1273 : if (len > best_len) { - - 0012c 3b cf cmp ecx, edi - 0012e 7e 1a jle SHORT $LN2@longest_ma - -; 1274 : s->match_start = cur_match; -; 1275 : best_len = len; - - 00130 8b f9 mov edi, ecx - 00132 8b 55 f0 mov edx, DWORD PTR _s$1$[ebp] - 00135 89 5a 70 mov DWORD PTR [edx+112], ebx - -; 1276 : if (len >= nice_match) break; - - 00138 3b 4d f8 cmp ecx, DWORD PTR _nice_match$2$[ebp] - 0013b 7d 28 jge SHORT $LN3@longest_ma - -; 1277 : #ifdef UNALIGNED_OK -; 1278 : scan_end = *(ushf*)(scan+best_len-1); -; 1279 : #else -; 1280 : scan_end1 = scan[best_len-1]; - - 0013d 8a 54 01 ff mov dl, BYTE PTR [ecx+eax-1] - -; 1281 : scan_end = scan[best_len]; - - 00141 8a 0c 01 mov cl, BYTE PTR [ecx+eax] - 00144 88 55 ff mov BYTE PTR _scan_end1$1$[ebp], dl - 00147 88 4d fe mov BYTE PTR _scan_end$1$[ebp], cl -$LN2@longest_ma: - -; 1282 : #endif -; 1283 : } -; 1284 : } while ((cur_match = prev[cur_match & wmask]) > limit -; 1285 : && --chain_length != 0); - - 0014a 8b 4d e4 mov ecx, DWORD PTR _wmask$1$[ebp] - 0014d 8b 55 e0 mov edx, DWORD PTR _prev$1$[ebp] - 00150 23 cb and ecx, ebx - 00152 0f b7 1c 4a movzx ebx, WORD PTR [edx+ecx*2] - 00156 3b 5d ec cmp ebx, DWORD PTR _limit$1$[ebp] - 00159 76 0a jbe SHORT $LN3@longest_ma - 0015b 83 6d f4 01 sub DWORD PTR _chain_length$1$[ebp], 1 - 0015f 0f 85 31 ff ff - ff jne $LL4@longest_ma -$LN3@longest_ma: - -; 1286 : -; 1287 : if ((uInt)best_len <= s->lookahead) return (uInt)best_len; - - 00165 8b 45 dc mov eax, DWORD PTR tv373[ebp] - 00168 3b f8 cmp edi, eax - 0016a 0f 46 c7 cmovbe eax, edi - 0016d 5f pop edi - 0016e 5e pop esi - 0016f 5b pop ebx - -; 1288 : return s->lookahead; -; 1289 : } - - 00170 8b e5 mov esp, ebp - 00172 5d pop ebp - 00173 c3 ret 0 -_longest_match ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _fill_window -_TEXT SEGMENT -_wsize$1$ = -8 ; size = 4 -_str$1$ = -4 ; size = 4 -_fill_window PROC ; COMDAT -; _s$ = ecx - -; 1392 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - 00006 53 push ebx - 00007 56 push esi - 00008 8b f1 mov esi, ecx - 0000a 57 push edi - -; 1393 : register unsigned n, m; -; 1394 : register Posf *p; -; 1395 : unsigned more; /* Amount of free space at the end of the window. */ -; 1396 : uInt wsize = s->w_size; - - 0000b 8b 5e 2c mov ebx, DWORD PTR [esi+44] - 0000e 89 5d f8 mov DWORD PTR _wsize$1$[ebp], ebx -$LL4@fill_windo: - -; 1397 : -; 1398 : Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead"); -; 1399 : -; 1400 : do { -; 1401 : more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart); -; 1402 : -; 1403 : /* Deal with !@#$% 64K limit: */ -; 1404 : if (sizeof(int) <= 2) { -; 1405 : if (more == 0 && s->strstart == 0 && s->lookahead == 0) { -; 1406 : more = wsize; -; 1407 : -; 1408 : } else if (more == (unsigned)(-1)) { -; 1409 : /* Very unlikely, but possible on 16 bit machine if -; 1410 : * strstart == 0 && lookahead == 1 (input done a byte at time) -; 1411 : */ -; 1412 : more--; -; 1413 : } -; 1414 : } -; 1415 : -; 1416 : /* If the window is almost full and there is insufficient lookahead, -; 1417 : * move the upper half to the lower one to make room in the upper half. -; 1418 : */ -; 1419 : if (s->strstart >= wsize+MAX_DIST(s)) { - - 00011 8b 46 2c mov eax, DWORD PTR [esi+44] - 00014 8b 7e 3c mov edi, DWORD PTR [esi+60] - 00017 05 fa fe ff ff add eax, -262 ; fffffefaH - 0001c 2b 7e 74 sub edi, DWORD PTR [esi+116] - 0001f 03 c3 add eax, ebx - 00021 2b 7e 6c sub edi, DWORD PTR [esi+108] - 00024 39 46 6c cmp DWORD PTR [esi+108], eax - 00027 72 63 jb SHORT $LN17@fill_windo - -; 1420 : -; 1421 : zmemcpy(s->window, s->window+wsize, (unsigned)wsize); - - 00029 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 0002c 53 push ebx - 0002d 8d 04 19 lea eax, DWORD PTR [ecx+ebx] - 00030 50 push eax - 00031 51 push ecx - 00032 e8 00 00 00 00 call _memcpy - -; 1422 : s->match_start -= wsize; -; 1423 : s->strstart -= wsize; /* we now have strstart >= MAX_DIST */ -; 1424 : s->block_start -= (long) wsize; -; 1425 : -; 1426 : /* Slide the hash table (could be avoided with 32 bit values -; 1427 : at the expense of memory usage). We slide even when level == 0 -; 1428 : to keep the hash table consistent if we switch back to level > 0 -; 1429 : later. (Using level 0 permanently is not an optimal usage of -; 1430 : zlib, so we don't care about this pathological case.) -; 1431 : */ -; 1432 : n = s->hash_size; - - 00037 8b 56 4c mov edx, DWORD PTR [esi+76] - 0003a 83 c4 0c add esp, 12 ; 0000000cH - -; 1433 : p = &s->head[n]; - - 0003d 8b 46 44 mov eax, DWORD PTR [esi+68] - 00040 29 5e 70 sub DWORD PTR [esi+112], ebx - 00043 29 5e 6c sub DWORD PTR [esi+108], ebx - 00046 29 5e 5c sub DWORD PTR [esi+92], ebx - 00049 8d 0c 50 lea ecx, DWORD PTR [eax+edx*2] - 0004c 0f 1f 40 00 npad 4 -$LL7@fill_windo: - -; 1434 : do { -; 1435 : m = *--p; - - 00050 0f b7 41 fe movzx eax, WORD PTR [ecx-2] - 00054 8d 49 fe lea ecx, DWORD PTR [ecx-2] - -; 1436 : *p = (Pos)(m >= wsize ? m-wsize : NIL); - - 00057 3b c3 cmp eax, ebx - 00059 72 04 jb SHORT $LN29@fill_windo - 0005b 2b c3 sub eax, ebx - 0005d eb 02 jmp SHORT $LN30@fill_windo -$LN29@fill_windo: - 0005f 33 c0 xor eax, eax -$LN30@fill_windo: - 00061 66 89 01 mov WORD PTR [ecx], ax - -; 1437 : } while (--n); - - 00064 83 ea 01 sub edx, 1 - 00067 75 e7 jne SHORT $LL7@fill_windo - -; 1438 : -; 1439 : n = wsize; -; 1440 : #ifndef FASTEST -; 1441 : p = &s->prev[n]; - - 00069 8b 46 40 mov eax, DWORD PTR [esi+64] - 0006c 8b d3 mov edx, ebx - 0006e 8d 0c 58 lea ecx, DWORD PTR [eax+ebx*2] -$LL10@fill_windo: - -; 1442 : do { -; 1443 : m = *--p; - - 00071 0f b7 41 fe movzx eax, WORD PTR [ecx-2] - 00075 8d 49 fe lea ecx, DWORD PTR [ecx-2] - -; 1444 : *p = (Pos)(m >= wsize ? m-wsize : NIL); - - 00078 3b c3 cmp eax, ebx - 0007a 72 04 jb SHORT $LN31@fill_windo - 0007c 2b c3 sub eax, ebx - 0007e eb 02 jmp SHORT $LN32@fill_windo -$LN31@fill_windo: - 00080 33 c0 xor eax, eax -$LN32@fill_windo: - 00082 66 89 01 mov WORD PTR [ecx], ax - -; 1445 : /* If n is not on any hash chain, prev[n] is garbage but -; 1446 : * its value will never be used. -; 1447 : */ -; 1448 : } while (--n); - - 00085 83 ea 01 sub edx, 1 - 00088 75 e7 jne SHORT $LL10@fill_windo - -; 1449 : #endif -; 1450 : more += wsize; - - 0008a 03 fb add edi, ebx -$LN17@fill_windo: - -; 1451 : } -; 1452 : if (s->strm->avail_in == 0) break; - - 0008c 8b 0e mov ecx, DWORD PTR [esi] - 0008e 83 79 04 00 cmp DWORD PTR [ecx+4], 0 - 00092 0f 84 c0 00 00 - 00 je $LN3@fill_windo - -; 1453 : -; 1454 : /* If there was no sliding: -; 1455 : * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && -; 1456 : * more == window_size - lookahead - strstart -; 1457 : * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) -; 1458 : * => more >= window_size - 2*WSIZE + 2 -; 1459 : * In the BIG_MEM or MMAP case (not yet supported), -; 1460 : * window_size == input_size + MIN_LOOKAHEAD && -; 1461 : * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. -; 1462 : * Otherwise, window_size == 2*WSIZE so more >= 2. -; 1463 : * If there was sliding, more >= WSIZE. So in all cases, more >= 2. -; 1464 : */ -; 1465 : Assert(more >= 2, "more < 2"); -; 1466 : -; 1467 : n = read_buf(s->strm, s->window + s->strstart + s->lookahead, more); - - 00098 8b 56 74 mov edx, DWORD PTR [esi+116] - 0009b 03 56 6c add edx, DWORD PTR [esi+108] - 0009e 03 56 38 add edx, DWORD PTR [esi+56] - 000a1 57 push edi - 000a2 e8 00 00 00 00 call _read_buf - -; 1468 : s->lookahead += n; - - 000a7 01 46 74 add DWORD PTR [esi+116], eax - 000aa 83 c4 04 add esp, 4 - 000ad 8b 46 74 mov eax, DWORD PTR [esi+116] - -; 1469 : -; 1470 : /* Initialize the hash value now that we have some input: */ -; 1471 : if (s->lookahead + s->insert >= MIN_MATCH) { - - 000b0 8b 8e b4 16 00 - 00 mov ecx, DWORD PTR [esi+5812] - 000b6 03 c1 add eax, ecx - 000b8 83 f8 03 cmp eax, 3 - 000bb 0f 82 82 00 00 - 00 jb $LN2@fill_windo - -; 1472 : uInt str = s->strstart - s->insert; - - 000c1 8b 7e 6c mov edi, DWORD PTR [esi+108] - -; 1473 : s->ins_h = s->window[str]; - - 000c4 8b 46 38 mov eax, DWORD PTR [esi+56] - 000c7 2b f9 sub edi, ecx - -; 1474 : UPDATE_HASH(s, s->ins_h, s->window[str + 1]); - - 000c9 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 000cc 89 7d fc mov DWORD PTR _str$1$[ebp], edi - 000cf 0f b6 14 38 movzx edx, BYTE PTR [eax+edi] - 000d3 89 56 48 mov DWORD PTR [esi+72], edx - 000d6 0f b6 44 38 01 movzx eax, BYTE PTR [eax+edi+1] - 000db d3 e2 shl edx, cl - 000dd 33 d0 xor edx, eax - 000df 23 56 54 and edx, DWORD PTR [esi+84] - -; 1475 : #if MIN_MATCH != 3 -; 1476 : Call UPDATE_HASH() MIN_MATCH-3 more times -; 1477 : #endif -; 1478 : while (s->insert) { - - 000e2 83 be b4 16 00 - 00 00 cmp DWORD PTR [esi+5812], 0 - 000e9 89 56 48 mov DWORD PTR [esi+72], edx - 000ec 74 55 je SHORT $LN2@fill_windo - 000ee 8b df mov ebx, edi -$LL11@fill_windo: - -; 1479 : UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); - - 000f0 8b 46 38 mov eax, DWORD PTR [esi+56] - 000f3 8b 4e 58 mov ecx, DWORD PTR [esi+88] - -; 1480 : #ifndef FASTEST -; 1481 : s->prev[str & s->w_mask] = s->head[s->ins_h]; - - 000f6 8b 56 34 mov edx, DWORD PTR [esi+52] - 000f9 23 d3 and edx, ebx - 000fb 0f b6 7c 18 02 movzx edi, BYTE PTR [eax+ebx+2] - 00100 8b 46 48 mov eax, DWORD PTR [esi+72] - 00103 d3 e0 shl eax, cl - 00105 8b 4e 40 mov ecx, DWORD PTR [esi+64] - 00108 33 f8 xor edi, eax - 0010a 23 7e 54 and edi, DWORD PTR [esi+84] - 0010d 8b 46 44 mov eax, DWORD PTR [esi+68] - 00110 89 7e 48 mov DWORD PTR [esi+72], edi - 00113 66 8b 04 78 mov ax, WORD PTR [eax+edi*2] - 00117 66 89 04 51 mov WORD PTR [ecx+edx*2], ax - -; 1482 : #endif -; 1483 : s->head[s->ins_h] = (Pos)str; - - 0011b 8b 4e 48 mov ecx, DWORD PTR [esi+72] - 0011e 8b 46 44 mov eax, DWORD PTR [esi+68] - 00121 66 89 1c 48 mov WORD PTR [eax+ecx*2], bx - -; 1484 : str++; - - 00125 43 inc ebx - -; 1485 : s->insert--; - - 00126 ff 8e b4 16 00 - 00 dec DWORD PTR [esi+5812] - -; 1486 : if (s->lookahead + s->insert < MIN_MATCH) - - 0012c 8b 46 74 mov eax, DWORD PTR [esi+116] - 0012f 8b 8e b4 16 00 - 00 mov ecx, DWORD PTR [esi+5812] - 00135 03 c1 add eax, ecx - 00137 83 f8 03 cmp eax, 3 - 0013a 72 04 jb SHORT $LN48@fill_windo - -; 1475 : #if MIN_MATCH != 3 -; 1476 : Call UPDATE_HASH() MIN_MATCH-3 more times -; 1477 : #endif -; 1478 : while (s->insert) { - - 0013c 85 c9 test ecx, ecx - 0013e 75 b0 jne SHORT $LL11@fill_windo -$LN48@fill_windo: - 00140 8b 5d f8 mov ebx, DWORD PTR _wsize$1$[ebp] -$LN2@fill_windo: - -; 1487 : break; -; 1488 : } -; 1489 : } -; 1490 : /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage, -; 1491 : * but this is not important since only literal bytes will be emitted. -; 1492 : */ -; 1493 : -; 1494 : } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0); - - 00143 81 7e 74 06 01 - 00 00 cmp DWORD PTR [esi+116], 262 ; 00000106H - 0014a 73 0c jae SHORT $LN3@fill_windo - 0014c 8b 06 mov eax, DWORD PTR [esi] - 0014e 83 78 04 00 cmp DWORD PTR [eax+4], 0 - 00152 0f 85 b9 fe ff - ff jne $LL4@fill_windo -$LN3@fill_windo: - -; 1495 : -; 1496 : /* If the WIN_INIT bytes after the end of the current data have never been -; 1497 : * written, then zero those bytes in order to avoid memory check reports of -; 1498 : * the use of uninitialized (or uninitialised as Julian writes) bytes by -; 1499 : * the longest match routines. Update the high water mark for the next -; 1500 : * time through here. WIN_INIT is set to MAX_MATCH since the longest match -; 1501 : * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. -; 1502 : */ -; 1503 : if (s->high_water < s->window_size) { - - 00158 8b 8e c0 16 00 - 00 mov ecx, DWORD PTR [esi+5824] - 0015e 8b 5e 3c mov ebx, DWORD PTR [esi+60] - 00161 3b cb cmp ecx, ebx - 00163 73 67 jae SHORT $LN26@fill_windo - -; 1504 : ulg curr = s->strstart + (ulg)(s->lookahead); - - 00165 8b 7e 74 mov edi, DWORD PTR [esi+116] - 00168 03 7e 6c add edi, DWORD PTR [esi+108] - -; 1505 : ulg init; -; 1506 : -; 1507 : if (s->high_water < curr) { - - 0016b 3b cf cmp ecx, edi - 0016d 73 2d jae SHORT $LN23@fill_windo - -; 1508 : /* Previous high water mark below current data -- zero WIN_INIT -; 1509 : * bytes or up to end of window, whichever is less. -; 1510 : */ -; 1511 : init = s->window_size - curr; -; 1512 : if (init > WIN_INIT) - - 0016f b8 02 01 00 00 mov eax, 258 ; 00000102H - 00174 2b df sub ebx, edi - 00176 3b d8 cmp ebx, eax - 00178 0f 47 d8 cmova ebx, eax - -; 1513 : init = WIN_INIT; -; 1514 : zmemzero(s->window + curr, (unsigned)init); - - 0017b 8b 46 38 mov eax, DWORD PTR [esi+56] - 0017e 53 push ebx - 0017f 03 c7 add eax, edi - 00181 6a 00 push 0 - 00183 50 push eax - 00184 e8 00 00 00 00 call _memset - 00189 83 c4 0c add esp, 12 ; 0000000cH - -; 1515 : s->high_water = curr + init; - - 0018c 8d 04 3b lea eax, DWORD PTR [ebx+edi] - 0018f 89 86 c0 16 00 - 00 mov DWORD PTR [esi+5824], eax - 00195 5f pop edi - 00196 5e pop esi - 00197 5b pop ebx - -; 1527 : } -; 1528 : } -; 1529 : -; 1530 : Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, -; 1531 : "not enough room for search"); -; 1532 : } - - 00198 8b e5 mov esp, ebp - 0019a 5d pop ebp - 0019b c3 ret 0 -$LN23@fill_windo: - -; 1516 : } -; 1517 : else if (s->high_water < (ulg)curr + WIN_INIT) { - - 0019c 8d 87 02 01 00 - 00 lea eax, DWORD PTR [edi+258] - 001a2 3b c8 cmp ecx, eax - 001a4 73 26 jae SHORT $LN26@fill_windo - -; 1518 : /* High water mark at or above current data, but below current data -; 1519 : * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up -; 1520 : * to end of window, whichever is less. -; 1521 : */ -; 1522 : init = (ulg)curr + WIN_INIT - s->high_water; -; 1523 : if (init > s->window_size - s->high_water) -; 1524 : init = s->window_size - s->high_water; -; 1525 : zmemzero(s->window + s->high_water, (unsigned)init); - - 001a6 8b 46 38 mov eax, DWORD PTR [esi+56] - 001a9 2b f9 sub edi, ecx - 001ab 2b d9 sub ebx, ecx - 001ad 81 c7 02 01 00 - 00 add edi, 258 ; 00000102H - 001b3 3b fb cmp edi, ebx - 001b5 0f 47 fb cmova edi, ebx - 001b8 03 c1 add eax, ecx - 001ba 57 push edi - 001bb 6a 00 push 0 - 001bd 50 push eax - 001be e8 00 00 00 00 call _memset - 001c3 83 c4 0c add esp, 12 ; 0000000cH - -; 1526 : s->high_water += init; - - 001c6 01 be c0 16 00 - 00 add DWORD PTR [esi+5824], edi -$LN26@fill_windo: - 001cc 5f pop edi - 001cd 5e pop esi - 001ce 5b pop ebx - -; 1527 : } -; 1528 : } -; 1529 : -; 1530 : Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, -; 1531 : "not enough room for search"); -; 1532 : } - - 001cf 8b e5 mov esp, ebp - 001d1 5d pop ebp - 001d2 c3 ret 0 -_fill_window ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflate_stored -_TEXT SEGMENT -_s$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_deflate_stored PROC ; COMDAT - -; 1567 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - -; 1568 : /* Stored blocks are limited to 0xffff bytes, pending_buf is limited -; 1569 : * to pending_buf_size, and each stored block has a 5 byte header: -; 1570 : */ -; 1571 : ulg max_block_size = 0xffff; -; 1572 : ulg max_start; -; 1573 : -; 1574 : if (max_block_size > s->pending_buf_size - 5) { - - 00005 8b 75 08 mov esi, DWORD PTR _s$[ebp] - 00008 bb ff ff 00 00 mov ebx, 65535 ; 0000ffffH - 0000d 57 push edi - 0000e 8b 46 0c mov eax, DWORD PTR [esi+12] - 00011 83 c0 fb add eax, -5 ; fffffffbH - 00014 3b c3 cmp eax, ebx - 00016 0f 42 d8 cmovb ebx, eax - 00019 0f 1f 80 00 00 - 00 00 npad 7 -$LL2@deflate_st: - -; 1575 : max_block_size = s->pending_buf_size - 5; -; 1576 : } -; 1577 : -; 1578 : /* Copy as much as possible from input to output: */ -; 1579 : for (;;) { -; 1580 : /* Fill the window as much as possible: */ -; 1581 : if (s->lookahead <= 1) { - - 00020 8b 46 74 mov eax, DWORD PTR [esi+116] - 00023 83 f8 01 cmp eax, 1 - 00026 77 12 ja SHORT $LN8@deflate_st - -; 1582 : -; 1583 : Assert(s->strstart < s->w_size+MAX_DIST(s) || -; 1584 : s->block_start >= (long)s->w_size, "slide too late"); -; 1585 : -; 1586 : fill_window(s); - - 00028 8b ce mov ecx, esi - 0002a e8 00 00 00 00 call _fill_window - -; 1587 : if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more; - - 0002f 8b 46 74 mov eax, DWORD PTR [esi+116] - 00032 85 c0 test eax, eax - 00034 0f 84 a0 00 00 - 00 je $LN37@deflate_st -$LN8@deflate_st: - -; 1588 : -; 1589 : if (s->lookahead == 0) break; /* flush the current block */ -; 1590 : } -; 1591 : Assert(s->block_start >= 0L, "block gone"); -; 1592 : -; 1593 : s->strstart += s->lookahead; -; 1594 : s->lookahead = 0; -; 1595 : -; 1596 : /* Emit a stored block if pending_buf will be full: */ -; 1597 : max_start = s->block_start + max_block_size; - - 0003a 8b 7e 5c mov edi, DWORD PTR [esi+92] - 0003d 01 46 6c add DWORD PTR [esi+108], eax - -; 1598 : if (s->strstart == 0 || (ulg)s->strstart >= max_start) { - - 00040 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00043 c7 46 74 00 00 - 00 00 mov DWORD PTR [esi+116], 0 - 0004a 8d 04 1f lea eax, DWORD PTR [edi+ebx] - 0004d 74 04 je SHORT $LN10@deflate_st - 0004f 3b c8 cmp ecx, eax - 00051 72 39 jb SHORT $LN11@deflate_st -$LN10@deflate_st: - -; 1599 : /* strstart == 0 is possible when wraparound on 16-bit machine */ -; 1600 : s->lookahead = (uInt)(s->strstart - max_start); - - 00053 2b c8 sub ecx, eax - -; 1601 : s->strstart = (uInt)max_start; - - 00055 89 46 6c mov DWORD PTR [esi+108], eax - 00058 89 4e 74 mov DWORD PTR [esi+116], ecx - -; 1602 : FLUSH_BLOCK(s, 0); - - 0005b 85 ff test edi, edi - 0005d 78 07 js SHORT $LN19@deflate_st - 0005f 8b 56 38 mov edx, DWORD PTR [esi+56] - 00062 03 d7 add edx, edi - 00064 eb 02 jmp SHORT $LN20@deflate_st -$LN19@deflate_st: - 00066 33 d2 xor edx, edx -$LN20@deflate_st: - 00068 2b c7 sub eax, edi - 0006a 8b ce mov ecx, esi - 0006c 6a 00 push 0 - 0006e 50 push eax - 0006f e8 00 00 00 00 call __tr_flush_block - 00074 8b 46 6c mov eax, DWORD PTR [esi+108] - 00077 83 c4 08 add esp, 8 - 0007a 8b 0e mov ecx, DWORD PTR [esi] - 0007c 89 46 5c mov DWORD PTR [esi+92], eax - 0007f e8 00 00 00 00 call _flush_pending - 00084 8b 06 mov eax, DWORD PTR [esi] - 00086 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 0008a 74 47 je SHORT $LN31@deflate_st -$LN11@deflate_st: - -; 1603 : } -; 1604 : /* Flush if we may have to slide, otherwise block_start may become -; 1605 : * negative and the data will be gone: -; 1606 : */ -; 1607 : if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) { - - 0008c 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 0008f 8b 46 2c mov eax, DWORD PTR [esi+44] - 00092 8b 7e 5c mov edi, DWORD PTR [esi+92] - 00095 2d 06 01 00 00 sub eax, 262 ; 00000106H - 0009a 2b cf sub ecx, edi - 0009c 3b c8 cmp ecx, eax - 0009e 72 80 jb SHORT $LL2@deflate_st - -; 1608 : FLUSH_BLOCK(s, 0); - - 000a0 85 ff test edi, edi - 000a2 78 07 js SHORT $LN21@deflate_st - 000a4 8b 56 38 mov edx, DWORD PTR [esi+56] - 000a7 03 d7 add edx, edi - 000a9 eb 02 jmp SHORT $LN22@deflate_st -$LN21@deflate_st: - 000ab 33 d2 xor edx, edx -$LN22@deflate_st: - 000ad 6a 00 push 0 - 000af 51 push ecx - 000b0 8b ce mov ecx, esi - 000b2 e8 00 00 00 00 call __tr_flush_block - 000b7 8b 46 6c mov eax, DWORD PTR [esi+108] - 000ba 83 c4 08 add esp, 8 - 000bd 8b 0e mov ecx, DWORD PTR [esi] - 000bf 89 46 5c mov DWORD PTR [esi+92], eax - 000c2 e8 00 00 00 00 call _flush_pending - 000c7 8b 06 mov eax, DWORD PTR [esi] - 000c9 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 000cd 0f 85 4d ff ff - ff jne $LL2@deflate_st -$LN31@deflate_st: - 000d3 5f pop edi - 000d4 5e pop esi - -; 1602 : FLUSH_BLOCK(s, 0); - - 000d5 33 c0 xor eax, eax - 000d7 5b pop ebx - -; 1619 : } - - 000d8 5d pop ebp - 000d9 c3 ret 0 -$LN37@deflate_st: - -; 1587 : if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more; - - 000da 8b 45 0c mov eax, DWORD PTR _flush$[ebp] - 000dd 85 c0 test eax, eax - 000df 74 f2 je SHORT $LN31@deflate_st - -; 1609 : } -; 1610 : } -; 1611 : s->insert = 0; - - 000e1 c7 86 b4 16 00 - 00 00 00 00 00 mov DWORD PTR [esi+5812], 0 - -; 1612 : if (flush == Z_FINISH) { - - 000eb 83 f8 04 cmp eax, 4 - 000ee 75 41 jne SHORT $LN14@deflate_st - -; 1613 : FLUSH_BLOCK(s, 1); - - 000f0 8b 4e 5c mov ecx, DWORD PTR [esi+92] - 000f3 85 c9 test ecx, ecx - 000f5 78 07 js SHORT $LN23@deflate_st - 000f7 8b 56 38 mov edx, DWORD PTR [esi+56] - 000fa 03 d1 add edx, ecx - 000fc eb 02 jmp SHORT $LN24@deflate_st -$LN23@deflate_st: - 000fe 33 d2 xor edx, edx -$LN24@deflate_st: - 00100 8b 46 6c mov eax, DWORD PTR [esi+108] - 00103 2b c1 sub eax, ecx - 00105 8b ce mov ecx, esi - 00107 6a 01 push 1 - 00109 50 push eax - 0010a e8 00 00 00 00 call __tr_flush_block - 0010f 8b 46 6c mov eax, DWORD PTR [esi+108] - 00112 83 c4 08 add esp, 8 - 00115 8b 0e mov ecx, DWORD PTR [esi] - 00117 89 46 5c mov DWORD PTR [esi+92], eax - 0011a e8 00 00 00 00 call _flush_pending - 0011f 8b 0e mov ecx, DWORD PTR [esi] - 00121 33 c0 xor eax, eax - 00123 5f pop edi - 00124 5e pop esi - 00125 5b pop ebx - 00126 39 41 10 cmp DWORD PTR [ecx+16], eax - 00129 0f 95 c0 setne al - 0012c 83 c0 02 add eax, 2 - -; 1619 : } - - 0012f 5d pop ebp - 00130 c3 ret 0 -$LN14@deflate_st: - -; 1614 : return finish_done; -; 1615 : } -; 1616 : if ((long)s->strstart > s->block_start) - - 00131 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00134 8b 46 5c mov eax, DWORD PTR [esi+92] - 00137 3b c8 cmp ecx, eax - 00139 7e 35 jle SHORT $LN17@deflate_st - -; 1617 : FLUSH_BLOCK(s, 0); - - 0013b 85 c0 test eax, eax - 0013d 78 07 js SHORT $LN25@deflate_st - 0013f 8b 56 38 mov edx, DWORD PTR [esi+56] - 00142 03 d0 add edx, eax - 00144 eb 02 jmp SHORT $LN26@deflate_st -$LN25@deflate_st: - 00146 33 d2 xor edx, edx -$LN26@deflate_st: - 00148 2b c8 sub ecx, eax - 0014a 6a 00 push 0 - 0014c 51 push ecx - 0014d 8b ce mov ecx, esi - 0014f e8 00 00 00 00 call __tr_flush_block - 00154 8b 46 6c mov eax, DWORD PTR [esi+108] - 00157 83 c4 08 add esp, 8 - 0015a 8b 0e mov ecx, DWORD PTR [esi] - 0015c 89 46 5c mov DWORD PTR [esi+92], eax - 0015f e8 00 00 00 00 call _flush_pending - 00164 8b 06 mov eax, DWORD PTR [esi] - 00166 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 0016a 0f 84 63 ff ff - ff je $LN31@deflate_st -$LN17@deflate_st: - 00170 5f pop edi - 00171 5e pop esi - -; 1618 : return block_done; - - 00172 b8 01 00 00 00 mov eax, 1 - 00177 5b pop ebx - -; 1619 : } - - 00178 5d pop ebp - 00179 c3 ret 0 -_deflate_stored ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflate_fast -_TEXT SEGMENT -_bflush$1$ = 8 ; size = 4 -_s$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_deflate_fast PROC ; COMDAT - -; 1631 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 8b 5d 0c mov ebx, DWORD PTR _flush$[ebp] - 00007 56 push esi - 00008 8b 75 08 mov esi, DWORD PTR _s$[ebp] - 0000b 57 push edi - 0000c 0f 1f 40 00 npad 4 -$LL2@deflate_fa: - -; 1632 : IPos hash_head; /* head of the hash chain */ -; 1633 : int bflush; /* set if current block must be flushed */ -; 1634 : -; 1635 : for (;;) { -; 1636 : /* Make sure that we always have enough lookahead, except -; 1637 : * at the end of the input file. We need MAX_MATCH bytes -; 1638 : * for the next match, plus MIN_MATCH bytes to insert the -; 1639 : * string following the next match. -; 1640 : */ -; 1641 : if (s->lookahead < MIN_LOOKAHEAD) { - - 00010 8b 46 74 mov eax, DWORD PTR [esi+116] - 00013 3d 06 01 00 00 cmp eax, 262 ; 00000106H - 00018 73 21 jae SHORT $LN10@deflate_fa - -; 1642 : fill_window(s); - - 0001a 8b ce mov ecx, esi - 0001c e8 00 00 00 00 call _fill_window - -; 1643 : if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) { - - 00021 8b 46 74 mov eax, DWORD PTR [esi+116] - 00024 3d 06 01 00 00 cmp eax, 262 ; 00000106H - 00029 73 08 jae SHORT $LN9@deflate_fa - 0002b 85 db test ebx, ebx - 0002d 0f 84 30 02 00 - 00 je $LN39@deflate_fa -$LN9@deflate_fa: - -; 1644 : return need_more; -; 1645 : } -; 1646 : if (s->lookahead == 0) break; /* flush the current block */ - - 00033 85 c0 test eax, eax - 00035 0f 84 2f 02 00 - 00 je $LN38@deflate_fa -$LN10@deflate_fa: - -; 1647 : } -; 1648 : -; 1649 : /* Insert the string window[strstart .. strstart+2] in the -; 1650 : * dictionary, and set hash_head to the head of the hash chain: -; 1651 : */ -; 1652 : hash_head = NIL; -; 1653 : if (s->lookahead >= MIN_MATCH) { - - 0003b 83 f8 03 cmp eax, 3 - 0003e 72 6a jb SHORT $LN12@deflate_fa - -; 1654 : INSERT_STRING(s, s->strstart, hash_head); - - 00040 8b 7e 6c mov edi, DWORD PTR [esi+108] - 00043 8b 46 38 mov eax, DWORD PTR [esi+56] - 00046 8b 5e 48 mov ebx, DWORD PTR [esi+72] - 00049 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 0004c 8b 56 34 mov edx, DWORD PTR [esi+52] - 0004f 0f b6 44 38 02 movzx eax, BYTE PTR [eax+edi+2] - 00054 23 d7 and edx, edi - 00056 d3 e3 shl ebx, cl - 00058 8b 4e 40 mov ecx, DWORD PTR [esi+64] - 0005b 33 d8 xor ebx, eax - 0005d 23 5e 54 and ebx, DWORD PTR [esi+84] - 00060 8b 46 44 mov eax, DWORD PTR [esi+68] - 00063 89 5e 48 mov DWORD PTR [esi+72], ebx - 00066 0f b7 04 58 movzx eax, WORD PTR [eax+ebx*2] - 0006a 66 89 04 51 mov WORD PTR [ecx+edx*2], ax - 0006e 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00071 23 4e 34 and ecx, DWORD PTR [esi+52] - 00074 8b 46 40 mov eax, DWORD PTR [esi+64] - 00077 8b 56 48 mov edx, DWORD PTR [esi+72] - 0007a 0f b7 3c 48 movzx edi, WORD PTR [eax+ecx*2] - 0007e 8b 4e 44 mov ecx, DWORD PTR [esi+68] - 00081 0f b7 46 6c movzx eax, WORD PTR [esi+108] - 00085 66 89 04 51 mov WORD PTR [ecx+edx*2], ax - -; 1655 : } -; 1656 : -; 1657 : /* Find the longest match, discarding those <= prev_length. -; 1658 : * At this point we have always match_length < MIN_MATCH -; 1659 : */ -; 1660 : if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) { - - 00089 85 ff test edi, edi - 0008b 74 1d je SHORT $LN12@deflate_fa - 0008d 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00090 8b 46 2c mov eax, DWORD PTR [esi+44] - 00093 2b cf sub ecx, edi - 00095 2d 06 01 00 00 sub eax, 262 ; 00000106H - 0009a 3b c8 cmp ecx, eax - 0009c 77 0c ja SHORT $LN12@deflate_fa - -; 1661 : /* To simplify the code, we prevent matches with the string -; 1662 : * of window index 0 (in particular we have to avoid a match -; 1663 : * of the string with itself at the start of the input file). -; 1664 : */ -; 1665 : s->match_length = longest_match (s, hash_head); - - 0009e 8b d7 mov edx, edi - 000a0 8b ce mov ecx, esi - 000a2 e8 00 00 00 00 call _longest_match - 000a7 89 46 60 mov DWORD PTR [esi+96], eax -$LN12@deflate_fa: - -; 1666 : /* longest_match() sets match_start */ -; 1667 : } -; 1668 : if (s->match_length >= MIN_MATCH) { - - 000aa 83 7e 60 03 cmp DWORD PTR [esi+96], 3 - 000ae 0f 82 16 01 00 - 00 jb $LN13@deflate_fa - -; 1669 : check_match(s, s->strstart, s->match_start, s->match_length); -; 1670 : -; 1671 : _tr_tally_dist(s, s->strstart - s->match_start, - - 000b4 66 8b 46 6c mov ax, WORD PTR [esi+108] - 000b8 66 2b 46 70 sub ax, WORD PTR [esi+112] - 000bc 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 000c2 8a 56 60 mov dl, BYTE PTR [esi+96] - 000c5 0f b7 f8 movzx edi, ax - 000c8 80 ea 03 sub dl, 3 - 000cb 8b 86 a4 16 00 - 00 mov eax, DWORD PTR [esi+5796] - 000d1 66 89 3c 48 mov WORD PTR [eax+ecx*2], di - 000d5 81 c7 ff ff 00 - 00 add edi, 65535 ; 0000ffffH - 000db 8b 86 a0 16 00 - 00 mov eax, DWORD PTR [esi+5792] - 000e1 8b 8e 98 16 00 - 00 mov ecx, DWORD PTR [esi+5784] - 000e7 88 14 01 mov BYTE PTR [ecx+eax], dl - 000ea ff 86 a0 16 00 - 00 inc DWORD PTR [esi+5792] - 000f0 0f b6 c2 movzx eax, dl - 000f3 0f b6 80 00 00 - 00 00 movzx eax, BYTE PTR __length_code[eax] - 000fa 66 ff 84 86 98 - 04 00 00 inc WORD PTR [esi+eax*4+1176] - 00102 b8 00 01 00 00 mov eax, 256 ; 00000100H - 00107 66 3b f8 cmp di, ax - 0010a 0f b7 c7 movzx eax, di - 0010d 73 09 jae SHORT $LN24@deflate_fa - 0010f 0f b6 80 00 00 - 00 00 movzx eax, BYTE PTR __dist_code[eax] - 00116 eb 0a jmp SHORT $LN25@deflate_fa -$LN24@deflate_fa: - 00118 c1 e8 07 shr eax, 7 - 0011b 0f b6 80 00 01 - 00 00 movzx eax, BYTE PTR __dist_code[eax+256] -$LN25@deflate_fa: - 00122 66 ff 84 86 88 - 09 00 00 inc WORD PTR [esi+eax*4+2440] - 0012a 33 db xor ebx, ebx - 0012c 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 00132 48 dec eax - 00133 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - -; 1672 : s->match_length - MIN_MATCH, bflush); -; 1673 : -; 1674 : s->lookahead -= s->match_length; - - 00139 8b 46 60 mov eax, DWORD PTR [esi+96] - 0013c 0f 94 c3 sete bl - 0013f 29 46 74 sub DWORD PTR [esi+116], eax - 00142 89 5d 08 mov DWORD PTR _bflush$1$[ebp], ebx - -; 1675 : -; 1676 : /* Insert new strings in the hash table only if the match length -; 1677 : * is not too large. This saves time but degrades compression. -; 1678 : */ -; 1679 : #ifndef FASTEST -; 1680 : if (s->match_length <= s->max_insert_length && - - 00145 3b 86 80 00 00 - 00 cmp eax, DWORD PTR [esi+128] - 0014b 77 54 ja SHORT $LN15@deflate_fa - 0014d 83 7e 74 03 cmp DWORD PTR [esi+116], 3 - 00151 72 4e jb SHORT $LN15@deflate_fa - -; 1681 : s->lookahead >= MIN_MATCH) { -; 1682 : s->match_length--; /* string at strstart already in table */ - - 00153 48 dec eax - 00154 89 46 60 mov DWORD PTR [esi+96], eax -$LL7@deflate_fa: - -; 1683 : do { -; 1684 : s->strstart++; - - 00157 ff 46 6c inc DWORD PTR [esi+108] - 0015a 8b 7e 6c mov edi, DWORD PTR [esi+108] - -; 1685 : INSERT_STRING(s, s->strstart, hash_head); - - 0015d 8b 46 38 mov eax, DWORD PTR [esi+56] - 00160 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 00163 8b 56 34 mov edx, DWORD PTR [esi+52] - 00166 23 d7 and edx, edi - 00168 0f b6 5c 07 02 movzx ebx, BYTE PTR [edi+eax+2] - 0016d 8b 46 48 mov eax, DWORD PTR [esi+72] - 00170 d3 e0 shl eax, cl - 00172 8b 4e 40 mov ecx, DWORD PTR [esi+64] - 00175 33 d8 xor ebx, eax - 00177 23 5e 54 and ebx, DWORD PTR [esi+84] - 0017a 8b 46 44 mov eax, DWORD PTR [esi+68] - 0017d 89 5e 48 mov DWORD PTR [esi+72], ebx - 00180 0f b7 04 58 movzx eax, WORD PTR [eax+ebx*2] - 00184 66 89 04 51 mov WORD PTR [ecx+edx*2], ax - 00188 8b 56 48 mov edx, DWORD PTR [esi+72] - 0018b 8b 4e 44 mov ecx, DWORD PTR [esi+68] - 0018e 0f b7 46 6c movzx eax, WORD PTR [esi+108] - 00192 66 89 04 51 mov WORD PTR [ecx+edx*2], ax - -; 1686 : /* strstart never exceeds WSIZE-MAX_MATCH, so there are -; 1687 : * always MIN_MATCH bytes ahead. -; 1688 : */ -; 1689 : } while (--s->match_length != 0); - - 00196 83 46 60 ff add DWORD PTR [esi+96], -1 - 0019a 75 bb jne SHORT $LL7@deflate_fa - -; 1690 : s->strstart++; -; 1691 : } else - - 0019c 8b 5d 08 mov ebx, DWORD PTR _bflush$1$[ebp] - 0019f eb 79 jmp SHORT $LN44@deflate_fa -$LN15@deflate_fa: - -; 1692 : #endif -; 1693 : { -; 1694 : s->strstart += s->match_length; - - 001a1 01 46 6c add DWORD PTR [esi+108], eax - -; 1695 : s->match_length = 0; -; 1696 : s->ins_h = s->window[s->strstart]; - - 001a4 8b 46 38 mov eax, DWORD PTR [esi+56] - 001a7 03 46 6c add eax, DWORD PTR [esi+108] - -; 1697 : UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]); - - 001aa 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 001ad c7 46 60 00 00 - 00 00 mov DWORD PTR [esi+96], 0 - 001b4 0f b6 10 movzx edx, BYTE PTR [eax] - 001b7 89 56 48 mov DWORD PTR [esi+72], edx - 001ba 0f b6 40 01 movzx eax, BYTE PTR [eax+1] - 001be d3 e2 shl edx, cl - 001c0 33 d0 xor edx, eax - 001c2 23 56 54 and edx, DWORD PTR [esi+84] - 001c5 89 56 48 mov DWORD PTR [esi+72], edx - -; 1698 : #if MIN_MATCH != 3 -; 1699 : Call UPDATE_HASH() MIN_MATCH-3 more times -; 1700 : #endif -; 1701 : /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not -; 1702 : * matter since it will be recomputed at next deflate call. -; 1703 : */ -; 1704 : } -; 1705 : } else { - - 001c8 eb 53 jmp SHORT $LN14@deflate_fa -$LN13@deflate_fa: - -; 1706 : /* No match, output a literal byte */ -; 1707 : Tracevv((stderr,"%c", s->window[s->strstart])); -; 1708 : _tr_tally_lit (s, s->window[s->strstart], bflush); - - 001ca 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 001cd 33 ff xor edi, edi - 001cf 8b 46 38 mov eax, DWORD PTR [esi+56] - 001d2 33 db xor ebx, ebx - 001d4 8a 14 01 mov dl, BYTE PTR [ecx+eax] - 001d7 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 001dd 8b 86 a4 16 00 - 00 mov eax, DWORD PTR [esi+5796] - 001e3 66 89 3c 48 mov WORD PTR [eax+ecx*2], di - 001e7 8b 86 a0 16 00 - 00 mov eax, DWORD PTR [esi+5792] - 001ed 8b 8e 98 16 00 - 00 mov ecx, DWORD PTR [esi+5784] - 001f3 88 14 01 mov BYTE PTR [ecx+eax], dl - 001f6 ff 86 a0 16 00 - 00 inc DWORD PTR [esi+5792] - 001fc 0f b6 c2 movzx eax, dl - 001ff 66 ff 84 86 94 - 00 00 00 inc WORD PTR [esi+eax*4+148] - 00207 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 0020d 48 dec eax - 0020e 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - 00214 0f 94 c3 sete bl - -; 1709 : s->lookahead--; - - 00217 ff 4e 74 dec DWORD PTR [esi+116] -$LN44@deflate_fa: - -; 1710 : s->strstart++; - - 0021a ff 46 6c inc DWORD PTR [esi+108] -$LN14@deflate_fa: - -; 1711 : } -; 1712 : if (bflush) FLUSH_BLOCK(s, 0); - - 0021d 85 db test ebx, ebx - 0021f 8b 5d 0c mov ebx, DWORD PTR _flush$[ebp] - 00222 0f 84 e8 fd ff - ff je $LL2@deflate_fa - 00228 8b 4e 5c mov ecx, DWORD PTR [esi+92] - 0022b 85 c9 test ecx, ecx - 0022d 78 07 js SHORT $LN26@deflate_fa - 0022f 8b 56 38 mov edx, DWORD PTR [esi+56] - 00232 03 d1 add edx, ecx - 00234 eb 02 jmp SHORT $LN27@deflate_fa -$LN26@deflate_fa: - 00236 33 d2 xor edx, edx -$LN27@deflate_fa: - 00238 8b 46 6c mov eax, DWORD PTR [esi+108] - 0023b 2b c1 sub eax, ecx - 0023d 8b ce mov ecx, esi - 0023f 6a 00 push 0 - 00241 50 push eax - 00242 e8 00 00 00 00 call __tr_flush_block - 00247 8b 46 6c mov eax, DWORD PTR [esi+108] - 0024a 83 c4 08 add esp, 8 - 0024d 8b 0e mov ecx, DWORD PTR [esi] - 0024f 89 46 5c mov DWORD PTR [esi+92], eax - 00252 e8 00 00 00 00 call _flush_pending - 00257 8b 06 mov eax, DWORD PTR [esi] - 00259 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 0025d 0f 85 ad fd ff - ff jne $LL2@deflate_fa -$LN39@deflate_fa: - 00263 5f pop edi - 00264 5e pop esi - 00265 33 c0 xor eax, eax - 00267 5b pop ebx - -; 1722 : } - - 00268 5d pop ebp - 00269 c3 ret 0 -$LN38@deflate_fa: - -; 1713 : } -; 1714 : s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1; - - 0026a 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 0026d b8 02 00 00 00 mov eax, 2 - 00272 3b c8 cmp ecx, eax - 00274 0f 42 c1 cmovb eax, ecx - 00277 89 86 b4 16 00 - 00 mov DWORD PTR [esi+5812], eax - -; 1715 : if (flush == Z_FINISH) { - - 0027d 83 fb 04 cmp ebx, 4 - 00280 75 3e jne SHORT $LN19@deflate_fa - -; 1716 : FLUSH_BLOCK(s, 1); - - 00282 8b 46 5c mov eax, DWORD PTR [esi+92] - 00285 85 c0 test eax, eax - 00287 78 07 js SHORT $LN30@deflate_fa - 00289 8b 56 38 mov edx, DWORD PTR [esi+56] - 0028c 03 d0 add edx, eax - 0028e eb 02 jmp SHORT $LN31@deflate_fa -$LN30@deflate_fa: - 00290 33 d2 xor edx, edx -$LN31@deflate_fa: - 00292 2b c8 sub ecx, eax - 00294 6a 01 push 1 - 00296 51 push ecx - 00297 8b ce mov ecx, esi - 00299 e8 00 00 00 00 call __tr_flush_block - 0029e 8b 46 6c mov eax, DWORD PTR [esi+108] - 002a1 83 c4 08 add esp, 8 - 002a4 8b 0e mov ecx, DWORD PTR [esi] - 002a6 89 46 5c mov DWORD PTR [esi+92], eax - 002a9 e8 00 00 00 00 call _flush_pending - 002ae 8b 0e mov ecx, DWORD PTR [esi] - 002b0 33 c0 xor eax, eax - 002b2 5f pop edi - 002b3 5e pop esi - 002b4 5b pop ebx - 002b5 39 41 10 cmp DWORD PTR [ecx+16], eax - 002b8 0f 95 c0 setne al - 002bb 83 c0 02 add eax, 2 - -; 1722 : } - - 002be 5d pop ebp - 002bf c3 ret 0 -$LN19@deflate_fa: - -; 1717 : return finish_done; -; 1718 : } -; 1719 : if (s->last_lit) - - 002c0 83 be a0 16 00 - 00 00 cmp DWORD PTR [esi+5792], 0 - 002c7 74 38 je SHORT $LN22@deflate_fa - -; 1720 : FLUSH_BLOCK(s, 0); - - 002c9 8b 46 5c mov eax, DWORD PTR [esi+92] - 002cc 85 c0 test eax, eax - 002ce 78 07 js SHORT $LN32@deflate_fa - 002d0 8b 56 38 mov edx, DWORD PTR [esi+56] - 002d3 03 d0 add edx, eax - 002d5 eb 02 jmp SHORT $LN33@deflate_fa -$LN32@deflate_fa: - 002d7 33 d2 xor edx, edx -$LN33@deflate_fa: - 002d9 2b c8 sub ecx, eax - 002db 6a 00 push 0 - 002dd 51 push ecx - 002de 8b ce mov ecx, esi - 002e0 e8 00 00 00 00 call __tr_flush_block - 002e5 8b 46 6c mov eax, DWORD PTR [esi+108] - 002e8 83 c4 08 add esp, 8 - 002eb 8b 0e mov ecx, DWORD PTR [esi] - 002ed 89 46 5c mov DWORD PTR [esi+92], eax - 002f0 e8 00 00 00 00 call _flush_pending - 002f5 8b 06 mov eax, DWORD PTR [esi] - 002f7 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 002fb 0f 84 62 ff ff - ff je $LN39@deflate_fa -$LN22@deflate_fa: - 00301 5f pop edi - 00302 5e pop esi - -; 1721 : return block_done; - - 00303 b8 01 00 00 00 mov eax, 1 - 00308 5b pop ebx - -; 1722 : } - - 00309 5d pop ebp - 0030a c3 ret 0 -_deflate_fast ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflate_slow -_TEXT SEGMENT -_bflush$1$ = -4 ; size = 4 -_max_insert$1$ = 8 ; size = 4 -_s$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_deflate_slow PROC ; COMDAT - -; 1733 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 8b 5d 0c mov ebx, DWORD PTR _flush$[ebp] - 00008 56 push esi - 00009 8b 75 08 mov esi, DWORD PTR _s$[ebp] - 0000c 57 push edi - 0000d 0f 1f 00 npad 3 -$LL2@deflate_sl: - -; 1734 : IPos hash_head; /* head of hash chain */ -; 1735 : int bflush; /* set if current block must be flushed */ -; 1736 : -; 1737 : /* Process the input block. */ -; 1738 : for (;;) { -; 1739 : /* Make sure that we always have enough lookahead, except -; 1740 : * at the end of the input file. We need MAX_MATCH bytes -; 1741 : * for the next match, plus MIN_MATCH bytes to insert the -; 1742 : * string following the next match. -; 1743 : */ -; 1744 : if (s->lookahead < MIN_LOOKAHEAD) { - - 00010 8b 46 74 mov eax, DWORD PTR [esi+116] - 00013 3d 06 01 00 00 cmp eax, 262 ; 00000106H - 00018 73 21 jae SHORT $LN10@deflate_sl - -; 1745 : fill_window(s); - - 0001a 8b ce mov ecx, esi - 0001c e8 00 00 00 00 call _fill_window - -; 1746 : if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) { - - 00021 8b 46 74 mov eax, DWORD PTR [esi+116] - 00024 3d 06 01 00 00 cmp eax, 262 ; 00000106H - 00029 73 08 jae SHORT $LN9@deflate_sl - 0002b 85 db test ebx, ebx - 0002d 0f 84 28 02 00 - 00 je $LN48@deflate_sl -$LN9@deflate_sl: - -; 1747 : return need_more; -; 1748 : } -; 1749 : if (s->lookahead == 0) break; /* flush the current block */ - - 00033 85 c0 test eax, eax - 00035 0f 84 d9 02 00 - 00 je $LN46@deflate_sl -$LN10@deflate_sl: - -; 1750 : } -; 1751 : -; 1752 : /* Insert the string window[strstart .. strstart+2] in the -; 1753 : * dictionary, and set hash_head to the head of the hash chain: -; 1754 : */ -; 1755 : hash_head = NIL; - - 0003b 33 ff xor edi, edi - -; 1756 : if (s->lookahead >= MIN_MATCH) { - - 0003d 83 f8 03 cmp eax, 3 - 00040 72 4c jb SHORT $LN11@deflate_sl - -; 1757 : INSERT_STRING(s, s->strstart, hash_head); - - 00042 8b 7e 6c mov edi, DWORD PTR [esi+108] - 00045 8b 46 38 mov eax, DWORD PTR [esi+56] - 00048 8b 5e 48 mov ebx, DWORD PTR [esi+72] - 0004b 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 0004e 8b 56 34 mov edx, DWORD PTR [esi+52] - 00051 0f b6 44 38 02 movzx eax, BYTE PTR [eax+edi+2] - 00056 23 d7 and edx, edi - 00058 d3 e3 shl ebx, cl - 0005a 8b 4e 40 mov ecx, DWORD PTR [esi+64] - 0005d 33 d8 xor ebx, eax - 0005f 23 5e 54 and ebx, DWORD PTR [esi+84] - 00062 8b 46 44 mov eax, DWORD PTR [esi+68] - 00065 89 5e 48 mov DWORD PTR [esi+72], ebx - 00068 0f b7 04 58 movzx eax, WORD PTR [eax+ebx*2] - 0006c 8b 5d 0c mov ebx, DWORD PTR _flush$[ebp] - 0006f 66 89 04 51 mov WORD PTR [ecx+edx*2], ax - 00073 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00076 23 4e 34 and ecx, DWORD PTR [esi+52] - 00079 8b 46 40 mov eax, DWORD PTR [esi+64] - 0007c 8b 56 48 mov edx, DWORD PTR [esi+72] - 0007f 0f b7 3c 48 movzx edi, WORD PTR [eax+ecx*2] - 00083 8b 4e 44 mov ecx, DWORD PTR [esi+68] - 00086 0f b7 46 6c movzx eax, WORD PTR [esi+108] - 0008a 66 89 04 51 mov WORD PTR [ecx+edx*2], ax -$LN11@deflate_sl: - -; 1758 : } -; 1759 : -; 1760 : /* Find the longest match, discarding those <= prev_length. -; 1761 : */ -; 1762 : s->prev_length = s->match_length, s->prev_match = s->match_start; - - 0008e 8b 46 60 mov eax, DWORD PTR [esi+96] - 00091 89 46 78 mov DWORD PTR [esi+120], eax - 00094 8b 46 70 mov eax, DWORD PTR [esi+112] - 00097 89 46 64 mov DWORD PTR [esi+100], eax - -; 1763 : s->match_length = MIN_MATCH-1; - - 0009a c7 46 60 02 00 - 00 00 mov DWORD PTR [esi+96], 2 - -; 1764 : -; 1765 : if (hash_head != NIL && s->prev_length < s->max_lazy_match && - - 000a1 85 ff test edi, edi - 000a3 74 4f je SHORT $LN13@deflate_sl - 000a5 8b 46 78 mov eax, DWORD PTR [esi+120] - 000a8 3b 86 80 00 00 - 00 cmp eax, DWORD PTR [esi+128] - 000ae 73 44 jae SHORT $LN13@deflate_sl - 000b0 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 000b3 8b 46 2c mov eax, DWORD PTR [esi+44] - 000b6 2b cf sub ecx, edi - 000b8 2d 06 01 00 00 sub eax, 262 ; 00000106H - 000bd 3b c8 cmp ecx, eax - 000bf 77 33 ja SHORT $LN13@deflate_sl - -; 1766 : s->strstart - hash_head <= MAX_DIST(s)) { -; 1767 : /* To simplify the code, we prevent matches with the string -; 1768 : * of window index 0 (in particular we have to avoid a match -; 1769 : * of the string with itself at the start of the input file). -; 1770 : */ -; 1771 : s->match_length = longest_match (s, hash_head); - - 000c1 8b d7 mov edx, edi - 000c3 8b ce mov ecx, esi - 000c5 e8 00 00 00 00 call _longest_match - 000ca 89 46 60 mov DWORD PTR [esi+96], eax - -; 1772 : /* longest_match() sets match_start */ -; 1773 : -; 1774 : if (s->match_length <= 5 && (s->strategy == Z_FILTERED - - 000cd 83 f8 05 cmp eax, 5 - 000d0 77 22 ja SHORT $LN13@deflate_sl - 000d2 83 be 88 00 00 - 00 01 cmp DWORD PTR [esi+136], 1 - 000d9 74 12 je SHORT $LN14@deflate_sl - 000db 83 f8 03 cmp eax, 3 - 000de 75 14 jne SHORT $LN13@deflate_sl - 000e0 8b 46 6c mov eax, DWORD PTR [esi+108] - 000e3 2b 46 70 sub eax, DWORD PTR [esi+112] - 000e6 3d 00 10 00 00 cmp eax, 4096 ; 00001000H - 000eb 76 07 jbe SHORT $LN13@deflate_sl -$LN14@deflate_sl: - -; 1775 : #if TOO_FAR <= 32767 -; 1776 : || (s->match_length == MIN_MATCH && -; 1777 : s->strstart - s->match_start > TOO_FAR) -; 1778 : #endif -; 1779 : )) { -; 1780 : -; 1781 : /* If prev_match is also MIN_MATCH, match_start is garbage -; 1782 : * but we will ignore the current match anyway. -; 1783 : */ -; 1784 : s->match_length = MIN_MATCH-1; - - 000ed c7 46 60 02 00 - 00 00 mov DWORD PTR [esi+96], 2 -$LN13@deflate_sl: - -; 1785 : } -; 1786 : } -; 1787 : /* If there was a match at the previous step and the current -; 1788 : * match is not better, output the previous match: -; 1789 : */ -; 1790 : if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) { - - 000f4 8b 46 78 mov eax, DWORD PTR [esi+120] - 000f7 83 f8 03 cmp eax, 3 - 000fa 0f 82 64 01 00 - 00 jb $LN15@deflate_sl - 00100 39 46 60 cmp DWORD PTR [esi+96], eax - 00103 0f 87 5b 01 00 - 00 ja $LN15@deflate_sl - -; 1791 : uInt max_insert = s->strstart + s->lookahead - MIN_MATCH; - - 00109 8b 4e 6c mov ecx, DWORD PTR [esi+108] - -; 1792 : /* Do not insert strings in hash table beyond this. */ -; 1793 : -; 1794 : check_match(s, s->strstart-1, s->prev_match, s->prev_length); -; 1795 : -; 1796 : _tr_tally_dist(s, s->strstart -1 - s->prev_match, - - 0010c 8a d0 mov dl, al - 0010e 66 8b 46 6c mov ax, WORD PTR [esi+108] - 00112 83 c1 fd add ecx, -3 ; fffffffdH - 00115 66 2b 46 64 sub ax, WORD PTR [esi+100] - 00119 80 ea 03 sub dl, 3 - 0011c 8b 7e 74 mov edi, DWORD PTR [esi+116] - 0011f 66 48 dec ax - 00121 0f b7 d8 movzx ebx, ax - 00124 03 f9 add edi, ecx - 00126 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 0012c 8b 86 a4 16 00 - 00 mov eax, DWORD PTR [esi+5796] - 00132 89 7d 08 mov DWORD PTR _max_insert$1$[ebp], edi - 00135 66 89 1c 48 mov WORD PTR [eax+ecx*2], bx - 00139 81 c3 ff ff 00 - 00 add ebx, 65535 ; 0000ffffH - 0013f 8b 86 a0 16 00 - 00 mov eax, DWORD PTR [esi+5792] - 00145 8b 8e 98 16 00 - 00 mov ecx, DWORD PTR [esi+5784] - 0014b 88 14 01 mov BYTE PTR [ecx+eax], dl - 0014e ff 86 a0 16 00 - 00 inc DWORD PTR [esi+5792] - 00154 0f b6 c2 movzx eax, dl - 00157 0f b6 80 00 00 - 00 00 movzx eax, BYTE PTR __length_code[eax] - 0015e 66 ff 84 86 98 - 04 00 00 inc WORD PTR [esi+eax*4+1176] - 00166 b8 00 01 00 00 mov eax, 256 ; 00000100H - 0016b 66 3b d8 cmp bx, ax - 0016e 0f b7 c3 movzx eax, bx - 00171 73 09 jae SHORT $LN30@deflate_sl - 00173 0f b6 80 00 00 - 00 00 movzx eax, BYTE PTR __dist_code[eax] - 0017a eb 0a jmp SHORT $LN31@deflate_sl -$LN30@deflate_sl: - 0017c c1 e8 07 shr eax, 7 - 0017f 0f b6 80 00 01 - 00 00 movzx eax, BYTE PTR __dist_code[eax+256] -$LN31@deflate_sl: - 00186 66 ff 84 86 88 - 09 00 00 inc WORD PTR [esi+eax*4+2440] - 0018e 33 c9 xor ecx, ecx - 00190 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 00196 48 dec eax - 00197 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - -; 1797 : s->prev_length - MIN_MATCH, bflush); -; 1798 : -; 1799 : /* Insert in hash table all strings up to the end of the match. -; 1800 : * strstart-1 and strstart are already inserted. If there is not -; 1801 : * enough lookahead, the last two strings are not inserted in -; 1802 : * the hash table. -; 1803 : */ -; 1804 : s->lookahead -= s->prev_length-1; - - 0019d b8 01 00 00 00 mov eax, 1 - 001a2 0f 94 c1 sete cl - 001a5 89 4d fc mov DWORD PTR _bflush$1$[ebp], ecx - 001a8 8b 4e 78 mov ecx, DWORD PTR [esi+120] - 001ab 2b c1 sub eax, ecx - 001ad 01 46 74 add DWORD PTR [esi+116], eax - -; 1805 : s->prev_length -= 2; - - 001b0 8d 41 fe lea eax, DWORD PTR [ecx-2] - 001b3 89 46 78 mov DWORD PTR [esi+120], eax -$LL7@deflate_sl: - -; 1806 : do { -; 1807 : if (++s->strstart <= max_insert) { - - 001b6 ff 46 6c inc DWORD PTR [esi+108] - 001b9 8b 5e 6c mov ebx, DWORD PTR [esi+108] - 001bc 3b df cmp ebx, edi - 001be 77 3c ja SHORT $LN5@deflate_sl - -; 1808 : INSERT_STRING(s, s->strstart, hash_head); - - 001c0 8b 46 38 mov eax, DWORD PTR [esi+56] - 001c3 8b 7e 48 mov edi, DWORD PTR [esi+72] - 001c6 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 001c9 8b 56 34 mov edx, DWORD PTR [esi+52] - 001cc 0f b6 44 18 02 movzx eax, BYTE PTR [eax+ebx+2] - 001d1 d3 e7 shl edi, cl - 001d3 8b 4e 40 mov ecx, DWORD PTR [esi+64] - 001d6 33 f8 xor edi, eax - 001d8 23 7e 54 and edi, DWORD PTR [esi+84] - 001db 23 d3 and edx, ebx - 001dd 8b 46 44 mov eax, DWORD PTR [esi+68] - 001e0 89 7e 48 mov DWORD PTR [esi+72], edi - 001e3 0f b7 04 78 movzx eax, WORD PTR [eax+edi*2] - 001e7 8b 7d 08 mov edi, DWORD PTR _max_insert$1$[ebp] - 001ea 66 89 04 51 mov WORD PTR [ecx+edx*2], ax - 001ee 8b 56 48 mov edx, DWORD PTR [esi+72] - 001f1 8b 4e 44 mov ecx, DWORD PTR [esi+68] - 001f4 0f b7 46 6c movzx eax, WORD PTR [esi+108] - 001f8 66 89 04 51 mov WORD PTR [ecx+edx*2], ax -$LN5@deflate_sl: - -; 1809 : } -; 1810 : } while (--s->prev_length != 0); - - 001fc 83 46 78 ff add DWORD PTR [esi+120], -1 - 00200 75 b4 jne SHORT $LL7@deflate_sl - -; 1811 : s->match_available = 0; -; 1812 : s->match_length = MIN_MATCH-1; -; 1813 : s->strstart++; - - 00202 ff 46 6c inc DWORD PTR [esi+108] - -; 1814 : -; 1815 : if (bflush) FLUSH_BLOCK(s, 0); - - 00205 83 7d fc 00 cmp DWORD PTR _bflush$1$[ebp], 0 - 00209 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 0020c 8b 5d 0c mov ebx, DWORD PTR _flush$[ebp] - 0020f c7 46 68 00 00 - 00 00 mov DWORD PTR [esi+104], 0 - 00216 c7 46 60 02 00 - 00 00 mov DWORD PTR [esi+96], 2 - 0021d 0f 84 ed fd ff - ff je $LL2@deflate_sl - 00223 8b 46 5c mov eax, DWORD PTR [esi+92] - 00226 85 c0 test eax, eax - 00228 78 07 js SHORT $LN32@deflate_sl - 0022a 8b 56 38 mov edx, DWORD PTR [esi+56] - 0022d 03 d0 add edx, eax - 0022f eb 02 jmp SHORT $LN33@deflate_sl -$LN32@deflate_sl: - 00231 33 d2 xor edx, edx -$LN33@deflate_sl: - 00233 2b c8 sub ecx, eax - 00235 6a 00 push 0 - 00237 51 push ecx - 00238 8b ce mov ecx, esi - 0023a e8 00 00 00 00 call __tr_flush_block - 0023f 8b 46 6c mov eax, DWORD PTR [esi+108] - 00242 83 c4 08 add esp, 8 - 00245 8b 0e mov ecx, DWORD PTR [esi] - 00247 89 46 5c mov DWORD PTR [esi+92], eax - 0024a e8 00 00 00 00 call _flush_pending - 0024f 8b 06 mov eax, DWORD PTR [esi] - 00251 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 00255 0f 85 b5 fd ff - ff jne $LL2@deflate_sl -$LN48@deflate_sl: - 0025b 5f pop edi - 0025c 5e pop esi - -; 1826 : } -; 1827 : s->strstart++; -; 1828 : s->lookahead--; -; 1829 : if (s->strm->avail_out == 0) return need_more; - - 0025d 33 c0 xor eax, eax - 0025f 5b pop ebx - -; 1853 : } - - 00260 8b e5 mov esp, ebp - 00262 5d pop ebp - 00263 c3 ret 0 -$LN15@deflate_sl: - -; 1816 : -; 1817 : } else if (s->match_available) { - - 00264 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 00268 0f 84 94 00 00 - 00 je $LN20@deflate_sl - -; 1818 : /* If there was no match at the previous position, output a -; 1819 : * single literal. If there was a match but the current match -; 1820 : * is longer, truncate the previous match to a single literal. -; 1821 : */ -; 1822 : Tracevv((stderr,"%c", s->window[s->strstart-1])); -; 1823 : _tr_tally_lit(s, s->window[s->strstart-1], bflush); - - 0026e 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00271 33 ff xor edi, edi - 00273 8b 46 38 mov eax, DWORD PTR [esi+56] - 00276 8a 54 01 ff mov dl, BYTE PTR [ecx+eax-1] - 0027a 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 00280 8b 86 a4 16 00 - 00 mov eax, DWORD PTR [esi+5796] - 00286 66 89 3c 48 mov WORD PTR [eax+ecx*2], di - 0028a 8b 86 a0 16 00 - 00 mov eax, DWORD PTR [esi+5792] - 00290 8b 8e 98 16 00 - 00 mov ecx, DWORD PTR [esi+5784] - 00296 88 14 01 mov BYTE PTR [ecx+eax], dl - 00299 ff 86 a0 16 00 - 00 inc DWORD PTR [esi+5792] - 0029f 0f b6 c2 movzx eax, dl - 002a2 66 ff 84 86 94 - 00 00 00 inc WORD PTR [esi+eax*4+148] - 002aa 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 002b0 48 dec eax - 002b1 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - -; 1824 : if (bflush) { - - 002b7 75 2f jne SHORT $LN22@deflate_sl - -; 1825 : FLUSH_BLOCK_ONLY(s, 0); - - 002b9 8b 4e 5c mov ecx, DWORD PTR [esi+92] - 002bc 85 c9 test ecx, ecx - 002be 78 07 js SHORT $LN34@deflate_sl - 002c0 8b 56 38 mov edx, DWORD PTR [esi+56] - 002c3 03 d1 add edx, ecx - 002c5 eb 02 jmp SHORT $LN35@deflate_sl -$LN34@deflate_sl: - 002c7 33 d2 xor edx, edx -$LN35@deflate_sl: - 002c9 8b 46 6c mov eax, DWORD PTR [esi+108] - 002cc 2b c1 sub eax, ecx - 002ce 8b ce mov ecx, esi - 002d0 6a 00 push 0 - 002d2 50 push eax - 002d3 e8 00 00 00 00 call __tr_flush_block - 002d8 8b 46 6c mov eax, DWORD PTR [esi+108] - 002db 83 c4 08 add esp, 8 - 002de 8b 0e mov ecx, DWORD PTR [esi] - 002e0 89 46 5c mov DWORD PTR [esi+92], eax - 002e3 e8 00 00 00 00 call _flush_pending -$LN22@deflate_sl: - -; 1826 : } -; 1827 : s->strstart++; -; 1828 : s->lookahead--; -; 1829 : if (s->strm->avail_out == 0) return need_more; - - 002e8 8b 06 mov eax, DWORD PTR [esi] - 002ea ff 46 6c inc DWORD PTR [esi+108] - 002ed ff 4e 74 dec DWORD PTR [esi+116] - 002f0 39 78 10 cmp DWORD PTR [eax+16], edi - 002f3 0f 85 17 fd ff - ff jne $LL2@deflate_sl - 002f9 5f pop edi - 002fa 5e pop esi - 002fb 33 c0 xor eax, eax - 002fd 5b pop ebx - -; 1853 : } - - 002fe 8b e5 mov esp, ebp - 00300 5d pop ebp - 00301 c3 ret 0 -$LN20@deflate_sl: - -; 1830 : } else { -; 1831 : /* There is no previous match to compare with, wait for -; 1832 : * the next step to decide. -; 1833 : */ -; 1834 : s->match_available = 1; -; 1835 : s->strstart++; - - 00302 ff 46 6c inc DWORD PTR [esi+108] - -; 1836 : s->lookahead--; - - 00305 ff 4e 74 dec DWORD PTR [esi+116] - 00308 c7 46 68 01 00 - 00 00 mov DWORD PTR [esi+104], 1 - -; 1837 : } -; 1838 : } - - 0030f e9 fc fc ff ff jmp $LL2@deflate_sl -$LN46@deflate_sl: - -; 1839 : Assert (flush != Z_NO_FLUSH, "no flush?"); -; 1840 : if (s->match_available) { - - 00314 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 00318 74 3f je SHORT $LN24@deflate_sl - -; 1841 : Tracevv((stderr,"%c", s->window[s->strstart-1])); -; 1842 : _tr_tally_lit(s, s->window[s->strstart-1], bflush); - - 0031a 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 0031d 33 ff xor edi, edi - 0031f 8b 46 38 mov eax, DWORD PTR [esi+56] - 00322 8a 54 01 ff mov dl, BYTE PTR [ecx+eax-1] - 00326 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 0032c 8b 86 a4 16 00 - 00 mov eax, DWORD PTR [esi+5796] - 00332 66 89 3c 48 mov WORD PTR [eax+ecx*2], di - 00336 8b 86 a0 16 00 - 00 mov eax, DWORD PTR [esi+5792] - 0033c 8b 8e 98 16 00 - 00 mov ecx, DWORD PTR [esi+5784] - 00342 88 14 01 mov BYTE PTR [ecx+eax], dl - 00345 ff 86 a0 16 00 - 00 inc DWORD PTR [esi+5792] - 0034b 0f b6 c2 movzx eax, dl - 0034e 66 ff 84 86 94 - 00 00 00 inc WORD PTR [esi+eax*4+148] - -; 1843 : s->match_available = 0; - - 00356 89 7e 68 mov DWORD PTR [esi+104], edi -$LN24@deflate_sl: - -; 1844 : } -; 1845 : s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1; - - 00359 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 0035c b8 02 00 00 00 mov eax, 2 - 00361 3b c8 cmp ecx, eax - 00363 0f 42 c1 cmovb eax, ecx - 00366 89 86 b4 16 00 - 00 mov DWORD PTR [esi+5812], eax - -; 1846 : if (flush == Z_FINISH) { - - 0036c 83 fb 04 cmp ebx, 4 - 0036f 75 40 jne SHORT $LN25@deflate_sl - -; 1847 : FLUSH_BLOCK(s, 1); - - 00371 8b 46 5c mov eax, DWORD PTR [esi+92] - 00374 85 c0 test eax, eax - 00376 78 07 js SHORT $LN38@deflate_sl - 00378 8b 56 38 mov edx, DWORD PTR [esi+56] - 0037b 03 d0 add edx, eax - 0037d eb 02 jmp SHORT $LN39@deflate_sl -$LN38@deflate_sl: - 0037f 33 d2 xor edx, edx -$LN39@deflate_sl: - 00381 2b c8 sub ecx, eax - 00383 6a 01 push 1 - 00385 51 push ecx - 00386 8b ce mov ecx, esi - 00388 e8 00 00 00 00 call __tr_flush_block - 0038d 8b 46 6c mov eax, DWORD PTR [esi+108] - 00390 83 c4 08 add esp, 8 - 00393 8b 0e mov ecx, DWORD PTR [esi] - 00395 89 46 5c mov DWORD PTR [esi+92], eax - 00398 e8 00 00 00 00 call _flush_pending - 0039d 8b 06 mov eax, DWORD PTR [esi] - 0039f 33 c9 xor ecx, ecx - 003a1 5f pop edi - 003a2 5e pop esi - 003a3 5b pop ebx - 003a4 39 48 10 cmp DWORD PTR [eax+16], ecx - 003a7 0f 95 c1 setne cl - 003aa 8d 41 02 lea eax, DWORD PTR [ecx+2] - -; 1853 : } - - 003ad 8b e5 mov esp, ebp - 003af 5d pop ebp - 003b0 c3 ret 0 -$LN25@deflate_sl: - -; 1848 : return finish_done; -; 1849 : } -; 1850 : if (s->last_lit) - - 003b1 83 be a0 16 00 - 00 00 cmp DWORD PTR [esi+5792], 0 - 003b8 74 38 je SHORT $LN28@deflate_sl - -; 1851 : FLUSH_BLOCK(s, 0); - - 003ba 8b 46 5c mov eax, DWORD PTR [esi+92] - 003bd 85 c0 test eax, eax - 003bf 78 07 js SHORT $LN40@deflate_sl - 003c1 8b 56 38 mov edx, DWORD PTR [esi+56] - 003c4 03 d0 add edx, eax - 003c6 eb 02 jmp SHORT $LN41@deflate_sl -$LN40@deflate_sl: - 003c8 33 d2 xor edx, edx -$LN41@deflate_sl: - 003ca 2b c8 sub ecx, eax - 003cc 6a 00 push 0 - 003ce 51 push ecx - 003cf 8b ce mov ecx, esi - 003d1 e8 00 00 00 00 call __tr_flush_block - 003d6 8b 46 6c mov eax, DWORD PTR [esi+108] - 003d9 83 c4 08 add esp, 8 - 003dc 8b 0e mov ecx, DWORD PTR [esi] - 003de 89 46 5c mov DWORD PTR [esi+92], eax - 003e1 e8 00 00 00 00 call _flush_pending - 003e6 8b 06 mov eax, DWORD PTR [esi] - 003e8 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 003ec 0f 84 69 fe ff - ff je $LN48@deflate_sl -$LN28@deflate_sl: - 003f2 5f pop edi - 003f3 5e pop esi - -; 1852 : return block_done; - - 003f4 b8 01 00 00 00 mov eax, 1 - 003f9 5b pop ebx - -; 1853 : } - - 003fa 8b e5 mov esp, ebp - 003fc 5d pop ebp - 003fd c3 ret 0 -_deflate_slow ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflate_rle -_TEXT SEGMENT -_flush$1$ = -4 ; size = 4 -_deflate_rle PROC ; COMDAT -; _s$ = ecx -; _flush$ = edx - -; 1864 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 8b da mov ebx, edx - 00008 8b f1 mov esi, ecx - 0000a 57 push edi - 0000b 89 5d fc mov DWORD PTR _flush$1$[ebp], ebx - 0000e 66 90 npad 2 -$LL2@deflate_rl: - -; 1865 : int bflush; /* set if current block must be flushed */ -; 1866 : uInt prev; /* byte at distance one to match */ -; 1867 : Bytef *scan, *strend; /* scan goes up to strend for length of run */ -; 1868 : -; 1869 : for (;;) { -; 1870 : /* Make sure that we always have enough lookahead, except -; 1871 : * at the end of the input file. We need MAX_MATCH bytes -; 1872 : * for the longest run, plus one for the unrolled loop. -; 1873 : */ -; 1874 : if (s->lookahead <= MAX_MATCH) { - - 00010 8b 7e 74 mov edi, DWORD PTR [esi+116] - 00013 81 ff 02 01 00 - 00 cmp edi, 258 ; 00000102H - 00019 77 22 ja SHORT $LN10@deflate_rl - -; 1875 : fill_window(s); - - 0001b 8b ce mov ecx, esi - 0001d e8 00 00 00 00 call _fill_window - -; 1876 : if (s->lookahead <= MAX_MATCH && flush == Z_NO_FLUSH) { - - 00022 8b 7e 74 mov edi, DWORD PTR [esi+116] - 00025 81 ff 02 01 00 - 00 cmp edi, 258 ; 00000102H - 0002b 77 08 ja SHORT $LN9@deflate_rl - 0002d 85 db test ebx, ebx - 0002f 0f 84 b6 01 00 - 00 je $LN37@deflate_rl -$LN9@deflate_rl: - -; 1877 : return need_more; -; 1878 : } -; 1879 : if (s->lookahead == 0) break; /* flush the current block */ - - 00035 85 ff test edi, edi - 00037 0f 84 b7 01 00 - 00 je $LN36@deflate_rl -$LN10@deflate_rl: - -; 1880 : } -; 1881 : -; 1882 : /* See how many times the previous byte repeats */ -; 1883 : s->match_length = 0; - - 0003d c7 46 60 00 00 - 00 00 mov DWORD PTR [esi+96], 0 - -; 1884 : if (s->lookahead >= MIN_MATCH && s->strstart > 0) { - - 00044 83 ff 03 cmp edi, 3 - 00047 0f 82 95 00 00 - 00 jb $LN14@deflate_rl - 0004d 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00050 85 c9 test ecx, ecx - 00052 0f 84 8a 00 00 - 00 je $LN14@deflate_rl - -; 1885 : scan = s->window + s->strstart - 1; - - 00058 8b 5e 38 mov ebx, DWORD PTR [esi+56] - 0005b 03 d9 add ebx, ecx - -; 1886 : prev = *scan; -; 1887 : if (prev == *++scan && prev == *++scan && prev == *++scan) { - - 0005d 0f b6 0b movzx ecx, BYTE PTR [ebx] - 00060 0f b6 53 ff movzx edx, BYTE PTR [ebx-1] - 00064 8d 43 ff lea eax, DWORD PTR [ebx-1] - 00067 3b d1 cmp edx, ecx - 00069 75 74 jne SHORT $LN44@deflate_rl - 0006b 0f b6 48 02 movzx ecx, BYTE PTR [eax+2] - 0006f 3b d1 cmp edx, ecx - 00071 75 6c jne SHORT $LN44@deflate_rl - 00073 0f b6 48 03 movzx ecx, BYTE PTR [eax+3] - 00077 83 c0 03 add eax, 3 - 0007a 3b d1 cmp edx, ecx - 0007c 75 61 jne SHORT $LN44@deflate_rl - -; 1888 : strend = s->window + s->strstart + MAX_MATCH; - - 0007e 81 c3 02 01 00 - 00 add ebx, 258 ; 00000102H -$LL7@deflate_rl: - -; 1889 : do { -; 1890 : } while (prev == *++scan && prev == *++scan && -; 1891 : prev == *++scan && prev == *++scan && -; 1892 : prev == *++scan && prev == *++scan && -; 1893 : prev == *++scan && prev == *++scan && - - 00084 0f b6 48 01 movzx ecx, BYTE PTR [eax+1] - 00088 40 inc eax - 00089 3b d1 cmp edx, ecx - 0008b 75 43 jne SHORT $LN13@deflate_rl - 0008d 0f b6 48 01 movzx ecx, BYTE PTR [eax+1] - 00091 40 inc eax - 00092 3b d1 cmp edx, ecx - 00094 75 3a jne SHORT $LN13@deflate_rl - 00096 0f b6 48 01 movzx ecx, BYTE PTR [eax+1] - 0009a 40 inc eax - 0009b 3b d1 cmp edx, ecx - 0009d 75 31 jne SHORT $LN13@deflate_rl - 0009f 0f b6 48 01 movzx ecx, BYTE PTR [eax+1] - 000a3 40 inc eax - 000a4 3b d1 cmp edx, ecx - 000a6 75 28 jne SHORT $LN13@deflate_rl - 000a8 0f b6 48 01 movzx ecx, BYTE PTR [eax+1] - 000ac 40 inc eax - 000ad 3b d1 cmp edx, ecx - 000af 75 1f jne SHORT $LN13@deflate_rl - 000b1 0f b6 48 01 movzx ecx, BYTE PTR [eax+1] - 000b5 40 inc eax - 000b6 3b d1 cmp edx, ecx - 000b8 75 16 jne SHORT $LN13@deflate_rl - 000ba 0f b6 48 01 movzx ecx, BYTE PTR [eax+1] - 000be 40 inc eax - 000bf 3b d1 cmp edx, ecx - 000c1 75 0d jne SHORT $LN13@deflate_rl - 000c3 0f b6 48 01 movzx ecx, BYTE PTR [eax+1] - 000c7 40 inc eax - 000c8 3b d1 cmp edx, ecx - 000ca 75 04 jne SHORT $LN13@deflate_rl - 000cc 3b c3 cmp eax, ebx - 000ce 72 b4 jb SHORT $LL7@deflate_rl -$LN13@deflate_rl: - -; 1894 : scan < strend); -; 1895 : s->match_length = MAX_MATCH - (int)(strend - scan); - - 000d0 2b c3 sub eax, ebx - 000d2 05 02 01 00 00 add eax, 258 ; 00000102H - -; 1896 : if (s->match_length > s->lookahead) - - 000d7 3b c7 cmp eax, edi - 000d9 0f 47 c7 cmova eax, edi - 000dc 89 46 60 mov DWORD PTR [esi+96], eax -$LN44@deflate_rl: - 000df 8b 5d fc mov ebx, DWORD PTR _flush$1$[ebp] -$LN14@deflate_rl: - -; 1897 : s->match_length = s->lookahead; -; 1898 : } -; 1899 : Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan"); -; 1900 : } -; 1901 : -; 1902 : /* Emit match if have run of MIN_MATCH or longer, else emit literal */ -; 1903 : if (s->match_length >= MIN_MATCH) { - - 000e2 83 7e 60 03 cmp DWORD PTR [esi+96], 3 - 000e6 72 6d jb SHORT $LN15@deflate_rl - -; 1904 : check_match(s, s->strstart, s->strstart - 1, s->match_length); -; 1905 : -; 1906 : _tr_tally_dist(s, 1, s->match_length - MIN_MATCH, bflush); - - 000e8 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 000ee bf 01 00 00 00 mov edi, 1 - 000f3 8b 86 a4 16 00 - 00 mov eax, DWORD PTR [esi+5796] - 000f9 8a 56 60 mov dl, BYTE PTR [esi+96] - 000fc 80 ea 03 sub dl, 3 - 000ff 66 89 3c 48 mov WORD PTR [eax+ecx*2], di - 00103 8b 86 a0 16 00 - 00 mov eax, DWORD PTR [esi+5792] - 00109 8b 8e 98 16 00 - 00 mov ecx, DWORD PTR [esi+5784] - 0010f 88 14 01 mov BYTE PTR [ecx+eax], dl - 00112 33 c9 xor ecx, ecx - 00114 ff 86 a0 16 00 - 00 inc DWORD PTR [esi+5792] - 0011a 0f b6 c2 movzx eax, dl - 0011d 0f b6 80 00 00 - 00 00 movzx eax, BYTE PTR __length_code[eax] - 00124 66 ff 84 86 98 - 04 00 00 inc WORD PTR [esi+eax*4+1176] - 0012c 66 ff 86 88 09 - 00 00 inc WORD PTR [esi+2440] - 00133 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 00139 48 dec eax - 0013a 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - -; 1907 : -; 1908 : s->lookahead -= s->match_length; - - 00140 8b 46 60 mov eax, DWORD PTR [esi+96] - 00143 0f 94 c1 sete cl - -; 1909 : s->strstart += s->match_length; -; 1910 : s->match_length = 0; - - 00146 c7 46 60 00 00 - 00 00 mov DWORD PTR [esi+96], 0 - 0014d 29 46 74 sub DWORD PTR [esi+116], eax - 00150 01 46 6c add DWORD PTR [esi+108], eax - -; 1911 : } else { - - 00153 eb 53 jmp SHORT $LN16@deflate_rl -$LN15@deflate_rl: - -; 1912 : /* No match, output a literal byte */ -; 1913 : Tracevv((stderr,"%c", s->window[s->strstart])); -; 1914 : _tr_tally_lit (s, s->window[s->strstart], bflush); - - 00155 8b 46 6c mov eax, DWORD PTR [esi+108] - 00158 33 ff xor edi, edi - 0015a 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 0015d 8a 14 01 mov dl, BYTE PTR [ecx+eax] - 00160 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 00166 8b 86 a4 16 00 - 00 mov eax, DWORD PTR [esi+5796] - 0016c 66 89 3c 48 mov WORD PTR [eax+ecx*2], di - 00170 8b 86 a0 16 00 - 00 mov eax, DWORD PTR [esi+5792] - 00176 8b 8e 98 16 00 - 00 mov ecx, DWORD PTR [esi+5784] - 0017c 88 14 01 mov BYTE PTR [ecx+eax], dl - 0017f 33 c9 xor ecx, ecx - 00181 ff 86 a0 16 00 - 00 inc DWORD PTR [esi+5792] - 00187 0f b6 c2 movzx eax, dl - 0018a 66 ff 84 86 94 - 00 00 00 inc WORD PTR [esi+eax*4+148] - 00192 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 00198 48 dec eax - 00199 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - 0019f 0f 94 c1 sete cl - -; 1915 : s->lookahead--; - - 001a2 ff 4e 74 dec DWORD PTR [esi+116] - -; 1916 : s->strstart++; - - 001a5 ff 46 6c inc DWORD PTR [esi+108] -$LN16@deflate_rl: - -; 1917 : } -; 1918 : if (bflush) FLUSH_BLOCK(s, 0); - - 001a8 85 c9 test ecx, ecx - 001aa 0f 84 60 fe ff - ff je $LL2@deflate_rl - 001b0 8b 4e 5c mov ecx, DWORD PTR [esi+92] - 001b3 85 c9 test ecx, ecx - 001b5 78 07 js SHORT $LN26@deflate_rl - 001b7 8b 56 38 mov edx, DWORD PTR [esi+56] - 001ba 03 d1 add edx, ecx - 001bc eb 02 jmp SHORT $LN27@deflate_rl -$LN26@deflate_rl: - 001be 33 d2 xor edx, edx -$LN27@deflate_rl: - 001c0 8b 46 6c mov eax, DWORD PTR [esi+108] - 001c3 2b c1 sub eax, ecx - 001c5 8b ce mov ecx, esi - 001c7 6a 00 push 0 - 001c9 50 push eax - 001ca e8 00 00 00 00 call __tr_flush_block - 001cf 8b 46 6c mov eax, DWORD PTR [esi+108] - 001d2 83 c4 08 add esp, 8 - 001d5 8b 0e mov ecx, DWORD PTR [esi] - 001d7 89 46 5c mov DWORD PTR [esi+92], eax - 001da e8 00 00 00 00 call _flush_pending - 001df 8b 06 mov eax, DWORD PTR [esi] - 001e1 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 001e5 0f 85 25 fe ff - ff jne $LL2@deflate_rl -$LN37@deflate_rl: - 001eb 5f pop edi - 001ec 5e pop esi - 001ed 33 c0 xor eax, eax - 001ef 5b pop ebx - -; 1928 : } - - 001f0 8b e5 mov esp, ebp - 001f2 5d pop ebp - 001f3 c3 ret 0 -$LN36@deflate_rl: - -; 1919 : } -; 1920 : s->insert = 0; - - 001f4 c7 86 b4 16 00 - 00 00 00 00 00 mov DWORD PTR [esi+5812], 0 - -; 1921 : if (flush == Z_FINISH) { - - 001fe 83 fb 04 cmp ebx, 4 - 00201 75 43 jne SHORT $LN19@deflate_rl - -; 1922 : FLUSH_BLOCK(s, 1); - - 00203 8b 4e 5c mov ecx, DWORD PTR [esi+92] - 00206 85 c9 test ecx, ecx - 00208 78 07 js SHORT $LN28@deflate_rl - 0020a 8b 56 38 mov edx, DWORD PTR [esi+56] - 0020d 03 d1 add edx, ecx - 0020f eb 02 jmp SHORT $LN29@deflate_rl -$LN28@deflate_rl: - 00211 33 d2 xor edx, edx -$LN29@deflate_rl: - 00213 8b 46 6c mov eax, DWORD PTR [esi+108] - 00216 2b c1 sub eax, ecx - 00218 8b ce mov ecx, esi - 0021a 6a 01 push 1 - 0021c 50 push eax - 0021d e8 00 00 00 00 call __tr_flush_block - 00222 8b 46 6c mov eax, DWORD PTR [esi+108] - 00225 83 c4 08 add esp, 8 - 00228 8b 0e mov ecx, DWORD PTR [esi] - 0022a 89 46 5c mov DWORD PTR [esi+92], eax - 0022d e8 00 00 00 00 call _flush_pending - 00232 8b 06 mov eax, DWORD PTR [esi] - 00234 33 c9 xor ecx, ecx - 00236 5f pop edi - 00237 5e pop esi - 00238 5b pop ebx - 00239 39 48 10 cmp DWORD PTR [eax+16], ecx - 0023c 0f 95 c1 setne cl - 0023f 8d 41 02 lea eax, DWORD PTR [ecx+2] - -; 1928 : } - - 00242 8b e5 mov esp, ebp - 00244 5d pop ebp - 00245 c3 ret 0 -$LN19@deflate_rl: - -; 1923 : return finish_done; -; 1924 : } -; 1925 : if (s->last_lit) - - 00246 83 be a0 16 00 - 00 00 cmp DWORD PTR [esi+5792], 0 - 0024d 74 3b je SHORT $LN22@deflate_rl - -; 1926 : FLUSH_BLOCK(s, 0); - - 0024f 8b 4e 5c mov ecx, DWORD PTR [esi+92] - 00252 85 c9 test ecx, ecx - 00254 78 07 js SHORT $LN30@deflate_rl - 00256 8b 56 38 mov edx, DWORD PTR [esi+56] - 00259 03 d1 add edx, ecx - 0025b eb 02 jmp SHORT $LN31@deflate_rl -$LN30@deflate_rl: - 0025d 33 d2 xor edx, edx -$LN31@deflate_rl: - 0025f 8b 46 6c mov eax, DWORD PTR [esi+108] - 00262 2b c1 sub eax, ecx - 00264 8b ce mov ecx, esi - 00266 6a 00 push 0 - 00268 50 push eax - 00269 e8 00 00 00 00 call __tr_flush_block - 0026e 8b 46 6c mov eax, DWORD PTR [esi+108] - 00271 83 c4 08 add esp, 8 - 00274 8b 0e mov ecx, DWORD PTR [esi] - 00276 89 46 5c mov DWORD PTR [esi+92], eax - 00279 e8 00 00 00 00 call _flush_pending - 0027e 8b 06 mov eax, DWORD PTR [esi] - 00280 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 00284 0f 84 61 ff ff - ff je $LN37@deflate_rl -$LN22@deflate_rl: - 0028a 5f pop edi - 0028b 5e pop esi - -; 1927 : return block_done; - - 0028c b8 01 00 00 00 mov eax, 1 - 00291 5b pop ebx - -; 1928 : } - - 00292 8b e5 mov esp, ebp - 00294 5d pop ebp - 00295 c3 ret 0 -_deflate_rle ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\deflate.c -; COMDAT _deflate_huff -_TEXT SEGMENT -_deflate_huff PROC ; COMDAT -; _s$ = ecx -; _flush$ = edx - -; 1937 : { - - 00000 53 push ebx - 00001 56 push esi - 00002 57 push edi - 00003 8b fa mov edi, edx - 00005 8b f1 mov esi, ecx -$LL2@deflate_hu: - -; 1938 : int bflush; /* set if current block must be flushed */ -; 1939 : -; 1940 : for (;;) { -; 1941 : /* Make sure that we have a literal to write. */ -; 1942 : if (s->lookahead == 0) { - - 00007 83 7e 74 00 cmp DWORD PTR [esi+116], 0 - 0000b 75 11 jne SHORT $LN6@deflate_hu - -; 1943 : fill_window(s); - - 0000d 8b ce mov ecx, esi - 0000f e8 00 00 00 00 call _fill_window - -; 1944 : if (s->lookahead == 0) { - - 00014 83 7e 74 00 cmp DWORD PTR [esi+116], 0 - 00018 0f 84 97 00 00 - 00 je $LN23@deflate_hu -$LN6@deflate_hu: - -; 1946 : return need_more; -; 1947 : break; /* flush the current block */ -; 1948 : } -; 1949 : } -; 1950 : -; 1951 : /* Output a literal byte */ -; 1952 : s->match_length = 0; -; 1953 : Tracevv((stderr,"%c", s->window[s->strstart])); -; 1954 : _tr_tally_lit (s, s->window[s->strstart], bflush); - - 0001e 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00021 33 db xor ebx, ebx - 00023 8b 46 38 mov eax, DWORD PTR [esi+56] - 00026 c7 46 60 00 00 - 00 00 mov DWORD PTR [esi+96], 0 - 0002d 8a 14 01 mov dl, BYTE PTR [ecx+eax] - 00030 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 00036 8b 86 a4 16 00 - 00 mov eax, DWORD PTR [esi+5796] - 0003c 66 89 1c 48 mov WORD PTR [eax+ecx*2], bx - 00040 8b 86 a0 16 00 - 00 mov eax, DWORD PTR [esi+5792] - 00046 8b 8e 98 16 00 - 00 mov ecx, DWORD PTR [esi+5784] - 0004c 88 14 01 mov BYTE PTR [ecx+eax], dl - 0004f ff 86 a0 16 00 - 00 inc DWORD PTR [esi+5792] - 00055 0f b6 c2 movzx eax, dl - 00058 66 ff 84 86 94 - 00 00 00 inc WORD PTR [esi+eax*4+148] - 00060 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - -; 1955 : s->lookahead--; -; 1956 : s->strstart++; - - 00066 ff 46 6c inc DWORD PTR [esi+108] - 00069 48 dec eax - 0006a ff 4e 74 dec DWORD PTR [esi+116] - 0006d 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00070 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - -; 1957 : if (bflush) FLUSH_BLOCK(s, 0); - - 00076 75 8f jne SHORT $LL2@deflate_hu - 00078 8b 46 5c mov eax, DWORD PTR [esi+92] - 0007b 85 c0 test eax, eax - 0007d 78 07 js SHORT $LN15@deflate_hu - 0007f 8b 56 38 mov edx, DWORD PTR [esi+56] - 00082 03 d0 add edx, eax - 00084 eb 02 jmp SHORT $LN16@deflate_hu -$LN15@deflate_hu: - 00086 33 d2 xor edx, edx -$LN16@deflate_hu: - 00088 2b c8 sub ecx, eax - 0008a 6a 00 push 0 - 0008c 51 push ecx - 0008d 8b ce mov ecx, esi - 0008f e8 00 00 00 00 call __tr_flush_block - 00094 8b 46 6c mov eax, DWORD PTR [esi+108] - 00097 83 c4 08 add esp, 8 - 0009a 8b 0e mov ecx, DWORD PTR [esi] - 0009c 89 46 5c mov DWORD PTR [esi+92], eax - 0009f e8 00 00 00 00 call _flush_pending - 000a4 8b 06 mov eax, DWORD PTR [esi] - 000a6 39 58 10 cmp DWORD PTR [eax+16], ebx - 000a9 0f 85 58 ff ff - ff jne $LL2@deflate_hu -$LN24@deflate_hu: - 000af 5f pop edi - 000b0 5e pop esi - 000b1 33 c0 xor eax, eax - 000b3 5b pop ebx - -; 1967 : } - - 000b4 c3 ret 0 -$LN23@deflate_hu: - -; 1945 : if (flush == Z_NO_FLUSH) - - 000b5 85 ff test edi, edi - 000b7 74 f6 je SHORT $LN24@deflate_hu - -; 1958 : } -; 1959 : s->insert = 0; - - 000b9 c7 86 b4 16 00 - 00 00 00 00 00 mov DWORD PTR [esi+5812], 0 - -; 1960 : if (flush == Z_FINISH) { - - 000c3 83 ff 04 cmp edi, 4 - 000c6 75 40 jne SHORT $LN10@deflate_hu - -; 1961 : FLUSH_BLOCK(s, 1); - - 000c8 8b 4e 5c mov ecx, DWORD PTR [esi+92] - 000cb 85 c9 test ecx, ecx - 000cd 78 07 js SHORT $LN17@deflate_hu - 000cf 8b 56 38 mov edx, DWORD PTR [esi+56] - 000d2 03 d1 add edx, ecx - 000d4 eb 02 jmp SHORT $LN18@deflate_hu -$LN17@deflate_hu: - 000d6 33 d2 xor edx, edx -$LN18@deflate_hu: - 000d8 8b 46 6c mov eax, DWORD PTR [esi+108] - 000db 2b c1 sub eax, ecx - 000dd 8b ce mov ecx, esi - 000df 6a 01 push 1 - 000e1 50 push eax - 000e2 e8 00 00 00 00 call __tr_flush_block - 000e7 8b 46 6c mov eax, DWORD PTR [esi+108] - 000ea 83 c4 08 add esp, 8 - 000ed 8b 0e mov ecx, DWORD PTR [esi] - 000ef 89 46 5c mov DWORD PTR [esi+92], eax - 000f2 e8 00 00 00 00 call _flush_pending - 000f7 8b 0e mov ecx, DWORD PTR [esi] - 000f9 33 c0 xor eax, eax - 000fb 5f pop edi - 000fc 5e pop esi - 000fd 5b pop ebx - 000fe 39 41 10 cmp DWORD PTR [ecx+16], eax - 00101 0f 95 c0 setne al - 00104 83 c0 02 add eax, 2 - -; 1967 : } - - 00107 c3 ret 0 -$LN10@deflate_hu: - -; 1962 : return finish_done; -; 1963 : } -; 1964 : if (s->last_lit) - - 00108 83 be a0 16 00 - 00 00 cmp DWORD PTR [esi+5792], 0 - 0010f 74 3b je SHORT $LN13@deflate_hu - -; 1965 : FLUSH_BLOCK(s, 0); - - 00111 8b 4e 5c mov ecx, DWORD PTR [esi+92] - 00114 85 c9 test ecx, ecx - 00116 78 07 js SHORT $LN19@deflate_hu - 00118 8b 56 38 mov edx, DWORD PTR [esi+56] - 0011b 03 d1 add edx, ecx - 0011d eb 02 jmp SHORT $LN20@deflate_hu -$LN19@deflate_hu: - 0011f 33 d2 xor edx, edx -$LN20@deflate_hu: - 00121 8b 46 6c mov eax, DWORD PTR [esi+108] - 00124 2b c1 sub eax, ecx - 00126 8b ce mov ecx, esi - 00128 6a 00 push 0 - 0012a 50 push eax - 0012b e8 00 00 00 00 call __tr_flush_block - 00130 8b 46 6c mov eax, DWORD PTR [esi+108] - 00133 83 c4 08 add esp, 8 - 00136 8b 0e mov ecx, DWORD PTR [esi] - 00138 89 46 5c mov DWORD PTR [esi+92], eax - 0013b e8 00 00 00 00 call _flush_pending - 00140 8b 06 mov eax, DWORD PTR [esi] - 00142 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 00146 0f 84 63 ff ff - ff je $LN24@deflate_hu -$LN13@deflate_hu: - 0014c 5f pop edi - 0014d 5e pop esi - -; 1966 : return block_done; - - 0014e b8 01 00 00 00 mov eax, 1 - 00153 5b pop ebx - -; 1967 : } - - 00154 c3 ret 0 -_deflate_huff ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/deflate.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/deflate.obj deleted file mode 100644 index 15d8295fe3..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/deflate.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzclose.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzclose.cod deleted file mode 100644 index 142cbc2a2e..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzclose.cod +++ /dev/null @@ -1,87 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\gzclose.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -COMM ?_OptionsStorage@?1??__local_stdio_scanf_options@@9@9:QWORD ; `__local_stdio_scanf_options'::`2'::_OptionsStorage -COMM ?_OptionsStorage@?1??__local_stdio_printf_options@@9@9:QWORD ; `__local_stdio_printf_options'::`2'::_OptionsStorage -_DATA ENDS -PUBLIC _gzclose@4 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzclose.c -; COMDAT _gzclose@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzclose@4 PROC ; COMDAT - -; 13 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 14 : #ifndef NO_GZCOMPRESS -; 15 : gz_statep state; -; 16 : -; 17 : if (file == NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 09 jne SHORT $LN2@gzclose - -; 18 : return Z_STREAM_ERROR; - - 0000a b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 22 : #else -; 23 : return gzclose_r(file); -; 24 : #endif -; 25 : } - - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -$LN2@gzclose: - -; 19 : state = (gz_statep)file; -; 20 : -; 21 : return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); - - 00013 81 78 10 4f 1c - 00 00 cmp DWORD PTR [eax+16], 7247 ; 00001c4fH - 0001a 75 09 jne SHORT $LN4@gzclose - 0001c 89 45 08 mov DWORD PTR _file$[ebp], eax - -; 22 : #else -; 23 : return gzclose_r(file); -; 24 : #endif -; 25 : } - - 0001f 5d pop ebp - -; 19 : state = (gz_statep)file; -; 20 : -; 21 : return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); - - 00020 e9 00 00 00 00 jmp _gzclose_r@4 -$LN4@gzclose: - 00025 89 45 08 mov DWORD PTR _file$[ebp], eax - -; 22 : #else -; 23 : return gzclose_r(file); -; 24 : #endif -; 25 : } - - 00028 5d pop ebp - -; 19 : state = (gz_statep)file; -; 20 : -; 21 : return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); - - 00029 e9 00 00 00 00 jmp _gzclose_w@4 -_gzclose@4 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzclose.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzclose.obj deleted file mode 100644 index 1f1b12830f..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzclose.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzlib.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzlib.cod deleted file mode 100644 index ee1d4eb932..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzlib.cod +++ /dev/null @@ -1,2360 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\gzlib.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_02DKCKIIND@?$CFs?$AA@ ; `string' -PUBLIC ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ ; `string' -PUBLIC ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ ; `string' -PUBLIC ??_C@_00CNPNBAHC@?$AA@ ; `string' -PUBLIC ??_C@_02LMMGGCAJ@?3?5?$AA@ ; `string' -PUBLIC ??_C@_06DIJPEION@?$CFs?$CFs?$CFs?$AA@ ; `string' -EXTRN __imp__malloc:PROC -EXTRN __imp__free:PROC -EXTRN __imp____stdio_common_vsprintf:PROC -EXTRN __imp__wcstombs:PROC -EXTRN __imp___open:PROC -EXTRN __imp___wopen:PROC -EXTRN __imp___lseeki64:PROC -; COMDAT ??_C@_06DIJPEION@?$CFs?$CFs?$CFs?$AA@ -CONST SEGMENT -??_C@_06DIJPEION@?$CFs?$CFs?$CFs?$AA@ DB '%s%s%s', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_02LMMGGCAJ@?3?5?$AA@ -CONST SEGMENT -??_C@_02LMMGGCAJ@?3?5?$AA@ DB ': ', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_00CNPNBAHC@?$AA@ -CONST SEGMENT -??_C@_00CNPNBAHC@?$AA@ DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ -CONST SEGMENT -??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ DB 'out of memory', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ -CONST SEGMENT -??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ DB '', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_02DKCKIIND@?$CFs?$AA@ -CONST SEGMENT -??_C@_02DKCKIIND@?$CFs?$AA@ DB '%s', 00H ; `string' -PUBLIC _gz_error -PUBLIC _gzclearerr@4 -PUBLIC _gzerror@8 -PUBLIC _gzeof@4 -PUBLIC _gzoffset@4 -PUBLIC _gzoffset64@4 -PUBLIC _gztell@4 -PUBLIC _gztell64@4 -PUBLIC _gzseek@12 -PUBLIC _gzseek64@16 -PUBLIC _gzrewind@4 -PUBLIC _gzbuffer@8 -PUBLIC _gzopen_w@8 -PUBLIC _gzdopen@8 -PUBLIC _gzopen@8 -PUBLIC __snprintf -PUBLIC __vsnprintf -PUBLIC __vsnprintf_l -PUBLIC ___local_stdio_printf_options -; Function compile flags: /Ogtp -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\corecrt_stdio_config.h -; COMDAT ___local_stdio_printf_options -_TEXT SEGMENT -___local_stdio_printf_options PROC ; COMDAT - -; 74 : static unsigned __int64 _OptionsStorage; -; 75 : return &_OptionsStorage; - - 00000 b8 00 00 00 00 mov eax, OFFSET ?_OptionsStorage@?1??__local_stdio_printf_options@@9@9 ; `__local_stdio_printf_options'::`2'::_OptionsStorage - -; 76 : } - - 00005 c3 ret 0 -___local_stdio_printf_options ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h -; COMDAT __vsnprintf_l -_TEXT SEGMENT -__Format$ = 8 ; size = 4 -__Locale$dead$ = 12 ; size = 4 -__ArgList$ = 16 ; size = 4 -__vsnprintf_l PROC ; COMDAT -; __Buffer$ = ecx -; __BufferCount$ = edx - -; 1385 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1386 : int const _Result = __stdio_common_vsprintf( - - 00003 ff 75 10 push DWORD PTR __ArgList$[ebp] - 00006 6a 00 push 0 - 00008 ff 75 08 push DWORD PTR __Format$[ebp] - 0000b 52 push edx - 0000c 51 push ecx - 0000d e8 00 00 00 00 call ___local_stdio_printf_options - 00012 8b 08 mov ecx, DWORD PTR [eax] - 00014 ff 70 04 push DWORD PTR [eax+4] - 00017 83 c9 01 or ecx, 1 - 0001a 51 push ecx - 0001b ff 15 00 00 00 - 00 call DWORD PTR __imp____stdio_common_vsprintf - -; 1387 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, -; 1388 : _Buffer, _BufferCount, _Format, _Locale, _ArgList); -; 1389 : -; 1390 : return _Result < 0 ? -1 : _Result; - - 00021 83 c9 ff or ecx, -1 - 00024 83 c4 1c add esp, 28 ; 0000001cH - 00027 85 c0 test eax, eax - 00029 0f 48 c1 cmovs eax, ecx - -; 1391 : } - - 0002c 5d pop ebp - 0002d c3 ret 0 -__vsnprintf_l ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h -; COMDAT __vsnprintf -_TEXT SEGMENT -__Format$ = 8 ; size = 4 -__ArgList$ = 12 ; size = 4 -__vsnprintf PROC ; COMDAT -; __Buffer$ = ecx -; __BufferCount$ = edx - -; 1405 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1386 : int const _Result = __stdio_common_vsprintf( - - 00003 ff 75 0c push DWORD PTR __ArgList$[ebp] - 00006 6a 00 push 0 - 00008 ff 75 08 push DWORD PTR __Format$[ebp] - 0000b 52 push edx - 0000c 51 push ecx - 0000d e8 00 00 00 00 call ___local_stdio_printf_options - 00012 8b 08 mov ecx, DWORD PTR [eax] - 00014 ff 70 04 push DWORD PTR [eax+4] - 00017 83 c9 01 or ecx, 1 - 0001a 51 push ecx - 0001b ff 15 00 00 00 - 00 call DWORD PTR __imp____stdio_common_vsprintf - -; 1387 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, -; 1388 : _Buffer, _BufferCount, _Format, _Locale, _ArgList); -; 1389 : -; 1390 : return _Result < 0 ? -1 : _Result; - - 00021 83 c9 ff or ecx, -1 - 00024 83 c4 1c add esp, 28 ; 0000001cH - 00027 85 c0 test eax, eax - 00029 0f 48 c1 cmovs eax, ecx - -; 1406 : #pragma warning(push) -; 1407 : #pragma warning(disable: 4996) // Deprecation -; 1408 : return _vsnprintf_l(_Buffer, _BufferCount, _Format, NULL, _ArgList); -; 1409 : #pragma warning(pop) -; 1410 : } - - 0002c 5d pop ebp - 0002d c3 ret 0 -__vsnprintf ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h -; COMDAT __snprintf -_TEXT SEGMENT -__Buffer$ = 8 ; size = 4 -__BufferCount$ = 12 ; size = 4 -__Format$ = 16 ; size = 4 -__snprintf PROC ; COMDAT - -; 1960 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1386 : int const _Result = __stdio_common_vsprintf( - - 00003 8d 45 14 lea eax, DWORD PTR __Format$[ebp+4] - 00006 50 push eax - 00007 6a 00 push 0 - 00009 ff 75 10 push DWORD PTR __Format$[ebp] - 0000c ff 75 0c push DWORD PTR __BufferCount$[ebp] - 0000f ff 75 08 push DWORD PTR __Buffer$[ebp] - 00012 e8 00 00 00 00 call ___local_stdio_printf_options - 00017 8b 08 mov ecx, DWORD PTR [eax] - 00019 ff 70 04 push DWORD PTR [eax+4] - 0001c 83 c9 01 or ecx, 1 - 0001f 51 push ecx - 00020 ff 15 00 00 00 - 00 call DWORD PTR __imp____stdio_common_vsprintf - -; 1387 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, -; 1388 : _Buffer, _BufferCount, _Format, _Locale, _ArgList); -; 1389 : -; 1390 : return _Result < 0 ? -1 : _Result; - - 00026 83 c9 ff or ecx, -1 - 00029 83 c4 1c add esp, 28 ; 0000001cH - 0002c 85 c0 test eax, eax - 0002e 0f 48 c1 cmovs eax, ecx - -; 1961 : int _Result; -; 1962 : va_list _ArgList; -; 1963 : __crt_va_start(_ArgList, _Format); -; 1964 : #pragma warning(suppress:28719) // __WARNING_BANNED_API_USAGE -; 1965 : _Result = _vsnprintf(_Buffer, _BufferCount, _Format, _ArgList); -; 1966 : __crt_va_end(_ArgList); -; 1967 : return _Result; -; 1968 : } - - 00031 5d pop ebp - 00032 c3 ret 0 -__snprintf ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gz_reset -_TEXT SEGMENT -_gz_reset PROC ; COMDAT -; _state$ = ecx - -; 77 : { - - 00000 56 push esi - 00001 8b f1 mov esi, ecx - -; 78 : state->x.have = 0; /* no output data available */ -; 79 : if (state->mode == GZ_READ) { /* for reading ... */ - - 00003 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 0000a c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 - 00010 75 15 jne SHORT $LN2@gz_reset - -; 80 : state->eof = 0; /* not at end of file */ - - 00012 c7 46 40 00 00 - 00 00 mov DWORD PTR [esi+64], 0 - -; 81 : state->past = 0; /* have not read past end yet */ - - 00019 c7 46 44 00 00 - 00 00 mov DWORD PTR [esi+68], 0 - -; 82 : state->how = LOOK; /* look for gzip header */ - - 00020 c7 46 30 00 00 - 00 00 mov DWORD PTR [esi+48], 0 -$LN2@gz_reset: - -; 83 : } -; 84 : state->seek = 0; /* no seek request pending */ -; 85 : gz_error(state, Z_OK, NULL); /* clear error */ - - 00027 6a 00 push 0 - 00029 33 d2 xor edx, edx - 0002b c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 00032 e8 00 00 00 00 call _gz_error - 00037 83 c4 04 add esp, 4 - -; 86 : state->x.pos = 0; /* no uncompressed data yet */ - - 0003a c7 46 08 00 00 - 00 00 mov DWORD PTR [esi+8], 0 - 00041 c7 46 0c 00 00 - 00 00 mov DWORD PTR [esi+12], 0 - -; 87 : state->strm.avail_in = 0; /* no input data yet */ - - 00048 c7 46 68 00 00 - 00 00 mov DWORD PTR [esi+104], 0 - 0004f 5e pop esi - -; 88 : } - - 00050 c3 ret 0 -_gz_reset ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gz_open -_TEXT SEGMENT -_exclusive$1$ = -12 ; size = 4 -_fd$1$ = -8 ; size = 4 -_path$1$ = -4 ; size = 4 -_mode$ = 8 ; size = 4 -_gz_open PROC ; COMDAT -; _path$ = ecx -; _fd$ = edx - -; 95 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 0c sub esp, 12 ; 0000000cH - 00006 53 push ebx - 00007 8b d9 mov ebx, ecx - -; 96 : gz_statep state; -; 97 : size_t len; -; 98 : int oflag; -; 99 : #ifdef O_CLOEXEC -; 100 : int cloexec = 0; -; 101 : #endif -; 102 : #ifdef O_EXCL -; 103 : int exclusive = 0; - - 00009 33 c0 xor eax, eax - 0000b 89 5d fc mov DWORD PTR _path$1$[ebp], ebx - 0000e 89 45 f4 mov DWORD PTR _exclusive$1$[ebp], eax - 00011 56 push esi - 00012 8b f2 mov esi, edx - 00014 89 75 f8 mov DWORD PTR _fd$1$[ebp], esi - -; 104 : #endif -; 105 : -; 106 : /* check input */ -; 107 : if (path == NULL) - - 00017 85 db test ebx, ebx - 00019 75 06 jne SHORT $LN6@gz_open - 0001b 5e pop esi - 0001c 5b pop ebx - -; 265 : } - - 0001d 8b e5 mov esp, ebp - 0001f 5d pop ebp - 00020 c3 ret 0 -$LN6@gz_open: - 00021 57 push edi - -; 108 : return NULL; -; 109 : -; 110 : /* allocate gzFile structure to return */ -; 111 : state = (gz_statep)malloc(sizeof(gz_state)); - - 00022 68 a0 00 00 00 push 160 ; 000000a0H - 00027 ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 0002d 8b f8 mov edi, eax - 0002f 83 c4 04 add esp, 4 - -; 112 : if (state == NULL) - - 00032 85 ff test edi, edi - 00034 0f 84 e6 01 00 - 00 je $LN54@gz_open - -; 113 : return NULL; -; 114 : state->size = 0; /* no buffers allocated yet */ -; 115 : state->want = GZBUFSIZE; /* requested buffer size */ -; 116 : state->msg = NULL; /* no error message yet */ -; 117 : -; 118 : /* interpret mode */ -; 119 : state->mode = GZ_NONE; -; 120 : state->level = Z_DEFAULT_COMPRESSION; -; 121 : state->strategy = Z_DEFAULT_STRATEGY; -; 122 : state->direct = 0; -; 123 : while (*mode) { - - 0003a 8b 4d 08 mov ecx, DWORD PTR _mode$[ebp] - 0003d c7 47 1c 00 00 - 00 00 mov DWORD PTR [edi+28], 0 - 00044 c7 47 20 00 20 - 00 00 mov DWORD PTR [edi+32], 8192 ; 00002000H - 0004b c7 47 60 00 00 - 00 00 mov DWORD PTR [edi+96], 0 - 00052 c7 47 10 00 00 - 00 00 mov DWORD PTR [edi+16], 0 - 00059 c7 47 48 ff ff - ff ff mov DWORD PTR [edi+72], -1 - 00060 c7 47 4c 00 00 - 00 00 mov DWORD PTR [edi+76], 0 - 00067 c7 47 2c 00 00 - 00 00 mov DWORD PTR [edi+44], 0 - 0006e 8a 01 mov al, BYTE PTR [ecx] - 00070 84 c0 test al, al - 00072 0f 84 88 00 00 - 00 je $LN48@gz_open -$LL2@gz_open: - -; 124 : if (*mode >= '0' && *mode <= '9') - - 00078 3c 30 cmp al, 48 ; 00000030H - 0007a 7c 0f jl SHORT $LN8@gz_open - 0007c 3c 39 cmp al, 57 ; 00000039H - 0007e 7f 0b jg SHORT $LN8@gz_open - -; 125 : state->level = *mode - '0'; - - 00080 0f be c0 movsx eax, al - 00083 83 e8 30 sub eax, 48 ; 00000030H - 00086 89 47 48 mov DWORD PTR [edi+72], eax - 00089 eb 69 jmp SHORT $LN21@gz_open -$LN8@gz_open: - -; 126 : else -; 127 : switch (*mode) { - - 0008b 0f be c0 movsx eax, al - 0008e 83 c0 d5 add eax, -43 ; ffffffd5H - 00091 83 f8 4d cmp eax, 77 ; 0000004dH - 00094 77 5e ja SHORT $LN21@gz_open - 00096 0f b6 80 00 00 - 00 00 movzx eax, BYTE PTR $LN49@gz_open[eax] - 0009d ff 24 85 00 00 - 00 00 jmp DWORD PTR $LN57@gz_open[eax*4] -$LN10@gz_open: - -; 128 : case 'r': -; 129 : state->mode = GZ_READ; - - 000a4 c7 47 10 4f 1c - 00 00 mov DWORD PTR [edi+16], 7247 ; 00001c4fH - -; 130 : break; - - 000ab eb 47 jmp SHORT $LN21@gz_open -$LN11@gz_open: - -; 131 : #ifndef NO_GZCOMPRESS -; 132 : case 'w': -; 133 : state->mode = GZ_WRITE; - - 000ad c7 47 10 b1 79 - 00 00 mov DWORD PTR [edi+16], 31153 ; 000079b1H - -; 134 : break; - - 000b4 eb 3e jmp SHORT $LN21@gz_open -$LN12@gz_open: - -; 135 : case 'a': -; 136 : state->mode = GZ_APPEND; - - 000b6 c7 47 10 01 00 - 00 00 mov DWORD PTR [edi+16], 1 - -; 137 : break; - - 000bd eb 35 jmp SHORT $LN21@gz_open -$LN15@gz_open: - -; 138 : #endif -; 139 : case '+': /* can't read and write at the same time */ -; 140 : free(state); -; 141 : return NULL; -; 142 : case 'b': /* ignore -- will request binary anyway */ -; 143 : break; -; 144 : #ifdef O_CLOEXEC -; 145 : case 'e': -; 146 : cloexec = 1; -; 147 : break; -; 148 : #endif -; 149 : #ifdef O_EXCL -; 150 : case 'x': -; 151 : exclusive = 1; - - 000bf b8 01 00 00 00 mov eax, 1 - 000c4 89 45 f4 mov DWORD PTR _exclusive$1$[ebp], eax - -; 152 : break; - - 000c7 eb 2b jmp SHORT $LN21@gz_open -$LN16@gz_open: - -; 153 : #endif -; 154 : case 'f': -; 155 : state->strategy = Z_FILTERED; - - 000c9 c7 47 4c 01 00 - 00 00 mov DWORD PTR [edi+76], 1 - -; 156 : break; - - 000d0 eb 22 jmp SHORT $LN21@gz_open -$LN17@gz_open: - -; 157 : case 'h': -; 158 : state->strategy = Z_HUFFMAN_ONLY; - - 000d2 c7 47 4c 02 00 - 00 00 mov DWORD PTR [edi+76], 2 - -; 159 : break; - - 000d9 eb 19 jmp SHORT $LN21@gz_open -$LN18@gz_open: - -; 160 : case 'R': -; 161 : state->strategy = Z_RLE; - - 000db c7 47 4c 03 00 - 00 00 mov DWORD PTR [edi+76], 3 - -; 162 : break; - - 000e2 eb 10 jmp SHORT $LN21@gz_open -$LN19@gz_open: - -; 163 : case 'F': -; 164 : state->strategy = Z_FIXED; - - 000e4 c7 47 4c 04 00 - 00 00 mov DWORD PTR [edi+76], 4 - -; 165 : break; - - 000eb eb 07 jmp SHORT $LN21@gz_open -$LN20@gz_open: - -; 166 : case 'T': -; 167 : state->direct = 1; - - 000ed c7 47 2c 01 00 - 00 00 mov DWORD PTR [edi+44], 1 -$LN21@gz_open: - -; 113 : return NULL; -; 114 : state->size = 0; /* no buffers allocated yet */ -; 115 : state->want = GZBUFSIZE; /* requested buffer size */ -; 116 : state->msg = NULL; /* no error message yet */ -; 117 : -; 118 : /* interpret mode */ -; 119 : state->mode = GZ_NONE; -; 120 : state->level = Z_DEFAULT_COMPRESSION; -; 121 : state->strategy = Z_DEFAULT_STRATEGY; -; 122 : state->direct = 0; -; 123 : while (*mode) { - - 000f4 8a 41 01 mov al, BYTE PTR [ecx+1] - -; 168 : break; -; 169 : default: /* could consider as an error, but just ignore */ -; 170 : ; -; 171 : } -; 172 : mode++; - - 000f7 41 inc ecx - 000f8 84 c0 test al, al - 000fa 0f 85 78 ff ff - ff jne $LL2@gz_open -$LN48@gz_open: - -; 173 : } -; 174 : -; 175 : /* must provide an "r", "w", or "a" */ -; 176 : if (state->mode == GZ_NONE) { - - 00100 8b 47 10 mov eax, DWORD PTR [edi+16] - 00103 85 c0 test eax, eax - 00105 74 56 je SHORT $LN55@gz_open - -; 177 : free(state); -; 178 : return NULL; -; 179 : } -; 180 : -; 181 : /* can't force transparent read */ -; 182 : if (state->mode == GZ_READ) { - - 00107 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 0010c 75 0d jne SHORT $LN23@gz_open - -; 183 : if (state->direct) { - - 0010e 83 7f 2c 00 cmp DWORD PTR [edi+44], 0 - 00112 75 49 jne SHORT $LN55@gz_open - -; 184 : free(state); -; 185 : return NULL; -; 186 : } -; 187 : state->direct = 1; /* for empty file */ - - 00114 c7 47 2c 01 00 - 00 00 mov DWORD PTR [edi+44], 1 -$LN23@gz_open: - -; 188 : } -; 189 : -; 190 : /* save the path name for error messages */ -; 191 : #ifdef _WIN32 -; 192 : if (fd == -2) { - - 0011b 83 fe fe cmp esi, -2 ; fffffffeH - 0011e 75 19 jne SHORT $LN25@gz_open - -; 193 : len = wcstombs(NULL, path, 0); - - 00120 6a 00 push 0 - 00122 53 push ebx - 00123 6a 00 push 0 - 00125 ff 15 00 00 00 - 00 call DWORD PTR __imp__wcstombs - 0012b 8b f0 mov esi, eax - 0012d 83 c4 0c add esp, 12 ; 0000000cH - -; 194 : if (len == (size_t)-1) - - 00130 83 fe ff cmp esi, -1 - 00133 75 14 jne SHORT $LN26@gz_open - -; 195 : len = 0; - - 00135 33 f6 xor esi, esi - -; 196 : } - - 00137 eb 10 jmp SHORT $LN26@gz_open -$LN25@gz_open: - -; 197 : else -; 198 : #endif -; 199 : len = strlen((const char *)path); - - 00139 8b f3 mov esi, ebx - 0013b 8d 4e 01 lea ecx, DWORD PTR [esi+1] - 0013e 66 90 npad 2 -$LL50@gz_open: - 00140 8a 06 mov al, BYTE PTR [esi] - 00142 46 inc esi - 00143 84 c0 test al, al - 00145 75 f9 jne SHORT $LL50@gz_open - 00147 2b f1 sub esi, ecx -$LN26@gz_open: - -; 200 : state->path = (char *)malloc(len + 1); - - 00149 8d 5e 01 lea ebx, DWORD PTR [esi+1] - 0014c 53 push ebx - 0014d ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00153 83 c4 04 add esp, 4 - 00156 89 47 18 mov DWORD PTR [edi+24], eax - -; 201 : if (state->path == NULL) { - - 00159 85 c0 test eax, eax - 0015b 75 13 jne SHORT $LN28@gz_open -$LN55@gz_open: - -; 202 : free(state); - - 0015d 57 push edi - 0015e ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 00164 83 c4 04 add esp, 4 - -; 203 : return NULL; - - 00167 33 c0 xor eax, eax - 00169 5f pop edi - 0016a 5e pop esi - 0016b 5b pop ebx - -; 265 : } - - 0016c 8b e5 mov esp, ebp - 0016e 5d pop ebp - 0016f c3 ret 0 -$LN28@gz_open: - -; 204 : } -; 205 : #ifdef _WIN32 -; 206 : if (fd == -2) - - 00170 8b 55 f8 mov edx, DWORD PTR _fd$1$[ebp] - 00173 83 fa fe cmp edx, -2 ; fffffffeH - 00176 75 1a jne SHORT $LN29@gz_open - -; 207 : if (len) - - 00178 85 f6 test esi, esi - -; 208 : wcstombs(state->path, path, len + 1); - - 0017a 8b 75 fc mov esi, DWORD PTR _path$1$[ebp] - 0017d 74 0e je SHORT $LN31@gz_open - 0017f 53 push ebx - 00180 56 push esi - 00181 50 push eax - 00182 ff 15 00 00 00 - 00 call DWORD PTR __imp__wcstombs - 00188 83 c4 0c add esp, 12 ; 0000000cH - 0018b eb 18 jmp SHORT $LN52@gz_open -$LN31@gz_open: - -; 209 : else -; 210 : *(state->path) = 0; - - 0018d c6 00 00 mov BYTE PTR [eax], 0 - 00190 eb 16 jmp SHORT $LN30@gz_open -$LN29@gz_open: - -; 211 : else -; 212 : #endif -; 213 : #if !defined(NO_snprintf) && !defined(NO_vsnprintf) -; 214 : snprintf(state->path, len + 1, "%s", (const char *)path); - - 00192 8b 75 fc mov esi, DWORD PTR _path$1$[ebp] - 00195 56 push esi - 00196 68 00 00 00 00 push OFFSET ??_C@_02DKCKIIND@?$CFs?$AA@ - 0019b 53 push ebx - 0019c 50 push eax - 0019d e8 00 00 00 00 call __snprintf - 001a2 83 c4 10 add esp, 16 ; 00000010H -$LN52@gz_open: - 001a5 8b 55 f8 mov edx, DWORD PTR _fd$1$[ebp] -$LN30@gz_open: - -; 215 : #else -; 216 : strcpy(state->path, path); -; 217 : #endif -; 218 : -; 219 : /* compute the flags for open() */ -; 220 : oflag = - - 001a8 8b 4f 10 mov ecx, DWORD PTR [edi+16] - 001ab 81 f9 4f 1c 00 - 00 cmp ecx, 7247 ; 00001c4fH - 001b1 75 04 jne SHORT $LN38@gz_open - 001b3 33 c0 xor eax, eax - 001b5 eb 27 jmp SHORT $LN39@gz_open -$LN38@gz_open: - 001b7 81 f9 b1 79 00 - 00 cmp ecx, 31153 ; 000079b1H - 001bd b8 08 00 00 00 mov eax, 8 - 001c2 8b 4d f4 mov ecx, DWORD PTR _exclusive$1$[ebp] - 001c5 bb 00 02 00 00 mov ebx, 512 ; 00000200H - 001ca 0f 44 c3 cmove eax, ebx - 001cd f7 d9 neg ecx - 001cf 1b c9 sbb ecx, ecx - 001d1 81 e1 00 04 00 - 00 and ecx, 1024 ; 00000400H - 001d7 0b c1 or eax, ecx - 001d9 0d 01 01 00 00 or eax, 257 ; 00000101H -$LN39@gz_open: - 001de 0d 00 80 00 00 or eax, 32768 ; 00008000H - -; 221 : #ifdef O_LARGEFILE -; 222 : O_LARGEFILE | -; 223 : #endif -; 224 : #ifdef O_BINARY -; 225 : O_BINARY | -; 226 : #endif -; 227 : #ifdef O_CLOEXEC -; 228 : (cloexec ? O_CLOEXEC : 0) | -; 229 : #endif -; 230 : (state->mode == GZ_READ ? -; 231 : O_RDONLY : -; 232 : (O_WRONLY | O_CREAT | -; 233 : #ifdef O_EXCL -; 234 : (exclusive ? O_EXCL : 0) | -; 235 : #endif -; 236 : (state->mode == GZ_WRITE ? -; 237 : O_TRUNC : -; 238 : O_APPEND))); -; 239 : -; 240 : /* open the file with the appropriate flags (or just use fd) */ -; 241 : state->fd = fd > -1 ? fd : ( - - 001e3 83 fa ff cmp edx, -1 - 001e6 7f 1f jg SHORT $LN41@gz_open - 001e8 68 b6 01 00 00 push 438 ; 000001b6H - 001ed 50 push eax - 001ee 56 push esi - 001ef 83 fa fe cmp edx, -2 ; fffffffeH - 001f2 75 08 jne SHORT $LN40@gz_open - 001f4 ff 15 00 00 00 - 00 call DWORD PTR __imp___wopen - 001fa eb 06 jmp SHORT $LN53@gz_open -$LN40@gz_open: - 001fc ff 15 00 00 00 - 00 call DWORD PTR __imp___open -$LN53@gz_open: - 00202 8b d0 mov edx, eax - 00204 83 c4 0c add esp, 12 ; 0000000cH -$LN41@gz_open: - 00207 89 57 14 mov DWORD PTR [edi+20], edx - -; 242 : #ifdef _WIN32 -; 243 : fd == -2 ? _wopen(path, oflag, 0666) : -; 244 : #endif -; 245 : open((const char *)path, oflag, 0666)); -; 246 : if (state->fd == -1) { - - 0020a 83 fa ff cmp edx, -1 - 0020d 75 1a jne SHORT $LN33@gz_open - -; 247 : free(state->path); - - 0020f ff 77 18 push DWORD PTR [edi+24] - 00212 8b 35 00 00 00 - 00 mov esi, DWORD PTR __imp__free - 00218 ff d6 call esi - -; 248 : free(state); - - 0021a 57 push edi - 0021b ff d6 call esi - 0021d 83 c4 08 add esp, 8 -$LN54@gz_open: - -; 249 : return NULL; - - 00220 5f pop edi - 00221 5e pop esi - 00222 33 c0 xor eax, eax - 00224 5b pop ebx - -; 265 : } - - 00225 8b e5 mov esp, ebp - 00227 5d pop ebp - 00228 c3 ret 0 -$LN33@gz_open: - -; 250 : } -; 251 : if (state->mode == GZ_APPEND) - - 00229 83 7f 10 01 cmp DWORD PTR [edi+16], 1 - 0022d 75 07 jne SHORT $LN34@gz_open - -; 252 : state->mode = GZ_WRITE; /* simplify later checks */ - - 0022f c7 47 10 b1 79 - 00 00 mov DWORD PTR [edi+16], 31153 ; 000079b1H -$LN34@gz_open: - -; 253 : -; 254 : /* save the current position for rewinding (only if reading) */ -; 255 : if (state->mode == GZ_READ) { - - 00236 81 7f 10 4f 1c - 00 00 cmp DWORD PTR [edi+16], 7247 ; 00001c4fH - 0023d 75 2b jne SHORT $LN36@gz_open - -; 256 : state->start = LSEEK(state->fd, 0, SEEK_CUR); - - 0023f 6a 01 push 1 - 00241 6a 00 push 0 - 00243 6a 00 push 0 - 00245 52 push edx - 00246 ff 15 00 00 00 - 00 call DWORD PTR __imp___lseeki64 - 0024c 89 47 38 mov DWORD PTR [edi+56], eax - 0024f 83 c4 10 add esp, 16 ; 00000010H - -; 257 : if (state->start == -1) state->start = 0; - - 00252 23 c2 and eax, edx - 00254 89 57 3c mov DWORD PTR [edi+60], edx - 00257 83 f8 ff cmp eax, -1 - 0025a 75 0e jne SHORT $LN36@gz_open - 0025c c7 47 38 00 00 - 00 00 mov DWORD PTR [edi+56], 0 - 00263 c7 47 3c 00 00 - 00 00 mov DWORD PTR [edi+60], 0 -$LN36@gz_open: - -; 258 : } -; 259 : -; 260 : /* initialize stream */ -; 261 : gz_reset(state); - - 0026a 8b cf mov ecx, edi - 0026c e8 00 00 00 00 call _gz_reset - -; 262 : -; 263 : /* return stream */ -; 264 : return (gzFile)state; - - 00271 8b c7 mov eax, edi - 00273 5f pop edi - 00274 5e pop esi - 00275 5b pop ebx - -; 265 : } - - 00276 8b e5 mov esp, ebp - 00278 5d pop ebp - 00279 c3 ret 0 - 0027a 66 90 npad 2 -$LN57@gz_open: - 0027c 00 00 00 00 DD $LN55@gz_open - 00280 00 00 00 00 DD $LN19@gz_open - 00284 00 00 00 00 DD $LN18@gz_open - 00288 00 00 00 00 DD $LN20@gz_open - 0028c 00 00 00 00 DD $LN12@gz_open - 00290 00 00 00 00 DD $LN16@gz_open - 00294 00 00 00 00 DD $LN17@gz_open - 00298 00 00 00 00 DD $LN10@gz_open - 0029c 00 00 00 00 DD $LN11@gz_open - 002a0 00 00 00 00 DD $LN15@gz_open - 002a4 00 00 00 00 DD $LN21@gz_open -$LN49@gz_open: - 002a8 00 DB 0 - 002a9 0a DB 10 ; 0000000aH - 002aa 0a DB 10 ; 0000000aH - 002ab 0a DB 10 ; 0000000aH - 002ac 0a DB 10 ; 0000000aH - 002ad 0a DB 10 ; 0000000aH - 002ae 0a DB 10 ; 0000000aH - 002af 0a DB 10 ; 0000000aH - 002b0 0a DB 10 ; 0000000aH - 002b1 0a DB 10 ; 0000000aH - 002b2 0a DB 10 ; 0000000aH - 002b3 0a DB 10 ; 0000000aH - 002b4 0a DB 10 ; 0000000aH - 002b5 0a DB 10 ; 0000000aH - 002b6 0a DB 10 ; 0000000aH - 002b7 0a DB 10 ; 0000000aH - 002b8 0a DB 10 ; 0000000aH - 002b9 0a DB 10 ; 0000000aH - 002ba 0a DB 10 ; 0000000aH - 002bb 0a DB 10 ; 0000000aH - 002bc 0a DB 10 ; 0000000aH - 002bd 0a DB 10 ; 0000000aH - 002be 0a DB 10 ; 0000000aH - 002bf 0a DB 10 ; 0000000aH - 002c0 0a DB 10 ; 0000000aH - 002c1 0a DB 10 ; 0000000aH - 002c2 0a DB 10 ; 0000000aH - 002c3 01 DB 1 - 002c4 0a DB 10 ; 0000000aH - 002c5 0a DB 10 ; 0000000aH - 002c6 0a DB 10 ; 0000000aH - 002c7 0a DB 10 ; 0000000aH - 002c8 0a DB 10 ; 0000000aH - 002c9 0a DB 10 ; 0000000aH - 002ca 0a DB 10 ; 0000000aH - 002cb 0a DB 10 ; 0000000aH - 002cc 0a DB 10 ; 0000000aH - 002cd 0a DB 10 ; 0000000aH - 002ce 0a DB 10 ; 0000000aH - 002cf 02 DB 2 - 002d0 0a DB 10 ; 0000000aH - 002d1 03 DB 3 - 002d2 0a DB 10 ; 0000000aH - 002d3 0a DB 10 ; 0000000aH - 002d4 0a DB 10 ; 0000000aH - 002d5 0a DB 10 ; 0000000aH - 002d6 0a DB 10 ; 0000000aH - 002d7 0a DB 10 ; 0000000aH - 002d8 0a DB 10 ; 0000000aH - 002d9 0a DB 10 ; 0000000aH - 002da 0a DB 10 ; 0000000aH - 002db 0a DB 10 ; 0000000aH - 002dc 0a DB 10 ; 0000000aH - 002dd 0a DB 10 ; 0000000aH - 002de 04 DB 4 - 002df 0a DB 10 ; 0000000aH - 002e0 0a DB 10 ; 0000000aH - 002e1 0a DB 10 ; 0000000aH - 002e2 0a DB 10 ; 0000000aH - 002e3 05 DB 5 - 002e4 0a DB 10 ; 0000000aH - 002e5 06 DB 6 - 002e6 0a DB 10 ; 0000000aH - 002e7 0a DB 10 ; 0000000aH - 002e8 0a DB 10 ; 0000000aH - 002e9 0a DB 10 ; 0000000aH - 002ea 0a DB 10 ; 0000000aH - 002eb 0a DB 10 ; 0000000aH - 002ec 0a DB 10 ; 0000000aH - 002ed 0a DB 10 ; 0000000aH - 002ee 0a DB 10 ; 0000000aH - 002ef 07 DB 7 - 002f0 0a DB 10 ; 0000000aH - 002f1 0a DB 10 ; 0000000aH - 002f2 0a DB 10 ; 0000000aH - 002f3 0a DB 10 ; 0000000aH - 002f4 08 DB 8 - 002f5 09 DB 9 -_gz_open ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzopen@8 -_TEXT SEGMENT -_path$ = 8 ; size = 4 -_mode$ = 12 ; size = 4 -_gzopen@8 PROC ; COMDAT - -; 271 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 272 : return gz_open(path, -1, mode); - - 00003 ff 75 0c push DWORD PTR _mode$[ebp] - 00006 8b 4d 08 mov ecx, DWORD PTR _path$[ebp] - 00009 83 ca ff or edx, -1 - 0000c e8 00 00 00 00 call _gz_open - 00011 83 c4 04 add esp, 4 - -; 273 : } - - 00014 5d pop ebp - 00015 c2 08 00 ret 8 -_gzopen@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzdopen@8 -_TEXT SEGMENT -_fd$ = 8 ; size = 4 -_mode$ = 12 ; size = 4 -_gzdopen@8 PROC ; COMDAT - -; 287 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 288 : char *path; /* identifier for error messages */ -; 289 : gzFile gz; -; 290 : -; 291 : if (fd == -1 || (path = (char *)malloc(7 + 3 * sizeof(int))) == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _fd$[ebp] - 00007 57 push edi - 00008 83 fe ff cmp esi, -1 - 0000b 74 3f je SHORT $LN3@gzdopen - 0000d 6a 13 push 19 ; 00000013H - 0000f ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00015 8b f8 mov edi, eax - 00017 83 c4 04 add esp, 4 - 0001a 85 ff test edi, edi - 0001c 74 2e je SHORT $LN3@gzdopen - -; 293 : #if !defined(NO_snprintf) && !defined(NO_vsnprintf) -; 294 : snprintf(path, 7 + 3 * sizeof(int), "", fd); /* for debugging */ - - 0001e 56 push esi - 0001f 68 00 00 00 00 push OFFSET ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ - 00024 6a 13 push 19 ; 00000013H - 00026 57 push edi - 00027 e8 00 00 00 00 call __snprintf - -; 295 : #else -; 296 : sprintf(path, "", fd); /* for debugging */ -; 297 : #endif -; 298 : gz = gz_open(path, fd, mode); - - 0002c ff 75 0c push DWORD PTR _mode$[ebp] - 0002f 8b d6 mov edx, esi - 00031 8b cf mov ecx, edi - 00033 e8 00 00 00 00 call _gz_open - -; 299 : free(path); - - 00038 57 push edi - 00039 8b f0 mov esi, eax - 0003b ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 00041 83 c4 18 add esp, 24 ; 00000018H - -; 300 : return gz; - - 00044 8b c6 mov eax, esi - 00046 5f pop edi - 00047 5e pop esi - -; 301 : } - - 00048 5d pop ebp - 00049 c2 08 00 ret 8 -$LN3@gzdopen: - 0004c 5f pop edi - -; 292 : return NULL; - - 0004d 33 c0 xor eax, eax - 0004f 5e pop esi - -; 301 : } - - 00050 5d pop ebp - 00051 c2 08 00 ret 8 -_gzdopen@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzopen_w@8 -_TEXT SEGMENT -_path$ = 8 ; size = 4 -_mode$ = 12 ; size = 4 -_gzopen_w@8 PROC ; COMDAT - -; 308 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 309 : return gz_open(path, -2, mode); - - 00003 ff 75 0c push DWORD PTR _mode$[ebp] - 00006 8b 4d 08 mov ecx, DWORD PTR _path$[ebp] - 00009 ba fe ff ff ff mov edx, -2 ; fffffffeH - 0000e e8 00 00 00 00 call _gz_open - 00013 83 c4 04 add esp, 4 - -; 310 : } - - 00016 5d pop ebp - 00017 c2 08 00 ret 8 -_gzopen_w@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzbuffer@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_size$ = 12 ; size = 4 -_gzbuffer@8 PROC ; COMDAT - -; 317 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 318 : gz_statep state; -; 319 : -; 320 : /* get internal structure and check integrity */ -; 321 : if (file == NULL) - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 85 c9 test ecx, ecx - 00008 75 07 jne SHORT $LN2@gzbuffer -$LN7@gzbuffer: - -; 322 : return -1; - - 0000a 83 c8 ff or eax, -1 - -; 336 : } - - 0000d 5d pop ebp - 0000e c2 08 00 ret 8 -$LN2@gzbuffer: - -; 323 : state = (gz_statep)file; -; 324 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 00011 8b 41 10 mov eax, DWORD PTR [ecx+16] - 00014 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00019 74 07 je SHORT $LN3@gzbuffer - 0001b 3d b1 79 00 00 cmp eax, 31153 ; 000079b1H - 00020 75 e8 jne SHORT $LN7@gzbuffer -$LN3@gzbuffer: - -; 325 : return -1; -; 326 : -; 327 : /* make sure we haven't already allocated memory */ -; 328 : if (state->size != 0) - - 00022 83 79 1c 00 cmp DWORD PTR [ecx+28], 0 - 00026 75 e2 jne SHORT $LN7@gzbuffer - -; 329 : return -1; -; 330 : -; 331 : /* check and set requested size */ -; 332 : if (size < 2) - - 00028 8b 45 0c mov eax, DWORD PTR _size$[ebp] - 0002b ba 02 00 00 00 mov edx, 2 - 00030 3b c2 cmp eax, edx - 00032 0f 42 c2 cmovb eax, edx - -; 333 : size = 2; /* need two bytes to check magic header */ -; 334 : state->want = size; - - 00035 89 41 20 mov DWORD PTR [ecx+32], eax - -; 335 : return 0; - - 00038 33 c0 xor eax, eax - -; 336 : } - - 0003a 5d pop ebp - 0003b c2 08 00 ret 8 -_gzbuffer@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzrewind@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzrewind@4 PROC ; COMDAT - -; 341 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 51 push ecx - 00007 56 push esi - -; 342 : gz_statep state; -; 343 : -; 344 : /* get internal structure */ -; 345 : if (file == NULL) - - 00008 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 0000b 85 f6 test esi, esi - 0000d 74 40 je SHORT $LN4@gzrewind - -; 346 : return -1; -; 347 : state = (gz_statep)file; -; 348 : -; 349 : /* check that we're reading and that there's no error */ -; 350 : if (state->mode != GZ_READ || - - 0000f 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 00016 75 37 jne SHORT $LN4@gzrewind - 00018 8b 46 5c mov eax, DWORD PTR [esi+92] - 0001b 85 c0 test eax, eax - 0001d 74 05 je SHORT $LN3@gzrewind - 0001f 83 f8 fb cmp eax, -5 ; fffffffbH - 00022 75 2b jne SHORT $LN4@gzrewind -$LN3@gzrewind: - -; 353 : -; 354 : /* back up and start over */ -; 355 : if (LSEEK(state->fd, state->start, SEEK_SET) == -1) - - 00024 6a 00 push 0 - 00026 ff 76 3c push DWORD PTR [esi+60] - 00029 ff 76 38 push DWORD PTR [esi+56] - 0002c ff 76 14 push DWORD PTR [esi+20] - 0002f ff 15 00 00 00 - 00 call DWORD PTR __imp___lseeki64 - 00035 23 c2 and eax, edx - 00037 83 c4 10 add esp, 16 ; 00000010H - 0003a 83 f8 ff cmp eax, -1 - 0003d 74 10 je SHORT $LN4@gzrewind - -; 356 : return -1; -; 357 : gz_reset(state); - - 0003f 8b ce mov ecx, esi - 00041 e8 00 00 00 00 call _gz_reset - -; 358 : return 0; - - 00046 33 c0 xor eax, eax - -; 359 : } - - 00048 5e pop esi - 00049 8b e5 mov esp, ebp - 0004b 5d pop ebp - 0004c c2 04 00 ret 4 -$LN4@gzrewind: - -; 351 : (state->err != Z_OK && state->err != Z_BUF_ERROR)) -; 352 : return -1; - - 0004f 83 c8 ff or eax, -1 - -; 359 : } - - 00052 5e pop esi - 00053 8b e5 mov esp, ebp - 00055 5d pop ebp - 00056 c2 04 00 ret 4 -_gzrewind@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzseek64@16 -_TEXT SEGMENT -tv405 = 8 ; size = 8 -_offset$ = 8 ; size = 8 -_gzseek64@16 PROC ; COMDAT -; _file$ = ecx -; _whence$ = edx - -; 366 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 8b f1 mov esi, ecx - 00008 57 push edi - -; 367 : unsigned n; -; 368 : z_off64_t ret; -; 369 : gz_statep state; -; 370 : -; 371 : /* get internal structure and check integrity */ -; 372 : if (file == NULL) - - 00009 85 f6 test esi, esi - 0000b 75 0d jne SHORT $LN2@gzseek64 -$LN26@gzseek64: - -; 373 : return -1; - - 0000d 83 c8 ff or eax, -1 - 00010 0b d0 or edx, eax - -; 436 : } - - 00012 5f pop edi - 00013 5e pop esi - 00014 5b pop ebx - 00015 59 pop ecx - 00016 5d pop ebp - 00017 c2 08 00 ret 8 -$LN2@gzseek64: - -; 374 : state = (gz_statep)file; -; 375 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 0001a 8b 4e 10 mov ecx, DWORD PTR [esi+16] - 0001d 81 f9 4f 1c 00 - 00 cmp ecx, 7247 ; 00001c4fH - 00023 74 08 je SHORT $LN3@gzseek64 - 00025 81 f9 b1 79 00 - 00 cmp ecx, 31153 ; 000079b1H - 0002b 75 e0 jne SHORT $LN26@gzseek64 -$LN3@gzseek64: - -; 376 : return -1; -; 377 : -; 378 : /* check that there's no error */ -; 379 : if (state->err != Z_OK && state->err != Z_BUF_ERROR) - - 0002d 8b 46 5c mov eax, DWORD PTR [esi+92] - 00030 85 c0 test eax, eax - 00032 74 05 je SHORT $LN4@gzseek64 - 00034 83 f8 fb cmp eax, -5 ; fffffffbH - 00037 75 d4 jne SHORT $LN26@gzseek64 -$LN4@gzseek64: - -; 380 : return -1; -; 381 : -; 382 : /* can only seek from start or relative to current position */ -; 383 : if (whence != SEEK_SET && whence != SEEK_CUR) - - 00039 85 d2 test edx, edx - 0003b 74 19 je SHORT $LN20@gzseek64 - 0003d 83 fa 01 cmp edx, 1 - 00040 75 cb jne SHORT $LN26@gzseek64 - -; 389 : else if (state->seek) - - 00042 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - -; 390 : offset += state->skip; - - 00046 8b 7d 08 mov edi, DWORD PTR _offset$[ebp] - 00049 8b 5d 0c mov ebx, DWORD PTR _offset$[ebp+4] - 0004c 74 14 je SHORT $LN8@gzseek64 - 0004e 03 7e 50 add edi, DWORD PTR [esi+80] - 00051 13 5e 54 adc ebx, DWORD PTR [esi+84] - 00054 eb 0c jmp SHORT $LN8@gzseek64 -$LN20@gzseek64: - -; 384 : return -1; -; 385 : -; 386 : /* normalize offset to a SEEK_CUR specification */ -; 387 : if (whence == SEEK_SET) -; 388 : offset -= state->x.pos; - - 00056 8b 7d 08 mov edi, DWORD PTR _offset$[ebp] - 00059 2b 7e 08 sub edi, DWORD PTR [esi+8] - 0005c 8b 5d 0c mov ebx, DWORD PTR _offset$[ebp+4] - 0005f 1b 5e 0c sbb ebx, DWORD PTR [esi+12] -$LN8@gzseek64: - -; 391 : state->seek = 0; - - 00062 c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - -; 392 : -; 393 : /* if within raw area while reading, just go there */ -; 394 : if (state->mode == GZ_READ && state->how == COPY && - - 00069 81 f9 4f 1c 00 - 00 cmp ecx, 7247 ; 00001c4fH - 0006f 0f 85 83 00 00 - 00 jne $LN9@gzseek64 - 00075 83 7e 30 01 cmp DWORD PTR [esi+48], 1 - 00079 75 7d jne SHORT $LN9@gzseek64 - 0007b 8b d7 mov edx, edi - 0007d 8b c3 mov eax, ebx - 0007f 03 56 08 add edx, DWORD PTR [esi+8] - 00082 13 46 0c adc eax, DWORD PTR [esi+12] - 00085 89 45 0c mov DWORD PTR tv405[ebp+4], eax - 00088 78 6e js SHORT $LN9@gzseek64 - 0008a 7f 04 jg SHORT $LN21@gzseek64 - 0008c 85 d2 test edx, edx - 0008e 72 68 jb SHORT $LN9@gzseek64 -$LN21@gzseek64: - -; 395 : state->x.pos + offset >= 0) { -; 396 : ret = LSEEK(state->fd, offset - state->x.have, SEEK_CUR); - - 00090 8b cf mov ecx, edi - 00092 8b c3 mov eax, ebx - 00094 2b 0e sub ecx, DWORD PTR [esi] - 00096 6a 01 push 1 - 00098 83 d8 00 sbb eax, 0 - 0009b 50 push eax - 0009c 51 push ecx - 0009d ff 76 14 push DWORD PTR [esi+20] - 000a0 ff 15 00 00 00 - 00 call DWORD PTR __imp___lseeki64 - -; 397 : if (ret == -1) - - 000a6 23 c2 and eax, edx - 000a8 83 c4 10 add esp, 16 ; 00000010H - 000ab 83 f8 ff cmp eax, -1 - 000ae 0f 84 59 ff ff - ff je $LN26@gzseek64 - -; 398 : return -1; -; 399 : state->x.have = 0; -; 400 : state->eof = 0; -; 401 : state->past = 0; -; 402 : state->seek = 0; -; 403 : gz_error(state, Z_OK, NULL); - - 000b4 6a 00 push 0 - 000b6 33 d2 xor edx, edx - 000b8 c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 - 000be 8b ce mov ecx, esi - 000c0 c7 46 40 00 00 - 00 00 mov DWORD PTR [esi+64], 0 - 000c7 c7 46 44 00 00 - 00 00 mov DWORD PTR [esi+68], 0 - 000ce c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 000d5 e8 00 00 00 00 call _gz_error - 000da 83 c4 04 add esp, 4 - -; 404 : state->strm.avail_in = 0; - - 000dd c7 46 68 00 00 - 00 00 mov DWORD PTR [esi+104], 0 - -; 405 : state->x.pos += offset; - - 000e4 01 7e 08 add DWORD PTR [esi+8], edi - -; 406 : return state->x.pos; - - 000e7 8b 46 08 mov eax, DWORD PTR [esi+8] - 000ea 11 5e 0c adc DWORD PTR [esi+12], ebx - 000ed 8b 56 0c mov edx, DWORD PTR [esi+12] - -; 436 : } - - 000f0 5f pop edi - 000f1 5e pop esi - 000f2 5b pop ebx - 000f3 59 pop ecx - 000f4 5d pop ebp - 000f5 c2 08 00 ret 8 -$LN9@gzseek64: - -; 407 : } -; 408 : -; 409 : /* calculate skip amount, rewinding if needed for back seek when reading */ -; 410 : if (offset < 0) { - - 000f8 85 db test ebx, ebx - 000fa 7f 39 jg SHORT $LN14@gzseek64 - 000fc 7c 04 jl SHORT $LN22@gzseek64 - 000fe 85 ff test edi, edi - 00100 73 33 jae SHORT $LN14@gzseek64 -$LN22@gzseek64: - -; 411 : if (state->mode != GZ_READ) /* writing -- can't go backwards */ - - 00102 81 f9 4f 1c 00 - 00 cmp ecx, 7247 ; 00001c4fH - 00108 0f 85 ff fe ff - ff jne $LN26@gzseek64 - -; 412 : return -1; -; 413 : offset += state->x.pos; - - 0010e 03 7e 08 add edi, DWORD PTR [esi+8] - 00111 13 5e 0c adc ebx, DWORD PTR [esi+12] - -; 414 : if (offset < 0) /* before start of file! */ - - 00114 85 db test ebx, ebx - 00116 7f 0e jg SHORT $LN13@gzseek64 - 00118 0f 8c ef fe ff - ff jl $LN26@gzseek64 - 0011e 85 ff test edi, edi - 00120 0f 82 e7 fe ff - ff jb $LN26@gzseek64 -$LN13@gzseek64: - -; 415 : return -1; -; 416 : if (gzrewind(file) == -1) /* rewind, then skip to offset */ - - 00126 56 push esi - 00127 e8 00 00 00 00 call _gzrewind@4 - 0012c 83 f8 ff cmp eax, -1 - 0012f 0f 84 d8 fe ff - ff je $LN26@gzseek64 -$LN14@gzseek64: - -; 417 : return -1; -; 418 : } -; 419 : -; 420 : /* if reading, skip what's in output buffer (one less gzgetc() check) */ -; 421 : if (state->mode == GZ_READ) { - - 00135 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 0013c 75 27 jne SHORT $LN15@gzseek64 - -; 422 : n = GT_OFF(state->x.have) || (z_off64_t)state->x.have > offset ? - - 0013e 8b 06 mov eax, DWORD PTR [esi] - 00140 33 c9 xor ecx, ecx - 00142 3b cb cmp ecx, ebx - 00144 7f 0a jg SHORT $LN18@gzseek64 - 00146 7c 04 jl SHORT $LN24@gzseek64 - 00148 3b c7 cmp eax, edi - 0014a 77 04 ja SHORT $LN18@gzseek64 -$LN24@gzseek64: - 0014c 8b c8 mov ecx, eax - 0014e eb 02 jmp SHORT $LN19@gzseek64 -$LN18@gzseek64: - 00150 8b cf mov ecx, edi -$LN19@gzseek64: - -; 423 : (unsigned)offset : state->x.have; -; 424 : state->x.have -= n; -; 425 : state->x.next += n; - - 00152 01 4e 04 add DWORD PTR [esi+4], ecx - 00155 2b c1 sub eax, ecx - -; 426 : state->x.pos += n; - - 00157 01 4e 08 add DWORD PTR [esi+8], ecx - 0015a 89 06 mov DWORD PTR [esi], eax - 0015c 83 56 0c 00 adc DWORD PTR [esi+12], 0 - -; 427 : offset -= n; - - 00160 2b f9 sub edi, ecx - 00162 83 db 00 sbb ebx, 0 -$LN15@gzseek64: - -; 428 : } -; 429 : -; 430 : /* request skip (if not zero) */ -; 431 : if (offset) { - - 00165 8b c7 mov eax, edi - 00167 0b c3 or eax, ebx - 00169 74 0d je SHORT $LN16@gzseek64 - -; 432 : state->seek = 1; - - 0016b c7 46 58 01 00 - 00 00 mov DWORD PTR [esi+88], 1 - -; 433 : state->skip = offset; - - 00172 89 7e 50 mov DWORD PTR [esi+80], edi - 00175 89 5e 54 mov DWORD PTR [esi+84], ebx -$LN16@gzseek64: - -; 434 : } -; 435 : return state->x.pos + offset; - - 00178 8b 46 08 mov eax, DWORD PTR [esi+8] - 0017b 8b 56 0c mov edx, DWORD PTR [esi+12] - 0017e 03 c7 add eax, edi - -; 436 : } - - 00180 5f pop edi - 00181 5e pop esi - 00182 13 d3 adc edx, ebx - 00184 5b pop ebx - 00185 59 pop ecx - 00186 5d pop ebp - 00187 c2 08 00 ret 8 -_gzseek64@16 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzseek@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_offset$ = 12 ; size = 4 -_whence$ = 16 ; size = 4 -_gzseek@12 PROC ; COMDAT - -; 443 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 51 push ecx - -; 444 : z_off64_t ret; -; 445 : -; 446 : ret = gzseek64(file, (z_off64_t)offset, whence); - - 00007 8b 45 0c mov eax, DWORD PTR _offset$[ebp] - 0000a 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 0000d 99 cdq - 0000e 56 push esi - 0000f 52 push edx - 00010 8b 55 10 mov edx, DWORD PTR _whence$[ebp] - 00013 50 push eax - 00014 e8 00 00 00 00 call _gzseek64@16 - 00019 8b c8 mov ecx, eax - 0001b 8b f2 mov esi, edx - -; 447 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 0001d 99 cdq - 0001e 3b c8 cmp ecx, eax - 00020 75 0d jne SHORT $LN3@gzseek - 00022 3b f2 cmp esi, edx - 00024 75 09 jne SHORT $LN3@gzseek - 00026 8b c1 mov eax, ecx - -; 448 : } - - 00028 5e pop esi - 00029 8b e5 mov esp, ebp - 0002b 5d pop ebp - 0002c c2 0c 00 ret 12 ; 0000000cH -$LN3@gzseek: - -; 447 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 0002f 83 c8 ff or eax, -1 - -; 448 : } - - 00032 5e pop esi - 00033 8b e5 mov esp, ebp - 00035 5d pop ebp - 00036 c2 0c 00 ret 12 ; 0000000cH -_gzseek@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gztell64@4 -_TEXT SEGMENT -tv73 = -8 ; size = 8 -_gztell64@4 PROC ; COMDAT -; _file$ = ecx - -; 453 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - -; 454 : gz_statep state; -; 455 : -; 456 : /* get internal structure and check integrity */ -; 457 : if (file == NULL) - - 00006 85 c9 test ecx, ecx - 00008 75 09 jne SHORT $LN2@gztell64 -$LN7@gztell64: - -; 458 : return -1; - - 0000a 83 c8 ff or eax, -1 - 0000d 0b d0 or edx, eax - -; 465 : } - - 0000f 8b e5 mov esp, ebp - 00011 5d pop ebp - 00012 c3 ret 0 -$LN2@gztell64: - -; 459 : state = (gz_statep)file; -; 460 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 00013 8b 41 10 mov eax, DWORD PTR [ecx+16] - 00016 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 0001b 74 07 je SHORT $LN3@gztell64 - 0001d 3d b1 79 00 00 cmp eax, 31153 ; 000079b1H - 00022 75 e6 jne SHORT $LN7@gztell64 -$LN3@gztell64: - -; 461 : return -1; -; 462 : -; 463 : /* return position */ -; 464 : return state->x.pos + (state->seek ? state->skip : 0); - - 00024 83 79 58 00 cmp DWORD PTR [ecx+88], 0 - 00028 56 push esi - 00029 74 15 je SHORT $LN5@gztell64 - 0002b 8b 51 50 mov edx, DWORD PTR [ecx+80] - 0002e 8b 41 08 mov eax, DWORD PTR [ecx+8] - 00031 8b 71 54 mov esi, DWORD PTR [ecx+84] - 00034 03 c2 add eax, edx - 00036 8b 51 0c mov edx, DWORD PTR [ecx+12] - 00039 13 d6 adc edx, esi - 0003b 5e pop esi - -; 465 : } - - 0003c 8b e5 mov esp, ebp - 0003e 5d pop ebp - 0003f c3 ret 0 -$LN5@gztell64: - -; 461 : return -1; -; 462 : -; 463 : /* return position */ -; 464 : return state->x.pos + (state->seek ? state->skip : 0); - - 00040 8b 41 08 mov eax, DWORD PTR [ecx+8] - 00043 0f 57 c0 xorps xmm0, xmm0 - 00046 66 0f 13 45 f8 movlpd QWORD PTR tv73[ebp], xmm0 - 0004b 8b 55 f8 mov edx, DWORD PTR tv73[ebp] - 0004e 03 c2 add eax, edx - 00050 8b 75 fc mov esi, DWORD PTR tv73[ebp+4] - 00053 8b 51 0c mov edx, DWORD PTR [ecx+12] - 00056 13 d6 adc edx, esi - 00058 5e pop esi - -; 465 : } - - 00059 8b e5 mov esp, ebp - 0005b 5d pop ebp - 0005c c3 ret 0 -_gztell64@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gztell@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gztell@4 PROC ; COMDAT - -; 470 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 471 : z_off64_t ret; -; 472 : -; 473 : ret = gztell64(file); - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 56 push esi - 00007 e8 00 00 00 00 call _gztell64@4 - 0000c 8b c8 mov ecx, eax - 0000e 8b f2 mov esi, edx - -; 474 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 00010 99 cdq - 00011 3b c8 cmp ecx, eax - 00013 75 0b jne SHORT $LN3@gztell - 00015 3b f2 cmp esi, edx - 00017 75 07 jne SHORT $LN3@gztell - 00019 8b c1 mov eax, ecx - 0001b 5e pop esi - -; 475 : } - - 0001c 5d pop ebp - 0001d c2 04 00 ret 4 -$LN3@gztell: - -; 474 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 00020 83 c8 ff or eax, -1 - 00023 5e pop esi - -; 475 : } - - 00024 5d pop ebp - 00025 c2 04 00 ret 4 -_gztell@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzoffset64@4 -_TEXT SEGMENT -_gzoffset64@4 PROC ; COMDAT -; _file$ = ecx - -; 480 : { - - 00000 56 push esi - 00001 8b f1 mov esi, ecx - -; 481 : z_off64_t offset; -; 482 : gz_statep state; -; 483 : -; 484 : /* get internal structure and check integrity */ -; 485 : if (file == NULL) - - 00003 85 f6 test esi, esi - 00005 75 07 jne SHORT $LN2@gzoffset64 -$LN7@gzoffset64: - -; 486 : return -1; - - 00007 83 c8 ff or eax, -1 - 0000a 0b d0 or edx, eax - -; 497 : return offset; -; 498 : } - - 0000c 5e pop esi - 0000d c3 ret 0 -$LN2@gzoffset64: - -; 487 : state = (gz_statep)file; -; 488 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 0000e 8b 46 10 mov eax, DWORD PTR [esi+16] - 00011 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00016 74 07 je SHORT $LN3@gzoffset64 - 00018 3d b1 79 00 00 cmp eax, 31153 ; 000079b1H - 0001d 75 e8 jne SHORT $LN7@gzoffset64 -$LN3@gzoffset64: - -; 489 : return -1; -; 490 : -; 491 : /* compute and return effective offset in file */ -; 492 : offset = LSEEK(state->fd, 0, SEEK_CUR); - - 0001f 6a 01 push 1 - 00021 6a 00 push 0 - 00023 6a 00 push 0 - 00025 ff 76 14 push DWORD PTR [esi+20] - 00028 ff 15 00 00 00 - 00 call DWORD PTR __imp___lseeki64 - -; 493 : if (offset == -1) - - 0002e 8b c8 mov ecx, eax - 00030 83 c4 10 add esp, 16 ; 00000010H - 00033 23 ca and ecx, edx - 00035 83 f9 ff cmp ecx, -1 - 00038 74 cd je SHORT $LN7@gzoffset64 - -; 494 : return -1; -; 495 : if (state->mode == GZ_READ) /* reading */ - - 0003a 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 00041 75 06 jne SHORT $LN1@gzoffset64 - -; 496 : offset -= state->strm.avail_in; /* don't count buffered input */ - - 00043 2b 46 68 sub eax, DWORD PTR [esi+104] - 00046 83 da 00 sbb edx, 0 -$LN1@gzoffset64: - -; 497 : return offset; -; 498 : } - - 00049 5e pop esi - 0004a c3 ret 0 -_gzoffset64@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzoffset@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzoffset@4 PROC ; COMDAT - -; 503 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 51 push ecx - -; 504 : z_off64_t ret; -; 505 : -; 506 : ret = gzoffset64(file); - - 00007 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 0000a 56 push esi - 0000b e8 00 00 00 00 call _gzoffset64@4 - 00010 8b c8 mov ecx, eax - 00012 8b f2 mov esi, edx - -; 507 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 00014 99 cdq - 00015 3b c8 cmp ecx, eax - 00017 75 0d jne SHORT $LN3@gzoffset - 00019 3b f2 cmp esi, edx - 0001b 75 09 jne SHORT $LN3@gzoffset - 0001d 8b c1 mov eax, ecx - -; 508 : } - - 0001f 5e pop esi - 00020 8b e5 mov esp, ebp - 00022 5d pop ebp - 00023 c2 04 00 ret 4 -$LN3@gzoffset: - -; 507 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 00026 83 c8 ff or eax, -1 - -; 508 : } - - 00029 5e pop esi - 0002a 8b e5 mov esp, ebp - 0002c 5d pop ebp - 0002d c2 04 00 ret 4 -_gzoffset@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzeof@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzeof@4 PROC ; COMDAT - -; 513 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 514 : gz_statep state; -; 515 : -; 516 : /* get internal structure and check integrity */ -; 517 : if (file == NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 74 22 je SHORT $LN5@gzeof - -; 518 : return 0; -; 519 : state = (gz_statep)file; -; 520 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 0000a 8b 48 10 mov ecx, DWORD PTR [eax+16] - 0000d 81 f9 4f 1c 00 - 00 cmp ecx, 7247 ; 00001c4fH - 00013 74 10 je SHORT $LN8@gzeof - 00015 81 f9 b1 79 00 - 00 cmp ecx, 31153 ; 000079b1H - 0001b 75 0f jne SHORT $LN5@gzeof - -; 521 : return 0; -; 522 : -; 523 : /* return end-of-file state */ -; 524 : return state->mode == GZ_READ ? state->past : 0; - - 0001d 81 f9 4f 1c 00 - 00 cmp ecx, 7247 ; 00001c4fH - 00023 75 07 jne SHORT $LN5@gzeof -$LN8@gzeof: - 00025 8b 40 44 mov eax, DWORD PTR [eax+68] - -; 525 : } - - 00028 5d pop ebp - 00029 c2 04 00 ret 4 -$LN5@gzeof: - -; 521 : return 0; -; 522 : -; 523 : /* return end-of-file state */ -; 524 : return state->mode == GZ_READ ? state->past : 0; - - 0002c 33 c0 xor eax, eax - -; 525 : } - - 0002e 5d pop ebp - 0002f c2 04 00 ret 4 -_gzeof@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzerror@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_errnum$ = 12 ; size = 4 -_gzerror@8 PROC ; COMDAT - -; 531 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 532 : gz_statep state; -; 533 : -; 534 : /* get internal structure and check integrity */ -; 535 : if (file == NULL) - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 85 c9 test ecx, ecx - 00008 75 06 jne SHORT $LN2@gzerror -$LN10@gzerror: - -; 536 : return NULL; - - 0000a 33 c0 xor eax, eax - -; 545 : (state->msg == NULL ? "" : state->msg); -; 546 : } - - 0000c 5d pop ebp - 0000d c2 08 00 ret 8 -$LN2@gzerror: - -; 537 : state = (gz_statep)file; -; 538 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 00010 8b 41 10 mov eax, DWORD PTR [ecx+16] - 00013 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00018 74 07 je SHORT $LN3@gzerror - 0001a 3d b1 79 00 00 cmp eax, 31153 ; 000079b1H - 0001f 75 e9 jne SHORT $LN10@gzerror -$LN3@gzerror: - -; 539 : return NULL; -; 540 : -; 541 : /* return error information */ -; 542 : if (errnum != NULL) - - 00021 8b 55 0c mov edx, DWORD PTR _errnum$[ebp] - 00024 85 d2 test edx, edx - 00026 74 05 je SHORT $LN4@gzerror - -; 543 : *errnum = state->err; - - 00028 8b 41 5c mov eax, DWORD PTR [ecx+92] - 0002b 89 02 mov DWORD PTR [edx], eax -$LN4@gzerror: - -; 544 : return state->err == Z_MEM_ERROR ? "out of memory" : - - 0002d 83 79 5c fc cmp DWORD PTR [ecx+92], -4 ; fffffffcH - 00031 75 09 jne SHORT $LN8@gzerror - 00033 b8 00 00 00 00 mov eax, OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - -; 545 : (state->msg == NULL ? "" : state->msg); -; 546 : } - - 00038 5d pop ebp - 00039 c2 08 00 ret 8 -$LN8@gzerror: - -; 544 : return state->err == Z_MEM_ERROR ? "out of memory" : - - 0003c 8b 49 60 mov ecx, DWORD PTR [ecx+96] - 0003f b8 00 00 00 00 mov eax, OFFSET ??_C@_00CNPNBAHC@?$AA@ - 00044 85 c9 test ecx, ecx - 00046 0f 45 c1 cmovne eax, ecx - -; 545 : (state->msg == NULL ? "" : state->msg); -; 546 : } - - 00049 5d pop ebp - 0004a c2 08 00 ret 8 -_gzerror@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gzclearerr@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzclearerr@4 PROC ; COMDAT - -; 551 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 552 : gz_statep state; -; 553 : -; 554 : /* get internal structure and check integrity */ -; 555 : if (file == NULL) - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 85 c9 test ecx, ecx - 00008 74 32 je SHORT $LN1@gzclearerr - -; 556 : return; -; 557 : state = (gz_statep)file; -; 558 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 0000a 8b 41 10 mov eax, DWORD PTR [ecx+16] - 0000d 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00012 74 0e je SHORT $LN7@gzclearerr - 00014 3d b1 79 00 00 cmp eax, 31153 ; 000079b1H - 00019 75 21 jne SHORT $LN1@gzclearerr - -; 559 : return; -; 560 : -; 561 : /* clear error and end-of-file */ -; 562 : if (state->mode == GZ_READ) { - - 0001b 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00020 75 0e jne SHORT $LN4@gzclearerr -$LN7@gzclearerr: - -; 563 : state->eof = 0; - - 00022 c7 41 40 00 00 - 00 00 mov DWORD PTR [ecx+64], 0 - -; 564 : state->past = 0; - - 00029 c7 41 44 00 00 - 00 00 mov DWORD PTR [ecx+68], 0 -$LN4@gzclearerr: - -; 565 : } -; 566 : gz_error(state, Z_OK, NULL); - - 00030 6a 00 push 0 - 00032 33 d2 xor edx, edx - 00034 e8 00 00 00 00 call _gz_error - 00039 83 c4 04 add esp, 4 -$LN1@gzclearerr: - -; 567 : } - - 0003c 5d pop ebp - 0003d c2 04 00 ret 4 -_gzclearerr@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzlib.c -; COMDAT _gz_error -_TEXT SEGMENT -tv144 = 8 ; size = 4 -_msg$ = 8 ; size = 4 -_gz_error PROC ; COMDAT -; _state$ = ecx -; _err$ = edx - -; 579 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - 00005 8b f1 mov esi, ecx - 00007 57 push edi - 00008 8b fa mov edi, edx - -; 580 : /* free previously allocated message and clear */ -; 581 : if (state->msg != NULL) { - - 0000a 8b 46 60 mov eax, DWORD PTR [esi+96] - 0000d 85 c0 test eax, eax - 0000f 74 17 je SHORT $LN2@gz_error - -; 582 : if (state->err != Z_MEM_ERROR) - - 00011 83 7e 5c fc cmp DWORD PTR [esi+92], -4 ; fffffffcH - 00015 74 0a je SHORT $LN3@gz_error - -; 583 : free(state->msg); - - 00017 50 push eax - 00018 ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 0001e 83 c4 04 add esp, 4 -$LN3@gz_error: - -; 584 : state->msg = NULL; - - 00021 c7 46 60 00 00 - 00 00 mov DWORD PTR [esi+96], 0 -$LN2@gz_error: - -; 585 : } -; 586 : -; 587 : /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */ -; 588 : if (err != Z_OK && err != Z_BUF_ERROR) - - 00028 85 ff test edi, edi - 0002a 74 0b je SHORT $LN4@gz_error - 0002c 83 ff fb cmp edi, -5 ; fffffffbH - 0002f 74 06 je SHORT $LN4@gz_error - -; 589 : state->x.have = 0; - - 00031 c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 -$LN4@gz_error: - -; 590 : -; 591 : /* set error code, and if no message, then done */ -; 592 : state->err = err; -; 593 : if (msg == NULL) - - 00037 8b 5d 08 mov ebx, DWORD PTR _msg$[ebp] - 0003a 89 7e 5c mov DWORD PTR [esi+92], edi - 0003d 85 db test ebx, ebx - 0003f 0f 84 87 00 00 - 00 je $LN1@gz_error - -; 594 : return; -; 595 : -; 596 : /* for an out of memory error, return literal string when requested */ -; 597 : if (err == Z_MEM_ERROR) - - 00045 83 ff fc cmp edi, -4 ; fffffffcH - 00048 0f 84 7e 00 00 - 00 je $LN1@gz_error - -; 598 : return; -; 599 : -; 600 : /* construct error message with path */ -; 601 : if ((state->msg = (char *)malloc(strlen(state->path) + strlen(msg) + 3)) == - - 0004e 8b 4e 18 mov ecx, DWORD PTR [esi+24] - 00051 8d 51 01 lea edx, DWORD PTR [ecx+1] -$LL9@gz_error: - 00054 8a 01 mov al, BYTE PTR [ecx] - 00056 41 inc ecx - 00057 84 c0 test al, al - 00059 75 f9 jne SHORT $LL9@gz_error - 0005b 2b ca sub ecx, edx - 0005d 8b d3 mov edx, ebx - 0005f 8d 7a 01 lea edi, DWORD PTR [edx+1] -$LL10@gz_error: - 00062 8a 02 mov al, BYTE PTR [edx] - 00064 42 inc edx - 00065 84 c0 test al, al - 00067 75 f9 jne SHORT $LL10@gz_error - 00069 2b d7 sub edx, edi - 0006b 8d 41 03 lea eax, DWORD PTR [ecx+3] - 0006e 03 c2 add eax, edx - 00070 50 push eax - 00071 ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00077 83 c4 04 add esp, 4 - 0007a 89 45 08 mov DWORD PTR tv144[ebp], eax - 0007d 89 46 60 mov DWORD PTR [esi+96], eax - 00080 85 c0 test eax, eax - 00082 75 0c jne SHORT $LN7@gz_error - -; 602 : NULL) { -; 603 : state->err = Z_MEM_ERROR; - - 00084 5f pop edi - 00085 c7 46 5c fc ff - ff ff mov DWORD PTR [esi+92], -4 ; fffffffcH - 0008c 5e pop esi - 0008d 5b pop ebx - -; 608 : "%s%s%s", state->path, ": ", msg); -; 609 : #else -; 610 : strcpy(state->msg, state->path); -; 611 : strcat(state->msg, ": "); -; 612 : strcat(state->msg, msg); -; 613 : #endif -; 614 : return; -; 615 : } - - 0008e 5d pop ebp - 0008f c3 ret 0 -$LN7@gz_error: - -; 604 : return; -; 605 : } -; 606 : #if !defined(NO_snprintf) && !defined(NO_vsnprintf) -; 607 : snprintf(state->msg, strlen(state->path) + strlen(msg) + 3, - - 00090 8b 76 18 mov esi, DWORD PTR [esi+24] - 00093 8b ce mov ecx, esi - 00095 8d 51 01 lea edx, DWORD PTR [ecx+1] -$LL11@gz_error: - 00098 8a 01 mov al, BYTE PTR [ecx] - 0009a 41 inc ecx - 0009b 84 c0 test al, al - 0009d 75 f9 jne SHORT $LL11@gz_error - 0009f 2b ca sub ecx, edx - 000a1 8b d3 mov edx, ebx - 000a3 8d 7a 01 lea edi, DWORD PTR [edx+1] -$LL12@gz_error: - 000a6 8a 02 mov al, BYTE PTR [edx] - 000a8 42 inc edx - 000a9 84 c0 test al, al - 000ab 75 f9 jne SHORT $LL12@gz_error - 000ad 53 push ebx - 000ae 68 00 00 00 00 push OFFSET ??_C@_02LMMGGCAJ@?3?5?$AA@ - 000b3 56 push esi - 000b4 2b d7 sub edx, edi - 000b6 8d 41 03 lea eax, DWORD PTR [ecx+3] - 000b9 68 00 00 00 00 push OFFSET ??_C@_06DIJPEION@?$CFs?$CFs?$CFs?$AA@ - 000be 03 c2 add eax, edx - 000c0 50 push eax - 000c1 ff 75 08 push DWORD PTR tv144[ebp] - 000c4 e8 00 00 00 00 call __snprintf - 000c9 83 c4 18 add esp, 24 ; 00000018H -$LN1@gz_error: - 000cc 5f pop edi - 000cd 5e pop esi - 000ce 5b pop ebx - -; 608 : "%s%s%s", state->path, ": ", msg); -; 609 : #else -; 610 : strcpy(state->msg, state->path); -; 611 : strcat(state->msg, ": "); -; 612 : strcat(state->msg, msg); -; 613 : #endif -; 614 : return; -; 615 : } - - 000cf 5d pop ebp - 000d0 c3 ret 0 -_gz_error ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzlib.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzlib.obj deleted file mode 100644 index 21cea7b7f9..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzlib.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzread.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzread.cod deleted file mode 100644 index 72b6299a39..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzread.cod +++ /dev/null @@ -1,2216 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\gzread.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ ; `string' -PUBLIC ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ ; `string' -PUBLIC ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ ; `string' -PUBLIC ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ ; `string' -PUBLIC ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ ; `string' -EXTRN __imp__strerror:PROC -EXTRN __imp__memchr:PROC -EXTRN __imp___errno:PROC -EXTRN __imp___close:PROC -EXTRN __imp___read:PROC -; COMDAT ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ -CONST SEGMENT -??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ DB 'out of ro' - DB 'om to push characters', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ -CONST SEGMENT -??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ DB 'requested l' - DB 'ength does not fit in int', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ -CONST SEGMENT -??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ DB 'compressed data error' - DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ -CONST SEGMENT -??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ DB 'internal er' - DB 'ror: inflate stream corrupt', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ -CONST SEGMENT -??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ DB 'unexpected end of f' - DB 'ile', 00H ; `string' -PUBLIC _gzdirect@4 -PUBLIC _gzgets@12 -PUBLIC _gzungetc@8 -PUBLIC _gzgetc_@4 -PUBLIC _gzgetc@4 -PUBLIC _gzread@12 -PUBLIC _gzclose_r@4 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gzclose_r@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzclose_r@4 PROC ; COMDAT - -; 569 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 570 : int ret, err; -; 571 : gz_statep state; -; 572 : -; 573 : /* get internal structure */ -; 574 : if (file == NULL) - - 00004 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 00007 85 db test ebx, ebx - 00009 75 0a jne SHORT $LN2@gzclose_r -$LN6@gzclose_r: - -; 575 : return Z_STREAM_ERROR; - - 0000b b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00010 5b pop ebx - -; 594 : } - - 00011 5d pop ebp - 00012 c2 04 00 ret 4 -$LN2@gzclose_r: - -; 576 : state = (gz_statep)file; -; 577 : -; 578 : /* check that we're reading */ -; 579 : if (state->mode != GZ_READ) - - 00015 81 7b 10 4f 1c - 00 00 cmp DWORD PTR [ebx+16], 7247 ; 00001c4fH - 0001c 75 ed jne SHORT $LN6@gzclose_r - -; 580 : return Z_STREAM_ERROR; -; 581 : -; 582 : /* free memory and close file */ -; 583 : if (state->size) { - - 0001e 83 7b 1c 00 cmp DWORD PTR [ebx+28], 0 - 00022 56 push esi - 00023 8b 35 00 00 00 - 00 mov esi, DWORD PTR __imp__free - 00029 57 push edi - 0002a 74 16 je SHORT $LN4@gzclose_r - -; 584 : inflateEnd(&(state->strm)); - - 0002c 8d 43 64 lea eax, DWORD PTR [ebx+100] - 0002f 50 push eax - 00030 e8 00 00 00 00 call _inflateEnd@4 - -; 585 : free(state->out); - - 00035 ff 73 28 push DWORD PTR [ebx+40] - 00038 ff d6 call esi - -; 586 : free(state->in); - - 0003a ff 73 24 push DWORD PTR [ebx+36] - 0003d ff d6 call esi - 0003f 83 c4 08 add esp, 8 -$LN4@gzclose_r: - -; 587 : } -; 588 : err = state->err == Z_BUF_ERROR ? Z_BUF_ERROR : Z_OK; - - 00042 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 00047 33 ff xor edi, edi - 00049 39 43 5c cmp DWORD PTR [ebx+92], eax - -; 589 : gz_error(state, Z_OK, NULL); - - 0004c 8b cb mov ecx, ebx - 0004e 6a 00 push 0 - 00050 0f 44 f8 cmove edi, eax - 00053 33 d2 xor edx, edx - 00055 e8 00 00 00 00 call _gz_error - -; 590 : free(state->path); - - 0005a ff 73 18 push DWORD PTR [ebx+24] - 0005d ff d6 call esi - -; 591 : ret = close(state->fd); - - 0005f ff 73 14 push DWORD PTR [ebx+20] - 00062 ff 15 00 00 00 - 00 call DWORD PTR __imp___close - -; 592 : free(state); - - 00068 53 push ebx - 00069 8b f0 mov esi, eax - 0006b ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 00071 83 c4 10 add esp, 16 ; 00000010H - -; 593 : return ret ? Z_ERRNO : err; - - 00074 83 c8 ff or eax, -1 - 00077 85 f6 test esi, esi - 00079 0f 45 f8 cmovne edi, eax - 0007c 8b c7 mov eax, edi - 0007e 5f pop edi - 0007f 5e pop esi - 00080 5b pop ebx - -; 594 : } - - 00081 5d pop ebp - 00082 c2 04 00 ret 4 -_gzclose_r@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gz_load -_TEXT SEGMENT -_buf$1$ = -4 ; size = 4 -_len$ = 8 ; size = 4 -_have$ = 12 ; size = 4 -_gz_load PROC ; COMDAT -; _state$ = ecx -; _buf$ = edx - -; 25 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - -; 26 : int ret; -; 27 : -; 28 : *have = 0; - - 00006 8b 75 0c mov esi, DWORD PTR _have$[ebp] - 00009 8b d9 mov ebx, ecx - 0000b 57 push edi - 0000c 8b 7d 08 mov edi, DWORD PTR _len$[ebp] - 0000f 89 55 fc mov DWORD PTR _buf$1$[ebp], edx - 00012 c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 -$LL4@gz_load: - -; 29 : do { -; 30 : ret = read(state->fd, buf + *have, len - *have); - - 00018 8b 0e mov ecx, DWORD PTR [esi] - 0001a 8b c7 mov eax, edi - 0001c 2b c1 sub eax, ecx - 0001e 50 push eax - 0001f 8d 04 11 lea eax, DWORD PTR [ecx+edx] - 00022 50 push eax - 00023 ff 73 14 push DWORD PTR [ebx+20] - 00026 ff 15 00 00 00 - 00 call DWORD PTR __imp___read - 0002c 83 c4 0c add esp, 12 ; 0000000cH - -; 31 : if (ret <= 0) - - 0002f 85 c0 test eax, eax - 00031 7e 0b jle SHORT $LN13@gz_load - -; 32 : break; -; 33 : *have += ret; - - 00033 01 06 add DWORD PTR [esi], eax - -; 34 : } while (*have < len); - - 00035 8b 55 fc mov edx, DWORD PTR _buf$1$[ebp] - 00038 39 3e cmp DWORD PTR [esi], edi - 0003a 72 dc jb SHORT $LL4@gz_load - -; 35 : if (ret < 0) { - - 0003c 85 c0 test eax, eax -$LN13@gz_load: - 0003e 79 26 jns SHORT $LN6@gz_load - -; 36 : gz_error(state, Z_ERRNO, zstrerror()); - - 00040 ff 15 00 00 00 - 00 call DWORD PTR __imp___errno - 00046 ff 30 push DWORD PTR [eax] - 00048 ff 15 00 00 00 - 00 call DWORD PTR __imp__strerror - 0004e 50 push eax - 0004f 83 ca ff or edx, -1 - 00052 8b cb mov ecx, ebx - 00054 e8 00 00 00 00 call _gz_error - 00059 83 c4 08 add esp, 8 - -; 37 : return -1; - - 0005c 83 c8 ff or eax, -1 - 0005f 5f pop edi - 00060 5e pop esi - 00061 5b pop ebx - -; 42 : } - - 00062 8b e5 mov esp, ebp - 00064 5d pop ebp - 00065 c3 ret 0 -$LN6@gz_load: - -; 38 : } -; 39 : if (ret == 0) - - 00066 85 c0 test eax, eax - 00068 75 07 jne SHORT $LN7@gz_load - -; 40 : state->eof = 1; - - 0006a c7 43 40 01 00 - 00 00 mov DWORD PTR [ebx+64], 1 -$LN7@gz_load: - 00071 5f pop edi - 00072 5e pop esi - -; 41 : return 0; - - 00073 33 c0 xor eax, eax - 00075 5b pop ebx - -; 42 : } - - 00076 8b e5 mov esp, ebp - 00078 5d pop ebp - 00079 c3 ret 0 -_gz_load ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gz_avail -_TEXT SEGMENT -_got$ = -4 ; size = 4 -_gz_avail PROC ; COMDAT -; _state$ = ecx - -; 53 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - 00005 8b f1 mov esi, ecx - -; 54 : unsigned got; -; 55 : z_streamp strm = &(state->strm); -; 56 : -; 57 : if (state->err != Z_OK && state->err != Z_BUF_ERROR) - - 00007 8b 46 5c mov eax, DWORD PTR [esi+92] - 0000a 85 c0 test eax, eax - 0000c 74 0d je SHORT $LN5@gz_avail - 0000e 83 f8 fb cmp eax, -5 ; fffffffbH - 00011 74 08 je SHORT $LN5@gz_avail -$LN13@gz_avail: - -; 58 : return -1; - - 00013 83 c8 ff or eax, -1 - 00016 5e pop esi - -; 75 : } - - 00017 8b e5 mov esp, ebp - 00019 5d pop ebp - 0001a c3 ret 0 -$LN5@gz_avail: - -; 59 : if (state->eof == 0) { - - 0001b 83 7e 40 00 cmp DWORD PTR [esi+64], 0 - 0001f 75 4c jne SHORT $LN6@gz_avail - -; 60 : if (strm->avail_in) { /* copy what's there to the start */ - - 00021 57 push edi - 00022 8b 7e 68 mov edi, DWORD PTR [esi+104] - 00025 85 ff test edi, edi - 00027 74 17 je SHORT $LN3@gz_avail - -; 61 : unsigned char *p = state->in; - - 00029 8b 4e 24 mov ecx, DWORD PTR [esi+36] - -; 62 : unsigned const char *q = strm->next_in; - - 0002c 8b 56 64 mov edx, DWORD PTR [esi+100] - 0002f 90 npad 1 -$LL4@gz_avail: - -; 63 : unsigned n = strm->avail_in; -; 64 : do { -; 65 : *p++ = *q++; - - 00030 8a 02 mov al, BYTE PTR [edx] - 00032 8d 49 01 lea ecx, DWORD PTR [ecx+1] - 00035 88 41 ff mov BYTE PTR [ecx-1], al - 00038 8d 52 01 lea edx, DWORD PTR [edx+1] - -; 66 : } while (--n); - - 0003b 83 ef 01 sub edi, 1 - 0003e 75 f0 jne SHORT $LL4@gz_avail -$LN3@gz_avail: - -; 67 : } -; 68 : if (gz_load(state, state->in + strm->avail_in, -; 69 : state->size - strm->avail_in, &got) == -1) - - 00040 8b 56 24 mov edx, DWORD PTR [esi+36] - 00043 8d 45 fc lea eax, DWORD PTR _got$[ebp] - 00046 03 56 68 add edx, DWORD PTR [esi+104] - 00049 8b ce mov ecx, esi - 0004b 50 push eax - 0004c 8b 46 1c mov eax, DWORD PTR [esi+28] - 0004f 2b 46 68 sub eax, DWORD PTR [esi+104] - 00052 50 push eax - 00053 e8 00 00 00 00 call _gz_load - 00058 83 c4 08 add esp, 8 - 0005b 5f pop edi - 0005c 83 f8 ff cmp eax, -1 - 0005f 74 b2 je SHORT $LN13@gz_avail - -; 70 : return -1; -; 71 : strm->avail_in += got; - - 00061 8b 45 fc mov eax, DWORD PTR _got$[ebp] - 00064 01 46 68 add DWORD PTR [esi+104], eax - -; 72 : strm->next_in = state->in; - - 00067 8b 46 24 mov eax, DWORD PTR [esi+36] - 0006a 89 46 64 mov DWORD PTR [esi+100], eax -$LN6@gz_avail: - -; 73 : } -; 74 : return 0; - - 0006d 33 c0 xor eax, eax - 0006f 5e pop esi - -; 75 : } - - 00070 8b e5 mov esp, ebp - 00072 5d pop ebp - 00073 c3 ret 0 -_gz_avail ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gz_look -_TEXT SEGMENT -_gz_look PROC ; COMDAT -; _state$ = ecx - -; 88 : { - - 00000 53 push ebx - 00001 56 push esi - 00002 57 push edi - 00003 8b f9 mov edi, ecx - -; 89 : z_streamp strm = &(state->strm); -; 90 : -; 91 : /* allocate read buffers and inflate memory */ -; 92 : if (state->size == 0) { - - 00005 83 7f 1c 00 cmp DWORD PTR [edi+28], 0 - 00009 8d 5f 64 lea ebx, DWORD PTR [edi+100] - 0000c 0f 85 ce 00 00 - 00 jne $LN7@gz_look - -; 93 : /* allocate buffers */ -; 94 : state->in = (unsigned char *)malloc(state->want); - - 00012 ff 77 20 push DWORD PTR [edi+32] - 00015 8b 35 00 00 00 - 00 mov esi, DWORD PTR __imp__malloc - 0001b ff d6 call esi - 0001d 89 47 24 mov DWORD PTR [edi+36], eax - -; 95 : state->out = (unsigned char *)malloc(state->want << 1); - - 00020 8b 47 20 mov eax, DWORD PTR [edi+32] - 00023 03 c0 add eax, eax - 00025 50 push eax - 00026 ff d6 call esi - -; 96 : if (state->in == NULL || state->out == NULL) { - - 00028 8b 35 00 00 00 - 00 mov esi, DWORD PTR __imp__free - 0002e 83 c4 08 add esp, 8 - 00031 83 7f 24 00 cmp DWORD PTR [edi+36], 0 - 00035 89 47 28 mov DWORD PTR [edi+40], eax - 00038 74 74 je SHORT $LN4@gz_look - 0003a 85 c0 test eax, eax - 0003c 74 7a je SHORT $LN5@gz_look - -; 103 : } -; 104 : state->size = state->want; - - 0003e 8b 47 20 mov eax, DWORD PTR [edi+32] - -; 105 : -; 106 : /* allocate inflate memory */ -; 107 : state->strm.zalloc = Z_NULL; -; 108 : state->strm.zfree = Z_NULL; -; 109 : state->strm.opaque = Z_NULL; -; 110 : state->strm.avail_in = 0; -; 111 : state->strm.next_in = Z_NULL; -; 112 : if (inflateInit2(&(state->strm), 15 + 16) != Z_OK) { /* gunzip */ - - 00041 6a 38 push 56 ; 00000038H - 00043 68 00 00 00 00 push OFFSET ??_C@_05IAIEPMAK@1?42?48?$AA@ - 00048 6a 1f push 31 ; 0000001fH - 0004a 53 push ebx - 0004b 89 47 1c mov DWORD PTR [edi+28], eax - 0004e c7 87 84 00 00 - 00 00 00 00 00 mov DWORD PTR [edi+132], 0 - 00058 c7 87 88 00 00 - 00 00 00 00 00 mov DWORD PTR [edi+136], 0 - 00062 c7 87 8c 00 00 - 00 00 00 00 00 mov DWORD PTR [edi+140], 0 - 0006c c7 47 68 00 00 - 00 00 mov DWORD PTR [edi+104], 0 - 00073 c7 03 00 00 00 - 00 mov DWORD PTR [ebx], 0 - 00079 e8 00 00 00 00 call _inflateInit2_@16 - 0007e 85 c0 test eax, eax - 00080 74 5e je SHORT $LN7@gz_look - -; 113 : free(state->out); - - 00082 ff 77 28 push DWORD PTR [edi+40] - 00085 ff d6 call esi - -; 114 : free(state->in); - - 00087 ff 77 24 push DWORD PTR [edi+36] - 0008a ff d6 call esi - -; 115 : state->size = 0; -; 116 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 0008c 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 00091 ba fc ff ff ff mov edx, -4 ; fffffffcH - 00096 c7 47 1c 00 00 - 00 00 mov DWORD PTR [edi+28], 0 - 0009d 8b cf mov ecx, edi - 0009f e8 00 00 00 00 call _gz_error - 000a4 83 c4 0c add esp, 12 ; 0000000cH - -; 117 : return -1; - - 000a7 83 c8 ff or eax, -1 - 000aa 5f pop edi - 000ab 5e pop esi - 000ac 5b pop ebx - -; 165 : } - - 000ad c3 ret 0 -$LN4@gz_look: - -; 97 : if (state->out != NULL) - - 000ae 85 c0 test eax, eax - 000b0 74 06 je SHORT $LN5@gz_look - -; 98 : free(state->out); - - 000b2 50 push eax - 000b3 ff d6 call esi - 000b5 83 c4 04 add esp, 4 -$LN5@gz_look: - -; 99 : if (state->in != NULL) - - 000b8 8b 47 24 mov eax, DWORD PTR [edi+36] - 000bb 85 c0 test eax, eax - 000bd 74 06 je SHORT $LN6@gz_look - -; 100 : free(state->in); - - 000bf 50 push eax - 000c0 ff d6 call esi - 000c2 83 c4 04 add esp, 4 -$LN6@gz_look: - -; 101 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 000c5 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 000ca ba fc ff ff ff mov edx, -4 ; fffffffcH - 000cf 8b cf mov ecx, edi - 000d1 e8 00 00 00 00 call _gz_error - 000d6 83 c4 04 add esp, 4 -$LN16@gz_look: - -; 102 : return -1; - - 000d9 5f pop edi - 000da 5e pop esi - 000db 83 c8 ff or eax, -1 - 000de 5b pop ebx - -; 165 : } - - 000df c3 ret 0 -$LN7@gz_look: - -; 118 : } -; 119 : } -; 120 : -; 121 : /* get at least the magic bytes in the input buffer */ -; 122 : if (strm->avail_in < 2) { - - 000e0 8b 43 04 mov eax, DWORD PTR [ebx+4] - 000e3 83 f8 02 cmp eax, 2 - 000e6 73 13 jae SHORT $LN10@gz_look - -; 123 : if (gz_avail(state) == -1) - - 000e8 8b cf mov ecx, edi - 000ea e8 00 00 00 00 call _gz_avail - 000ef 83 f8 ff cmp eax, -1 - 000f2 74 e5 je SHORT $LN16@gz_look - -; 124 : return -1; -; 125 : if (strm->avail_in == 0) - - 000f4 8b 43 04 mov eax, DWORD PTR [ebx+4] - 000f7 85 c0 test eax, eax - 000f9 74 7f je SHORT $LN15@gz_look -$LN10@gz_look: - -; 126 : return 0; -; 127 : } -; 128 : -; 129 : /* look for gzip magic bytes -- if there, do gzip decoding (note: there is -; 130 : a logical dilemma here when considering the case of a partially written -; 131 : gzip file, to wit, if a single 31 byte is written, then we cannot tell -; 132 : whether this is a single-byte file, or just a partially written gzip -; 133 : file -- for here we assume that if a gzip file is being written, then -; 134 : the header will be written in a single operation, so that reading a -; 135 : single byte is sufficient indication that it is not a gzip file) */ -; 136 : if (strm->avail_in > 1 && -; 137 : strm->next_in[0] == 31 && strm->next_in[1] == 139) { - - 000fb 83 f8 01 cmp eax, 1 - 000fe 76 27 jbe SHORT $LN11@gz_look - 00100 8b 03 mov eax, DWORD PTR [ebx] - 00102 80 38 1f cmp BYTE PTR [eax], 31 ; 0000001fH - 00105 75 20 jne SHORT $LN11@gz_look - 00107 80 78 01 8b cmp BYTE PTR [eax+1], 139 ; 0000008bH - 0010b 75 1a jne SHORT $LN11@gz_look - -; 138 : inflateReset(strm); - - 0010d 53 push ebx - 0010e e8 00 00 00 00 call _inflateReset@4 - -; 139 : state->how = GZIP; - - 00113 c7 47 30 02 00 - 00 00 mov DWORD PTR [edi+48], 2 - -; 164 : return 0; - - 0011a 33 c0 xor eax, eax - 0011c c7 47 2c 00 00 - 00 00 mov DWORD PTR [edi+44], 0 - 00123 5f pop edi - 00124 5e pop esi - 00125 5b pop ebx - -; 165 : } - - 00126 c3 ret 0 -$LN11@gz_look: - -; 140 : state->direct = 0; -; 141 : return 0; -; 142 : } -; 143 : -; 144 : /* no gzip header -- if we were decoding gzip before, then this is trailing -; 145 : garbage. Ignore the trailing garbage and finish. */ -; 146 : if (state->direct == 0) { - - 00127 83 7f 2c 00 cmp DWORD PTR [edi+44], 0 - 0012b 75 1a jne SHORT $LN12@gz_look - -; 147 : strm->avail_in = 0; - - 0012d c7 43 04 00 00 - 00 00 mov DWORD PTR [ebx+4], 0 - -; 164 : return 0; - - 00134 33 c0 xor eax, eax - 00136 c7 47 40 01 00 - 00 00 mov DWORD PTR [edi+64], 1 - 0013d c7 07 00 00 00 - 00 mov DWORD PTR [edi], 0 - 00143 5f pop edi - 00144 5e pop esi - 00145 5b pop ebx - -; 165 : } - - 00146 c3 ret 0 -$LN12@gz_look: - -; 148 : state->eof = 1; -; 149 : state->x.have = 0; -; 150 : return 0; -; 151 : } -; 152 : -; 153 : /* doing raw i/o, copy any leftover input to output -- this assumes that -; 154 : the output buffer is larger than the input buffer, which also assures -; 155 : space for gzungetc() */ -; 156 : state->x.next = state->out; - - 00147 8b 47 28 mov eax, DWORD PTR [edi+40] - 0014a 89 47 04 mov DWORD PTR [edi+4], eax - -; 157 : if (strm->avail_in) { - - 0014d 8b 4b 04 mov ecx, DWORD PTR [ebx+4] - 00150 85 c9 test ecx, ecx - 00152 74 18 je SHORT $LN13@gz_look - -; 158 : memcpy(state->x.next, strm->next_in, strm->avail_in); - - 00154 51 push ecx - 00155 ff 33 push DWORD PTR [ebx] - 00157 50 push eax - 00158 e8 00 00 00 00 call _memcpy - -; 159 : state->x.have = strm->avail_in; - - 0015d 8b 43 04 mov eax, DWORD PTR [ebx+4] - 00160 83 c4 0c add esp, 12 ; 0000000cH - 00163 89 07 mov DWORD PTR [edi], eax - -; 160 : strm->avail_in = 0; - - 00165 c7 43 04 00 00 - 00 00 mov DWORD PTR [ebx+4], 0 -$LN13@gz_look: - -; 161 : } -; 162 : state->how = COPY; - - 0016c c7 47 30 01 00 - 00 00 mov DWORD PTR [edi+48], 1 - -; 163 : state->direct = 1; - - 00173 c7 47 2c 01 00 - 00 00 mov DWORD PTR [edi+44], 1 -$LN15@gz_look: - -; 164 : return 0; - - 0017a 5f pop edi - 0017b 5e pop esi - 0017c 33 c0 xor eax, eax - 0017e 5b pop ebx - -; 165 : } - - 0017f c3 ret 0 -_gz_look ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gz_decomp -_TEXT SEGMENT -_had$1$ = -4 ; size = 4 -_gz_decomp PROC ; COMDAT -; _state$ = ecx - -; 174 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 8b d9 mov ebx, ecx - -; 175 : int ret = Z_OK; -; 176 : unsigned had; -; 177 : z_streamp strm = &(state->strm); -; 178 : -; 179 : /* fill output buffer up to end of deflate stream */ -; 180 : had = strm->avail_out; - - 00007 8b 43 74 mov eax, DWORD PTR [ebx+116] - 0000a 56 push esi - 0000b 57 push edi - 0000c 8d 7b 64 lea edi, DWORD PTR [ebx+100] - 0000f 89 45 fc mov DWORD PTR _had$1$[ebp], eax - 00012 33 f6 xor esi, esi -$LL4@gz_decomp: - -; 181 : do { -; 182 : /* get more input for inflate() */ -; 183 : if (strm->avail_in == 0 && gz_avail(state) == -1) - - 00014 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 00018 75 16 jne SHORT $LN24@gz_decomp - 0001a 8b cb mov ecx, ebx - 0001c e8 00 00 00 00 call _gz_avail - 00021 83 f8 ff cmp eax, -1 - 00024 0f 84 cb 00 00 - 00 je $LN17@gz_decomp - -; 184 : return -1; -; 185 : if (strm->avail_in == 0) { - - 0002a 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 0002e 74 33 je SHORT $LN18@gz_decomp -$LN24@gz_decomp: - -; 187 : break; -; 188 : } -; 189 : -; 190 : /* decompress and handle errors */ -; 191 : ret = inflate(strm, Z_NO_FLUSH); - - 00030 6a 00 push 0 - 00032 57 push edi - 00033 e8 00 00 00 00 call _inflate@8 - 00038 8b f0 mov esi, eax - -; 192 : if (ret == Z_STREAM_ERROR || ret == Z_NEED_DICT) { - - 0003a 83 fe fe cmp esi, -2 ; fffffffeH - 0003d 0f 84 9e 00 00 - 00 je $LN8@gz_decomp - 00043 83 fe 02 cmp esi, 2 - 00046 0f 84 95 00 00 - 00 je $LN8@gz_decomp - -; 196 : } -; 197 : if (ret == Z_MEM_ERROR) { - - 0004c 83 fe fc cmp esi, -4 ; fffffffcH - 0004f 74 72 je SHORT $LN20@gz_decomp - -; 199 : return -1; -; 200 : } -; 201 : if (ret == Z_DATA_ERROR) { /* deflate stream invalid */ - - 00051 83 fe fd cmp esi, -3 ; fffffffdH - 00054 74 46 je SHORT $LN21@gz_decomp - -; 203 : strm->msg == NULL ? "compressed data error" : strm->msg); -; 204 : return -1; -; 205 : } -; 206 : } while (strm->avail_out && ret != Z_STREAM_END); - - 00056 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 0005a 74 1b je SHORT $LN3@gz_decomp - 0005c 83 fe 01 cmp esi, 1 - 0005f 75 b3 jne SHORT $LL4@gz_decomp - 00061 eb 14 jmp SHORT $LN3@gz_decomp -$LN18@gz_decomp: - -; 186 : gz_error(state, Z_BUF_ERROR, "unexpected end of file"); - - 00063 68 00 00 00 00 push OFFSET ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ - 00068 ba fb ff ff ff mov edx, -5 ; fffffffbH - 0006d 8b cb mov ecx, ebx - 0006f e8 00 00 00 00 call _gz_error - 00074 83 c4 04 add esp, 4 -$LN3@gz_decomp: - -; 207 : -; 208 : /* update available output */ -; 209 : state->x.have = had - strm->avail_out; - - 00077 8b 4d fc mov ecx, DWORD PTR _had$1$[ebp] - 0007a 2b 4f 10 sub ecx, DWORD PTR [edi+16] - 0007d 89 0b mov DWORD PTR [ebx], ecx - -; 210 : state->x.next = strm->next_out - state->x.have; - - 0007f 8b 47 0c mov eax, DWORD PTR [edi+12] - 00082 2b c1 sub eax, ecx - 00084 89 43 04 mov DWORD PTR [ebx+4], eax - -; 211 : -; 212 : /* if the gzip stream completed successfully, look for another */ -; 213 : if (ret == Z_STREAM_END) - - 00087 83 fe 01 cmp esi, 1 - 0008a 75 07 jne SHORT $LN12@gz_decomp - -; 214 : state->how = LOOK; - - 0008c c7 43 30 00 00 - 00 00 mov DWORD PTR [ebx+48], 0 -$LN12@gz_decomp: - 00093 5f pop edi - 00094 5e pop esi - -; 215 : -; 216 : /* good decompression */ -; 217 : return 0; - - 00095 33 c0 xor eax, eax - 00097 5b pop ebx - -; 218 : } - - 00098 8b e5 mov esp, ebp - 0009a 5d pop ebp - 0009b c3 ret 0 -$LN21@gz_decomp: - -; 202 : gz_error(state, Z_DATA_ERROR, - - 0009c 8b 47 18 mov eax, DWORD PTR [edi+24] - 0009f b9 00 00 00 00 mov ecx, OFFSET ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ - 000a4 85 c0 test eax, eax - 000a6 ba fd ff ff ff mov edx, -3 ; fffffffdH - 000ab 0f 45 c8 cmovne ecx, eax - 000ae 51 push ecx - 000af 8b cb mov ecx, ebx - 000b1 e8 00 00 00 00 call _gz_error - 000b6 83 c4 04 add esp, 4 - 000b9 83 c8 ff or eax, -1 - 000bc 5f pop edi - 000bd 5e pop esi - 000be 5b pop ebx - -; 218 : } - - 000bf 8b e5 mov esp, ebp - 000c1 5d pop ebp - 000c2 c3 ret 0 -$LN20@gz_decomp: - -; 198 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 000c3 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 000c8 ba fc ff ff ff mov edx, -4 ; fffffffcH - 000cd 8b cb mov ecx, ebx - 000cf e8 00 00 00 00 call _gz_error - 000d4 83 c4 04 add esp, 4 - 000d7 83 c8 ff or eax, -1 - 000da 5f pop edi - 000db 5e pop esi - 000dc 5b pop ebx - -; 218 : } - - 000dd 8b e5 mov esp, ebp - 000df 5d pop ebp - 000e0 c3 ret 0 -$LN8@gz_decomp: - -; 193 : gz_error(state, Z_STREAM_ERROR, - - 000e1 68 00 00 00 00 push OFFSET ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ - 000e6 ba fe ff ff ff mov edx, -2 ; fffffffeH - 000eb 8b cb mov ecx, ebx - 000ed e8 00 00 00 00 call _gz_error - 000f2 83 c4 04 add esp, 4 -$LN17@gz_decomp: - -; 194 : "internal error: inflate stream corrupt"); -; 195 : return -1; - - 000f5 5f pop edi - 000f6 5e pop esi - 000f7 83 c8 ff or eax, -1 - 000fa 5b pop ebx - -; 218 : } - - 000fb 8b e5 mov esp, ebp - 000fd 5d pop ebp - 000fe c3 ret 0 -_gz_decomp ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gz_fetch -_TEXT SEGMENT -_gz_fetch PROC ; COMDAT -; _state$ = ecx - -; 228 : { - - 00000 56 push esi - 00001 8b f1 mov esi, ecx -$LL4@gz_fetch: - -; 229 : z_streamp strm = &(state->strm); -; 230 : -; 231 : do { -; 232 : switch(state->how) { - - 00003 8b 46 30 mov eax, DWORD PTR [esi+48] - 00006 83 e8 00 sub eax, 0 - 00009 74 29 je SHORT $LN7@gz_fetch - 0000b 83 e8 01 sub eax, 1 - 0000e 74 4b je SHORT $LN10@gz_fetch - 00010 83 e8 01 sub eax, 1 - 00013 75 31 jne SHORT $LN2@gz_fetch - -; 245 : case GZIP: /* -> GZIP or LOOK (if end of gzip stream) */ -; 246 : strm->avail_out = state->size << 1; - - 00015 8b 46 1c mov eax, DWORD PTR [esi+28] - -; 247 : strm->next_out = state->out; -; 248 : if (gz_decomp(state) == -1) - - 00018 8b ce mov ecx, esi - 0001a 03 c0 add eax, eax - 0001c 89 46 74 mov DWORD PTR [esi+116], eax - 0001f 8b 46 28 mov eax, DWORD PTR [esi+40] - 00022 89 46 70 mov DWORD PTR [esi+112], eax - 00025 e8 00 00 00 00 call _gz_decomp - 0002a 83 f8 ff cmp eax, -1 - 0002d 75 17 jne SHORT $LN2@gz_fetch -$LN19@gz_fetch: - -; 235 : return -1; - - 0002f 83 c8 ff or eax, -1 - 00032 5e pop esi - -; 252 : return 0; -; 253 : } - - 00033 c3 ret 0 -$LN7@gz_fetch: - -; 233 : case LOOK: /* -> LOOK, COPY (only if never GZIP), or GZIP */ -; 234 : if (gz_look(state) == -1) - - 00034 8b ce mov ecx, esi - 00036 e8 00 00 00 00 call _gz_look - 0003b 83 f8 ff cmp eax, -1 - 0003e 74 ef je SHORT $LN19@gz_fetch - -; 236 : if (state->how == LOOK) - - 00040 83 7e 30 00 cmp DWORD PTR [esi+48], 0 - 00044 74 34 je SHORT $LN20@gz_fetch -$LN2@gz_fetch: - -; 249 : return -1; -; 250 : } -; 251 : } while (state->x.have == 0 && (!state->eof || strm->avail_in)); - - 00046 83 3e 00 cmp DWORD PTR [esi], 0 - 00049 75 2f jne SHORT $LN20@gz_fetch - 0004b 83 7e 40 00 cmp DWORD PTR [esi+64], 0 - 0004f 74 b2 je SHORT $LL4@gz_fetch - 00051 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 00055 75 ac jne SHORT $LL4@gz_fetch - -; 244 : return 0; - - 00057 33 c0 xor eax, eax - 00059 5e pop esi - -; 252 : return 0; -; 253 : } - - 0005a c3 ret 0 -$LN10@gz_fetch: - -; 237 : return 0; -; 238 : break; -; 239 : case COPY: /* -> COPY */ -; 240 : if (gz_load(state, state->out, state->size << 1, &(state->x.have)) -; 241 : == -1) - - 0005b 8b 46 1c mov eax, DWORD PTR [esi+28] - 0005e 8b ce mov ecx, esi - 00060 8b 56 28 mov edx, DWORD PTR [esi+40] - 00063 03 c0 add eax, eax - 00065 56 push esi - 00066 50 push eax - 00067 e8 00 00 00 00 call _gz_load - 0006c 83 c4 08 add esp, 8 - 0006f 83 f8 ff cmp eax, -1 - 00072 74 bb je SHORT $LN19@gz_fetch - -; 242 : return -1; -; 243 : state->x.next = state->out; - - 00074 8b 46 28 mov eax, DWORD PTR [esi+40] - 00077 89 46 04 mov DWORD PTR [esi+4], eax -$LN20@gz_fetch: - -; 244 : return 0; - - 0007a 33 c0 xor eax, eax - 0007c 5e pop esi - -; 252 : return 0; -; 253 : } - - 0007d c3 ret 0 -_gz_fetch ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gz_skip -_TEXT SEGMENT -_len$ = 8 ; size = 8 -_gz_skip PROC ; COMDAT -; _state$ = ecx - -; 259 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 260 : unsigned n; -; 261 : -; 262 : /* skip over len bytes or reach end-of-file, whichever comes first */ -; 263 : while (len) - - 00004 8b 5d 0c mov ebx, DWORD PTR _len$[ebp+4] - 00007 56 push esi - 00008 57 push edi - 00009 8b 7d 08 mov edi, DWORD PTR _len$[ebp] - 0000c 8b f1 mov esi, ecx - 0000e 8b c7 mov eax, edi - 00010 0b c3 or eax, ebx - 00012 74 4b je SHORT $LN3@gz_skip -$LL2@gz_skip: - -; 264 : /* skip over whatever is in output buffer */ -; 265 : if (state->x.have) { - - 00014 8b 06 mov eax, DWORD PTR [esi] - 00016 85 c0 test eax, eax - 00018 74 27 je SHORT $LN4@gz_skip - -; 266 : n = GT_OFF(state->x.have) || (z_off64_t)state->x.have > len ? - - 0001a 33 c9 xor ecx, ecx - 0001c 3b cb cmp ecx, ebx - 0001e 7f 0a jg SHORT $LN10@gz_skip - 00020 7c 04 jl SHORT $LN17@gz_skip - 00022 3b c7 cmp eax, edi - 00024 77 04 ja SHORT $LN10@gz_skip -$LN17@gz_skip: - 00026 8b c8 mov ecx, eax - 00028 eb 02 jmp SHORT $LN11@gz_skip -$LN10@gz_skip: - 0002a 8b cf mov ecx, edi -$LN11@gz_skip: - -; 267 : (unsigned)len : state->x.have; -; 268 : state->x.have -= n; -; 269 : state->x.next += n; - - 0002c 01 4e 04 add DWORD PTR [esi+4], ecx - 0002f 2b c1 sub eax, ecx - -; 270 : state->x.pos += n; - - 00031 01 4e 08 add DWORD PTR [esi+8], ecx - 00034 89 06 mov DWORD PTR [esi], eax - 00036 83 56 0c 00 adc DWORD PTR [esi+12], 0 - -; 271 : len -= n; - - 0003a 2b f9 sub edi, ecx - 0003c 83 db 00 sbb ebx, 0 - -; 272 : } - - 0003f eb 18 jmp SHORT $LN8@gz_skip -$LN4@gz_skip: - -; 273 : -; 274 : /* output buffer empty -- return if we're at the end of the input */ -; 275 : else if (state->eof && state->strm.avail_in == 0) - - 00041 83 7e 40 00 cmp DWORD PTR [esi+64], 0 - 00045 74 06 je SHORT $LN6@gz_skip - 00047 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 0004b 74 12 je SHORT $LN3@gz_skip -$LN6@gz_skip: - -; 276 : break; -; 277 : -; 278 : /* need more data to skip -- load up output buffer */ -; 279 : else { -; 280 : /* get more output, looking for header if required */ -; 281 : if (gz_fetch(state) == -1) - - 0004d 8b ce mov ecx, esi - 0004f e8 00 00 00 00 call _gz_fetch - 00054 83 f8 ff cmp eax, -1 - 00057 74 0d je SHORT $LN14@gz_skip -$LN8@gz_skip: - -; 260 : unsigned n; -; 261 : -; 262 : /* skip over len bytes or reach end-of-file, whichever comes first */ -; 263 : while (len) - - 00059 8b c7 mov eax, edi - 0005b 0b c3 or eax, ebx - 0005d 75 b5 jne SHORT $LL2@gz_skip -$LN3@gz_skip: - 0005f 5f pop edi - 00060 5e pop esi - -; 283 : } -; 284 : return 0; - - 00061 33 c0 xor eax, eax - 00063 5b pop ebx - -; 285 : } - - 00064 5d pop ebp - 00065 c3 ret 0 -$LN14@gz_skip: - 00066 5f pop edi - 00067 5e pop esi - -; 282 : return -1; - - 00068 83 c8 ff or eax, -1 - 0006b 5b pop ebx - -; 285 : } - - 0006c 5d pop ebp - 0006d c3 ret 0 -_gz_skip ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gzread@12 -_TEXT SEGMENT -_n$ = 8 ; size = 4 -_file$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_got$1$ = 16 ; size = 4 -_len$ = 16 ; size = 4 -_gzread@12 PROC ; COMDAT - -; 292 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 293 : unsigned got, n; -; 294 : gz_statep state; -; 295 : z_streamp strm; -; 296 : -; 297 : /* get internal structure */ -; 298 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 08 jne SHORT $LN5@gzread -$LN7@gzread: - -; 299 : return -1; - - 0000b 83 c8 ff or eax, -1 - 0000e 5e pop esi - -; 376 : -; 377 : /* return number of bytes read into user buffer (will fit in int) */ -; 378 : return (int)got; -; 379 : } - - 0000f 5d pop ebp - 00010 c2 0c 00 ret 12 ; 0000000cH -$LN5@gzread: - -; 300 : state = (gz_statep)file; -; 301 : strm = &(state->strm); -; 302 : -; 303 : /* check that we're reading and that there's no (serious) error */ -; 304 : if (state->mode != GZ_READ || - - 00013 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 0001a 75 ef jne SHORT $LN7@gzread - 0001c 8b 46 5c mov eax, DWORD PTR [esi+92] - 0001f 85 c0 test eax, eax - 00021 74 05 je SHORT $LN6@gzread - 00023 83 f8 fb cmp eax, -5 ; fffffffbH - 00026 75 e3 jne SHORT $LN7@gzread -$LN6@gzread: - 00028 53 push ebx - -; 305 : (state->err != Z_OK && state->err != Z_BUF_ERROR)) -; 306 : return -1; -; 307 : -; 308 : /* since an int is returned, make sure len fits in one, otherwise return -; 309 : with an error (this avoids the flaw in the interface) */ -; 310 : if ((int)len < 0) { - - 00029 8b 5d 10 mov ebx, DWORD PTR _len$[ebp] - 0002c 85 db test ebx, ebx - 0002e 79 1d jns SHORT $LN36@gzread - -; 311 : gz_error(state, Z_DATA_ERROR, "requested length does not fit in int"); - - 00030 68 00 00 00 00 push OFFSET ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ - 00035 ba fd ff ff ff mov edx, -3 ; fffffffdH - 0003a 8b ce mov ecx, esi - 0003c e8 00 00 00 00 call _gz_error - 00041 83 c4 04 add esp, 4 -$LN37@gzread: - -; 312 : return -1; - - 00044 5b pop ebx - 00045 83 c8 ff or eax, -1 - 00048 5e pop esi - -; 376 : -; 377 : /* return number of bytes read into user buffer (will fit in int) */ -; 378 : return (int)got; -; 379 : } - - 00049 5d pop ebp - 0004a c2 0c 00 ret 12 ; 0000000cH -$LN36@gzread: - -; 313 : } -; 314 : -; 315 : /* if len is zero, avoid unnecessary operations */ -; 316 : if (len == 0) - - 0004d 75 08 jne SHORT $LN9@gzread - -; 317 : return 0; - - 0004f 5b pop ebx - 00050 33 c0 xor eax, eax - 00052 5e pop esi - -; 376 : -; 377 : /* return number of bytes read into user buffer (will fit in int) */ -; 378 : return (int)got; -; 379 : } - - 00053 5d pop ebp - 00054 c2 0c 00 ret 12 ; 0000000cH -$LN9@gzread: - -; 318 : -; 319 : /* process a skip request */ -; 320 : if (state->seek) { - - 00057 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - 0005b 74 1c je SHORT $LN11@gzread - -; 321 : state->seek = 0; -; 322 : if (gz_skip(state, state->skip) == -1) - - 0005d ff 76 54 push DWORD PTR [esi+84] - 00060 8b ce mov ecx, esi - 00062 c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 00069 ff 76 50 push DWORD PTR [esi+80] - 0006c e8 00 00 00 00 call _gz_skip - 00071 83 c4 08 add esp, 8 - 00074 83 f8 ff cmp eax, -1 - 00077 74 cb je SHORT $LN37@gzread -$LN11@gzread: - -; 323 : return -1; -; 324 : } -; 325 : -; 326 : /* get len bytes to buf, or less than len if at the end */ -; 327 : got = 0; - - 00079 33 c0 xor eax, eax - 0007b 89 45 10 mov DWORD PTR _got$1$[ebp], eax - 0007e 57 push edi - 0007f 90 npad 1 -$LL4@gzread: - -; 328 : do { -; 329 : /* first just try copying data from the output buffer */ -; 330 : if (state->x.have) { - - 00080 8b 3e mov edi, DWORD PTR [esi] - 00082 85 ff test edi, edi - 00084 74 1f je SHORT $LN12@gzread - -; 331 : n = state->x.have > len ? len : state->x.have; -; 332 : memcpy(buf, state->x.next, n); - - 00086 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 00089 3b fb cmp edi, ebx - 0008b 0f 47 fb cmova edi, ebx - 0008e 57 push edi - 0008f ff 76 04 push DWORD PTR [esi+4] - 00092 89 7d 08 mov DWORD PTR _n$[ebp], edi - 00095 50 push eax - 00096 e8 00 00 00 00 call _memcpy - -; 333 : state->x.next += n; - - 0009b 01 7e 04 add DWORD PTR [esi+4], edi - 0009e 83 c4 0c add esp, 12 ; 0000000cH - -; 334 : state->x.have -= n; - - 000a1 29 3e sub DWORD PTR [esi], edi - -; 335 : } - - 000a3 eb 5f jmp SHORT $LN21@gzread -$LN12@gzread: - -; 336 : -; 337 : /* output buffer empty -- return if we're at the end of the input */ -; 338 : else if (state->eof && strm->avail_in == 0) { - - 000a5 83 7e 40 00 cmp DWORD PTR [esi+64], 0 - 000a9 74 0a je SHORT $LN14@gzread - 000ab 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 000af 0f 84 83 00 00 - 00 je $LN28@gzread -$LN14@gzread: - -; 340 : break; -; 341 : } -; 342 : -; 343 : /* need output data -- for small len or new stream load up our output -; 344 : buffer */ -; 345 : else if (state->how == LOOK || len < (state->size << 1)) { - - 000b5 8b 4e 30 mov ecx, DWORD PTR [esi+48] - 000b8 85 c9 test ecx, ecx - 000ba 74 5e je SHORT $LN18@gzread - 000bc 8b 46 1c mov eax, DWORD PTR [esi+28] - 000bf 03 c0 add eax, eax - 000c1 3b d8 cmp ebx, eax - 000c3 72 55 jb SHORT $LN18@gzread - -; 349 : continue; /* no progress yet -- go back to copy above */ -; 350 : /* the copy above assures that we will leave with space in the -; 351 : output buffer, allowing at least one gzungetc() to succeed */ -; 352 : } -; 353 : -; 354 : /* large len -- read directly into user buffer */ -; 355 : else if (state->how == COPY) { /* read directly */ - - 000c5 83 f9 01 cmp ecx, 1 - -; 356 : if (gz_load(state, (unsigned char *)buf, len, &n) == -1) - - 000c8 8b ce mov ecx, esi - 000ca 75 1a jne SHORT $LN20@gzread - 000cc 8b 55 0c mov edx, DWORD PTR _buf$[ebp] - 000cf 8d 45 08 lea eax, DWORD PTR _n$[ebp] - 000d2 50 push eax - 000d3 53 push ebx - 000d4 e8 00 00 00 00 call _gz_load - 000d9 83 c4 08 add esp, 8 - 000dc 83 f8 ff cmp eax, -1 - 000df 74 65 je SHORT $LN31@gzread - -; 357 : return -1; -; 358 : } - - 000e1 8b 7d 08 mov edi, DWORD PTR _n$[ebp] - 000e4 eb 1e jmp SHORT $LN21@gzread -$LN20@gzread: - -; 359 : -; 360 : /* large len -- decompress directly into user buffer */ -; 361 : else { /* state->how == GZIP */ -; 362 : strm->avail_out = len; -; 363 : strm->next_out = (unsigned char *)buf; - - 000e6 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 000e9 89 5e 74 mov DWORD PTR [esi+116], ebx - 000ec 89 46 70 mov DWORD PTR [esi+112], eax - -; 364 : if (gz_decomp(state) == -1) - - 000ef e8 00 00 00 00 call _gz_decomp - 000f4 83 f8 ff cmp eax, -1 - 000f7 74 4d je SHORT $LN31@gzread - -; 365 : return -1; -; 366 : n = state->x.have; - - 000f9 8b 3e mov edi, DWORD PTR [esi] - 000fb 89 7d 08 mov DWORD PTR _n$[ebp], edi - -; 367 : state->x.have = 0; - - 000fe c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 -$LN21@gzread: - -; 368 : } -; 369 : -; 370 : /* update progress */ -; 371 : len -= n; -; 372 : buf = (char *)buf + n; -; 373 : got += n; - - 00104 8b 45 10 mov eax, DWORD PTR _got$1$[ebp] - 00107 2b df sub ebx, edi - 00109 01 7d 0c add DWORD PTR _buf$[ebp], edi - 0010c 03 c7 add eax, edi - -; 374 : state->x.pos += n; - - 0010e 01 7e 08 add DWORD PTR [esi+8], edi - 00111 89 45 10 mov DWORD PTR _got$1$[ebp], eax - 00114 83 56 0c 00 adc DWORD PTR [esi+12], 0 - 00118 eb 0f jmp SHORT $LN2@gzread -$LN18@gzread: - -; 346 : /* get more output, looking for header if required */ -; 347 : if (gz_fetch(state) == -1) - - 0011a 8b ce mov ecx, esi - 0011c e8 00 00 00 00 call _gz_fetch - 00121 83 f8 ff cmp eax, -1 - 00124 74 20 je SHORT $LN31@gzread - 00126 8b 45 10 mov eax, DWORD PTR _got$1$[ebp] -$LN2@gzread: - -; 375 : } while (len); - - 00129 85 db test ebx, ebx - 0012b 0f 85 4f ff ff - ff jne $LL4@gzread - 00131 5f pop edi - 00132 5b pop ebx - 00133 5e pop esi - -; 376 : -; 377 : /* return number of bytes read into user buffer (will fit in int) */ -; 378 : return (int)got; -; 379 : } - - 00134 5d pop ebp - 00135 c2 0c 00 ret 12 ; 0000000cH -$LN28@gzread: - 00138 5f pop edi - 00139 5b pop ebx - -; 339 : state->past = 1; /* tried to read past end */ - - 0013a c7 46 44 01 00 - 00 00 mov DWORD PTR [esi+68], 1 - 00141 5e pop esi - -; 376 : -; 377 : /* return number of bytes read into user buffer (will fit in int) */ -; 378 : return (int)got; -; 379 : } - - 00142 5d pop ebp - 00143 c2 0c 00 ret 12 ; 0000000cH -$LN31@gzread: - 00146 5f pop edi - 00147 5b pop ebx - -; 348 : return -1; - - 00148 83 c8 ff or eax, -1 - 0014b 5e pop esi - -; 376 : -; 377 : /* return number of bytes read into user buffer (will fit in int) */ -; 378 : return (int)got; -; 379 : } - - 0014c 5d pop ebp - 0014d c2 0c 00 ret 12 ; 0000000cH -_gzread@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gzgetc@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_buf$ = 11 ; size = 1 -_gzgetc@4 PROC ; COMDAT - -; 389 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 390 : int ret; -; 391 : unsigned char buf[1]; -; 392 : gz_statep state; -; 393 : -; 394 : /* get internal structure */ -; 395 : if (file == NULL) - - 00003 8b 55 08 mov edx, DWORD PTR _file$[ebp] - 00006 85 d2 test edx, edx - 00008 74 4f je SHORT $LN4@gzgetc - -; 396 : return -1; -; 397 : state = (gz_statep)file; -; 398 : -; 399 : /* check that we're reading and that there's no (serious) error */ -; 400 : if (state->mode != GZ_READ || - - 0000a 81 7a 10 4f 1c - 00 00 cmp DWORD PTR [edx+16], 7247 ; 00001c4fH - 00011 75 46 jne SHORT $LN4@gzgetc - 00013 8b 42 5c mov eax, DWORD PTR [edx+92] - 00016 85 c0 test eax, eax - 00018 74 05 je SHORT $LN3@gzgetc - 0001a 83 f8 fb cmp eax, -5 ; fffffffbH - 0001d 75 3a jne SHORT $LN4@gzgetc -$LN3@gzgetc: - -; 403 : -; 404 : /* try output buffer (no need to check for skip request) */ -; 405 : if (state->x.have) { - - 0001f 8b 02 mov eax, DWORD PTR [edx] - 00021 85 c0 test eax, eax - 00023 74 1b je SHORT $LN5@gzgetc - -; 406 : state->x.have--; - - 00025 48 dec eax - -; 407 : state->x.pos++; - - 00026 83 42 08 01 add DWORD PTR [edx+8], 1 - 0002a 89 02 mov DWORD PTR [edx], eax - -; 408 : return *(state->x.next)++; - - 0002c 8b 42 04 mov eax, DWORD PTR [edx+4] - 0002f 83 52 0c 00 adc DWORD PTR [edx+12], 0 - 00033 8a 08 mov cl, BYTE PTR [eax] - 00035 40 inc eax - 00036 89 42 04 mov DWORD PTR [edx+4], eax - 00039 0f b6 c1 movzx eax, cl - -; 414 : } - - 0003c 5d pop ebp - 0003d c2 04 00 ret 4 -$LN5@gzgetc: - -; 409 : } -; 410 : -; 411 : /* nothing there -- try gzread() */ -; 412 : ret = gzread(file, buf, 1); - - 00040 6a 01 push 1 - 00042 8d 45 0b lea eax, DWORD PTR _buf$[ebp] - 00045 50 push eax - 00046 52 push edx - 00047 e8 00 00 00 00 call _gzread@12 - -; 413 : return ret < 1 ? -1 : buf[0]; - - 0004c 83 f8 01 cmp eax, 1 - 0004f 7c 08 jl SHORT $LN4@gzgetc - 00051 0f b6 45 0b movzx eax, BYTE PTR _buf$[ebp] - -; 414 : } - - 00055 5d pop ebp - 00056 c2 04 00 ret 4 -$LN4@gzgetc: - -; 401 : (state->err != Z_OK && state->err != Z_BUF_ERROR)) -; 402 : return -1; - - 00059 83 c8 ff or eax, -1 - -; 414 : } - - 0005c 5d pop ebp - 0005d c2 04 00 ret 4 -_gzgetc@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gzgetc_@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzgetc_@4 PROC ; COMDAT - -; 418 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 420 : } - - 00003 5d pop ebp - -; 419 : return gzgetc(file); - - 00004 e9 00 00 00 00 jmp _gzgetc@4 -_gzgetc_@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gzungetc@8 -_TEXT SEGMENT -_c$ = 8 ; size = 4 -_file$ = 12 ; size = 4 -_gzungetc@8 PROC ; COMDAT - -; 426 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 427 : gz_statep state; -; 428 : -; 429 : /* get internal structure */ -; 430 : if (file == NULL) - - 00004 8b 75 0c mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 08 jne SHORT $LN4@gzungetc -$LN21@gzungetc: - -; 431 : return -1; - - 0000b 83 c8 ff or eax, -1 - 0000e 5e pop esi - -; 480 : } - - 0000f 5d pop ebp - 00010 c2 08 00 ret 8 -$LN4@gzungetc: - -; 432 : state = (gz_statep)file; -; 433 : -; 434 : /* check that we're reading and that there's no (serious) error */ -; 435 : if (state->mode != GZ_READ || - - 00013 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 0001a 75 ef jne SHORT $LN21@gzungetc - 0001c 8b 46 5c mov eax, DWORD PTR [esi+92] - 0001f 85 c0 test eax, eax - 00021 74 05 je SHORT $LN5@gzungetc - 00023 83 f8 fb cmp eax, -5 ; fffffffbH - 00026 75 e3 jne SHORT $LN21@gzungetc -$LN5@gzungetc: - -; 436 : (state->err != Z_OK && state->err != Z_BUF_ERROR)) -; 437 : return -1; -; 438 : -; 439 : /* process a skip request */ -; 440 : if (state->seek) { - - 00028 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - 0002c 74 1c je SHORT $LN8@gzungetc - -; 441 : state->seek = 0; -; 442 : if (gz_skip(state, state->skip) == -1) - - 0002e ff 76 54 push DWORD PTR [esi+84] - 00031 8b ce mov ecx, esi - 00033 c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 0003a ff 76 50 push DWORD PTR [esi+80] - 0003d e8 00 00 00 00 call _gz_skip - 00042 83 c4 08 add esp, 8 - 00045 83 f8 ff cmp eax, -1 - 00048 74 c1 je SHORT $LN21@gzungetc -$LN8@gzungetc: - 0004a 53 push ebx - -; 443 : return -1; -; 444 : } -; 445 : -; 446 : /* can't push EOF */ -; 447 : if (c < 0) - - 0004b 8b 5d 08 mov ebx, DWORD PTR _c$[ebp] - 0004e 85 db test ebx, ebx - 00050 78 38 js SHORT $LN20@gzungetc - -; 448 : return -1; -; 449 : -; 450 : /* if output buffer empty, put byte at end (allows more pushing) */ -; 451 : if (state->x.have == 0) { - - 00052 8b 0e mov ecx, DWORD PTR [esi] - -; 452 : state->x.have = 1; -; 453 : state->x.next = state->out + (state->size << 1) - 1; - - 00054 8b 56 1c mov edx, DWORD PTR [esi+28] - 00057 85 c9 test ecx, ecx - 00059 75 14 jne SHORT $LN10@gzungetc - 0005b 8b 4e 28 mov ecx, DWORD PTR [esi+40] - 0005e c7 06 01 00 00 - 00 mov DWORD PTR [esi], 1 - 00064 8d 0c 51 lea ecx, DWORD PTR [ecx+edx*2] - 00067 49 dec ecx - 00068 89 4e 04 mov DWORD PTR [esi+4], ecx - -; 454 : state->x.next[0] = c; - - 0006b 88 19 mov BYTE PTR [ecx], bl - -; 455 : state->x.pos--; -; 456 : state->past = 0; -; 457 : return c; - - 0006d eb 4e jmp SHORT $LN19@gzungetc -$LN10@gzungetc: - -; 458 : } -; 459 : -; 460 : /* if no room, give up (must have already done a gzungetc()) */ -; 461 : if (state->x.have == (state->size << 1)) { - - 0006f 8d 04 12 lea eax, DWORD PTR [edx+edx] - 00072 3b c8 cmp ecx, eax - 00074 75 1d jne SHORT $LN11@gzungetc - -; 462 : gz_error(state, Z_DATA_ERROR, "out of room to push characters"); - - 00076 68 00 00 00 00 push OFFSET ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ - 0007b ba fd ff ff ff mov edx, -3 ; fffffffdH - 00080 8b ce mov ecx, esi - 00082 e8 00 00 00 00 call _gz_error - 00087 83 c4 04 add esp, 4 -$LN20@gzungetc: - -; 463 : return -1; - - 0008a 5b pop ebx - 0008b 83 c8 ff or eax, -1 - 0008e 5e pop esi - -; 480 : } - - 0008f 5d pop ebp - 00090 c2 08 00 ret 8 -$LN11@gzungetc: - -; 464 : } -; 465 : -; 466 : /* slide output data if needed and insert byte before existing data */ -; 467 : if (state->x.next == state->out) { - - 00093 8b 46 28 mov eax, DWORD PTR [esi+40] - 00096 39 46 04 cmp DWORD PTR [esi+4], eax - 00099 75 18 jne SHORT $LN12@gzungetc - -; 468 : unsigned char *src = state->out + state->x.have; - - 0009b 03 c8 add ecx, eax - -; 469 : unsigned char *dest = state->out + (state->size << 1); - - 0009d 8d 14 50 lea edx, DWORD PTR [eax+edx*2] - -; 470 : while (src > state->out) - - 000a0 3b c8 cmp ecx, eax - 000a2 76 0c jbe SHORT $LN3@gzungetc -$LL2@gzungetc: - -; 471 : *--dest = *--src; - - 000a4 8a 41 ff mov al, BYTE PTR [ecx-1] - 000a7 49 dec ecx - 000a8 4a dec edx - 000a9 88 02 mov BYTE PTR [edx], al - 000ab 3b 4e 28 cmp ecx, DWORD PTR [esi+40] - 000ae 77 f4 ja SHORT $LL2@gzungetc -$LN3@gzungetc: - -; 472 : state->x.next = dest; - - 000b0 89 56 04 mov DWORD PTR [esi+4], edx -$LN12@gzungetc: - -; 473 : } -; 474 : state->x.have++; - - 000b3 ff 06 inc DWORD PTR [esi] - -; 475 : state->x.next--; - - 000b5 ff 4e 04 dec DWORD PTR [esi+4] - 000b8 8b 46 04 mov eax, DWORD PTR [esi+4] - -; 476 : state->x.next[0] = c; - - 000bb 88 18 mov BYTE PTR [eax], bl -$LN19@gzungetc: - -; 477 : state->x.pos--; - - 000bd 83 46 08 ff add DWORD PTR [esi+8], -1 - -; 478 : state->past = 0; -; 479 : return c; - - 000c1 8b c3 mov eax, ebx - 000c3 5b pop ebx - 000c4 83 56 0c ff adc DWORD PTR [esi+12], -1 - 000c8 c7 46 44 00 00 - 00 00 mov DWORD PTR [esi+68], 0 - 000cf 5e pop esi - -; 480 : } - - 000d0 5d pop ebp - 000d1 c2 08 00 ret 8 -_gzungetc@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gzgets@12 -_TEXT SEGMENT -_left$1$ = 8 ; size = 4 -_file$ = 8 ; size = 4 -_eol$1$ = 12 ; size = 4 -_buf$ = 12 ; size = 4 -_str$1$ = 16 ; size = 4 -_len$ = 16 ; size = 4 -_gzgets@12 PROC ; COMDAT - -; 487 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - 00005 57 push edi - -; 488 : unsigned left, n; -; 489 : char *str; -; 490 : unsigned char *eol; -; 491 : gz_statep state; -; 492 : -; 493 : /* check parameters and get internal structure */ -; 494 : if (file == NULL || buf == NULL || len < 1) - - 00006 8b 7d 08 mov edi, DWORD PTR _file$[ebp] - 00009 85 ff test edi, edi - 0000b 0f 84 f2 00 00 - 00 je $LN6@gzgets - 00011 8b 5d 0c mov ebx, DWORD PTR _buf$[ebp] - 00014 85 db test ebx, ebx - 00016 0f 84 e7 00 00 - 00 je $LN6@gzgets - 0001c 8b 75 10 mov esi, DWORD PTR _len$[ebp] - 0001f 83 fe 01 cmp esi, 1 - 00022 0f 8c db 00 00 - 00 jl $LN6@gzgets - -; 496 : state = (gz_statep)file; -; 497 : -; 498 : /* check that we're reading and that there's no (serious) error */ -; 499 : if (state->mode != GZ_READ || - - 00028 81 7f 10 4f 1c - 00 00 cmp DWORD PTR [edi+16], 7247 ; 00001c4fH - 0002f 0f 85 ce 00 00 - 00 jne $LN6@gzgets - 00035 8b 47 5c mov eax, DWORD PTR [edi+92] - 00038 85 c0 test eax, eax - 0003a 74 09 je SHORT $LN7@gzgets - 0003c 83 f8 fb cmp eax, -5 ; fffffffbH - 0003f 0f 85 be 00 00 - 00 jne $LN6@gzgets -$LN7@gzgets: - -; 500 : (state->err != Z_OK && state->err != Z_BUF_ERROR)) -; 501 : return NULL; -; 502 : -; 503 : /* process a skip request */ -; 504 : if (state->seek) { - - 00045 83 7f 58 00 cmp DWORD PTR [edi+88], 0 - 00049 74 20 je SHORT $LN10@gzgets - -; 505 : state->seek = 0; -; 506 : if (gz_skip(state, state->skip) == -1) - - 0004b ff 77 54 push DWORD PTR [edi+84] - 0004e 8b cf mov ecx, edi - 00050 c7 47 58 00 00 - 00 00 mov DWORD PTR [edi+88], 0 - 00057 ff 77 50 push DWORD PTR [edi+80] - 0005a e8 00 00 00 00 call _gz_skip - 0005f 83 c4 08 add esp, 8 - 00062 83 f8 ff cmp eax, -1 - 00065 0f 84 98 00 00 - 00 je $LN6@gzgets -$LN10@gzgets: - -; 507 : return NULL; -; 508 : } -; 509 : -; 510 : /* copy output bytes up to new line or len - 1, whichever comes first -- -; 511 : append a terminating zero to the string (we don't check for a zero in -; 512 : the contents, let the user worry about that) */ -; 513 : str = buf; -; 514 : left = (unsigned)len - 1; - - 0006b 8d 46 ff lea eax, DWORD PTR [esi-1] - 0006e 89 5d 10 mov DWORD PTR _str$1$[ebp], ebx - 00071 89 45 08 mov DWORD PTR _left$1$[ebp], eax - -; 515 : if (left) do { - - 00074 85 c0 test eax, eax - 00076 0f 84 87 00 00 - 00 je $LN6@gzgets - 0007c 0f 1f 40 00 npad 4 -$LL4@gzgets: - -; 516 : /* assure that something is in the output buffer */ -; 517 : if (state->x.have == 0 && gz_fetch(state) == -1) - - 00080 8b 37 mov esi, DWORD PTR [edi] - 00082 85 f6 test esi, esi - 00084 75 15 jne SHORT $LN26@gzgets - 00086 8b cf mov ecx, edi - 00088 e8 00 00 00 00 call _gz_fetch - 0008d 83 f8 ff cmp eax, -1 - 00090 74 71 je SHORT $LN6@gzgets - -; 518 : return NULL; /* error */ -; 519 : if (state->x.have == 0) { /* end of file */ - - 00092 8b 37 mov esi, DWORD PTR [edi] - 00094 85 f6 test esi, esi - 00096 74 53 je SHORT $LN22@gzgets - 00098 8b 45 08 mov eax, DWORD PTR _left$1$[ebp] -$LN26@gzgets: - -; 521 : break; /* return what we have */ -; 522 : } -; 523 : -; 524 : /* look for end-of-line in current output buffer */ -; 525 : n = state->x.have > left ? left : state->x.have; - - 0009b 3b f0 cmp esi, eax - 0009d 0f 47 f0 cmova esi, eax - -; 526 : eol = (unsigned char *)memchr(state->x.next, '\n', n); - - 000a0 56 push esi - 000a1 6a 0a push 10 ; 0000000aH - 000a3 ff 77 04 push DWORD PTR [edi+4] - 000a6 ff 15 00 00 00 - 00 call DWORD PTR __imp__memchr - 000ac 83 c4 0c add esp, 12 ; 0000000cH - 000af 89 45 0c mov DWORD PTR _eol$1$[ebp], eax - -; 527 : if (eol != NULL) - - 000b2 85 c0 test eax, eax - 000b4 74 06 je SHORT $LN14@gzgets - -; 528 : n = (unsigned)(eol - state->x.next) + 1; - - 000b6 8b f0 mov esi, eax - 000b8 2b 77 04 sub esi, DWORD PTR [edi+4] - 000bb 46 inc esi -$LN14@gzgets: - -; 529 : -; 530 : /* copy through end-of-line, or remainder if not found */ -; 531 : memcpy(buf, state->x.next, n); - - 000bc 56 push esi - 000bd ff 77 04 push DWORD PTR [edi+4] - 000c0 53 push ebx - 000c1 e8 00 00 00 00 call _memcpy - -; 532 : state->x.have -= n; - - 000c6 29 37 sub DWORD PTR [edi], esi - 000c8 83 c4 0c add esp, 12 ; 0000000cH - -; 533 : state->x.next += n; - - 000cb 01 77 04 add DWORD PTR [edi+4], esi - -; 534 : state->x.pos += n; - - 000ce 01 77 08 add DWORD PTR [edi+8], esi - -; 535 : left -= n; - - 000d1 8b 45 08 mov eax, DWORD PTR _left$1$[ebp] - 000d4 83 57 0c 00 adc DWORD PTR [edi+12], 0 - 000d8 2b c6 sub eax, esi - -; 536 : buf += n; - - 000da 03 de add ebx, esi - 000dc 89 45 08 mov DWORD PTR _left$1$[ebp], eax - -; 537 : } while (left && eol == NULL); - - 000df 85 c0 test eax, eax - 000e1 74 0f je SHORT $LN15@gzgets - 000e3 83 7d 0c 00 cmp DWORD PTR _eol$1$[ebp], 0 - 000e7 74 97 je SHORT $LL4@gzgets - 000e9 eb 07 jmp SHORT $LN15@gzgets -$LN22@gzgets: - -; 520 : state->past = 1; /* read past end */ - - 000eb c7 47 44 01 00 - 00 00 mov DWORD PTR [edi+68], 1 -$LN15@gzgets: - -; 538 : -; 539 : /* return terminated string, or if nothing, end of file */ -; 540 : if (buf == str) - - 000f2 8b 45 10 mov eax, DWORD PTR _str$1$[ebp] - 000f5 3b d8 cmp ebx, eax - 000f7 74 0a je SHORT $LN6@gzgets - -; 541 : return NULL; -; 542 : buf[0] = 0; - - 000f9 5f pop edi - 000fa 5e pop esi - 000fb c6 03 00 mov BYTE PTR [ebx], 0 - 000fe 5b pop ebx - -; 543 : return str; -; 544 : } - - 000ff 5d pop ebp - 00100 c2 0c 00 ret 12 ; 0000000cH -$LN6@gzgets: - 00103 5f pop edi - 00104 5e pop esi - -; 495 : return NULL; - - 00105 33 c0 xor eax, eax - 00107 5b pop ebx - -; 543 : return str; -; 544 : } - - 00108 5d pop ebp - 00109 c2 0c 00 ret 12 ; 0000000cH -_gzgets@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzread.c -; COMDAT _gzdirect@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzdirect@4 PROC ; COMDAT - -; 549 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 550 : gz_statep state; -; 551 : -; 552 : /* get internal structure */ -; 553 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 07 jne SHORT $LN2@gzdirect - -; 554 : return 0; - - 0000b 33 c0 xor eax, eax - 0000d 5e pop esi - -; 564 : } - - 0000e 5d pop ebp - 0000f c2 04 00 ret 4 -$LN2@gzdirect: - -; 555 : state = (gz_statep)file; -; 556 : -; 557 : /* if the state is not known, but we can find out, then do so (this is -; 558 : mainly for right after a gzopen() or gzdopen()) */ -; 559 : if (state->mode == GZ_READ && state->how == LOOK && state->x.have == 0) - - 00012 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 00019 75 12 jne SHORT $LN3@gzdirect - 0001b 83 7e 30 00 cmp DWORD PTR [esi+48], 0 - 0001f 75 0c jne SHORT $LN3@gzdirect - 00021 83 3e 00 cmp DWORD PTR [esi], 0 - 00024 75 07 jne SHORT $LN3@gzdirect - -; 560 : (void)gz_look(state); - - 00026 8b ce mov ecx, esi - 00028 e8 00 00 00 00 call _gz_look -$LN3@gzdirect: - -; 561 : -; 562 : /* return 1 if transparent, 0 if processing a gzip stream */ -; 563 : return state->direct; - - 0002d 8b 46 2c mov eax, DWORD PTR [esi+44] - 00030 5e pop esi - -; 564 : } - - 00031 5d pop ebp - 00032 c2 04 00 ret 4 -_gzdirect@4 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzread.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzread.obj deleted file mode 100644 index cab7e2ac58..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzread.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzwrite.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzwrite.cod deleted file mode 100644 index f46513b8af..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzwrite.cod +++ /dev/null @@ -1,1895 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ ; `string' -EXTRN __imp___write:PROC -; COMDAT ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ -CONST SEGMENT -??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ DB 'internal er' - DB 'ror: deflate stream corrupt', 00H ; `string' -PUBLIC _gzsetparams@12 -PUBLIC _gzflush@8 -PUBLIC _gzprintf -PUBLIC _gzvprintf -PUBLIC _gzputs@8 -PUBLIC _gzputc@8 -PUBLIC _gzwrite@12 -PUBLIC _vsnprintf -PUBLIC _gzclose_w@4 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gzclose_w@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzclose_w@4 PROC ; COMDAT - -; 541 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 542 : int ret = Z_OK; -; 543 : gz_statep state; -; 544 : -; 545 : /* get internal structure */ -; 546 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 57 push edi - 00008 33 ff xor edi, edi - 0000a 85 f6 test esi, esi - 0000c 75 0b jne SHORT $LN2@gzclose_w -$LN11@gzclose_w: - 0000e 5f pop edi - -; 547 : return Z_STREAM_ERROR; - - 0000f b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00014 5e pop esi - -; 577 : } - - 00015 5d pop ebp - 00016 c2 04 00 ret 4 -$LN2@gzclose_w: - -; 548 : state = (gz_statep)file; -; 549 : -; 550 : /* check that we're writing */ -; 551 : if (state->mode != GZ_WRITE) - - 00019 81 7e 10 b1 79 - 00 00 cmp DWORD PTR [esi+16], 31153 ; 000079b1H - 00020 75 ec jne SHORT $LN11@gzclose_w - -; 552 : return Z_STREAM_ERROR; -; 553 : -; 554 : /* check for seek request */ -; 555 : if (state->seek) { - - 00022 39 7e 58 cmp DWORD PTR [esi+88], edi - 00025 74 1b je SHORT $LN5@gzclose_w - -; 556 : state->seek = 0; -; 557 : if (gz_zero(state, state->skip) == -1) - - 00027 ff 76 54 push DWORD PTR [esi+84] - 0002a 8b ce mov ecx, esi - 0002c 89 7e 58 mov DWORD PTR [esi+88], edi - 0002f ff 76 50 push DWORD PTR [esi+80] - 00032 e8 00 00 00 00 call _gz_zero - 00037 83 c4 08 add esp, 8 - 0003a 83 f8 ff cmp eax, -1 - 0003d 75 03 jne SHORT $LN5@gzclose_w - -; 558 : ret = state->err; - - 0003f 8b 7e 5c mov edi, DWORD PTR [esi+92] -$LN5@gzclose_w: - -; 559 : } -; 560 : -; 561 : /* flush, free memory, and close file */ -; 562 : if (gz_comp(state, Z_FINISH) == -1) - - 00042 ba 04 00 00 00 mov edx, 4 - 00047 8b ce mov ecx, esi - 00049 e8 00 00 00 00 call _gz_comp - 0004e 83 f8 ff cmp eax, -1 - 00051 75 03 jne SHORT $LN6@gzclose_w - -; 563 : ret = state->err; - - 00053 8b 7e 5c mov edi, DWORD PTR [esi+92] -$LN6@gzclose_w: - -; 564 : if (state->size) { - - 00056 83 7e 1c 00 cmp DWORD PTR [esi+28], 0 - 0005a 53 push ebx - 0005b 8b 1d 00 00 00 - 00 mov ebx, DWORD PTR __imp__free - 00061 74 1f je SHORT $LN7@gzclose_w - -; 565 : if (!state->direct) { - - 00063 83 7e 2c 00 cmp DWORD PTR [esi+44], 0 - 00067 75 11 jne SHORT $LN8@gzclose_w - -; 566 : (void)deflateEnd(&(state->strm)); - - 00069 8d 46 64 lea eax, DWORD PTR [esi+100] - 0006c 50 push eax - 0006d e8 00 00 00 00 call _deflateEnd@4 - -; 567 : free(state->out); - - 00072 ff 76 28 push DWORD PTR [esi+40] - 00075 ff d3 call ebx - 00077 83 c4 04 add esp, 4 -$LN8@gzclose_w: - -; 568 : } -; 569 : free(state->in); - - 0007a ff 76 24 push DWORD PTR [esi+36] - 0007d ff d3 call ebx - 0007f 83 c4 04 add esp, 4 -$LN7@gzclose_w: - -; 570 : } -; 571 : gz_error(state, Z_OK, NULL); - - 00082 6a 00 push 0 - 00084 33 d2 xor edx, edx - 00086 8b ce mov ecx, esi - 00088 e8 00 00 00 00 call _gz_error - -; 572 : free(state->path); - - 0008d ff 76 18 push DWORD PTR [esi+24] - 00090 ff d3 call ebx - -; 573 : if (close(state->fd) == -1) - - 00092 ff 76 14 push DWORD PTR [esi+20] - 00095 ff 15 00 00 00 - 00 call DWORD PTR __imp___close - 0009b 83 c9 ff or ecx, -1 - 0009e 3b c1 cmp eax, ecx - -; 574 : ret = Z_ERRNO; -; 575 : free(state); - - 000a0 56 push esi - 000a1 0f 44 f9 cmove edi, ecx - 000a4 ff d3 call ebx - 000a6 83 c4 10 add esp, 16 ; 00000010H - -; 576 : return ret; - - 000a9 8b c7 mov eax, edi - 000ab 5b pop ebx - 000ac 5f pop edi - 000ad 5e pop esi - -; 577 : } - - 000ae 5d pop ebp - 000af c2 04 00 ret 4 -_gzclose_w@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h -; COMDAT _vsnprintf -_TEXT SEGMENT -__Format$ = 8 ; size = 4 -__ArgList$ = 12 ; size = 4 -_vsnprintf PROC ; COMDAT -; __Buffer$ = ecx -; __BufferCount$ = edx - -; 1435 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1436 : int const _Result = __stdio_common_vsprintf( - - 00003 ff 75 0c push DWORD PTR __ArgList$[ebp] - 00006 6a 00 push 0 - 00008 ff 75 08 push DWORD PTR __Format$[ebp] - 0000b 52 push edx - 0000c 51 push ecx - 0000d e8 00 00 00 00 call ___local_stdio_printf_options - 00012 8b 08 mov ecx, DWORD PTR [eax] - 00014 ff 70 04 push DWORD PTR [eax+4] - 00017 83 c9 02 or ecx, 2 - 0001a 51 push ecx - 0001b ff 15 00 00 00 - 00 call DWORD PTR __imp____stdio_common_vsprintf - -; 1437 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, -; 1438 : _Buffer, _BufferCount, _Format, NULL, _ArgList); -; 1439 : -; 1440 : return _Result < 0 ? -1 : _Result; - - 00021 83 c9 ff or ecx, -1 - 00024 83 c4 1c add esp, 28 ; 0000001cH - 00027 85 c0 test eax, eax - 00029 0f 48 c1 cmovs eax, ecx - -; 1441 : } - - 0002c 5d pop ebp - 0002d c3 ret 0 -_vsnprintf ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gz_init -_TEXT SEGMENT -_gz_init PROC ; COMDAT -; _state$ = ecx - -; 17 : { - - 00000 56 push esi - 00001 57 push edi - 00002 8b f9 mov edi, ecx - -; 18 : int ret; -; 19 : z_streamp strm = &(state->strm); -; 20 : -; 21 : /* allocate input buffer */ -; 22 : state->in = (unsigned char *)malloc(state->want); - - 00004 ff 77 20 push DWORD PTR [edi+32] - 00007 8d 77 64 lea esi, DWORD PTR [edi+100] - 0000a ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00010 83 c4 04 add esp, 4 - 00013 89 47 24 mov DWORD PTR [edi+36], eax - -; 23 : if (state->in == NULL) { - - 00016 85 c0 test eax, eax - 00018 75 18 jne SHORT $LN2@gz_init - -; 24 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 0001a 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 0001f 8d 50 fc lea edx, DWORD PTR [eax-4] - 00022 8b cf mov ecx, edi - 00024 e8 00 00 00 00 call _gz_error - 00029 83 c4 04 add esp, 4 - -; 25 : return -1; - - 0002c 83 c8 ff or eax, -1 - 0002f 5f pop edi - 00030 5e pop esi - -; 62 : } - - 00031 c3 ret 0 -$LN2@gz_init: - -; 26 : } -; 27 : -; 28 : /* only need output buffer and deflate state if compressing */ -; 29 : if (!state->direct) { - - 00032 83 7f 2c 00 cmp DWORD PTR [edi+44], 0 - 00036 0f 85 92 00 00 - 00 jne $LN5@gz_init - -; 30 : /* allocate output buffer */ -; 31 : state->out = (unsigned char *)malloc(state->want); - - 0003c ff 77 20 push DWORD PTR [edi+32] - 0003f ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00045 83 c4 04 add esp, 4 - 00048 89 47 28 mov DWORD PTR [edi+40], eax - -; 32 : if (state->out == NULL) { - - 0004b 85 c0 test eax, eax - 0004d 75 23 jne SHORT $LN4@gz_init - -; 33 : free(state->in); - - 0004f ff 77 24 push DWORD PTR [edi+36] - 00052 ff 15 00 00 00 - 00 call DWORD PTR __imp__free - -; 34 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 00058 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 0005d ba fc ff ff ff mov edx, -4 ; fffffffcH - 00062 8b cf mov ecx, edi - 00064 e8 00 00 00 00 call _gz_error - 00069 83 c4 08 add esp, 8 - -; 35 : return -1; - - 0006c 83 c8 ff or eax, -1 - 0006f 5f pop edi - 00070 5e pop esi - -; 62 : } - - 00071 c3 ret 0 -$LN4@gz_init: - -; 36 : } -; 37 : -; 38 : /* allocate deflate memory, set up for gzip compression */ -; 39 : strm->zalloc = Z_NULL; -; 40 : strm->zfree = Z_NULL; -; 41 : strm->opaque = Z_NULL; -; 42 : ret = deflateInit2(strm, state->level, Z_DEFLATED, - - 00072 6a 38 push 56 ; 00000038H - 00074 68 00 00 00 00 push OFFSET ??_C@_05IAIEPMAK@1?42?48?$AA@ - 00079 c7 46 20 00 00 - 00 00 mov DWORD PTR [esi+32], 0 - 00080 c7 46 24 00 00 - 00 00 mov DWORD PTR [esi+36], 0 - 00087 c7 46 28 00 00 - 00 00 mov DWORD PTR [esi+40], 0 - 0008e ff 77 4c push DWORD PTR [edi+76] - 00091 6a 08 push 8 - 00093 6a 1f push 31 ; 0000001fH - 00095 6a 08 push 8 - 00097 ff 77 48 push DWORD PTR [edi+72] - 0009a 56 push esi - 0009b e8 00 00 00 00 call _deflateInit2_@32 - -; 43 : MAX_WBITS + 16, DEF_MEM_LEVEL, state->strategy); -; 44 : if (ret != Z_OK) { - - 000a0 85 c0 test eax, eax - 000a2 74 2a je SHORT $LN5@gz_init - -; 45 : free(state->out); - - 000a4 ff 77 28 push DWORD PTR [edi+40] - 000a7 8b 35 00 00 00 - 00 mov esi, DWORD PTR __imp__free - 000ad ff d6 call esi - -; 46 : free(state->in); - - 000af ff 77 24 push DWORD PTR [edi+36] - 000b2 ff d6 call esi - -; 47 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 000b4 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 000b9 ba fc ff ff ff mov edx, -4 ; fffffffcH - 000be 8b cf mov ecx, edi - 000c0 e8 00 00 00 00 call _gz_error - 000c5 83 c4 0c add esp, 12 ; 0000000cH - -; 48 : return -1; - - 000c8 83 c8 ff or eax, -1 - 000cb 5f pop edi - 000cc 5e pop esi - -; 62 : } - - 000cd c3 ret 0 -$LN5@gz_init: - -; 49 : } -; 50 : } -; 51 : -; 52 : /* mark state as initialized */ -; 53 : state->size = state->want; -; 54 : -; 55 : /* initialize write buffer if compressing */ -; 56 : if (!state->direct) { - - 000ce 83 7f 2c 00 cmp DWORD PTR [edi+44], 0 - 000d2 8b 47 20 mov eax, DWORD PTR [edi+32] - 000d5 89 47 1c mov DWORD PTR [edi+28], eax - 000d8 75 0c jne SHORT $LN6@gz_init - -; 57 : strm->avail_out = state->size; - - 000da 89 46 10 mov DWORD PTR [esi+16], eax - -; 58 : strm->next_out = state->out; - - 000dd 8b 47 28 mov eax, DWORD PTR [edi+40] - 000e0 89 46 0c mov DWORD PTR [esi+12], eax - -; 59 : state->x.next = strm->next_out; - - 000e3 89 47 04 mov DWORD PTR [edi+4], eax -$LN6@gz_init: - -; 60 : } -; 61 : return 0; - - 000e6 5f pop edi - 000e7 33 c0 xor eax, eax - 000e9 5e pop esi - -; 62 : } - - 000ea c3 ret 0 -_gz_init ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gz_comp -_TEXT SEGMENT -_flush$1$ = -4 ; size = 4 -_gz_comp PROC ; COMDAT -; _state$ = ecx -; _flush$ = edx - -; 73 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - 00005 57 push edi - 00006 8b f9 mov edi, ecx - 00008 89 55 fc mov DWORD PTR _flush$1$[ebp], edx - -; 74 : int ret, got; -; 75 : unsigned have; -; 76 : z_streamp strm = &(state->strm); -; 77 : -; 78 : /* allocate memory if this is the first time through */ -; 79 : if (state->size == 0 && gz_init(state) == -1) - - 0000b 83 7f 1c 00 cmp DWORD PTR [edi+28], 0 - 0000f 8d 77 64 lea esi, DWORD PTR [edi+100] - 00012 75 0d jne SHORT $LN5@gz_comp - 00014 e8 00 00 00 00 call _gz_init - 00019 83 f8 ff cmp eax, -1 - 0001c 74 4e je SHORT $LN26@gz_comp - 0001e 8b 55 fc mov edx, DWORD PTR _flush$1$[ebp] -$LN5@gz_comp: - -; 80 : return -1; -; 81 : -; 82 : /* write directly if requested */ -; 83 : if (state->direct) { - - 00021 83 7f 2c 00 cmp DWORD PTR [edi+44], 0 - 00025 74 4e je SHORT $LN6@gz_comp - -; 84 : got = write(state->fd, strm->next_in, strm->avail_in); - - 00027 ff 76 04 push DWORD PTR [esi+4] - 0002a ff 36 push DWORD PTR [esi] - 0002c ff 77 14 push DWORD PTR [edi+20] - 0002f ff 15 00 00 00 - 00 call DWORD PTR __imp___write - 00035 83 c4 0c add esp, 12 ; 0000000cH - -; 85 : if (got < 0 || (unsigned)got != strm->avail_in) { - - 00038 85 c0 test eax, eax - 0003a 78 14 js SHORT $LN8@gz_comp - 0003c 3b 46 04 cmp eax, DWORD PTR [esi+4] - 0003f 75 0f jne SHORT $LN8@gz_comp - -; 88 : } -; 89 : strm->avail_in = 0; - - 00041 5f pop edi - 00042 c7 46 04 00 00 - 00 00 mov DWORD PTR [esi+4], 0 - -; 90 : return 0; - - 00049 33 c0 xor eax, eax - 0004b 5e pop esi - -; 130 : } - - 0004c 8b e5 mov esp, ebp - 0004e 5d pop ebp - 0004f c3 ret 0 -$LN8@gz_comp: - -; 86 : gz_error(state, Z_ERRNO, zstrerror()); - - 00050 ff 15 00 00 00 - 00 call DWORD PTR __imp___errno - 00056 ff 30 push DWORD PTR [eax] - 00058 ff 15 00 00 00 - 00 call DWORD PTR __imp__strerror - 0005e 50 push eax - 0005f 83 ca ff or edx, -1 - 00062 8b cf mov ecx, edi - 00064 e8 00 00 00 00 call _gz_error - 00069 83 c4 08 add esp, 8 -$LN26@gz_comp: - -; 87 : return -1; - - 0006c 5f pop edi - 0006d 83 c8 ff or eax, -1 - 00070 5e pop esi - -; 130 : } - - 00071 8b e5 mov esp, ebp - 00073 5d pop ebp - 00074 c3 ret 0 -$LN6@gz_comp: - -; 91 : } -; 92 : -; 93 : /* run deflate() on provided input until it produces no more output */ -; 94 : ret = Z_OK; - - 00075 33 c0 xor eax, eax - 00077 53 push ebx -$LL4@gz_comp: - -; 95 : do { -; 96 : /* write out current buffer contents if full, or if flushing, but if -; 97 : doing Z_FINISH then don't write until we get to Z_STREAM_END */ -; 98 : if (strm->avail_out == 0 || (flush != Z_NO_FLUSH && - - 00078 83 7e 10 00 cmp DWORD PTR [esi+16], 0 - 0007c 74 0e je SHORT $LN11@gz_comp - 0007e 85 d2 test edx, edx - 00080 74 45 je SHORT $LN9@gz_comp - 00082 83 fa 04 cmp edx, 4 - 00085 75 05 jne SHORT $LN11@gz_comp - 00087 83 f8 01 cmp eax, 1 - 0008a 75 3b jne SHORT $LN9@gz_comp -$LN11@gz_comp: - -; 99 : (flush != Z_FINISH || ret == Z_STREAM_END))) { -; 100 : have = (unsigned)(strm->next_out - state->x.next); - - 0008c 8b 5e 0c mov ebx, DWORD PTR [esi+12] - 0008f 8b 47 04 mov eax, DWORD PTR [edi+4] - 00092 2b d8 sub ebx, eax - -; 101 : if (have && ((got = write(state->fd, state->x.next, have)) < 0 || - - 00094 74 16 je SHORT $LN12@gz_comp - 00096 53 push ebx - 00097 50 push eax - 00098 ff 77 14 push DWORD PTR [edi+20] - 0009b ff 15 00 00 00 - 00 call DWORD PTR __imp___write - 000a1 83 c4 0c add esp, 12 ; 0000000cH - 000a4 85 c0 test eax, eax - 000a6 78 38 js SHORT $LN13@gz_comp - 000a8 3b c3 cmp eax, ebx - 000aa 75 34 jne SHORT $LN13@gz_comp -$LN12@gz_comp: - -; 104 : return -1; -; 105 : } -; 106 : if (strm->avail_out == 0) { - - 000ac 83 7e 10 00 cmp DWORD PTR [esi+16], 0 - 000b0 75 0c jne SHORT $LN14@gz_comp - -; 107 : strm->avail_out = state->size; - - 000b2 8b 47 1c mov eax, DWORD PTR [edi+28] - 000b5 89 46 10 mov DWORD PTR [esi+16], eax - -; 108 : strm->next_out = state->out; - - 000b8 8b 47 28 mov eax, DWORD PTR [edi+40] - 000bb 89 46 0c mov DWORD PTR [esi+12], eax -$LN14@gz_comp: - -; 109 : } -; 110 : state->x.next = strm->next_out; - - 000be 8b 46 0c mov eax, DWORD PTR [esi+12] - 000c1 8b 55 fc mov edx, DWORD PTR _flush$1$[ebp] - 000c4 89 47 04 mov DWORD PTR [edi+4], eax -$LN9@gz_comp: - -; 111 : } -; 112 : -; 113 : /* compress */ -; 114 : have = strm->avail_out; - - 000c7 8b 5e 10 mov ebx, DWORD PTR [esi+16] - -; 115 : ret = deflate(strm, flush); - - 000ca 52 push edx - 000cb 56 push esi - 000cc e8 00 00 00 00 call _deflate@8 - -; 116 : if (ret == Z_STREAM_ERROR) { - - 000d1 83 f8 fe cmp eax, -2 ; fffffffeH - 000d4 74 45 je SHORT $LN20@gz_comp - -; 120 : } -; 121 : have -= strm->avail_out; - - 000d6 2b 5e 10 sub ebx, DWORD PTR [esi+16] - -; 122 : } while (have); - - 000d9 74 2b je SHORT $LN19@gz_comp - 000db 8b 55 fc mov edx, DWORD PTR _flush$1$[ebp] - 000de eb 98 jmp SHORT $LL4@gz_comp -$LN13@gz_comp: - -; 102 : (unsigned)got != have)) { -; 103 : gz_error(state, Z_ERRNO, zstrerror()); - - 000e0 ff 15 00 00 00 - 00 call DWORD PTR __imp___errno - 000e6 ff 30 push DWORD PTR [eax] - 000e8 ff 15 00 00 00 - 00 call DWORD PTR __imp__strerror - 000ee 50 push eax - 000ef 83 ca ff or edx, -1 - 000f2 8b cf mov ecx, edi - 000f4 e8 00 00 00 00 call _gz_error - 000f9 83 c4 08 add esp, 8 - -; 118 : "internal error: deflate stream corrupt"); -; 119 : return -1; - - 000fc 83 c8 ff or eax, -1 - 000ff 5b pop ebx - 00100 5f pop edi - 00101 5e pop esi - -; 130 : } - - 00102 8b e5 mov esp, ebp - 00104 5d pop ebp - 00105 c3 ret 0 -$LN19@gz_comp: - -; 123 : -; 124 : /* if that completed a deflate stream, allow another to start */ -; 125 : if (flush == Z_FINISH) - - 00106 83 7d fc 04 cmp DWORD PTR _flush$1$[ebp], 4 - 0010a 75 06 jne SHORT $LN16@gz_comp - -; 126 : deflateReset(strm); - - 0010c 56 push esi - 0010d e8 00 00 00 00 call _deflateReset@4 -$LN16@gz_comp: - -; 127 : -; 128 : /* all done, no errors */ -; 129 : return 0; - - 00112 5b pop ebx - 00113 5f pop edi - 00114 33 c0 xor eax, eax - 00116 5e pop esi - -; 130 : } - - 00117 8b e5 mov esp, ebp - 00119 5d pop ebp - 0011a c3 ret 0 -$LN20@gz_comp: - -; 117 : gz_error(state, Z_STREAM_ERROR, - - 0011b 68 00 00 00 00 push OFFSET ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ - 00120 ba fe ff ff ff mov edx, -2 ; fffffffeH - 00125 8b cf mov ecx, edi - 00127 e8 00 00 00 00 call _gz_error - 0012c 83 c4 04 add esp, 4 - -; 118 : "internal error: deflate stream corrupt"); -; 119 : return -1; - - 0012f 83 c8 ff or eax, -1 - 00132 5b pop ebx - 00133 5f pop edi - 00134 5e pop esi - -; 130 : } - - 00135 8b e5 mov esp, ebp - 00137 5d pop ebp - 00138 c3 ret 0 -_gz_comp ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gz_zero -_TEXT SEGMENT -_first$1$ = -8 ; size = 4 -_len$2$ = -4 ; size = 4 -_len$ = 8 ; size = 8 -_gz_zero PROC ; COMDAT -; _state$ = ecx - -; 136 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - 00006 56 push esi - 00007 8b f1 mov esi, ecx - -; 137 : int first; -; 138 : unsigned n; -; 139 : z_streamp strm = &(state->strm); -; 140 : -; 141 : /* consume whatever's left in the input buffer */ -; 142 : if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) - - 00009 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 0000d 74 13 je SHORT $LN4@gz_zero - 0000f 33 d2 xor edx, edx - 00011 e8 00 00 00 00 call _gz_comp - 00016 83 f8 ff cmp eax, -1 - 00019 75 07 jne SHORT $LN4@gz_zero - -; 143 : return -1; - - 0001b 0b c0 or eax, eax - 0001d 5e pop esi - -; 162 : } - - 0001e 8b e5 mov esp, ebp - 00020 5d pop ebp - 00021 c3 ret 0 -$LN4@gz_zero: - -; 144 : -; 145 : /* compress len zeros (len guaranteed > 0) */ -; 146 : first = 1; -; 147 : while (len) { - - 00022 8b 4d 0c mov ecx, DWORD PTR _len$[ebp+4] - 00025 ba 01 00 00 00 mov edx, 1 - 0002a 53 push ebx - 0002b 8b 5d 08 mov ebx, DWORD PTR _len$[ebp] - 0002e 8b c3 mov eax, ebx - 00030 0b c1 or eax, ecx - 00032 89 55 f8 mov DWORD PTR _first$1$[ebp], edx - 00035 57 push edi - 00036 89 4d fc mov DWORD PTR _len$2$[ebp], ecx - 00039 74 61 je SHORT $LN3@gz_zero - 0003b 0f 1f 44 00 00 npad 5 -$LL2@gz_zero: - -; 148 : n = GT_OFF(state->size) || (z_off64_t)state->size > len ? - - 00040 8b 7e 1c mov edi, DWORD PTR [esi+28] - 00043 33 c0 xor eax, eax - 00045 3b c1 cmp eax, ecx - 00047 7f 06 jg SHORT $LN8@gz_zero - 00049 7c 06 jl SHORT $LN9@gz_zero - 0004b 3b fb cmp edi, ebx - 0004d 76 02 jbe SHORT $LN9@gz_zero -$LN8@gz_zero: - 0004f 8b fb mov edi, ebx -$LN9@gz_zero: - -; 149 : (unsigned)len : state->size; -; 150 : if (first) { - - 00051 85 d2 test edx, edx - 00053 74 15 je SHORT $LN5@gz_zero - -; 151 : memset(state->in, 0, n); - - 00055 57 push edi - 00056 6a 00 push 0 - 00058 ff 76 24 push DWORD PTR [esi+36] - 0005b e8 00 00 00 00 call _memset - 00060 83 c4 0c add esp, 12 ; 0000000cH - -; 152 : first = 0; - - 00063 c7 45 f8 00 00 - 00 00 mov DWORD PTR _first$1$[ebp], 0 -$LN5@gz_zero: - -; 153 : } -; 154 : strm->avail_in = n; - - 0006a 89 7e 68 mov DWORD PTR [esi+104], edi - -; 155 : strm->next_in = state->in; -; 156 : state->x.pos += n; -; 157 : if (gz_comp(state, Z_NO_FLUSH) == -1) - - 0006d 8b ce mov ecx, esi - 0006f 8b 46 24 mov eax, DWORD PTR [esi+36] - 00072 89 46 64 mov DWORD PTR [esi+100], eax - 00075 01 7e 08 add DWORD PTR [esi+8], edi - 00078 83 56 0c 00 adc DWORD PTR [esi+12], 0 - 0007c 33 d2 xor edx, edx - 0007e e8 00 00 00 00 call _gz_comp - 00083 83 f8 ff cmp eax, -1 - 00086 74 1d je SHORT $LN11@gz_zero - -; 159 : len -= n; - - 00088 8b 4d fc mov ecx, DWORD PTR _len$2$[ebp] - 0008b 2b df sub ebx, edi - 0008d 8b 55 f8 mov edx, DWORD PTR _first$1$[ebp] - 00090 8b c3 mov eax, ebx - 00092 83 d9 00 sbb ecx, 0 - 00095 0b c1 or eax, ecx - 00097 89 4d fc mov DWORD PTR _len$2$[ebp], ecx - 0009a 75 a4 jne SHORT $LL2@gz_zero -$LN3@gz_zero: - 0009c 5f pop edi - 0009d 5b pop ebx - -; 160 : } -; 161 : return 0; - - 0009e 33 c0 xor eax, eax - 000a0 5e pop esi - -; 162 : } - - 000a1 8b e5 mov esp, ebp - 000a3 5d pop ebp - 000a4 c3 ret 0 -$LN11@gz_zero: - 000a5 5f pop edi - 000a6 5b pop ebx - -; 158 : return -1; - - 000a7 83 c8 ff or eax, -1 - 000aa 5e pop esi - -; 162 : } - - 000ab 8b e5 mov esp, ebp - 000ad 5d pop ebp - 000ae c3 ret 0 -_gz_zero ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gzwrite@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_buf$1$ = 12 ; size = 4 -_buf$ = 12 ; size = 4 -_put$1$ = 16 ; size = 4 -_len$ = 16 ; size = 4 -_gzwrite@12 PROC ; COMDAT - -; 169 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 170 : unsigned put = len; - - 00004 8b 5d 10 mov ebx, DWORD PTR _len$[ebp] - 00007 56 push esi - -; 171 : gz_statep state; -; 172 : z_streamp strm; -; 173 : -; 174 : /* get internal structure */ -; 175 : if (file == NULL) - - 00008 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 0000b 89 5d 10 mov DWORD PTR _put$1$[ebp], ebx - 0000e 85 f6 test esi, esi - 00010 74 27 je SHORT $LN29@gzwrite - -; 176 : return 0; -; 177 : state = (gz_statep)file; -; 178 : strm = &(state->strm); -; 179 : -; 180 : /* check that we're writing and that there's no error */ -; 181 : if (state->mode != GZ_WRITE || state->err != Z_OK) - - 00012 81 7e 10 b1 79 - 00 00 cmp DWORD PTR [esi+16], 31153 ; 000079b1H - 00019 75 1e jne SHORT $LN29@gzwrite - 0001b 83 7e 5c 00 cmp DWORD PTR [esi+92], 0 - 0001f 75 18 jne SHORT $LN29@gzwrite - -; 182 : return 0; -; 183 : -; 184 : /* since an int is returned, make sure len fits in one, otherwise return -; 185 : with an error (this avoids the flaw in the interface) */ -; 186 : if ((int)len < 0) { - - 00021 85 db test ebx, ebx - 00023 79 1c jns SHORT $LN27@gzwrite - -; 187 : gz_error(state, Z_DATA_ERROR, "requested length does not fit in int"); - - 00025 68 00 00 00 00 push OFFSET ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ - 0002a ba fd ff ff ff mov edx, -3 ; fffffffdH - 0002f 8b ce mov ecx, esi - 00031 e8 00 00 00 00 call _gz_error - 00036 83 c4 04 add esp, 4 -$LN29@gzwrite: - -; 188 : return 0; - - 00039 5e pop esi - 0003a 33 c0 xor eax, eax - 0003c 5b pop ebx - -; 242 : } - - 0003d 5d pop ebp - 0003e c2 0c 00 ret 12 ; 0000000cH -$LN27@gzwrite: - -; 189 : } -; 190 : -; 191 : /* if len is zero, avoid unnecessary operations */ -; 192 : if (len == 0) - - 00041 74 f6 je SHORT $LN29@gzwrite - -; 193 : return 0; -; 194 : -; 195 : /* allocate memory if this is the first time through */ -; 196 : if (state->size == 0 && gz_init(state) == -1) - - 00043 83 7e 1c 00 cmp DWORD PTR [esi+28], 0 - 00047 75 0c jne SHORT $LN10@gzwrite - 00049 8b ce mov ecx, esi - 0004b e8 00 00 00 00 call _gz_init - 00050 83 f8 ff cmp eax, -1 - 00053 74 e4 je SHORT $LN29@gzwrite -$LN10@gzwrite: - -; 197 : return 0; -; 198 : -; 199 : /* check for seek request */ -; 200 : if (state->seek) { - - 00055 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - 00059 74 1c je SHORT $LN12@gzwrite - -; 201 : state->seek = 0; -; 202 : if (gz_zero(state, state->skip) == -1) - - 0005b ff 76 54 push DWORD PTR [esi+84] - 0005e 8b ce mov ecx, esi - 00060 c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 00067 ff 76 50 push DWORD PTR [esi+80] - 0006a e8 00 00 00 00 call _gz_zero - 0006f 83 c4 08 add esp, 8 - 00072 83 f8 ff cmp eax, -1 - 00075 74 c2 je SHORT $LN29@gzwrite -$LN12@gzwrite: - 00077 57 push edi - -; 203 : return 0; -; 204 : } -; 205 : -; 206 : /* for small len, copy to input buffer, otherwise compress directly */ -; 207 : if (len < state->size) { - - 00078 3b 5e 1c cmp ebx, DWORD PTR [esi+28] - 0007b 73 5d jae SHORT $LN13@gzwrite - 0007d 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 00080 89 45 0c mov DWORD PTR _buf$1$[ebp], eax -$LL4@gzwrite: - -; 208 : /* copy to input buffer, compress when full */ -; 209 : do { -; 210 : unsigned have, copy; -; 211 : -; 212 : if (strm->avail_in == 0) - - 00083 8b 56 68 mov edx, DWORD PTR [esi+104] - 00086 85 d2 test edx, edx - 00088 75 06 jne SHORT $LN15@gzwrite - -; 213 : strm->next_in = state->in; - - 0008a 8b 46 24 mov eax, DWORD PTR [esi+36] - 0008d 89 46 64 mov DWORD PTR [esi+100], eax -$LN15@gzwrite: - -; 214 : have = (unsigned)((strm->next_in + strm->avail_in) - state->in); - - 00090 8b 46 64 mov eax, DWORD PTR [esi+100] - 00093 2b 46 24 sub eax, DWORD PTR [esi+36] - -; 215 : copy = state->size - have; - - 00096 8b 7e 1c mov edi, DWORD PTR [esi+28] - 00099 03 c2 add eax, edx - 0009b 2b f8 sub edi, eax - -; 216 : if (copy > len) - - 0009d 3b fb cmp edi, ebx - 0009f 0f 47 fb cmova edi, ebx - -; 217 : copy = len; -; 218 : memcpy(state->in + have, buf, copy); - - 000a2 03 46 24 add eax, DWORD PTR [esi+36] - 000a5 57 push edi - 000a6 ff 75 0c push DWORD PTR _buf$1$[ebp] - 000a9 50 push eax - 000aa e8 00 00 00 00 call _memcpy - -; 219 : strm->avail_in += copy; - - 000af 01 7e 68 add DWORD PTR [esi+104], edi - 000b2 83 c4 0c add esp, 12 ; 0000000cH - -; 220 : state->x.pos += copy; - - 000b5 01 7e 08 add DWORD PTR [esi+8], edi - 000b8 83 56 0c 00 adc DWORD PTR [esi+12], 0 - -; 221 : buf = (const char *)buf + copy; - - 000bc 01 7d 0c add DWORD PTR _buf$1$[ebp], edi - -; 222 : len -= copy; - - 000bf 2b df sub ebx, edi - -; 223 : if (len && gz_comp(state, Z_NO_FLUSH) == -1) - - 000c1 74 49 je SHORT $LN19@gzwrite - 000c3 33 d2 xor edx, edx - 000c5 8b ce mov ecx, esi - 000c7 e8 00 00 00 00 call _gz_comp - 000cc 83 f8 ff cmp eax, -1 - 000cf 75 b2 jne SHORT $LL4@gzwrite -$LN28@gzwrite: - 000d1 5f pop edi - 000d2 5e pop esi - -; 224 : return 0; - - 000d3 33 c0 xor eax, eax - 000d5 5b pop ebx - -; 242 : } - - 000d6 5d pop ebp - 000d7 c2 0c 00 ret 12 ; 0000000cH -$LN13@gzwrite: - -; 225 : } while (len); -; 226 : } -; 227 : else { -; 228 : /* consume whatever's left in the input buffer */ -; 229 : if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) - - 000da 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 000de 74 0e je SHORT $LN18@gzwrite - 000e0 33 d2 xor edx, edx - 000e2 8b ce mov ecx, esi - 000e4 e8 00 00 00 00 call _gz_comp - 000e9 83 f8 ff cmp eax, -1 - 000ec 74 e3 je SHORT $LN28@gzwrite -$LN18@gzwrite: - -; 230 : return 0; -; 231 : -; 232 : /* directly compress user buffer to file */ -; 233 : strm->avail_in = len; -; 234 : strm->next_in = (z_const Bytef *)buf; - - 000ee 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - -; 235 : state->x.pos += len; -; 236 : if (gz_comp(state, Z_NO_FLUSH) == -1) - - 000f1 8b ce mov ecx, esi - 000f3 89 5e 68 mov DWORD PTR [esi+104], ebx - 000f6 89 46 64 mov DWORD PTR [esi+100], eax - 000f9 01 5e 08 add DWORD PTR [esi+8], ebx - 000fc 83 56 0c 00 adc DWORD PTR [esi+12], 0 - 00100 33 d2 xor edx, edx - 00102 e8 00 00 00 00 call _gz_comp - 00107 83 f8 ff cmp eax, -1 - 0010a 74 c5 je SHORT $LN28@gzwrite -$LN19@gzwrite: - -; 237 : return 0; -; 238 : } -; 239 : -; 240 : /* input was all buffered or compressed (put will fit in int) */ -; 241 : return (int)put; - - 0010c 8b 45 10 mov eax, DWORD PTR _put$1$[ebp] - 0010f 5f pop edi - 00110 5e pop esi - 00111 5b pop ebx - -; 242 : } - - 00112 5d pop ebp - 00113 c2 0c 00 ret 12 ; 0000000cH -_gzwrite@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gzputc@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_buf$ = 11 ; size = 1 -_c$ = 12 ; size = 4 -_gzputc@8 PROC ; COMDAT - -; 248 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 249 : unsigned have; -; 250 : unsigned char buf[1]; -; 251 : gz_statep state; -; 252 : z_streamp strm; -; 253 : -; 254 : /* get internal structure */ -; 255 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 08 jne SHORT $LN2@gzputc -$LN14@gzputc: - -; 256 : return -1; - - 0000b 83 c8 ff or eax, -1 - 0000e 5e pop esi - -; 290 : } - - 0000f 5d pop ebp - 00010 c2 08 00 ret 8 -$LN2@gzputc: - -; 257 : state = (gz_statep)file; -; 258 : strm = &(state->strm); -; 259 : -; 260 : /* check that we're writing and that there's no error */ -; 261 : if (state->mode != GZ_WRITE || state->err != Z_OK) - - 00013 81 7e 10 b1 79 - 00 00 cmp DWORD PTR [esi+16], 31153 ; 000079b1H - 0001a 75 ef jne SHORT $LN14@gzputc - 0001c 83 7e 5c 00 cmp DWORD PTR [esi+92], 0 - 00020 75 e9 jne SHORT $LN14@gzputc - -; 262 : return -1; -; 263 : -; 264 : /* check for seek request */ -; 265 : if (state->seek) { - - 00022 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - 00026 74 1c je SHORT $LN6@gzputc - -; 266 : state->seek = 0; -; 267 : if (gz_zero(state, state->skip) == -1) - - 00028 ff 76 54 push DWORD PTR [esi+84] - 0002b 8b ce mov ecx, esi - 0002d c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 00034 ff 76 50 push DWORD PTR [esi+80] - 00037 e8 00 00 00 00 call _gz_zero - 0003c 83 c4 08 add esp, 8 - 0003f 83 f8 ff cmp eax, -1 - 00042 74 c7 je SHORT $LN14@gzputc -$LN6@gzputc: - -; 268 : return -1; -; 269 : } -; 270 : -; 271 : /* try writing to input buffer for speed (state->size == 0 if buffer not -; 272 : initialized) */ -; 273 : if (state->size) { - - 00044 83 7e 1c 00 cmp DWORD PTR [esi+28], 0 - 00048 57 push edi - 00049 74 36 je SHORT $LN9@gzputc - -; 274 : if (strm->avail_in == 0) - - 0004b 8b 56 68 mov edx, DWORD PTR [esi+104] - 0004e 85 d2 test edx, edx - 00050 75 06 jne SHORT $LN8@gzputc - -; 275 : strm->next_in = state->in; - - 00052 8b 46 24 mov eax, DWORD PTR [esi+36] - 00055 89 46 64 mov DWORD PTR [esi+100], eax -$LN8@gzputc: - -; 276 : have = (unsigned)((strm->next_in + strm->avail_in) - state->in); - - 00058 8b 4e 64 mov ecx, DWORD PTR [esi+100] - 0005b 8b 7e 24 mov edi, DWORD PTR [esi+36] - 0005e 2b cf sub ecx, edi - 00060 03 ca add ecx, edx - -; 277 : if (have < state->size) { - - 00062 3b 4e 1c cmp ecx, DWORD PTR [esi+28] - 00065 73 1a jae SHORT $LN9@gzputc - -; 278 : state->in[have] = c; - - 00067 8b 45 0c mov eax, DWORD PTR _c$[ebp] - 0006a 88 04 0f mov BYTE PTR [edi+ecx], al - -; 279 : strm->avail_in++; - - 0006d ff 46 68 inc DWORD PTR [esi+104] - -; 280 : state->x.pos++; - - 00070 83 46 08 01 add DWORD PTR [esi+8], 1 - 00074 5f pop edi - 00075 83 56 0c 00 adc DWORD PTR [esi+12], 0 - -; 281 : return c & 0xff; - - 00079 0f b6 c0 movzx eax, al - 0007c 5e pop esi - -; 290 : } - - 0007d 5d pop ebp - 0007e c2 08 00 ret 8 -$LN9@gzputc: - 00081 53 push ebx - -; 282 : } -; 283 : } -; 284 : -; 285 : /* no room in buffer or not initialized, use gz_write() */ -; 286 : buf[0] = c; - - 00082 8b 5d 0c mov ebx, DWORD PTR _c$[ebp] - -; 287 : if (gzwrite(file, buf, 1) != 1) - - 00085 8d 45 0b lea eax, DWORD PTR _buf$[ebp] - 00088 6a 01 push 1 - 0008a 50 push eax - 0008b 56 push esi - 0008c 88 5d 0b mov BYTE PTR _buf$[ebp], bl - 0008f e8 00 00 00 00 call _gzwrite@12 - 00094 83 f8 01 cmp eax, 1 - 00097 74 0a je SHORT $LN10@gzputc - -; 288 : return -1; - - 00099 5b pop ebx - 0009a 5f pop edi - 0009b 83 c8 ff or eax, -1 - 0009e 5e pop esi - -; 290 : } - - 0009f 5d pop ebp - 000a0 c2 08 00 ret 8 -$LN10@gzputc: - -; 289 : return c & 0xff; - - 000a3 0f b6 c3 movzx eax, bl - 000a6 5b pop ebx - 000a7 5f pop edi - 000a8 5e pop esi - -; 290 : } - - 000a9 5d pop ebp - 000aa c2 08 00 ret 8 -_gzputc@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gzputs@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_str$ = 12 ; size = 4 -_gzputs@8 PROC ; COMDAT - -; 296 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 297 : int ret; -; 298 : unsigned len; -; 299 : -; 300 : /* write string */ -; 301 : len = (unsigned)strlen(str); - - 00003 8b 4d 0c mov ecx, DWORD PTR _str$[ebp] - 00006 56 push esi - 00007 8b f1 mov esi, ecx - 00009 8d 56 01 lea edx, DWORD PTR [esi+1] - 0000c 0f 1f 40 00 npad 4 -$LL5@gzputs: - 00010 8a 06 mov al, BYTE PTR [esi] - 00012 46 inc esi - 00013 84 c0 test al, al - 00015 75 f9 jne SHORT $LL5@gzputs - 00017 2b f2 sub esi, edx - -; 302 : ret = gzwrite(file, str, len); - - 00019 56 push esi - 0001a 51 push ecx - 0001b ff 75 08 push DWORD PTR _file$[ebp] - 0001e e8 00 00 00 00 call _gzwrite@12 - -; 303 : return ret == 0 && len != 0 ? -1 : ret; - - 00023 85 c0 test eax, eax - 00025 75 07 jne SHORT $LN4@gzputs - 00027 85 f6 test esi, esi - 00029 74 03 je SHORT $LN4@gzputs - 0002b 83 c8 ff or eax, -1 -$LN4@gzputs: - 0002e 5e pop esi - -; 304 : } - - 0002f 5d pop ebp - 00030 c2 08 00 ret 8 -_gzputs@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gzvprintf -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_format$ = 12 ; size = 4 -_va$ = 16 ; size = 4 -_gzvprintf PROC ; COMDAT - -; 311 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 312 : int size, len; -; 313 : gz_statep state; -; 314 : z_streamp strm; -; 315 : -; 316 : /* get internal structure */ -; 317 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 06 jne SHORT $LN2@gzvprintf - -; 318 : return -1; - - 0000b 83 c8 ff or eax, -1 - 0000e 5e pop esi - -; 370 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -$LN2@gzvprintf: - -; 319 : state = (gz_statep)file; -; 320 : strm = &(state->strm); -; 321 : -; 322 : /* check that we're writing and that there's no error */ -; 323 : if (state->mode != GZ_WRITE || state->err != Z_OK) - - 00011 81 7e 10 b1 79 - 00 00 cmp DWORD PTR [esi+16], 31153 ; 000079b1H - 00018 75 18 jne SHORT $LN16@gzvprintf - 0001a 83 7e 5c 00 cmp DWORD PTR [esi+92], 0 - 0001e 75 12 jne SHORT $LN16@gzvprintf - -; 324 : return 0; -; 325 : -; 326 : /* make sure we have some buffer space */ -; 327 : if (state->size == 0 && gz_init(state) == -1) - - 00020 83 7e 1c 00 cmp DWORD PTR [esi+28], 0 - 00024 75 11 jne SHORT $LN5@gzvprintf - 00026 8b ce mov ecx, esi - 00028 e8 00 00 00 00 call _gz_init - 0002d 83 f8 ff cmp eax, -1 - 00030 75 05 jne SHORT $LN5@gzvprintf -$LN16@gzvprintf: - -; 328 : return 0; - - 00032 33 c0 xor eax, eax - 00034 5e pop esi - -; 370 : } - - 00035 5d pop ebp - 00036 c3 ret 0 -$LN5@gzvprintf: - -; 329 : -; 330 : /* check for seek request */ -; 331 : if (state->seek) { - - 00037 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - 0003b 74 1c je SHORT $LN7@gzvprintf - -; 332 : state->seek = 0; -; 333 : if (gz_zero(state, state->skip) == -1) - - 0003d ff 76 54 push DWORD PTR [esi+84] - 00040 8b ce mov ecx, esi - 00042 c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 00049 ff 76 50 push DWORD PTR [esi+80] - 0004c e8 00 00 00 00 call _gz_zero - 00051 83 c4 08 add esp, 8 - 00054 83 f8 ff cmp eax, -1 - 00057 74 d9 je SHORT $LN16@gzvprintf -$LN7@gzvprintf: - -; 334 : return 0; -; 335 : } -; 336 : -; 337 : /* consume whatever's left in the input buffer */ -; 338 : if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) - - 00059 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 0005d 74 0e je SHORT $LN8@gzvprintf - 0005f 33 d2 xor edx, edx - 00061 8b ce mov ecx, esi - 00063 e8 00 00 00 00 call _gz_comp - 00068 83 f8 ff cmp eax, -1 - 0006b 74 c5 je SHORT $LN16@gzvprintf -$LN8@gzvprintf: - -; 343 : state->in[size - 1] = 0; - - 0006d 8b 46 24 mov eax, DWORD PTR [esi+36] - 00070 53 push ebx - 00071 8b 5e 1c mov ebx, DWORD PTR [esi+28] - 00074 57 push edi -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h - -; 1436 : int const _Result = __stdio_common_vsprintf( - - 00075 ff 75 10 push DWORD PTR _va$[ebp] - 00078 6a 00 push 0 - 0007a ff 75 0c push DWORD PTR _format$[ebp] -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c - -; 343 : state->in[size - 1] = 0; - - 0007d c6 44 03 ff 00 mov BYTE PTR [ebx+eax-1], 0 -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h - -; 1436 : int const _Result = __stdio_common_vsprintf( - - 00082 53 push ebx - 00083 ff 76 24 push DWORD PTR [esi+36] - 00086 e8 00 00 00 00 call ___local_stdio_printf_options - 0008b 8b 08 mov ecx, DWORD PTR [eax] - 0008d ff 70 04 push DWORD PTR [eax+4] - 00090 83 c9 02 or ecx, 2 - 00093 51 push ecx - 00094 ff 15 00 00 00 - 00 call DWORD PTR __imp____stdio_common_vsprintf - 0009a 8b f8 mov edi, eax - 0009c 83 c4 1c add esp, 28 ; 0000001cH - -; 1437 : _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, -; 1438 : _Buffer, _BufferCount, _Format, NULL, _ArgList); -; 1439 : -; 1440 : return _Result < 0 ? -1 : _Result; - - 0009f 83 c8 ff or eax, -1 - 000a2 85 ff test edi, edi - 000a4 0f 48 f8 cmovs edi, eax -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c - -; 362 : if (len <= 0 || len >= (int)size || state->in[size - 1] != 0) - - 000a7 85 ff test edi, edi - 000a9 7e 26 jle SHORT $LN10@gzvprintf - 000ab 3b fb cmp edi, ebx - 000ad 7d 22 jge SHORT $LN10@gzvprintf - 000af 8b 46 24 mov eax, DWORD PTR [esi+36] - 000b2 80 7c 03 ff 00 cmp BYTE PTR [ebx+eax-1], 0 - 000b7 75 18 jne SHORT $LN10@gzvprintf - -; 364 : -; 365 : /* update buffer and position, defer compression until needed */ -; 366 : strm->avail_in = (unsigned)len; -; 367 : strm->next_in = state->in; - - 000b9 8b c8 mov ecx, eax - 000bb 89 7e 68 mov DWORD PTR [esi+104], edi - -; 368 : state->x.pos += len; - - 000be 8b c7 mov eax, edi - 000c0 89 4e 64 mov DWORD PTR [esi+100], ecx - 000c3 99 cdq - 000c4 01 46 08 add DWORD PTR [esi+8], eax - -; 369 : return len; - - 000c7 8b c7 mov eax, edi - 000c9 5f pop edi - 000ca 11 56 0c adc DWORD PTR [esi+12], edx - 000cd 5b pop ebx - 000ce 5e pop esi - -; 370 : } - - 000cf 5d pop ebp - 000d0 c3 ret 0 -$LN10@gzvprintf: - 000d1 5f pop edi - 000d2 5b pop ebx - -; 363 : return 0; - - 000d3 33 c0 xor eax, eax - 000d5 5e pop esi - -; 370 : } - - 000d6 5d pop ebp - 000d7 c3 ret 0 -_gzvprintf ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gzprintf -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_format$ = 12 ; size = 4 -_gzprintf PROC ; COMDAT - -; 373 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 374 : va_list va; -; 375 : int ret; -; 376 : -; 377 : va_start(va, format); -; 378 : ret = gzvprintf(file, format, va); - - 00003 8d 45 10 lea eax, DWORD PTR _format$[ebp+4] - 00006 50 push eax - 00007 ff 75 0c push DWORD PTR _format$[ebp] - 0000a ff 75 08 push DWORD PTR _file$[ebp] - 0000d e8 00 00 00 00 call _gzvprintf - 00012 83 c4 0c add esp, 12 ; 0000000cH - -; 379 : va_end(va); -; 380 : return ret; -; 381 : } - - 00015 5d pop ebp - 00016 c3 ret 0 -_gzprintf ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gzflush@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_gzflush@8 PROC ; COMDAT - -; 468 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 469 : gz_statep state; -; 470 : -; 471 : /* get internal structure */ -; 472 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 08 jne SHORT $LN2@gzflush -$LN10@gzflush: - -; 473 : return -1; - - 0000b 83 c8 ff or eax, -1 - 0000e 5e pop esi - -; 494 : } - - 0000f 5d pop ebp - 00010 c2 08 00 ret 8 -$LN2@gzflush: - -; 474 : state = (gz_statep)file; -; 475 : -; 476 : /* check that we're writing and that there's no error */ -; 477 : if (state->mode != GZ_WRITE || state->err != Z_OK) - - 00013 81 7e 10 b1 79 - 00 00 cmp DWORD PTR [esi+16], 31153 ; 000079b1H - 0001a 75 40 jne SHORT $LN4@gzflush - 0001c 83 7e 5c 00 cmp DWORD PTR [esi+92], 0 - 00020 75 3a jne SHORT $LN4@gzflush - -; 479 : -; 480 : /* check flush parameter */ -; 481 : if (flush < 0 || flush > Z_FINISH) - - 00022 83 7d 0c 04 cmp DWORD PTR _flush$[ebp], 4 - 00026 77 34 ja SHORT $LN4@gzflush - -; 482 : return Z_STREAM_ERROR; -; 483 : -; 484 : /* check for seek request */ -; 485 : if (state->seek) { - - 00028 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - 0002c 74 1c je SHORT $LN8@gzflush - -; 486 : state->seek = 0; -; 487 : if (gz_zero(state, state->skip) == -1) - - 0002e ff 76 54 push DWORD PTR [esi+84] - 00031 8b ce mov ecx, esi - 00033 c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 0003a ff 76 50 push DWORD PTR [esi+80] - 0003d e8 00 00 00 00 call _gz_zero - 00042 83 c4 08 add esp, 8 - 00045 83 f8 ff cmp eax, -1 - 00048 74 c1 je SHORT $LN10@gzflush -$LN8@gzflush: - -; 488 : return -1; -; 489 : } -; 490 : -; 491 : /* compress remaining data with requested flush */ -; 492 : gz_comp(state, flush); - - 0004a 8b 55 0c mov edx, DWORD PTR _flush$[ebp] - 0004d 8b ce mov ecx, esi - 0004f e8 00 00 00 00 call _gz_comp - -; 493 : return state->err; - - 00054 8b 46 5c mov eax, DWORD PTR [esi+92] - 00057 5e pop esi - -; 494 : } - - 00058 5d pop ebp - 00059 c2 08 00 ret 8 -$LN4@gzflush: - -; 478 : return Z_STREAM_ERROR; - - 0005c b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00061 5e pop esi - -; 494 : } - - 00062 5d pop ebp - 00063 c2 08 00 ret 8 -_gzflush@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\gzwrite.c -; COMDAT _gzsetparams@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_level$ = 12 ; size = 4 -_strategy$ = 16 ; size = 4 -_gzsetparams@12 PROC ; COMDAT - -; 501 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 502 : gz_statep state; -; 503 : z_streamp strm; -; 504 : -; 505 : /* get internal structure */ -; 506 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 0a jne SHORT $LN2@gzsetparam -$LN4@gzsetparam: - -; 507 : return Z_STREAM_ERROR; - - 0000b b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00010 5e pop esi - -; 536 : } - - 00011 5d pop ebp - 00012 c2 0c 00 ret 12 ; 0000000cH -$LN2@gzsetparam: - -; 508 : state = (gz_statep)file; -; 509 : strm = &(state->strm); -; 510 : -; 511 : /* check that we're writing and that there's no error */ -; 512 : if (state->mode != GZ_WRITE || state->err != Z_OK) - - 00015 81 7e 10 b1 79 - 00 00 cmp DWORD PTR [esi+16], 31153 ; 000079b1H - 0001c 8d 46 64 lea eax, DWORD PTR [esi+100] - 0001f 75 ea jne SHORT $LN4@gzsetparam - 00021 83 7e 5c 00 cmp DWORD PTR [esi+92], 0 - 00025 75 e4 jne SHORT $LN4@gzsetparam - -; 513 : return Z_STREAM_ERROR; -; 514 : -; 515 : /* if no change is requested, then do nothing */ -; 516 : if (level == state->level && strategy == state->strategy) - - 00027 53 push ebx - 00028 8b 5d 0c mov ebx, DWORD PTR _level$[ebp] - 0002b 57 push edi - 0002c 8b 7d 10 mov edi, DWORD PTR _strategy$[ebp] - 0002f 3b 5e 48 cmp ebx, DWORD PTR [esi+72] - 00032 75 05 jne SHORT $LN5@gzsetparam - 00034 3b 7e 4c cmp edi, DWORD PTR [esi+76] - 00037 74 66 je SHORT $LN15@gzsetparam -$LN5@gzsetparam: - -; 517 : return Z_OK; -; 518 : -; 519 : /* check for seek request */ -; 520 : if (state->seek) { - - 00039 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - 0003d 74 28 je SHORT $LN7@gzsetparam - -; 521 : state->seek = 0; -; 522 : if (gz_zero(state, state->skip) == -1) - - 0003f ff 76 54 push DWORD PTR [esi+84] - 00042 8b ce mov ecx, esi - 00044 c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 0004b ff 76 50 push DWORD PTR [esi+80] - 0004e e8 00 00 00 00 call _gz_zero - 00053 83 c4 08 add esp, 8 - 00056 83 f8 ff cmp eax, -1 - 00059 75 09 jne SHORT $LN12@gzsetparam - -; 523 : return -1; - - 0005b 5f pop edi - 0005c 5b pop ebx - 0005d 0b c0 or eax, eax - 0005f 5e pop esi - -; 536 : } - - 00060 5d pop ebp - 00061 c2 0c 00 ret 12 ; 0000000cH -$LN12@gzsetparam: - 00064 8d 46 64 lea eax, DWORD PTR [esi+100] -$LN7@gzsetparam: - -; 524 : } -; 525 : -; 526 : /* change compression parameters for subsequent input */ -; 527 : if (state->size) { - - 00067 83 7e 1c 00 cmp DWORD PTR [esi+28], 0 - 0006b 74 2c je SHORT $LN8@gzsetparam - -; 528 : /* flush previous input with previous parameters before changing */ -; 529 : if (strm->avail_in && gz_comp(state, Z_PARTIAL_FLUSH) == -1) - - 0006d 83 78 04 00 cmp DWORD PTR [eax+4], 0 - 00071 74 1e je SHORT $LN9@gzsetparam - 00073 ba 01 00 00 00 mov edx, 1 - 00078 8b ce mov ecx, esi - 0007a e8 00 00 00 00 call _gz_comp - 0007f 83 f8 ff cmp eax, -1 - 00082 75 0a jne SHORT $LN11@gzsetparam - -; 530 : return state->err; - - 00084 8b 46 5c mov eax, DWORD PTR [esi+92] - 00087 5f pop edi - 00088 5b pop ebx - 00089 5e pop esi - -; 536 : } - - 0008a 5d pop ebp - 0008b c2 0c 00 ret 12 ; 0000000cH -$LN11@gzsetparam: - 0008e 8d 46 64 lea eax, DWORD PTR [esi+100] -$LN9@gzsetparam: - -; 531 : deflateParams(strm, level, strategy); - - 00091 57 push edi - 00092 53 push ebx - 00093 50 push eax - 00094 e8 00 00 00 00 call _deflateParams@12 -$LN8@gzsetparam: - -; 532 : } -; 533 : state->level = level; - - 00099 89 5e 48 mov DWORD PTR [esi+72], ebx - -; 534 : state->strategy = strategy; - - 0009c 89 7e 4c mov DWORD PTR [esi+76], edi -$LN15@gzsetparam: - -; 535 : return Z_OK; - - 0009f 5f pop edi - 000a0 5b pop ebx - 000a1 33 c0 xor eax, eax - 000a3 5e pop esi - -; 536 : } - - 000a4 5d pop ebp - 000a5 c2 0c 00 ret 12 ; 0000000cH -_gzsetparams@12 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzwrite.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzwrite.obj deleted file mode 100644 index ebc4fb6798..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/gzwrite.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/infback.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/infback.cod deleted file mode 100644 index 54b07f8d38..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/infback.cod +++ /dev/null @@ -1,4354 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\infback.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ ; `string' -PUBLIC ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ ; `string' -PUBLIC ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ ; `string' -PUBLIC ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ ; `string' -PUBLIC ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ ; `string' -PUBLIC ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ ; `string' -PUBLIC ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ ; `string' -PUBLIC ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ ; `string' -PUBLIC ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ ; `string' -PUBLIC ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ ; `string' -PUBLIC ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ ; `string' -; COMDAT ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ -CONST SEGMENT -??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ DB 'invalid dis' - DB 'tance too far back', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ -CONST SEGMENT -??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ DB 'invalid distance code' - DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ -CONST SEGMENT -??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ DB 'invalid litera' - DB 'l/length code', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ -CONST SEGMENT -??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ DB 'invalid distances set' - DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ -CONST SEGMENT -??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ DB 'invalid litera' - DB 'l/lengths set', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ -CONST SEGMENT -??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ DB 'invalid ' - DB 'code -- missing end-of-block', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ -CONST SEGMENT -??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ DB 'invalid bit leng' - DB 'th repeat', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ -CONST SEGMENT -??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ DB 'invalid code leng' - DB 'ths set', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ -CONST SEGMENT -??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ DB 'too many le' - DB 'ngth or distance symbols', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ -CONST SEGMENT -??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ DB 'invalid store' - DB 'd block lengths', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ -CONST SEGMENT -??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ DB 'invalid block type', 00H ; `string' -?lenfix@?1??fixedtables@@9@9 DB 060H ; `fixedtables'::`2'::lenfix - DB 07H - DW 00H - DB 00H - DB 08H - DW 050H - DB 00H - DB 08H - DW 010H - DB 014H - DB 08H - DW 073H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 070H - DB 00H - DB 08H - DW 030H - DB 00H - DB 09H - DW 0c0H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 060H - DB 00H - DB 08H - DW 020H - DB 00H - DB 09H - DW 0a0H - DB 00H - DB 08H - DW 00H - DB 00H - DB 08H - DW 080H - DB 00H - DB 08H - DW 040H - DB 00H - DB 09H - DW 0e0H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 058H - DB 00H - DB 08H - DW 018H - DB 00H - DB 09H - DW 090H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 078H - DB 00H - DB 08H - DW 038H - DB 00H - DB 09H - DW 0d0H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 068H - DB 00H - DB 08H - DW 028H - DB 00H - DB 09H - DW 0b0H - DB 00H - DB 08H - DW 08H - DB 00H - DB 08H - DW 088H - DB 00H - DB 08H - DW 048H - DB 00H - DB 09H - DW 0f0H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 054H - DB 00H - DB 08H - DW 014H - DB 015H - DB 08H - DW 0e3H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 074H - DB 00H - DB 08H - DW 034H - DB 00H - DB 09H - DW 0c8H - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 064H - DB 00H - DB 08H - DW 024H - DB 00H - DB 09H - DW 0a8H - DB 00H - DB 08H - DW 04H - DB 00H - DB 08H - DW 084H - DB 00H - DB 08H - DW 044H - DB 00H - DB 09H - DW 0e8H - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05cH - DB 00H - DB 08H - DW 01cH - DB 00H - DB 09H - DW 098H - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07cH - DB 00H - DB 08H - DW 03cH - DB 00H - DB 09H - DW 0d8H - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06cH - DB 00H - DB 08H - DW 02cH - DB 00H - DB 09H - DW 0b8H - DB 00H - DB 08H - DW 0cH - DB 00H - DB 08H - DW 08cH - DB 00H - DB 08H - DW 04cH - DB 00H - DB 09H - DW 0f8H - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 052H - DB 00H - DB 08H - DW 012H - DB 015H - DB 08H - DW 0a3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 072H - DB 00H - DB 08H - DW 032H - DB 00H - DB 09H - DW 0c4H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 062H - DB 00H - DB 08H - DW 022H - DB 00H - DB 09H - DW 0a4H - DB 00H - DB 08H - DW 02H - DB 00H - DB 08H - DW 082H - DB 00H - DB 08H - DW 042H - DB 00H - DB 09H - DW 0e4H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05aH - DB 00H - DB 08H - DW 01aH - DB 00H - DB 09H - DW 094H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07aH - DB 00H - DB 08H - DW 03aH - DB 00H - DB 09H - DW 0d4H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06aH - DB 00H - DB 08H - DW 02aH - DB 00H - DB 09H - DW 0b4H - DB 00H - DB 08H - DW 0aH - DB 00H - DB 08H - DW 08aH - DB 00H - DB 08H - DW 04aH - DB 00H - DB 09H - DW 0f4H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 056H - DB 00H - DB 08H - DW 016H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 076H - DB 00H - DB 08H - DW 036H - DB 00H - DB 09H - DW 0ccH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 066H - DB 00H - DB 08H - DW 026H - DB 00H - DB 09H - DW 0acH - DB 00H - DB 08H - DW 06H - DB 00H - DB 08H - DW 086H - DB 00H - DB 08H - DW 046H - DB 00H - DB 09H - DW 0ecH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05eH - DB 00H - DB 08H - DW 01eH - DB 00H - DB 09H - DW 09cH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07eH - DB 00H - DB 08H - DW 03eH - DB 00H - DB 09H - DW 0dcH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06eH - DB 00H - DB 08H - DW 02eH - DB 00H - DB 09H - DW 0bcH - DB 00H - DB 08H - DW 0eH - DB 00H - DB 08H - DW 08eH - DB 00H - DB 08H - DW 04eH - DB 00H - DB 09H - DW 0fcH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 051H - DB 00H - DB 08H - DW 011H - DB 015H - DB 08H - DW 083H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 071H - DB 00H - DB 08H - DW 031H - DB 00H - DB 09H - DW 0c2H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 061H - DB 00H - DB 08H - DW 021H - DB 00H - DB 09H - DW 0a2H - DB 00H - DB 08H - DW 01H - DB 00H - DB 08H - DW 081H - DB 00H - DB 08H - DW 041H - DB 00H - DB 09H - DW 0e2H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 059H - DB 00H - DB 08H - DW 019H - DB 00H - DB 09H - DW 092H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 079H - DB 00H - DB 08H - DW 039H - DB 00H - DB 09H - DW 0d2H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 069H - DB 00H - DB 08H - DW 029H - DB 00H - DB 09H - DW 0b2H - DB 00H - DB 08H - DW 09H - DB 00H - DB 08H - DW 089H - DB 00H - DB 08H - DW 049H - DB 00H - DB 09H - DW 0f2H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 055H - DB 00H - DB 08H - DW 015H - DB 010H - DB 08H - DW 0102H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 075H - DB 00H - DB 08H - DW 035H - DB 00H - DB 09H - DW 0caH - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 065H - DB 00H - DB 08H - DW 025H - DB 00H - DB 09H - DW 0aaH - DB 00H - DB 08H - DW 05H - DB 00H - DB 08H - DW 085H - DB 00H - DB 08H - DW 045H - DB 00H - DB 09H - DW 0eaH - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05dH - DB 00H - DB 08H - DW 01dH - DB 00H - DB 09H - DW 09aH - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07dH - DB 00H - DB 08H - DW 03dH - DB 00H - DB 09H - DW 0daH - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06dH - DB 00H - DB 08H - DW 02dH - DB 00H - DB 09H - DW 0baH - DB 00H - DB 08H - DW 0dH - DB 00H - DB 08H - DW 08dH - DB 00H - DB 08H - DW 04dH - DB 00H - DB 09H - DW 0faH - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 053H - DB 00H - DB 08H - DW 013H - DB 015H - DB 08H - DW 0c3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 073H - DB 00H - DB 08H - DW 033H - DB 00H - DB 09H - DW 0c6H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 063H - DB 00H - DB 08H - DW 023H - DB 00H - DB 09H - DW 0a6H - DB 00H - DB 08H - DW 03H - DB 00H - DB 08H - DW 083H - DB 00H - DB 08H - DW 043H - DB 00H - DB 09H - DW 0e6H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05bH - DB 00H - DB 08H - DW 01bH - DB 00H - DB 09H - DW 096H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07bH - DB 00H - DB 08H - DW 03bH - DB 00H - DB 09H - DW 0d6H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06bH - DB 00H - DB 08H - DW 02bH - DB 00H - DB 09H - DW 0b6H - DB 00H - DB 08H - DW 0bH - DB 00H - DB 08H - DW 08bH - DB 00H - DB 08H - DW 04bH - DB 00H - DB 09H - DW 0f6H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 057H - DB 00H - DB 08H - DW 017H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 077H - DB 00H - DB 08H - DW 037H - DB 00H - DB 09H - DW 0ceH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 067H - DB 00H - DB 08H - DW 027H - DB 00H - DB 09H - DW 0aeH - DB 00H - DB 08H - DW 07H - DB 00H - DB 08H - DW 087H - DB 00H - DB 08H - DW 047H - DB 00H - DB 09H - DW 0eeH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05fH - DB 00H - DB 08H - DW 01fH - DB 00H - DB 09H - DW 09eH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07fH - DB 00H - DB 08H - DW 03fH - DB 00H - DB 09H - DW 0deH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06fH - DB 00H - DB 08H - DW 02fH - DB 00H - DB 09H - DW 0beH - DB 00H - DB 08H - DW 0fH - DB 00H - DB 08H - DW 08fH - DB 00H - DB 08H - DW 04fH - DB 00H - DB 09H - DW 0feH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 050H - DB 00H - DB 08H - DW 010H - DB 014H - DB 08H - DW 073H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 070H - DB 00H - DB 08H - DW 030H - DB 00H - DB 09H - DW 0c1H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 060H - DB 00H - DB 08H - DW 020H - DB 00H - DB 09H - DW 0a1H - DB 00H - DB 08H - DW 00H - DB 00H - DB 08H - DW 080H - DB 00H - DB 08H - DW 040H - DB 00H - DB 09H - DW 0e1H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 058H - DB 00H - DB 08H - DW 018H - DB 00H - DB 09H - DW 091H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 078H - DB 00H - DB 08H - DW 038H - DB 00H - DB 09H - DW 0d1H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 068H - DB 00H - DB 08H - DW 028H - DB 00H - DB 09H - DW 0b1H - DB 00H - DB 08H - DW 08H - DB 00H - DB 08H - DW 088H - DB 00H - DB 08H - DW 048H - DB 00H - DB 09H - DW 0f1H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 054H - DB 00H - DB 08H - DW 014H - DB 015H - DB 08H - DW 0e3H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 074H - DB 00H - DB 08H - DW 034H - DB 00H - DB 09H - DW 0c9H - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 064H - DB 00H - DB 08H - DW 024H - DB 00H - DB 09H - DW 0a9H - DB 00H - DB 08H - DW 04H - DB 00H - DB 08H - DW 084H - DB 00H - DB 08H - DW 044H - DB 00H - DB 09H - DW 0e9H - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05cH - DB 00H - DB 08H - DW 01cH - DB 00H - DB 09H - DW 099H - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07cH - DB 00H - DB 08H - DW 03cH - DB 00H - DB 09H - DW 0d9H - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06cH - DB 00H - DB 08H - DW 02cH - DB 00H - DB 09H - DW 0b9H - DB 00H - DB 08H - DW 0cH - DB 00H - DB 08H - DW 08cH - DB 00H - DB 08H - DW 04cH - DB 00H - DB 09H - DW 0f9H - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 052H - DB 00H - DB 08H - DW 012H - DB 015H - DB 08H - DW 0a3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 072H - DB 00H - DB 08H - DW 032H - DB 00H - DB 09H - DW 0c5H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 062H - DB 00H - DB 08H - DW 022H - DB 00H - DB 09H - DW 0a5H - DB 00H - DB 08H - DW 02H - DB 00H - DB 08H - DW 082H - DB 00H - DB 08H - DW 042H - DB 00H - DB 09H - DW 0e5H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05aH - DB 00H - DB 08H - DW 01aH - DB 00H - DB 09H - DW 095H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07aH - DB 00H - DB 08H - DW 03aH - DB 00H - DB 09H - DW 0d5H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06aH - DB 00H - DB 08H - DW 02aH - DB 00H - DB 09H - DW 0b5H - DB 00H - DB 08H - DW 0aH - DB 00H - DB 08H - DW 08aH - DB 00H - DB 08H - DW 04aH - DB 00H - DB 09H - DW 0f5H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 056H - DB 00H - DB 08H - DW 016H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 076H - DB 00H - DB 08H - DW 036H - DB 00H - DB 09H - DW 0cdH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 066H - DB 00H - DB 08H - DW 026H - DB 00H - DB 09H - DW 0adH - DB 00H - DB 08H - DW 06H - DB 00H - DB 08H - DW 086H - DB 00H - DB 08H - DW 046H - DB 00H - DB 09H - DW 0edH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05eH - DB 00H - DB 08H - DW 01eH - DB 00H - DB 09H - DW 09dH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07eH - DB 00H - DB 08H - DW 03eH - DB 00H - DB 09H - DW 0ddH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06eH - DB 00H - DB 08H - DW 02eH - DB 00H - DB 09H - DW 0bdH - DB 00H - DB 08H - DW 0eH - DB 00H - DB 08H - DW 08eH - DB 00H - DB 08H - DW 04eH - DB 00H - DB 09H - DW 0fdH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 051H - DB 00H - DB 08H - DW 011H - DB 015H - DB 08H - DW 083H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 071H - DB 00H - DB 08H - DW 031H - DB 00H - DB 09H - DW 0c3H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 061H - DB 00H - DB 08H - DW 021H - DB 00H - DB 09H - DW 0a3H - DB 00H - DB 08H - DW 01H - DB 00H - DB 08H - DW 081H - DB 00H - DB 08H - DW 041H - DB 00H - DB 09H - DW 0e3H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 059H - DB 00H - DB 08H - DW 019H - DB 00H - DB 09H - DW 093H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 079H - DB 00H - DB 08H - DW 039H - DB 00H - DB 09H - DW 0d3H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 069H - DB 00H - DB 08H - DW 029H - DB 00H - DB 09H - DW 0b3H - DB 00H - DB 08H - DW 09H - DB 00H - DB 08H - DW 089H - DB 00H - DB 08H - DW 049H - DB 00H - DB 09H - DW 0f3H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 055H - DB 00H - DB 08H - DW 015H - DB 010H - DB 08H - DW 0102H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 075H - DB 00H - DB 08H - DW 035H - DB 00H - DB 09H - DW 0cbH - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 065H - DB 00H - DB 08H - DW 025H - DB 00H - DB 09H - DW 0abH - DB 00H - DB 08H - DW 05H - DB 00H - DB 08H - DW 085H - DB 00H - DB 08H - DW 045H - DB 00H - DB 09H - DW 0ebH - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05dH - DB 00H - DB 08H - DW 01dH - DB 00H - DB 09H - DW 09bH - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07dH - DB 00H - DB 08H - DW 03dH - DB 00H - DB 09H - DW 0dbH - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06dH - DB 00H - DB 08H - DW 02dH - DB 00H - DB 09H - DW 0bbH - DB 00H - DB 08H - DW 0dH - DB 00H - DB 08H - DW 08dH - DB 00H - DB 08H - DW 04dH - DB 00H - DB 09H - DW 0fbH - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 053H - DB 00H - DB 08H - DW 013H - DB 015H - DB 08H - DW 0c3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 073H - DB 00H - DB 08H - DW 033H - DB 00H - DB 09H - DW 0c7H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 063H - DB 00H - DB 08H - DW 023H - DB 00H - DB 09H - DW 0a7H - DB 00H - DB 08H - DW 03H - DB 00H - DB 08H - DW 083H - DB 00H - DB 08H - DW 043H - DB 00H - DB 09H - DW 0e7H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05bH - DB 00H - DB 08H - DW 01bH - DB 00H - DB 09H - DW 097H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07bH - DB 00H - DB 08H - DW 03bH - DB 00H - DB 09H - DW 0d7H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06bH - DB 00H - DB 08H - DW 02bH - DB 00H - DB 09H - DW 0b7H - DB 00H - DB 08H - DW 0bH - DB 00H - DB 08H - DW 08bH - DB 00H - DB 08H - DW 04bH - DB 00H - DB 09H - DW 0f7H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 057H - DB 00H - DB 08H - DW 017H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 077H - DB 00H - DB 08H - DW 037H - DB 00H - DB 09H - DW 0cfH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 067H - DB 00H - DB 08H - DW 027H - DB 00H - DB 09H - DW 0afH - DB 00H - DB 08H - DW 07H - DB 00H - DB 08H - DW 087H - DB 00H - DB 08H - DW 047H - DB 00H - DB 09H - DW 0efH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05fH - DB 00H - DB 08H - DW 01fH - DB 00H - DB 09H - DW 09fH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07fH - DB 00H - DB 08H - DW 03fH - DB 00H - DB 09H - DW 0dfH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06fH - DB 00H - DB 08H - DW 02fH - DB 00H - DB 09H - DW 0bfH - DB 00H - DB 08H - DW 0fH - DB 00H - DB 08H - DW 08fH - DB 00H - DB 08H - DW 04fH - DB 00H - DB 09H - DW 0ffH -?distfix@?1??fixedtables@@9@9 DB 010H ; `fixedtables'::`2'::distfix - DB 05H - DW 01H - DB 017H - DB 05H - DW 0101H - DB 013H - DB 05H - DW 011H - DB 01bH - DB 05H - DW 01001H - DB 011H - DB 05H - DW 05H - DB 019H - DB 05H - DW 0401H - DB 015H - DB 05H - DW 041H - DB 01dH - DB 05H - DW 04001H - DB 010H - DB 05H - DW 03H - DB 018H - DB 05H - DW 0201H - DB 014H - DB 05H - DW 021H - DB 01cH - DB 05H - DW 02001H - DB 012H - DB 05H - DW 09H - DB 01aH - DB 05H - DW 0801H - DB 016H - DB 05H - DW 081H - DB 040H - DB 05H - DW 00H - DB 010H - DB 05H - DW 02H - DB 017H - DB 05H - DW 0181H - DB 013H - DB 05H - DW 019H - DB 01bH - DB 05H - DW 01801H - DB 011H - DB 05H - DW 07H - DB 019H - DB 05H - DW 0601H - DB 015H - DB 05H - DW 061H - DB 01dH - DB 05H - DW 06001H - DB 010H - DB 05H - DW 04H - DB 018H - DB 05H - DW 0301H - DB 014H - DB 05H - DW 031H - DB 01cH - DB 05H - DW 03001H - DB 012H - DB 05H - DW 0dH - DB 01aH - DB 05H - DW 0c01H - DB 016H - DB 05H - DW 0c1H - DB 040H - DB 05H - DW 00H -?order@?1??inflateBack@@9@9 DW 010H ; `inflateBack'::`2'::order - DW 011H - DW 012H - DW 00H - DW 08H - DW 07H - DW 09H - DW 06H - DW 0aH - DW 05H - DW 0bH - DW 04H - DW 0cH - DW 03H - DW 0dH - DW 02H - DW 0eH - DW 01H - DW 0fH -PUBLIC _inflateBackEnd@4 -PUBLIC _inflateBack@20 -PUBLIC _inflateBackInit_@20 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\infback.c -; COMDAT _inflateBackInit_@20 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_windowBits$ = 12 ; size = 4 -_window$ = 16 ; size = 4 -_version$ = 20 ; size = 4 -_stream_size$ = 24 ; size = 4 -_inflateBackInit_@20 PROC ; COMDAT - -; 34 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 35 : struct inflate_state FAR *state; -; 36 : -; 37 : if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || - - 00003 8b 45 14 mov eax, DWORD PTR _version$[ebp] - 00006 85 c0 test eax, eax - 00008 0f 84 c0 00 00 - 00 je $LN3@inflateBac - 0000e 80 38 31 cmp BYTE PTR [eax], 49 ; 00000031H - 00011 0f 85 b7 00 00 - 00 jne $LN3@inflateBac - 00017 83 7d 18 38 cmp DWORD PTR _stream_size$[ebp], 56 ; 00000038H - 0001b 0f 85 ad 00 00 - 00 jne $LN3@inflateBac - -; 40 : if (strm == Z_NULL || window == Z_NULL || -; 41 : windowBits < 8 || windowBits > 15) - - 00021 53 push ebx - 00022 56 push esi - 00023 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00026 57 push edi - 00027 85 f6 test esi, esi - 00029 0f 84 93 00 00 - 00 je $LN5@inflateBac - 0002f 8b 5d 10 mov ebx, DWORD PTR _window$[ebp] - 00032 85 db test ebx, ebx - 00034 0f 84 88 00 00 - 00 je $LN5@inflateBac - 0003a 8b 7d 0c mov edi, DWORD PTR _windowBits$[ebp] - 0003d 8d 47 f8 lea eax, DWORD PTR [edi-8] - 00040 83 f8 07 cmp eax, 7 - 00043 77 7d ja SHORT $LN5@inflateBac - -; 43 : strm->msg = Z_NULL; /* in case we return an error */ -; 44 : if (strm->zalloc == (alloc_func)0) { - - 00045 83 7e 20 00 cmp DWORD PTR [esi+32], 0 - 00049 c7 46 18 00 00 - 00 00 mov DWORD PTR [esi+24], 0 - 00050 75 0e jne SHORT $LN6@inflateBac - -; 45 : #ifdef Z_SOLO -; 46 : return Z_STREAM_ERROR; -; 47 : #else -; 48 : strm->zalloc = zcalloc; - - 00052 c7 46 20 00 00 - 00 00 mov DWORD PTR [esi+32], OFFSET _zcalloc - -; 49 : strm->opaque = (voidpf)0; - - 00059 c7 46 28 00 00 - 00 00 mov DWORD PTR [esi+40], 0 -$LN6@inflateBac: - -; 50 : #endif -; 51 : } -; 52 : if (strm->zfree == (free_func)0) - - 00060 83 7e 24 00 cmp DWORD PTR [esi+36], 0 - 00064 75 07 jne SHORT $LN7@inflateBac - -; 53 : #ifdef Z_SOLO -; 54 : return Z_STREAM_ERROR; -; 55 : #else -; 56 : strm->zfree = zcfree; - - 00066 c7 46 24 00 00 - 00 00 mov DWORD PTR [esi+36], OFFSET _zcfree -$LN7@inflateBac: - -; 57 : #endif -; 58 : state = (struct inflate_state FAR *)ZALLOC(strm, 1, - - 0006d 8b 46 20 mov eax, DWORD PTR [esi+32] - 00070 68 cc 1b 00 00 push 7116 ; 00001bccH - 00075 6a 01 push 1 - 00077 ff 76 28 push DWORD PTR [esi+40] - 0007a ff d0 call eax - 0007c 8b d0 mov edx, eax - 0007e 83 c4 0c add esp, 12 ; 0000000cH - -; 59 : sizeof(struct inflate_state)); -; 60 : if (state == Z_NULL) return Z_MEM_ERROR; - - 00081 85 d2 test edx, edx - 00083 75 0a jne SHORT $LN8@inflateBac - 00085 5f pop edi - 00086 5e pop esi - 00087 8d 42 fc lea eax, DWORD PTR [edx-4] - 0008a 5b pop ebx - -; 70 : } - - 0008b 5d pop ebp - 0008c c2 14 00 ret 20 ; 00000014H -$LN8@inflateBac: - -; 61 : Tracev((stderr, "inflate: allocated\n")); -; 62 : strm->state = (struct internal_state FAR *)state; - - 0008f 89 56 1c mov DWORD PTR [esi+28], edx - -; 63 : state->dmax = 32768U; -; 64 : state->wbits = windowBits; -; 65 : state->wsize = 1U << windowBits; - - 00092 8b cf mov ecx, edi - 00094 89 7a 24 mov DWORD PTR [edx+36], edi - 00097 b8 01 00 00 00 mov eax, 1 - 0009c 5f pop edi - 0009d d3 e0 shl eax, cl - 0009f 5e pop esi - 000a0 89 42 28 mov DWORD PTR [edx+40], eax - -; 66 : state->window = window; -; 67 : state->wnext = 0; -; 68 : state->whave = 0; -; 69 : return Z_OK; - - 000a3 33 c0 xor eax, eax - 000a5 89 5a 34 mov DWORD PTR [edx+52], ebx - 000a8 c7 42 14 00 80 - 00 00 mov DWORD PTR [edx+20], 32768 ; 00008000H - 000af c7 42 30 00 00 - 00 00 mov DWORD PTR [edx+48], 0 - 000b6 c7 42 2c 00 00 - 00 00 mov DWORD PTR [edx+44], 0 - 000bd 5b pop ebx - -; 70 : } - - 000be 5d pop ebp - 000bf c2 14 00 ret 20 ; 00000014H -$LN5@inflateBac: - 000c2 5f pop edi - 000c3 5e pop esi - -; 42 : return Z_STREAM_ERROR; - - 000c4 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000c9 5b pop ebx - -; 70 : } - - 000ca 5d pop ebp - 000cb c2 14 00 ret 20 ; 00000014H -$LN3@inflateBac: - -; 38 : stream_size != (int)(sizeof(z_stream))) -; 39 : return Z_VERSION_ERROR; - - 000ce b8 fa ff ff ff mov eax, -6 ; fffffffaH - -; 70 : } - - 000d3 5d pop ebp - 000d4 c2 14 00 ret 20 ; 00000014H -_inflateBackInit_@20 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\infback.c -; COMDAT _fixedtables -_TEXT SEGMENT -_fixedtables PROC ; COMDAT -; _state$ = ecx - -; 85 : #ifdef BUILDFIXED -; 86 : static int virgin = 1; -; 87 : static code *lenfix, *distfix; -; 88 : static code fixed[544]; -; 89 : -; 90 : /* build fixed huffman tables if first call (may not be thread safe) */ -; 91 : if (virgin) { -; 92 : unsigned sym, bits; -; 93 : static code *next; -; 94 : -; 95 : /* literal/length table */ -; 96 : sym = 0; -; 97 : while (sym < 144) state->lens[sym++] = 8; -; 98 : while (sym < 256) state->lens[sym++] = 9; -; 99 : while (sym < 280) state->lens[sym++] = 7; -; 100 : while (sym < 288) state->lens[sym++] = 8; -; 101 : next = fixed; -; 102 : lenfix = next; -; 103 : bits = 9; -; 104 : inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work); -; 105 : -; 106 : /* distance table */ -; 107 : sym = 0; -; 108 : while (sym < 32) state->lens[sym++] = 5; -; 109 : distfix = next; -; 110 : bits = 5; -; 111 : inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work); -; 112 : -; 113 : /* do this just once */ -; 114 : virgin = 0; -; 115 : } -; 116 : #else /* !BUILDFIXED */ -; 117 : # include "inffixed.h" -; 118 : #endif /* BUILDFIXED */ -; 119 : state->lencode = lenfix; - - 00000 c7 41 4c 00 00 - 00 00 mov DWORD PTR [ecx+76], OFFSET ?lenfix@?1??fixedtables@@9@9 - -; 120 : state->lenbits = 9; - - 00007 c7 41 54 09 00 - 00 00 mov DWORD PTR [ecx+84], 9 - -; 121 : state->distcode = distfix; - - 0000e c7 41 50 00 00 - 00 00 mov DWORD PTR [ecx+80], OFFSET ?distfix@?1??fixedtables@@9@9 - -; 122 : state->distbits = 5; - - 00015 c7 41 58 05 00 - 00 00 mov DWORD PTR [ecx+88], 5 - -; 123 : } - - 0001c c3 ret 0 -_fixedtables ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\infback.c -; COMDAT _inflateBack@20 -_TEXT SEGMENT -tv1719 = -48 ; size = 4 -tv1718 = -48 ; size = 4 -tv1717 = -48 ; size = 4 -$T1 = -44 ; size = 4 -tv1711 = -44 ; size = 4 -tv1709 = -44 ; size = 4 -tv1708 = -44 ; size = 4 -tv1722 = -40 ; size = 4 -_len$1$ = -36 ; size = 4 -_here$1$ = -36 ; size = 4 -_copy$4$ = -32 ; size = 4 -_last$ = -32 ; size = 4 -_here$ = -32 ; size = 4 -_put$1$ = -28 ; size = 4 -_left$1$ = -24 ; size = 4 -_bits$1$ = -20 ; size = 4 -_next$5$ = -16 ; size = 4 -_state$1$ = -12 ; size = 4 -_next$ = -8 ; size = 4 -_hold$1$ = -4 ; size = 4 -_strm$ = 8 ; size = 4 -_in$ = 12 ; size = 4 -_in_desc$ = 16 ; size = 4 -_out$ = 20 ; size = 4 -_out_desc$ = 24 ; size = 4 -_inflateBack@20 PROC ; COMDAT - -; 256 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 257 : struct inflate_state FAR *state; -; 258 : z_const unsigned char FAR *next; /* next input */ -; 259 : unsigned char FAR *put; /* next output */ -; 260 : unsigned have, left; /* available input and output */ -; 261 : unsigned long hold; /* bit buffer */ -; 262 : unsigned bits; /* bits in bit buffer */ -; 263 : unsigned copy; /* number of stored or match bytes to copy */ -; 264 : unsigned char FAR *from; /* where to copy match bytes from */ -; 265 : code here; /* current decoding table entry */ -; 266 : code last; /* parent table entry */ -; 267 : unsigned len; /* length to copy for repeats, bits to drop */ -; 268 : int ret; /* return code */ -; 269 : static const unsigned short order[19] = /* permutation of code lengths */ -; 270 : {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; -; 271 : -; 272 : /* Check that the strm exists and that the state was initialized */ -; 273 : if (strm == Z_NULL || strm->state == Z_NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 83 ec 30 sub esp, 48 ; 00000030H - 00009 85 c0 test eax, eax - 0000b 0f 84 96 0d 00 - 00 je $LN254@inflateBac - 00011 8b 50 1c mov edx, DWORD PTR [eax+28] - 00014 89 55 f4 mov DWORD PTR _state$1$[ebp], edx - 00017 85 d2 test edx, edx - 00019 0f 84 88 0d 00 - 00 je $LN254@inflateBac - -; 275 : state = (struct inflate_state FAR *)strm->state; -; 276 : -; 277 : /* Reset the state */ -; 278 : strm->msg = Z_NULL; - - 0001f 53 push ebx - 00020 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], 0 - -; 279 : state->mode = TYPE; - - 00027 c7 02 0b 00 00 - 00 mov DWORD PTR [edx], 11 ; 0000000bH - -; 280 : state->last = 0; - - 0002d c7 42 04 00 00 - 00 00 mov DWORD PTR [edx+4], 0 - -; 281 : state->whave = 0; - - 00034 c7 42 2c 00 00 - 00 00 mov DWORD PTR [edx+44], 0 - -; 282 : next = strm->next_in; - - 0003b 8b 18 mov ebx, DWORD PTR [eax] - 0003d 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 00040 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 00043 56 push esi - 00044 57 push edi - -; 283 : have = next != Z_NULL ? strm->avail_in : 0; - - 00045 85 db test ebx, ebx - 00047 74 05 je SHORT $LN343@inflateBac - 00049 8b 70 04 mov esi, DWORD PTR [eax+4] - 0004c eb 02 jmp SHORT $LN344@inflateBac -$LN343@inflateBac: - 0004e 33 f6 xor esi, esi -$LN344@inflateBac: - -; 284 : hold = 0; -; 285 : bits = 0; -; 286 : put = state->window; - - 00050 8b 42 34 mov eax, DWORD PTR [edx+52] - 00053 33 c9 xor ecx, ecx - 00055 89 45 e4 mov DWORD PTR _put$1$[ebp], eax - 00058 33 ff xor edi, edi - -; 287 : left = state->wsize; - - 0005a 8b 42 28 mov eax, DWORD PTR [edx+40] - 0005d 89 45 e8 mov DWORD PTR _left$1$[ebp], eax - -; 288 : -; 289 : /* Inflate until end of block marked as last */ -; 290 : for (;;) -; 291 : switch (state->mode) { - - 00060 8b 02 mov eax, DWORD PTR [edx] - 00062 83 e8 0b sub eax, 11 ; 0000000bH - 00065 89 4d fc mov DWORD PTR _hold$1$[ebp], ecx - 00068 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 0006b 83 f8 12 cmp eax, 18 ; 00000012H - 0006e 0f 87 9c 0c 00 - 00 ja $LN341@inflateBac - 00074 8b 5d f0 mov ebx, DWORD PTR _next$5$[ebp] - 00077 66 0f 1f 84 00 - 00 00 00 00 npad 9 -$LL2@inflateBac: - 00080 0f b6 80 00 00 - 00 00 movzx eax, BYTE PTR $LN473@inflateBac[eax] - 00087 ff 24 85 00 00 - 00 00 jmp DWORD PTR $LN507@inflateBac[eax*4] -$LN255@inflateBac: - -; 292 : case TYPE: -; 293 : /* determine and dispatch block type */ -; 294 : if (state->last) { - - 0008e 83 7a 04 00 cmp DWORD PTR [edx+4], 0 - 00092 74 18 je SHORT $LN12@inflateBac - -; 295 : BYTEBITS(); - - 00094 8b cf mov ecx, edi - -; 296 : state->mode = DONE; - - 00096 c7 02 1c 00 00 - 00 mov DWORD PTR [edx], 28 ; 0000001cH - 0009c 83 e1 07 and ecx, 7 - 0009f d3 6d fc shr DWORD PTR _hold$1$[ebp], cl - 000a2 2b f9 sub edi, ecx - 000a4 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - -; 297 : break; - - 000a7 e9 4d 0c 00 00 jmp $LN505@inflateBac -$LN12@inflateBac: - -; 298 : } -; 299 : NEEDBITS(3); - - 000ac 83 ff 03 cmp edi, 3 - 000af 73 3d jae SHORT $LN10@inflateBac -$LL13@inflateBac: - 000b1 85 f6 test esi, esi - 000b3 75 1a jne SHORT $LN18@inflateBac - 000b5 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 000b8 50 push eax - 000b9 ff 75 10 push DWORD PTR _in_desc$[ebp] - 000bc ff 55 0c call DWORD PTR _in$[ebp] - 000bf 8b f0 mov esi, eax - 000c1 83 c4 08 add esp, 8 - 000c4 85 f6 test esi, esi - 000c6 0f 84 5f 0c 00 - 00 je $LN369@inflateBac - 000cc 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] -$LN18@inflateBac: - 000cf 0f b6 03 movzx eax, BYTE PTR [ebx] - 000d2 8b cf mov ecx, edi - 000d4 d3 e0 shl eax, cl - 000d6 43 inc ebx - 000d7 8b 4d fc mov ecx, DWORD PTR _hold$1$[ebp] - 000da 83 c7 08 add edi, 8 - 000dd 03 c8 add ecx, eax - 000df 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 000e2 4e dec esi - 000e3 89 4d fc mov DWORD PTR _hold$1$[ebp], ecx - 000e6 83 ff 03 cmp edi, 3 - 000e9 72 c6 jb SHORT $LL13@inflateBac - 000eb 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] -$LN10@inflateBac: - -; 300 : state->last = BITS(1); - - 000ee 8b c1 mov eax, ecx - -; 301 : DROPBITS(1); - - 000f0 d1 e9 shr ecx, 1 - 000f2 83 e0 01 and eax, 1 - 000f5 89 4d fc mov DWORD PTR _hold$1$[ebp], ecx - 000f8 89 42 04 mov DWORD PTR [edx+4], eax - -; 302 : switch (BITS(2)) { - - 000fb 8b c1 mov eax, ecx - 000fd 83 e0 03 and eax, 3 - 00100 83 f8 03 cmp eax, 3 - 00103 77 39 ja SHORT $LN28@inflateBac - 00105 ff 24 85 00 00 - 00 00 jmp DWORD PTR $LN508@inflateBac[eax*4] -$LN259@inflateBac: - -; 303 : case 0: /* stored block */ -; 304 : Tracev((stderr, "inflate: stored block%s\n", -; 305 : state->last ? " (last)" : "")); -; 306 : state->mode = STORED; - - 0010c c7 02 0d 00 00 - 00 mov DWORD PTR [edx], 13 ; 0000000dH - -; 307 : break; - - 00112 eb 2a jmp SHORT $LN28@inflateBac -$LN260@inflateBac: - -; 308 : case 1: /* fixed block */ -; 309 : fixedtables(state); - - 00114 8b ca mov ecx, edx - 00116 e8 00 00 00 00 call _fixedtables - -; 310 : Tracev((stderr, "inflate: fixed codes block%s\n", -; 311 : state->last ? " (last)" : "")); -; 312 : state->mode = LEN; /* decode codes */ -; 313 : break; - - 0011b 8b 4d fc mov ecx, DWORD PTR _hold$1$[ebp] - 0011e c7 02 14 00 00 - 00 mov DWORD PTR [edx], 20 ; 00000014H - 00124 eb 18 jmp SHORT $LN28@inflateBac -$LN261@inflateBac: - -; 314 : case 2: /* dynamic block */ -; 315 : Tracev((stderr, "inflate: dynamic codes block%s\n", -; 316 : state->last ? " (last)" : "")); -; 317 : state->mode = TABLE; - - 00126 c7 02 10 00 00 - 00 mov DWORD PTR [edx], 16 ; 00000010H - -; 318 : break; - - 0012c eb 10 jmp SHORT $LN28@inflateBac -$LN262@inflateBac: - -; 319 : case 3: -; 320 : strm->msg = (char *)"invalid block type"; - - 0012e 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00131 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ - -; 321 : state->mode = BAD; - - 00138 c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH -$LN28@inflateBac: - -; 322 : } -; 323 : DROPBITS(2); -; 324 : break; - - 0013e 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 00141 c1 e9 02 shr ecx, 2 - 00144 83 ef 03 sub edi, 3 - 00147 89 4d fc mov DWORD PTR _hold$1$[ebp], ecx - 0014a 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 0014d 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 00150 e9 ad 0b 00 00 jmp $LN393@inflateBac -$LN31@inflateBac: - -; 325 : -; 326 : case STORED: -; 327 : /* get and verify stored block length */ -; 328 : BYTEBITS(); /* go to byte boundary */ - - 00155 8b cf mov ecx, edi - 00157 83 e1 07 and ecx, 7 - 0015a d3 6d fc shr DWORD PTR _hold$1$[ebp], cl - 0015d 2b f9 sub edi, ecx - 0015f 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - -; 329 : NEEDBITS(32); - - 00162 83 ff 20 cmp edi, 32 ; 00000020H - 00165 73 42 jae SHORT $LN493@inflateBac -$LL35@inflateBac: - 00167 85 f6 test esi, esi - 00169 75 1a jne SHORT $LN40@inflateBac - 0016b 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 0016e 50 push eax - 0016f ff 75 10 push DWORD PTR _in_desc$[ebp] - 00172 ff 55 0c call DWORD PTR _in$[ebp] - 00175 8b f0 mov esi, eax - 00177 83 c4 08 add esp, 8 - 0017a 85 f6 test esi, esi - 0017c 0f 84 a9 0b 00 - 00 je $LN369@inflateBac - 00182 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] -$LN40@inflateBac: - 00185 0f b6 03 movzx eax, BYTE PTR [ebx] - 00188 8b cf mov ecx, edi - 0018a d3 e0 shl eax, cl - 0018c 83 c7 08 add edi, 8 - 0018f 8b 4d fc mov ecx, DWORD PTR _hold$1$[ebp] - 00192 43 inc ebx - 00193 03 c8 add ecx, eax - 00195 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 00198 4e dec esi - 00199 89 4d fc mov DWORD PTR _hold$1$[ebp], ecx - 0019c 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 0019f 83 ff 20 cmp edi, 32 ; 00000020H - 001a2 72 c3 jb SHORT $LL35@inflateBac - 001a4 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 001a7 eb 03 jmp SHORT $LN32@inflateBac -$LN493@inflateBac: - 001a9 8b 4d fc mov ecx, DWORD PTR _hold$1$[ebp] -$LN32@inflateBac: - -; 330 : if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { - - 001ac 8b c1 mov eax, ecx - 001ae 0f b7 d9 movzx ebx, cx - 001b1 f7 d0 not eax - 001b3 c1 e8 10 shr eax, 16 ; 00000010H - 001b6 3b d8 cmp ebx, eax - 001b8 74 1b je SHORT $LN266@inflateBac - -; 331 : strm->msg = (char *)"invalid stored block lengths"; - - 001ba 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 001bd c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ - -; 332 : state->mode = BAD; - - 001c4 c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH - -; 333 : break; - - 001ca 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 001cd 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 001d0 e9 2d 0b 00 00 jmp $LN393@inflateBac -$LN266@inflateBac: - -; 334 : } -; 335 : state->length = (unsigned)hold & 0xffff; -; 336 : Tracev((stderr, "inflate: stored length %u\n", -; 337 : state->length)); -; 338 : INITBITS(); - - 001d5 33 c9 xor ecx, ecx - 001d7 89 5a 40 mov DWORD PTR [edx+64], ebx - 001da 33 ff xor edi, edi - 001dc 89 4d fc mov DWORD PTR _hold$1$[ebp], ecx - 001df 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - -; 339 : -; 340 : /* copy stored block from input to output */ -; 341 : while (state->length != 0) { - - 001e2 3b d9 cmp ebx, ecx - 001e4 0f 84 88 00 00 - 00 je $LN47@inflateBac - 001ea 8b 45 e8 mov eax, DWORD PTR _left$1$[ebp] - 001ed 0f 1f 00 npad 3 -$LL46@inflateBac: - -; 342 : copy = state->length; - - 001f0 8b 5a 40 mov ebx, DWORD PTR [edx+64] - -; 343 : PULL(); - - 001f3 85 f6 test esi, esi - 001f5 75 1d jne SHORT $LN48@inflateBac - 001f7 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 001fa 50 push eax - 001fb ff 75 10 push DWORD PTR _in_desc$[ebp] - 001fe ff 55 0c call DWORD PTR _in$[ebp] - 00201 8b f0 mov esi, eax - 00203 83 c4 08 add esp, 8 - 00206 85 f6 test esi, esi - 00208 0f 84 1d 0b 00 - 00 je $LN369@inflateBac - 0020e 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 00211 8b 45 e8 mov eax, DWORD PTR _left$1$[ebp] -$LN48@inflateBac: - -; 344 : ROOM(); - - 00214 85 c0 test eax, eax - 00216 75 25 jne SHORT $LN51@inflateBac - 00218 8b 4a 28 mov ecx, DWORD PTR [edx+40] - 0021b 8b 42 34 mov eax, DWORD PTR [edx+52] - 0021e 51 push ecx - 0021f 50 push eax - 00220 ff 75 18 push DWORD PTR _out_desc$[ebp] - 00223 89 45 e4 mov DWORD PTR _put$1$[ebp], eax - 00226 89 4d e8 mov DWORD PTR _left$1$[ebp], ecx - 00229 89 4a 2c mov DWORD PTR [edx+44], ecx - 0022c ff 55 14 call DWORD PTR _out$[ebp] - 0022f 83 c4 0c add esp, 12 ; 0000000cH - 00232 85 c0 test eax, eax - 00234 0f 85 0b 0b 00 - 00 jne $LN372@inflateBac - 0023a 8b 45 e8 mov eax, DWORD PTR _left$1$[ebp] -$LN51@inflateBac: - -; 345 : if (copy > have) copy = have; - - 0023d 3b de cmp ebx, esi - 0023f 0f 47 de cmova ebx, esi - -; 346 : if (copy > left) copy = left; - - 00242 3b d8 cmp ebx, eax - 00244 0f 47 d8 cmova ebx, eax - -; 347 : zmemcpy(put, next, copy); - - 00247 8b 45 e4 mov eax, DWORD PTR _put$1$[ebp] - 0024a 53 push ebx - 0024b ff 75 f8 push DWORD PTR _next$[ebp] - 0024e 50 push eax - 0024f e8 00 00 00 00 call _memcpy - -; 348 : have -= copy; -; 349 : next += copy; -; 350 : left -= copy; -; 351 : put += copy; -; 352 : state->length -= copy; - - 00254 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 00257 83 c4 0c add esp, 12 ; 0000000cH - 0025a 8b 45 e8 mov eax, DWORD PTR _left$1$[ebp] - 0025d 2b f3 sub esi, ebx - 0025f 01 5d f8 add DWORD PTR _next$[ebp], ebx - 00262 2b c3 sub eax, ebx - 00264 01 5d e4 add DWORD PTR _put$1$[ebp], ebx - 00267 29 5a 40 sub DWORD PTR [edx+64], ebx - 0026a 89 45 e8 mov DWORD PTR _left$1$[ebp], eax - 0026d 75 81 jne SHORT $LL46@inflateBac - 0026f 8b 4d fc mov ecx, DWORD PTR _hold$1$[ebp] -$LN47@inflateBac: - -; 353 : } -; 354 : Tracev((stderr, "inflate: stored end\n")); -; 355 : state->mode = TYPE; - - 00272 c7 02 0b 00 00 - 00 mov DWORD PTR [edx], 11 ; 0000000bH - -; 356 : break; - - 00278 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 0027b 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 0027e e9 7f 0a 00 00 jmp $LN393@inflateBac -$LN56@inflateBac: - -; 357 : -; 358 : case TABLE: -; 359 : /* get dynamic table entries descriptor */ -; 360 : NEEDBITS(14); - - 00283 83 ff 0e cmp edi, 14 ; 0000000eH - 00286 73 38 jae SHORT $LN54@inflateBac -$LL57@inflateBac: - 00288 85 f6 test esi, esi - 0028a 75 1a jne SHORT $LN62@inflateBac - 0028c 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 0028f 50 push eax - 00290 ff 75 10 push DWORD PTR _in_desc$[ebp] - 00293 ff 55 0c call DWORD PTR _in$[ebp] - 00296 8b f0 mov esi, eax - 00298 83 c4 08 add esp, 8 - 0029b 85 f6 test esi, esi - 0029d 0f 84 88 0a 00 - 00 je $LN369@inflateBac - 002a3 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] -$LN62@inflateBac: - 002a6 0f b6 03 movzx eax, BYTE PTR [ebx] - 002a9 8b cf mov ecx, edi - 002ab d3 e0 shl eax, cl - 002ad 43 inc ebx - 002ae 01 45 fc add DWORD PTR _hold$1$[ebp], eax - 002b1 83 c7 08 add edi, 8 - 002b4 4e dec esi - 002b5 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 002b8 83 ff 0e cmp edi, 14 ; 0000000eH - 002bb 72 cb jb SHORT $LL57@inflateBac - 002bd 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] -$LN54@inflateBac: - -; 361 : state->nlen = BITS(5) + 257; - - 002c0 8b 5d fc mov ebx, DWORD PTR _hold$1$[ebp] - -; 362 : DROPBITS(5); -; 363 : state->ndist = BITS(5) + 1; -; 364 : DROPBITS(5); -; 365 : state->ncode = BITS(4) + 4; -; 366 : DROPBITS(4); - - 002c3 83 ef 0e sub edi, 14 ; 0000000eH - 002c6 8b c3 mov eax, ebx - 002c8 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 002cb 83 e0 1f and eax, 31 ; 0000001fH - 002ce c1 eb 05 shr ebx, 5 - 002d1 05 01 01 00 00 add eax, 257 ; 00000101H - 002d6 89 42 60 mov DWORD PTR [edx+96], eax - 002d9 8b c3 mov eax, ebx - 002db 83 e0 1f and eax, 31 ; 0000001fH - 002de c1 eb 05 shr ebx, 5 - 002e1 40 inc eax - 002e2 89 42 64 mov DWORD PTR [edx+100], eax - 002e5 8b c3 mov eax, ebx - 002e7 83 e0 0f and eax, 15 ; 0000000fH - 002ea c1 eb 04 shr ebx, 4 - 002ed 83 c0 04 add eax, 4 - 002f0 89 5d fc mov DWORD PTR _hold$1$[ebp], ebx - -; 367 : #ifndef PKZIP_BUG_WORKAROUND -; 368 : if (state->nlen > 286 || state->ndist > 30) { - - 002f3 81 7a 60 1e 01 - 00 00 cmp DWORD PTR [edx+96], 286 ; 0000011eH - 002fa 89 42 5c mov DWORD PTR [edx+92], eax - 002fd 0f 87 02 05 00 - 00 ja $LN277@inflateBac - 00303 83 7a 64 1e cmp DWORD PTR [edx+100], 30 ; 0000001eH - 00307 0f 87 f8 04 00 - 00 ja $LN277@inflateBac - -; 372 : } -; 373 : #endif -; 374 : Tracev((stderr, "inflate: table sizes ok\n")); -; 375 : -; 376 : /* get code length code lengths (not a typo) */ -; 377 : state->have = 0; - - 0030d c7 42 68 00 00 - 00 00 mov DWORD PTR [edx+104], 0 - -; 378 : while (state->have < state->ncode) { - - 00314 85 c0 test eax, eax - 00316 76 6b jbe SHORT $LN352@inflateBac -$LL74@inflateBac: - -; 379 : NEEDBITS(3); - - 00318 83 ff 03 cmp edi, 3 - 0031b 73 3a jae SHORT $LN76@inflateBac - 0031d 8b 55 f8 mov edx, DWORD PTR _next$[ebp] -$LL79@inflateBac: - 00320 85 f6 test esi, esi - 00322 75 1a jne SHORT $LN84@inflateBac - 00324 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 00327 50 push eax - 00328 ff 75 10 push DWORD PTR _in_desc$[ebp] - 0032b ff 55 0c call DWORD PTR _in$[ebp] - 0032e 8b f0 mov esi, eax - 00330 83 c4 08 add esp, 8 - 00333 85 f6 test esi, esi - 00335 0f 84 f0 09 00 - 00 je $LN369@inflateBac - 0033b 8b 55 f8 mov edx, DWORD PTR _next$[ebp] -$LN84@inflateBac: - 0033e 0f b6 02 movzx eax, BYTE PTR [edx] - 00341 8b cf mov ecx, edi - 00343 d3 e0 shl eax, cl - 00345 42 inc edx - 00346 83 c7 08 add edi, 8 - 00349 89 55 f8 mov DWORD PTR _next$[ebp], edx - 0034c 4e dec esi - 0034d 03 d8 add ebx, eax - 0034f 83 ff 03 cmp edi, 3 - 00352 72 cc jb SHORT $LL79@inflateBac - 00354 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] -$LN76@inflateBac: - -; 380 : state->lens[order[state->have++]] = (unsigned short)BITS(3); - - 00357 8b 42 68 mov eax, DWORD PTR [edx+104] - 0035a 8b cb mov ecx, ebx - 0035c 83 e1 07 and ecx, 7 - -; 381 : DROPBITS(3); - - 0035f c1 eb 03 shr ebx, 3 - 00362 83 ef 03 sub edi, 3 - 00365 89 5d fc mov DWORD PTR _hold$1$[ebp], ebx - 00368 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 0036b 0f b7 04 45 00 - 00 00 00 movzx eax, WORD PTR ?order@?1??inflateBack@@9@9[eax*2] - 00373 66 89 4c 42 70 mov WORD PTR [edx+eax*2+112], cx - 00378 ff 42 68 inc DWORD PTR [edx+104] - 0037b 8b 42 68 mov eax, DWORD PTR [edx+104] - 0037e 3b 42 5c cmp eax, DWORD PTR [edx+92] - 00381 72 95 jb SHORT $LL74@inflateBac -$LN352@inflateBac: - -; 382 : } -; 383 : while (state->have < 19) - - 00383 83 7a 68 13 cmp DWORD PTR [edx+104], 19 ; 00000013H - 00387 73 22 jae SHORT $LN91@inflateBac - 00389 0f 1f 80 00 00 - 00 00 npad 7 -$LL90@inflateBac: - -; 384 : state->lens[order[state->have++]] = 0; - - 00390 8b 42 68 mov eax, DWORD PTR [edx+104] - 00393 33 c9 xor ecx, ecx - 00395 0f b7 04 45 00 - 00 00 00 movzx eax, WORD PTR ?order@?1??inflateBack@@9@9[eax*2] - 0039d 66 89 4c 42 70 mov WORD PTR [edx+eax*2+112], cx - 003a2 ff 42 68 inc DWORD PTR [edx+104] - 003a5 83 7a 68 13 cmp DWORD PTR [edx+104], 19 ; 00000013H - 003a9 72 e5 jb SHORT $LL90@inflateBac -$LN91@inflateBac: - -; 385 : state->next = state->codes; - - 003ab 8d 82 30 05 00 - 00 lea eax, DWORD PTR [edx+1328] - -; 386 : state->lencode = (code const FAR *)(state->next); -; 387 : state->lenbits = 7; - - 003b1 c7 42 54 07 00 - 00 00 mov DWORD PTR [edx+84], 7 - 003b8 8d 4a 6c lea ecx, DWORD PTR [edx+108] - 003bb 89 42 4c mov DWORD PTR [edx+76], eax - -; 388 : ret = inflate_table(CODES, state->lens, 19, &(state->next), - - 003be 8d 9a f0 02 00 - 00 lea ebx, DWORD PTR [edx+752] - 003c4 89 01 mov DWORD PTR [ecx], eax - 003c6 8d 42 54 lea eax, DWORD PTR [edx+84] - 003c9 83 c2 70 add edx, 112 ; 00000070H - 003cc 53 push ebx - 003cd 50 push eax - 003ce 51 push ecx - 003cf 6a 13 push 19 ; 00000013H - 003d1 33 c9 xor ecx, ecx - 003d3 89 45 d8 mov DWORD PTR tv1722[ebp], eax - 003d6 89 55 d0 mov DWORD PTR tv1719[ebp], edx - 003d9 e8 00 00 00 00 call _inflate_table - -; 392 : state->mode = BAD; - - 003de 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 003e1 83 c4 10 add esp, 16 ; 00000010H - 003e4 85 c0 test eax, eax - 003e6 74 15 je SHORT $LN280@inflateBac - -; 389 : &(state->lenbits), state->work); -; 390 : if (ret) { -; 391 : strm->msg = (char *)"invalid code lengths set"; - - 003e8 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 003eb c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ - -; 392 : state->mode = BAD; - - 003f2 c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH - -; 393 : break; - - 003f8 e9 fc 08 00 00 jmp $LN505@inflateBac -$LN280@inflateBac: - -; 394 : } -; 395 : Tracev((stderr, "inflate: code lengths ok\n")); -; 396 : -; 397 : /* get length and distance code code lengths */ -; 398 : state->have = 0; -; 399 : while (state->have < state->nlen + state->ndist) { - - 003fd 8b 42 64 mov eax, DWORD PTR [edx+100] - 00400 c7 42 68 00 00 - 00 00 mov DWORD PTR [edx+104], 0 - 00407 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 0040a 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 0040d 03 42 60 add eax, DWORD PTR [edx+96] - 00410 0f 84 7f 02 00 - 00 je $LN93@inflateBac -$LL92@inflateBac: - -; 400 : for (;;) { -; 401 : here = state->lencode[BITS(state->lenbits)]; - - 00416 8b 45 d8 mov eax, DWORD PTR tv1722[ebp] - 00419 ba 01 00 00 00 mov edx, 1 - 0041e 8b 08 mov ecx, DWORD PTR [eax] - 00420 8b 45 f4 mov eax, DWORD PTR _state$1$[ebp] - 00423 d3 e2 shl edx, cl - 00425 4a dec edx - 00426 23 55 fc and edx, DWORD PTR _hold$1$[ebp] - 00429 8b 40 4c mov eax, DWORD PTR [eax+76] - 0042c 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - -; 402 : if ((unsigned)(here.bits) <= bits) break; - - 0042f 8b c8 mov ecx, eax - 00431 c1 e9 08 shr ecx, 8 - 00434 0f b6 c9 movzx ecx, cl - 00437 89 45 dc mov DWORD PTR _here$1$[ebp], eax - 0043a 89 45 e0 mov DWORD PTR _here$[ebp], eax - 0043d 3b cf cmp ecx, edi - 0043f 76 5e jbe SHORT $LN375@inflateBac -$LL94@inflateBac: - -; 403 : PULLBYTE(); - - 00441 85 f6 test esi, esi - 00443 75 1a jne SHORT $LN100@inflateBac - 00445 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 00448 50 push eax - 00449 ff 75 10 push DWORD PTR _in_desc$[ebp] - 0044c ff 55 0c call DWORD PTR _in$[ebp] - 0044f 8b f0 mov esi, eax - 00451 83 c4 08 add esp, 8 - 00454 85 f6 test esi, esi - 00456 0f 84 cf 08 00 - 00 je $LN369@inflateBac - 0045c 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] -$LN100@inflateBac: - 0045f 0f b6 03 movzx eax, BYTE PTR [ebx] - 00462 8b cf mov ecx, edi - 00464 d3 e0 shl eax, cl - 00466 43 inc ebx - 00467 01 45 fc add DWORD PTR _hold$1$[ebp], eax - 0046a ba 01 00 00 00 mov edx, 1 - 0046f 8b 45 d8 mov eax, DWORD PTR tv1722[ebp] - 00472 83 c7 08 add edi, 8 - 00475 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 00478 4e dec esi - 00479 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 0047c 8b 08 mov ecx, DWORD PTR [eax] - 0047e 8b 45 f4 mov eax, DWORD PTR _state$1$[ebp] - 00481 d3 e2 shl edx, cl - 00483 4a dec edx - 00484 23 55 fc and edx, DWORD PTR _hold$1$[ebp] - 00487 8b 40 4c mov eax, DWORD PTR [eax+76] - 0048a 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - 0048d 8b c8 mov ecx, eax - 0048f c1 e9 08 shr ecx, 8 - 00492 0f b6 c9 movzx ecx, cl - 00495 89 45 dc mov DWORD PTR _here$1$[ebp], eax - 00498 89 45 e0 mov DWORD PTR _here$[ebp], eax - 0049b 3b cf cmp ecx, edi - 0049d 77 a2 ja SHORT $LL94@inflateBac -$LN375@inflateBac: - -; 404 : } -; 405 : if (here.val < 16) { - - 0049f 8b c8 mov ecx, eax - 004a1 c1 e9 10 shr ecx, 16 ; 00000010H - 004a4 89 4d d4 mov DWORD PTR tv1711[ebp], ecx - 004a7 66 83 f9 10 cmp cx, 16 ; 00000010H - 004ab 73 24 jae SHORT $LN501@inflateBac - -; 406 : DROPBITS(here.bits); -; 407 : state->lens[state->have++] = here.val; - - 004ad 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 004b0 c1 e8 08 shr eax, 8 - 004b3 0f b6 c8 movzx ecx, al - 004b6 d3 6d fc shr DWORD PTR _hold$1$[ebp], cl - 004b9 2b f9 sub edi, ecx - 004bb 8b 42 68 mov eax, DWORD PTR [edx+104] - 004be 8b 4d d4 mov ecx, DWORD PTR tv1711[ebp] - 004c1 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 004c4 66 89 4c 42 70 mov WORD PTR [edx+eax*2+112], cx - 004c9 ff 42 68 inc DWORD PTR [edx+104] - -; 408 : } - - 004cc e9 af 01 00 00 jmp $LN502@inflateBac -$LN501@inflateBac: - 004d1 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - -; 409 : else { -; 410 : if (here.val == 16) { - - 004d4 0f 85 95 00 00 - 00 jne $LN286@inflateBac - -; 411 : NEEDBITS(here.bits + 2); - - 004da 8b c8 mov ecx, eax - 004dc c1 e9 08 shr ecx, 8 - 004df 0f b6 c9 movzx ecx, cl - 004e2 83 c1 02 add ecx, 2 - 004e5 89 4d d4 mov DWORD PTR $T1[ebp], ecx - 004e8 3b f9 cmp edi, ecx - 004ea 73 44 jae SHORT $LN106@inflateBac - 004ec 0f 1f 40 00 npad 4 -$LL109@inflateBac: - 004f0 85 f6 test esi, esi - 004f2 75 1d jne SHORT $LN114@inflateBac - 004f4 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 004f7 50 push eax - 004f8 ff 75 10 push DWORD PTR _in_desc$[ebp] - 004fb ff 55 0c call DWORD PTR _in$[ebp] - 004fe 8b f0 mov esi, eax - 00500 83 c4 08 add esp, 8 - 00503 85 f6 test esi, esi - 00505 0f 84 20 08 00 - 00 je $LN369@inflateBac - 0050b 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 0050e 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] -$LN114@inflateBac: - 00511 0f b6 03 movzx eax, BYTE PTR [ebx] - 00514 8b cf mov ecx, edi - 00516 d3 e0 shl eax, cl - 00518 43 inc ebx - 00519 03 d0 add edx, eax - 0051b 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 0051e 83 c7 08 add edi, 8 - 00521 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00524 4e dec esi - 00525 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 00528 3b 7d d4 cmp edi, DWORD PTR $T1[ebp] - 0052b 72 c3 jb SHORT $LL109@inflateBac - 0052d 8b 45 dc mov eax, DWORD PTR _here$1$[ebp] -$LN106@inflateBac: - -; 412 : DROPBITS(here.bits); - - 00530 0f b6 cc movzx ecx, ah - 00533 d3 ea shr edx, cl - 00535 2b f9 sub edi, ecx - 00537 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - -; 413 : if (state->have == 0) { - - 0053a 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 0053d 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 00540 8b 42 68 mov eax, DWORD PTR [edx+104] - 00543 85 c0 test eax, eax - 00545 0f 84 72 01 00 - 00 je $LN380@inflateBac - -; 417 : } -; 418 : len = (unsigned)(state->lens[state->have - 1]); - - 0054b 0f b7 44 42 6e movzx eax, WORD PTR [edx+eax*2+110] - 00550 89 45 dc mov DWORD PTR _len$1$[ebp], eax - -; 419 : copy = 3 + BITS(2); - - 00553 8b 45 fc mov eax, DWORD PTR _hold$1$[ebp] - 00556 8b c8 mov ecx, eax - 00558 83 e1 03 and ecx, 3 - -; 420 : DROPBITS(2); - - 0055b c1 e8 02 shr eax, 2 - 0055e 83 c1 03 add ecx, 3 - 00561 89 45 fc mov DWORD PTR _hold$1$[ebp], eax - 00564 89 4d e0 mov DWORD PTR _copy$4$[ebp], ecx - 00567 83 ef 02 sub edi, 2 - -; 421 : } - - 0056a e9 df 00 00 00 jmp $LN503@inflateBac -$LN286@inflateBac: - -; 422 : else if (here.val == 17) { - - 0056f 66 83 7d e2 11 cmp WORD PTR _here$[ebp+2], 17 ; 00000011H - -; 423 : NEEDBITS(here.bits + 3); - - 00574 0f b6 cc movzx ecx, ah - 00577 75 63 jne SHORT $LN142@inflateBac - 00579 8d 41 03 lea eax, DWORD PTR [ecx+3] - 0057c 89 4d d4 mov DWORD PTR tv1709[ebp], ecx - 0057f 3b f8 cmp edi, eax - 00581 73 42 jae SHORT $LN123@inflateBac -$LL126@inflateBac: - 00583 85 f6 test esi, esi - 00585 75 1d jne SHORT $LN131@inflateBac - 00587 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 0058a 50 push eax - 0058b ff 75 10 push DWORD PTR _in_desc$[ebp] - 0058e ff 55 0c call DWORD PTR _in$[ebp] - 00591 8b f0 mov esi, eax - 00593 83 c4 08 add esp, 8 - 00596 85 f6 test esi, esi - 00598 0f 84 8d 07 00 - 00 je $LN369@inflateBac - 0059e 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 005a1 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] -$LN131@inflateBac: - 005a4 0f b6 03 movzx eax, BYTE PTR [ebx] - 005a7 8b cf mov ecx, edi - 005a9 d3 e0 shl eax, cl - 005ab 43 inc ebx - 005ac 8b 4d d4 mov ecx, DWORD PTR tv1709[ebp] - 005af 03 d0 add edx, eax - 005b1 83 c7 08 add edi, 8 - 005b4 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 005b7 4e dec esi - 005b8 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 005bb 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 005be 8d 41 03 lea eax, DWORD PTR [ecx+3] - 005c1 3b f8 cmp edi, eax - 005c3 72 be jb SHORT $LL126@inflateBac -$LN123@inflateBac: - -; 424 : DROPBITS(here.bits); - - 005c5 d3 ea shr edx, cl - -; 425 : len = 0; -; 426 : copy = 3 + BITS(3); - - 005c7 8b c2 mov eax, edx - 005c9 83 e0 07 and eax, 7 - 005cc 83 c0 03 add eax, 3 - -; 427 : DROPBITS(3); - - 005cf c1 ea 03 shr edx, 3 - 005d2 89 45 e0 mov DWORD PTR _copy$4$[ebp], eax - 005d5 b8 fd ff ff ff mov eax, -3 ; fffffffdH - -; 428 : } - - 005da eb 61 jmp SHORT $LN504@inflateBac -$LN142@inflateBac: - -; 429 : else { -; 430 : NEEDBITS(here.bits + 7); - - 005dc 8d 41 07 lea eax, DWORD PTR [ecx+7] - 005df 89 4d d4 mov DWORD PTR tv1708[ebp], ecx - 005e2 3b f8 cmp edi, eax - 005e4 73 42 jae SHORT $LN140@inflateBac -$LL143@inflateBac: - 005e6 85 f6 test esi, esi - 005e8 75 1d jne SHORT $LN148@inflateBac - 005ea 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 005ed 50 push eax - 005ee ff 75 10 push DWORD PTR _in_desc$[ebp] - 005f1 ff 55 0c call DWORD PTR _in$[ebp] - 005f4 8b f0 mov esi, eax - 005f6 83 c4 08 add esp, 8 - 005f9 85 f6 test esi, esi - 005fb 0f 84 2a 07 00 - 00 je $LN369@inflateBac - 00601 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 00604 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] -$LN148@inflateBac: - 00607 0f b6 03 movzx eax, BYTE PTR [ebx] - 0060a 8b cf mov ecx, edi - 0060c d3 e0 shl eax, cl - 0060e 43 inc ebx - 0060f 8b 4d d4 mov ecx, DWORD PTR tv1708[ebp] - 00612 03 d0 add edx, eax - 00614 83 c7 08 add edi, 8 - 00617 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 0061a 4e dec esi - 0061b 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 0061e 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 00621 8d 41 07 lea eax, DWORD PTR [ecx+7] - 00624 3b f8 cmp edi, eax - 00626 72 be jb SHORT $LL143@inflateBac -$LN140@inflateBac: - -; 431 : DROPBITS(here.bits); - - 00628 d3 ea shr edx, cl - -; 432 : len = 0; -; 433 : copy = 11 + BITS(7); - - 0062a 8b c2 mov eax, edx - 0062c 83 e0 7f and eax, 127 ; 0000007fH - 0062f 83 c0 0b add eax, 11 ; 0000000bH - -; 434 : DROPBITS(7); - - 00632 c1 ea 07 shr edx, 7 - 00635 89 45 e0 mov DWORD PTR _copy$4$[ebp], eax - 00638 b8 f9 ff ff ff mov eax, -7 ; fffffff9H -$LN504@inflateBac: - 0063d 2b c1 sub eax, ecx - 0063f 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00642 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 00645 03 f8 add edi, eax - 00647 c7 45 dc 00 00 - 00 00 mov DWORD PTR _len$1$[ebp], 0 -$LN503@inflateBac: - -; 435 : } -; 436 : if (state->have + copy > state->nlen + state->ndist) { - - 0064e 8b 4a 64 mov ecx, DWORD PTR [edx+100] - 00651 8b 42 68 mov eax, DWORD PTR [edx+104] - 00654 03 4a 60 add ecx, DWORD PTR [edx+96] - 00657 03 45 e0 add eax, DWORD PTR _copy$4$[ebp] - 0065a 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 0065d 3b c1 cmp eax, ecx - 0065f 77 5c ja SHORT $LN380@inflateBac - -; 437 : strm->msg = (char *)"invalid bit length repeat"; -; 438 : state->mode = BAD; -; 439 : break; -; 440 : } -; 441 : while (copy--) - - 00661 8b 4d e0 mov ecx, DWORD PTR _copy$4$[ebp] - 00664 85 c9 test ecx, ecx - 00666 74 1e je SHORT $LN406@inflateBac - 00668 8b 5d dc mov ebx, DWORD PTR _len$1$[ebp] - 0066b 0f 1f 44 00 00 npad 5 -$LL157@inflateBac: - -; 442 : state->lens[state->have++] = (unsigned short)len; - - 00670 8b 42 68 mov eax, DWORD PTR [edx+104] - 00673 66 89 5c 42 70 mov WORD PTR [edx+eax*2+112], bx - 00678 ff 42 68 inc DWORD PTR [edx+104] - 0067b 83 e9 01 sub ecx, 1 - 0067e 75 f0 jne SHORT $LL157@inflateBac -$LN502@inflateBac: - -; 437 : strm->msg = (char *)"invalid bit length repeat"; -; 438 : state->mode = BAD; -; 439 : break; -; 440 : } -; 441 : while (copy--) - - 00680 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 00683 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx -$LN406@inflateBac: - -; 394 : } -; 395 : Tracev((stderr, "inflate: code lengths ok\n")); -; 396 : -; 397 : /* get length and distance code code lengths */ -; 398 : state->have = 0; -; 399 : while (state->have < state->nlen + state->ndist) { - - 00686 8b 42 64 mov eax, DWORD PTR [edx+100] - 00689 03 42 60 add eax, DWORD PTR [edx+96] - 0068c 39 42 68 cmp DWORD PTR [edx+104], eax - 0068f 0f 82 81 fd ff - ff jb $LL92@inflateBac -$LN93@inflateBac: - -; 443 : } -; 444 : } -; 445 : -; 446 : /* handle error breaks in while */ -; 447 : if (state->mode == BAD) break; - - 00695 83 3a 1d cmp DWORD PTR [edx], 29 ; 0000001dH - 00698 0f 84 61 06 00 - 00 je $LN492@inflateBac - -; 448 : -; 449 : /* check for end-of-block code (better have one) */ -; 450 : if (state->lens[256] == 0) { - - 0069e 66 83 ba 70 02 - 00 00 00 cmp WORD PTR [edx+624], 0 - 006a6 75 2a jne SHORT $LN299@inflateBac - -; 451 : strm->msg = (char *)"invalid code -- missing end-of-block"; - - 006a8 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 006ab c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ - -; 452 : state->mode = BAD; - - 006b2 c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH - -; 453 : break; - - 006b8 e9 3c 06 00 00 jmp $LN505@inflateBac -$LN380@inflateBac: - -; 414 : strm->msg = (char *)"invalid bit length repeat"; - - 006bd 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 006c0 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ - -; 415 : state->mode = BAD; - - 006c7 c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH - -; 416 : break; - - 006cd e9 27 06 00 00 jmp $LN505@inflateBac -$LN299@inflateBac: - -; 454 : } -; 455 : -; 456 : /* build code tables -- note: do not change the lenbits or distbits -; 457 : values here (9 and 6) without reading the comments in inftrees.h -; 458 : concerning the ENOUGH constants, which depend on those values */ -; 459 : state->next = state->codes; - - 006d2 8d 82 30 05 00 - 00 lea eax, DWORD PTR [edx+1328] - -; 460 : state->lencode = (code const FAR *)(state->next); -; 461 : state->lenbits = 9; - - 006d8 c7 42 54 09 00 - 00 00 mov DWORD PTR [edx+84], 9 - 006df 8d 5a 6c lea ebx, DWORD PTR [edx+108] - 006e2 89 42 4c mov DWORD PTR [edx+76], eax - -; 462 : ret = inflate_table(LENS, state->lens, state->nlen, &(state->next), - - 006e5 8d 8a f0 02 00 - 00 lea ecx, DWORD PTR [edx+752] - 006eb 89 03 mov DWORD PTR [ebx], eax - 006ed 51 push ecx - 006ee 8d 42 54 lea eax, DWORD PTR [edx+84] - 006f1 b9 01 00 00 00 mov ecx, 1 - 006f6 50 push eax - 006f7 53 push ebx - 006f8 ff 72 60 push DWORD PTR [edx+96] - 006fb 8b 55 d0 mov edx, DWORD PTR tv1719[ebp] - 006fe e8 00 00 00 00 call _inflate_table - 00703 83 c4 10 add esp, 16 ; 00000010H - -; 463 : &(state->lenbits), state->work); -; 464 : if (ret) { - - 00706 85 c0 test eax, eax - 00708 74 18 je SHORT $LN300@inflateBac - -; 465 : strm->msg = (char *)"invalid literal/lengths set"; - - 0070a 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - -; 466 : state->mode = BAD; - - 0070d 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 00710 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ - 00717 c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH - -; 467 : break; - - 0071d e9 d7 05 00 00 jmp $LN505@inflateBac -$LN300@inflateBac: - -; 468 : } -; 469 : state->distcode = (code const FAR *)(state->next); - - 00722 8b 4d f4 mov ecx, DWORD PTR _state$1$[ebp] - 00725 8b 03 mov eax, DWORD PTR [ebx] - -; 470 : state->distbits = 6; - - 00727 c7 41 58 06 00 - 00 00 mov DWORD PTR [ecx+88], 6 - -; 471 : ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist, - - 0072e 8d 91 f0 02 00 - 00 lea edx, DWORD PTR [ecx+752] - 00734 89 41 50 mov DWORD PTR [ecx+80], eax - 00737 8d 41 58 lea eax, DWORD PTR [ecx+88] - 0073a 52 push edx - 0073b 50 push eax - 0073c 8b 41 60 mov eax, DWORD PTR [ecx+96] - 0073f 53 push ebx - 00740 ff 71 64 push DWORD PTR [ecx+100] - 00743 83 c1 70 add ecx, 112 ; 00000070H - 00746 8d 14 41 lea edx, DWORD PTR [ecx+eax*2] - 00749 b9 02 00 00 00 mov ecx, 2 - 0074e e8 00 00 00 00 call _inflate_table - -; 475 : state->mode = BAD; - - 00753 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 00756 83 c4 10 add esp, 16 ; 00000010H - -; 476 : break; - - 00759 8b 4d fc mov ecx, DWORD PTR _hold$1$[ebp] - 0075c 85 c0 test eax, eax - 0075e 74 1b je SHORT $LN301@inflateBac - -; 472 : &(state->next), &(state->distbits), state->work); -; 473 : if (ret) { -; 474 : strm->msg = (char *)"invalid distances set"; - - 00760 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00763 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ - -; 475 : state->mode = BAD; - - 0076a c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH - -; 476 : break; - - 00770 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 00773 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 00776 e9 87 05 00 00 jmp $LN393@inflateBac -$LN301@inflateBac: - -; 477 : } -; 478 : Tracev((stderr, "inflate: codes ok\n")); -; 479 : state->mode = LEN; - - 0077b c7 02 14 00 00 - 00 mov DWORD PTR [edx], 20 ; 00000014H - 00781 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 00784 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx -$LN302@inflateBac: - -; 480 : -; 481 : case LEN: -; 482 : /* use inflate_fast() if we have enough input and output */ -; 483 : if (have >= 6 && left >= 258) { - - 00787 83 fe 06 cmp esi, 6 - 0078a 0f 82 8a 00 00 - 00 jb $LN303@inflateBac - 00790 81 7d e8 02 01 - 00 00 cmp DWORD PTR _left$1$[ebp], 258 ; 00000102H - 00797 0f 82 7d 00 00 - 00 jb $LN303@inflateBac - -; 484 : RESTORE(); - - 0079d 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 007a0 8b 45 e4 mov eax, DWORD PTR _put$1$[ebp] - 007a3 89 42 0c mov DWORD PTR [edx+12], eax - 007a6 8b 45 e8 mov eax, DWORD PTR _left$1$[ebp] - 007a9 89 42 10 mov DWORD PTR [edx+16], eax - 007ac 8b c2 mov eax, edx - 007ae 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 007b1 89 18 mov DWORD PTR [eax], ebx - 007b3 8b d8 mov ebx, eax - 007b5 89 73 04 mov DWORD PTR [ebx+4], esi - 007b8 89 4a 38 mov DWORD PTR [edx+56], ecx - -; 485 : if (state->whave < state->wsize) - - 007bb 8b 4a 28 mov ecx, DWORD PTR [edx+40] - 007be 89 7a 3c mov DWORD PTR [edx+60], edi - 007c1 39 4a 2c cmp DWORD PTR [edx+44], ecx - 007c4 73 08 jae SHORT $LN304@inflateBac - -; 486 : state->whave = state->wsize - left; - - 007c6 8b c1 mov eax, ecx - 007c8 2b 45 e8 sub eax, DWORD PTR _left$1$[ebp] - 007cb 89 42 2c mov DWORD PTR [edx+44], eax -$LN304@inflateBac: - -; 487 : inflate_fast(strm, state->wsize); - - 007ce 8b d1 mov edx, ecx - 007d0 8b cb mov ecx, ebx - 007d2 e8 00 00 00 00 call _inflate_fast - -; 488 : LOAD(); - - 007d7 8b 43 0c mov eax, DWORD PTR [ebx+12] - 007da 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 007dd 89 45 e4 mov DWORD PTR _put$1$[ebp], eax - 007e0 8b 43 10 mov eax, DWORD PTR [ebx+16] - 007e3 8b 1b mov ebx, DWORD PTR [ebx] - 007e5 89 45 e8 mov DWORD PTR _left$1$[ebp], eax - 007e8 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 007eb 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 007ee 8b 4a 38 mov ecx, DWORD PTR [edx+56] - 007f1 8b 7a 3c mov edi, DWORD PTR [edx+60] - 007f4 8b 70 04 mov esi, DWORD PTR [eax+4] - 007f7 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 007fa 89 4d fc mov DWORD PTR _hold$1$[ebp], ecx - 007fd 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - -; 489 : break; - - 00800 e9 fd 04 00 00 jmp $LN393@inflateBac -$LN277@inflateBac: - -; 369 : strm->msg = (char *)"too many length or distance symbols"; - - 00805 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00808 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ - -; 370 : state->mode = BAD; - - 0080f c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH - -; 371 : break; - - 00815 e9 df 04 00 00 jmp $LN505@inflateBac -$LN303@inflateBac: - -; 490 : } -; 491 : -; 492 : /* get a literal, length, or end-of-block code */ -; 493 : for (;;) { -; 494 : here = state->lencode[BITS(state->lenbits)]; - - 0081a 8b 45 f4 mov eax, DWORD PTR _state$1$[ebp] - 0081d ba 01 00 00 00 mov edx, 1 - 00822 8b 48 54 mov ecx, DWORD PTR [eax+84] - 00825 8b 40 4c mov eax, DWORD PTR [eax+76] - 00828 d3 e2 shl edx, cl - 0082a 4a dec edx - 0082b 23 55 fc and edx, DWORD PTR _hold$1$[ebp] - 0082e 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - -; 495 : if ((unsigned)(here.bits) <= bits) break; - - 00831 8b c8 mov ecx, eax - 00833 c1 e9 08 shr ecx, 8 - 00836 0f b6 c9 movzx ecx, cl - 00839 3b cf cmp ecx, edi - 0083b 76 5c jbe SHORT $LN382@inflateBac - 0083d 0f 1f 00 npad 3 -$LL165@inflateBac: - -; 496 : PULLBYTE(); - - 00840 85 f6 test esi, esi - 00842 75 1a jne SHORT $LN171@inflateBac - 00844 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 00847 50 push eax - 00848 ff 75 10 push DWORD PTR _in_desc$[ebp] - 0084b ff 55 0c call DWORD PTR _in$[ebp] - 0084e 8b f0 mov esi, eax - 00850 83 c4 08 add esp, 8 - 00853 85 f6 test esi, esi - 00855 0f 84 d0 04 00 - 00 je $LN369@inflateBac - 0085b 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] -$LN171@inflateBac: - 0085e 0f b6 03 movzx eax, BYTE PTR [ebx] - 00861 8b cf mov ecx, edi - 00863 d3 e0 shl eax, cl - 00865 43 inc ebx - 00866 01 45 fc add DWORD PTR _hold$1$[ebp], eax - 00869 ba 01 00 00 00 mov edx, 1 - 0086e 8b 45 f4 mov eax, DWORD PTR _state$1$[ebp] - 00871 83 c7 08 add edi, 8 - 00874 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 00877 4e dec esi - 00878 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 0087b 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 0087e 8b 48 54 mov ecx, DWORD PTR [eax+84] - 00881 8b 40 4c mov eax, DWORD PTR [eax+76] - 00884 d3 e2 shl edx, cl - 00886 4a dec edx - 00887 23 55 fc and edx, DWORD PTR _hold$1$[ebp] - 0088a 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - 0088d 8b c8 mov ecx, eax - 0088f c1 e9 08 shr ecx, 8 - 00892 0f b6 c9 movzx ecx, cl - 00895 3b cf cmp ecx, edi - 00897 77 a7 ja SHORT $LL165@inflateBac -$LN382@inflateBac: - -; 497 : } -; 498 : if (here.op && (here.op & 0xf0) == 0) { - - 00899 84 c0 test al, al - 0089b 0f 84 d7 00 00 - 00 je $LN490@inflateBac - 008a1 a8 f0 test al, 240 ; 000000f0H - 008a3 0f 85 cf 00 00 - 00 jne $LN490@inflateBac - -; 499 : last = here; -; 500 : for (;;) { -; 501 : here = state->lencode[last.val + - - 008a9 8b c8 mov ecx, eax - 008ab bb 01 00 00 00 mov ebx, 1 - 008b0 c1 e9 08 shr ecx, 8 - 008b3 8b d0 mov edx, eax - 008b5 0f b6 f9 movzx edi, cl - 008b8 89 4d d0 mov DWORD PTR tv1718[ebp], ecx - 008bb 0f b6 c8 movzx ecx, al - 008be 03 cf add ecx, edi - 008c0 c1 e8 10 shr eax, 16 ; 00000010H - 008c3 d3 e3 shl ebx, cl - 008c5 8b cf mov ecx, edi - 008c7 4b dec ebx - 008c8 89 55 e0 mov DWORD PTR _last$[ebp], edx - 008cb 23 5d fc and ebx, DWORD PTR _hold$1$[ebp] - 008ce d3 eb shr ebx, cl - 008d0 03 d8 add ebx, eax - 008d2 8b 45 f4 mov eax, DWORD PTR _state$1$[ebp] - 008d5 8b 40 4c mov eax, DWORD PTR [eax+76] - 008d8 8b 04 98 mov eax, DWORD PTR [eax+ebx*4] - -; 502 : (BITS(last.bits + last.op) >> last.bits)]; -; 503 : if ((unsigned)(last.bits + here.bits) <= bits) break; - - 008db 8b c8 mov ecx, eax - 008dd c1 e9 08 shr ecx, 8 - 008e0 0f b6 f9 movzx edi, cl - 008e3 8b 4d d0 mov ecx, DWORD PTR tv1718[ebp] - 008e6 0f b6 c9 movzx ecx, cl - 008e9 03 f9 add edi, ecx - 008eb 3b 7d ec cmp edi, DWORD PTR _bits$1$[ebp] - 008ee 8b 7d ec mov edi, DWORD PTR _bits$1$[ebp] - 008f1 0f 86 75 00 00 - 00 jbe $LN185@inflateBac -$LL174@inflateBac: - -; 504 : PULLBYTE(); - - 008f7 85 f6 test esi, esi - 008f9 75 1f jne SHORT $LN486@inflateBac - 008fb 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 008fe 50 push eax - 008ff ff 75 10 push DWORD PTR _in_desc$[ebp] - 00902 ff 55 0c call DWORD PTR _in$[ebp] - 00905 8b f0 mov esi, eax - 00907 83 c4 08 add esp, 8 - 0090a 85 f6 test esi, esi - 0090c 0f 84 19 04 00 - 00 je $LN369@inflateBac - 00912 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 00915 8b 55 e0 mov edx, DWORD PTR _last$[ebp] - 00918 eb 03 jmp SHORT $LN180@inflateBac -$LN486@inflateBac: - 0091a 8b 5d f0 mov ebx, DWORD PTR _next$5$[ebp] -$LN180@inflateBac: - 0091d 0f b6 03 movzx eax, BYTE PTR [ebx] - 00920 8b cf mov ecx, edi - 00922 d3 e0 shl eax, cl - 00924 83 c7 08 add edi, 8 - 00927 01 45 fc add DWORD PTR _hold$1$[ebp], eax - 0092a 43 inc ebx - 0092b 0f b7 45 e2 movzx eax, WORD PTR _last$[ebp+2] - 0092f 4e dec esi - 00930 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 00933 bf 01 00 00 00 mov edi, 1 - 00938 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 0093b 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx - 0093e 0f b6 de movzx ebx, dh - 00941 0f b6 ca movzx ecx, dl - 00944 03 cb add ecx, ebx - 00946 d3 e7 shl edi, cl - 00948 8b cb mov ecx, ebx - 0094a 4f dec edi - 0094b 23 7d fc and edi, DWORD PTR _hold$1$[ebp] - 0094e d3 ef shr edi, cl - 00950 03 f8 add edi, eax - 00952 8b 45 f4 mov eax, DWORD PTR _state$1$[ebp] - 00955 8b 40 4c mov eax, DWORD PTR [eax+76] - 00958 8b 04 b8 mov eax, DWORD PTR [eax+edi*4] - 0095b 8b c8 mov ecx, eax - 0095d 8b 7d ec mov edi, DWORD PTR _bits$1$[ebp] - 00960 c1 e9 08 shr ecx, 8 - 00963 0f b6 c9 movzx ecx, cl - 00966 03 cb add ecx, ebx - 00968 3b cf cmp ecx, edi - 0096a 77 8b ja SHORT $LL174@inflateBac -$LN185@inflateBac: - -; 505 : } -; 506 : DROPBITS(last.bits); - - 0096c 8b 5d fc mov ebx, DWORD PTR _hold$1$[ebp] - 0096f 0f b6 ce movzx ecx, dh - 00972 d3 eb shr ebx, cl - 00974 2b f9 sub edi, ecx - 00976 eb 03 jmp SHORT $LN184@inflateBac -$LN490@inflateBac: - 00978 8b 5d fc mov ebx, DWORD PTR _hold$1$[ebp] -$LN184@inflateBac: - -; 507 : } -; 508 : DROPBITS(here.bits); -; 509 : state->length = (unsigned)here.val; - - 0097b 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 0097e 8b c8 mov ecx, eax - 00980 c1 e9 08 shr ecx, 8 - 00983 0f b6 c9 movzx ecx, cl - 00986 d3 eb shr ebx, cl - 00988 2b f9 sub edi, ecx - 0098a 8b c8 mov ecx, eax - 0098c 89 5d fc mov DWORD PTR _hold$1$[ebp], ebx - 0098f c1 e9 10 shr ecx, 16 ; 00000010H - 00992 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 00995 89 4a 40 mov DWORD PTR [edx+64], ecx - -; 510 : -; 511 : /* process literal */ -; 512 : if (here.op == 0) { - - 00998 84 c0 test al, al - 0099a 75 44 jne SHORT $LN312@inflateBac - -; 513 : Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? -; 514 : "inflate: literal '%c'\n" : -; 515 : "inflate: literal 0x%02x\n", here.val)); -; 516 : ROOM(); - - 0099c 83 7d e8 00 cmp DWORD PTR _left$1$[ebp], 0 - 009a0 75 24 jne SHORT $LN497@inflateBac - 009a2 8b 42 28 mov eax, DWORD PTR [edx+40] - 009a5 8b 5a 34 mov ebx, DWORD PTR [edx+52] - 009a8 50 push eax - 009a9 53 push ebx - 009aa ff 75 18 push DWORD PTR _out_desc$[ebp] - 009ad 89 45 e8 mov DWORD PTR _left$1$[ebp], eax - 009b0 89 42 2c mov DWORD PTR [edx+44], eax - 009b3 ff 55 14 call DWORD PTR _out$[ebp] - 009b6 83 c4 0c add esp, 12 ; 0000000cH - 009b9 85 c0 test eax, eax - 009bb 0f 85 84 03 00 - 00 jne $LN372@inflateBac - 009c1 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 009c4 eb 03 jmp SHORT $LN189@inflateBac -$LN497@inflateBac: - 009c6 8b 5d e4 mov ebx, DWORD PTR _put$1$[ebp] -$LN189@inflateBac: - -; 517 : *put++ = (unsigned char)(state->length); - - 009c9 8a 42 40 mov al, BYTE PTR [edx+64] - 009cc 88 03 mov BYTE PTR [ebx], al - 009ce 43 inc ebx - -; 518 : left--; - - 009cf ff 4d e8 dec DWORD PTR _left$1$[ebp] - 009d2 89 5d e4 mov DWORD PTR _put$1$[ebp], ebx - -; 519 : state->mode = LEN; - - 009d5 c7 02 14 00 00 - 00 mov DWORD PTR [edx], 20 ; 00000014H - -; 520 : break; - - 009db e9 19 03 00 00 jmp $LN505@inflateBac -$LN312@inflateBac: - -; 521 : } -; 522 : -; 523 : /* process end of block */ -; 524 : if (here.op & 32) { - - 009e0 a8 20 test al, 32 ; 00000020H - 009e2 74 0b je SHORT $LN315@inflateBac - -; 525 : Tracevv((stderr, "inflate: end of block\n")); -; 526 : state->mode = TYPE; - - 009e4 c7 02 0b 00 00 - 00 mov DWORD PTR [edx], 11 ; 0000000bH - -; 527 : break; - - 009ea e9 0a 03 00 00 jmp $LN505@inflateBac -$LN315@inflateBac: - -; 528 : } -; 529 : -; 530 : /* invalid code */ -; 531 : if (here.op & 64) { - - 009ef a8 40 test al, 64 ; 00000040H - 009f1 74 15 je SHORT $LN316@inflateBac - -; 532 : strm->msg = (char *)"invalid literal/length code"; - - 009f3 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 009f6 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ - -; 533 : state->mode = BAD; - - 009fd c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH - -; 534 : break; - - 00a03 e9 f1 02 00 00 jmp $LN505@inflateBac -$LN316@inflateBac: - -; 535 : } -; 536 : -; 537 : /* length code -- get extra bits, if any */ -; 538 : state->extra = (unsigned)(here.op) & 15; - - 00a08 0f b6 c0 movzx eax, al - 00a0b 83 e0 0f and eax, 15 ; 0000000fH - 00a0e 89 42 48 mov DWORD PTR [edx+72], eax - -; 539 : if (state->extra != 0) { - - 00a11 74 61 je SHORT $LN204@inflateBac - -; 540 : NEEDBITS(state->extra); - - 00a13 3b f8 cmp edi, eax - 00a15 73 43 jae SHORT $LN192@inflateBac - 00a17 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00a1a 66 0f 1f 44 00 - 00 npad 6 -$LL195@inflateBac: - 00a20 85 f6 test esi, esi - 00a22 75 1d jne SHORT $LN200@inflateBac - 00a24 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 00a27 50 push eax - 00a28 ff 75 10 push DWORD PTR _in_desc$[ebp] - 00a2b ff 55 0c call DWORD PTR _in$[ebp] - 00a2e 8b f0 mov esi, eax - 00a30 83 c4 08 add esp, 8 - 00a33 85 f6 test esi, esi - 00a35 0f 84 f0 02 00 - 00 je $LN369@inflateBac - 00a3b 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 00a3e 8b 45 f8 mov eax, DWORD PTR _next$[ebp] -$LN200@inflateBac: - 00a41 0f b6 00 movzx eax, BYTE PTR [eax] - 00a44 8b cf mov ecx, edi - 00a46 d3 e0 shl eax, cl - 00a48 83 c7 08 add edi, 8 - 00a4b 03 d8 add ebx, eax - 00a4d 4e dec esi - 00a4e 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00a51 40 inc eax - 00a52 89 45 f8 mov DWORD PTR _next$[ebp], eax - 00a55 3b 7a 48 cmp edi, DWORD PTR [edx+72] - 00a58 72 c6 jb SHORT $LL195@inflateBac -$LN192@inflateBac: - -; 541 : state->length += BITS(state->extra); - - 00a5a 8b 4a 48 mov ecx, DWORD PTR [edx+72] - 00a5d b8 01 00 00 00 mov eax, 1 - 00a62 d3 e0 shl eax, cl - 00a64 48 dec eax - 00a65 23 c3 and eax, ebx - -; 542 : DROPBITS(state->extra); - - 00a67 d3 eb shr ebx, cl - 00a69 01 42 40 add DWORD PTR [edx+64], eax - 00a6c 2b f9 sub edi, ecx - 00a6e 89 5d fc mov DWORD PTR _hold$1$[ebp], ebx - 00a71 89 7d ec mov DWORD PTR _bits$1$[ebp], edi -$LN204@inflateBac: - -; 543 : } -; 544 : Tracevv((stderr, "inflate: length %u\n", state->length)); -; 545 : -; 546 : /* get distance code */ -; 547 : for (;;) { -; 548 : here = state->distcode[BITS(state->distbits)]; - - 00a74 8b 5d f4 mov ebx, DWORD PTR _state$1$[ebp] - 00a77 ba 01 00 00 00 mov edx, 1 - 00a7c 8b 4b 58 mov ecx, DWORD PTR [ebx+88] - 00a7f 8b 43 50 mov eax, DWORD PTR [ebx+80] - 00a82 d3 e2 shl edx, cl - 00a84 4a dec edx - 00a85 23 55 fc and edx, DWORD PTR _hold$1$[ebp] - 00a88 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - -; 549 : if ((unsigned)(here.bits) <= bits) break; - - 00a8b 8b c8 mov ecx, eax - 00a8d c1 e9 08 shr ecx, 8 - 00a90 0f b6 c9 movzx ecx, cl - 00a93 3b cf cmp ecx, edi - 00a95 76 53 jbe SHORT $LN479@inflateBac -$LL206@inflateBac: - -; 550 : PULLBYTE(); - - 00a97 85 f6 test esi, esi - 00a99 75 17 jne SHORT $LN212@inflateBac - 00a9b 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 00a9e 50 push eax - 00a9f ff 75 10 push DWORD PTR _in_desc$[ebp] - 00aa2 ff 55 0c call DWORD PTR _in$[ebp] - 00aa5 8b f0 mov esi, eax - 00aa7 83 c4 08 add esp, 8 - 00aaa 85 f6 test esi, esi - 00aac 0f 84 79 02 00 - 00 je $LN369@inflateBac -$LN212@inflateBac: - 00ab2 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00ab5 8b cf mov ecx, edi - 00ab7 83 c7 08 add edi, 8 - 00aba 4e dec esi - 00abb 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 00abe 0f b6 02 movzx eax, BYTE PTR [edx] - 00ac1 42 inc edx - 00ac2 d3 e0 shl eax, cl - 00ac4 01 45 fc add DWORD PTR _hold$1$[ebp], eax - 00ac7 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00aca ba 01 00 00 00 mov edx, 1 - 00acf 8b 4b 58 mov ecx, DWORD PTR [ebx+88] - 00ad2 8b 43 50 mov eax, DWORD PTR [ebx+80] - 00ad5 d3 e2 shl edx, cl - 00ad7 4a dec edx - 00ad8 23 55 fc and edx, DWORD PTR _hold$1$[ebp] - 00adb 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - 00ade 8b c8 mov ecx, eax - 00ae0 c1 e9 08 shr ecx, 8 - 00ae3 0f b6 c9 movzx ecx, cl - 00ae6 3b cf cmp ecx, edi - 00ae8 77 ad ja SHORT $LL206@inflateBac -$LN479@inflateBac: - -; 551 : } -; 552 : if ((here.op & 0xf0) == 0) { - - 00aea a8 f0 test al, 240 ; 000000f0H - 00aec 0f 85 c7 00 00 - 00 jne $LN491@inflateBac - -; 553 : last = here; -; 554 : for (;;) { -; 555 : here = state->distcode[last.val + - - 00af2 8b c8 mov ecx, eax - 00af4 bb 01 00 00 00 mov ebx, 1 - 00af9 c1 e9 08 shr ecx, 8 - 00afc 8b d0 mov edx, eax - 00afe 0f b6 f9 movzx edi, cl - 00b01 89 4d d0 mov DWORD PTR tv1717[ebp], ecx - 00b04 0f b6 c8 movzx ecx, al - 00b07 03 cf add ecx, edi - 00b09 c1 e8 10 shr eax, 16 ; 00000010H - 00b0c d3 e3 shl ebx, cl - 00b0e 8b cf mov ecx, edi - 00b10 4b dec ebx - 00b11 89 55 e0 mov DWORD PTR _last$[ebp], edx - 00b14 23 5d fc and ebx, DWORD PTR _hold$1$[ebp] - 00b17 d3 eb shr ebx, cl - 00b19 03 d8 add ebx, eax - 00b1b 8b 45 f4 mov eax, DWORD PTR _state$1$[ebp] - 00b1e 8b 40 50 mov eax, DWORD PTR [eax+80] - 00b21 8b 04 98 mov eax, DWORD PTR [eax+ebx*4] - -; 556 : (BITS(last.bits + last.op) >> last.bits)]; -; 557 : if ((unsigned)(last.bits + here.bits) <= bits) break; - - 00b24 8b c8 mov ecx, eax - 00b26 c1 e9 08 shr ecx, 8 - 00b29 0f b6 f9 movzx edi, cl - 00b2c 8b 4d d0 mov ecx, DWORD PTR tv1717[ebp] - 00b2f 0f b6 c9 movzx ecx, cl - 00b32 03 f9 add edi, ecx - 00b34 3b 7d ec cmp edi, DWORD PTR _bits$1$[ebp] - 00b37 8b 7d ec mov edi, DWORD PTR _bits$1$[ebp] - 00b3a 76 71 jbe SHORT $LN226@inflateBac - 00b3c 0f 1f 40 00 npad 4 -$LL215@inflateBac: - -; 558 : PULLBYTE(); - - 00b40 85 f6 test esi, esi - 00b42 75 1a jne SHORT $LN221@inflateBac - 00b44 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 00b47 50 push eax - 00b48 ff 75 10 push DWORD PTR _in_desc$[ebp] - 00b4b ff 55 0c call DWORD PTR _in$[ebp] - 00b4e 8b f0 mov esi, eax - 00b50 83 c4 08 add esp, 8 - 00b53 85 f6 test esi, esi - 00b55 0f 84 d0 01 00 - 00 je $LN369@inflateBac - 00b5b 8b 55 e0 mov edx, DWORD PTR _last$[ebp] -$LN221@inflateBac: - 00b5e 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 00b61 8b cf mov ecx, edi - 00b63 83 c7 08 add edi, 8 - 00b66 4e dec esi - 00b67 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 00b6a bf 01 00 00 00 mov edi, 1 - 00b6f 0f b6 03 movzx eax, BYTE PTR [ebx] - 00b72 43 inc ebx - 00b73 d3 e0 shl eax, cl - 00b75 01 45 fc add DWORD PTR _hold$1$[ebp], eax - 00b78 0f b7 45 e2 movzx eax, WORD PTR _last$[ebp+2] - 00b7c 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 00b7f 0f b6 de movzx ebx, dh - 00b82 0f b6 ca movzx ecx, dl - 00b85 03 cb add ecx, ebx - 00b87 d3 e7 shl edi, cl - 00b89 8b cb mov ecx, ebx - 00b8b 4f dec edi - 00b8c 23 7d fc and edi, DWORD PTR _hold$1$[ebp] - 00b8f d3 ef shr edi, cl - 00b91 03 f8 add edi, eax - 00b93 8b 45 f4 mov eax, DWORD PTR _state$1$[ebp] - 00b96 8b 40 50 mov eax, DWORD PTR [eax+80] - 00b99 8b 04 b8 mov eax, DWORD PTR [eax+edi*4] - 00b9c 8b c8 mov ecx, eax - 00b9e 8b 7d ec mov edi, DWORD PTR _bits$1$[ebp] - 00ba1 c1 e9 08 shr ecx, 8 - 00ba4 0f b6 c9 movzx ecx, cl - 00ba7 03 cb add ecx, ebx - 00ba9 3b cf cmp ecx, edi - 00bab 77 93 ja SHORT $LL215@inflateBac -$LN226@inflateBac: - -; 559 : } -; 560 : DROPBITS(last.bits); - - 00bad 8b 5d fc mov ebx, DWORD PTR _hold$1$[ebp] - 00bb0 0f b6 ce movzx ecx, dh - 00bb3 d3 eb shr ebx, cl - 00bb5 2b f9 sub edi, ecx - 00bb7 eb 03 jmp SHORT $LN225@inflateBac -$LN491@inflateBac: - 00bb9 8b 5d fc mov ebx, DWORD PTR _hold$1$[ebp] -$LN225@inflateBac: - -; 565 : state->mode = BAD; - - 00bbc 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 00bbf 8b c8 mov ecx, eax - 00bc1 c1 e9 08 shr ecx, 8 - 00bc4 0f b6 c9 movzx ecx, cl - 00bc7 d3 eb shr ebx, cl - 00bc9 2b f9 sub edi, ecx - 00bcb 89 5d fc mov DWORD PTR _hold$1$[ebp], ebx - 00bce 89 7d ec mov DWORD PTR _bits$1$[ebp], edi - 00bd1 a8 40 test al, 64 ; 00000040H - 00bd3 74 15 je SHORT $LN327@inflateBac - -; 561 : } -; 562 : DROPBITS(here.bits); -; 563 : if (here.op & 64) { -; 564 : strm->msg = (char *)"invalid distance code"; - - 00bd5 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00bd8 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ - -; 565 : state->mode = BAD; - - 00bdf c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH - -; 566 : break; - - 00be5 e9 0f 01 00 00 jmp $LN505@inflateBac -$LN327@inflateBac: - -; 567 : } -; 568 : state->offset = (unsigned)here.val; - - 00bea 8b c8 mov ecx, eax - -; 569 : -; 570 : /* get distance extra bits, if any */ -; 571 : state->extra = (unsigned)(here.op) & 15; - - 00bec 0f b6 c0 movzx eax, al - 00bef c1 e9 10 shr ecx, 16 ; 00000010H - 00bf2 83 e0 0f and eax, 15 ; 0000000fH - 00bf5 89 4a 44 mov DWORD PTR [edx+68], ecx - 00bf8 89 42 48 mov DWORD PTR [edx+72], eax - -; 572 : if (state->extra != 0) { - - 00bfb 74 5b je SHORT $LN242@inflateBac - -; 573 : NEEDBITS(state->extra); - - 00bfd 3b f8 cmp edi, eax - 00bff 73 3d jae SHORT $LN230@inflateBac - 00c01 8b 45 f8 mov eax, DWORD PTR _next$[ebp] -$LL233@inflateBac: - 00c04 85 f6 test esi, esi - 00c06 75 1d jne SHORT $LN238@inflateBac - 00c08 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 00c0b 50 push eax - 00c0c ff 75 10 push DWORD PTR _in_desc$[ebp] - 00c0f ff 55 0c call DWORD PTR _in$[ebp] - 00c12 8b f0 mov esi, eax - 00c14 83 c4 08 add esp, 8 - 00c17 85 f6 test esi, esi - 00c19 0f 84 0c 01 00 - 00 je $LN369@inflateBac - 00c1f 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 00c22 8b 45 f8 mov eax, DWORD PTR _next$[ebp] -$LN238@inflateBac: - 00c25 0f b6 00 movzx eax, BYTE PTR [eax] - 00c28 8b cf mov ecx, edi - 00c2a d3 e0 shl eax, cl - 00c2c 83 c7 08 add edi, 8 - 00c2f 03 d8 add ebx, eax - 00c31 4e dec esi - 00c32 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00c35 40 inc eax - 00c36 89 45 f8 mov DWORD PTR _next$[ebp], eax - 00c39 3b 7a 48 cmp edi, DWORD PTR [edx+72] - 00c3c 72 c6 jb SHORT $LL233@inflateBac -$LN230@inflateBac: - -; 574 : state->offset += BITS(state->extra); - - 00c3e 8b 4a 48 mov ecx, DWORD PTR [edx+72] - 00c41 b8 01 00 00 00 mov eax, 1 - 00c46 d3 e0 shl eax, cl - 00c48 48 dec eax - 00c49 23 c3 and eax, ebx - -; 575 : DROPBITS(state->extra); - - 00c4b d3 eb shr ebx, cl - 00c4d 01 42 44 add DWORD PTR [edx+68], eax - 00c50 2b f9 sub edi, ecx - 00c52 89 5d fc mov DWORD PTR _hold$1$[ebp], ebx - 00c55 89 7d ec mov DWORD PTR _bits$1$[ebp], edi -$LN242@inflateBac: - -; 576 : } -; 577 : if (state->offset > state->wsize - (state->whave < state->wsize ? - - 00c58 8b 4a 28 mov ecx, DWORD PTR [edx+40] - 00c5b 39 4a 2c cmp DWORD PTR [edx+44], ecx - 00c5e 8b 5d e8 mov ebx, DWORD PTR _left$1$[ebp] - 00c61 1b c0 sbb eax, eax - 00c63 23 c3 and eax, ebx - 00c65 2b c8 sub ecx, eax - 00c67 39 4a 44 cmp DWORD PTR [edx+68], ecx - 00c6a 76 15 jbe SHORT $LL246@inflateBac - -; 578 : left : 0)) { -; 579 : strm->msg = (char *)"invalid distance too far back"; - - 00c6c 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00c6f c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ - -; 580 : state->mode = BAD; - - 00c76 c7 02 1d 00 00 - 00 mov DWORD PTR [edx], 29 ; 0000001dH - -; 581 : break; - - 00c7c e9 78 00 00 00 jmp $LN505@inflateBac -$LL246@inflateBac: - -; 582 : } -; 583 : Tracevv((stderr, "inflate: distance %u\n", state->offset)); -; 584 : -; 585 : /* copy match from window to output */ -; 586 : do { -; 587 : ROOM(); - - 00c81 85 db test ebx, ebx - 00c83 75 27 jne SHORT $LN498@inflateBac - 00c85 8b 42 28 mov eax, DWORD PTR [edx+40] - 00c88 8b 5a 34 mov ebx, DWORD PTR [edx+52] - 00c8b 50 push eax - 00c8c 53 push ebx - 00c8d ff 75 18 push DWORD PTR _out_desc$[ebp] - 00c90 89 5d e4 mov DWORD PTR _put$1$[ebp], ebx - 00c93 89 45 e8 mov DWORD PTR _left$1$[ebp], eax - 00c96 89 42 2c mov DWORD PTR [edx+44], eax - 00c99 ff 55 14 call DWORD PTR _out$[ebp] - 00c9c 83 c4 0c add esp, 12 ; 0000000cH - 00c9f 85 c0 test eax, eax - 00ca1 0f 85 9e 00 00 - 00 jne $LN372@inflateBac - 00ca7 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 00caa eb 03 jmp SHORT $LN247@inflateBac -$LN498@inflateBac: - 00cac 8b 5d e4 mov ebx, DWORD PTR _put$1$[ebp] -$LN247@inflateBac: - -; 588 : copy = state->wsize - state->offset; - - 00caf 8b 42 28 mov eax, DWORD PTR [edx+40] - 00cb2 8b 4a 44 mov ecx, DWORD PTR [edx+68] - 00cb5 2b c1 sub eax, ecx - -; 589 : if (copy < left) { - - 00cb7 3b 45 e8 cmp eax, DWORD PTR _left$1$[ebp] - 00cba 73 09 jae SHORT $LN334@inflateBac - -; 590 : from = put + copy; -; 591 : copy = left - copy; - - 00cbc 8b 4d e8 mov ecx, DWORD PTR _left$1$[ebp] - 00cbf 03 d8 add ebx, eax - 00cc1 2b c8 sub ecx, eax - -; 592 : } - - 00cc3 eb 05 jmp SHORT $LN335@inflateBac -$LN334@inflateBac: - -; 593 : else { -; 594 : from = put - state->offset; - - 00cc5 2b d9 sub ebx, ecx - -; 595 : copy = left; - - 00cc7 8b 4d e8 mov ecx, DWORD PTR _left$1$[ebp] -$LN335@inflateBac: - -; 596 : } -; 597 : if (copy > state->length) copy = state->length; - - 00cca 3b 4a 40 cmp ecx, DWORD PTR [edx+64] - 00ccd 0f 47 4a 40 cmova ecx, DWORD PTR [edx+64] - -; 598 : state->length -= copy; - - 00cd1 29 4a 40 sub DWORD PTR [edx+64], ecx - -; 599 : left -= copy; - - 00cd4 29 4d e8 sub DWORD PTR _left$1$[ebp], ecx - -; 602 : } while (--copy); - - 00cd7 8b 55 e4 mov edx, DWORD PTR _put$1$[ebp] - 00cda 2b da sub ebx, edx - 00cdc 0f 1f 40 00 npad 4 -$LL252@inflateBac: - -; 600 : do { -; 601 : *put++ = *from++; - - 00ce0 8a 04 13 mov al, BYTE PTR [ebx+edx] - 00ce3 88 02 mov BYTE PTR [edx], al - 00ce5 42 inc edx - -; 602 : } while (--copy); - - 00ce6 83 e9 01 sub ecx, 1 - 00ce9 75 f5 jne SHORT $LL252@inflateBac - -; 603 : } while (state->length != 0); - - 00ceb 8b 5d e8 mov ebx, DWORD PTR _left$1$[ebp] - 00cee 89 55 e4 mov DWORD PTR _put$1$[ebp], edx - 00cf1 8b 55 f4 mov edx, DWORD PTR _state$1$[ebp] - 00cf4 39 4a 40 cmp DWORD PTR [edx+64], ecx - 00cf7 75 88 jne SHORT $LL246@inflateBac -$LN505@inflateBac: - 00cf9 8b 5d f8 mov ebx, DWORD PTR _next$[ebp] - 00cfc 89 5d f0 mov DWORD PTR _next$5$[ebp], ebx -$LN492@inflateBac: - 00cff 8b 4d fc mov ecx, DWORD PTR _hold$1$[ebp] -$LN393@inflateBac: - -; 288 : -; 289 : /* Inflate until end of block marked as last */ -; 290 : for (;;) -; 291 : switch (state->mode) { - - 00d02 8b 02 mov eax, DWORD PTR [edx] - 00d04 83 e8 0b sub eax, 11 ; 0000000bH - 00d07 83 f8 12 cmp eax, 18 ; 00000012H - 00d0a 0f 86 70 f3 ff - ff jbe $LL2@inflateBac -$LN341@inflateBac: - -; 618 : -; 619 : default: /* can't happen, but makes compilers happy */ -; 620 : ret = Z_STREAM_ERROR; - - 00d10 bf fe ff ff ff mov edi, -2 ; fffffffeH -$LN485@inflateBac: - 00d15 8b 45 f0 mov eax, DWORD PTR _next$5$[ebp] -$inf_leave$509: - -; 621 : goto inf_leave; -; 622 : } -; 623 : -; 624 : /* Return unused input */ -; 625 : inf_leave: -; 626 : strm->next_in = next; - - 00d18 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00d1b 89 01 mov DWORD PTR [ecx], eax - -; 627 : strm->avail_in = have; -; 628 : return ret; - - 00d1d 8b c7 mov eax, edi - 00d1f 5f pop edi - 00d20 89 71 04 mov DWORD PTR [ecx+4], esi - 00d23 5e pop esi - 00d24 5b pop ebx - -; 629 : } - - 00d25 8b e5 mov esp, ebp - 00d27 5d pop ebp - 00d28 c2 14 00 ret 20 ; 00000014H -$LN369@inflateBac: - -; 621 : goto inf_leave; -; 622 : } -; 623 : -; 624 : /* Return unused input */ -; 625 : inf_leave: -; 626 : strm->next_in = next; - - 00d2b 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00d2e 33 c0 xor eax, eax - 00d30 bf fb ff ff ff mov edi, -5 ; fffffffbH - 00d35 89 01 mov DWORD PTR [ecx], eax - -; 627 : strm->avail_in = have; -; 628 : return ret; - - 00d37 8b c7 mov eax, edi - 00d39 5f pop edi - 00d3a 89 71 04 mov DWORD PTR [ecx+4], esi - 00d3d 5e pop esi - 00d3e 5b pop ebx - -; 629 : } - - 00d3f 8b e5 mov esp, ebp - 00d41 5d pop ebp - 00d42 c2 14 00 ret 20 ; 00000014H -$LN372@inflateBac: - -; 621 : goto inf_leave; -; 622 : } -; 623 : -; 624 : /* Return unused input */ -; 625 : inf_leave: -; 626 : strm->next_in = next; - - 00d45 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00d48 bf fb ff ff ff mov edi, -5 ; fffffffbH - 00d4d 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00d50 89 01 mov DWORD PTR [ecx], eax - -; 627 : strm->avail_in = have; -; 628 : return ret; - - 00d52 8b c7 mov eax, edi - 00d54 5f pop edi - 00d55 89 71 04 mov DWORD PTR [ecx+4], esi - 00d58 5e pop esi - 00d59 5b pop ebx - -; 629 : } - - 00d5a 8b e5 mov esp, ebp - 00d5c 5d pop ebp - 00d5d c2 14 00 ret 20 ; 00000014H -$LN337@inflateBac: - -; 604 : break; -; 605 : -; 606 : case DONE: -; 607 : /* inflate stream terminated properly -- write leftover output */ -; 608 : ret = Z_STREAM_END; -; 609 : if (left < state->wsize) { - - 00d60 8b 42 28 mov eax, DWORD PTR [edx+40] - 00d63 bf 01 00 00 00 mov edi, 1 - 00d68 8b 4d e8 mov ecx, DWORD PTR _left$1$[ebp] - 00d6b 3b c8 cmp ecx, eax - 00d6d 73 a6 jae SHORT $LN485@inflateBac - -; 610 : if (out(out_desc, state->window, state->wsize - left)) - - 00d6f 2b c1 sub eax, ecx - 00d71 50 push eax - 00d72 ff 72 34 push DWORD PTR [edx+52] - 00d75 ff 75 18 push DWORD PTR _out_desc$[ebp] - 00d78 ff 55 14 call DWORD PTR _out$[ebp] - 00d7b 83 c4 0c add esp, 12 ; 0000000cH - 00d7e 85 c0 test eax, eax - -; 611 : ret = Z_BUF_ERROR; -; 612 : } -; 613 : goto inf_leave; - - 00d80 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00d83 74 93 je SHORT $inf_leave$509 - -; 621 : goto inf_leave; -; 622 : } -; 623 : -; 624 : /* Return unused input */ -; 625 : inf_leave: -; 626 : strm->next_in = next; - - 00d85 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00d88 bf fb ff ff ff mov edi, -5 ; fffffffbH - 00d8d 89 01 mov DWORD PTR [ecx], eax - -; 627 : strm->avail_in = have; -; 628 : return ret; - - 00d8f 8b c7 mov eax, edi - 00d91 5f pop edi - 00d92 89 71 04 mov DWORD PTR [ecx+4], esi - 00d95 5e pop esi - 00d96 5b pop ebx - -; 629 : } - - 00d97 8b e5 mov esp, ebp - 00d99 5d pop ebp - 00d9a c2 14 00 ret 20 ; 00000014H -$LN340@inflateBac: - -; 614 : -; 615 : case BAD: -; 616 : ret = Z_DATA_ERROR; - - 00d9d bf fd ff ff ff mov edi, -3 ; fffffffdH - -; 617 : goto inf_leave; - - 00da2 e9 6e ff ff ff jmp $LN485@inflateBac -$LN254@inflateBac: - -; 274 : return Z_STREAM_ERROR; - - 00da7 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 629 : } - - 00dac 8b e5 mov esp, ebp - 00dae 5d pop ebp - 00daf c2 14 00 ret 20 ; 00000014H - 00db2 66 90 npad 2 -$LN507@inflateBac: - 00db4 00 00 00 00 DD $LN255@inflateBac - 00db8 00 00 00 00 DD $LN31@inflateBac - 00dbc 00 00 00 00 DD $LN56@inflateBac - 00dc0 00 00 00 00 DD $LN302@inflateBac - 00dc4 00 00 00 00 DD $LN337@inflateBac - 00dc8 00 00 00 00 DD $LN340@inflateBac - 00dcc 00 00 00 00 DD $LN341@inflateBac -$LN473@inflateBac: - 00dd0 00 DB 0 - 00dd1 06 DB 6 - 00dd2 01 DB 1 - 00dd3 06 DB 6 - 00dd4 06 DB 6 - 00dd5 02 DB 2 - 00dd6 06 DB 6 - 00dd7 06 DB 6 - 00dd8 06 DB 6 - 00dd9 03 DB 3 - 00dda 06 DB 6 - 00ddb 06 DB 6 - 00ddc 06 DB 6 - 00ddd 06 DB 6 - 00dde 06 DB 6 - 00ddf 06 DB 6 - 00de0 06 DB 6 - 00de1 04 DB 4 - 00de2 05 DB 5 - 00de3 90 npad 1 -$LN508@inflateBac: - 00de4 00 00 00 00 DD $LN259@inflateBac - 00de8 00 00 00 00 DD $LN260@inflateBac - 00dec 00 00 00 00 DD $LN261@inflateBac - 00df0 00 00 00 00 DD $LN262@inflateBac -_inflateBack@20 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\infback.c -; COMDAT _inflateBackEnd@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateBackEnd@4 PROC ; COMDAT - -; 633 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 634 : if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) - - 00004 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00007 85 f6 test esi, esi - 00009 74 25 je SHORT $LN3@inflateBac - 0000b 8b 46 1c mov eax, DWORD PTR [esi+28] - 0000e 85 c0 test eax, eax - 00010 74 1e je SHORT $LN3@inflateBac - 00012 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 00015 85 c9 test ecx, ecx - 00017 74 17 je SHORT $LN3@inflateBac - -; 636 : ZFREE(strm, strm->state); - - 00019 50 push eax - 0001a ff 76 28 push DWORD PTR [esi+40] - 0001d ff d1 call ecx - 0001f 83 c4 08 add esp, 8 - -; 637 : strm->state = Z_NULL; - - 00022 c7 46 1c 00 00 - 00 00 mov DWORD PTR [esi+28], 0 - -; 638 : Tracev((stderr, "inflate: end\n")); -; 639 : return Z_OK; - - 00029 33 c0 xor eax, eax - 0002b 5e pop esi - -; 640 : } - - 0002c 5d pop ebp - 0002d c2 04 00 ret 4 -$LN3@inflateBac: - -; 635 : return Z_STREAM_ERROR; - - 00030 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00035 5e pop esi - -; 640 : } - - 00036 5d pop ebp - 00037 c2 04 00 ret 4 -_inflateBackEnd@4 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/infback.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/infback.obj deleted file mode 100644 index 49e4f30d13..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/infback.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inffast.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inffast.cod deleted file mode 100644 index dbb0bf6f2a..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inffast.cod +++ /dev/null @@ -1,990 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\inffast.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _inflate_fast -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inffast.c -; COMDAT _inflate_fast -_TEXT SEGMENT -_whave$1$ = -68 ; size = 4 -_beg$1$ = -64 ; size = 4 -_end$1$ = -60 ; size = 4 -_last$1$ = -56 ; size = 4 -_window$1$ = -52 ; size = 4 -_wsize$1$ = -48 ; size = 4 -_dcode$1$ = -44 ; size = 4 -_lcode$1$ = -40 ; size = 4 -_bits$1$ = -36 ; size = 4 -_wnext$1$ = -32 ; size = 4 -_dmask$1$ = -28 ; size = 4 -_strm$1$ = -24 ; size = 4 -_lmask$1$ = -20 ; size = 4 -_state$1$ = -16 ; size = 4 -_dist$1$ = -12 ; size = 4 -_in$1$ = -8 ; size = 4 -_hold$1$ = -4 ; size = 4 -_inflate_fast PROC ; COMDAT -; _strm$ = ecx -; _start$ = edx - -; 70 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 44 sub esp, 68 ; 00000044H - 00006 53 push ebx - 00007 56 push esi - 00008 57 push edi - 00009 8b f9 mov edi, ecx - 0000b 89 7d e8 mov DWORD PTR _strm$1$[ebp], edi - -; 71 : struct inflate_state FAR *state; -; 72 : z_const unsigned char FAR *in; /* local strm->next_in */ -; 73 : z_const unsigned char FAR *last; /* have enough input while in < last */ -; 74 : unsigned char FAR *out; /* local strm->next_out */ -; 75 : unsigned char FAR *beg; /* inflate()'s initial strm->next_out */ -; 76 : unsigned char FAR *end; /* while out < end, enough space available */ -; 77 : #ifdef INFLATE_STRICT -; 78 : unsigned dmax; /* maximum distance from zlib header */ -; 79 : #endif -; 80 : unsigned wsize; /* window size or zero if not using window */ -; 81 : unsigned whave; /* valid bytes in the window */ -; 82 : unsigned wnext; /* window write index */ -; 83 : unsigned char FAR *window; /* allocated sliding window, if wsize != 0 */ -; 84 : unsigned long hold; /* local strm->hold */ -; 85 : unsigned bits; /* local strm->bits */ -; 86 : code const FAR *lcode; /* local strm->lencode */ -; 87 : code const FAR *dcode; /* local strm->distcode */ -; 88 : unsigned lmask; /* mask for first level of length codes */ -; 89 : unsigned dmask; /* mask for first level of distance codes */ -; 90 : code here; /* retrieved table entry */ -; 91 : unsigned op; /* code bits, operation, extra bits, or */ -; 92 : /* window position, window bytes to copy */ -; 93 : unsigned len; /* match length, unused bytes */ -; 94 : unsigned dist; /* match distance */ -; 95 : unsigned char FAR *from; /* where to copy match from */ -; 96 : -; 97 : /* copy state to local variables */ -; 98 : state = (struct inflate_state FAR *)strm->state; - - 0000e 8b 4f 1c mov ecx, DWORD PTR [edi+28] - -; 99 : in = strm->next_in - OFF; - - 00011 8b 1f mov ebx, DWORD PTR [edi] - -; 100 : last = in + (strm->avail_in - 5); - - 00013 8b 47 04 mov eax, DWORD PTR [edi+4] - 00016 4b dec ebx - -; 101 : out = strm->next_out - OFF; - - 00017 8b 77 0c mov esi, DWORD PTR [edi+12] - 0001a 83 c0 fb add eax, -5 ; fffffffbH - 0001d 03 c3 add eax, ebx - 0001f 89 4d f0 mov DWORD PTR _state$1$[ebp], ecx - 00022 89 45 c8 mov DWORD PTR _last$1$[ebp], eax - 00025 4e dec esi - -; 102 : beg = out - (start - strm->avail_out); - - 00026 8b 47 10 mov eax, DWORD PTR [edi+16] - 00029 8b f8 mov edi, eax - -; 103 : end = out + (strm->avail_out - 257); - - 0002b 05 ff fe ff ff add eax, -257 ; fffffeffH - 00030 89 5d f8 mov DWORD PTR _in$1$[ebp], ebx - 00033 03 c6 add eax, esi - 00035 2b fa sub edi, edx - -; 104 : #ifdef INFLATE_STRICT -; 105 : dmax = state->dmax; -; 106 : #endif -; 107 : wsize = state->wsize; -; 108 : whave = state->whave; -; 109 : wnext = state->wnext; -; 110 : window = state->window; -; 111 : hold = state->hold; - - 00037 8b 51 38 mov edx, DWORD PTR [ecx+56] - 0003a 03 fe add edi, esi - 0003c 89 45 c4 mov DWORD PTR _end$1$[ebp], eax - 0003f 8b 41 28 mov eax, DWORD PTR [ecx+40] - 00042 89 45 d0 mov DWORD PTR _wsize$1$[ebp], eax - 00045 8b 41 2c mov eax, DWORD PTR [ecx+44] - 00048 89 45 bc mov DWORD PTR _whave$1$[ebp], eax - 0004b 8b 41 30 mov eax, DWORD PTR [ecx+48] - 0004e 89 45 e0 mov DWORD PTR _wnext$1$[ebp], eax - 00051 8b 41 34 mov eax, DWORD PTR [ecx+52] - 00054 89 45 cc mov DWORD PTR _window$1$[ebp], eax - -; 112 : bits = state->bits; -; 113 : lcode = state->lencode; - - 00057 8b 41 4c mov eax, DWORD PTR [ecx+76] - 0005a 89 45 d8 mov DWORD PTR _lcode$1$[ebp], eax - -; 114 : dcode = state->distcode; - - 0005d 8b 41 50 mov eax, DWORD PTR [ecx+80] - 00060 89 45 d4 mov DWORD PTR _dcode$1$[ebp], eax - -; 115 : lmask = (1U << state->lenbits) - 1; - - 00063 b8 01 00 00 00 mov eax, 1 - 00068 89 45 ec mov DWORD PTR _lmask$1$[ebp], eax - -; 116 : dmask = (1U << state->distbits) - 1; - - 0006b 89 45 e4 mov DWORD PTR _dmask$1$[ebp], eax - 0006e 8b 45 f0 mov eax, DWORD PTR _state$1$[ebp] - 00071 89 7d c0 mov DWORD PTR _beg$1$[ebp], edi - 00074 8b 79 3c mov edi, DWORD PTR [ecx+60] - 00077 8b 49 54 mov ecx, DWORD PTR [ecx+84] - 0007a d3 65 ec shl DWORD PTR _lmask$1$[ebp], cl - 0007d 8b 48 58 mov ecx, DWORD PTR [eax+88] - 00080 8b 45 e4 mov eax, DWORD PTR _dmask$1$[ebp] - 00083 ff 4d ec dec DWORD PTR _lmask$1$[ebp] - 00086 d3 e0 shl eax, cl - 00088 48 dec eax - 00089 89 45 e4 mov DWORD PTR _dmask$1$[ebp], eax - 0008c 0f 1f 40 00 npad 4 -$LL4@inflate_fa: - -; 117 : -; 118 : /* decode literals and length/distances until end-of-block or not enough -; 119 : input data or output space */ -; 120 : do { -; 121 : if (bits < 15) { - - 00090 83 ff 0f cmp edi, 15 ; 0000000fH - 00093 73 1d jae SHORT $LN22@inflate_fa - -; 122 : hold += (unsigned long)(PUP(in)) << bits; - - 00095 0f b6 43 01 movzx eax, BYTE PTR [ebx+1] - 00099 8b cf mov ecx, edi - 0009b d3 e0 shl eax, cl - -; 123 : bits += 8; -; 124 : hold += (unsigned long)(PUP(in)) << bits; - - 0009d 83 c3 02 add ebx, 2 - 000a0 03 d0 add edx, eax - 000a2 89 5d f8 mov DWORD PTR _in$1$[ebp], ebx - 000a5 8d 4f 08 lea ecx, DWORD PTR [edi+8] - 000a8 0f b6 03 movzx eax, BYTE PTR [ebx] - 000ab d3 e0 shl eax, cl - 000ad 03 d0 add edx, eax - -; 125 : bits += 8; - - 000af 83 c7 10 add edi, 16 ; 00000010H -$LN22@inflate_fa: - -; 126 : } -; 127 : here = lcode[hold & lmask]; - - 000b2 8b 45 ec mov eax, DWORD PTR _lmask$1$[ebp] - 000b5 8b 4d d8 mov ecx, DWORD PTR _lcode$1$[ebp] - 000b8 23 c2 and eax, edx - 000ba 8b 1c 81 mov ebx, DWORD PTR [ecx+eax*4] - -; 128 : dolen: -; 129 : op = (unsigned)(here.bits); - - 000bd 8b c3 mov eax, ebx - 000bf c1 e8 08 shr eax, 8 - 000c2 0f b6 c8 movzx ecx, al - -; 130 : hold >>= op; - - 000c5 d3 ea shr edx, cl - -; 131 : bits -= op; - - 000c7 2b f9 sub edi, ecx - 000c9 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - -; 132 : op = (unsigned)(here.op); - - 000cc 0f b6 d3 movzx edx, bl - -; 133 : if (op == 0) { /* literal */ - - 000cf 84 db test bl, bl - 000d1 74 3e je SHORT $LN72@inflate_fa -$dolen$105: - -; 138 : } -; 139 : else if (op & 16) { /* length base */ - - 000d3 f6 c2 10 test dl, 16 ; 00000010H - 000d6 75 44 jne SHORT $LN73@inflate_fa - -; 291 : } -; 292 : } -; 293 : else if ((op & 64) == 0) { /* 2nd level length code */ - - 000d8 f6 c2 40 test dl, 64 ; 00000040H - 000db 0f 85 b7 02 00 - 00 jne $LN52@inflate_fa - -; 294 : here = lcode[here.val + (hold & ((1U << op) - 1))]; - - 000e1 8b ca mov ecx, edx - 000e3 c1 eb 10 shr ebx, 16 ; 00000010H - 000e6 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 000e9 b8 01 00 00 00 mov eax, 1 - 000ee d3 e0 shl eax, cl - 000f0 8b 4d d8 mov ecx, DWORD PTR _lcode$1$[ebp] - 000f3 48 dec eax - 000f4 23 c2 and eax, edx - 000f6 03 c3 add eax, ebx - 000f8 8b 1c 81 mov ebx, DWORD PTR [ecx+eax*4] - 000fb 8b c3 mov eax, ebx - 000fd c1 e8 08 shr eax, 8 - 00100 0f b6 c8 movzx ecx, al - 00103 d3 ea shr edx, cl - 00105 2b f9 sub edi, ecx - 00107 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 0010a 0f b6 d3 movzx edx, bl - 0010d 84 db test bl, bl - 0010f 75 c2 jne SHORT $dolen$105 -$LN72@inflate_fa: - -; 134 : Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? -; 135 : "inflate: literal '%c'\n" : -; 136 : "inflate: literal 0x%02x\n", here.val)); -; 137 : PUP(out) = (unsigned char)(here.val); - - 00111 46 inc esi - 00112 c1 eb 10 shr ebx, 16 ; 00000010H - 00115 88 1e mov BYTE PTR [esi], bl - 00117 e9 21 02 00 00 jmp $LN2@inflate_fa -$LN73@inflate_fa: - -; 140 : len = (unsigned)(here.val); - - 0011c c1 eb 10 shr ebx, 16 ; 00000010H - -; 141 : op &= 15; /* number of extra bits */ - - 0011f 83 e2 0f and edx, 15 ; 0000000fH - -; 142 : if (op) { - - 00122 74 2c je SHORT $LN27@inflate_fa - -; 143 : if (bits < op) { - - 00124 3b fa cmp edi, edx - 00126 73 14 jae SHORT $LN28@inflate_fa - -; 144 : hold += (unsigned long)(PUP(in)) << bits; - - 00128 8b 45 f8 mov eax, DWORD PTR _in$1$[ebp] - 0012b 8b cf mov ecx, edi - 0012d 40 inc eax - 0012e 89 45 f8 mov DWORD PTR _in$1$[ebp], eax - 00131 0f b6 00 movzx eax, BYTE PTR [eax] - 00134 d3 e0 shl eax, cl - 00136 01 45 fc add DWORD PTR _hold$1$[ebp], eax - -; 145 : bits += 8; - - 00139 83 c7 08 add edi, 8 -$LN28@inflate_fa: - -; 146 : } -; 147 : len += (unsigned)hold & ((1U << op) - 1); - - 0013c 8b ca mov ecx, edx - 0013e b8 01 00 00 00 mov eax, 1 - 00143 d3 e0 shl eax, cl - 00145 48 dec eax - 00146 23 45 fc and eax, DWORD PTR _hold$1$[ebp] - -; 148 : hold >>= op; - - 00149 d3 6d fc shr DWORD PTR _hold$1$[ebp], cl - 0014c 03 d8 add ebx, eax - -; 149 : bits -= op; - - 0014e 2b fa sub edi, edx -$LN27@inflate_fa: - -; 150 : } -; 151 : Tracevv((stderr, "inflate: length %u\n", len)); -; 152 : if (bits < 15) { -; 153 : hold += (unsigned long)(PUP(in)) << bits; - - 00150 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 00153 83 ff 0f cmp edi, 15 ; 0000000fH - 00156 73 24 jae SHORT $LN29@inflate_fa - 00158 8b 45 f8 mov eax, DWORD PTR _in$1$[ebp] - 0015b 8b cf mov ecx, edi - 0015d 40 inc eax - 0015e 89 45 f8 mov DWORD PTR _in$1$[ebp], eax - 00161 0f b6 00 movzx eax, BYTE PTR [eax] - 00164 d3 e0 shl eax, cl - -; 154 : bits += 8; -; 155 : hold += (unsigned long)(PUP(in)) << bits; - - 00166 8d 4f 08 lea ecx, DWORD PTR [edi+8] - 00169 03 d0 add edx, eax - 0016b 8b 45 f8 mov eax, DWORD PTR _in$1$[ebp] - 0016e 40 inc eax - 0016f 89 45 f8 mov DWORD PTR _in$1$[ebp], eax - 00172 0f b6 00 movzx eax, BYTE PTR [eax] - 00175 d3 e0 shl eax, cl - 00177 03 d0 add edx, eax - -; 156 : bits += 8; - - 00179 83 c7 10 add edi, 16 ; 00000010H -$LN29@inflate_fa: - -; 157 : } -; 158 : here = dcode[hold & dmask]; - - 0017c 8b 45 e4 mov eax, DWORD PTR _dmask$1$[ebp] - 0017f 8b 4d d4 mov ecx, DWORD PTR _dcode$1$[ebp] - 00182 23 c2 and eax, edx - 00184 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - 00187 89 45 f4 mov DWORD PTR _dist$1$[ebp], eax - -; 159 : dodist: -; 160 : op = (unsigned)(here.bits); - - 0018a c1 e8 08 shr eax, 8 - 0018d 0f b6 c8 movzx ecx, al - -; 161 : hold >>= op; -; 162 : bits -= op; -; 163 : op = (unsigned)(here.op); - - 00190 8b 45 f4 mov eax, DWORD PTR _dist$1$[ebp] - 00193 2b f9 sub edi, ecx - 00195 d3 ea shr edx, cl - 00197 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 0019a 0f b6 d0 movzx edx, al - -; 164 : if (op & 16) { /* distance base */ - - 0019d f6 c2 10 test dl, 16 ; 00000010H - 001a0 75 44 jne SHORT $LN74@inflate_fa -$dodist$106: - -; 280 : } -; 281 : } -; 282 : } -; 283 : else if ((op & 64) == 0) { /* 2nd level distance code */ - - 001a2 f6 c2 40 test dl, 64 ; 00000040H - 001a5 0f 85 0f 02 00 - 00 jne $LN50@inflate_fa - -; 284 : here = dcode[here.val + (hold & ((1U << op) - 1))]; - - 001ab 8b ca mov ecx, edx - 001ad b8 01 00 00 00 mov eax, 1 - 001b2 8b 55 d4 mov edx, DWORD PTR _dcode$1$[ebp] - 001b5 d3 e0 shl eax, cl - 001b7 8b 4d f4 mov ecx, DWORD PTR _dist$1$[ebp] - 001ba 48 dec eax - 001bb 23 45 fc and eax, DWORD PTR _hold$1$[ebp] - 001be c1 e9 10 shr ecx, 16 ; 00000010H - 001c1 03 c1 add eax, ecx - 001c3 8b 0c 82 mov ecx, DWORD PTR [edx+eax*4] - 001c6 8b c1 mov eax, ecx - 001c8 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 001cb c1 e8 08 shr eax, 8 - 001ce 89 4d f4 mov DWORD PTR _dist$1$[ebp], ecx - 001d1 0f b6 c8 movzx ecx, al - 001d4 8b 45 f4 mov eax, DWORD PTR _dist$1$[ebp] - 001d7 2b f9 sub edi, ecx - 001d9 d3 ea shr edx, cl - 001db 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 001de 0f b6 d0 movzx edx, al - 001e1 f6 c2 10 test dl, 16 ; 00000010H - 001e4 74 bc je SHORT $dodist$106 -$LN74@inflate_fa: - -; 165 : dist = (unsigned)(here.val); - - 001e6 c1 e8 10 shr eax, 16 ; 00000010H - -; 166 : op &= 15; /* number of extra bits */ - - 001e9 83 e2 0f and edx, 15 ; 0000000fH - 001ec 89 45 f4 mov DWORD PTR _dist$1$[ebp], eax - -; 167 : if (bits < op) { - - 001ef 3b fa cmp edi, edx - 001f1 73 2c jae SHORT $LN33@inflate_fa - -; 168 : hold += (unsigned long)(PUP(in)) << bits; - - 001f3 8b 45 f8 mov eax, DWORD PTR _in$1$[ebp] - 001f6 8b cf mov ecx, edi - 001f8 40 inc eax - -; 169 : bits += 8; - - 001f9 83 c7 08 add edi, 8 - 001fc 89 45 f8 mov DWORD PTR _in$1$[ebp], eax - 001ff 0f b6 00 movzx eax, BYTE PTR [eax] - 00202 d3 e0 shl eax, cl - 00204 01 45 fc add DWORD PTR _hold$1$[ebp], eax - -; 170 : if (bits < op) { - - 00207 3b fa cmp edi, edx - 00209 73 14 jae SHORT $LN33@inflate_fa - -; 171 : hold += (unsigned long)(PUP(in)) << bits; - - 0020b 8b 45 f8 mov eax, DWORD PTR _in$1$[ebp] - 0020e 8b cf mov ecx, edi - 00210 40 inc eax - 00211 89 45 f8 mov DWORD PTR _in$1$[ebp], eax - 00214 0f b6 00 movzx eax, BYTE PTR [eax] - 00217 d3 e0 shl eax, cl - 00219 01 45 fc add DWORD PTR _hold$1$[ebp], eax - -; 172 : bits += 8; - - 0021c 83 c7 08 add edi, 8 -$LN33@inflate_fa: - -; 173 : } -; 174 : } -; 175 : dist += (unsigned)hold & ((1U << op) - 1); - - 0021f 8b ca mov ecx, edx - 00221 b8 01 00 00 00 mov eax, 1 - 00226 d3 e0 shl eax, cl - -; 176 : #ifdef INFLATE_STRICT -; 177 : if (dist > dmax) { -; 178 : strm->msg = (char *)"invalid distance too far back"; -; 179 : state->mode = BAD; -; 180 : break; -; 181 : } -; 182 : #endif -; 183 : hold >>= op; -; 184 : bits -= op; - - 00228 2b fa sub edi, edx - 0022a 48 dec eax - 0022b 89 7d dc mov DWORD PTR _bits$1$[ebp], edi - 0022e 23 45 fc and eax, DWORD PTR _hold$1$[ebp] - 00231 01 45 f4 add DWORD PTR _dist$1$[ebp], eax - -; 185 : Tracevv((stderr, "inflate: distance %u\n", dist)); -; 186 : op = (unsigned)(out - beg); /* max distance in output */ - - 00234 8b c6 mov eax, esi - 00236 2b 45 c0 sub eax, DWORD PTR _beg$1$[ebp] - 00239 d3 6d fc shr DWORD PTR _hold$1$[ebp], cl - -; 187 : if (dist > op) { /* see if copy from window */ - - 0023c 8b 55 f4 mov edx, DWORD PTR _dist$1$[ebp] - 0023f 3b d0 cmp edx, eax - 00241 0f 86 13 01 00 - 00 jbe $LN34@inflate_fa - -; 188 : op = dist - op; /* distance back in window */ - - 00247 8b ca mov ecx, edx - 00249 2b c8 sub ecx, eax - -; 189 : if (op > whave) { - - 0024b 3b 4d bc cmp ecx, DWORD PTR _whave$1$[ebp] - 0024e 76 10 jbe SHORT $LN37@inflate_fa - -; 190 : if (state->sane) { - - 00250 8b 45 f0 mov eax, DWORD PTR _state$1$[ebp] - 00253 83 b8 c0 1b 00 - 00 00 cmp DWORD PTR [eax+7104], 0 - 0025a 0f 85 69 01 00 - 00 jne $LN75@inflate_fa -$LN37@inflate_fa: - -; 194 : break; -; 195 : } -; 196 : #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR -; 197 : if (len <= op - whave) { -; 198 : do { -; 199 : PUP(out) = 0; -; 200 : } while (--len); -; 201 : continue; -; 202 : } -; 203 : len -= op - whave; -; 204 : do { -; 205 : PUP(out) = 0; -; 206 : } while (--op > whave); -; 207 : if (op == 0) { -; 208 : from = out - dist; -; 209 : do { -; 210 : PUP(out) = PUP(from); -; 211 : } while (--len); -; 212 : continue; -; 213 : } -; 214 : #endif -; 215 : } -; 216 : from = window - OFF; - - 00260 8b 7d cc mov edi, DWORD PTR _window$1$[ebp] - -; 217 : if (wnext == 0) { /* very common case */ - - 00263 8b 45 e0 mov eax, DWORD PTR _wnext$1$[ebp] - 00266 4f dec edi - 00267 85 c0 test eax, eax - 00269 75 1d jne SHORT $LN38@inflate_fa - -; 218 : from += wsize - op; - - 0026b 8b 45 d0 mov eax, DWORD PTR _wsize$1$[ebp] - 0026e 2b c1 sub eax, ecx - 00270 03 f8 add edi, eax - -; 219 : if (op < len) { /* some from window */ - - 00272 3b cb cmp ecx, ebx - 00274 73 7c jae SHORT $LN69@inflate_fa - -; 220 : len -= op; - - 00276 2b d9 sub ebx, ecx -$LL7@inflate_fa: - -; 221 : do { -; 222 : PUP(out) = PUP(from); - - 00278 8a 47 01 mov al, BYTE PTR [edi+1] - 0027b 8d 7f 01 lea edi, DWORD PTR [edi+1] - 0027e 46 inc esi - 0027f 88 06 mov BYTE PTR [esi], al - -; 223 : } while (--op); - - 00281 83 e9 01 sub ecx, 1 - 00284 75 f2 jne SHORT $LL7@inflate_fa - -; 224 : from = out - dist; /* rest from output */ -; 225 : } -; 226 : } - - 00286 eb 66 jmp SHORT $LN101@inflate_fa -$LN38@inflate_fa: - -; 227 : else if (wnext < op) { /* wrap around window */ - - 00288 3b c1 cmp eax, ecx - 0028a 73 44 jae SHORT $LN41@inflate_fa - -; 228 : from += wsize + wnext - op; - - 0028c 2b c1 sub eax, ecx - -; 229 : op -= wnext; - - 0028e 2b 4d e0 sub ecx, DWORD PTR _wnext$1$[ebp] - 00291 03 45 d0 add eax, DWORD PTR _wsize$1$[ebp] - 00294 03 f8 add edi, eax - -; 230 : if (op < len) { /* some from end of window */ - - 00296 3b cb cmp ecx, ebx - 00298 73 58 jae SHORT $LN69@inflate_fa - -; 231 : len -= op; - - 0029a 2b d9 sub ebx, ecx - -; 234 : } while (--op); - - 0029c 2b fe sub edi, esi - 0029e 66 90 npad 2 -$LL10@inflate_fa: - -; 232 : do { -; 233 : PUP(out) = PUP(from); - - 002a0 8a 44 37 01 mov al, BYTE PTR [edi+esi+1] - 002a4 46 inc esi - 002a5 88 06 mov BYTE PTR [esi], al - -; 234 : } while (--op); - - 002a7 83 e9 01 sub ecx, 1 - 002aa 75 f4 jne SHORT $LL10@inflate_fa - -; 235 : from = window - OFF; - - 002ac 8b 7d cc mov edi, DWORD PTR _window$1$[ebp] - -; 236 : if (wnext < len) { /* some from start of window */ - - 002af 8b 45 e0 mov eax, DWORD PTR _wnext$1$[ebp] - 002b2 4f dec edi - 002b3 3b c3 cmp eax, ebx - 002b5 73 3b jae SHORT $LN69@inflate_fa - -; 237 : op = wnext; - - 002b7 8b c8 mov ecx, eax - -; 238 : len -= op; - - 002b9 2b d8 sub ebx, eax - 002bb 0f 1f 44 00 00 npad 5 -$LL13@inflate_fa: - -; 239 : do { -; 240 : PUP(out) = PUP(from); - - 002c0 8a 47 01 mov al, BYTE PTR [edi+1] - 002c3 8d 7f 01 lea edi, DWORD PTR [edi+1] - 002c6 46 inc esi - 002c7 88 06 mov BYTE PTR [esi], al - -; 241 : } while (--op); - - 002c9 83 e9 01 sub ecx, 1 - 002cc 75 f2 jne SHORT $LL13@inflate_fa - -; 242 : from = out - dist; /* rest from output */ -; 243 : } -; 244 : } -; 245 : } - - 002ce eb 1e jmp SHORT $LN101@inflate_fa -$LN41@inflate_fa: - -; 246 : else { /* contiguous in window */ -; 247 : from += wnext - op; - - 002d0 2b c1 sub eax, ecx - 002d2 03 f8 add edi, eax - -; 248 : if (op < len) { /* some from window */ - - 002d4 3b cb cmp ecx, ebx - 002d6 73 1a jae SHORT $LN69@inflate_fa - -; 249 : len -= op; - - 002d8 2b d9 sub ebx, ecx - 002da 66 0f 1f 44 00 - 00 npad 6 -$LL16@inflate_fa: - -; 250 : do { -; 251 : PUP(out) = PUP(from); - - 002e0 8a 47 01 mov al, BYTE PTR [edi+1] - 002e3 8d 7f 01 lea edi, DWORD PTR [edi+1] - 002e6 46 inc esi - 002e7 88 06 mov BYTE PTR [esi], al - -; 252 : } while (--op); - - 002e9 83 e9 01 sub ecx, 1 - 002ec 75 f2 jne SHORT $LL16@inflate_fa -$LN101@inflate_fa: - -; 253 : from = out - dist; /* rest from output */ - - 002ee 8b fe mov edi, esi - 002f0 2b fa sub edi, edx -$LN69@inflate_fa: - -; 254 : } -; 255 : } -; 256 : while (len > 2) { - - 002f2 83 fb 02 cmp ebx, 2 - 002f5 76 2e jbe SHORT $LN18@inflate_fa - 002f7 8d 4b fd lea ecx, DWORD PTR [ebx-3] - 002fa b8 ab aa aa aa mov eax, -1431655765 ; aaaaaaabH - 002ff f7 e1 mul ecx - 00301 d1 ea shr edx, 1 - 00303 42 inc edx -$LL17@inflate_fa: - -; 257 : PUP(out) = PUP(from); - - 00304 0f b6 47 01 movzx eax, BYTE PTR [edi+1] - -; 258 : PUP(out) = PUP(from); -; 259 : PUP(out) = PUP(from); -; 260 : len -= 3; - - 00308 83 eb 03 sub ebx, 3 - 0030b 88 46 01 mov BYTE PTR [esi+1], al - 0030e 0f b6 47 02 movzx eax, BYTE PTR [edi+2] - 00312 83 c7 03 add edi, 3 - 00315 88 46 02 mov BYTE PTR [esi+2], al - 00318 83 c6 03 add esi, 3 - 0031b 0f b6 07 movzx eax, BYTE PTR [edi] - 0031e 88 06 mov BYTE PTR [esi], al - 00320 83 ea 01 sub edx, 1 - 00323 75 df jne SHORT $LL17@inflate_fa -$LN18@inflate_fa: - -; 261 : } -; 262 : if (len) { - - 00325 85 db test ebx, ebx - 00327 74 11 je SHORT $LN99@inflate_fa - -; 263 : PUP(out) = PUP(from); - - 00329 8a 47 01 mov al, BYTE PTR [edi+1] - 0032c 46 inc esi - 0032d 88 06 mov BYTE PTR [esi], al - -; 264 : if (len > 1) - - 0032f 83 fb 01 cmp ebx, 1 - 00332 76 06 jbe SHORT $LN99@inflate_fa - -; 265 : PUP(out) = PUP(from); - - 00334 8a 47 02 mov al, BYTE PTR [edi+2] - 00337 46 inc esi - 00338 88 06 mov BYTE PTR [esi], al -$LN99@inflate_fa: - 0033a 8b 7d dc mov edi, DWORD PTR _bits$1$[ebp] -$LN2@inflate_fa: - -; 305 : break; -; 306 : } -; 307 : } while (in < last && out < end); - - 0033d 8b 5d f8 mov ebx, DWORD PTR _in$1$[ebp] - 00340 3b 5d c8 cmp ebx, DWORD PTR _last$1$[ebp] - 00343 0f 83 93 00 00 - 00 jae $LN3@inflate_fa - 00349 3b 75 c4 cmp esi, DWORD PTR _end$1$[ebp] - 0034c 0f 83 8a 00 00 - 00 jae $LN3@inflate_fa - 00352 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 00355 e9 36 fd ff ff jmp $LL4@inflate_fa -$LN34@inflate_fa: - -; 266 : } -; 267 : } -; 268 : else { -; 269 : from = out - dist; /* copy direct from output */ - - 0035a 8b ce mov ecx, esi - 0035c 2b ca sub ecx, edx - 0035e 66 90 npad 2 -$LL21@inflate_fa: - -; 270 : do { /* minimum length is three */ -; 271 : PUP(out) = PUP(from); - - 00360 0f b6 41 01 movzx eax, BYTE PTR [ecx+1] - -; 272 : PUP(out) = PUP(from); -; 273 : PUP(out) = PUP(from); - - 00364 8d 49 03 lea ecx, DWORD PTR [ecx+3] - 00367 88 46 01 mov BYTE PTR [esi+1], al - -; 274 : len -= 3; - - 0036a 83 eb 03 sub ebx, 3 - 0036d 0f b6 41 ff movzx eax, BYTE PTR [ecx-1] - 00371 88 46 02 mov BYTE PTR [esi+2], al - 00374 83 c6 03 add esi, 3 - 00377 0f b6 01 movzx eax, BYTE PTR [ecx] - 0037a 88 06 mov BYTE PTR [esi], al - -; 275 : } while (len > 2); - - 0037c 83 fb 02 cmp ebx, 2 - 0037f 77 df ja SHORT $LL21@inflate_fa - -; 276 : if (len) { - - 00381 85 db test ebx, ebx - 00383 74 b8 je SHORT $LN2@inflate_fa - -; 277 : PUP(out) = PUP(from); - - 00385 8a 41 01 mov al, BYTE PTR [ecx+1] - 00388 46 inc esi - 00389 88 06 mov BYTE PTR [esi], al - -; 278 : if (len > 1) - - 0038b 83 fb 01 cmp ebx, 1 - 0038e 76 ad jbe SHORT $LN2@inflate_fa - -; 279 : PUP(out) = PUP(from); - - 00390 8a 41 02 mov al, BYTE PTR [ecx+2] - 00393 46 inc esi - 00394 88 06 mov BYTE PTR [esi], al - 00396 eb a5 jmp SHORT $LN2@inflate_fa -$LN52@inflate_fa: - -; 300 : break; - - 00398 8b 5d f8 mov ebx, DWORD PTR _in$1$[ebp] - 0039b f6 c2 20 test dl, 32 ; 00000020H - 0039e 74 0b je SHORT $LN54@inflate_fa - -; 295 : goto dolen; -; 296 : } -; 297 : else if (op & 32) { /* end-of-block */ -; 298 : Tracevv((stderr, "inflate: end of block\n")); -; 299 : state->mode = TYPE; - - 003a0 8b 45 f0 mov eax, DWORD PTR _state$1$[ebp] - 003a3 c7 00 0b 00 00 - 00 mov DWORD PTR [eax], 11 ; 0000000bH - -; 300 : break; - - 003a9 eb 31 jmp SHORT $LN3@inflate_fa -$LN54@inflate_fa: - -; 301 : } -; 302 : else { -; 303 : strm->msg = (char *)"invalid literal/length code"; - - 003ab 8b 45 e8 mov eax, DWORD PTR _strm$1$[ebp] - 003ae c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ - -; 304 : state->mode = BAD; - - 003b5 8b 45 f0 mov eax, DWORD PTR _state$1$[ebp] - 003b8 eb 1c jmp SHORT $LN102@inflate_fa -$LN50@inflate_fa: - -; 285 : goto dodist; -; 286 : } -; 287 : else { -; 288 : strm->msg = (char *)"invalid distance code"; - - 003ba 8b 45 e8 mov eax, DWORD PTR _strm$1$[ebp] - 003bd c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ - -; 289 : state->mode = BAD; - - 003c4 8b 45 f0 mov eax, DWORD PTR _state$1$[ebp] - -; 290 : break; - - 003c7 eb 0a jmp SHORT $LN103@inflate_fa -$LN75@inflate_fa: - -; 191 : strm->msg = - - 003c9 8b 4d e8 mov ecx, DWORD PTR _strm$1$[ebp] - 003cc c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ -$LN103@inflate_fa: - 003d3 8b 5d f8 mov ebx, DWORD PTR _in$1$[ebp] -$LN102@inflate_fa: - -; 192 : (char *)"invalid distance too far back"; -; 193 : state->mode = BAD; - - 003d6 c7 00 1d 00 00 - 00 mov DWORD PTR [eax], 29 ; 0000001dH -$LN3@inflate_fa: - -; 308 : -; 309 : /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ -; 310 : len = bits >> 3; -; 311 : in -= len; -; 312 : bits -= len << 3; -; 313 : hold &= (1U << bits) - 1; -; 314 : -; 315 : /* update state and return */ -; 316 : strm->next_in = in + OFF; - - 003dc 8b 55 e8 mov edx, DWORD PTR _strm$1$[ebp] - 003df 8b c7 mov eax, edi - 003e1 c1 e8 03 shr eax, 3 - 003e4 2b d8 sub ebx, eax - 003e6 c1 e0 03 shl eax, 3 - 003e9 2b f8 sub edi, eax - 003eb b8 01 00 00 00 mov eax, 1 - 003f0 8b cf mov ecx, edi - 003f2 d3 e0 shl eax, cl - 003f4 8b 4d fc mov ecx, DWORD PTR _hold$1$[ebp] - 003f7 48 dec eax - 003f8 23 c8 and ecx, eax - 003fa 8d 43 01 lea eax, DWORD PTR [ebx+1] - 003fd 89 02 mov DWORD PTR [edx], eax - -; 317 : strm->next_out = out + OFF; - - 003ff 8d 46 01 lea eax, DWORD PTR [esi+1] - 00402 89 42 0c mov DWORD PTR [edx+12], eax - -; 318 : strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last)); - - 00405 8b 45 c8 mov eax, DWORD PTR _last$1$[ebp] - 00408 2b c3 sub eax, ebx - 0040a 8b da mov ebx, edx - -; 319 : strm->avail_out = (unsigned)(out < end ? - - 0040c 8b 55 c4 mov edx, DWORD PTR _end$1$[ebp] - 0040f 83 c0 05 add eax, 5 - 00412 2b d6 sub edx, esi - 00414 81 c2 01 01 00 - 00 add edx, 257 ; 00000101H - 0041a 89 43 04 mov DWORD PTR [ebx+4], eax - -; 320 : 257 + (end - out) : 257 - (out - end)); -; 321 : state->hold = hold; - - 0041d 8b 45 f0 mov eax, DWORD PTR _state$1$[ebp] - 00420 89 53 10 mov DWORD PTR [ebx+16], edx - -; 322 : state->bits = bits; - - 00423 89 78 3c mov DWORD PTR [eax+60], edi - 00426 5f pop edi - 00427 5e pop esi - 00428 89 48 38 mov DWORD PTR [eax+56], ecx - 0042b 5b pop ebx - -; 323 : return; -; 324 : } - - 0042c 8b e5 mov esp, ebp - 0042e 5d pop ebp - 0042f c3 ret 0 -_inflate_fast ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inffast.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inffast.obj deleted file mode 100644 index 40af0fbacd..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inffast.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inflate.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inflate.cod deleted file mode 100644 index b1a91bd225..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inflate.cod +++ /dev/null @@ -1,7621 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\inflate.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ ; `string' -PUBLIC ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ ; `string' -PUBLIC ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ ; `string' -PUBLIC ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ ; `string' -PUBLIC ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ ; `string' -PUBLIC ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ ; `string' -PUBLIC ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ ; `string' -; COMDAT ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ -CONST SEGMENT -??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ DB 'incorrect length che' - DB 'ck', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ -CONST SEGMENT -??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ DB 'incorrect data check', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ -CONST SEGMENT -??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ DB 'header crc mismatch', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ -CONST SEGMENT -??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ DB 'unknown header fl' - DB 'ags set', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ -CONST SEGMENT -??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ DB 'invalid window size', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ -CONST SEGMENT -??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ DB 'unknown compress' - DB 'ion method', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ -CONST SEGMENT -??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ DB 'incorrect header che' - DB 'ck', 00H ; `string' - ORG $+2 -?lenfix@?1??fixedtables@@9@9 DB 060H ; `fixedtables'::`2'::lenfix - DB 07H - DW 00H - DB 00H - DB 08H - DW 050H - DB 00H - DB 08H - DW 010H - DB 014H - DB 08H - DW 073H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 070H - DB 00H - DB 08H - DW 030H - DB 00H - DB 09H - DW 0c0H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 060H - DB 00H - DB 08H - DW 020H - DB 00H - DB 09H - DW 0a0H - DB 00H - DB 08H - DW 00H - DB 00H - DB 08H - DW 080H - DB 00H - DB 08H - DW 040H - DB 00H - DB 09H - DW 0e0H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 058H - DB 00H - DB 08H - DW 018H - DB 00H - DB 09H - DW 090H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 078H - DB 00H - DB 08H - DW 038H - DB 00H - DB 09H - DW 0d0H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 068H - DB 00H - DB 08H - DW 028H - DB 00H - DB 09H - DW 0b0H - DB 00H - DB 08H - DW 08H - DB 00H - DB 08H - DW 088H - DB 00H - DB 08H - DW 048H - DB 00H - DB 09H - DW 0f0H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 054H - DB 00H - DB 08H - DW 014H - DB 015H - DB 08H - DW 0e3H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 074H - DB 00H - DB 08H - DW 034H - DB 00H - DB 09H - DW 0c8H - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 064H - DB 00H - DB 08H - DW 024H - DB 00H - DB 09H - DW 0a8H - DB 00H - DB 08H - DW 04H - DB 00H - DB 08H - DW 084H - DB 00H - DB 08H - DW 044H - DB 00H - DB 09H - DW 0e8H - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05cH - DB 00H - DB 08H - DW 01cH - DB 00H - DB 09H - DW 098H - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07cH - DB 00H - DB 08H - DW 03cH - DB 00H - DB 09H - DW 0d8H - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06cH - DB 00H - DB 08H - DW 02cH - DB 00H - DB 09H - DW 0b8H - DB 00H - DB 08H - DW 0cH - DB 00H - DB 08H - DW 08cH - DB 00H - DB 08H - DW 04cH - DB 00H - DB 09H - DW 0f8H - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 052H - DB 00H - DB 08H - DW 012H - DB 015H - DB 08H - DW 0a3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 072H - DB 00H - DB 08H - DW 032H - DB 00H - DB 09H - DW 0c4H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 062H - DB 00H - DB 08H - DW 022H - DB 00H - DB 09H - DW 0a4H - DB 00H - DB 08H - DW 02H - DB 00H - DB 08H - DW 082H - DB 00H - DB 08H - DW 042H - DB 00H - DB 09H - DW 0e4H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05aH - DB 00H - DB 08H - DW 01aH - DB 00H - DB 09H - DW 094H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07aH - DB 00H - DB 08H - DW 03aH - DB 00H - DB 09H - DW 0d4H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06aH - DB 00H - DB 08H - DW 02aH - DB 00H - DB 09H - DW 0b4H - DB 00H - DB 08H - DW 0aH - DB 00H - DB 08H - DW 08aH - DB 00H - DB 08H - DW 04aH - DB 00H - DB 09H - DW 0f4H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 056H - DB 00H - DB 08H - DW 016H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 076H - DB 00H - DB 08H - DW 036H - DB 00H - DB 09H - DW 0ccH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 066H - DB 00H - DB 08H - DW 026H - DB 00H - DB 09H - DW 0acH - DB 00H - DB 08H - DW 06H - DB 00H - DB 08H - DW 086H - DB 00H - DB 08H - DW 046H - DB 00H - DB 09H - DW 0ecH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05eH - DB 00H - DB 08H - DW 01eH - DB 00H - DB 09H - DW 09cH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07eH - DB 00H - DB 08H - DW 03eH - DB 00H - DB 09H - DW 0dcH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06eH - DB 00H - DB 08H - DW 02eH - DB 00H - DB 09H - DW 0bcH - DB 00H - DB 08H - DW 0eH - DB 00H - DB 08H - DW 08eH - DB 00H - DB 08H - DW 04eH - DB 00H - DB 09H - DW 0fcH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 051H - DB 00H - DB 08H - DW 011H - DB 015H - DB 08H - DW 083H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 071H - DB 00H - DB 08H - DW 031H - DB 00H - DB 09H - DW 0c2H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 061H - DB 00H - DB 08H - DW 021H - DB 00H - DB 09H - DW 0a2H - DB 00H - DB 08H - DW 01H - DB 00H - DB 08H - DW 081H - DB 00H - DB 08H - DW 041H - DB 00H - DB 09H - DW 0e2H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 059H - DB 00H - DB 08H - DW 019H - DB 00H - DB 09H - DW 092H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 079H - DB 00H - DB 08H - DW 039H - DB 00H - DB 09H - DW 0d2H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 069H - DB 00H - DB 08H - DW 029H - DB 00H - DB 09H - DW 0b2H - DB 00H - DB 08H - DW 09H - DB 00H - DB 08H - DW 089H - DB 00H - DB 08H - DW 049H - DB 00H - DB 09H - DW 0f2H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 055H - DB 00H - DB 08H - DW 015H - DB 010H - DB 08H - DW 0102H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 075H - DB 00H - DB 08H - DW 035H - DB 00H - DB 09H - DW 0caH - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 065H - DB 00H - DB 08H - DW 025H - DB 00H - DB 09H - DW 0aaH - DB 00H - DB 08H - DW 05H - DB 00H - DB 08H - DW 085H - DB 00H - DB 08H - DW 045H - DB 00H - DB 09H - DW 0eaH - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05dH - DB 00H - DB 08H - DW 01dH - DB 00H - DB 09H - DW 09aH - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07dH - DB 00H - DB 08H - DW 03dH - DB 00H - DB 09H - DW 0daH - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06dH - DB 00H - DB 08H - DW 02dH - DB 00H - DB 09H - DW 0baH - DB 00H - DB 08H - DW 0dH - DB 00H - DB 08H - DW 08dH - DB 00H - DB 08H - DW 04dH - DB 00H - DB 09H - DW 0faH - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 053H - DB 00H - DB 08H - DW 013H - DB 015H - DB 08H - DW 0c3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 073H - DB 00H - DB 08H - DW 033H - DB 00H - DB 09H - DW 0c6H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 063H - DB 00H - DB 08H - DW 023H - DB 00H - DB 09H - DW 0a6H - DB 00H - DB 08H - DW 03H - DB 00H - DB 08H - DW 083H - DB 00H - DB 08H - DW 043H - DB 00H - DB 09H - DW 0e6H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05bH - DB 00H - DB 08H - DW 01bH - DB 00H - DB 09H - DW 096H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07bH - DB 00H - DB 08H - DW 03bH - DB 00H - DB 09H - DW 0d6H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06bH - DB 00H - DB 08H - DW 02bH - DB 00H - DB 09H - DW 0b6H - DB 00H - DB 08H - DW 0bH - DB 00H - DB 08H - DW 08bH - DB 00H - DB 08H - DW 04bH - DB 00H - DB 09H - DW 0f6H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 057H - DB 00H - DB 08H - DW 017H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 077H - DB 00H - DB 08H - DW 037H - DB 00H - DB 09H - DW 0ceH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 067H - DB 00H - DB 08H - DW 027H - DB 00H - DB 09H - DW 0aeH - DB 00H - DB 08H - DW 07H - DB 00H - DB 08H - DW 087H - DB 00H - DB 08H - DW 047H - DB 00H - DB 09H - DW 0eeH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05fH - DB 00H - DB 08H - DW 01fH - DB 00H - DB 09H - DW 09eH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07fH - DB 00H - DB 08H - DW 03fH - DB 00H - DB 09H - DW 0deH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06fH - DB 00H - DB 08H - DW 02fH - DB 00H - DB 09H - DW 0beH - DB 00H - DB 08H - DW 0fH - DB 00H - DB 08H - DW 08fH - DB 00H - DB 08H - DW 04fH - DB 00H - DB 09H - DW 0feH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 050H - DB 00H - DB 08H - DW 010H - DB 014H - DB 08H - DW 073H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 070H - DB 00H - DB 08H - DW 030H - DB 00H - DB 09H - DW 0c1H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 060H - DB 00H - DB 08H - DW 020H - DB 00H - DB 09H - DW 0a1H - DB 00H - DB 08H - DW 00H - DB 00H - DB 08H - DW 080H - DB 00H - DB 08H - DW 040H - DB 00H - DB 09H - DW 0e1H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 058H - DB 00H - DB 08H - DW 018H - DB 00H - DB 09H - DW 091H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 078H - DB 00H - DB 08H - DW 038H - DB 00H - DB 09H - DW 0d1H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 068H - DB 00H - DB 08H - DW 028H - DB 00H - DB 09H - DW 0b1H - DB 00H - DB 08H - DW 08H - DB 00H - DB 08H - DW 088H - DB 00H - DB 08H - DW 048H - DB 00H - DB 09H - DW 0f1H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 054H - DB 00H - DB 08H - DW 014H - DB 015H - DB 08H - DW 0e3H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 074H - DB 00H - DB 08H - DW 034H - DB 00H - DB 09H - DW 0c9H - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 064H - DB 00H - DB 08H - DW 024H - DB 00H - DB 09H - DW 0a9H - DB 00H - DB 08H - DW 04H - DB 00H - DB 08H - DW 084H - DB 00H - DB 08H - DW 044H - DB 00H - DB 09H - DW 0e9H - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05cH - DB 00H - DB 08H - DW 01cH - DB 00H - DB 09H - DW 099H - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07cH - DB 00H - DB 08H - DW 03cH - DB 00H - DB 09H - DW 0d9H - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06cH - DB 00H - DB 08H - DW 02cH - DB 00H - DB 09H - DW 0b9H - DB 00H - DB 08H - DW 0cH - DB 00H - DB 08H - DW 08cH - DB 00H - DB 08H - DW 04cH - DB 00H - DB 09H - DW 0f9H - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 052H - DB 00H - DB 08H - DW 012H - DB 015H - DB 08H - DW 0a3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 072H - DB 00H - DB 08H - DW 032H - DB 00H - DB 09H - DW 0c5H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 062H - DB 00H - DB 08H - DW 022H - DB 00H - DB 09H - DW 0a5H - DB 00H - DB 08H - DW 02H - DB 00H - DB 08H - DW 082H - DB 00H - DB 08H - DW 042H - DB 00H - DB 09H - DW 0e5H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05aH - DB 00H - DB 08H - DW 01aH - DB 00H - DB 09H - DW 095H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07aH - DB 00H - DB 08H - DW 03aH - DB 00H - DB 09H - DW 0d5H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06aH - DB 00H - DB 08H - DW 02aH - DB 00H - DB 09H - DW 0b5H - DB 00H - DB 08H - DW 0aH - DB 00H - DB 08H - DW 08aH - DB 00H - DB 08H - DW 04aH - DB 00H - DB 09H - DW 0f5H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 056H - DB 00H - DB 08H - DW 016H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 076H - DB 00H - DB 08H - DW 036H - DB 00H - DB 09H - DW 0cdH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 066H - DB 00H - DB 08H - DW 026H - DB 00H - DB 09H - DW 0adH - DB 00H - DB 08H - DW 06H - DB 00H - DB 08H - DW 086H - DB 00H - DB 08H - DW 046H - DB 00H - DB 09H - DW 0edH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05eH - DB 00H - DB 08H - DW 01eH - DB 00H - DB 09H - DW 09dH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07eH - DB 00H - DB 08H - DW 03eH - DB 00H - DB 09H - DW 0ddH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06eH - DB 00H - DB 08H - DW 02eH - DB 00H - DB 09H - DW 0bdH - DB 00H - DB 08H - DW 0eH - DB 00H - DB 08H - DW 08eH - DB 00H - DB 08H - DW 04eH - DB 00H - DB 09H - DW 0fdH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 051H - DB 00H - DB 08H - DW 011H - DB 015H - DB 08H - DW 083H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 071H - DB 00H - DB 08H - DW 031H - DB 00H - DB 09H - DW 0c3H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 061H - DB 00H - DB 08H - DW 021H - DB 00H - DB 09H - DW 0a3H - DB 00H - DB 08H - DW 01H - DB 00H - DB 08H - DW 081H - DB 00H - DB 08H - DW 041H - DB 00H - DB 09H - DW 0e3H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 059H - DB 00H - DB 08H - DW 019H - DB 00H - DB 09H - DW 093H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 079H - DB 00H - DB 08H - DW 039H - DB 00H - DB 09H - DW 0d3H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 069H - DB 00H - DB 08H - DW 029H - DB 00H - DB 09H - DW 0b3H - DB 00H - DB 08H - DW 09H - DB 00H - DB 08H - DW 089H - DB 00H - DB 08H - DW 049H - DB 00H - DB 09H - DW 0f3H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 055H - DB 00H - DB 08H - DW 015H - DB 010H - DB 08H - DW 0102H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 075H - DB 00H - DB 08H - DW 035H - DB 00H - DB 09H - DW 0cbH - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 065H - DB 00H - DB 08H - DW 025H - DB 00H - DB 09H - DW 0abH - DB 00H - DB 08H - DW 05H - DB 00H - DB 08H - DW 085H - DB 00H - DB 08H - DW 045H - DB 00H - DB 09H - DW 0ebH - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05dH - DB 00H - DB 08H - DW 01dH - DB 00H - DB 09H - DW 09bH - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07dH - DB 00H - DB 08H - DW 03dH - DB 00H - DB 09H - DW 0dbH - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06dH - DB 00H - DB 08H - DW 02dH - DB 00H - DB 09H - DW 0bbH - DB 00H - DB 08H - DW 0dH - DB 00H - DB 08H - DW 08dH - DB 00H - DB 08H - DW 04dH - DB 00H - DB 09H - DW 0fbH - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 053H - DB 00H - DB 08H - DW 013H - DB 015H - DB 08H - DW 0c3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 073H - DB 00H - DB 08H - DW 033H - DB 00H - DB 09H - DW 0c7H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 063H - DB 00H - DB 08H - DW 023H - DB 00H - DB 09H - DW 0a7H - DB 00H - DB 08H - DW 03H - DB 00H - DB 08H - DW 083H - DB 00H - DB 08H - DW 043H - DB 00H - DB 09H - DW 0e7H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05bH - DB 00H - DB 08H - DW 01bH - DB 00H - DB 09H - DW 097H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07bH - DB 00H - DB 08H - DW 03bH - DB 00H - DB 09H - DW 0d7H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06bH - DB 00H - DB 08H - DW 02bH - DB 00H - DB 09H - DW 0b7H - DB 00H - DB 08H - DW 0bH - DB 00H - DB 08H - DW 08bH - DB 00H - DB 08H - DW 04bH - DB 00H - DB 09H - DW 0f7H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 057H - DB 00H - DB 08H - DW 017H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 077H - DB 00H - DB 08H - DW 037H - DB 00H - DB 09H - DW 0cfH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 067H - DB 00H - DB 08H - DW 027H - DB 00H - DB 09H - DW 0afH - DB 00H - DB 08H - DW 07H - DB 00H - DB 08H - DW 087H - DB 00H - DB 08H - DW 047H - DB 00H - DB 09H - DW 0efH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05fH - DB 00H - DB 08H - DW 01fH - DB 00H - DB 09H - DW 09fH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07fH - DB 00H - DB 08H - DW 03fH - DB 00H - DB 09H - DW 0dfH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06fH - DB 00H - DB 08H - DW 02fH - DB 00H - DB 09H - DW 0bfH - DB 00H - DB 08H - DW 0fH - DB 00H - DB 08H - DW 08fH - DB 00H - DB 08H - DW 04fH - DB 00H - DB 09H - DW 0ffH -?distfix@?1??fixedtables@@9@9 DB 010H ; `fixedtables'::`2'::distfix - DB 05H - DW 01H - DB 017H - DB 05H - DW 0101H - DB 013H - DB 05H - DW 011H - DB 01bH - DB 05H - DW 01001H - DB 011H - DB 05H - DW 05H - DB 019H - DB 05H - DW 0401H - DB 015H - DB 05H - DW 041H - DB 01dH - DB 05H - DW 04001H - DB 010H - DB 05H - DW 03H - DB 018H - DB 05H - DW 0201H - DB 014H - DB 05H - DW 021H - DB 01cH - DB 05H - DW 02001H - DB 012H - DB 05H - DW 09H - DB 01aH - DB 05H - DW 0801H - DB 016H - DB 05H - DW 081H - DB 040H - DB 05H - DW 00H - DB 010H - DB 05H - DW 02H - DB 017H - DB 05H - DW 0181H - DB 013H - DB 05H - DW 019H - DB 01bH - DB 05H - DW 01801H - DB 011H - DB 05H - DW 07H - DB 019H - DB 05H - DW 0601H - DB 015H - DB 05H - DW 061H - DB 01dH - DB 05H - DW 06001H - DB 010H - DB 05H - DW 04H - DB 018H - DB 05H - DW 0301H - DB 014H - DB 05H - DW 031H - DB 01cH - DB 05H - DW 03001H - DB 012H - DB 05H - DW 0dH - DB 01aH - DB 05H - DW 0c01H - DB 016H - DB 05H - DW 0c1H - DB 040H - DB 05H - DW 00H -?order@?1??inflate@@9@9 DW 010H ; `inflate'::`2'::order - DW 011H - DW 012H - DW 00H - DW 08H - DW 07H - DW 09H - DW 06H - DW 0aH - DW 05H - DW 0bH - DW 04H - DW 0cH - DW 03H - DW 0dH - DW 02H - DW 0eH - DW 01H - DW 0fH -PUBLIC _inflateMark@4 -PUBLIC _inflateUndermine@8 -PUBLIC _inflateCopy@8 -PUBLIC _inflateSyncPoint@4 -PUBLIC _inflateSync@4 -PUBLIC _inflateGetHeader@8 -PUBLIC _inflateSetDictionary@12 -PUBLIC _inflateGetDictionary@12 -PUBLIC _inflatePrime@12 -PUBLIC _inflateInit_@12 -PUBLIC _inflateReset2@8 -PUBLIC _inflateResetKeep@4 -PUBLIC _inflateEnd@4 -PUBLIC _inflate@8 -PUBLIC _inflateInit2_@16 -PUBLIC _inflateReset@4 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateReset@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateReset@4 PROC ; COMDAT - -; 131 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 132 : struct inflate_state FAR *state; -; 133 : -; 134 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 25 je SHORT $LN3@inflateRes - 0000a 8b 48 1c mov ecx, DWORD PTR [eax+28] - 0000d 85 c9 test ecx, ecx - 0000f 74 1e je SHORT $LN3@inflateRes - -; 135 : state = (struct inflate_state FAR *)strm->state; -; 136 : state->wsize = 0; - - 00011 c7 41 28 00 00 - 00 00 mov DWORD PTR [ecx+40], 0 - -; 137 : state->whave = 0; - - 00018 c7 41 2c 00 00 - 00 00 mov DWORD PTR [ecx+44], 0 - -; 138 : state->wnext = 0; - - 0001f c7 41 30 00 00 - 00 00 mov DWORD PTR [ecx+48], 0 - -; 139 : return inflateResetKeep(strm); - - 00026 89 45 08 mov DWORD PTR _strm$[ebp], eax - -; 140 : } - - 00029 5d pop ebp - -; 139 : return inflateResetKeep(strm); - - 0002a e9 00 00 00 00 jmp _inflateResetKeep@4 -$LN3@inflateRes: - -; 132 : struct inflate_state FAR *state; -; 133 : -; 134 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0002f b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 140 : } - - 00034 5d pop ebp - 00035 c2 04 00 ret 4 -_inflateReset@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateInit2_@16 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_windowBits$ = 12 ; size = 4 -_version$ = 16 ; size = 4 -_stream_size$ = 20 ; size = 4 -_inflateInit2_@16 PROC ; COMDAT - -; 185 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 186 : int ret; -; 187 : struct inflate_state FAR *state; -; 188 : -; 189 : if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || - - 00003 8b 45 10 mov eax, DWORD PTR _version$[ebp] - 00006 85 c0 test eax, eax - 00008 0f 84 a3 00 00 - 00 je $LN3@inflateIni - 0000e 80 38 31 cmp BYTE PTR [eax], 49 ; 00000031H - 00011 0f 85 9a 00 00 - 00 jne $LN3@inflateIni - 00017 83 7d 14 38 cmp DWORD PTR _stream_size$[ebp], 56 ; 00000038H - 0001b 0f 85 90 00 00 - 00 jne $LN3@inflateIni - -; 192 : if (strm == Z_NULL) return Z_STREAM_ERROR; - - 00021 56 push esi - 00022 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00025 85 f6 test esi, esi - 00027 75 08 jne SHORT $LN4@inflateIni - 00029 8d 46 fe lea eax, DWORD PTR [esi-2] - 0002c 5e pop esi - -; 220 : } - - 0002d 5d pop ebp - 0002e c2 10 00 ret 16 ; 00000010H -$LN4@inflateIni: - -; 193 : strm->msg = Z_NULL; /* in case we return an error */ -; 194 : if (strm->zalloc == (alloc_func)0) { - - 00031 83 7e 20 00 cmp DWORD PTR [esi+32], 0 - 00035 c7 46 18 00 00 - 00 00 mov DWORD PTR [esi+24], 0 - 0003c 75 0e jne SHORT $LN5@inflateIni - -; 195 : #ifdef Z_SOLO -; 196 : return Z_STREAM_ERROR; -; 197 : #else -; 198 : strm->zalloc = zcalloc; - - 0003e c7 46 20 00 00 - 00 00 mov DWORD PTR [esi+32], OFFSET _zcalloc - -; 199 : strm->opaque = (voidpf)0; - - 00045 c7 46 28 00 00 - 00 00 mov DWORD PTR [esi+40], 0 -$LN5@inflateIni: - -; 200 : #endif -; 201 : } -; 202 : if (strm->zfree == (free_func)0) - - 0004c 83 7e 24 00 cmp DWORD PTR [esi+36], 0 - 00050 75 07 jne SHORT $LN6@inflateIni - -; 203 : #ifdef Z_SOLO -; 204 : return Z_STREAM_ERROR; -; 205 : #else -; 206 : strm->zfree = zcfree; - - 00052 c7 46 24 00 00 - 00 00 mov DWORD PTR [esi+36], OFFSET _zcfree -$LN6@inflateIni: - -; 207 : #endif -; 208 : state = (struct inflate_state FAR *) - - 00059 8b 46 20 mov eax, DWORD PTR [esi+32] - 0005c 57 push edi - 0005d 68 cc 1b 00 00 push 7116 ; 00001bccH - 00062 6a 01 push 1 - 00064 ff 76 28 push DWORD PTR [esi+40] - 00067 ff d0 call eax - 00069 8b f8 mov edi, eax - 0006b 83 c4 0c add esp, 12 ; 0000000cH - -; 209 : ZALLOC(strm, 1, sizeof(struct inflate_state)); -; 210 : if (state == Z_NULL) return Z_MEM_ERROR; - - 0006e 85 ff test edi, edi - 00070 75 09 jne SHORT $LN7@inflateIni - 00072 8d 47 fc lea eax, DWORD PTR [edi-4] - 00075 5f pop edi - 00076 5e pop esi - -; 220 : } - - 00077 5d pop ebp - 00078 c2 10 00 ret 16 ; 00000010H -$LN7@inflateIni: - 0007b 53 push ebx - -; 211 : Tracev((stderr, "inflate: allocated\n")); -; 212 : strm->state = (struct internal_state FAR *)state; -; 213 : state->window = Z_NULL; -; 214 : ret = inflateReset2(strm, windowBits); - - 0007c ff 75 0c push DWORD PTR _windowBits$[ebp] - 0007f 89 7e 1c mov DWORD PTR [esi+28], edi - 00082 56 push esi - 00083 c7 47 34 00 00 - 00 00 mov DWORD PTR [edi+52], 0 - 0008a e8 00 00 00 00 call _inflateReset2@8 - 0008f 8b d8 mov ebx, eax - -; 215 : if (ret != Z_OK) { - - 00091 85 db test ebx, ebx - 00093 74 13 je SHORT $LN8@inflateIni - -; 216 : ZFREE(strm, state); - - 00095 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 00098 57 push edi - 00099 ff 76 28 push DWORD PTR [esi+40] - 0009c ff d1 call ecx - 0009e 83 c4 08 add esp, 8 - -; 217 : strm->state = Z_NULL; - - 000a1 c7 46 1c 00 00 - 00 00 mov DWORD PTR [esi+28], 0 -$LN8@inflateIni: - -; 218 : } -; 219 : return ret; - - 000a8 8b c3 mov eax, ebx - 000aa 5b pop ebx - 000ab 5f pop edi - 000ac 5e pop esi - -; 220 : } - - 000ad 5d pop ebp - 000ae c2 10 00 ret 16 ; 00000010H -$LN3@inflateIni: - -; 190 : stream_size != (int)(sizeof(z_stream))) -; 191 : return Z_VERSION_ERROR; - - 000b1 b8 fa ff ff ff mov eax, -6 ; fffffffaH - -; 220 : } - - 000b6 5d pop ebp - 000b7 c2 10 00 ret 16 ; 00000010H -_inflateInit2_@16 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflate@8 -_TEXT SEGMENT -tv2776 = -64 ; size = 4 -_in$1$ = -60 ; size = 4 -$T1 = -56 ; size = 4 -_copy$9$ = -56 ; size = 4 -tv2758 = -56 ; size = 4 -tv2717 = -56 ; size = 4 -tv2715 = -56 ; size = 4 -tv2704 = -56 ; size = 4 -tv2690 = -56 ; size = 4 -tv2666 = -56 ; size = 4 -tv2665 = -56 ; size = 4 -tv2620 = -56 ; size = 4 -_copy$7$ = -56 ; size = 4 -_copy$4$ = -56 ; size = 4 -_copy$3$ = -56 ; size = 4 -_copy$2$ = -56 ; size = 4 -_len$5$ = -56 ; size = 4 -_len$1$ = -56 ; size = 4 -_last$ = -56 ; size = 4 -_here$ = -56 ; size = 4 -_copy$11$ = -52 ; size = 4 -_copy$8$ = -52 ; size = 4 -tv2711 = -52 ; size = 4 -tv2710 = -52 ; size = 4 -tv2688 = -52 ; size = 4 -tv2664 = -52 ; size = 4 -_copy$1$ = -52 ; size = 4 -tv2779 = -48 ; size = 4 -_ret$1$ = -44 ; size = 4 -_from$1$ = -40 ; size = 4 -tv2786 = -40 ; size = 4 -tv2696 = -40 ; size = 4 -tv2687 = -40 ; size = 4 -tv2686 = -40 ; size = 4 -_len$4$ = -40 ; size = 4 -_len$3$ = -40 ; size = 4 -_len$2$ = -40 ; size = 4 -_out$1$ = -36 ; size = 4 -_put$1$ = -32 ; size = 4 -_hbuf$ = -28 ; size = 4 -_left$1$ = -24 ; size = 4 -tv2678 = -20 ; size = 4 -tv2677 = -20 ; size = 4 -_bits$1$ = -20 ; size = 4 -_next$1$ = -16 ; size = 4 -tv2713 = -12 ; size = 4 -_have$1$ = -12 ; size = 4 -_state$1$ = -8 ; size = 4 -_hold$1$ = -4 ; size = 4 -tv2648 = 8 ; size = 4 -_strm$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_inflate@8 PROC ; COMDAT - -; 608 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 609 : struct inflate_state FAR *state; -; 610 : z_const unsigned char FAR *next; /* next input */ -; 611 : unsigned char FAR *put; /* next output */ -; 612 : unsigned have, left; /* available input and output */ -; 613 : unsigned long hold; /* bit buffer */ -; 614 : unsigned bits; /* bits in bit buffer */ -; 615 : unsigned in, out; /* save starting available input and output */ -; 616 : unsigned copy; /* number of stored or match bytes to copy */ -; 617 : unsigned char FAR *from; /* where to copy match bytes from */ -; 618 : code here; /* current decoding table entry */ -; 619 : code last; /* parent table entry */ -; 620 : unsigned len; /* length to copy for repeats, bits to drop */ -; 621 : int ret; /* return code */ -; 622 : #ifdef GUNZIP -; 623 : unsigned char hbuf[4]; /* buffer for gzip header crc calculation */ -; 624 : #endif -; 625 : static const unsigned short order[19] = /* permutation of code lengths */ -; 626 : {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; -; 627 : -; 628 : if (strm == Z_NULL || strm->state == Z_NULL || strm->next_out == Z_NULL || - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 83 ec 40 sub esp, 64 ; 00000040H - 00009 85 c0 test eax, eax - 0000b 0f 84 1e 16 00 - 00 je $LN333@inflate - 00011 8b 48 1c mov ecx, DWORD PTR [eax+28] - 00014 89 4d f8 mov DWORD PTR _state$1$[ebp], ecx - 00017 85 c9 test ecx, ecx - 00019 0f 84 10 16 00 - 00 je $LN333@inflate - 0001f 83 78 0c 00 cmp DWORD PTR [eax+12], 0 - 00023 0f 84 06 16 00 - 00 je $LN333@inflate - 00029 83 38 00 cmp DWORD PTR [eax], 0 - 0002c 75 0a jne SHORT $LN332@inflate - 0002e 83 78 04 00 cmp DWORD PTR [eax+4], 0 - 00032 0f 85 f7 15 00 - 00 jne $LN333@inflate -$LN332@inflate: - -; 631 : -; 632 : state = (struct inflate_state FAR *)strm->state; -; 633 : if (state->mode == TYPE) state->mode = TYPEDO; /* skip check */ - - 00038 83 39 0b cmp DWORD PTR [ecx], 11 ; 0000000bH - 0003b 75 06 jne SHORT $LN4@inflate - 0003d c7 01 0c 00 00 - 00 mov DWORD PTR [ecx], 12 ; 0000000cH -$LN4@inflate: - -; 634 : LOAD(); - - 00043 8b 50 0c mov edx, DWORD PTR [eax+12] - 00046 53 push ebx - 00047 8b 58 04 mov ebx, DWORD PTR [eax+4] - 0004a 56 push esi - 0004b 8b 71 3c mov esi, DWORD PTR [ecx+60] - 0004e 89 55 e0 mov DWORD PTR _put$1$[ebp], edx - 00051 8b 50 10 mov edx, DWORD PTR [eax+16] - 00054 89 55 e8 mov DWORD PTR _left$1$[ebp], edx - 00057 8b 51 38 mov edx, DWORD PTR [ecx+56] - 0005a 57 push edi - 0005b 8b 38 mov edi, DWORD PTR [eax] - -; 635 : in = have; -; 636 : out = left; - - 0005d 8b 45 e8 mov eax, DWORD PTR _left$1$[ebp] - 00060 89 45 dc mov DWORD PTR _out$1$[ebp], eax - -; 637 : ret = Z_OK; - - 00063 33 c0 xor eax, eax - 00065 89 45 d4 mov DWORD PTR _ret$1$[ebp], eax - -; 638 : for (;;) -; 639 : switch (state->mode) { - - 00068 8b 01 mov eax, DWORD PTR [ecx] - 0006a 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 0006d 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 00070 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00073 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 00076 89 5d c4 mov DWORD PTR _in$1$[ebp], ebx - 00079 83 f8 1e cmp eax, 30 ; 0000001eH - 0007c 0f 87 a5 0a 00 - 00 ja $LN498@inflate - -; 938 : for (;;) { -; 939 : here = state->lencode[BITS(state->lenbits)]; - - 00082 8d 79 54 lea edi, DWORD PTR [ecx+84] - 00085 89 7d d0 mov DWORD PTR tv2779[ebp], edi - -; 1080 : case DIST: -; 1081 : for (;;) { -; 1082 : here = state->distcode[BITS(state->distbits)]; - - 00088 8d 79 58 lea edi, DWORD PTR [ecx+88] - 0008b 89 7d c0 mov DWORD PTR tv2776[ebp], edi - 0008e 8b 7d f0 mov edi, DWORD PTR _next$1$[ebp] -$LL5@inflate: - -; 638 : for (;;) -; 639 : switch (state->mode) { - - 00091 ff 24 85 00 00 - 00 00 jmp DWORD PTR $LN935@inflate[eax*4] -$LN335@inflate: - -; 640 : case HEAD: -; 641 : if (state->wrap == 0) { - - 00098 8b 41 08 mov eax, DWORD PTR [ecx+8] - 0009b 89 45 c8 mov DWORD PTR tv2758[ebp], eax - 0009e 85 c0 test eax, eax - 000a0 75 0b jne SHORT $LN12@inflate - -; 642 : state->mode = TYPEDO; - - 000a2 c7 01 0c 00 00 - 00 mov DWORD PTR [ecx], 12 ; 0000000cH - -; 643 : break; - - 000a8 e9 6f 0a 00 00 jmp $LN8@inflate -$LN12@inflate: - -; 644 : } -; 645 : NEEDBITS(16); - - 000ad 83 fe 10 cmp esi, 16 ; 00000010H - 000b0 73 2d jae SHORT $LN10@inflate -$LL13@inflate: - 000b2 85 db test ebx, ebx - 000b4 0f 84 c0 04 00 - 00 je $LN886@inflate - 000ba 0f b6 07 movzx eax, BYTE PTR [edi] - 000bd 8b ce mov ecx, esi - 000bf d3 e0 shl eax, cl - 000c1 83 c6 08 add esi, 8 - 000c4 4b dec ebx - 000c5 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 000c8 03 d0 add edx, eax - 000ca 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 000cd 47 inc edi - 000ce 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 000d1 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 000d4 83 fe 10 cmp esi, 16 ; 00000010H - 000d7 72 d9 jb SHORT $LL13@inflate - 000d9 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 000dc 8b 45 c8 mov eax, DWORD PTR tv2758[ebp] -$LN10@inflate: - -; 646 : #ifdef GUNZIP -; 647 : if ((state->wrap & 2) && hold == 0x8b1f) { /* gzip header */ - - 000df a8 02 test al, 2 - 000e1 74 46 je SHORT $LN338@inflate - 000e3 81 fa 1f 8b 00 - 00 cmp edx, 35615 ; 00008b1fH - 000e9 75 3e jne SHORT $LN338@inflate - -; 648 : state->check = crc32(0L, Z_NULL, 0); - - 000eb 6a 00 push 0 - 000ed 6a 00 push 0 - 000ef 6a 00 push 0 - 000f1 e8 00 00 00 00 call _crc32@12 - 000f6 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - -; 649 : CRC2(state->check, hold); - - 000f9 6a 02 push 2 - 000fb 66 c7 45 e4 1f - 8b mov WORD PTR _hbuf$[ebp], 35615 ; 00008b1fH - 00101 89 41 18 mov DWORD PTR [ecx+24], eax - 00104 8d 4d e4 lea ecx, DWORD PTR _hbuf$[ebp] - 00107 51 push ecx - 00108 50 push eax - 00109 e8 00 00 00 00 call _crc32@12 - 0010e 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - -; 650 : INITBITS(); - - 00111 33 d2 xor edx, edx - 00113 33 f6 xor esi, esi - 00115 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00118 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 0011b 89 41 18 mov DWORD PTR [ecx+24], eax - -; 651 : state->mode = FLAGS; - - 0011e c7 01 01 00 00 - 00 mov DWORD PTR [ecx], 1 - -; 652 : break; - - 00124 e9 f3 09 00 00 jmp $LN8@inflate -$LN338@inflate: - -; 653 : } -; 654 : state->flags = 0; /* expect zlib header */ -; 655 : if (state->head != Z_NULL) - - 00129 8b 41 20 mov eax, DWORD PTR [ecx+32] - 0012c c7 41 10 00 00 - 00 00 mov DWORD PTR [ecx+16], 0 - 00133 85 c0 test eax, eax - 00135 74 07 je SHORT $LN339@inflate - -; 656 : state->head->done = -1; - - 00137 c7 40 30 ff ff - ff ff mov DWORD PTR [eax+48], -1 -$LN339@inflate: - -; 657 : if (!(state->wrap & 1) || /* check if zlib header allowed */ - - 0013e f6 41 08 01 test BYTE PTR [ecx+8], 1 - 00142 0f 84 c1 00 00 - 00 je $LN341@inflate - 00148 0f b6 ca movzx ecx, dl - 0014b 8b c2 mov eax, edx - 0014d c1 e1 08 shl ecx, 8 - 00150 33 d2 xor edx, edx - 00152 c1 e8 08 shr eax, 8 - 00155 03 c1 add eax, ecx - 00157 b9 1f 00 00 00 mov ecx, 31 ; 0000001fH - 0015c f7 f1 div ecx - -; 668 : state->mode = BAD; - - 0015e 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00161 85 d2 test edx, edx - 00163 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 00166 0f 85 9d 00 00 - 00 jne $LN341@inflate - -; 665 : } -; 666 : if (BITS(4) != Z_DEFLATED) { - - 0016c 8b c2 mov eax, edx - 0016e 24 0f and al, 15 ; 0000000fH - 00170 3c 08 cmp al, 8 - 00172 74 15 je SHORT $LN26@inflate -$LN932@inflate: - -; 667 : strm->msg = (char *)"unknown compression method"; - - 00174 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00177 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ - -; 668 : state->mode = BAD; - - 0017e c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - -; 669 : break; - - 00184 e9 93 09 00 00 jmp $LN8@inflate -$LN26@inflate: - -; 670 : } -; 671 : DROPBITS(4); - - 00189 c1 ea 04 shr edx, 4 - 0018c 83 ee 04 sub esi, 4 - -; 672 : len = BITS(4) + 8; - - 0018f 8b c2 mov eax, edx - 00191 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00194 83 e0 0f and eax, 15 ; 0000000fH - 00197 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 0019a 83 c0 08 add eax, 8 - -; 673 : if (state->wbits == 0) - - 0019d 83 79 24 00 cmp DWORD PTR [ecx+36], 0 - 001a1 89 45 c8 mov DWORD PTR _len$1$[ebp], eax - 001a4 75 49 jne SHORT $LN343@inflate - -; 674 : state->wbits = len; - - 001a6 89 41 24 mov DWORD PTR [ecx+36], eax -$LN345@inflate: - -; 679 : } -; 680 : state->dmax = 1U << len; - - 001a9 8b 4d c8 mov ecx, DWORD PTR _len$1$[ebp] - 001ac b8 01 00 00 00 mov eax, 1 - 001b1 d3 e0 shl eax, cl - 001b3 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - -; 681 : Tracev((stderr, "inflate: zlib header ok\n")); -; 682 : strm->adler = state->check = adler32(0L, Z_NULL, 0); - - 001b6 6a 00 push 0 - 001b8 6a 00 push 0 - 001ba 6a 00 push 0 - 001bc 89 41 14 mov DWORD PTR [ecx+20], eax - 001bf e8 00 00 00 00 call _adler32@12 - 001c4 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 001c7 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 001ca 89 41 18 mov DWORD PTR [ecx+24], eax - 001cd 89 42 30 mov DWORD PTR [edx+48], eax - -; 683 : state->mode = hold & 0x200 ? DICTID : TYPE; - - 001d0 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 001d3 c1 ea 08 shr edx, 8 - 001d6 f7 d2 not edx - 001d8 83 e2 02 and edx, 2 - 001db 83 ca 09 or edx, 9 - 001de 89 11 mov DWORD PTR [ecx], edx - -; 684 : INITBITS(); - - 001e0 33 d2 xor edx, edx - 001e2 33 f6 xor esi, esi - 001e4 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 001e7 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - -; 685 : break; - - 001ea e9 2d 09 00 00 jmp $LN8@inflate -$LN343@inflate: - -; 675 : else if (len > state->wbits) { - - 001ef 3b 41 24 cmp eax, DWORD PTR [ecx+36] - 001f2 76 b5 jbe SHORT $LN345@inflate - -; 676 : strm->msg = (char *)"invalid window size"; - - 001f4 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 001f7 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ - -; 677 : state->mode = BAD; - - 001fe c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - -; 678 : break; - - 00204 e9 13 09 00 00 jmp $LN8@inflate -$LN341@inflate: - -; 658 : #else -; 659 : if ( -; 660 : #endif -; 661 : ((BITS(8) << 8) + (hold >> 8)) % 31) { -; 662 : strm->msg = (char *)"incorrect header check"; - - 00209 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 0020c c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ - -; 663 : state->mode = BAD; - - 00213 c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - -; 664 : break; - - 00219 e9 fe 08 00 00 jmp $LN8@inflate -$LN32@inflate: - -; 686 : #ifdef GUNZIP -; 687 : case FLAGS: -; 688 : NEEDBITS(16); - - 0021e 83 fe 10 cmp esi, 16 ; 00000010H - 00221 73 2a jae SHORT $LN30@inflate -$LL33@inflate: - 00223 85 db test ebx, ebx - 00225 0f 84 4f 03 00 - 00 je $LN886@inflate - 0022b 0f b6 07 movzx eax, BYTE PTR [edi] - 0022e 8b ce mov ecx, esi - 00230 d3 e0 shl eax, cl - 00232 83 c6 08 add esi, 8 - 00235 4b dec ebx - 00236 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 00239 03 d0 add edx, eax - 0023b 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 0023e 47 inc edi - 0023f 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00242 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 00245 83 fe 10 cmp esi, 16 ; 00000010H - 00248 72 d9 jb SHORT $LL33@inflate - 0024a 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] -$LN30@inflate: - -; 689 : state->flags = (int)(hold); - - 0024d 89 51 10 mov DWORD PTR [ecx+16], edx - -; 690 : if ((state->flags & 0xff) != Z_DEFLATED) { - - 00250 80 fa 08 cmp dl, 8 - 00253 0f 85 1b ff ff - ff jne $LN932@inflate - -; 691 : strm->msg = (char *)"unknown compression method"; -; 692 : state->mode = BAD; -; 693 : break; -; 694 : } -; 695 : if (state->flags & 0xe000) { - - 00259 f7 c2 00 e0 00 - 00 test edx, 57344 ; 0000e000H - 0025f 74 15 je SHORT $LN349@inflate - -; 696 : strm->msg = (char *)"unknown header flags set"; - - 00261 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00264 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ - 0026b c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - 00271 e9 a6 08 00 00 jmp $LN8@inflate -$LN349@inflate: - -; 697 : state->mode = BAD; -; 698 : break; -; 699 : } -; 700 : if (state->head != Z_NULL) - - 00276 8b 71 20 mov esi, DWORD PTR [ecx+32] - 00279 85 f6 test esi, esi - 0027b 74 0a je SHORT $LN350@inflate - -; 701 : state->head->text = (int)((hold >> 8) & 1); - - 0027d 8b c2 mov eax, edx - 0027f c1 e8 08 shr eax, 8 - 00282 83 e0 01 and eax, 1 - 00285 89 06 mov DWORD PTR [esi], eax -$LN350@inflate: - -; 702 : if (state->flags & 0x0200) CRC2(state->check, hold); - - 00287 f7 41 10 00 02 - 00 00 test DWORD PTR [ecx+16], 512 ; 00000200H - 0028e 74 1d je SHORT $LN39@inflate - 00290 6a 02 push 2 - 00292 8d 45 e4 lea eax, DWORD PTR _hbuf$[ebp] - 00295 88 55 e4 mov BYTE PTR _hbuf$[ebp], dl - 00298 50 push eax - 00299 ff 71 18 push DWORD PTR [ecx+24] - 0029c c1 ea 08 shr edx, 8 - 0029f 88 55 e5 mov BYTE PTR _hbuf$[ebp+1], dl - 002a2 e8 00 00 00 00 call _crc32@12 - 002a7 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 002aa 89 41 18 mov DWORD PTR [ecx+24], eax -$LN39@inflate: - -; 703 : INITBITS(); - - 002ad 33 d2 xor edx, edx - -; 704 : state->mode = TIME; - - 002af c7 01 02 00 00 - 00 mov DWORD PTR [ecx], 2 - 002b5 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 002b8 33 f6 xor esi, esi - -; 705 : case TIME: -; 706 : NEEDBITS(32); - - 002ba eb 05 jmp SHORT $LL47@inflate -$LN46@inflate: - 002bc 83 fe 20 cmp esi, 32 ; 00000020H - 002bf 73 27 jae SHORT $LN44@inflate -$LL47@inflate: - 002c1 85 db test ebx, ebx - 002c3 0f 84 b1 02 00 - 00 je $LN886@inflate - 002c9 0f b6 07 movzx eax, BYTE PTR [edi] - 002cc 8b ce mov ecx, esi - 002ce d3 e0 shl eax, cl - 002d0 4b dec ebx - 002d1 03 d0 add edx, eax - 002d3 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 002d6 47 inc edi - 002d7 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 002da 83 c6 08 add esi, 8 - 002dd 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 002e0 83 fe 20 cmp esi, 32 ; 00000020H - 002e3 72 dc jb SHORT $LL47@inflate - 002e5 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] -$LN44@inflate: - -; 707 : if (state->head != Z_NULL) - - 002e8 8b 41 20 mov eax, DWORD PTR [ecx+32] - 002eb 85 c0 test eax, eax - 002ed 74 03 je SHORT $LN354@inflate - -; 708 : state->head->time = hold; - - 002ef 89 50 04 mov DWORD PTR [eax+4], edx -$LN354@inflate: - -; 709 : if (state->flags & 0x0200) CRC4(state->check, hold); - - 002f2 f7 41 10 00 02 - 00 00 test DWORD PTR [ecx+16], 512 ; 00000200H - 002f9 74 2d je SHORT $LN53@inflate - 002fb 8b c2 mov eax, edx - 002fd 88 55 e4 mov BYTE PTR _hbuf$[ebp], dl - 00300 c1 e8 08 shr eax, 8 - 00303 88 45 e5 mov BYTE PTR _hbuf$[ebp+1], al - 00306 8b c2 mov eax, edx - 00308 c1 e8 10 shr eax, 16 ; 00000010H - 0030b 88 45 e6 mov BYTE PTR _hbuf$[ebp+2], al - 0030e 8d 45 e4 lea eax, DWORD PTR _hbuf$[ebp] - 00311 6a 04 push 4 - 00313 50 push eax - 00314 ff 71 18 push DWORD PTR [ecx+24] - 00317 c1 ea 18 shr edx, 24 ; 00000018H - 0031a 88 55 e7 mov BYTE PTR _hbuf$[ebp+3], dl - 0031d e8 00 00 00 00 call _crc32@12 - 00322 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00325 89 41 18 mov DWORD PTR [ecx+24], eax -$LN53@inflate: - -; 710 : INITBITS(); - - 00328 33 d2 xor edx, edx - -; 711 : state->mode = OS; - - 0032a c7 01 03 00 00 - 00 mov DWORD PTR [ecx], 3 - 00330 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00333 33 f6 xor esi, esi - -; 712 : case OS: -; 713 : NEEDBITS(16); - - 00335 eb 09 jmp SHORT $LL61@inflate -$LN60@inflate: - 00337 83 fe 10 cmp esi, 16 ; 00000010H - 0033a 73 2b jae SHORT $LN58@inflate - 0033c 0f 1f 40 00 npad 4 -$LL61@inflate: - 00340 85 db test ebx, ebx - 00342 0f 84 32 02 00 - 00 je $LN886@inflate - 00348 0f b6 07 movzx eax, BYTE PTR [edi] - 0034b 8b ce mov ecx, esi - 0034d d3 e0 shl eax, cl - 0034f 4b dec ebx - 00350 03 d0 add edx, eax - 00352 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 00355 47 inc edi - 00356 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00359 83 c6 08 add esi, 8 - 0035c 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 0035f 83 fe 10 cmp esi, 16 ; 00000010H - 00362 72 dc jb SHORT $LL61@inflate - 00364 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] -$LN58@inflate: - -; 714 : if (state->head != Z_NULL) { - - 00367 8b 71 20 mov esi, DWORD PTR [ecx+32] - 0036a 85 f6 test esi, esi - 0036c 74 17 je SHORT $LN358@inflate - -; 715 : state->head->xflags = (int)(hold & 0xff); - - 0036e 0f b6 c2 movzx eax, dl - -; 716 : state->head->os = (int)(hold >> 8); - - 00371 8b ca mov ecx, edx - 00373 89 46 08 mov DWORD PTR [esi+8], eax - 00376 8b 45 f8 mov eax, DWORD PTR _state$1$[ebp] - 00379 c1 e9 08 shr ecx, 8 - 0037c 8b 40 20 mov eax, DWORD PTR [eax+32] - 0037f 89 48 0c mov DWORD PTR [eax+12], ecx - 00382 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] -$LN358@inflate: - -; 717 : } -; 718 : if (state->flags & 0x0200) CRC2(state->check, hold); - - 00385 f7 41 10 00 02 - 00 00 test DWORD PTR [ecx+16], 512 ; 00000200H - 0038c 74 1d je SHORT $LN67@inflate - 0038e 6a 02 push 2 - 00390 8d 45 e4 lea eax, DWORD PTR _hbuf$[ebp] - 00393 88 55 e4 mov BYTE PTR _hbuf$[ebp], dl - 00396 50 push eax - 00397 ff 71 18 push DWORD PTR [ecx+24] - 0039a c1 ea 08 shr edx, 8 - 0039d 88 55 e5 mov BYTE PTR _hbuf$[ebp+1], dl - 003a0 e8 00 00 00 00 call _crc32@12 - 003a5 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 003a8 89 41 18 mov DWORD PTR [ecx+24], eax -$LN67@inflate: - -; 719 : INITBITS(); - - 003ab 33 d2 xor edx, edx - -; 720 : state->mode = EXLEN; - - 003ad c7 01 04 00 00 - 00 mov DWORD PTR [ecx], 4 - 003b3 33 f6 xor esi, esi - 003b5 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 003b8 89 75 ec mov DWORD PTR _bits$1$[ebp], esi -$LN360@inflate: - -; 721 : case EXLEN: -; 722 : if (state->flags & 0x0400) { - - 003bb f7 41 10 00 04 - 00 00 test DWORD PTR [ecx+16], 1024 ; 00000400H - 003c2 74 74 je SHORT $LN361@inflate - -; 723 : NEEDBITS(16); - - 003c4 83 fe 10 cmp esi, 16 ; 00000010H - 003c7 73 2e jae SHORT $LN72@inflate - 003c9 0f 1f 80 00 00 - 00 00 npad 7 -$LL75@inflate: - 003d0 85 db test ebx, ebx - 003d2 0f 84 a2 01 00 - 00 je $LN886@inflate - 003d8 0f b6 07 movzx eax, BYTE PTR [edi] - 003db 8b ce mov ecx, esi - 003dd d3 e0 shl eax, cl - 003df 4b dec ebx - 003e0 03 d0 add edx, eax - 003e2 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 003e5 47 inc edi - 003e6 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 003e9 83 c6 08 add esi, 8 - 003ec 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 003ef 83 fe 10 cmp esi, 16 ; 00000010H - 003f2 72 dc jb SHORT $LL75@inflate - 003f4 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] -$LN72@inflate: - -; 724 : state->length = (unsigned)(hold); -; 725 : if (state->head != Z_NULL) - - 003f7 8b 41 20 mov eax, DWORD PTR [ecx+32] - 003fa 89 51 40 mov DWORD PTR [ecx+64], edx - 003fd 85 c0 test eax, eax - 003ff 74 03 je SHORT $LN364@inflate - -; 726 : state->head->extra_len = (unsigned)hold; - - 00401 89 50 14 mov DWORD PTR [eax+20], edx -$LN364@inflate: - -; 727 : if (state->flags & 0x0200) CRC2(state->check, hold); - - 00404 f7 41 10 00 02 - 00 00 test DWORD PTR [ecx+16], 512 ; 00000200H - 0040b 74 1d je SHORT $LN81@inflate - 0040d 6a 02 push 2 - 0040f 8d 45 e4 lea eax, DWORD PTR _hbuf$[ebp] - 00412 88 55 e4 mov BYTE PTR _hbuf$[ebp], dl - 00415 50 push eax - 00416 ff 71 18 push DWORD PTR [ecx+24] - 00419 c1 ea 08 shr edx, 8 - 0041c 88 55 e5 mov BYTE PTR _hbuf$[ebp+1], dl - 0041f e8 00 00 00 00 call _crc32@12 - 00424 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00427 89 41 18 mov DWORD PTR [ecx+24], eax -$LN81@inflate: - -; 728 : INITBITS(); - - 0042a 33 f6 xor esi, esi - 0042c c7 45 fc 00 00 - 00 00 mov DWORD PTR _hold$1$[ebp], 0 - 00433 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - -; 729 : } - - 00436 eb 0e jmp SHORT $LN366@inflate -$LN361@inflate: - -; 730 : else if (state->head != Z_NULL) - - 00438 8b 41 20 mov eax, DWORD PTR [ecx+32] - 0043b 85 c0 test eax, eax - 0043d 74 07 je SHORT $LN366@inflate - -; 731 : state->head->extra = Z_NULL; - - 0043f c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], 0 -$LN366@inflate: - -; 732 : state->mode = EXTRA; - - 00446 c7 01 05 00 00 - 00 mov DWORD PTR [ecx], 5 -$LN367@inflate: - -; 733 : case EXTRA: -; 734 : if (state->flags & 0x0400) { - - 0044c f7 41 10 00 04 - 00 00 test DWORD PTR [ecx+16], 1024 ; 00000400H - 00453 0f 84 8d 00 00 - 00 je $LN373@inflate - -; 735 : copy = state->length; - - 00459 8b 41 40 mov eax, DWORD PTR [ecx+64] - -; 736 : if (copy > have) copy = have; - - 0045c 3b c3 cmp eax, ebx - 0045e 8b d0 mov edx, eax - 00460 89 45 cc mov DWORD PTR _copy$1$[ebp], eax - 00463 0f 47 d3 cmova edx, ebx - 00466 89 55 c8 mov DWORD PTR _copy$2$[ebp], edx - -; 737 : if (copy) { - - 00469 85 d2 test edx, edx - 0046b 74 6f je SHORT $LN370@inflate - -; 738 : if (state->head != Z_NULL && - - 0046d 8b 41 20 mov eax, DWORD PTR [ecx+32] - 00470 85 c0 test eax, eax - 00472 74 3f je SHORT $LN371@inflate - 00474 8b 78 10 mov edi, DWORD PTR [eax+16] - 00477 85 ff test edi, edi - 00479 89 7d f4 mov DWORD PTR tv2713[ebp], edi - 0047c 8b 7d f0 mov edi, DWORD PTR _next$1$[ebp] - 0047f 74 32 je SHORT $LN371@inflate - -; 739 : state->head->extra != Z_NULL) { -; 740 : len = state->head->extra_len - state->length; - - 00481 8b 48 14 mov ecx, DWORD PTR [eax+20] - 00484 2b 4d cc sub ecx, DWORD PTR _copy$1$[ebp] - 00487 89 4d d8 mov DWORD PTR _len$2$[ebp], ecx - -; 741 : zmemcpy(state->head->extra + len, next, - - 0048a 8b 48 18 mov ecx, DWORD PTR [eax+24] - 0048d 8b 45 d8 mov eax, DWORD PTR _len$2$[ebp] - 00490 03 c2 add eax, edx - 00492 3b c1 cmp eax, ecx - 00494 8b 45 d8 mov eax, DWORD PTR _len$2$[ebp] - 00497 76 04 jbe SHORT $LN508@inflate - 00499 2b c8 sub ecx, eax - 0049b eb 02 jmp SHORT $LN509@inflate -$LN508@inflate: - 0049d 8b ca mov ecx, edx -$LN509@inflate: - 0049f 03 45 f4 add eax, DWORD PTR tv2713[ebp] - 004a2 51 push ecx - 004a3 57 push edi - 004a4 50 push eax - 004a5 e8 00 00 00 00 call _memcpy - 004aa 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 004ad 83 c4 0c add esp, 12 ; 0000000cH - 004b0 8b 55 c8 mov edx, DWORD PTR _copy$2$[ebp] -$LN371@inflate: - -; 742 : len + copy > state->head->extra_max ? -; 743 : state->head->extra_max - len : copy); -; 744 : } -; 745 : if (state->flags & 0x0200) - - 004b3 f7 41 10 00 02 - 00 00 test DWORD PTR [ecx+16], 512 ; 00000200H - 004ba 74 10 je SHORT $LN372@inflate - -; 746 : state->check = crc32(state->check, next, copy); - - 004bc 52 push edx - 004bd 57 push edi - 004be ff 71 18 push DWORD PTR [ecx+24] - 004c1 e8 00 00 00 00 call _crc32@12 - 004c6 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 004c9 89 41 18 mov DWORD PTR [ecx+24], eax -$LN372@inflate: - -; 747 : have -= copy; - - 004cc 8b 45 c8 mov eax, DWORD PTR _copy$2$[ebp] - 004cf 2b d8 sub ebx, eax - -; 748 : next += copy; - - 004d1 03 f8 add edi, eax - 004d3 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - -; 749 : state->length -= copy; - - 004d6 29 41 40 sub DWORD PTR [ecx+64], eax - 004d9 89 7d f0 mov DWORD PTR _next$1$[ebp], edi -$LN370@inflate: - -; 750 : } -; 751 : if (state->length) goto inf_leave; - - 004dc 83 79 40 00 cmp DWORD PTR [ecx+64], 0 - 004e0 0f 85 94 00 00 - 00 jne $LN886@inflate -$LN373@inflate: - -; 752 : } -; 753 : state->length = 0; - - 004e6 c7 41 40 00 00 - 00 00 mov DWORD PTR [ecx+64], 0 - -; 754 : state->mode = NAME; - - 004ed c7 01 06 00 00 - 00 mov DWORD PTR [ecx], 6 -$LN374@inflate: - -; 755 : case NAME: -; 756 : if (state->flags & 0x0800) { - - 004f3 f7 41 10 00 08 - 00 00 test DWORD PTR [ecx+16], 2048 ; 00000800H - 004fa 0f 84 fd 00 00 - 00 je $LN375@inflate - -; 757 : if (have == 0) goto inf_leave; - - 00500 85 db test ebx, ebx - 00502 74 76 je SHORT $LN886@inflate - -; 758 : copy = 0; - - 00504 33 d2 xor edx, edx -$LL88@inflate: - -; 759 : do { -; 760 : len = (unsigned)(next[copy++]); - - 00506 0f b6 04 3a movzx eax, BYTE PTR [edx+edi] - 0050a 42 inc edx - 0050b 89 45 d8 mov DWORD PTR _len$3$[ebp], eax - -; 761 : if (state->head != Z_NULL && -; 762 : state->head->name != Z_NULL && - - 0050e 8b 41 20 mov eax, DWORD PTR [ecx+32] - 00511 85 c0 test eax, eax - 00513 74 23 je SHORT $LN86@inflate - 00515 8b 70 1c mov esi, DWORD PTR [eax+28] - 00518 89 75 cc mov DWORD PTR tv2711[ebp], esi - 0051b 85 f6 test esi, esi - 0051d 74 19 je SHORT $LN86@inflate - 0051f 8b 71 40 mov esi, DWORD PTR [ecx+64] - 00522 3b 70 20 cmp esi, DWORD PTR [eax+32] - 00525 73 11 jae SHORT $LN86@inflate - -; 763 : state->length < state->head->name_max) -; 764 : state->head->name[state->length++] = len; - - 00527 8b 5d d8 mov ebx, DWORD PTR _len$3$[ebp] - 0052a 8b c6 mov eax, esi - 0052c 8b 75 cc mov esi, DWORD PTR tv2711[ebp] - 0052f 88 1c 06 mov BYTE PTR [esi+eax], bl - 00532 ff 41 40 inc DWORD PTR [ecx+64] - 00535 8b 5d f4 mov ebx, DWORD PTR _have$1$[ebp] -$LN86@inflate: - -; 765 : } while (len && copy < have); - - 00538 8b 45 d8 mov eax, DWORD PTR _len$3$[ebp] - 0053b 85 c0 test eax, eax - 0053d 74 04 je SHORT $LN379@inflate - 0053f 3b d3 cmp edx, ebx - 00541 72 c3 jb SHORT $LL88@inflate -$LN379@inflate: - -; 766 : if (state->flags & 0x0200) - - 00543 f7 41 10 00 02 - 00 00 test DWORD PTR [ecx+16], 512 ; 00000200H - 0054a 8b 75 ec mov esi, DWORD PTR _bits$1$[ebp] - 0054d 89 55 c8 mov DWORD PTR _copy$3$[ebp], edx - 00550 74 16 je SHORT $LN380@inflate - -; 767 : state->check = crc32(state->check, next, copy); - - 00552 52 push edx - 00553 57 push edi - 00554 ff 71 18 push DWORD PTR [ecx+24] - 00557 e8 00 00 00 00 call _crc32@12 - 0055c 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 0055f 8b 55 c8 mov edx, DWORD PTR _copy$3$[ebp] - 00562 89 41 18 mov DWORD PTR [ecx+24], eax - 00565 8b 45 d8 mov eax, DWORD PTR _len$3$[ebp] -$LN380@inflate: - -; 768 : have -= copy; - - 00568 2b da sub ebx, edx - -; 769 : next += copy; - - 0056a 03 fa add edi, edx - 0056c 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 0056f 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - -; 770 : if (len) goto inf_leave; - - 00572 85 c0 test eax, eax - 00574 0f 84 91 00 00 - 00 je $LN382@inflate -$LN886@inflate: - 0057a 8b 45 f4 mov eax, DWORD PTR _have$1$[ebp] -$LN896@inflate: - 0057d 8b 55 0c mov edx, DWORD PTR _flush$[ebp] -$inf_leave$937: - -; 1222 : } -; 1223 : -; 1224 : /* -; 1225 : Return from inflate(), updating the total counts and the check value. -; 1226 : If there was no progress during the inflate() call, return a buffer -; 1227 : error. Call updatewindow() to create and/or update the window state. -; 1228 : Note: a memory error from inflate() is non-recoverable. -; 1229 : */ -; 1230 : inf_leave: -; 1231 : RESTORE(); - - 00580 8b 7d 08 mov edi, DWORD PTR _strm$[ebp] - 00583 8b 4d e0 mov ecx, DWORD PTR _put$1$[ebp] - 00586 8b 5d f8 mov ebx, DWORD PTR _state$1$[ebp] - 00589 89 4f 0c mov DWORD PTR [edi+12], ecx - 0058c 8b 4d e8 mov ecx, DWORD PTR _left$1$[ebp] - 0058f 89 4f 10 mov DWORD PTR [edi+16], ecx - 00592 8b 4d f0 mov ecx, DWORD PTR _next$1$[ebp] - 00595 89 47 04 mov DWORD PTR [edi+4], eax - 00598 8b 45 fc mov eax, DWORD PTR _hold$1$[ebp] - 0059b 89 0f mov DWORD PTR [edi], ecx - -; 1232 : if (state->wsize || (out != strm->avail_out && state->mode < BAD && - - 0059d 83 7b 28 00 cmp DWORD PTR [ebx+40], 0 - 005a1 89 73 3c mov DWORD PTR [ebx+60], esi - 005a4 8b 75 dc mov esi, DWORD PTR _out$1$[ebp] - 005a7 89 43 38 mov DWORD PTR [ebx+56], eax - 005aa 75 22 jne SHORT $LN501@inflate - 005ac 3b 77 10 cmp esi, DWORD PTR [edi+16] - 005af 0f 84 c9 0f 00 - 00 je $LN502@inflate - 005b5 8b 03 mov eax, DWORD PTR [ebx] - 005b7 83 f8 1d cmp eax, 29 ; 0000001dH - 005ba 0f 8d be 0f 00 - 00 jge $LN502@inflate - 005c0 83 f8 1a cmp eax, 26 ; 0000001aH - 005c3 7c 09 jl SHORT $LN501@inflate - 005c5 83 fa 04 cmp edx, 4 - 005c8 0f 84 b0 0f 00 - 00 je $LN502@inflate -$LN501@inflate: - -; 1233 : (state->mode < CHECK || flush != Z_FINISH))) -; 1234 : if (updatewindow(strm, strm->next_out, out - strm->avail_out)) { - - 005ce 8b 57 0c mov edx, DWORD PTR [edi+12] - 005d1 8b c6 mov eax, esi - 005d3 2b 47 10 sub eax, DWORD PTR [edi+16] - 005d6 8b cf mov ecx, edi - 005d8 50 push eax - 005d9 e8 00 00 00 00 call _updatewindow - 005de 83 c4 04 add esp, 4 - 005e1 85 c0 test eax, eax - 005e3 0f 84 95 0f 00 - 00 je $LN502@inflate - -; 1235 : state->mode = MEM; - - 005e9 c7 03 1e 00 00 - 00 mov DWORD PTR [ebx], 30 ; 0000001eH -$LN497@inflate: - 005ef 5f pop edi - 005f0 5e pop esi - -; 1236 : return Z_MEM_ERROR; - - 005f1 b8 fc ff ff ff mov eax, -4 ; fffffffcH - 005f6 5b pop ebx - -; 1250 : ret = Z_BUF_ERROR; -; 1251 : return ret; -; 1252 : } - - 005f7 8b e5 mov esp, ebp - 005f9 5d pop ebp - 005fa c2 08 00 ret 8 -$LN375@inflate: - -; 771 : } -; 772 : else if (state->head != Z_NULL) - - 005fd 8b 41 20 mov eax, DWORD PTR [ecx+32] - 00600 85 c0 test eax, eax - 00602 74 07 je SHORT $LN382@inflate - -; 773 : state->head->name = Z_NULL; - - 00604 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 -$LN382@inflate: - -; 774 : state->length = 0; - - 0060b c7 41 40 00 00 - 00 00 mov DWORD PTR [ecx+64], 0 - -; 775 : state->mode = COMMENT; - - 00612 c7 01 07 00 00 - 00 mov DWORD PTR [ecx], 7 -$LN383@inflate: - -; 776 : case COMMENT: -; 777 : if (state->flags & 0x1000) { - - 00618 f7 41 10 00 10 - 00 00 test DWORD PTR [ecx+16], 4096 ; 00001000H - 0061f 0f 84 81 00 00 - 00 je $LN384@inflate - -; 778 : if (have == 0) goto inf_leave; - - 00625 85 db test ebx, ebx - 00627 0f 84 4d ff ff - ff je $LN886@inflate - -; 779 : copy = 0; - - 0062d 33 d2 xor edx, edx - 0062f 90 npad 1 -$LL91@inflate: - -; 780 : do { -; 781 : len = (unsigned)(next[copy++]); - - 00630 0f b6 04 3a movzx eax, BYTE PTR [edx+edi] - 00634 42 inc edx - 00635 89 45 d8 mov DWORD PTR _len$4$[ebp], eax - -; 782 : if (state->head != Z_NULL && -; 783 : state->head->comment != Z_NULL && - - 00638 8b 41 20 mov eax, DWORD PTR [ecx+32] - 0063b 85 c0 test eax, eax - 0063d 74 23 je SHORT $LN89@inflate - 0063f 8b 70 24 mov esi, DWORD PTR [eax+36] - 00642 89 75 cc mov DWORD PTR tv2710[ebp], esi - 00645 85 f6 test esi, esi - 00647 74 19 je SHORT $LN89@inflate - 00649 8b 71 40 mov esi, DWORD PTR [ecx+64] - 0064c 3b 70 28 cmp esi, DWORD PTR [eax+40] - 0064f 73 11 jae SHORT $LN89@inflate - -; 784 : state->length < state->head->comm_max) -; 785 : state->head->comment[state->length++] = len; - - 00651 8b 5d d8 mov ebx, DWORD PTR _len$4$[ebp] - 00654 8b c6 mov eax, esi - 00656 8b 75 cc mov esi, DWORD PTR tv2710[ebp] - 00659 88 1c 06 mov BYTE PTR [esi+eax], bl - 0065c ff 41 40 inc DWORD PTR [ecx+64] - 0065f 8b 5d f4 mov ebx, DWORD PTR _have$1$[ebp] -$LN89@inflate: - -; 786 : } while (len && copy < have); - - 00662 8b 45 d8 mov eax, DWORD PTR _len$4$[ebp] - 00665 85 c0 test eax, eax - 00667 74 04 je SHORT $LN388@inflate - 00669 3b d3 cmp edx, ebx - 0066b 72 c3 jb SHORT $LL91@inflate -$LN388@inflate: - -; 787 : if (state->flags & 0x0200) - - 0066d f7 41 10 00 02 - 00 00 test DWORD PTR [ecx+16], 512 ; 00000200H - 00674 8b 75 ec mov esi, DWORD PTR _bits$1$[ebp] - 00677 89 55 c8 mov DWORD PTR _copy$4$[ebp], edx - 0067a 74 16 je SHORT $LN389@inflate - -; 788 : state->check = crc32(state->check, next, copy); - - 0067c 52 push edx - 0067d 57 push edi - 0067e ff 71 18 push DWORD PTR [ecx+24] - 00681 e8 00 00 00 00 call _crc32@12 - 00686 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00689 8b 55 c8 mov edx, DWORD PTR _copy$4$[ebp] - 0068c 89 41 18 mov DWORD PTR [ecx+24], eax - 0068f 8b 45 d8 mov eax, DWORD PTR _len$4$[ebp] -$LN389@inflate: - -; 789 : have -= copy; - - 00692 2b da sub ebx, edx - -; 790 : next += copy; - - 00694 03 fa add edi, edx - 00696 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 00699 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - -; 791 : if (len) goto inf_leave; - - 0069c 85 c0 test eax, eax - 0069e 0f 85 d6 fe ff - ff jne $LN886@inflate - -; 792 : } - - 006a4 eb 0e jmp SHORT $LN391@inflate -$LN384@inflate: - -; 793 : else if (state->head != Z_NULL) - - 006a6 8b 41 20 mov eax, DWORD PTR [ecx+32] - 006a9 85 c0 test eax, eax - 006ab 74 07 je SHORT $LN391@inflate - -; 794 : state->head->comment = Z_NULL; - - 006ad c7 40 24 00 00 - 00 00 mov DWORD PTR [eax+36], 0 -$LN391@inflate: - 006b4 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - -; 795 : state->mode = HCRC; - - 006b7 c7 01 08 00 00 - 00 mov DWORD PTR [ecx], 8 -$LN392@inflate: - -; 796 : case HCRC: -; 797 : if (state->flags & 0x0200) { - - 006bd f7 41 10 00 02 - 00 00 test DWORD PTR [ecx+16], 512 ; 00000200H - 006c4 74 5d je SHORT $LN101@inflate - -; 798 : NEEDBITS(16); - - 006c6 83 fe 10 cmp esi, 16 ; 00000010H - 006c9 73 2f jae SHORT $LN92@inflate - 006cb 0f 1f 44 00 00 npad 5 -$LL95@inflate: - 006d0 85 db test ebx, ebx - 006d2 0f 84 a2 fe ff - ff je $LN886@inflate - 006d8 0f b6 07 movzx eax, BYTE PTR [edi] - 006db 8b ce mov ecx, esi - 006dd d3 e0 shl eax, cl - 006df 83 c6 08 add esi, 8 - 006e2 4b dec ebx - 006e3 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 006e6 03 d0 add edx, eax - 006e8 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 006eb 47 inc edi - 006ec 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 006ef 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 006f2 83 fe 10 cmp esi, 16 ; 00000010H - 006f5 72 d9 jb SHORT $LL95@inflate - 006f7 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] -$LN92@inflate: - -; 799 : if (hold != (state->check & 0xffff)) { - - 006fa 0f b7 41 18 movzx eax, WORD PTR [ecx+24] - 006fe 3b d0 cmp edx, eax - 00700 74 15 je SHORT $LN102@inflate - -; 800 : strm->msg = (char *)"header crc mismatch"; - - 00702 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00705 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ - 0070c c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - 00712 e9 05 04 00 00 jmp $LN8@inflate -$LN102@inflate: - -; 801 : state->mode = BAD; -; 802 : break; -; 803 : } -; 804 : INITBITS(); - - 00717 33 f6 xor esi, esi - 00719 c7 45 fc 00 00 - 00 00 mov DWORD PTR _hold$1$[ebp], 0 - 00720 89 75 ec mov DWORD PTR _bits$1$[ebp], esi -$LN101@inflate: - -; 805 : } -; 806 : if (state->head != Z_NULL) { - - 00723 8b 51 20 mov edx, DWORD PTR [ecx+32] - 00726 85 d2 test edx, edx - 00728 74 16 je SHORT $LN396@inflate - -; 807 : state->head->hcrc = (int)((state->flags >> 9) & 1); - - 0072a 8b 41 10 mov eax, DWORD PTR [ecx+16] - 0072d c1 f8 09 sar eax, 9 - 00730 83 e0 01 and eax, 1 - 00733 89 42 2c mov DWORD PTR [edx+44], eax - -; 808 : state->head->done = 1; - - 00736 8b 41 20 mov eax, DWORD PTR [ecx+32] - 00739 c7 40 30 01 00 - 00 00 mov DWORD PTR [eax+48], 1 -$LN396@inflate: - -; 809 : } -; 810 : strm->adler = state->check = crc32(0L, Z_NULL, 0); - - 00740 6a 00 push 0 - 00742 6a 00 push 0 - 00744 6a 00 push 0 - 00746 e8 00 00 00 00 call _crc32@12 - 0074b 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 0074e 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 00751 89 41 18 mov DWORD PTR [ecx+24], eax - 00754 89 42 30 mov DWORD PTR [edx+48], eax - -; 811 : state->mode = TYPE; - - 00757 c7 01 0b 00 00 - 00 mov DWORD PTR [ecx], 11 ; 0000000bH - -; 812 : break; - - 0075d e9 b7 03 00 00 jmp $LN887@inflate -$LN105@inflate: - -; 813 : #endif -; 814 : case DICTID: -; 815 : NEEDBITS(32); - - 00762 83 fe 20 cmp esi, 32 ; 00000020H - 00765 73 24 jae SHORT $LN103@inflate -$LL106@inflate: - 00767 85 db test ebx, ebx - 00769 0f 84 0b fe ff - ff je $LN886@inflate - 0076f 0f b6 07 movzx eax, BYTE PTR [edi] - 00772 8b ce mov ecx, esi - 00774 d3 e0 shl eax, cl - 00776 4b dec ebx - 00777 03 d0 add edx, eax - 00779 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 0077c 47 inc edi - 0077d 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00780 83 c6 08 add esi, 8 - 00783 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 00786 83 fe 20 cmp esi, 32 ; 00000020H - 00789 72 dc jb SHORT $LL106@inflate -$LN103@inflate: - -; 816 : strm->adler = state->check = ZSWAP32(hold); - - 0078b 8b ca mov ecx, edx - 0078d 8b c2 mov eax, edx - 0078f c1 e0 10 shl eax, 16 ; 00000010H - 00792 81 e1 00 ff 00 - 00 and ecx, 65280 ; 0000ff00H - 00798 03 c8 add ecx, eax - 0079a 8b c2 mov eax, edx - 0079c c1 e8 08 shr eax, 8 - 0079f c1 e1 08 shl ecx, 8 - 007a2 25 00 ff 00 00 and eax, 65280 ; 0000ff00H - 007a7 c1 ea 18 shr edx, 24 ; 00000018H - 007aa 03 c1 add eax, ecx - 007ac 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 007af 03 c2 add eax, edx - 007b1 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 007b4 89 41 18 mov DWORD PTR [ecx+24], eax - 007b7 89 42 30 mov DWORD PTR [edx+48], eax - -; 817 : INITBITS(); - - 007ba 33 d2 xor edx, edx - 007bc 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 007bf 33 f6 xor esi, esi - -; 818 : state->mode = DICT; - - 007c1 c7 01 0a 00 00 - 00 mov DWORD PTR [ecx], 10 ; 0000000aH -$LN399@inflate: - -; 819 : case DICT: -; 820 : if (state->havedict == 0) { - - 007c7 83 79 0c 00 cmp DWORD PTR [ecx+12], 0 - 007cb 0f 84 53 0d 00 - 00 je $LN585@inflate - -; 823 : } -; 824 : strm->adler = state->check = adler32(0L, Z_NULL, 0); - - 007d1 6a 00 push 0 - 007d3 6a 00 push 0 - 007d5 6a 00 push 0 - 007d7 e8 00 00 00 00 call _adler32@12 - 007dc 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 007df 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 007e2 89 41 18 mov DWORD PTR [ecx+24], eax - 007e5 89 42 30 mov DWORD PTR [edx+48], eax - 007e8 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - -; 825 : state->mode = TYPE; - - 007eb c7 01 0b 00 00 - 00 mov DWORD PTR [ecx], 11 ; 0000000bH -$LN401@inflate: - -; 826 : case TYPE: -; 827 : if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave; - - 007f1 8b 45 0c mov eax, DWORD PTR _flush$[ebp] - 007f4 83 f8 05 cmp eax, 5 - 007f7 0f 84 7d fd ff - ff je $LN886@inflate - 007fd 83 f8 06 cmp eax, 6 - 00800 0f 84 74 fd ff - ff je $LN886@inflate -$LN402@inflate: - -; 828 : case TYPEDO: -; 829 : if (state->last) { - - 00806 83 79 04 00 cmp DWORD PTR [ecx+4], 0 - 0080a 74 1d je SHORT $LN122@inflate - -; 830 : BYTEBITS(); - - 0080c 8b ce mov ecx, esi - 0080e 83 e1 07 and ecx, 7 - 00811 d3 ea shr edx, cl - 00813 2b f1 sub esi, ecx - -; 831 : state->mode = CHECK; - - 00815 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00818 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 0081b 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 0081e c7 01 1a 00 00 - 00 mov DWORD PTR [ecx], 26 ; 0000001aH - -; 832 : break; - - 00824 e9 f3 02 00 00 jmp $LN8@inflate -$LN122@inflate: - -; 833 : } -; 834 : NEEDBITS(3); - - 00829 83 fe 03 cmp esi, 3 - 0082c 73 29 jae SHORT $LN120@inflate - 0082e 66 90 npad 2 -$LL123@inflate: - 00830 85 db test ebx, ebx - 00832 0f 84 42 fd ff - ff je $LN886@inflate - 00838 0f b6 07 movzx eax, BYTE PTR [edi] - 0083b 8b ce mov ecx, esi - 0083d d3 e0 shl eax, cl - 0083f 4b dec ebx - 00840 03 d0 add edx, eax - 00842 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 00845 47 inc edi - 00846 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00849 83 c6 08 add esi, 8 - 0084c 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 0084f 83 fe 03 cmp esi, 3 - 00852 72 dc jb SHORT $LL123@inflate - 00854 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] -$LN120@inflate: - -; 835 : state->last = BITS(1); - - 00857 8b c2 mov eax, edx - -; 836 : DROPBITS(1); - - 00859 d1 ea shr edx, 1 - 0085b 83 e0 01 and eax, 1 - 0085e 89 41 04 mov DWORD PTR [ecx+4], eax - -; 837 : switch (BITS(2)) { - - 00861 8b c2 mov eax, edx - 00863 83 e0 03 and eax, 3 - 00866 83 f8 03 cmp eax, 3 - 00869 77 64 ja SHORT $LN138@inflate - 0086b ff 24 85 00 00 - 00 00 jmp DWORD PTR $LN936@inflate[eax*4] -$LN407@inflate: - -; 861 : } -; 862 : DROPBITS(2); - - 00872 c1 ea 02 shr edx, 2 - 00875 83 ee 03 sub esi, 3 - 00878 c7 01 0d 00 00 - 00 mov DWORD PTR [ecx], 13 ; 0000000dH - 0087e 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00881 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - -; 863 : break; - - 00884 e9 93 02 00 00 jmp $LN8@inflate -$LN408@inflate: - -; 838 : case 0: /* stored block */ -; 839 : Tracev((stderr, "inflate: stored block%s\n", -; 840 : state->last ? " (last)" : "")); -; 841 : state->mode = STORED; -; 842 : break; -; 843 : case 1: /* fixed block */ -; 844 : fixedtables(state); - - 00889 e8 00 00 00 00 call _fixedtables - -; 845 : Tracev((stderr, "inflate: fixed codes block%s\n", -; 846 : state->last ? " (last)" : "")); -; 847 : state->mode = LEN_; /* decode codes */ -; 848 : if (flush == Z_TREES) { - - 0088e 83 7d 0c 06 cmp DWORD PTR _flush$[ebp], 6 - 00892 c7 01 13 00 00 - 00 mov DWORD PTR [ecx], 19 ; 00000013H - 00898 75 35 jne SHORT $LN138@inflate - -; 849 : DROPBITS(2); - - 0089a c1 ea 02 shr edx, 2 - 0089d 83 ee 03 sub esi, 3 - 008a0 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - -; 850 : goto inf_leave; - - 008a3 e9 d2 fc ff ff jmp $LN886@inflate -$LN410@inflate: - -; 861 : } -; 862 : DROPBITS(2); - - 008a8 c1 ea 02 shr edx, 2 - 008ab 83 ee 03 sub esi, 3 - 008ae c7 01 10 00 00 - 00 mov DWORD PTR [ecx], 16 ; 00000010H - 008b4 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 008b7 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - -; 863 : break; - - 008ba e9 5d 02 00 00 jmp $LN8@inflate -$LN411@inflate: - -; 851 : } -; 852 : break; -; 853 : case 2: /* dynamic block */ -; 854 : Tracev((stderr, "inflate: dynamic codes block%s\n", -; 855 : state->last ? " (last)" : "")); -; 856 : state->mode = TABLE; -; 857 : break; -; 858 : case 3: -; 859 : strm->msg = (char *)"invalid block type"; - - 008bf 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 008c2 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ - -; 860 : state->mode = BAD; - - 008c9 c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH -$LN138@inflate: - -; 861 : } -; 862 : DROPBITS(2); - - 008cf c1 ea 02 shr edx, 2 - 008d2 83 ee 03 sub esi, 3 - 008d5 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 008d8 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - -; 863 : break; - - 008db e9 3c 02 00 00 jmp $LN8@inflate -$LN141@inflate: - -; 864 : case STORED: -; 865 : BYTEBITS(); /* go to byte boundary */ - - 008e0 8b ce mov ecx, esi - 008e2 83 e1 07 and ecx, 7 - 008e5 2b f1 sub esi, ecx - 008e7 d3 ea shr edx, cl - 008e9 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 008ec 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - -; 866 : NEEDBITS(32); - - 008ef 83 fe 20 cmp esi, 32 ; 00000020H - 008f2 73 27 jae SHORT $LN142@inflate -$LL145@inflate: - 008f4 85 db test ebx, ebx - 008f6 0f 84 7e fc ff - ff je $LN886@inflate - 008fc 0f b6 07 movzx eax, BYTE PTR [edi] - 008ff 8b ce mov ecx, esi - 00901 d3 e0 shl eax, cl - 00903 83 c6 08 add esi, 8 - 00906 4b dec ebx - 00907 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 0090a 03 d0 add edx, eax - 0090c 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 0090f 47 inc edi - 00910 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00913 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 00916 83 fe 20 cmp esi, 32 ; 00000020H - 00919 72 d9 jb SHORT $LL145@inflate -$LN142@inflate: - -; 867 : if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { - - 0091b 8b c2 mov eax, edx - 0091d 0f b7 ca movzx ecx, dx - 00920 f7 d0 not eax - 00922 89 4d c8 mov DWORD PTR tv2704[ebp], ecx - 00925 c1 e8 10 shr eax, 16 ; 00000010H - 00928 3b c8 cmp ecx, eax - -; 869 : state->mode = BAD; - - 0092a 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 0092d 74 15 je SHORT $LN414@inflate - -; 868 : strm->msg = (char *)"invalid stored block lengths"; - - 0092f 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00932 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ - 00939 c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - 0093f e9 d8 01 00 00 jmp $LN8@inflate -$LN414@inflate: - -; 870 : break; -; 871 : } -; 872 : state->length = (unsigned)hold & 0xffff; - - 00944 8b 45 c8 mov eax, DWORD PTR tv2704[ebp] - -; 873 : Tracev((stderr, "inflate: stored length %u\n", -; 874 : state->length)); -; 875 : INITBITS(); - - 00947 33 d2 xor edx, edx - 00949 33 f6 xor esi, esi - 0094b 89 41 40 mov DWORD PTR [ecx+64], eax - -; 876 : state->mode = COPY_; -; 877 : if (flush == Z_TREES) goto inf_leave; - - 0094e 83 7d 0c 06 cmp DWORD PTR _flush$[ebp], 6 - 00952 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00955 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 00958 c7 01 0e 00 00 - 00 mov DWORD PTR [ecx], 14 ; 0000000eH - 0095e 0f 84 16 fc ff - ff je $LN886@inflate -$LN415@inflate: - -; 878 : case COPY_: -; 879 : state->mode = COPY; - - 00964 c7 01 0f 00 00 - 00 mov DWORD PTR [ecx], 15 ; 0000000fH -$LN417@inflate: - -; 880 : case COPY: -; 881 : copy = state->length; - - 0096a 8b 41 40 mov eax, DWORD PTR [ecx+64] - -; 882 : if (copy) { - - 0096d 85 c0 test eax, eax - 0096f 0f 84 ee 06 00 - 00 je $LN418@inflate - -; 883 : if (copy > have) copy = have; - - 00975 3b c3 cmp eax, ebx - 00977 0f 47 c3 cmova eax, ebx - -; 884 : if (copy > left) copy = left; - - 0097a 3b 45 e8 cmp eax, DWORD PTR _left$1$[ebp] - 0097d 0f 47 45 e8 cmova eax, DWORD PTR _left$1$[ebp] - 00981 89 45 c8 mov DWORD PTR _copy$7$[ebp], eax - -; 885 : if (copy == 0) goto inf_leave; - - 00984 85 c0 test eax, eax - 00986 0f 84 ee fb ff - ff je $LN886@inflate - -; 886 : zmemcpy(put, next, copy); - - 0098c 50 push eax - 0098d 57 push edi - 0098e ff 75 e0 push DWORD PTR _put$1$[ebp] - 00991 e8 00 00 00 00 call _memcpy - -; 887 : have -= copy; - - 00996 8b 45 c8 mov eax, DWORD PTR _copy$7$[ebp] - 00999 83 c4 0c add esp, 12 ; 0000000cH - -; 888 : next += copy; -; 889 : left -= copy; -; 890 : put += copy; -; 891 : state->length -= copy; - - 0099c 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 0099f 2b d8 sub ebx, eax - 009a1 29 45 e8 sub DWORD PTR _left$1$[ebp], eax - 009a4 03 f8 add edi, eax - 009a6 01 45 e0 add DWORD PTR _put$1$[ebp], eax - 009a9 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 009ac 29 41 40 sub DWORD PTR [ecx+64], eax - 009af 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - -; 892 : break; - - 009b2 e9 62 01 00 00 jmp $LN887@inflate -$LN155@inflate: - -; 893 : } -; 894 : Tracev((stderr, "inflate: stored end\n")); -; 895 : state->mode = TYPE; -; 896 : break; -; 897 : case TABLE: -; 898 : NEEDBITS(14); - - 009b7 83 fe 0e cmp esi, 14 ; 0000000eH - 009ba 73 2b jae SHORT $LN153@inflate - 009bc 0f 1f 40 00 npad 4 -$LL156@inflate: - 009c0 85 db test ebx, ebx - 009c2 0f 84 b2 fb ff - ff je $LN886@inflate - 009c8 0f b6 07 movzx eax, BYTE PTR [edi] - 009cb 8b ce mov ecx, esi - 009cd d3 e0 shl eax, cl - 009cf 4b dec ebx - 009d0 03 d0 add edx, eax - 009d2 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 009d5 47 inc edi - 009d6 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 009d9 83 c6 08 add esi, 8 - 009dc 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 009df 83 fe 0e cmp esi, 14 ; 0000000eH - 009e2 72 dc jb SHORT $LL156@inflate - 009e4 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] -$LN153@inflate: - -; 899 : state->nlen = BITS(5) + 257; - - 009e7 8b c2 mov eax, edx - -; 900 : DROPBITS(5); -; 901 : state->ndist = BITS(5) + 1; -; 902 : DROPBITS(5); -; 903 : state->ncode = BITS(4) + 4; -; 904 : DROPBITS(4); - - 009e9 83 ee 0e sub esi, 14 ; 0000000eH - 009ec 83 e0 1f and eax, 31 ; 0000001fH - 009ef c1 ea 05 shr edx, 5 - 009f2 05 01 01 00 00 add eax, 257 ; 00000101H - 009f7 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 009fa 89 41 60 mov DWORD PTR [ecx+96], eax - 009fd 8b c2 mov eax, edx - 009ff 83 e0 1f and eax, 31 ; 0000001fH - 00a02 c1 ea 05 shr edx, 5 - 00a05 40 inc eax - 00a06 89 41 64 mov DWORD PTR [ecx+100], eax - 00a09 8b c2 mov eax, edx - 00a0b 83 e0 0f and eax, 15 ; 0000000fH - 00a0e c1 ea 04 shr edx, 4 - 00a11 83 c0 04 add eax, 4 - 00a14 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - -; 905 : #ifndef PKZIP_BUG_WORKAROUND -; 906 : if (state->nlen > 286 || state->ndist > 30) { - - 00a17 81 79 60 1e 01 - 00 00 cmp DWORD PTR [ecx+96], 286 ; 0000011eH - 00a1e 89 41 5c mov DWORD PTR [ecx+92], eax - 00a21 0f 87 0e 01 00 - 00 ja $LN425@inflate - 00a27 83 79 64 1e cmp DWORD PTR [ecx+100], 30 ; 0000001eH - 00a2b 0f 87 04 01 00 - 00 ja $LN425@inflate - -; 908 : state->mode = BAD; -; 909 : break; -; 910 : } -; 911 : #endif -; 912 : Tracev((stderr, "inflate: table sizes ok\n")); -; 913 : state->have = 0; - - 00a31 c7 41 68 00 00 - 00 00 mov DWORD PTR [ecx+104], 0 - -; 914 : state->mode = LENLENS; - - 00a38 c7 01 11 00 00 - 00 mov DWORD PTR [ecx], 17 ; 00000011H -$LN531@inflate: - -; 915 : case LENLENS: -; 916 : while (state->have < state->ncode) { - - 00a3e 8b 41 68 mov eax, DWORD PTR [ecx+104] - 00a41 3b 41 5c cmp eax, DWORD PTR [ecx+92] - 00a44 73 65 jae SHORT $LN533@inflate -$LL170@inflate: - -; 917 : NEEDBITS(3); - - 00a46 83 fe 03 cmp esi, 3 - 00a49 73 29 jae SHORT $LN172@inflate - 00a4b 0f 1f 44 00 00 npad 5 -$LL175@inflate: - 00a50 85 db test ebx, ebx - 00a52 0f 84 22 fb ff - ff je $LN886@inflate - 00a58 0f b6 07 movzx eax, BYTE PTR [edi] - 00a5b 8b ce mov ecx, esi - 00a5d d3 e0 shl eax, cl - 00a5f 4b dec ebx - 00a60 03 d0 add edx, eax - 00a62 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 00a65 47 inc edi - 00a66 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00a69 83 c6 08 add esi, 8 - 00a6c 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 00a6f 83 fe 03 cmp esi, 3 - 00a72 72 dc jb SHORT $LL175@inflate -$LN172@inflate: - -; 918 : state->lens[order[state->have++]] = (unsigned short)BITS(3); - - 00a74 8b 45 f8 mov eax, DWORD PTR _state$1$[ebp] - 00a77 8b ca mov ecx, edx - 00a79 8b 7d f8 mov edi, DWORD PTR _state$1$[ebp] - 00a7c 83 e1 07 and ecx, 7 - -; 919 : DROPBITS(3); - - 00a7f c1 ea 03 shr edx, 3 - 00a82 83 ee 03 sub esi, 3 - 00a85 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00a88 8b 40 68 mov eax, DWORD PTR [eax+104] - 00a8b 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 00a8e 0f b7 04 45 00 - 00 00 00 movzx eax, WORD PTR ?order@?1??inflate@@9@9[eax*2] - 00a96 66 89 4c 47 70 mov WORD PTR [edi+eax*2+112], cx - 00a9b 8b cf mov ecx, edi - 00a9d 8b 7d f0 mov edi, DWORD PTR _next$1$[ebp] - 00aa0 ff 41 68 inc DWORD PTR [ecx+104] - 00aa3 8b 41 68 mov eax, DWORD PTR [ecx+104] - 00aa6 3b 41 5c cmp eax, DWORD PTR [ecx+92] - 00aa9 72 9b jb SHORT $LL170@inflate -$LN533@inflate: - -; 920 : } -; 921 : while (state->have < 19) - - 00aab 83 79 68 13 cmp DWORD PTR [ecx+104], 19 ; 00000013H - 00aaf 73 1b jae SHORT $LN184@inflate -$LL183@inflate: - -; 922 : state->lens[order[state->have++]] = 0; - - 00ab1 8b 41 68 mov eax, DWORD PTR [ecx+104] - 00ab4 33 d2 xor edx, edx - 00ab6 0f b7 04 45 00 - 00 00 00 movzx eax, WORD PTR ?order@?1??inflate@@9@9[eax*2] - 00abe 66 89 54 41 70 mov WORD PTR [ecx+eax*2+112], dx - 00ac3 ff 41 68 inc DWORD PTR [ecx+104] - 00ac6 83 79 68 13 cmp DWORD PTR [ecx+104], 19 ; 00000013H - 00aca 72 e5 jb SHORT $LL183@inflate -$LN184@inflate: - -; 923 : state->next = state->codes; -; 924 : state->lencode = (const code FAR *)(state->next); - - 00acc 8b 55 f8 mov edx, DWORD PTR _state$1$[ebp] - 00acf 8d 81 30 05 00 - 00 lea eax, DWORD PTR [ecx+1328] - 00ad5 83 c1 6c add ecx, 108 ; 0000006cH - 00ad8 89 42 4c mov DWORD PTR [edx+76], eax - 00adb 89 01 mov DWORD PTR [ecx], eax - -; 925 : state->lenbits = 7; -; 926 : ret = inflate_table(CODES, state->lens, 19, &(state->next), - - 00add 8d 82 f0 02 00 - 00 lea eax, DWORD PTR [edx+752] - 00ae3 50 push eax - 00ae4 8d 42 54 lea eax, DWORD PTR [edx+84] - 00ae7 c7 42 54 07 00 - 00 00 mov DWORD PTR [edx+84], 7 - 00aee 50 push eax - 00aef 51 push ecx - 00af0 6a 13 push 19 ; 00000013H - 00af2 83 c2 70 add edx, 112 ; 00000070H - 00af5 33 c9 xor ecx, ecx - 00af7 e8 00 00 00 00 call _inflate_table - -; 930 : state->mode = BAD; - - 00afc 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00aff 83 c4 10 add esp, 16 ; 00000010H - 00b02 89 45 d4 mov DWORD PTR _ret$1$[ebp], eax - 00b05 85 c0 test eax, eax - 00b07 74 3e je SHORT $LN428@inflate - -; 927 : &(state->lenbits), state->work); -; 928 : if (ret) { -; 929 : strm->msg = (char *)"invalid code lengths set"; - - 00b09 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00b0c c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ -$LN931@inflate: - -; 990 : state->mode = BAD; - - 00b13 c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH -$LN887@inflate: - 00b19 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] -$LN8@inflate: - -; 638 : for (;;) -; 639 : switch (state->mode) { - - 00b1c 8b 01 mov eax, DWORD PTR [ecx] - 00b1e 83 f8 1e cmp eax, 30 ; 0000001eH - 00b21 0f 86 6a f5 ff - ff jbe $LL5@inflate -$LN498@inflate: - 00b27 5f pop edi - 00b28 5e pop esi - -; 1216 : goto inf_leave; -; 1217 : case MEM: -; 1218 : return Z_MEM_ERROR; -; 1219 : case SYNC: -; 1220 : default: -; 1221 : return Z_STREAM_ERROR; - - 00b29 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00b2e 5b pop ebx - -; 1250 : ret = Z_BUF_ERROR; -; 1251 : return ret; -; 1252 : } - - 00b2f 8b e5 mov esp, ebp - 00b31 5d pop ebp - 00b32 c2 08 00 ret 8 -$LN425@inflate: - -; 907 : strm->msg = (char *)"too many length or distance symbols"; - - 00b35 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00b38 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ - 00b3f c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - 00b45 eb d5 jmp SHORT $LN8@inflate -$LN428@inflate: - -; 931 : break; -; 932 : } -; 933 : Tracev((stderr, "inflate: code lengths ok\n")); -; 934 : state->have = 0; - - 00b47 c7 41 68 00 00 - 00 00 mov DWORD PTR [ecx+104], 0 - -; 935 : state->mode = CODELENS; - - 00b4e c7 01 12 00 00 - 00 mov DWORD PTR [ecx], 18 ; 00000012H -$LN534@inflate: - -; 936 : case CODELENS: -; 937 : while (state->have < state->nlen + state->ndist) { - - 00b54 8b 41 64 mov eax, DWORD PTR [ecx+100] - 00b57 8b 51 68 mov edx, DWORD PTR [ecx+104] - 00b5a 03 41 60 add eax, DWORD PTR [ecx+96] - 00b5d 89 55 d8 mov DWORD PTR tv2696[ebp], edx - 00b60 3b d0 cmp edx, eax - 00b62 0f 83 12 02 00 - 00 jae $LN186@inflate - 00b68 0f 1f 84 00 00 - 00 00 00 npad 8 -$LL185@inflate: - -; 938 : for (;;) { -; 939 : here = state->lencode[BITS(state->lenbits)]; - - 00b70 8b 45 d0 mov eax, DWORD PTR tv2779[ebp] - 00b73 ba 01 00 00 00 mov edx, 1 - 00b78 8b 08 mov ecx, DWORD PTR [eax] - 00b7a 8b 45 f8 mov eax, DWORD PTR _state$1$[ebp] - 00b7d d3 e2 shl edx, cl - 00b7f 4a dec edx - 00b80 23 55 fc and edx, DWORD PTR _hold$1$[ebp] - 00b83 8b 40 4c mov eax, DWORD PTR [eax+76] - 00b86 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - -; 940 : if ((unsigned)(here.bits) <= bits) break; - - 00b89 8b c8 mov ecx, eax - 00b8b c1 e9 08 shr ecx, 8 - 00b8e 0f b6 c9 movzx ecx, cl - 00b91 89 45 c8 mov DWORD PTR _here$[ebp], eax - 00b94 3b ce cmp ecx, esi - 00b96 76 45 jbe SHORT $LN561@inflate -$LL187@inflate: - -; 941 : PULLBYTE(); - - 00b98 85 db test ebx, ebx - 00b9a 0f 84 da f9 ff - ff je $LN886@inflate - 00ba0 0f b6 07 movzx eax, BYTE PTR [edi] - 00ba3 8b ce mov ecx, esi - 00ba5 d3 e0 shl eax, cl - 00ba7 ba 01 00 00 00 mov edx, 1 - 00bac 01 45 fc add DWORD PTR _hold$1$[ebp], eax - 00baf 4b dec ebx - 00bb0 8b 45 d0 mov eax, DWORD PTR tv2779[ebp] - 00bb3 47 inc edi - 00bb4 83 c6 08 add esi, 8 - 00bb7 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 00bba 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 00bbd 8b 08 mov ecx, DWORD PTR [eax] - 00bbf 8b 45 f8 mov eax, DWORD PTR _state$1$[ebp] - 00bc2 d3 e2 shl edx, cl - 00bc4 4a dec edx - 00bc5 23 55 fc and edx, DWORD PTR _hold$1$[ebp] - 00bc8 8b 40 4c mov eax, DWORD PTR [eax+76] - 00bcb 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - 00bce 8b c8 mov ecx, eax - 00bd0 c1 e9 08 shr ecx, 8 - 00bd3 0f b6 c9 movzx ecx, cl - 00bd6 89 45 c8 mov DWORD PTR _here$[ebp], eax - 00bd9 3b ce cmp ecx, esi - 00bdb 77 bb ja SHORT $LL187@inflate -$LN561@inflate: - -; 942 : } -; 943 : if (here.val < 16) { - - 00bdd 8b d0 mov edx, eax - 00bdf c1 ea 10 shr edx, 16 ; 00000010H - 00be2 66 83 fa 10 cmp dx, 16 ; 00000010H - 00be6 73 21 jae SHORT $LN928@inflate - -; 944 : DROPBITS(here.bits); - - 00be8 c1 e8 08 shr eax, 8 - 00beb 0f b6 c8 movzx ecx, al - 00bee d3 6d fc shr DWORD PTR _hold$1$[ebp], cl - 00bf1 2b f1 sub esi, ecx - -; 945 : state->lens[state->have++] = here.val; - - 00bf3 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00bf6 8b 45 d8 mov eax, DWORD PTR tv2696[ebp] - 00bf9 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 00bfc 66 89 54 41 70 mov WORD PTR [ecx+eax*2+112], dx - 00c01 ff 41 68 inc DWORD PTR [ecx+104] - -; 946 : } - - 00c04 e9 5d 01 00 00 jmp $LN609@inflate -$LN928@inflate: - -; 947 : else { -; 948 : if (here.val == 16) { - - 00c09 75 70 jne SHORT $LN434@inflate - -; 949 : NEEDBITS(here.bits + 2); - - 00c0b 8b c8 mov ecx, eax - 00c0d c1 e9 08 shr ecx, 8 - 00c10 0f b6 c9 movzx ecx, cl - 00c13 83 c1 02 add ecx, 2 - 00c16 89 4d c8 mov DWORD PTR $T1[ebp], ecx - 00c19 3b f1 cmp esi, ecx - 00c1b 73 25 jae SHORT $LN196@inflate - 00c1d 0f 1f 00 npad 3 -$LL199@inflate: - 00c20 85 db test ebx, ebx - 00c22 0f 84 52 f9 ff - ff je $LN886@inflate - 00c28 0f b6 17 movzx edx, BYTE PTR [edi] - 00c2b 8b ce mov ecx, esi - 00c2d d3 e2 shl edx, cl - 00c2f 4b dec ebx - 00c30 01 55 fc add DWORD PTR _hold$1$[ebp], edx - 00c33 47 inc edi - 00c34 83 c6 08 add esi, 8 - 00c37 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 00c3a 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 00c3d 3b 75 c8 cmp esi, DWORD PTR $T1[ebp] - 00c40 72 de jb SHORT $LL199@inflate -$LN196@inflate: - -; 950 : DROPBITS(here.bits); - - 00c42 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 00c45 0f b6 cc movzx ecx, ah - -; 951 : if (state->have == 0) { - - 00c48 8b 45 d8 mov eax, DWORD PTR tv2696[ebp] - 00c4b 2b f1 sub esi, ecx - 00c4d d3 ea shr edx, cl - -; 953 : state->mode = BAD; -; 954 : break; -; 955 : } -; 956 : len = state->lens[state->have - 1]; - - 00c4f 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00c52 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00c55 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 00c58 85 c0 test eax, eax - 00c5a 0f 84 3c 01 00 - 00 je $LN566@inflate - 00c60 0f b7 44 41 6e movzx eax, WORD PTR [ecx+eax*2+110] - -; 957 : copy = 3 + BITS(2); - - 00c65 8b ca mov ecx, edx - 00c67 83 e1 03 and ecx, 3 - -; 958 : DROPBITS(2); - - 00c6a c1 ea 02 shr edx, 2 - 00c6d 83 c1 03 add ecx, 3 - 00c70 89 45 c8 mov DWORD PTR _len$5$[ebp], eax - 00c73 83 ee 02 sub esi, 2 - -; 959 : } - - 00c76 e9 ac 00 00 00 jmp $LN929@inflate -$LN434@inflate: - -; 960 : else if (here.val == 17) { - - 00c7b 66 83 7d ca 11 cmp WORD PTR _here$[ebp+2], 17 ; 00000011H - 00c80 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - -; 961 : NEEDBITS(here.bits + 3); - - 00c83 0f b6 cc movzx ecx, ah - 00c86 75 4a jne SHORT $LN226@inflate - 00c88 8d 41 03 lea eax, DWORD PTR [ecx+3] - 00c8b 89 4d ec mov DWORD PTR tv2678[ebp], ecx - 00c8e 3b f0 cmp esi, eax - 00c90 73 29 jae SHORT $LN210@inflate -$LL213@inflate: - 00c92 85 db test ebx, ebx - 00c94 0f 84 e0 f8 ff - ff je $LN886@inflate - 00c9a 0f b6 07 movzx eax, BYTE PTR [edi] - 00c9d 8b ce mov ecx, esi - 00c9f d3 e0 shl eax, cl - 00ca1 4b dec ebx - 00ca2 8b 4d ec mov ecx, DWORD PTR tv2678[ebp] - 00ca5 03 d0 add edx, eax - 00ca7 47 inc edi - 00ca8 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 00cab 83 c6 08 add esi, 8 - 00cae 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00cb1 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 00cb4 8d 41 03 lea eax, DWORD PTR [ecx+3] - 00cb7 3b f0 cmp esi, eax - 00cb9 72 d7 jb SHORT $LL213@inflate -$LN210@inflate: - -; 962 : DROPBITS(here.bits); - - 00cbb d3 ea shr edx, cl - -; 963 : len = 0; -; 964 : copy = 3 + BITS(3); -; 965 : DROPBITS(3); - - 00cbd b8 fd ff ff ff mov eax, -3 ; fffffffdH - 00cc2 8b ca mov ecx, edx - 00cc4 c1 ea 03 shr edx, 3 - 00cc7 83 e1 07 and ecx, 7 - 00cca 83 c1 03 add ecx, 3 - 00ccd 2b 45 ec sub eax, DWORD PTR tv2678[ebp] - -; 966 : } - - 00cd0 eb 4c jmp SHORT $LN930@inflate -$LN226@inflate: - -; 967 : else { -; 968 : NEEDBITS(here.bits + 7); - - 00cd2 8d 41 07 lea eax, DWORD PTR [ecx+7] - 00cd5 89 4d ec mov DWORD PTR tv2677[ebp], ecx - 00cd8 3b f0 cmp esi, eax - 00cda 73 2d jae SHORT $LN224@inflate - 00cdc 0f 1f 40 00 npad 4 -$LL227@inflate: - 00ce0 85 db test ebx, ebx - 00ce2 0f 84 92 f8 ff - ff je $LN886@inflate - 00ce8 0f b6 07 movzx eax, BYTE PTR [edi] - 00ceb 8b ce mov ecx, esi - 00ced d3 e0 shl eax, cl - 00cef 4b dec ebx - 00cf0 8b 4d ec mov ecx, DWORD PTR tv2677[ebp] - 00cf3 03 d0 add edx, eax - 00cf5 47 inc edi - 00cf6 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 00cf9 83 c6 08 add esi, 8 - 00cfc 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00cff 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 00d02 8d 41 07 lea eax, DWORD PTR [ecx+7] - 00d05 3b f0 cmp esi, eax - 00d07 72 d7 jb SHORT $LL227@inflate -$LN224@inflate: - -; 969 : DROPBITS(here.bits); - - 00d09 d3 ea shr edx, cl - -; 970 : len = 0; -; 971 : copy = 11 + BITS(7); -; 972 : DROPBITS(7); - - 00d0b b8 f9 ff ff ff mov eax, -7 ; fffffff9H - 00d10 8b ca mov ecx, edx - 00d12 c1 ea 07 shr edx, 7 - 00d15 83 e1 7f and ecx, 127 ; 0000007fH - 00d18 83 c1 0b add ecx, 11 ; 0000000bH - 00d1b 2b 45 ec sub eax, DWORD PTR tv2677[ebp] -$LN930@inflate: - 00d1e 03 f0 add esi, eax - 00d20 c7 45 c8 00 00 - 00 00 mov DWORD PTR _len$5$[ebp], 0 -$LN929@inflate: - -; 973 : } -; 974 : if (state->have + copy > state->nlen + state->ndist) { - - 00d27 8b 45 f8 mov eax, DWORD PTR _state$1$[ebp] - 00d2a 8b 7d f8 mov edi, DWORD PTR _state$1$[ebp] - 00d2d 89 4d cc mov DWORD PTR _copy$8$[ebp], ecx - 00d30 03 4d d8 add ecx, DWORD PTR tv2696[ebp] - 00d33 8b 40 64 mov eax, DWORD PTR [eax+100] - 00d36 03 47 60 add eax, DWORD PTR [edi+96] - 00d39 8b 7d f0 mov edi, DWORD PTR _next$1$[ebp] - 00d3c 3b c8 cmp ecx, eax - 00d3e 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00d41 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00d44 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 00d47 77 53 ja SHORT $LN566@inflate - -; 975 : strm->msg = (char *)"invalid bit length repeat"; -; 976 : state->mode = BAD; -; 977 : break; -; 978 : } -; 979 : while (copy--) - - 00d49 8b 55 cc mov edx, DWORD PTR _copy$8$[ebp] - 00d4c 85 d2 test edx, edx - 00d4e 74 16 je SHORT $LN609@inflate - 00d50 8b 5d c8 mov ebx, DWORD PTR _len$5$[ebp] -$LL238@inflate: - -; 980 : state->lens[state->have++] = (unsigned short)len; - - 00d53 8b 41 68 mov eax, DWORD PTR [ecx+104] - 00d56 66 89 5c 41 70 mov WORD PTR [ecx+eax*2+112], bx - 00d5b ff 41 68 inc DWORD PTR [ecx+104] - 00d5e 83 ea 01 sub edx, 1 - 00d61 75 f0 jne SHORT $LL238@inflate - 00d63 8b 5d f4 mov ebx, DWORD PTR _have$1$[ebp] -$LN609@inflate: - -; 936 : case CODELENS: -; 937 : while (state->have < state->nlen + state->ndist) { - - 00d66 8b 41 64 mov eax, DWORD PTR [ecx+100] - 00d69 8b 51 68 mov edx, DWORD PTR [ecx+104] - 00d6c 03 41 60 add eax, DWORD PTR [ecx+96] - 00d6f 89 55 d8 mov DWORD PTR tv2696[ebp], edx - 00d72 3b d0 cmp edx, eax - 00d74 0f 82 f6 fd ff - ff jb $LL185@inflate -$LN186@inflate: - -; 981 : } -; 982 : } -; 983 : -; 984 : /* handle error breaks in while */ -; 985 : if (state->mode == BAD) break; - - 00d7a 83 39 1d cmp DWORD PTR [ecx], 29 ; 0000001dH - 00d7d 0f 84 96 fd ff - ff je $LN887@inflate - -; 986 : -; 987 : /* check for end-of-block code (better have one) */ -; 988 : if (state->lens[256] == 0) { - - 00d83 66 83 b9 70 02 - 00 00 00 cmp WORD PTR [ecx+624], 0 - 00d8b 75 24 jne SHORT $LN444@inflate - -; 989 : strm->msg = (char *)"invalid code -- missing end-of-block"; - - 00d8d 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00d90 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ - -; 991 : break; - - 00d97 e9 77 fd ff ff jmp $LN931@inflate -$LN566@inflate: - -; 952 : strm->msg = (char *)"invalid bit length repeat"; - - 00d9c 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00d9f c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ - 00da6 c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - 00dac e9 6b fd ff ff jmp $LN8@inflate -$LN444@inflate: - -; 992 : } -; 993 : -; 994 : /* build code tables -- note: do not change the lenbits or distbits -; 995 : values here (9 and 6) without reading the comments in inftrees.h -; 996 : concerning the ENOUGH constants, which depend on those values */ -; 997 : state->next = state->codes; - - 00db1 8d 51 6c lea edx, DWORD PTR [ecx+108] - -; 998 : state->lencode = (const code FAR *)(state->next); -; 999 : state->lenbits = 9; - - 00db4 c7 41 54 09 00 - 00 00 mov DWORD PTR [ecx+84], 9 - 00dbb 8d 81 30 05 00 - 00 lea eax, DWORD PTR [ecx+1328] - 00dc1 89 55 c8 mov DWORD PTR tv2690[ebp], edx - 00dc4 89 02 mov DWORD PTR [edx], eax - 00dc6 89 41 4c mov DWORD PTR [ecx+76], eax - -; 1000 : ret = inflate_table(LENS, state->lens, state->nlen, &(state->next), - - 00dc9 8d 81 f0 02 00 - 00 lea eax, DWORD PTR [ecx+752] - 00dcf 50 push eax - 00dd0 8d 41 54 lea eax, DWORD PTR [ecx+84] - 00dd3 50 push eax - 00dd4 52 push edx - 00dd5 ff 71 60 push DWORD PTR [ecx+96] - 00dd8 8d 51 70 lea edx, DWORD PTR [ecx+112] - 00ddb b9 01 00 00 00 mov ecx, 1 - 00de0 e8 00 00 00 00 call _inflate_table - -; 1004 : state->mode = BAD; - - 00de5 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00de8 83 c4 10 add esp, 16 ; 00000010H - 00deb 89 45 d4 mov DWORD PTR _ret$1$[ebp], eax - 00dee 85 c0 test eax, eax - 00df0 74 0f je SHORT $LN445@inflate - -; 1001 : &(state->lenbits), state->work); -; 1002 : if (ret) { -; 1003 : strm->msg = (char *)"invalid literal/lengths set"; - - 00df2 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00df5 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ - -; 1005 : break; - - 00dfc e9 12 fd ff ff jmp $LN931@inflate -$LN445@inflate: - -; 1006 : } -; 1007 : state->distcode = (const code FAR *)(state->next); - - 00e01 8b 55 c8 mov edx, DWORD PTR tv2690[ebp] - -; 1008 : state->distbits = 6; - - 00e04 c7 41 58 06 00 - 00 00 mov DWORD PTR [ecx+88], 6 - 00e0b 8b 02 mov eax, DWORD PTR [edx] - 00e0d 89 41 50 mov DWORD PTR [ecx+80], eax - -; 1009 : ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist, - - 00e10 8d 81 f0 02 00 - 00 lea eax, DWORD PTR [ecx+752] - 00e16 50 push eax - 00e17 8d 41 58 lea eax, DWORD PTR [ecx+88] - 00e1a 50 push eax - 00e1b 8b 41 60 mov eax, DWORD PTR [ecx+96] - 00e1e 52 push edx - 00e1f ff 71 64 push DWORD PTR [ecx+100] - 00e22 83 c1 70 add ecx, 112 ; 00000070H - 00e25 8d 14 41 lea edx, DWORD PTR [ecx+eax*2] - 00e28 b9 02 00 00 00 mov ecx, 2 - 00e2d e8 00 00 00 00 call _inflate_table - -; 1013 : state->mode = BAD; - - 00e32 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00e35 83 c4 10 add esp, 16 ; 00000010H - 00e38 89 45 d4 mov DWORD PTR _ret$1$[ebp], eax - 00e3b 85 c0 test eax, eax - 00e3d 74 0f je SHORT $LN446@inflate - -; 1010 : &(state->next), &(state->distbits), state->work); -; 1011 : if (ret) { -; 1012 : strm->msg = (char *)"invalid distances set"; - - 00e3f 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00e42 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ - -; 1014 : break; - - 00e49 e9 c5 fc ff ff jmp $LN931@inflate -$LN446@inflate: - -; 1015 : } -; 1016 : Tracev((stderr, "inflate: codes ok\n")); -; 1017 : state->mode = LEN_; -; 1018 : if (flush == Z_TREES) goto inf_leave; - - 00e4e 8b 55 0c mov edx, DWORD PTR _flush$[ebp] - 00e51 c7 01 13 00 00 - 00 mov DWORD PTR [ecx], 19 ; 00000013H - 00e57 83 fa 06 cmp edx, 6 - 00e5a 0f 84 16 07 00 - 00 je $LN862@inflate - 00e60 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] -$LN447@inflate: - -; 1019 : case LEN_: -; 1020 : state->mode = LEN; - - 00e63 c7 01 14 00 00 - 00 mov DWORD PTR [ecx], 20 ; 00000014H -$LN449@inflate: - -; 1021 : case LEN: -; 1022 : if (have >= 6 && left >= 258) { - - 00e69 83 fb 06 cmp ebx, 6 - 00e6c 72 71 jb SHORT $LN450@inflate - 00e6e 81 7d e8 02 01 - 00 00 cmp DWORD PTR _left$1$[ebp], 258 ; 00000102H - 00e75 72 68 jb SHORT $LN450@inflate - -; 1023 : RESTORE(); - - 00e77 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00e7a 8b 7d e0 mov edi, DWORD PTR _put$1$[ebp] - 00e7d 89 78 0c mov DWORD PTR [eax+12], edi - 00e80 8b 7d e8 mov edi, DWORD PTR _left$1$[ebp] - 00e83 89 78 10 mov DWORD PTR [eax+16], edi - 00e86 8b 7d f0 mov edi, DWORD PTR _next$1$[ebp] - 00e89 89 38 mov DWORD PTR [eax], edi - 00e8b 89 58 04 mov DWORD PTR [eax+4], ebx - 00e8e 89 51 38 mov DWORD PTR [ecx+56], edx - -; 1024 : inflate_fast(strm, out); - - 00e91 8b 55 dc mov edx, DWORD PTR _out$1$[ebp] - 00e94 89 71 3c mov DWORD PTR [ecx+60], esi - 00e97 8b c8 mov ecx, eax - 00e99 e8 00 00 00 00 call _inflate_fast - -; 1025 : LOAD(); - - 00e9e 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00ea1 8b 48 0c mov ecx, DWORD PTR [eax+12] - 00ea4 8b 38 mov edi, DWORD PTR [eax] - 00ea6 8b 58 04 mov ebx, DWORD PTR [eax+4] - 00ea9 89 4d e0 mov DWORD PTR _put$1$[ebp], ecx - 00eac 8b 48 10 mov ecx, DWORD PTR [eax+16] - 00eaf 89 4d e8 mov DWORD PTR _left$1$[ebp], ecx - 00eb2 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 00eb5 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 00eb8 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - -; 1026 : if (state->mode == TYPE) - - 00ebb 83 39 0b cmp DWORD PTR [ecx], 11 ; 0000000bH - 00ebe 8b 51 38 mov edx, DWORD PTR [ecx+56] - 00ec1 8b 71 3c mov esi, DWORD PTR [ecx+60] - 00ec4 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00ec7 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 00eca 0f 85 4c fc ff - ff jne $LN8@inflate - -; 1027 : state->back = -1; - - 00ed0 c7 81 c4 1b 00 - 00 ff ff ff ff mov DWORD PTR [ecx+7108], -1 - -; 1028 : break; - - 00eda e9 3d fc ff ff jmp $LN8@inflate -$LN450@inflate: - -; 1029 : } -; 1030 : state->back = 0; -; 1031 : for (;;) { -; 1032 : here = state->lencode[BITS(state->lenbits)]; - - 00edf 8b 41 4c mov eax, DWORD PTR [ecx+76] - 00ee2 c7 81 c4 1b 00 - 00 00 00 00 00 mov DWORD PTR [ecx+7108], 0 - 00eec 8b 4d d0 mov ecx, DWORD PTR tv2779[ebp] - 00eef 89 45 cc mov DWORD PTR tv2688[ebp], eax - 00ef2 b8 01 00 00 00 mov eax, 1 - 00ef7 8b 09 mov ecx, DWORD PTR [ecx] - 00ef9 d3 e0 shl eax, cl - 00efb 8b 4d cc mov ecx, DWORD PTR tv2688[ebp] - 00efe 48 dec eax - 00eff 23 c2 and eax, edx - 00f01 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - -; 1033 : if ((unsigned)(here.bits) <= bits) break; - - 00f04 8b c8 mov ecx, eax - 00f06 c1 e9 08 shr ecx, 8 - 00f09 0f b6 c9 movzx ecx, cl - 00f0c 3b ce cmp ecx, esi - 00f0e 76 47 jbe SHORT $LN568@inflate -$LL246@inflate: - -; 1034 : PULLBYTE(); - - 00f10 85 db test ebx, ebx - 00f12 0f 84 62 f6 ff - ff je $LN886@inflate - 00f18 0f b6 07 movzx eax, BYTE PTR [edi] - 00f1b 8b ce mov ecx, esi - 00f1d d3 e0 shl eax, cl - 00f1f 4b dec ebx - 00f20 03 d0 add edx, eax - 00f22 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 00f25 8b 45 d0 mov eax, DWORD PTR tv2779[ebp] - 00f28 47 inc edi - 00f29 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 00f2c 83 c6 08 add esi, 8 - 00f2f ba 01 00 00 00 mov edx, 1 - 00f34 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 00f37 8b 08 mov ecx, DWORD PTR [eax] - 00f39 8b 45 f8 mov eax, DWORD PTR _state$1$[ebp] - 00f3c d3 e2 shl edx, cl - 00f3e 4a dec edx - 00f3f 23 55 fc and edx, DWORD PTR _hold$1$[ebp] - 00f42 8b 40 4c mov eax, DWORD PTR [eax+76] - 00f45 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - 00f48 8b c8 mov ecx, eax - 00f4a 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 00f4d c1 e9 08 shr ecx, 8 - 00f50 0f b6 c9 movzx ecx, cl - 00f53 3b ce cmp ecx, esi - 00f55 77 b9 ja SHORT $LL246@inflate -$LN568@inflate: - -; 1035 : } -; 1036 : if (here.op && (here.op & 0xf0) == 0) { - - 00f57 84 c0 test al, al - 00f59 0f 84 be 00 00 - 00 je $LN263@inflate - 00f5f a8 f0 test al, 240 ; 000000f0H - 00f61 0f 85 b6 00 00 - 00 jne $LN263@inflate - -; 1037 : last = here; -; 1038 : for (;;) { -; 1039 : here = state->lencode[last.val + - - 00f67 8b c8 mov ecx, eax - 00f69 bb 01 00 00 00 mov ebx, 1 - 00f6e c1 e9 08 shr ecx, 8 - 00f71 8b d0 mov edx, eax - 00f73 0f b6 f9 movzx edi, cl - 00f76 89 4d d8 mov DWORD PTR tv2687[ebp], ecx - 00f79 0f b6 c8 movzx ecx, al - 00f7c 03 cf add ecx, edi - 00f7e c1 e8 10 shr eax, 16 ; 00000010H - 00f81 d3 e3 shl ebx, cl - 00f83 8b cf mov ecx, edi - 00f85 4b dec ebx - 00f86 89 55 c8 mov DWORD PTR _last$[ebp], edx - 00f89 23 5d fc and ebx, DWORD PTR _hold$1$[ebp] - 00f8c d3 eb shr ebx, cl - 00f8e 8b 4d cc mov ecx, DWORD PTR tv2688[ebp] - 00f91 03 d8 add ebx, eax - 00f93 8b 04 99 mov eax, DWORD PTR [ecx+ebx*4] - -; 1040 : (BITS(last.bits + last.op) >> last.bits)]; -; 1041 : if ((unsigned)(last.bits + here.bits) <= bits) break; - - 00f96 8b c8 mov ecx, eax - 00f98 c1 e9 08 shr ecx, 8 - 00f9b 0f b6 f9 movzx edi, cl - 00f9e 8b 4d d8 mov ecx, DWORD PTR tv2687[ebp] - 00fa1 0f b6 c9 movzx ecx, cl - 00fa4 03 f9 add edi, ecx - 00fa6 3b fe cmp edi, esi - 00fa8 76 5d jbe SHORT $LN260@inflate - 00faa 66 0f 1f 44 00 - 00 npad 6 -$LL252@inflate: - -; 1042 : PULLBYTE(); - - 00fb0 8b 45 f4 mov eax, DWORD PTR _have$1$[ebp] - 00fb3 85 c0 test eax, eax - 00fb5 0f 84 c2 f5 ff - ff je $LN896@inflate - 00fbb 8b 5d f0 mov ebx, DWORD PTR _next$1$[ebp] - 00fbe 48 dec eax - 00fbf 89 45 f4 mov DWORD PTR _have$1$[ebp], eax - 00fc2 8b ce mov ecx, esi - 00fc4 bf 01 00 00 00 mov edi, 1 - 00fc9 83 c6 08 add esi, 8 - 00fcc 0f b6 03 movzx eax, BYTE PTR [ebx] - 00fcf 43 inc ebx - 00fd0 d3 e0 shl eax, cl - 00fd2 01 45 fc add DWORD PTR _hold$1$[ebp], eax - 00fd5 0f b7 45 ca movzx eax, WORD PTR _last$[ebp+2] - 00fd9 89 5d f0 mov DWORD PTR _next$1$[ebp], ebx - 00fdc 0f b6 de movzx ebx, dh - 00fdf 0f b6 ca movzx ecx, dl - 00fe2 03 cb add ecx, ebx - 00fe4 d3 e7 shl edi, cl - 00fe6 8b cb mov ecx, ebx - 00fe8 4f dec edi - 00fe9 23 7d fc and edi, DWORD PTR _hold$1$[ebp] - 00fec d3 ef shr edi, cl - 00fee 03 f8 add edi, eax - 00ff0 8b 45 f8 mov eax, DWORD PTR _state$1$[ebp] - 00ff3 8b 40 4c mov eax, DWORD PTR [eax+76] - 00ff6 8b 04 b8 mov eax, DWORD PTR [eax+edi*4] - 00ff9 8b c8 mov ecx, eax - 00ffb c1 e9 08 shr ecx, 8 - 00ffe 0f b6 c9 movzx ecx, cl - 01001 03 cb add ecx, ebx - 01003 3b ce cmp ecx, esi - 01005 77 a9 ja SHORT $LL252@inflate -$LN260@inflate: - -; 1043 : } -; 1044 : DROPBITS(last.bits); -; 1045 : state->back += last.bits; - - 01007 8b 5d f8 mov ebx, DWORD PTR _state$1$[ebp] - 0100a 0f b6 ce movzx ecx, dh - 0100d 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 01010 d3 ea shr edx, cl - 01012 2b f1 sub esi, ecx - 01014 89 8b c4 1b 00 - 00 mov DWORD PTR [ebx+7108], ecx - 0101a 8b 5d f4 mov ebx, DWORD PTR _have$1$[ebp] -$LN263@inflate: - -; 1046 : } -; 1047 : DROPBITS(here.bits); -; 1048 : state->back += here.bits; - - 0101d 8b 7d f8 mov edi, DWORD PTR _state$1$[ebp] - 01020 8b c8 mov ecx, eax - 01022 c1 e9 08 shr ecx, 8 - 01025 0f b6 c9 movzx ecx, cl - 01028 d3 ea shr edx, cl - 0102a 2b f1 sub esi, ecx - 0102c 01 8f c4 1b 00 - 00 add DWORD PTR [edi+7108], ecx - -; 1049 : state->length = (unsigned)here.val; - - 01032 8b c8 mov ecx, eax - 01034 c1 e9 10 shr ecx, 16 ; 00000010H - 01037 89 4f 40 mov DWORD PTR [edi+64], ecx - -; 1050 : if ((int)(here.op) == 0) { - - 0103a 8b 7d f0 mov edi, DWORD PTR _next$1$[ebp] - -; 1051 : Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? -; 1052 : "inflate: literal '%c'\n" : -; 1053 : "inflate: literal 0x%02x\n", here.val)); -; 1054 : state->mode = LIT; - - 0103d 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 01040 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 01043 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 01046 84 c0 test al, al - 01048 75 0b jne SHORT $LN457@inflate - 0104a c7 01 19 00 00 - 00 mov DWORD PTR [ecx], 25 ; 00000019H - -; 1055 : break; - - 01050 e9 c7 fa ff ff jmp $LN8@inflate -$LN457@inflate: - -; 1056 : } -; 1057 : if (here.op & 32) { - - 01055 a8 20 test al, 32 ; 00000020H - 01057 74 15 je SHORT $LN458@inflate - -; 1058 : Tracevv((stderr, "inflate: end of block\n")); -; 1059 : state->back = -1; - - 01059 c7 81 c4 1b 00 - 00 ff ff ff ff mov DWORD PTR [ecx+7108], -1 -$LN418@inflate: - -; 1060 : state->mode = TYPE; - - 01063 c7 01 0b 00 00 - 00 mov DWORD PTR [ecx], 11 ; 0000000bH - -; 1061 : break; - - 01069 e9 ae fa ff ff jmp $LN8@inflate -$LN458@inflate: - -; 1062 : } -; 1063 : if (here.op & 64) { - - 0106e a8 40 test al, 64 ; 00000040H - 01070 74 15 je SHORT $LN459@inflate - -; 1064 : strm->msg = (char *)"invalid literal/length code"; - - 01072 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 01075 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ - 0107c c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - 01082 e9 95 fa ff ff jmp $LN8@inflate -$LN459@inflate: - -; 1065 : state->mode = BAD; -; 1066 : break; -; 1067 : } -; 1068 : state->extra = (unsigned)(here.op) & 15; - - 01087 0f b6 c0 movzx eax, al - 0108a 83 e0 0f and eax, 15 ; 0000000fH - -; 1069 : state->mode = LENEXT; - - 0108d c7 01 15 00 00 - 00 mov DWORD PTR [ecx], 21 ; 00000015H - 01093 89 41 48 mov DWORD PTR [ecx+72], eax -$LN460@inflate: - -; 1070 : case LENEXT: -; 1071 : if (state->extra) { - - 01096 8b 41 48 mov eax, DWORD PTR [ecx+72] - 01099 89 45 c8 mov DWORD PTR tv2666[ebp], eax - 0109c 85 c0 test eax, eax - 0109e 74 50 je SHORT $LN461@inflate - -; 1072 : NEEDBITS(state->extra); - - 010a0 3b f0 cmp esi, eax - 010a2 73 24 jae SHORT $LN264@inflate -$LL267@inflate: - 010a4 85 db test ebx, ebx - 010a6 0f 84 ce f4 ff - ff je $LN886@inflate - 010ac 0f b6 07 movzx eax, BYTE PTR [edi] - 010af 8b ce mov ecx, esi - 010b1 d3 e0 shl eax, cl - 010b3 4b dec ebx - 010b4 03 d0 add edx, eax - 010b6 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 010b9 47 inc edi - 010ba 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 010bd 83 c6 08 add esi, 8 - 010c0 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 010c3 3b 75 c8 cmp esi, DWORD PTR tv2666[ebp] - 010c6 72 dc jb SHORT $LL267@inflate -$LN264@inflate: - -; 1073 : state->length += BITS(state->extra); - - 010c8 8b 4d c8 mov ecx, DWORD PTR tv2666[ebp] - 010cb b8 01 00 00 00 mov eax, 1 - 010d0 d3 e0 shl eax, cl - 010d2 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 010d5 48 dec eax - 010d6 23 c2 and eax, edx - 010d8 01 41 40 add DWORD PTR [ecx+64], eax - -; 1074 : DROPBITS(state->extra); - - 010db 8b 45 c8 mov eax, DWORD PTR tv2666[ebp] - 010de 8b c8 mov ecx, eax - 010e0 d3 ea shr edx, cl - 010e2 2b f0 sub esi, eax - -; 1075 : state->back += state->extra; - - 010e4 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 010e7 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 010ea 01 81 c4 1b 00 - 00 add DWORD PTR [ecx+7108], eax -$LN461@inflate: - -; 1076 : } -; 1077 : Tracevv((stderr, "inflate: length %u\n", state->length)); -; 1078 : state->was = state->length; - - 010f0 8b 41 40 mov eax, DWORD PTR [ecx+64] - 010f3 89 81 c8 1b 00 - 00 mov DWORD PTR [ecx+7112], eax - -; 1079 : state->mode = DIST; - - 010f9 c7 01 16 00 00 - 00 mov DWORD PTR [ecx], 22 ; 00000016H -$LN463@inflate: - -; 1080 : case DIST: -; 1081 : for (;;) { -; 1082 : here = state->distcode[BITS(state->distbits)]; - - 010ff 8b 41 50 mov eax, DWORD PTR [ecx+80] - 01102 8b 4d c0 mov ecx, DWORD PTR tv2776[ebp] - 01105 89 45 cc mov DWORD PTR tv2664[ebp], eax - 01108 b8 01 00 00 00 mov eax, 1 - 0110d 8b 09 mov ecx, DWORD PTR [ecx] - 0110f d3 e0 shl eax, cl - 01111 8b 4d cc mov ecx, DWORD PTR tv2664[ebp] - 01114 48 dec eax - 01115 23 c2 and eax, edx - 01117 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - -; 1083 : if ((unsigned)(here.bits) <= bits) break; - - 0111a 8b c8 mov ecx, eax - 0111c c1 e9 08 shr ecx, 8 - 0111f 0f b6 c9 movzx ecx, cl - 01122 3b ce cmp ecx, esi - 01124 76 47 jbe SHORT $LN573@inflate -$LL275@inflate: - -; 1084 : PULLBYTE(); - - 01126 85 db test ebx, ebx - 01128 0f 84 4c f4 ff - ff je $LN886@inflate - 0112e 0f b6 07 movzx eax, BYTE PTR [edi] - 01131 8b ce mov ecx, esi - 01133 d3 e0 shl eax, cl - 01135 4b dec ebx - 01136 03 d0 add edx, eax - 01138 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 0113b 8b 45 c0 mov eax, DWORD PTR tv2776[ebp] - 0113e 47 inc edi - 0113f 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 01142 83 c6 08 add esi, 8 - 01145 ba 01 00 00 00 mov edx, 1 - 0114a 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 0114d 8b 08 mov ecx, DWORD PTR [eax] - 0114f 8b 45 f8 mov eax, DWORD PTR _state$1$[ebp] - 01152 d3 e2 shl edx, cl - 01154 4a dec edx - 01155 23 55 fc and edx, DWORD PTR _hold$1$[ebp] - 01158 8b 40 50 mov eax, DWORD PTR [eax+80] - 0115b 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - 0115e 8b c8 mov ecx, eax - 01160 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 01163 c1 e9 08 shr ecx, 8 - 01166 0f b6 c9 movzx ecx, cl - 01169 3b ce cmp ecx, esi - 0116b 77 b9 ja SHORT $LL275@inflate -$LN573@inflate: - -; 1085 : } -; 1086 : if ((here.op & 0xf0) == 0) { - - 0116d a8 f0 test al, 240 ; 000000f0H - 0116f 0f 85 b7 00 00 - 00 jne $LN891@inflate - -; 1087 : last = here; -; 1088 : for (;;) { -; 1089 : here = state->distcode[last.val + - - 01175 8b c8 mov ecx, eax - 01177 bb 01 00 00 00 mov ebx, 1 - 0117c c1 e9 08 shr ecx, 8 - 0117f 8b d0 mov edx, eax - 01181 0f b6 f9 movzx edi, cl - 01184 89 4d d8 mov DWORD PTR tv2686[ebp], ecx - 01187 0f b6 c8 movzx ecx, al - 0118a 03 cf add ecx, edi - 0118c c1 e8 10 shr eax, 16 ; 00000010H - 0118f d3 e3 shl ebx, cl - 01191 8b cf mov ecx, edi - 01193 4b dec ebx - 01194 89 55 c8 mov DWORD PTR _last$[ebp], edx - 01197 23 5d fc and ebx, DWORD PTR _hold$1$[ebp] - 0119a d3 eb shr ebx, cl - 0119c 8b 4d cc mov ecx, DWORD PTR tv2664[ebp] - 0119f 03 d8 add ebx, eax - 011a1 8b 04 99 mov eax, DWORD PTR [ecx+ebx*4] - -; 1090 : (BITS(last.bits + last.op) >> last.bits)]; -; 1091 : if ((unsigned)(last.bits + here.bits) <= bits) break; - - 011a4 8b c8 mov ecx, eax - 011a6 c1 e9 08 shr ecx, 8 - 011a9 0f b6 f9 movzx edi, cl - 011ac 8b 4d d8 mov ecx, DWORD PTR tv2686[ebp] - 011af 0f b6 c9 movzx ecx, cl - 011b2 03 f9 add edi, ecx - 011b4 3b fe cmp edi, esi - 011b6 76 5f jbe SHORT $LN289@inflate - 011b8 0f 1f 84 00 00 - 00 00 00 npad 8 -$LL281@inflate: - -; 1092 : PULLBYTE(); - - 011c0 8b 45 f4 mov eax, DWORD PTR _have$1$[ebp] - 011c3 85 c0 test eax, eax - 011c5 0f 84 b2 f3 ff - ff je $LN896@inflate - 011cb 8b 5d f0 mov ebx, DWORD PTR _next$1$[ebp] - 011ce 48 dec eax - 011cf 89 45 f4 mov DWORD PTR _have$1$[ebp], eax - 011d2 8b ce mov ecx, esi - 011d4 bf 01 00 00 00 mov edi, 1 - 011d9 83 c6 08 add esi, 8 - 011dc 0f b6 03 movzx eax, BYTE PTR [ebx] - 011df 43 inc ebx - 011e0 d3 e0 shl eax, cl - 011e2 01 45 fc add DWORD PTR _hold$1$[ebp], eax - 011e5 0f b7 45 ca movzx eax, WORD PTR _last$[ebp+2] - 011e9 89 5d f0 mov DWORD PTR _next$1$[ebp], ebx - 011ec 0f b6 de movzx ebx, dh - 011ef 0f b6 ca movzx ecx, dl - 011f2 03 cb add ecx, ebx - 011f4 d3 e7 shl edi, cl - 011f6 8b cb mov ecx, ebx - 011f8 4f dec edi - 011f9 23 7d fc and edi, DWORD PTR _hold$1$[ebp] - 011fc d3 ef shr edi, cl - 011fe 03 f8 add edi, eax - 01200 8b 45 f8 mov eax, DWORD PTR _state$1$[ebp] - 01203 8b 40 50 mov eax, DWORD PTR [eax+80] - 01206 8b 04 b8 mov eax, DWORD PTR [eax+edi*4] - 01209 8b c8 mov ecx, eax - 0120b c1 e9 08 shr ecx, 8 - 0120e 0f b6 c9 movzx ecx, cl - 01211 03 cb add ecx, ebx - 01213 3b ce cmp ecx, esi - 01215 77 a9 ja SHORT $LL281@inflate -$LN289@inflate: - -; 1093 : } -; 1094 : DROPBITS(last.bits); -; 1095 : state->back += last.bits; - - 01217 8b 5d f8 mov ebx, DWORD PTR _state$1$[ebp] - 0121a 0f b6 ce movzx ecx, dh - 0121d 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] - 01220 2b f1 sub esi, ecx - 01222 d3 ea shr edx, cl - 01224 01 8b c4 1b 00 - 00 add DWORD PTR [ebx+7108], ecx - 0122a eb 03 jmp SHORT $LN292@inflate -$LN891@inflate: - 0122c 8b 5d f8 mov ebx, DWORD PTR _state$1$[ebp] -$LN292@inflate: - -; 1102 : break; - - 0122f 8b 7d f0 mov edi, DWORD PTR _next$1$[ebp] - 01232 8b c8 mov ecx, eax - 01234 c1 e9 08 shr ecx, 8 - 01237 0f b6 c9 movzx ecx, cl - 0123a 01 8b c4 1b 00 - 00 add DWORD PTR [ebx+7108], ecx - 01240 2b f1 sub esi, ecx - 01242 d3 ea shr edx, cl - 01244 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 01247 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 0124a a8 40 test al, 64 ; 00000040H - 0124c 74 1b je SHORT $LN469@inflate - -; 1096 : } -; 1097 : DROPBITS(here.bits); -; 1098 : state->back += here.bits; -; 1099 : if (here.op & 64) { -; 1100 : strm->msg = (char *)"invalid distance code"; -; 1101 : state->mode = BAD; - - 0124e 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 01251 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - -; 1102 : break; - - 01254 8b 5d f4 mov ebx, DWORD PTR _have$1$[ebp] - 01257 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ - 0125e c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - 01264 e9 b3 f8 ff ff jmp $LN8@inflate -$LN469@inflate: - -; 1103 : } -; 1104 : state->offset = (unsigned)here.val; - - 01269 8b c8 mov ecx, eax - -; 1105 : state->extra = (unsigned)(here.op) & 15; - - 0126b 0f b6 c0 movzx eax, al - 0126e c1 e9 10 shr ecx, 16 ; 00000010H - 01271 83 e0 0f and eax, 15 ; 0000000fH - 01274 89 4b 44 mov DWORD PTR [ebx+68], ecx - 01277 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 0127a 8b 5d f4 mov ebx, DWORD PTR _have$1$[ebp] - 0127d 89 41 48 mov DWORD PTR [ecx+72], eax - -; 1106 : state->mode = DISTEXT; - - 01280 c7 01 17 00 00 - 00 mov DWORD PTR [ecx], 23 ; 00000017H -$LN470@inflate: - -; 1107 : case DISTEXT: -; 1108 : if (state->extra) { - - 01286 8b 41 48 mov eax, DWORD PTR [ecx+72] - 01289 89 45 c8 mov DWORD PTR tv2665[ebp], eax - 0128c 85 c0 test eax, eax - 0128e 74 53 je SHORT $LN471@inflate - -; 1109 : NEEDBITS(state->extra); - - 01290 3b f0 cmp esi, eax - 01292 73 24 jae SHORT $LN293@inflate -$LL296@inflate: - 01294 85 db test ebx, ebx - 01296 0f 84 de f2 ff - ff je $LN886@inflate - 0129c 0f b6 07 movzx eax, BYTE PTR [edi] - 0129f 8b ce mov ecx, esi - 012a1 d3 e0 shl eax, cl - 012a3 4b dec ebx - 012a4 03 d0 add edx, eax - 012a6 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 012a9 47 inc edi - 012aa 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 012ad 83 c6 08 add esi, 8 - 012b0 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 012b3 3b 75 c8 cmp esi, DWORD PTR tv2665[ebp] - 012b6 72 dc jb SHORT $LL296@inflate -$LN293@inflate: - -; 1110 : state->offset += BITS(state->extra); - - 012b8 8b 4d c8 mov ecx, DWORD PTR tv2665[ebp] - 012bb b8 01 00 00 00 mov eax, 1 - 012c0 d3 e0 shl eax, cl - 012c2 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 012c5 48 dec eax - 012c6 23 c2 and eax, edx - 012c8 01 41 44 add DWORD PTR [ecx+68], eax - -; 1111 : DROPBITS(state->extra); - - 012cb 8b 45 c8 mov eax, DWORD PTR tv2665[ebp] - 012ce 8b c8 mov ecx, eax - 012d0 d3 ea shr edx, cl - 012d2 2b f0 sub esi, eax - -; 1112 : state->back += state->extra; - - 012d4 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 012d7 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 012da 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 012dd 01 81 c4 1b 00 - 00 add DWORD PTR [ecx+7108], eax -$LN471@inflate: - -; 1113 : } -; 1114 : #ifdef INFLATE_STRICT -; 1115 : if (state->offset > state->dmax) { -; 1116 : strm->msg = (char *)"invalid distance too far back"; -; 1117 : state->mode = BAD; -; 1118 : break; -; 1119 : } -; 1120 : #endif -; 1121 : Tracevv((stderr, "inflate: distance %u\n", state->offset)); -; 1122 : state->mode = MATCH; - - 012e3 c7 01 18 00 00 - 00 mov DWORD PTR [ecx], 24 ; 00000018H -$LN473@inflate: - -; 1123 : case MATCH: -; 1124 : if (left == 0) goto inf_leave; - - 012e9 83 7d e8 00 cmp DWORD PTR _left$1$[ebp], 0 - 012ed 0f 84 87 f2 ff - ff je $LN886@inflate - -; 1125 : copy = out - left; - - 012f3 8b 45 dc mov eax, DWORD PTR _out$1$[ebp] - 012f6 2b 45 e8 sub eax, DWORD PTR _left$1$[ebp] - 012f9 89 45 c8 mov DWORD PTR _copy$9$[ebp], eax - -; 1126 : if (state->offset > copy) { /* copy from window */ - - 012fc 8b 41 44 mov eax, DWORD PTR [ecx+68] - 012ff 3b 45 c8 cmp eax, DWORD PTR _copy$9$[ebp] - 01302 76 54 jbe SHORT $LN475@inflate - -; 1127 : copy = state->offset - copy; - - 01304 2b 45 c8 sub eax, DWORD PTR _copy$9$[ebp] - -; 1128 : if (copy > state->whave) { - - 01307 3b 41 2c cmp eax, DWORD PTR [ecx+44] - 0130a 76 1e jbe SHORT $LN478@inflate - -; 1129 : if (state->sane) { - - 0130c 83 b9 c0 1b 00 - 00 00 cmp DWORD PTR [ecx+7104], 0 - 01313 74 15 je SHORT $LN478@inflate - -; 1130 : strm->msg = (char *)"invalid distance too far back"; - - 01315 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 01318 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ - 0131f c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - 01325 e9 f2 f7 ff ff jmp $LN8@inflate -$LN478@inflate: - -; 1131 : state->mode = BAD; -; 1132 : break; -; 1133 : } -; 1134 : #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR -; 1135 : Trace((stderr, "inflate.c too far\n")); -; 1136 : copy -= state->whave; -; 1137 : if (copy > state->length) copy = state->length; -; 1138 : if (copy > left) copy = left; -; 1139 : left -= copy; -; 1140 : state->length -= copy; -; 1141 : do { -; 1142 : *put++ = 0; -; 1143 : } while (--copy); -; 1144 : if (state->length == 0) state->mode = LEN; -; 1145 : break; -; 1146 : #endif -; 1147 : } -; 1148 : if (copy > state->wnext) { - - 0132a 3b 41 30 cmp eax, DWORD PTR [ecx+48] - 0132d 76 10 jbe SHORT $LN479@inflate - -; 1149 : copy -= state->wnext; -; 1150 : from = state->window + (state->wsize - copy); - - 0132f 8b 79 34 mov edi, DWORD PTR [ecx+52] - 01332 2b 41 30 sub eax, DWORD PTR [ecx+48] - 01335 03 79 28 add edi, DWORD PTR [ecx+40] - 01338 2b f8 sub edi, eax - 0133a 89 7d d8 mov DWORD PTR _from$1$[ebp], edi - -; 1151 : } - - 0133d eb 0b jmp SHORT $LN480@inflate -$LN479@inflate: - -; 1152 : else -; 1153 : from = state->window + (state->wnext - copy); - - 0133f 8b 59 34 mov ebx, DWORD PTR [ecx+52] - 01342 2b d8 sub ebx, eax - 01344 03 59 30 add ebx, DWORD PTR [ecx+48] - 01347 89 5d d8 mov DWORD PTR _from$1$[ebp], ebx -$LN480@inflate: - -; 1154 : if (copy > state->length) copy = state->length; - - 0134a 8b 79 40 mov edi, DWORD PTR [ecx+64] - 0134d 89 7d c8 mov DWORD PTR tv2620[ebp], edi - 01350 3b c7 cmp eax, edi - 01352 76 13 jbe SHORT $LN476@inflate - 01354 8b c7 mov eax, edi - -; 1155 : } - - 01356 eb 0f jmp SHORT $LN476@inflate -$LN475@inflate: - -; 1156 : else { /* copy from output */ -; 1157 : from = put - state->offset; - - 01358 8b 5d e0 mov ebx, DWORD PTR _put$1$[ebp] - 0135b 89 5d d8 mov DWORD PTR _from$1$[ebp], ebx - 0135e 29 45 d8 sub DWORD PTR _from$1$[ebp], eax - -; 1158 : copy = state->length; - - 01361 8b 41 40 mov eax, DWORD PTR [ecx+64] - 01364 89 45 c8 mov DWORD PTR tv2620[ebp], eax -$LN476@inflate: - -; 1159 : } -; 1160 : if (copy > left) copy = left; - - 01367 8b 5d e8 mov ebx, DWORD PTR _left$1$[ebp] - 0136a 3b c3 cmp eax, ebx - 0136c 0f 47 c3 cmova eax, ebx - -; 1161 : left -= copy; - - 0136f 2b d8 sub ebx, eax - 01371 89 45 cc mov DWORD PTR _copy$11$[ebp], eax - 01374 89 5d e8 mov DWORD PTR _left$1$[ebp], ebx - 01377 8b f8 mov edi, eax - -; 1162 : state->length -= copy; - - 01379 8b 5d c8 mov ebx, DWORD PTR tv2620[ebp] - 0137c 2b d8 sub ebx, eax - 0137e 89 59 40 mov DWORD PTR [ecx+64], ebx - -; 1165 : } while (--copy); - - 01381 8b 5d d8 mov ebx, DWORD PTR _from$1$[ebp] - 01384 8b 4d e0 mov ecx, DWORD PTR _put$1$[ebp] - 01387 2b d9 sub ebx, ecx - 01389 0f 1f 80 00 00 - 00 00 npad 7 -$LL306@inflate: - -; 1163 : do { -; 1164 : *put++ = *from++; - - 01390 8a 04 0b mov al, BYTE PTR [ebx+ecx] - 01393 88 01 mov BYTE PTR [ecx], al - 01395 41 inc ecx - -; 1165 : } while (--copy); - - 01396 83 ef 01 sub edi, 1 - 01399 75 f5 jne SHORT $LL306@inflate - -; 1166 : if (state->length == 0) state->mode = LEN; - - 0139b 8b 5d f4 mov ebx, DWORD PTR _have$1$[ebp] - 0139e 8b 7d f0 mov edi, DWORD PTR _next$1$[ebp] - 013a1 89 4d e0 mov DWORD PTR _put$1$[ebp], ecx - 013a4 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 013a7 83 79 40 00 cmp DWORD PTR [ecx+64], 0 - 013ab 0f 85 6b f7 ff - ff jne $LN8@inflate - 013b1 c7 01 14 00 00 - 00 mov DWORD PTR [ecx], 20 ; 00000014H - -; 1167 : break; - - 013b7 e9 60 f7 ff ff jmp $LN8@inflate -$LN484@inflate: - -; 1168 : case LIT: -; 1169 : if (left == 0) goto inf_leave; - - 013bc 83 7d e8 00 cmp DWORD PTR _left$1$[ebp], 0 - 013c0 0f 84 b4 f1 ff - ff je $LN886@inflate - -; 1170 : *put++ = (unsigned char)(state->length); - - 013c6 8b 7d e0 mov edi, DWORD PTR _put$1$[ebp] - 013c9 8a 41 40 mov al, BYTE PTR [ecx+64] - 013cc ff 45 e0 inc DWORD PTR _put$1$[ebp] - -; 1171 : left--; - - 013cf ff 4d e8 dec DWORD PTR _left$1$[ebp] - 013d2 88 07 mov BYTE PTR [edi], al - -; 1172 : state->mode = LEN; -; 1173 : break; - - 013d4 8b 7d f0 mov edi, DWORD PTR _next$1$[ebp] - 013d7 c7 01 14 00 00 - 00 mov DWORD PTR [ecx], 20 ; 00000014H - 013dd e9 3a f7 ff ff jmp $LN8@inflate -$LN486@inflate: - -; 1174 : case CHECK: -; 1175 : if (state->wrap) { - - 013e2 83 79 08 00 cmp DWORD PTR [ecx+8], 0 - 013e6 0f 84 d4 00 00 - 00 je $LN316@inflate - -; 1176 : NEEDBITS(32); - - 013ec 83 fe 20 cmp esi, 32 ; 00000020H - 013ef 73 2a jae SHORT $LN307@inflate -$LL310@inflate: - 013f1 85 db test ebx, ebx - 013f3 0f 84 81 f1 ff - ff je $LN886@inflate - 013f9 0f b6 07 movzx eax, BYTE PTR [edi] - 013fc 8b ce mov ecx, esi - 013fe d3 e0 shl eax, cl - 01400 83 c6 08 add esi, 8 - 01403 4b dec ebx - 01404 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 01407 03 d0 add edx, eax - 01409 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 0140c 47 inc edi - 0140d 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 01410 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 01413 83 fe 20 cmp esi, 32 ; 00000020H - 01416 72 d9 jb SHORT $LL310@inflate - 01418 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] -$LN307@inflate: - -; 1177 : out -= left; - - 0141b 8b 45 e8 mov eax, DWORD PTR _left$1$[ebp] - 0141e 29 45 dc sub DWORD PTR _out$1$[ebp], eax - -; 1178 : strm->total_out += out; - - 01421 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 01424 8b 7d dc mov edi, DWORD PTR _out$1$[ebp] - 01427 01 78 14 add DWORD PTR [eax+20], edi - -; 1179 : state->total += out; - - 0142a 8b c7 mov eax, edi - 0142c 01 41 1c add DWORD PTR [ecx+28], eax - -; 1180 : if (out) - - 0142f 8b 7d f0 mov edi, DWORD PTR _next$1$[ebp] - 01432 85 c0 test eax, eax - 01434 74 2c je SHORT $LN489@inflate - -; 1181 : strm->adler = state->check = - - 01436 50 push eax - 01437 8b 45 e0 mov eax, DWORD PTR _put$1$[ebp] - 0143a 2b 45 dc sub eax, DWORD PTR _out$1$[ebp] - 0143d 83 79 10 00 cmp DWORD PTR [ecx+16], 0 - 01441 50 push eax - 01442 ff 71 18 push DWORD PTR [ecx+24] - 01445 74 07 je SHORT $LN510@inflate - 01447 e8 00 00 00 00 call _crc32@12 - 0144c eb 05 jmp SHORT $LN511@inflate -$LN510@inflate: - 0144e e8 00 00 00 00 call _adler32@12 -$LN511@inflate: - 01453 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 01456 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 01459 89 41 18 mov DWORD PTR [ecx+24], eax - 0145c 89 42 30 mov DWORD PTR [edx+48], eax - 0145f 8b 55 fc mov edx, DWORD PTR _hold$1$[ebp] -$LN489@inflate: - -; 1182 : UPDATE(state->check, put - out, out); -; 1183 : out = left; -; 1184 : if (( -; 1185 : #ifdef GUNZIP -; 1186 : state->flags ? hold : -; 1187 : #endif -; 1188 : ZSWAP32(hold)) != state->check) { - - 01462 83 79 10 00 cmp DWORD PTR [ecx+16], 0 - 01466 8b 45 e8 mov eax, DWORD PTR _left$1$[ebp] - 01469 89 45 dc mov DWORD PTR _out$1$[ebp], eax - 0146c 8b c2 mov eax, edx - 0146e 75 2c jne SHORT $LN513@inflate - 01470 25 00 ff 00 00 and eax, 65280 ; 0000ff00H - 01475 89 45 d8 mov DWORD PTR tv2786[ebp], eax - 01478 8b c2 mov eax, edx - 0147a c1 e0 10 shl eax, 16 ; 00000010H - 0147d 01 45 d8 add DWORD PTR tv2786[ebp], eax - 01480 8b c2 mov eax, edx - 01482 c1 65 d8 08 shl DWORD PTR tv2786[ebp], 8 - 01486 c1 e8 08 shr eax, 8 - 01489 25 00 ff 00 00 and eax, 65280 ; 0000ff00H - 0148e 01 45 d8 add DWORD PTR tv2786[ebp], eax - 01491 8b c2 mov eax, edx - 01493 c1 e8 18 shr eax, 24 ; 00000018H - 01496 01 45 d8 add DWORD PTR tv2786[ebp], eax - 01499 8b 45 d8 mov eax, DWORD PTR tv2786[ebp] -$LN513@inflate: - 0149c 3b 41 18 cmp eax, DWORD PTR [ecx+24] - 0149f 74 15 je SHORT $LN317@inflate - -; 1189 : strm->msg = (char *)"incorrect data check"; - - 014a1 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 014a4 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ - 014ab c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - 014b1 e9 66 f6 ff ff jmp $LN8@inflate -$LN317@inflate: - -; 1190 : state->mode = BAD; -; 1191 : break; -; 1192 : } -; 1193 : INITBITS(); - - 014b6 33 d2 xor edx, edx - 014b8 33 f6 xor esi, esi - 014ba 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 014bd 89 75 ec mov DWORD PTR _bits$1$[ebp], esi -$LN316@inflate: - -; 1194 : Tracev((stderr, "inflate: check matches trailer\n")); -; 1195 : } -; 1196 : #ifdef GUNZIP -; 1197 : state->mode = LENGTH; - - 014c0 c7 01 1b 00 00 - 00 mov DWORD PTR [ecx], 27 ; 0000001bH -$LN491@inflate: - -; 1198 : case LENGTH: -; 1199 : if (state->wrap && state->flags) { - - 014c6 83 79 08 00 cmp DWORD PTR [ecx+8], 0 - 014ca 0f 84 88 00 00 - 00 je $LN327@inflate - 014d0 83 79 10 00 cmp DWORD PTR [ecx+16], 0 - 014d4 0f 84 7e 00 00 - 00 je $LN327@inflate - -; 1200 : NEEDBITS(32); - - 014da 83 fe 20 cmp esi, 32 ; 00000020H - 014dd 73 2b jae SHORT $LN318@inflate - 014df 90 npad 1 -$LL321@inflate: - 014e0 85 db test ebx, ebx - 014e2 0f 84 92 f0 ff - ff je $LN886@inflate - 014e8 0f b6 07 movzx eax, BYTE PTR [edi] - 014eb 8b ce mov ecx, esi - 014ed d3 e0 shl eax, cl - 014ef 83 c6 08 add esi, 8 - 014f2 4b dec ebx - 014f3 89 75 ec mov DWORD PTR _bits$1$[ebp], esi - 014f6 03 d0 add edx, eax - 014f8 89 5d f4 mov DWORD PTR _have$1$[ebp], ebx - 014fb 47 inc edi - 014fc 89 55 fc mov DWORD PTR _hold$1$[ebp], edx - 014ff 89 7d f0 mov DWORD PTR _next$1$[ebp], edi - 01502 83 fe 20 cmp esi, 32 ; 00000020H - 01505 72 d9 jb SHORT $LL321@inflate - 01507 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] -$LN318@inflate: - -; 1201 : if (hold != (state->total & 0xffffffffUL)) { - - 0150a 3b 51 1c cmp edx, DWORD PTR [ecx+28] - 0150d 74 40 je SHORT $LN328@inflate - -; 1202 : strm->msg = (char *)"incorrect length check"; - - 0150f 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 01512 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ - 01519 c7 01 1d 00 00 - 00 mov DWORD PTR [ecx], 29 ; 0000001dH - 0151f e9 f8 f5 ff ff jmp $LN8@inflate -$LN585@inflate: - -; 821 : RESTORE(); - - 01524 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 01527 8b 4d e0 mov ecx, DWORD PTR _put$1$[ebp] - 0152a 89 48 0c mov DWORD PTR [eax+12], ecx - 0152d 8b 4d e8 mov ecx, DWORD PTR _left$1$[ebp] - 01530 89 48 10 mov DWORD PTR [eax+16], ecx - 01533 8b 4d f8 mov ecx, DWORD PTR _state$1$[ebp] - 01536 89 38 mov DWORD PTR [eax], edi - 01538 89 58 04 mov DWORD PTR [eax+4], ebx - -; 822 : return Z_NEED_DICT; - - 0153b b8 02 00 00 00 mov eax, 2 - 01540 5f pop edi - 01541 89 71 3c mov DWORD PTR [ecx+60], esi - 01544 5e pop esi - 01545 89 51 38 mov DWORD PTR [ecx+56], edx - 01548 5b pop ebx - -; 1250 : ret = Z_BUF_ERROR; -; 1251 : return ret; -; 1252 : } - - 01549 8b e5 mov esp, ebp - 0154b 5d pop ebp - 0154c c2 08 00 ret 8 -$LN328@inflate: - -; 1203 : state->mode = BAD; -; 1204 : break; -; 1205 : } -; 1206 : INITBITS(); - - 0154f c7 45 fc 00 00 - 00 00 mov DWORD PTR _hold$1$[ebp], 0 - 01556 33 f6 xor esi, esi -$LN327@inflate: - -; 1207 : Tracev((stderr, "inflate: length matches trailer\n")); -; 1208 : } -; 1209 : #endif -; 1210 : state->mode = DONE; - - 01558 c7 01 1c 00 00 - 00 mov DWORD PTR [ecx], 28 ; 0000001cH -$LN495@inflate: - -; 1211 : case DONE: -; 1212 : ret = Z_STREAM_END; - - 0155e c7 45 d4 01 00 - 00 00 mov DWORD PTR _ret$1$[ebp], 1 - -; 1213 : goto inf_leave; - - 01565 e9 10 f0 ff ff jmp $LN886@inflate -$LN496@inflate: - -; 1214 : case BAD: -; 1215 : ret = Z_DATA_ERROR; - - 0156a c7 45 d4 fd ff - ff ff mov DWORD PTR _ret$1$[ebp], -3 ; fffffffdH - 01571 e9 04 f0 ff ff jmp $LN886@inflate -$LN862@inflate: - 01576 8b 45 f4 mov eax, DWORD PTR _have$1$[ebp] - 01579 e9 02 f0 ff ff jmp $inf_leave$937 -$LN502@inflate: - -; 1237 : } -; 1238 : in -= strm->avail_in; - - 0157e 8b 45 c4 mov eax, DWORD PTR _in$1$[ebp] - 01581 2b 47 04 sub eax, DWORD PTR [edi+4] - -; 1239 : out -= strm->avail_out; - - 01584 2b 77 10 sub esi, DWORD PTR [edi+16] - -; 1240 : strm->total_in += in; - - 01587 01 47 08 add DWORD PTR [edi+8], eax - -; 1241 : strm->total_out += out; - - 0158a 01 77 14 add DWORD PTR [edi+20], esi - -; 1242 : state->total += out; - - 0158d 01 73 1c add DWORD PTR [ebx+28], esi - -; 1243 : if (state->wrap && out) - - 01590 83 7b 08 00 cmp DWORD PTR [ebx+8], 0 - 01594 89 45 c4 mov DWORD PTR _in$1$[ebp], eax - 01597 89 75 dc mov DWORD PTR _out$1$[ebp], esi - 0159a 74 26 je SHORT $LN503@inflate - 0159c 85 f6 test esi, esi - 0159e 74 22 je SHORT $LN503@inflate - -; 1244 : strm->adler = state->check = - - 015a0 8b 47 0c mov eax, DWORD PTR [edi+12] - 015a3 56 push esi - 015a4 2b c6 sub eax, esi - 015a6 83 7b 10 00 cmp DWORD PTR [ebx+16], 0 - 015aa 50 push eax - 015ab ff 73 18 push DWORD PTR [ebx+24] - 015ae 74 07 je SHORT $LN514@inflate - 015b0 e8 00 00 00 00 call _crc32@12 - 015b5 eb 05 jmp SHORT $LN515@inflate -$LN514@inflate: - 015b7 e8 00 00 00 00 call _adler32@12 -$LN515@inflate: - 015bc 89 43 18 mov DWORD PTR [ebx+24], eax - 015bf 89 47 30 mov DWORD PTR [edi+48], eax -$LN503@inflate: - -; 1245 : UPDATE(state->check, strm->next_out - out, out); -; 1246 : strm->data_type = state->bits + (state->last ? 64 : 0) + - - 015c2 8b 13 mov edx, DWORD PTR [ebx] - 015c4 83 fa 13 cmp edx, 19 ; 00000013H - 015c7 74 09 je SHORT $LN516@inflate - 015c9 83 fa 0e cmp edx, 14 ; 0000000eH - 015cc 74 04 je SHORT $LN516@inflate - 015ce 33 f6 xor esi, esi - 015d0 eb 05 jmp SHORT $LN517@inflate -$LN516@inflate: - 015d2 be 00 01 00 00 mov esi, 256 ; 00000100H -$LN517@inflate: - 015d7 8b 4b 04 mov ecx, DWORD PTR [ebx+4] - 015da f7 d9 neg ecx - 015dc c7 45 08 80 00 - 00 00 mov DWORD PTR tv2648[ebp], 128 ; 00000080H - 015e3 1b c9 sbb ecx, ecx - 015e5 33 c0 xor eax, eax - 015e7 83 e1 40 and ecx, 64 ; 00000040H - 015ea 83 fa 0b cmp edx, 11 ; 0000000bH - 015ed 0f 44 45 08 cmove eax, DWORD PTR tv2648[ebp] - 015f1 03 ce add ecx, esi - 015f3 03 c1 add eax, ecx - 015f5 03 43 3c add eax, DWORD PTR [ebx+60] - 015f8 89 47 2c mov DWORD PTR [edi+44], eax - -; 1247 : (state->mode == TYPE ? 128 : 0) + -; 1248 : (state->mode == LEN_ || state->mode == COPY_ ? 256 : 0); -; 1249 : if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK) - - 015fb 8b 45 c4 mov eax, DWORD PTR _in$1$[ebp] - 015fe 85 c0 test eax, eax - 01600 75 05 jne SHORT $LN506@inflate - 01602 39 45 dc cmp DWORD PTR _out$1$[ebp], eax - 01605 74 06 je SHORT $LN505@inflate -$LN506@inflate: - 01607 83 7d 0c 04 cmp DWORD PTR _flush$[ebp], 4 - 0160b 75 16 jne SHORT $LN894@inflate -$LN505@inflate: - 0160d 8b 45 d4 mov eax, DWORD PTR _ret$1$[ebp] - 01610 b9 fb ff ff ff mov ecx, -5 ; fffffffbH - 01615 5f pop edi - 01616 85 c0 test eax, eax - 01618 5e pop esi - 01619 0f 44 c1 cmove eax, ecx - 0161c 5b pop ebx - -; 1250 : ret = Z_BUF_ERROR; -; 1251 : return ret; -; 1252 : } - - 0161d 8b e5 mov esp, ebp - 0161f 5d pop ebp - 01620 c2 08 00 ret 8 -$LN894@inflate: - 01623 8b 45 d4 mov eax, DWORD PTR _ret$1$[ebp] - 01626 5f pop edi - 01627 5e pop esi - 01628 5b pop ebx - 01629 8b e5 mov esp, ebp - 0162b 5d pop ebp - 0162c c2 08 00 ret 8 -$LN333@inflate: - -; 629 : (strm->next_in == Z_NULL && strm->avail_in != 0)) -; 630 : return Z_STREAM_ERROR; - - 0162f b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 1250 : ret = Z_BUF_ERROR; -; 1251 : return ret; -; 1252 : } - - 01634 8b e5 mov esp, ebp - 01636 5d pop ebp - 01637 c2 08 00 ret 8 - 0163a 66 90 npad 2 -$LN935@inflate: - 0163c 00 00 00 00 DD $LN335@inflate - 01640 00 00 00 00 DD $LN32@inflate - 01644 00 00 00 00 DD $LN46@inflate - 01648 00 00 00 00 DD $LN60@inflate - 0164c 00 00 00 00 DD $LN360@inflate - 01650 00 00 00 00 DD $LN367@inflate - 01654 00 00 00 00 DD $LN374@inflate - 01658 00 00 00 00 DD $LN383@inflate - 0165c 00 00 00 00 DD $LN392@inflate - 01660 00 00 00 00 DD $LN105@inflate - 01664 00 00 00 00 DD $LN399@inflate - 01668 00 00 00 00 DD $LN401@inflate - 0166c 00 00 00 00 DD $LN402@inflate - 01670 00 00 00 00 DD $LN141@inflate - 01674 00 00 00 00 DD $LN415@inflate - 01678 00 00 00 00 DD $LN417@inflate - 0167c 00 00 00 00 DD $LN155@inflate - 01680 00 00 00 00 DD $LN531@inflate - 01684 00 00 00 00 DD $LN534@inflate - 01688 00 00 00 00 DD $LN447@inflate - 0168c 00 00 00 00 DD $LN449@inflate - 01690 00 00 00 00 DD $LN460@inflate - 01694 00 00 00 00 DD $LN463@inflate - 01698 00 00 00 00 DD $LN470@inflate - 0169c 00 00 00 00 DD $LN473@inflate - 016a0 00 00 00 00 DD $LN484@inflate - 016a4 00 00 00 00 DD $LN486@inflate - 016a8 00 00 00 00 DD $LN491@inflate - 016ac 00 00 00 00 DD $LN495@inflate - 016b0 00 00 00 00 DD $LN496@inflate - 016b4 00 00 00 00 DD $LN497@inflate -$LN936@inflate: - 016b8 00 00 00 00 DD $LN407@inflate - 016bc 00 00 00 00 DD $LN408@inflate - 016c0 00 00 00 00 DD $LN410@inflate - 016c4 00 00 00 00 DD $LN411@inflate -_inflate@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateEnd@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateEnd@4 PROC ; COMDAT - -; 1256 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 1257 : struct inflate_state FAR *state; -; 1258 : if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) - - 00004 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00007 85 f6 test esi, esi - 00009 74 3a je SHORT $LN3@inflateEnd - 0000b 8b 46 1c mov eax, DWORD PTR [esi+28] - 0000e 85 c0 test eax, eax - 00010 74 33 je SHORT $LN3@inflateEnd - 00012 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 00015 85 c9 test ecx, ecx - 00017 74 2c je SHORT $LN3@inflateEnd - -; 1260 : state = (struct inflate_state FAR *)strm->state; -; 1261 : if (state->window != Z_NULL) ZFREE(strm, state->window); - - 00019 8b 40 34 mov eax, DWORD PTR [eax+52] - 0001c 85 c0 test eax, eax - 0001e 74 09 je SHORT $LN4@inflateEnd - 00020 50 push eax - 00021 ff 76 28 push DWORD PTR [esi+40] - 00024 ff d1 call ecx - 00026 83 c4 08 add esp, 8 -$LN4@inflateEnd: - -; 1262 : ZFREE(strm, strm->state); - - 00029 ff 76 1c push DWORD PTR [esi+28] - 0002c 8b 46 24 mov eax, DWORD PTR [esi+36] - 0002f ff 76 28 push DWORD PTR [esi+40] - 00032 ff d0 call eax - 00034 83 c4 08 add esp, 8 - -; 1263 : strm->state = Z_NULL; - - 00037 c7 46 1c 00 00 - 00 00 mov DWORD PTR [esi+28], 0 - -; 1264 : Tracev((stderr, "inflate: end\n")); -; 1265 : return Z_OK; - - 0003e 33 c0 xor eax, eax - 00040 5e pop esi - -; 1266 : } - - 00041 5d pop ebp - 00042 c2 04 00 ret 4 -$LN3@inflateEnd: - -; 1259 : return Z_STREAM_ERROR; - - 00045 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0004a 5e pop esi - -; 1266 : } - - 0004b 5d pop ebp - 0004c c2 04 00 ret 4 -_inflateEnd@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateResetKeep@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateResetKeep@4 PROC ; COMDAT - -; 106 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 107 : struct inflate_state FAR *state; -; 108 : -; 109 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 0f 84 8d 00 00 - 00 je $LN3@inflateRes - 0000e 8b 48 1c mov ecx, DWORD PTR [eax+28] - 00011 85 c9 test ecx, ecx - 00013 0f 84 82 00 00 - 00 je $LN3@inflateRes - -; 110 : state = (struct inflate_state FAR *)strm->state; -; 111 : strm->total_in = strm->total_out = state->total = 0; - - 00019 c7 41 1c 00 00 - 00 00 mov DWORD PTR [ecx+28], 0 - 00020 c7 40 14 00 00 - 00 00 mov DWORD PTR [eax+20], 0 - 00027 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], 0 - -; 112 : strm->msg = Z_NULL; - - 0002e c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], 0 - -; 113 : if (state->wrap) /* to support ill-conceived Java test suite */ - - 00035 8b 51 08 mov edx, DWORD PTR [ecx+8] - 00038 85 d2 test edx, edx - 0003a 74 06 je SHORT $LN4@inflateRes - -; 114 : strm->adler = state->wrap & 1; - - 0003c 83 e2 01 and edx, 1 - 0003f 89 50 30 mov DWORD PTR [eax+48], edx -$LN4@inflateRes: - -; 115 : state->mode = HEAD; -; 116 : state->last = 0; -; 117 : state->havedict = 0; -; 118 : state->dmax = 32768U; -; 119 : state->head = Z_NULL; -; 120 : state->hold = 0; -; 121 : state->bits = 0; -; 122 : state->lencode = state->distcode = state->next = state->codes; - - 00042 8d 81 30 05 00 - 00 lea eax, DWORD PTR [ecx+1328] - 00048 c7 01 00 00 00 - 00 mov DWORD PTR [ecx], 0 - 0004e 89 41 6c mov DWORD PTR [ecx+108], eax - 00051 89 41 50 mov DWORD PTR [ecx+80], eax - 00054 89 41 4c mov DWORD PTR [ecx+76], eax - -; 123 : state->sane = 1; -; 124 : state->back = -1; -; 125 : Tracev((stderr, "inflate: reset\n")); -; 126 : return Z_OK; - - 00057 33 c0 xor eax, eax - 00059 c7 41 04 00 00 - 00 00 mov DWORD PTR [ecx+4], 0 - 00060 c7 41 0c 00 00 - 00 00 mov DWORD PTR [ecx+12], 0 - 00067 c7 41 14 00 80 - 00 00 mov DWORD PTR [ecx+20], 32768 ; 00008000H - 0006e c7 41 20 00 00 - 00 00 mov DWORD PTR [ecx+32], 0 - 00075 c7 41 38 00 00 - 00 00 mov DWORD PTR [ecx+56], 0 - 0007c c7 41 3c 00 00 - 00 00 mov DWORD PTR [ecx+60], 0 - 00083 c7 81 c0 1b 00 - 00 01 00 00 00 mov DWORD PTR [ecx+7104], 1 - 0008d c7 81 c4 1b 00 - 00 ff ff ff ff mov DWORD PTR [ecx+7108], -1 - -; 127 : } - - 00097 5d pop ebp - 00098 c2 04 00 ret 4 -$LN3@inflateRes: - -; 107 : struct inflate_state FAR *state; -; 108 : -; 109 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0009b b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 127 : } - - 000a0 5d pop ebp - 000a1 c2 04 00 ret 4 -_inflateResetKeep@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateReset2@8 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_windowBits$ = 12 ; size = 4 -_inflateReset2@8 PROC ; COMDAT - -; 145 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 146 : int wrap; -; 147 : struct inflate_state FAR *state; -; 148 : -; 149 : /* get the state */ -; 150 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 57 push edi - 00007 85 c0 test eax, eax - 00009 74 73 je SHORT $LN3@inflateRes - 0000b 8b 78 1c mov edi, DWORD PTR [eax+28] - 0000e 85 ff test edi, edi - 00010 74 6c je SHORT $LN3@inflateRes - -; 151 : state = (struct inflate_state FAR *)strm->state; -; 152 : -; 153 : /* extract wrap request from windowBits parameter */ -; 154 : if (windowBits < 0) { - - 00012 53 push ebx - 00013 56 push esi - 00014 8b 75 0c mov esi, DWORD PTR _windowBits$[ebp] - 00017 85 f6 test esi, esi - 00019 79 06 jns SHORT $LN4@inflateRes - -; 155 : wrap = 0; - - 0001b 33 db xor ebx, ebx - -; 156 : windowBits = -windowBits; - - 0001d f7 de neg esi - -; 157 : } - - 0001f eb 0e jmp SHORT $LN6@inflateRes -$LN4@inflateRes: - -; 158 : else { -; 159 : wrap = (windowBits >> 4) + 1; - - 00021 8b de mov ebx, esi - 00023 c1 fb 04 sar ebx, 4 - 00026 43 inc ebx - -; 160 : #ifdef GUNZIP -; 161 : if (windowBits < 48) - - 00027 83 fe 30 cmp esi, 48 ; 00000030H - 0002a 7d 03 jge SHORT $LN6@inflateRes - -; 162 : windowBits &= 15; - - 0002c 83 e6 0f and esi, 15 ; 0000000fH -$LN6@inflateRes: - -; 163 : #endif -; 164 : } -; 165 : -; 166 : /* set number of window bits, free window if different */ -; 167 : if (windowBits && (windowBits < 8 || windowBits > 15)) - - 0002f 85 f6 test esi, esi - 00031 74 16 je SHORT $LN7@inflateRes - 00033 83 fe 08 cmp esi, 8 - 00036 7c 05 jl SHORT $LN8@inflateRes - 00038 83 fe 0f cmp esi, 15 ; 0000000fH - 0003b 7e 0c jle SHORT $LN7@inflateRes -$LN8@inflateRes: - 0003d 5e pop esi - 0003e 5b pop ebx - -; 168 : return Z_STREAM_ERROR; - - 0003f b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00044 5f pop edi - -; 178 : } - - 00045 5d pop ebp - 00046 c2 08 00 ret 8 -$LN7@inflateRes: - -; 169 : if (state->window != Z_NULL && state->wbits != (unsigned)windowBits) { - - 00049 8b 4f 34 mov ecx, DWORD PTR [edi+52] - 0004c 85 c9 test ecx, ecx - 0004e 74 1b je SHORT $LN9@inflateRes - 00050 39 77 24 cmp DWORD PTR [edi+36], esi - 00053 74 16 je SHORT $LN9@inflateRes - -; 170 : ZFREE(strm, state->window); - - 00055 51 push ecx - 00056 ff 70 28 push DWORD PTR [eax+40] - 00059 8b 40 24 mov eax, DWORD PTR [eax+36] - 0005c ff d0 call eax - 0005e 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00061 83 c4 08 add esp, 8 - -; 171 : state->window = Z_NULL; - - 00064 c7 47 34 00 00 - 00 00 mov DWORD PTR [edi+52], 0 -$LN9@inflateRes: - -; 172 : } -; 173 : -; 174 : /* update state and reset the rest of it */ -; 175 : state->wrap = wrap; -; 176 : state->wbits = (unsigned)windowBits; -; 177 : return inflateReset(strm); - - 0006b 50 push eax - 0006c 89 5f 08 mov DWORD PTR [edi+8], ebx - 0006f 89 77 24 mov DWORD PTR [edi+36], esi - 00072 e8 00 00 00 00 call _inflateReset@4 - 00077 5e pop esi - 00078 5b pop ebx - 00079 5f pop edi - -; 178 : } - - 0007a 5d pop ebp - 0007b c2 08 00 ret 8 -$LN3@inflateRes: - -; 146 : int wrap; -; 147 : struct inflate_state FAR *state; -; 148 : -; 149 : /* get the state */ -; 150 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0007e b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00083 5f pop edi - -; 178 : } - - 00084 5d pop ebp - 00085 c2 08 00 ret 8 -_inflateReset2@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateInit_@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_version$ = 12 ; size = 4 -_stream_size$ = 16 ; size = 4 -_inflateInit_@12 PROC ; COMDAT - -; 226 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 227 : return inflateInit2_(strm, DEF_WBITS, version, stream_size); - - 00003 ff 75 10 push DWORD PTR _stream_size$[ebp] - 00006 ff 75 0c push DWORD PTR _version$[ebp] - 00009 6a 0f push 15 ; 0000000fH - 0000b ff 75 08 push DWORD PTR _strm$[ebp] - 0000e e8 00 00 00 00 call _inflateInit2_@16 - -; 228 : } - - 00013 5d pop ebp - 00014 c2 0c 00 ret 12 ; 0000000cH -_inflateInit_@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflatePrime@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_bits$ = 12 ; size = 4 -_value$ = 16 ; size = 4 -_inflatePrime@12 PROC ; COMDAT - -; 234 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 235 : struct inflate_state FAR *state; -; 236 : -; 237 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 00006 85 d2 test edx, edx - 00008 74 5c je SHORT $LN3@inflatePri - 0000a 8b 52 1c mov edx, DWORD PTR [edx+28] - 0000d 85 d2 test edx, edx - 0000f 74 55 je SHORT $LN3@inflatePri - -; 238 : state = (struct inflate_state FAR *)strm->state; -; 239 : if (bits < 0) { - - 00011 8b 4d 0c mov ecx, DWORD PTR _bits$[ebp] - 00014 85 c9 test ecx, ecx - 00016 79 14 jns SHORT $LN4@inflatePri - -; 240 : state->hold = 0; - - 00018 c7 42 38 00 00 - 00 00 mov DWORD PTR [edx+56], 0 - -; 241 : state->bits = 0; -; 242 : return Z_OK; - - 0001f 33 c0 xor eax, eax - 00021 c7 42 3c 00 00 - 00 00 mov DWORD PTR [edx+60], 0 - -; 249 : } - - 00028 5d pop ebp - 00029 c2 0c 00 ret 12 ; 0000000cH -$LN4@inflatePri: - 0002c 56 push esi - 0002d 57 push edi - -; 243 : } -; 244 : if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR; - - 0002e 83 f9 10 cmp ecx, 16 ; 00000010H - 00031 7f 28 jg SHORT $LN6@inflatePri - 00033 8b 72 3c mov esi, DWORD PTR [edx+60] - 00036 8d 3c 0e lea edi, DWORD PTR [esi+ecx] - 00039 83 ff 20 cmp edi, 32 ; 00000020H - 0003c 77 1d ja SHORT $LN6@inflatePri - -; 245 : value &= (1L << bits) - 1; - - 0003e b8 01 00 00 00 mov eax, 1 - -; 246 : state->hold += value << state->bits; -; 247 : state->bits += bits; - - 00043 89 7a 3c mov DWORD PTR [edx+60], edi - 00046 d3 e0 shl eax, cl - 00048 8b ce mov ecx, esi - 0004a 48 dec eax - 0004b 23 45 10 and eax, DWORD PTR _value$[ebp] - 0004e d3 e0 shl eax, cl - 00050 01 42 38 add DWORD PTR [edx+56], eax - -; 248 : return Z_OK; - - 00053 33 c0 xor eax, eax - 00055 5f pop edi - 00056 5e pop esi - -; 249 : } - - 00057 5d pop ebp - 00058 c2 0c 00 ret 12 ; 0000000cH -$LN6@inflatePri: - 0005b 5f pop edi - -; 243 : } -; 244 : if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR; - - 0005c b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00061 5e pop esi - -; 249 : } - - 00062 5d pop ebp - 00063 c2 0c 00 ret 12 ; 0000000cH -$LN3@inflatePri: - -; 235 : struct inflate_state FAR *state; -; 236 : -; 237 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00066 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 249 : } - - 0006b 5d pop ebp - 0006c c2 0c 00 ret 12 ; 0000000cH -_inflatePrime@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _fixedtables -_TEXT SEGMENT -_fixedtables PROC ; COMDAT -; _state$ = ecx - -; 264 : #ifdef BUILDFIXED -; 265 : static int virgin = 1; -; 266 : static code *lenfix, *distfix; -; 267 : static code fixed[544]; -; 268 : -; 269 : /* build fixed huffman tables if first call (may not be thread safe) */ -; 270 : if (virgin) { -; 271 : unsigned sym, bits; -; 272 : static code *next; -; 273 : -; 274 : /* literal/length table */ -; 275 : sym = 0; -; 276 : while (sym < 144) state->lens[sym++] = 8; -; 277 : while (sym < 256) state->lens[sym++] = 9; -; 278 : while (sym < 280) state->lens[sym++] = 7; -; 279 : while (sym < 288) state->lens[sym++] = 8; -; 280 : next = fixed; -; 281 : lenfix = next; -; 282 : bits = 9; -; 283 : inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work); -; 284 : -; 285 : /* distance table */ -; 286 : sym = 0; -; 287 : while (sym < 32) state->lens[sym++] = 5; -; 288 : distfix = next; -; 289 : bits = 5; -; 290 : inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work); -; 291 : -; 292 : /* do this just once */ -; 293 : virgin = 0; -; 294 : } -; 295 : #else /* !BUILDFIXED */ -; 296 : # include "inffixed.h" -; 297 : #endif /* BUILDFIXED */ -; 298 : state->lencode = lenfix; - - 00000 c7 41 4c 00 00 - 00 00 mov DWORD PTR [ecx+76], OFFSET ?lenfix@?1??fixedtables@@9@9 - -; 299 : state->lenbits = 9; - - 00007 c7 41 54 09 00 - 00 00 mov DWORD PTR [ecx+84], 9 - -; 300 : state->distcode = distfix; - - 0000e c7 41 50 00 00 - 00 00 mov DWORD PTR [ecx+80], OFFSET ?distfix@?1??fixedtables@@9@9 - -; 301 : state->distbits = 5; - - 00015 c7 41 58 05 00 - 00 00 mov DWORD PTR [ecx+88], 5 - -; 302 : } - - 0001c c3 ret 0 -_fixedtables ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _updatewindow -_TEXT SEGMENT -_end$1$ = -4 ; size = 4 -_copy$ = 8 ; size = 4 -_updatewindow PROC ; COMDAT -; _strm$ = ecx -; _end$ = edx - -; 383 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 8b c2 mov eax, edx - 00006 8b d1 mov edx, ecx - 00008 56 push esi - 00009 57 push edi - 0000a 89 45 fc mov DWORD PTR _end$1$[ebp], eax - -; 384 : struct inflate_state FAR *state; -; 385 : unsigned dist; -; 386 : -; 387 : state = (struct inflate_state FAR *)strm->state; -; 388 : -; 389 : /* if it hasn't been done already, allocate space for the window */ -; 390 : if (state->window == Z_NULL) { - - 0000d bf 01 00 00 00 mov edi, 1 - 00012 8b 72 1c mov esi, DWORD PTR [edx+28] - 00015 83 7e 34 00 cmp DWORD PTR [esi+52], 0 - 00019 75 26 jne SHORT $LN3@updatewind - -; 391 : state->window = (unsigned char FAR *) - - 0001b 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 0001e 8b c7 mov eax, edi - 00020 d3 e0 shl eax, cl - 00022 57 push edi - 00023 50 push eax - 00024 ff 72 28 push DWORD PTR [edx+40] - 00027 8b 42 20 mov eax, DWORD PTR [edx+32] - 0002a ff d0 call eax - 0002c 83 c4 0c add esp, 12 ; 0000000cH - 0002f 89 46 34 mov DWORD PTR [esi+52], eax - -; 392 : ZALLOC(strm, 1U << state->wbits, -; 393 : sizeof(unsigned char)); -; 394 : if (state->window == Z_NULL) return 1; - - 00032 85 c0 test eax, eax - 00034 75 08 jne SHORT $LN13@updatewind - 00036 8b c7 mov eax, edi - 00038 5f pop edi - 00039 5e pop esi - -; 427 : } - - 0003a 8b e5 mov esp, ebp - 0003c 5d pop ebp - 0003d c3 ret 0 -$LN13@updatewind: - 0003e 8b 45 fc mov eax, DWORD PTR _end$1$[ebp] -$LN3@updatewind: - -; 395 : } -; 396 : -; 397 : /* if window not in use yet, initialize */ -; 398 : if (state->wsize == 0) { - - 00041 83 7e 28 00 cmp DWORD PTR [esi+40], 0 - 00045 75 16 jne SHORT $LN4@updatewind - -; 399 : state->wsize = 1U << state->wbits; - - 00047 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 0004a d3 e7 shl edi, cl - 0004c 89 7e 28 mov DWORD PTR [esi+40], edi - -; 400 : state->wnext = 0; - - 0004f c7 46 30 00 00 - 00 00 mov DWORD PTR [esi+48], 0 - -; 401 : state->whave = 0; - - 00056 c7 46 2c 00 00 - 00 00 mov DWORD PTR [esi+44], 0 -$LN4@updatewind: - -; 402 : } -; 403 : -; 404 : /* copy state->wsize or less output bytes into the circular window */ -; 405 : if (copy >= state->wsize) { - - 0005d 8b 7e 28 mov edi, DWORD PTR [esi+40] - 00060 53 push ebx - 00061 8b 5d 08 mov ebx, DWORD PTR _copy$[ebp] - 00064 3b df cmp ebx, edi - 00066 72 25 jb SHORT $LN5@updatewind - -; 406 : zmemcpy(state->window, end - state->wsize, state->wsize); - - 00068 57 push edi - 00069 2b c7 sub eax, edi - 0006b 50 push eax - 0006c ff 76 34 push DWORD PTR [esi+52] - 0006f e8 00 00 00 00 call _memcpy - -; 407 : state->wnext = 0; -; 408 : state->whave = state->wsize; - - 00074 8b 46 28 mov eax, DWORD PTR [esi+40] - 00077 83 c4 0c add esp, 12 ; 0000000cH - -; 423 : if (state->whave < state->wsize) state->whave += dist; - - 0007a 89 46 2c mov DWORD PTR [esi+44], eax - -; 424 : } -; 425 : } -; 426 : return 0; - - 0007d 33 c0 xor eax, eax - 0007f c7 46 30 00 00 - 00 00 mov DWORD PTR [esi+48], 0 - 00086 5b pop ebx - 00087 5f pop edi - 00088 5e pop esi - -; 427 : } - - 00089 8b e5 mov esp, ebp - 0008b 5d pop ebp - 0008c c3 ret 0 -$LN5@updatewind: - -; 409 : } -; 410 : else { -; 411 : dist = state->wsize - state->wnext; - - 0008d 2b 7e 30 sub edi, DWORD PTR [esi+48] - -; 412 : if (dist > copy) dist = copy; - - 00090 3b fb cmp edi, ebx - 00092 0f 47 fb cmova edi, ebx - -; 413 : zmemcpy(state->window + state->wnext, end - copy, dist); - - 00095 2b c3 sub eax, ebx - 00097 57 push edi - 00098 50 push eax - 00099 8b 46 34 mov eax, DWORD PTR [esi+52] - 0009c 03 46 30 add eax, DWORD PTR [esi+48] - 0009f 50 push eax - 000a0 e8 00 00 00 00 call _memcpy - 000a5 83 c4 0c add esp, 12 ; 0000000cH - -; 414 : copy -= dist; - - 000a8 2b df sub ebx, edi - -; 415 : if (copy) { - - 000aa 74 24 je SHORT $LN8@updatewind - -; 416 : zmemcpy(state->window, end - copy, copy); - - 000ac 8b 45 fc mov eax, DWORD PTR _end$1$[ebp] - 000af 53 push ebx - 000b0 2b c3 sub eax, ebx - 000b2 50 push eax - 000b3 ff 76 34 push DWORD PTR [esi+52] - 000b6 e8 00 00 00 00 call _memcpy - -; 417 : state->wnext = copy; -; 418 : state->whave = state->wsize; - - 000bb 8b 46 28 mov eax, DWORD PTR [esi+40] - 000be 83 c4 0c add esp, 12 ; 0000000cH - 000c1 89 5e 30 mov DWORD PTR [esi+48], ebx - -; 423 : if (state->whave < state->wsize) state->whave += dist; - - 000c4 89 46 2c mov DWORD PTR [esi+44], eax - -; 424 : } -; 425 : } -; 426 : return 0; - - 000c7 33 c0 xor eax, eax - 000c9 5b pop ebx - 000ca 5f pop edi - 000cb 5e pop esi - -; 427 : } - - 000cc 8b e5 mov esp, ebp - 000ce 5d pop ebp - 000cf c3 ret 0 -$LN8@updatewind: - -; 419 : } -; 420 : else { -; 421 : state->wnext += dist; - - 000d0 01 7e 30 add DWORD PTR [esi+48], edi - -; 422 : if (state->wnext == state->wsize) state->wnext = 0; - - 000d3 8b 4e 28 mov ecx, DWORD PTR [esi+40] - 000d6 39 4e 30 cmp DWORD PTR [esi+48], ecx - 000d9 75 07 jne SHORT $LN10@updatewind - 000db c7 46 30 00 00 - 00 00 mov DWORD PTR [esi+48], 0 -$LN10@updatewind: - -; 423 : if (state->whave < state->wsize) state->whave += dist; - - 000e2 8b 46 2c mov eax, DWORD PTR [esi+44] - 000e5 3b c1 cmp eax, ecx - 000e7 73 05 jae SHORT $LN11@updatewind - 000e9 03 c7 add eax, edi - 000eb 89 46 2c mov DWORD PTR [esi+44], eax -$LN11@updatewind: - -; 424 : } -; 425 : } -; 426 : return 0; - - 000ee 5b pop ebx - 000ef 5f pop edi - 000f0 33 c0 xor eax, eax - 000f2 5e pop esi - -; 427 : } - - 000f3 8b e5 mov esp, ebp - 000f5 5d pop ebp - 000f6 c3 ret 0 -_updatewindow ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateGetDictionary@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_dictionary$ = 12 ; size = 4 -_dictLength$ = 16 ; size = 4 -_inflateGetDictionary@12 PROC ; COMDAT - -; 1272 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 1273 : struct inflate_state FAR *state; -; 1274 : -; 1275 : /* check state */ -; 1276 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00004 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00007 85 f6 test esi, esi - 00009 74 52 je SHORT $LN3@inflateGet - 0000b 8b 76 1c mov esi, DWORD PTR [esi+28] - 0000e 85 f6 test esi, esi - 00010 74 4b je SHORT $LN3@inflateGet - -; 1277 : state = (struct inflate_state FAR *)strm->state; -; 1278 : -; 1279 : /* copy dictionary */ -; 1280 : if (state->whave && dictionary != Z_NULL) { - - 00012 8b 46 2c mov eax, DWORD PTR [esi+44] - 00015 85 c0 test eax, eax - 00017 74 31 je SHORT $LN4@inflateGet - 00019 57 push edi - 0001a 8b 7d 0c mov edi, DWORD PTR _dictionary$[ebp] - 0001d 85 ff test edi, edi - 0001f 74 28 je SHORT $LN7@inflateGet - -; 1281 : zmemcpy(dictionary, state->window + state->wnext, - - 00021 2b 46 30 sub eax, DWORD PTR [esi+48] - 00024 50 push eax - 00025 8b 46 34 mov eax, DWORD PTR [esi+52] - 00028 03 46 30 add eax, DWORD PTR [esi+48] - 0002b 50 push eax - 0002c 57 push edi - 0002d e8 00 00 00 00 call _memcpy - -; 1282 : state->whave - state->wnext); -; 1283 : zmemcpy(dictionary + state->whave - state->wnext, - - 00032 8b 4e 30 mov ecx, DWORD PTR [esi+48] - 00035 8b 46 2c mov eax, DWORD PTR [esi+44] - 00038 51 push ecx - 00039 ff 76 34 push DWORD PTR [esi+52] - 0003c 2b c1 sub eax, ecx - 0003e 03 c7 add eax, edi - 00040 50 push eax - 00041 e8 00 00 00 00 call _memcpy - 00046 83 c4 18 add esp, 24 ; 00000018H -$LN7@inflateGet: - 00049 5f pop edi -$LN4@inflateGet: - -; 1284 : state->window, state->wnext); -; 1285 : } -; 1286 : if (dictLength != Z_NULL) - - 0004a 8b 4d 10 mov ecx, DWORD PTR _dictLength$[ebp] - 0004d 85 c9 test ecx, ecx - 0004f 74 05 je SHORT $LN5@inflateGet - -; 1287 : *dictLength = state->whave; - - 00051 8b 46 2c mov eax, DWORD PTR [esi+44] - 00054 89 01 mov DWORD PTR [ecx], eax -$LN5@inflateGet: - -; 1288 : return Z_OK; - - 00056 33 c0 xor eax, eax - 00058 5e pop esi - -; 1289 : } - - 00059 5d pop ebp - 0005a c2 0c 00 ret 12 ; 0000000cH -$LN3@inflateGet: - -; 1273 : struct inflate_state FAR *state; -; 1274 : -; 1275 : /* check state */ -; 1276 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0005d b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00062 5e pop esi - -; 1289 : } - - 00063 5d pop ebp - 00064 c2 0c 00 ret 12 ; 0000000cH -_inflateGetDictionary@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateSetDictionary@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_dictionary$ = 12 ; size = 4 -_dictLength$ = 16 ; size = 4 -_inflateSetDictionary@12 PROC ; COMDAT - -; 1295 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - 00004 57 push edi - -; 1296 : struct inflate_state FAR *state; -; 1297 : unsigned long dictid; -; 1298 : int ret; -; 1299 : -; 1300 : /* check state */ -; 1301 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00005 8b 7d 08 mov edi, DWORD PTR _strm$[ebp] - 00008 85 ff test edi, edi - 0000a 0f 84 84 00 00 - 00 je $LN3@inflateSet - 00010 8b 77 1c mov esi, DWORD PTR [edi+28] - 00013 85 f6 test esi, esi - 00015 74 7d je SHORT $LN3@inflateSet - -; 1302 : state = (struct inflate_state FAR *)strm->state; -; 1303 : if (state->wrap != 0 && state->mode != DICT) - - 00017 83 7e 08 00 cmp DWORD PTR [esi+8], 0 - 0001b 53 push ebx - 0001c 8b 5d 10 mov ebx, DWORD PTR _dictLength$[ebp] - 0001f 74 11 je SHORT $LN4@inflateSet - 00021 83 3e 0a cmp DWORD PTR [esi], 10 ; 0000000aH - 00024 74 11 je SHORT $LN9@inflateSet - -; 1304 : return Z_STREAM_ERROR; - - 00026 5b pop ebx - 00027 5f pop edi - 00028 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0002d 5e pop esi - -; 1324 : } - - 0002e 5d pop ebp - 0002f c2 0c 00 ret 12 ; 0000000cH -$LN4@inflateSet: - -; 1305 : -; 1306 : /* check for correct dictionary identifier */ -; 1307 : if (state->mode == DICT) { - - 00032 83 3e 0a cmp DWORD PTR [esi], 10 ; 0000000aH - 00035 75 26 jne SHORT $LN6@inflateSet -$LN9@inflateSet: - -; 1308 : dictid = adler32(0L, Z_NULL, 0); -; 1309 : dictid = adler32(dictid, dictionary, dictLength); - - 00037 53 push ebx - 00038 ff 75 0c push DWORD PTR _dictionary$[ebp] - 0003b 6a 00 push 0 - 0003d 6a 00 push 0 - 0003f 6a 00 push 0 - 00041 e8 00 00 00 00 call _adler32@12 - 00046 50 push eax - 00047 e8 00 00 00 00 call _adler32@12 - -; 1310 : if (dictid != state->check) - - 0004c 3b 46 18 cmp eax, DWORD PTR [esi+24] - 0004f 74 0c je SHORT $LN6@inflateSet - -; 1311 : return Z_DATA_ERROR; - - 00051 5b pop ebx - 00052 5f pop edi - 00053 b8 fd ff ff ff mov eax, -3 ; fffffffdH - 00058 5e pop esi - -; 1324 : } - - 00059 5d pop ebp - 0005a c2 0c 00 ret 12 ; 0000000cH -$LN6@inflateSet: - -; 1312 : } -; 1313 : -; 1314 : /* copy dictionary to window using updatewindow(), which will amend the -; 1315 : existing dictionary if appropriate */ -; 1316 : ret = updatewindow(strm, dictionary + dictLength, dictLength); - - 0005d 8b 55 0c mov edx, DWORD PTR _dictionary$[ebp] - 00060 8b cf mov ecx, edi - 00062 53 push ebx - 00063 8d 14 1a lea edx, DWORD PTR [edx+ebx] - 00066 e8 00 00 00 00 call _updatewindow - 0006b 83 c4 04 add esp, 4 - -; 1317 : if (ret) { - - 0006e 85 c0 test eax, eax - 00070 74 12 je SHORT $LN7@inflateSet - -; 1318 : state->mode = MEM; - - 00072 5b pop ebx - 00073 5f pop edi - 00074 c7 06 1e 00 00 - 00 mov DWORD PTR [esi], 30 ; 0000001eH - -; 1319 : return Z_MEM_ERROR; - - 0007a b8 fc ff ff ff mov eax, -4 ; fffffffcH - 0007f 5e pop esi - -; 1324 : } - - 00080 5d pop ebp - 00081 c2 0c 00 ret 12 ; 0000000cH -$LN7@inflateSet: - 00084 5b pop ebx - 00085 5f pop edi - -; 1320 : } -; 1321 : state->havedict = 1; - - 00086 c7 46 0c 01 00 - 00 00 mov DWORD PTR [esi+12], 1 - -; 1322 : Tracev((stderr, "inflate: dictionary set\n")); -; 1323 : return Z_OK; - - 0008d 33 c0 xor eax, eax - 0008f 5e pop esi - -; 1324 : } - - 00090 5d pop ebp - 00091 c2 0c 00 ret 12 ; 0000000cH -$LN3@inflateSet: - 00094 5f pop edi - -; 1296 : struct inflate_state FAR *state; -; 1297 : unsigned long dictid; -; 1298 : int ret; -; 1299 : -; 1300 : /* check state */ -; 1301 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00095 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0009a 5e pop esi - -; 1324 : } - - 0009b 5d pop ebp - 0009c c2 0c 00 ret 12 ; 0000000cH -_inflateSetDictionary@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateGetHeader@8 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_head$ = 12 ; size = 4 -_inflateGetHeader@8 PROC ; COMDAT - -; 1329 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1330 : struct inflate_state FAR *state; -; 1331 : -; 1332 : /* check state */ -; 1333 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00006 85 c9 test ecx, ecx - 00008 74 20 je SHORT $LN3@inflateGet - 0000a 8b 49 1c mov ecx, DWORD PTR [ecx+28] - 0000d 85 c9 test ecx, ecx - 0000f 74 19 je SHORT $LN3@inflateGet - -; 1334 : state = (struct inflate_state FAR *)strm->state; -; 1335 : if ((state->wrap & 2) == 0) return Z_STREAM_ERROR; - - 00011 f6 41 08 02 test BYTE PTR [ecx+8], 2 - 00015 74 13 je SHORT $LN3@inflateGet - -; 1336 : -; 1337 : /* save header structure */ -; 1338 : state->head = head; - - 00017 8b 45 0c mov eax, DWORD PTR _head$[ebp] - 0001a 89 41 20 mov DWORD PTR [ecx+32], eax - -; 1339 : head->done = 0; - - 0001d c7 40 30 00 00 - 00 00 mov DWORD PTR [eax+48], 0 - -; 1340 : return Z_OK; - - 00024 33 c0 xor eax, eax - -; 1341 : } - - 00026 5d pop ebp - 00027 c2 08 00 ret 8 -$LN3@inflateGet: - -; 1330 : struct inflate_state FAR *state; -; 1331 : -; 1332 : /* check state */ -; 1333 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0002a b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 1341 : } - - 0002f 5d pop ebp - 00030 c2 08 00 ret 8 -_inflateGetHeader@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _syncsearch -_TEXT SEGMENT -_buf$1$ = -8 ; size = 4 -_have$1$ = -4 ; size = 4 -_len$ = 8 ; size = 4 -_syncsearch PROC ; COMDAT -; _have$ = ecx -; _buf$ = edx - -; 1358 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - -; 1359 : unsigned got; -; 1360 : unsigned next; -; 1361 : -; 1362 : got = *have; - - 00006 8b 01 mov eax, DWORD PTR [ecx] - 00008 56 push esi - 00009 57 push edi - -; 1363 : next = 0; -; 1364 : while (next < len && got < 4) { - - 0000a 8b 7d 08 mov edi, DWORD PTR _len$[ebp] - 0000d 33 f6 xor esi, esi - 0000f 89 55 f8 mov DWORD PTR _buf$1$[ebp], edx - 00012 89 4d fc mov DWORD PTR _have$1$[ebp], ecx - 00015 85 ff test edi, edi - 00017 74 50 je SHORT $LN13@syncsearch - 00019 53 push ebx - 0001a 66 0f 1f 44 00 - 00 npad 6 -$LL2@syncsearch: - 00020 83 f8 04 cmp eax, 4 - 00023 73 36 jae SHORT $LN14@syncsearch - -; 1365 : if ((int)(buf[next]) == (got < 2 ? 0 : 0xff)) - - 00025 8a 1c 16 mov bl, BYTE PTR [esi+edx] - 00028 83 f8 02 cmp eax, 2 - 0002b 0f b6 cb movzx ecx, bl - 0002e 1b d2 sbb edx, edx - 00030 81 e2 01 ff ff - ff and edx, -255 ; ffffff01H - 00036 81 c2 ff 00 00 - 00 add edx, 255 ; 000000ffH - 0003c 3b ca cmp ecx, edx - 0003e 75 03 jne SHORT $LN4@syncsearch - -; 1366 : got++; - - 00040 40 inc eax - 00041 eb 10 jmp SHORT $LN7@syncsearch -$LN4@syncsearch: - -; 1367 : else if (buf[next]) -; 1368 : got = 0; -; 1369 : else -; 1370 : got = 4 - got; - - 00043 b9 04 00 00 00 mov ecx, 4 - 00048 33 d2 xor edx, edx - 0004a 2b c8 sub ecx, eax - 0004c 84 db test bl, bl - 0004e 8b c1 mov eax, ecx - 00050 0f 45 c2 cmovne eax, edx -$LN7@syncsearch: - -; 1371 : next++; - - 00053 8b 55 f8 mov edx, DWORD PTR _buf$1$[ebp] - 00056 46 inc esi - 00057 3b f7 cmp esi, edi - 00059 72 c5 jb SHORT $LL2@syncsearch -$LN14@syncsearch: - -; 1372 : } -; 1373 : *have = got; - - 0005b 8b 4d fc mov ecx, DWORD PTR _have$1$[ebp] - 0005e 5b pop ebx - 0005f 5f pop edi - 00060 89 01 mov DWORD PTR [ecx], eax - -; 1374 : return next; - - 00062 8b c6 mov eax, esi - 00064 5e pop esi - -; 1375 : } - - 00065 8b e5 mov esp, ebp - 00067 5d pop ebp - 00068 c3 ret 0 -$LN13@syncsearch: - -; 1372 : } -; 1373 : *have = got; - - 00069 89 01 mov DWORD PTR [ecx], eax - -; 1374 : return next; - - 0006b 8b c6 mov eax, esi - 0006d 5f pop edi - 0006e 5e pop esi - -; 1375 : } - - 0006f 8b e5 mov esp, ebp - 00071 5d pop ebp - 00072 c3 ret 0 -_syncsearch ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateSync@4 -_TEXT SEGMENT -_in$1$ = 8 ; size = 4 -_buf$ = 8 ; size = 4 -_strm$ = 8 ; size = 4 -_inflateSync@4 PROC ; COMDAT - -; 1379 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 1380 : unsigned len; /* number of bytes to look at or looked at */ -; 1381 : unsigned long in, out; /* temporary to save total_in and total_out */ -; 1382 : unsigned char buf[4]; /* to restore bit buffer to byte string */ -; 1383 : struct inflate_state FAR *state; -; 1384 : -; 1385 : /* check parameters */ -; 1386 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00004 8b 5d 08 mov ebx, DWORD PTR _strm$[ebp] - 00007 57 push edi - 00008 85 db test ebx, ebx - 0000a 0f 84 cf 00 00 - 00 je $LN5@inflateSyn - 00010 8b 7b 1c mov edi, DWORD PTR [ebx+28] - 00013 85 ff test edi, edi - 00015 0f 84 c4 00 00 - 00 je $LN5@inflateSyn - -; 1387 : state = (struct inflate_state FAR *)strm->state; -; 1388 : if (strm->avail_in == 0 && state->bits < 8) return Z_BUF_ERROR; - - 0001b 83 7b 04 00 cmp DWORD PTR [ebx+4], 0 - 0001f 75 11 jne SHORT $LN6@inflateSyn - 00021 83 7f 3c 08 cmp DWORD PTR [edi+60], 8 - 00025 73 0b jae SHORT $LN6@inflateSyn - 00027 5f pop edi - 00028 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 0002d 5b pop ebx - -; 1418 : } - - 0002e 5d pop ebp - 0002f c2 04 00 ret 4 -$LN6@inflateSyn: - -; 1389 : -; 1390 : /* if first time, start search in bit buffer */ -; 1391 : if (state->mode != SYNC) { - - 00032 83 3f 1f cmp DWORD PTR [edi], 31 ; 0000001fH - 00035 56 push esi - 00036 74 56 je SHORT $LN7@inflateSyn - -; 1392 : state->mode = SYNC; -; 1393 : state->hold <<= state->bits & 7; - - 00038 8b 57 3c mov edx, DWORD PTR [edi+60] - -; 1394 : state->bits -= state->bits & 7; -; 1395 : len = 0; - - 0003b 33 f6 xor esi, esi - 0003d 8b ca mov ecx, edx - 0003f c7 07 1f 00 00 - 00 mov DWORD PTR [edi], 31 ; 0000001fH - 00045 83 e1 07 and ecx, 7 - 00048 d3 67 38 shl DWORD PTR [edi+56], cl - 0004b 2b d1 sub edx, ecx - 0004d 89 57 3c mov DWORD PTR [edi+60], edx - -; 1396 : while (state->bits >= 8) { - - 00050 83 fa 08 cmp edx, 8 - 00053 72 24 jb SHORT $LN3@inflateSyn - 00055 8b 4f 38 mov ecx, DWORD PTR [edi+56] - 00058 0f 1f 84 00 00 - 00 00 00 npad 8 -$LL2@inflateSyn: - -; 1397 : buf[len++] = (unsigned char)(state->hold); - - 00060 8a 47 38 mov al, BYTE PTR [edi+56] - -; 1398 : state->hold >>= 8; -; 1399 : state->bits -= 8; - - 00063 83 ea 08 sub edx, 8 - 00066 88 44 35 08 mov BYTE PTR _buf$[ebp+esi], al - 0006a 46 inc esi - 0006b c1 e9 08 shr ecx, 8 - 0006e 89 4f 38 mov DWORD PTR [edi+56], ecx - 00071 83 fa 08 cmp edx, 8 - 00074 73 ea jae SHORT $LL2@inflateSyn - 00076 89 57 3c mov DWORD PTR [edi+60], edx -$LN3@inflateSyn: - -; 1400 : } -; 1401 : state->have = 0; - - 00079 8d 4f 68 lea ecx, DWORD PTR [edi+104] - -; 1402 : syncsearch(&(state->have), buf, len); - - 0007c 8d 55 08 lea edx, DWORD PTR _buf$[ebp] - 0007f c7 01 00 00 00 - 00 mov DWORD PTR [ecx], 0 - 00085 56 push esi - 00086 e8 00 00 00 00 call _syncsearch - 0008b 83 c4 04 add esp, 4 -$LN7@inflateSyn: - -; 1403 : } -; 1404 : -; 1405 : /* search available input */ -; 1406 : len = syncsearch(&(state->have), strm->next_in, strm->avail_in); - - 0008e ff 73 04 push DWORD PTR [ebx+4] - 00091 8b 13 mov edx, DWORD PTR [ebx] - 00093 8d 4f 68 lea ecx, DWORD PTR [edi+104] - 00096 e8 00 00 00 00 call _syncsearch - -; 1407 : strm->avail_in -= len; - - 0009b 29 43 04 sub DWORD PTR [ebx+4], eax - 0009e 83 c4 04 add esp, 4 - -; 1408 : strm->next_in += len; - - 000a1 01 03 add DWORD PTR [ebx], eax - -; 1409 : strm->total_in += len; - - 000a3 01 43 08 add DWORD PTR [ebx+8], eax - -; 1410 : -; 1411 : /* return no joy or set up to restart inflate() on a new block */ -; 1412 : if (state->have != 4) return Z_DATA_ERROR; - - 000a6 83 7f 68 04 cmp DWORD PTR [edi+104], 4 - 000aa 8b 43 08 mov eax, DWORD PTR [ebx+8] - 000ad 89 45 08 mov DWORD PTR _in$1$[ebp], eax - 000b0 74 0c je SHORT $LN8@inflateSyn - 000b2 5e pop esi - 000b3 5f pop edi - 000b4 b8 fd ff ff ff mov eax, -3 ; fffffffdH - 000b9 5b pop ebx - -; 1418 : } - - 000ba 5d pop ebp - 000bb c2 04 00 ret 4 -$LN8@inflateSyn: - -; 1413 : in = strm->total_in; out = strm->total_out; - - 000be 8b 73 14 mov esi, DWORD PTR [ebx+20] - -; 1414 : inflateReset(strm); - - 000c1 53 push ebx - 000c2 e8 00 00 00 00 call _inflateReset@4 - -; 1415 : strm->total_in = in; strm->total_out = out; - - 000c7 8b 45 08 mov eax, DWORD PTR _in$1$[ebp] - 000ca 89 73 14 mov DWORD PTR [ebx+20], esi - 000cd 89 43 08 mov DWORD PTR [ebx+8], eax - -; 1416 : state->mode = TYPE; -; 1417 : return Z_OK; - - 000d0 33 c0 xor eax, eax - 000d2 5e pop esi - 000d3 c7 07 0b 00 00 - 00 mov DWORD PTR [edi], 11 ; 0000000bH - 000d9 5f pop edi - 000da 5b pop ebx - -; 1418 : } - - 000db 5d pop ebp - 000dc c2 04 00 ret 4 -$LN5@inflateSyn: - 000df 5f pop edi - -; 1380 : unsigned len; /* number of bytes to look at or looked at */ -; 1381 : unsigned long in, out; /* temporary to save total_in and total_out */ -; 1382 : unsigned char buf[4]; /* to restore bit buffer to byte string */ -; 1383 : struct inflate_state FAR *state; -; 1384 : -; 1385 : /* check parameters */ -; 1386 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 000e0 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000e5 5b pop ebx - -; 1418 : } - - 000e6 5d pop ebp - 000e7 c2 04 00 ret 4 -_inflateSync@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateSyncPoint@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateSyncPoint@4 PROC ; COMDAT - -; 1430 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1431 : struct inflate_state FAR *state; -; 1432 : -; 1433 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 21 je SHORT $LN3@inflateSyn - 0000a 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000d 85 c0 test eax, eax - 0000f 74 1a je SHORT $LN3@inflateSyn - -; 1434 : state = (struct inflate_state FAR *)strm->state; -; 1435 : return state->mode == STORED && state->bits == 0; - - 00011 83 38 0d cmp DWORD PTR [eax], 13 ; 0000000dH - 00014 75 0f jne SHORT $LN5@inflateSyn - 00016 83 78 3c 00 cmp DWORD PTR [eax+60], 0 - 0001a 75 09 jne SHORT $LN5@inflateSyn - 0001c b8 01 00 00 00 mov eax, 1 - -; 1436 : } - - 00021 5d pop ebp - 00022 c2 04 00 ret 4 -$LN5@inflateSyn: - -; 1434 : state = (struct inflate_state FAR *)strm->state; -; 1435 : return state->mode == STORED && state->bits == 0; - - 00025 33 c0 xor eax, eax - -; 1436 : } - - 00027 5d pop ebp - 00028 c2 04 00 ret 4 -$LN3@inflateSyn: - -; 1431 : struct inflate_state FAR *state; -; 1432 : -; 1433 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0002b b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 1436 : } - - 00030 5d pop ebp - 00031 c2 04 00 ret 4 -_inflateSyncPoint@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateCopy@8 -_TEXT SEGMENT -_dest$ = 8 ; size = 4 -_window$1$ = 12 ; size = 4 -_source$ = 12 ; size = 4 -_inflateCopy@8 PROC ; COMDAT - -; 1441 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1442 : struct inflate_state FAR *state; -; 1443 : struct inflate_state FAR *copy; -; 1444 : unsigned char FAR *window; -; 1445 : unsigned wsize; -; 1446 : -; 1447 : /* check input */ -; 1448 : if (dest == Z_NULL || source == Z_NULL || source->state == Z_NULL || -; 1449 : source->zalloc == (alloc_func)0 || source->zfree == (free_func)0) - - 00003 8b 45 08 mov eax, DWORD PTR _dest$[ebp] - 00006 56 push esi - 00007 57 push edi - 00008 85 c0 test eax, eax - 0000a 0f 84 44 01 00 - 00 je $LN3@inflateCop - 00010 8b 75 0c mov esi, DWORD PTR _source$[ebp] - 00013 85 f6 test esi, esi - 00015 0f 84 39 01 00 - 00 je $LN3@inflateCop - 0001b 8b 7e 1c mov edi, DWORD PTR [esi+28] - 0001e 85 ff test edi, edi - 00020 0f 84 2e 01 00 - 00 je $LN3@inflateCop - 00026 8b 46 20 mov eax, DWORD PTR [esi+32] - 00029 85 c0 test eax, eax - 0002b 0f 84 23 01 00 - 00 je $LN3@inflateCop - 00031 83 7e 24 00 cmp DWORD PTR [esi+36], 0 - 00035 0f 84 19 01 00 - 00 je $LN3@inflateCop - -; 1451 : state = (struct inflate_state FAR *)source->state; -; 1452 : -; 1453 : /* allocate space */ -; 1454 : copy = (struct inflate_state FAR *) - - 0003b 53 push ebx - 0003c 68 cc 1b 00 00 push 7116 ; 00001bccH - 00041 6a 01 push 1 - 00043 ff 76 28 push DWORD PTR [esi+40] - 00046 ff d0 call eax - 00048 8b d8 mov ebx, eax - 0004a 83 c4 0c add esp, 12 ; 0000000cH - -; 1455 : ZALLOC(source, 1, sizeof(struct inflate_state)); -; 1456 : if (copy == Z_NULL) return Z_MEM_ERROR; - - 0004d 85 db test ebx, ebx - 0004f 74 38 je SHORT $LN11@inflateCop - -; 1457 : window = Z_NULL; -; 1458 : if (state->window != Z_NULL) { - - 00051 83 7f 34 00 cmp DWORD PTR [edi+52], 0 - 00055 c7 45 0c 00 00 - 00 00 mov DWORD PTR _window$1$[ebp], 0 - 0005c 74 37 je SHORT $LN6@inflateCop - -; 1459 : window = (unsigned char FAR *) - - 0005e 8b 4f 24 mov ecx, DWORD PTR [edi+36] - 00061 b8 01 00 00 00 mov eax, 1 - 00066 d3 e0 shl eax, cl - 00068 6a 01 push 1 - 0006a 50 push eax - 0006b ff 76 28 push DWORD PTR [esi+40] - 0006e 8b 46 20 mov eax, DWORD PTR [esi+32] - 00071 ff d0 call eax - 00073 83 c4 0c add esp, 12 ; 0000000cH - 00076 89 45 0c mov DWORD PTR _window$1$[ebp], eax - -; 1460 : ZALLOC(source, 1U << state->wbits, sizeof(unsigned char)); -; 1461 : if (window == Z_NULL) { - - 00079 85 c0 test eax, eax - 0007b 75 18 jne SHORT $LN6@inflateCop - -; 1462 : ZFREE(source, copy); - - 0007d 8b 46 24 mov eax, DWORD PTR [esi+36] - 00080 53 push ebx - 00081 ff 76 28 push DWORD PTR [esi+40] - 00084 ff d0 call eax - 00086 83 c4 08 add esp, 8 -$LN11@inflateCop: - -; 1463 : return Z_MEM_ERROR; - - 00089 5b pop ebx - 0008a 5f pop edi - 0008b b8 fc ff ff ff mov eax, -4 ; fffffffcH - 00090 5e pop esi - -; 1483 : } - - 00091 5d pop ebp - 00092 c2 08 00 ret 8 -$LN6@inflateCop: - -; 1464 : } -; 1465 : } -; 1466 : -; 1467 : /* copy state */ -; 1468 : zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream)); - - 00095 0f 10 06 movups xmm0, XMMWORD PTR [esi] - 00098 8b 45 08 mov eax, DWORD PTR _dest$[ebp] - -; 1469 : zmemcpy((voidpf)copy, (voidpf)state, sizeof(struct inflate_state)); - - 0009b 68 cc 1b 00 00 push 7116 ; 00001bccH - 000a0 57 push edi - 000a1 53 push ebx - 000a2 0f 11 00 movups XMMWORD PTR [eax], xmm0 - 000a5 0f 10 46 10 movups xmm0, XMMWORD PTR [esi+16] - 000a9 0f 11 40 10 movups XMMWORD PTR [eax+16], xmm0 - 000ad 0f 10 46 20 movups xmm0, XMMWORD PTR [esi+32] - 000b1 0f 11 40 20 movups XMMWORD PTR [eax+32], xmm0 - 000b5 f3 0f 7e 46 30 movq xmm0, QWORD PTR [esi+48] - 000ba 66 0f d6 40 30 movq QWORD PTR [eax+48], xmm0 - 000bf e8 00 00 00 00 call _memcpy - -; 1470 : if (state->lencode >= state->codes && - - 000c4 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 000c7 8d 87 30 05 00 - 00 lea eax, DWORD PTR [edi+1328] - 000cd 83 c4 0c add esp, 12 ; 0000000cH - 000d0 3b c8 cmp ecx, eax - 000d2 72 38 jb SHORT $LN7@inflateCop - 000d4 8d 87 bc 1b 00 - 00 lea eax, DWORD PTR [edi+7100] - 000da 3b c8 cmp ecx, eax - 000dc 77 2e ja SHORT $LN7@inflateCop - -; 1471 : state->lencode <= state->codes + ENOUGH - 1) { -; 1472 : copy->lencode = copy->codes + (state->lencode - state->codes); - - 000de 2b cf sub ecx, edi - 000e0 8d 81 d0 fa ff - ff lea eax, DWORD PTR [ecx-1328] - 000e6 c1 f8 02 sar eax, 2 - 000e9 05 4c 01 00 00 add eax, 332 ; 0000014cH - 000ee 8d 04 83 lea eax, DWORD PTR [ebx+eax*4] - 000f1 89 43 4c mov DWORD PTR [ebx+76], eax - -; 1473 : copy->distcode = copy->codes + (state->distcode - state->codes); - - 000f4 8b 47 50 mov eax, DWORD PTR [edi+80] - 000f7 2b c7 sub eax, edi - 000f9 2d 30 05 00 00 sub eax, 1328 ; 00000530H - 000fe c1 f8 02 sar eax, 2 - 00101 05 4c 01 00 00 add eax, 332 ; 0000014cH - 00106 8d 04 83 lea eax, DWORD PTR [ebx+eax*4] - 00109 89 43 50 mov DWORD PTR [ebx+80], eax -$LN7@inflateCop: - -; 1474 : } -; 1475 : copy->next = copy->codes + (state->next - state->codes); - - 0010c 8b 47 6c mov eax, DWORD PTR [edi+108] - -; 1476 : if (window != Z_NULL) { - - 0010f 8b 75 0c mov esi, DWORD PTR _window$1$[ebp] - 00112 2b c7 sub eax, edi - 00114 2d 30 05 00 00 sub eax, 1328 ; 00000530H - 00119 c1 f8 02 sar eax, 2 - 0011c 05 4c 01 00 00 add eax, 332 ; 0000014cH - 00121 8d 04 83 lea eax, DWORD PTR [ebx+eax*4] - 00124 89 43 6c mov DWORD PTR [ebx+108], eax - 00127 85 f6 test esi, esi - 00129 74 17 je SHORT $LN8@inflateCop - -; 1477 : wsize = 1U << state->wbits; - - 0012b 8b 4f 24 mov ecx, DWORD PTR [edi+36] - 0012e b8 01 00 00 00 mov eax, 1 - 00133 d3 e0 shl eax, cl - -; 1478 : zmemcpy(window, state->window, wsize); - - 00135 50 push eax - 00136 ff 77 34 push DWORD PTR [edi+52] - 00139 56 push esi - 0013a e8 00 00 00 00 call _memcpy - 0013f 83 c4 0c add esp, 12 ; 0000000cH -$LN8@inflateCop: - -; 1479 : } -; 1480 : copy->window = window; -; 1481 : dest->state = (struct internal_state FAR *)copy; - - 00142 8b 45 08 mov eax, DWORD PTR _dest$[ebp] - 00145 89 73 34 mov DWORD PTR [ebx+52], esi - 00148 89 58 1c mov DWORD PTR [eax+28], ebx - -; 1482 : return Z_OK; - - 0014b 33 c0 xor eax, eax - 0014d 5b pop ebx - 0014e 5f pop edi - 0014f 5e pop esi - -; 1483 : } - - 00150 5d pop ebp - 00151 c2 08 00 ret 8 -$LN3@inflateCop: - 00154 5f pop edi - -; 1450 : return Z_STREAM_ERROR; - - 00155 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0015a 5e pop esi - -; 1483 : } - - 0015b 5d pop ebp - 0015c c2 08 00 ret 8 -_inflateCopy@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateUndermine@8 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_subvert$ = 12 ; size = 4 -_inflateUndermine@8 PROC ; COMDAT - -; 1488 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1489 : struct inflate_state FAR *state; -; 1490 : -; 1491 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 1a je SHORT $LN3@inflateUnd - 0000a 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000d 85 c0 test eax, eax - 0000f 74 13 je SHORT $LN3@inflateUnd - -; 1492 : state = (struct inflate_state FAR *)strm->state; -; 1493 : state->sane = !subvert; -; 1494 : #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR -; 1495 : return Z_OK; -; 1496 : #else -; 1497 : state->sane = 1; - - 00011 c7 80 c0 1b 00 - 00 01 00 00 00 mov DWORD PTR [eax+7104], 1 - -; 1498 : return Z_DATA_ERROR; - - 0001b b8 fd ff ff ff mov eax, -3 ; fffffffdH - -; 1499 : #endif -; 1500 : } - - 00020 5d pop ebp - 00021 c2 08 00 ret 8 -$LN3@inflateUnd: - -; 1489 : struct inflate_state FAR *state; -; 1490 : -; 1491 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00024 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 1499 : #endif -; 1500 : } - - 00029 5d pop ebp - 0002a c2 08 00 ret 8 -_inflateUndermine@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inflate.c -; COMDAT _inflateMark@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateMark@4 PROC ; COMDAT - -; 1504 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1505 : struct inflate_state FAR *state; -; 1506 : -; 1507 : if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 4e je SHORT $LN3@inflateMar - 0000a 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000d 85 c0 test eax, eax - 0000f 74 47 je SHORT $LN3@inflateMar - -; 1508 : state = (struct inflate_state FAR *)strm->state; -; 1509 : return ((long)(state->back) << 16) + - - 00011 8b 08 mov ecx, DWORD PTR [eax] - 00013 83 f9 0f cmp ecx, 15 ; 0000000fH - 00016 75 12 jne SHORT $LN7@inflateMar - 00018 8b 48 40 mov ecx, DWORD PTR [eax+64] - 0001b 8b 80 c4 1b 00 - 00 mov eax, DWORD PTR [eax+7108] - 00021 c1 e0 10 shl eax, 16 ; 00000010H - 00024 03 c1 add eax, ecx - -; 1510 : (state->mode == COPY ? state->length : -; 1511 : (state->mode == MATCH ? state->was - state->length : 0)); -; 1512 : } - - 00026 5d pop ebp - 00027 c2 04 00 ret 4 -$LN7@inflateMar: - -; 1508 : state = (struct inflate_state FAR *)strm->state; -; 1509 : return ((long)(state->back) << 16) + - - 0002a 83 f9 18 cmp ecx, 24 ; 00000018H - 0002d 75 18 jne SHORT $LN5@inflateMar - 0002f 8b 88 c8 1b 00 - 00 mov ecx, DWORD PTR [eax+7112] - 00035 2b 48 40 sub ecx, DWORD PTR [eax+64] - 00038 8b 80 c4 1b 00 - 00 mov eax, DWORD PTR [eax+7108] - 0003e c1 e0 10 shl eax, 16 ; 00000010H - 00041 03 c1 add eax, ecx - -; 1510 : (state->mode == COPY ? state->length : -; 1511 : (state->mode == MATCH ? state->was - state->length : 0)); -; 1512 : } - - 00043 5d pop ebp - 00044 c2 04 00 ret 4 -$LN5@inflateMar: - -; 1508 : state = (struct inflate_state FAR *)strm->state; -; 1509 : return ((long)(state->back) << 16) + - - 00047 8b 80 c4 1b 00 - 00 mov eax, DWORD PTR [eax+7108] - 0004d 33 c9 xor ecx, ecx - 0004f c1 e0 10 shl eax, 16 ; 00000010H - 00052 03 c1 add eax, ecx - -; 1510 : (state->mode == COPY ? state->length : -; 1511 : (state->mode == MATCH ? state->was - state->length : 0)); -; 1512 : } - - 00054 5d pop ebp - 00055 c2 04 00 ret 4 -$LN3@inflateMar: - -; 1505 : struct inflate_state FAR *state; -; 1506 : -; 1507 : if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16; - - 00058 b8 00 00 ff ff mov eax, -65536 ; ffff0000H - -; 1510 : (state->mode == COPY ? state->length : -; 1511 : (state->mode == MATCH ? state->was - state->length : 0)); -; 1512 : } - - 0005d 5d pop ebp - 0005e c2 04 00 ret 4 -_inflateMark@4 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inflate.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inflate.obj deleted file mode 100644 index bab335459e..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inflate.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inftrees.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inftrees.cod deleted file mode 100644 index 9523ecade6..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inftrees.cod +++ /dev/null @@ -1,1069 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\inftrees.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - - ORG $+2 -?dext@?1??inflate_table@@9@9 DW 010H ; `inflate_table'::`2'::dext - DW 010H - DW 010H - DW 010H - DW 011H - DW 011H - DW 012H - DW 012H - DW 013H - DW 013H - DW 014H - DW 014H - DW 015H - DW 015H - DW 016H - DW 016H - DW 017H - DW 017H - DW 018H - DW 018H - DW 019H - DW 019H - DW 01aH - DW 01aH - DW 01bH - DW 01bH - DW 01cH - DW 01cH - DW 01dH - DW 01dH - DW 040H - DW 040H -?lext@?1??inflate_table@@9@9 DW 010H ; `inflate_table'::`2'::lext - DW 010H - DW 010H - DW 010H - DW 010H - DW 010H - DW 010H - DW 010H - DW 011H - DW 011H - DW 011H - DW 011H - DW 012H - DW 012H - DW 012H - DW 012H - DW 013H - DW 013H - DW 013H - DW 013H - DW 014H - DW 014H - DW 014H - DW 014H - DW 015H - DW 015H - DW 015H - DW 015H - DW 010H - DW 048H - DW 04eH - ORG $+2 -?lbase@?1??inflate_table@@9@9 DW 03H ; `inflate_table'::`2'::lbase - DW 04H - DW 05H - DW 06H - DW 07H - DW 08H - DW 09H - DW 0aH - DW 0bH - DW 0dH - DW 0fH - DW 011H - DW 013H - DW 017H - DW 01bH - DW 01fH - DW 023H - DW 02bH - DW 033H - DW 03bH - DW 043H - DW 053H - DW 063H - DW 073H - DW 083H - DW 0a3H - DW 0c3H - DW 0e3H - DW 0102H - DW 00H - DW 00H - ORG $+2 -?dbase@?1??inflate_table@@9@9 DW 01H ; `inflate_table'::`2'::dbase - DW 02H - DW 03H - DW 04H - DW 05H - DW 07H - DW 09H - DW 0dH - DW 011H - DW 019H - DW 021H - DW 031H - DW 041H - DW 061H - DW 081H - DW 0c1H - DW 0101H - DW 0181H - DW 0201H - DW 0301H - DW 0401H - DW 0601H - DW 0801H - DW 0c01H - DW 01001H - DW 01801H - DW 02001H - DW 03001H - DW 04001H - DW 06001H - DW 00H - DW 00H -PUBLIC _inflate_table -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\inftrees.c -; COMDAT _inflate_table -_TEXT SEGMENT -_offs$ = -128 ; size = 32 -_count$ = -96 ; size = 32 -_min$2$ = -64 ; size = 4 -_mask$1$ = -60 ; size = 4 -tv1501 = -56 ; size = 4 -tv1495 = -56 ; size = 4 -_low$1$ = -52 ; size = 4 -_used$1$ = -48 ; size = 4 -tv1502 = -44 ; size = 4 -_lens$1$ = -40 ; size = 4 -_base$1$ = -36 ; size = 4 -_extra$1$ = -32 ; size = 4 -_end$1$ = -28 ; size = 4 -_root$3$ = -24 ; size = 4 -_len$2$ = -20 ; size = 4 -_type$1$ = -16 ; size = 4 -_huff$1$ = -12 ; size = 4 -_next$1$ = -8 ; size = 4 -_drop$1$ = -4 ; size = 4 -_here$ = 8 ; size = 4 -_codes$ = 8 ; size = 4 -_table$ = 12 ; size = 4 -_bits$ = 16 ; size = 4 -_work$ = 20 ; size = 4 -_inflate_table PROC ; COMDAT -; _type$ = ecx -; _lens$ = edx - -; 39 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 81 ec 80 00 00 - 00 sub esp, 128 ; 00000080H - 00009 53 push ebx - 0000a 56 push esi - 0000b 89 4d f0 mov DWORD PTR _type$1$[ebp], ecx - 0000e 0f 57 c0 xorps xmm0, xmm0 - -; 40 : unsigned len; /* a code's length in bits */ -; 41 : unsigned sym; /* index of code symbols */ -; 42 : unsigned min, max; /* minimum and maximum code lengths */ -; 43 : unsigned root; /* number of index bits for root table */ -; 44 : unsigned curr; /* number of index bits for current table */ -; 45 : unsigned drop; /* code bits to drop for sub-table */ -; 46 : int left; /* number of prefix codes available */ -; 47 : unsigned used; /* code entries in table used */ -; 48 : unsigned huff; /* Huffman code */ -; 49 : unsigned incr; /* for incrementing code, index */ -; 50 : unsigned fill; /* index for replicating entries */ -; 51 : unsigned low; /* low bits for current root entry */ -; 52 : unsigned mask; /* mask for low root bits */ -; 53 : code here; /* table entry for duplication */ -; 54 : code FAR *next; /* next available space in table */ -; 55 : const unsigned short FAR *base; /* base value table to use */ -; 56 : const unsigned short FAR *extra; /* extra bits table to use */ -; 57 : int end; /* use base and extra for symbol > end */ -; 58 : unsigned short count[MAXBITS+1]; /* number of codes of each length */ -; 59 : unsigned short offs[MAXBITS+1]; /* offsets in table for each length */ -; 60 : static const unsigned short lbase[31] = { /* Length codes 257..285 base */ -; 61 : 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, -; 62 : 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; -; 63 : static const unsigned short lext[31] = { /* Length codes 257..285 extra */ -; 64 : 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, -; 65 : 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78}; -; 66 : static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ -; 67 : 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, -; 68 : 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, -; 69 : 8193, 12289, 16385, 24577, 0, 0}; -; 70 : static const unsigned short dext[32] = { /* Distance codes 0..29 extra */ -; 71 : 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, -; 72 : 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, -; 73 : 28, 28, 29, 29, 64, 64}; -; 74 : -; 75 : /* -; 76 : Process a set of code lengths to create a canonical Huffman code. The -; 77 : code lengths are lens[0..codes-1]. Each length corresponds to the -; 78 : symbols 0..codes-1. The Huffman code is generated by first sorting the -; 79 : symbols by length from short to long, and retaining the symbol order -; 80 : for codes with equal lengths. Then the code starts with all zero bits -; 81 : for the first code of the shortest length, and the codes are integer -; 82 : increments for the same length, and zeros are appended as the length -; 83 : increases. For the deflate format, these bits are stored backwards -; 84 : from their more natural integer increment ordering, and so when the -; 85 : decoding tables are built in the large loop below, the integer codes -; 86 : are incremented backwards. -; 87 : -; 88 : This routine assumes, but does not check, that all of the entries in -; 89 : lens[] are in the range 0..MAXBITS. The caller must assure this. -; 90 : 1..MAXBITS is interpreted as that code length. zero means that that -; 91 : symbol does not occur in this code. -; 92 : -; 93 : The codes are sorted by computing a count of codes for each length, -; 94 : creating from that a table of starting indices for each length in the -; 95 : sorted table, and then entering the symbols in order in the sorted -; 96 : table. The sorted table is work[], with that space being provided by -; 97 : the caller. -; 98 : -; 99 : The length counts are used for other purposes as well, i.e. finding -; 100 : the minimum and maximum length codes, determining if there are any -; 101 : codes at all, checking for a valid set of lengths, and looking ahead -; 102 : at length counts to determine sub-table sizes when building the -; 103 : decoding tables. -; 104 : */ -; 105 : -; 106 : /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ -; 107 : for (len = 0; len <= MAXBITS; len++) -; 108 : count[len] = 0; -; 109 : for (sym = 0; sym < codes; sym++) - - 00011 8b 4d 08 mov ecx, DWORD PTR _codes$[ebp] - 00014 8b c2 mov eax, edx - 00016 33 f6 xor esi, esi - 00018 89 45 d8 mov DWORD PTR _lens$1$[ebp], eax - 0001b 57 push edi - 0001c 0f 11 45 a0 movups XMMWORD PTR _count$[ebp], xmm0 - 00020 0f 11 45 b0 movups XMMWORD PTR _count$[ebp+16], xmm0 - 00024 85 c9 test ecx, ecx - 00026 74 18 je SHORT $LN6@inflate_ta - 00028 0f 1f 84 00 00 - 00 00 00 npad 8 -$LL7@inflate_ta: - -; 110 : count[lens[sym]]++; - - 00030 0f b7 04 70 movzx eax, WORD PTR [eax+esi*2] - 00034 46 inc esi - 00035 66 ff 44 45 a0 inc WORD PTR _count$[ebp+eax*2] - 0003a 8b c2 mov eax, edx - 0003c 3b f1 cmp esi, ecx - 0003e 72 f0 jb SHORT $LL7@inflate_ta -$LN6@inflate_ta: - -; 111 : -; 112 : /* bound code lengths, force root to be within code lengths */ -; 113 : root = *bits; - - 00040 8b 5d 10 mov ebx, DWORD PTR _bits$[ebp] - 00043 8d 45 ba lea eax, DWORD PTR _count$[ebp+26] - -; 114 : for (max = MAXBITS; max >= 1; max--) - - 00046 bf 0f 00 00 00 mov edi, 15 ; 0000000fH - 0004b 8b 0b mov ecx, DWORD PTR [ebx] - 0004d 0f 1f 00 npad 3 -$LL10@inflate_ta: - -; 115 : if (count[max] != 0) break; - - 00050 66 83 78 04 00 cmp WORD PTR [eax+4], 0 - 00055 75 38 jne SHORT $LN78@inflate_ta - 00057 66 83 78 02 00 cmp WORD PTR [eax+2], 0 - 0005c 75 30 jne SHORT $LN111@inflate_ta - 0005e 66 83 38 00 cmp WORD PTR [eax], 0 - 00062 75 25 jne SHORT $LN112@inflate_ta - 00064 66 83 78 fe 00 cmp WORD PTR [eax-2], 0 - 00069 75 19 jne SHORT $LN113@inflate_ta - 0006b 66 83 78 fc 00 cmp WORD PTR [eax-4], 0 - 00070 75 0d jne SHORT $LN114@inflate_ta - -; 114 : for (max = MAXBITS; max >= 1; max--) - - 00072 83 ef 05 sub edi, 5 - 00075 83 e8 0a sub eax, 10 ; 0000000aH - 00078 83 ff 01 cmp edi, 1 - 0007b 73 d3 jae SHORT $LL10@inflate_ta - 0007d eb 10 jmp SHORT $LN78@inflate_ta -$LN114@inflate_ta: - -; 115 : if (count[max] != 0) break; - - 0007f 83 ef 04 sub edi, 4 - 00082 eb 0b jmp SHORT $LN78@inflate_ta -$LN113@inflate_ta: - 00084 83 ef 03 sub edi, 3 - 00087 eb 06 jmp SHORT $LN78@inflate_ta -$LN112@inflate_ta: - 00089 83 ef 02 sub edi, 2 - 0008c eb 01 jmp SHORT $LN78@inflate_ta -$LN111@inflate_ta: - 0008e 4f dec edi -$LN78@inflate_ta: - -; 116 : if (root > max) root = max; - - 0008f 3b cf cmp ecx, edi - 00091 0f 47 cf cmova ecx, edi - -; 117 : if (max == 0) { /* no symbols to code at all */ - - 00094 85 ff test edi, edi - 00096 75 2a jne SHORT $LN37@inflate_ta - -; 118 : here.op = (unsigned char)64; /* invalid code marker */ -; 119 : here.bits = (unsigned char)1; -; 120 : here.val = (unsigned short)0; -; 121 : *(*table)++ = here; /* make a table to force an error */ - - 00098 8b 55 0c mov edx, DWORD PTR _table$[ebp] - 0009b c7 45 08 40 01 - 00 00 mov DWORD PTR _here$[ebp], 320 ; 00000140H - 000a2 8b 45 08 mov eax, DWORD PTR _here$[ebp] - 000a5 5f pop edi - 000a6 8b 0a mov ecx, DWORD PTR [edx] - 000a8 5e pop esi - 000a9 89 01 mov DWORD PTR [ecx], eax - 000ab 83 02 04 add DWORD PTR [edx], 4 - 000ae 8b 0a mov ecx, DWORD PTR [edx] - -; 122 : *(*table)++ = here; - - 000b0 89 01 mov DWORD PTR [ecx], eax - 000b2 83 02 04 add DWORD PTR [edx], 4 - -; 123 : *bits = 1; -; 124 : return 0; /* no symbols, but wait for decoding to report error */ - - 000b5 33 c0 xor eax, eax - 000b7 c7 03 01 00 00 - 00 mov DWORD PTR [ebx], 1 - 000bd 5b pop ebx - -; 306 : } - - 000be 8b e5 mov esp, ebp - 000c0 5d pop ebp - 000c1 c3 ret 0 -$LN37@inflate_ta: - -; 125 : } -; 126 : for (min = 1; min < max; min++) - - 000c2 bb 01 00 00 00 mov ebx, 1 - 000c7 89 5d ec mov DWORD PTR _len$2$[ebp], ebx - 000ca 3b fb cmp edi, ebx - 000cc 76 12 jbe SHORT $LN79@inflate_ta - 000ce 66 90 npad 2 -$LL13@inflate_ta: - -; 127 : if (count[min] != 0) break; - - 000d0 66 83 7c 5d a0 - 00 cmp WORD PTR _count$[ebp+ebx*2], 0 - 000d6 75 05 jne SHORT $LN134@inflate_ta - -; 125 : } -; 126 : for (min = 1; min < max; min++) - - 000d8 43 inc ebx - 000d9 3b df cmp ebx, edi - 000db 72 f3 jb SHORT $LL13@inflate_ta -$LN134@inflate_ta: - 000dd 89 5d ec mov DWORD PTR _len$2$[ebp], ebx -$LN79@inflate_ta: - -; 128 : if (root < min) root = min; - - 000e0 3b cb cmp ecx, ebx - -; 129 : -; 130 : /* check for an over-subscribed or incomplete set of lengths */ -; 131 : left = 1; - - 000e2 ba 01 00 00 00 mov edx, 1 - 000e7 0f 42 cb cmovb ecx, ebx - 000ea 89 4d e8 mov DWORD PTR _root$3$[ebp], ecx - -; 132 : for (len = 1; len <= MAXBITS; len++) { - - 000ed 8b ca mov ecx, edx - 000ef 90 npad 1 -$LL16@inflate_ta: - -; 133 : left <<= 1; -; 134 : left -= count[len]; - - 000f0 0f b7 44 4d a0 movzx eax, WORD PTR _count$[ebp+ecx*2] - 000f5 03 d2 add edx, edx - 000f7 2b d0 sub edx, eax - -; 135 : if (left < 0) return -1; /* over-subscribed */ - - 000f9 0f 88 04 03 00 - 00 js $LN80@inflate_ta - -; 132 : for (len = 1; len <= MAXBITS; len++) { - - 000ff 41 inc ecx - 00100 83 f9 0f cmp ecx, 15 ; 0000000fH - 00103 76 eb jbe SHORT $LL16@inflate_ta - -; 136 : } -; 137 : if (left > 0 && (type == CODES || max != 1)) - - 00105 85 d2 test edx, edx - 00107 7e 13 jle SHORT $LN41@inflate_ta - 00109 83 7d f0 00 cmp DWORD PTR _type$1$[ebp], 0 - 0010d 0f 84 f0 02 00 - 00 je $LN80@inflate_ta - 00113 83 ff 01 cmp edi, 1 - 00116 0f 85 e7 02 00 - 00 jne $LN80@inflate_ta -$LN41@inflate_ta: - -; 138 : return -1; /* incomplete set */ -; 139 : -; 140 : /* generate offsets into symbol table for each length for sorting */ -; 141 : offs[1] = 0; - - 0011c 33 c0 xor eax, eax - -; 142 : for (len = 1; len < MAXBITS; len++) - - 0011e b9 02 00 00 00 mov ecx, 2 - 00123 66 89 45 82 mov WORD PTR _offs$[ebp+2], ax - 00127 66 0f 1f 84 00 - 00 00 00 00 npad 9 -$LL19@inflate_ta: - -; 143 : offs[len + 1] = offs[len] + count[len]; - - 00130 66 8b 44 0d 80 mov ax, WORD PTR _offs$[ebp+ecx] - 00135 66 03 44 0d a0 add ax, WORD PTR _count$[ebp+ecx] - 0013a 66 89 44 0d 82 mov WORD PTR _offs$[ebp+ecx+2], ax - 0013f 83 c1 02 add ecx, 2 - 00142 83 f9 1e cmp ecx, 30 ; 0000001eH - 00145 72 e9 jb SHORT $LL19@inflate_ta - -; 144 : -; 145 : /* sort symbols by length, by symbol order within each length */ -; 146 : for (sym = 0; sym < codes; sym++) - - 00147 8b 55 08 mov edx, DWORD PTR _codes$[ebp] - 0014a 33 c9 xor ecx, ecx - 0014c 8b 75 14 mov esi, DWORD PTR _work$[ebp] - 0014f 85 d2 test edx, edx - 00151 74 26 je SHORT $LN21@inflate_ta - 00153 8b 5d d8 mov ebx, DWORD PTR _lens$1$[ebp] -$LL22@inflate_ta: - -; 147 : if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym; - - 00156 0f b7 04 4b movzx eax, WORD PTR [ebx+ecx*2] - 0015a 66 85 c0 test ax, ax - 0015d 74 12 je SHORT $LN20@inflate_ta - 0015f 0f b7 44 45 80 movzx eax, WORD PTR _offs$[ebp+eax*2] - 00164 66 89 0c 46 mov WORD PTR [esi+eax*2], cx - 00168 0f b7 04 4b movzx eax, WORD PTR [ebx+ecx*2] - 0016c 66 ff 44 45 80 inc WORD PTR _offs$[ebp+eax*2] -$LN20@inflate_ta: - -; 144 : -; 145 : /* sort symbols by length, by symbol order within each length */ -; 146 : for (sym = 0; sym < codes; sym++) - - 00171 41 inc ecx - 00172 3b ca cmp ecx, edx - 00174 72 e0 jb SHORT $LL22@inflate_ta - 00176 8b 5d ec mov ebx, DWORD PTR _len$2$[ebp] -$LN21@inflate_ta: - -; 148 : -; 149 : /* -; 150 : Create and fill in decoding tables. In this loop, the table being -; 151 : filled is at next and has curr index bits. The code being used is huff -; 152 : with length len. That code is converted to an index by dropping drop -; 153 : bits off of the bottom. For codes where len is less than drop + curr, -; 154 : those top drop + curr - len bits are incremented through all values to -; 155 : fill the table with replicated entries. -; 156 : -; 157 : root is the number of index bits for the root table. When len exceeds -; 158 : root, sub-tables are created pointed to by the root entry with an index -; 159 : of the low root bits of huff. This is saved in low to check for when a -; 160 : new sub-table should be started. drop is zero when the root table is -; 161 : being filled, and drop is root when sub-tables are being filled. -; 162 : -; 163 : When a new sub-table is needed, it is necessary to look ahead in the -; 164 : code lengths to determine what size sub-table is needed. The length -; 165 : counts are used for this, and so count[] is decremented as codes are -; 166 : entered in the tables. -; 167 : -; 168 : used keeps track of how many table entries have been allocated from the -; 169 : provided *table space. It is checked for LENS and DIST tables against -; 170 : the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in -; 171 : the initial root table size constants. See the comments in inftrees.h -; 172 : for more information. -; 173 : -; 174 : sym increments through all symbols, and the loop terminates when -; 175 : all codes of length max, i.e. all codes, have been processed. This -; 176 : routine permits incomplete codes, so another loop after this one fills -; 177 : in the rest of the decoding tables with invalid code markers. -; 178 : */ -; 179 : -; 180 : /* set up for code type */ -; 181 : switch (type) { - - 00179 8b 45 f0 mov eax, DWORD PTR _type$1$[ebp] - 0017c 83 e8 00 sub eax, 0 - 0017f 74 3f je SHORT $LN44@inflate_ta - 00181 83 e8 01 sub eax, 1 - 00184 74 16 je SHORT $LN45@inflate_ta - -; 193 : default: /* DISTS */ -; 194 : base = dbase; -; 195 : extra = dext; -; 196 : end = -1; - - 00186 83 c8 ff or eax, -1 - 00189 c7 45 dc 00 00 - 00 00 mov DWORD PTR _base$1$[ebp], OFFSET ?dbase@?1??inflate_table@@9@9 - 00190 c7 45 e0 00 00 - 00 00 mov DWORD PTR _extra$1$[ebp], OFFSET ?dext@?1??inflate_table@@9@9 - 00197 89 45 e4 mov DWORD PTR _end$1$[ebp], eax - 0019a eb 31 jmp SHORT $LN23@inflate_ta -$LN45@inflate_ta: - -; 185 : break; -; 186 : case LENS: -; 187 : base = lbase; -; 188 : base -= 257; - - 0019c b8 00 00 00 00 mov eax, OFFSET ?lbase@?1??inflate_table@@9@9 - 001a1 2d 02 02 00 00 sub eax, 514 ; 00000202H - 001a6 89 45 dc mov DWORD PTR _base$1$[ebp], eax - -; 189 : extra = lext; -; 190 : extra -= 257; - - 001a9 b8 00 00 00 00 mov eax, OFFSET ?lext@?1??inflate_table@@9@9 - 001ae 2d 02 02 00 00 sub eax, 514 ; 00000202H - 001b3 89 45 e0 mov DWORD PTR _extra$1$[ebp], eax - -; 191 : end = 256; - - 001b6 b8 00 01 00 00 mov eax, 256 ; 00000100H - 001bb 89 45 e4 mov DWORD PTR _end$1$[ebp], eax - -; 192 : break; - - 001be eb 0d jmp SHORT $LN23@inflate_ta -$LN44@inflate_ta: - -; 182 : case CODES: -; 183 : base = extra = work; /* dummy value--not used */ - - 001c0 89 75 e0 mov DWORD PTR _extra$1$[ebp], esi - 001c3 89 75 dc mov DWORD PTR _base$1$[ebp], esi - -; 184 : end = 19; - - 001c6 c7 45 e4 13 00 - 00 00 mov DWORD PTR _end$1$[ebp], 19 ; 00000013H -$LN23@inflate_ta: - -; 197 : } -; 198 : -; 199 : /* initialize state for loop */ -; 200 : huff = 0; /* starting code */ -; 201 : sym = 0; /* starting code symbol */ -; 202 : len = min; /* starting code length */ -; 203 : next = *table; /* current table to fill in */ - - 001cd 8b 4d 0c mov ecx, DWORD PTR _table$[ebp] - -; 204 : curr = root; /* current table index bits */ -; 205 : drop = 0; /* current bits to drop from code for index */ -; 206 : low = (unsigned)(-1); /* trigger new sub-table when len > root */ -; 207 : used = 1U << root; /* use root table entries */ - - 001d0 ba 01 00 00 00 mov edx, 1 - 001d5 c7 45 f4 00 00 - 00 00 mov DWORD PTR _huff$1$[ebp], 0 - 001dc c7 45 fc 00 00 - 00 00 mov DWORD PTR _drop$1$[ebp], 0 - 001e3 c7 45 cc ff ff - ff ff mov DWORD PTR _low$1$[ebp], -1 - 001ea 8b 01 mov eax, DWORD PTR [ecx] - 001ec 8b 4d e8 mov ecx, DWORD PTR _root$3$[ebp] - 001ef d3 e2 shl edx, cl - 001f1 89 45 f8 mov DWORD PTR _next$1$[ebp], eax - 001f4 8b c2 mov eax, edx - 001f6 89 55 d4 mov DWORD PTR tv1502[ebp], edx - 001f9 89 45 d0 mov DWORD PTR _used$1$[ebp], eax - -; 208 : mask = used - 1; /* mask for comparing low */ - - 001fc 8d 48 ff lea ecx, DWORD PTR [eax-1] - 001ff 89 4d c4 mov DWORD PTR _mask$1$[ebp], ecx - -; 209 : -; 210 : /* check available table space */ -; 211 : if ((type == LENS && used > ENOUGH_LENS) || - - 00202 8b 4d f0 mov ecx, DWORD PTR _type$1$[ebp] - 00205 83 f9 01 cmp ecx, 1 - 00208 75 09 jne SHORT $LN49@inflate_ta - 0020a 3d 54 03 00 00 cmp eax, 852 ; 00000354H - 0020f 77 0e ja SHORT $LN48@inflate_ta - 00211 eb 25 jmp SHORT $LL25@inflate_ta -$LN49@inflate_ta: - 00213 83 f9 02 cmp ecx, 2 - 00216 75 20 jne SHORT $LL25@inflate_ta - 00218 3d 50 02 00 00 cmp eax, 592 ; 00000250H - 0021d 76 19 jbe SHORT $LL25@inflate_ta -$LN48@inflate_ta: - 0021f 5f pop edi - 00220 5e pop esi - -; 212 : (type == DISTS && used > ENOUGH_DISTS)) -; 213 : return 1; - - 00221 b8 01 00 00 00 mov eax, 1 - 00226 5b pop ebx - -; 306 : } - - 00227 8b e5 mov esp, ebp - 00229 5d pop ebp - 0022a c3 ret 0 - 0022b 0f 1f 44 00 00 npad 5 -$LL136@inflate_ta: - 00230 8b 55 d4 mov edx, DWORD PTR tv1502[ebp] - 00233 eb 03 jmp SHORT $LL25@inflate_ta -$LN137@inflate_ta: - 00235 8b 75 14 mov esi, DWORD PTR _work$[ebp] -$LL25@inflate_ta: - -; 214 : -; 215 : /* process all codes and make table entries */ -; 216 : for (;;) { -; 217 : /* create table entry */ -; 218 : here.bits = (unsigned char)(len - drop); - - 00238 8a c3 mov al, bl - 0023a 2a 45 fc sub al, BYTE PTR _drop$1$[ebp] - 0023d 88 45 09 mov BYTE PTR _here$[ebp+1], al - -; 219 : if ((int)(work[sym]) < end) { - - 00240 0f b7 06 movzx eax, WORD PTR [esi] - 00243 8b 75 e4 mov esi, DWORD PTR _end$1$[ebp] - 00246 8b c8 mov ecx, eax - 00248 3b ce cmp ecx, esi - 0024a 7d 06 jge SHORT $LN143@inflate_ta - -; 220 : here.op = (unsigned char)0; - - 0024c c6 45 08 00 mov BYTE PTR _here$[ebp], 0 - -; 221 : here.val = work[sym]; -; 222 : } - - 00250 eb 1a jmp SHORT $LN144@inflate_ta -$LN143@inflate_ta: - -; 223 : else if ((int)(work[sym]) > end) { - - 00252 7e 12 jle SHORT $LN52@inflate_ta - -; 224 : here.op = (unsigned char)(extra[work[sym]]); - - 00254 8b 45 e0 mov eax, DWORD PTR _extra$1$[ebp] - 00257 8a 04 48 mov al, BYTE PTR [eax+ecx*2] - 0025a 88 45 08 mov BYTE PTR _here$[ebp], al - -; 225 : here.val = base[work[sym]]; - - 0025d 8b 45 dc mov eax, DWORD PTR _base$1$[ebp] - 00260 66 8b 04 48 mov ax, WORD PTR [eax+ecx*2] - -; 226 : } - - 00264 eb 06 jmp SHORT $LN144@inflate_ta -$LN52@inflate_ta: - -; 227 : else { -; 228 : here.op = (unsigned char)(32 + 64); /* end of block */ - - 00266 c6 45 08 60 mov BYTE PTR _here$[ebp], 96 ; 00000060H - -; 229 : here.val = 0; - - 0026a 33 c0 xor eax, eax -$LN144@inflate_ta: - -; 230 : } -; 231 : -; 232 : /* replicate for those indices with low len bits equal to huff */ -; 233 : incr = 1U << (len - drop); - - 0026c 8b cb mov ecx, ebx - 0026e 66 89 45 0a mov WORD PTR _here$[ebp+2], ax - 00272 2b 4d fc sub ecx, DWORD PTR _drop$1$[ebp] - 00275 be 01 00 00 00 mov esi, 1 - 0027a d3 e6 shl esi, cl - 0027c 8b 4d fc mov ecx, DWORD PTR _drop$1$[ebp] - -; 234 : fill = 1U << curr; -; 235 : min = fill; /* save offset to next table */ - - 0027f 89 55 c0 mov DWORD PTR _min$2$[ebp], edx - 00282 8d 04 b5 00 00 - 00 00 lea eax, DWORD PTR [esi*4] - 00289 89 45 c8 mov DWORD PTR tv1495[ebp], eax - 0028c 8b 45 f4 mov eax, DWORD PTR _huff$1$[ebp] - 0028f d3 e8 shr eax, cl - 00291 8b 4d f8 mov ecx, DWORD PTR _next$1$[ebp] - 00294 03 c2 add eax, edx - 00296 8d 0c 81 lea ecx, DWORD PTR [ecx+eax*4] - 00299 8b 45 08 mov eax, DWORD PTR _here$[ebp] - 0029c 0f 1f 40 00 npad 4 -$LL30@inflate_ta: - -; 236 : do { -; 237 : fill -= incr; - - 002a0 2b 4d c8 sub ecx, DWORD PTR tv1495[ebp] - -; 238 : next[(huff >> drop) + fill] = here; - - 002a3 89 01 mov DWORD PTR [ecx], eax - 002a5 2b d6 sub edx, esi - -; 239 : } while (fill != 0); - - 002a7 75 f7 jne SHORT $LL30@inflate_ta - -; 240 : -; 241 : /* backwards increment the len-bit code huff */ -; 242 : incr = 1U << (len - 1); - - 002a9 8d 4b ff lea ecx, DWORD PTR [ebx-1] - 002ac ba 01 00 00 00 mov edx, 1 - 002b1 d3 e2 shl edx, cl - -; 243 : while (huff & incr) - - 002b3 8b 4d f4 mov ecx, DWORD PTR _huff$1$[ebp] - 002b6 85 d1 test edx, ecx - 002b8 74 0c je SHORT $LN32@inflate_ta - 002ba 66 0f 1f 44 00 - 00 npad 6 -$LL31@inflate_ta: - -; 244 : incr >>= 1; - - 002c0 d1 ea shr edx, 1 - 002c2 85 d1 test edx, ecx - 002c4 75 fa jne SHORT $LL31@inflate_ta -$LN32@inflate_ta: - -; 245 : if (incr != 0) { - - 002c6 85 d2 test edx, edx - 002c8 74 09 je SHORT $LN54@inflate_ta - -; 246 : huff &= incr - 1; - - 002ca 8d 42 ff lea eax, DWORD PTR [edx-1] - 002cd 23 c1 and eax, ecx - -; 247 : huff += incr; - - 002cf 03 d0 add edx, eax - -; 248 : } - - 002d1 eb 02 jmp SHORT $LN145@inflate_ta -$LN54@inflate_ta: - -; 249 : else -; 250 : huff = 0; - - 002d3 33 d2 xor edx, edx -$LN145@inflate_ta: - -; 251 : -; 252 : /* go to next symbol, update count, len */ -; 253 : sym++; - - 002d5 8b 45 14 mov eax, DWORD PTR _work$[ebp] - -; 254 : if (--(count[len]) == 0) { - - 002d8 b9 ff ff 00 00 mov ecx, 65535 ; 0000ffffH - 002dd 83 c0 02 add eax, 2 - 002e0 89 55 f4 mov DWORD PTR _huff$1$[ebp], edx - 002e3 66 01 4c 5d a0 add WORD PTR _count$[ebp+ebx*2], cx - 002e8 89 45 14 mov DWORD PTR _work$[ebp], eax - 002eb 75 15 jne SHORT $LN56@inflate_ta - -; 255 : if (len == max) break; - - 002ed 3b df cmp ebx, edi - 002ef 0f 84 d5 00 00 - 00 je $LN82@inflate_ta - -; 256 : len = lens[work[sym]]; - - 002f5 0f b7 00 movzx eax, WORD PTR [eax] - 002f8 8b 4d d8 mov ecx, DWORD PTR _lens$1$[ebp] - 002fb 0f b7 1c 41 movzx ebx, WORD PTR [ecx+eax*2] - 002ff 89 5d ec mov DWORD PTR _len$2$[ebp], ebx -$LN56@inflate_ta: - -; 257 : } -; 258 : -; 259 : /* create new sub-table if needed */ -; 260 : if (len > root && (huff & mask) != low) { - - 00302 8b 45 e8 mov eax, DWORD PTR _root$3$[ebp] - 00305 8b 75 14 mov esi, DWORD PTR _work$[ebp] - 00308 3b d8 cmp ebx, eax - 0030a 0f 86 20 ff ff - ff jbe $LL136@inflate_ta - 00310 8b 75 c4 mov esi, DWORD PTR _mask$1$[ebp] - 00313 23 f2 and esi, edx - 00315 8b 55 d4 mov edx, DWORD PTR tv1502[ebp] - 00318 89 75 c8 mov DWORD PTR tv1501[ebp], esi - 0031b 3b 75 cc cmp esi, DWORD PTR _low$1$[ebp] - 0031e 0f 84 11 ff ff - ff je $LN137@inflate_ta - -; 261 : /* if first time, transition to sub-tables */ -; 262 : if (drop == 0) - - 00324 8b 55 fc mov edx, DWORD PTR _drop$1$[ebp] - 00327 85 d2 test edx, edx - -; 263 : drop = root; -; 264 : -; 265 : /* increment past last table */ -; 266 : next += min; /* here min is 1 << curr */ - - 00329 8b 4d f8 mov ecx, DWORD PTR _next$1$[ebp] - 0032c 0f 44 d0 cmove edx, eax - 0032f 8b 45 c0 mov eax, DWORD PTR _min$2$[ebp] - -; 267 : -; 268 : /* determine length of next table */ -; 269 : curr = len - drop; - - 00332 2b da sub ebx, edx - 00334 89 55 fc mov DWORD PTR _drop$1$[ebp], edx - -; 270 : left = (int)(1 << curr); -; 271 : while (curr + drop < max) { - - 00337 03 d3 add edx, ebx - 00339 8d 0c 81 lea ecx, DWORD PTR [ecx+eax*4] - 0033c b8 01 00 00 00 mov eax, 1 - 00341 89 4d f8 mov DWORD PTR _next$1$[ebp], ecx - 00344 8b cb mov ecx, ebx - 00346 d3 e0 shl eax, cl - 00348 3b d7 cmp edx, edi - 0034a 73 1d jae SHORT $LN81@inflate_ta - -; 263 : drop = root; -; 264 : -; 265 : /* increment past last table */ -; 266 : next += min; /* here min is 1 << curr */ - - 0034c 8d 75 a0 lea esi, DWORD PTR _count$[ebp] - 0034f 8d 34 56 lea esi, DWORD PTR [esi+edx*2] -$LL33@inflate_ta: - -; 272 : left -= count[curr + drop]; - - 00352 0f b7 0e movzx ecx, WORD PTR [esi] - 00355 2b c1 sub eax, ecx - -; 273 : if (left <= 0) break; - - 00357 85 c0 test eax, eax - 00359 7e 0b jle SHORT $LN135@inflate_ta - -; 274 : curr++; - - 0035b 42 inc edx - 0035c 43 inc ebx - 0035d 83 c6 02 add esi, 2 - -; 275 : left <<= 1; - - 00360 03 c0 add eax, eax - 00362 3b d7 cmp edx, edi - 00364 72 ec jb SHORT $LL33@inflate_ta -$LN135@inflate_ta: - 00366 8b 75 c8 mov esi, DWORD PTR tv1501[ebp] -$LN81@inflate_ta: - -; 276 : } -; 277 : -; 278 : /* check for enough space */ -; 279 : used += 1U << curr; - - 00369 8b 45 d0 mov eax, DWORD PTR _used$1$[ebp] - 0036c 8b cb mov ecx, ebx - 0036e ba 01 00 00 00 mov edx, 1 - 00373 d3 e2 shl edx, cl - -; 280 : if ((type == LENS && used > ENOUGH_LENS) || - - 00375 8b 4d f0 mov ecx, DWORD PTR _type$1$[ebp] - 00378 03 c2 add eax, edx - 0037a 89 55 d4 mov DWORD PTR tv1502[ebp], edx - 0037d 89 45 d0 mov DWORD PTR _used$1$[ebp], eax - 00380 83 f9 01 cmp ecx, 1 - 00383 75 07 jne SHORT $LN63@inflate_ta - 00385 3d 54 03 00 00 cmp eax, 852 ; 00000354H - 0038a eb 0a jmp SHORT $LN146@inflate_ta -$LN63@inflate_ta: - 0038c 83 f9 02 cmp ecx, 2 - 0038f 75 0b jne SHORT $LN61@inflate_ta - 00391 3d 50 02 00 00 cmp eax, 592 ; 00000250H -$LN146@inflate_ta: - 00396 0f 87 83 fe ff - ff ja $LN48@inflate_ta -$LN61@inflate_ta: - -; 281 : (type == DISTS && used > ENOUGH_DISTS)) -; 282 : return 1; -; 283 : -; 284 : /* point entry in root table to sub-table */ -; 285 : low = huff & mask; -; 286 : (*table)[low].op = (unsigned char)curr; - - 0039c 8b 4d 0c mov ecx, DWORD PTR _table$[ebp] - 0039f 89 75 cc mov DWORD PTR _low$1$[ebp], esi - 003a2 8b 01 mov eax, DWORD PTR [ecx] - 003a4 88 1c b0 mov BYTE PTR [eax+esi*4], bl - -; 287 : (*table)[low].bits = (unsigned char)root; - - 003a7 8b 01 mov eax, DWORD PTR [ecx] - 003a9 8b 4d e8 mov ecx, DWORD PTR _root$3$[ebp] - -; 288 : (*table)[low].val = (unsigned short)(next - *table); -; 289 : } -; 290 : } - - 003ac 8b 5d ec mov ebx, DWORD PTR _len$2$[ebp] - 003af 88 4c b0 01 mov BYTE PTR [eax+esi*4+1], cl - 003b3 8b 4d 0c mov ecx, DWORD PTR _table$[ebp] - 003b6 8b 45 f8 mov eax, DWORD PTR _next$1$[ebp] - 003b9 8b 09 mov ecx, DWORD PTR [ecx] - 003bb 2b c1 sub eax, ecx - 003bd c1 f8 02 sar eax, 2 - 003c0 66 89 44 b1 02 mov WORD PTR [ecx+esi*4+2], ax - 003c5 e9 6b fe ff ff jmp $LN137@inflate_ta -$LN82@inflate_ta: - -; 291 : -; 292 : /* fill in remaining table entry if code is incomplete (guaranteed to have -; 293 : at most one remaining entry, since if the code is incomplete, the -; 294 : maximum code length that was allowed to get this far is one bit) */ -; 295 : if (huff != 0) { - - 003ca 85 d2 test edx, edx - 003cc 74 19 je SHORT $LN64@inflate_ta - -; 296 : here.op = (unsigned char)64; /* invalid code marker */ -; 297 : here.bits = (unsigned char)(len - drop); - - 003ce 2a 5d fc sub bl, BYTE PTR _drop$1$[ebp] - -; 298 : here.val = (unsigned short)0; - - 003d1 33 c0 xor eax, eax - -; 299 : next[huff] = here; - - 003d3 8b 4d f8 mov ecx, DWORD PTR _next$1$[ebp] - 003d6 c6 45 08 40 mov BYTE PTR _here$[ebp], 64 ; 00000040H - 003da 88 5d 09 mov BYTE PTR _here$[ebp+1], bl - 003dd 66 89 45 0a mov WORD PTR _here$[ebp+2], ax - 003e1 8b 45 08 mov eax, DWORD PTR _here$[ebp] - 003e4 89 04 91 mov DWORD PTR [ecx+edx*4], eax -$LN64@inflate_ta: - -; 300 : } -; 301 : -; 302 : /* set return parameters */ -; 303 : *table += used; - - 003e7 8b 4d 0c mov ecx, DWORD PTR _table$[ebp] - 003ea 8b 45 d0 mov eax, DWORD PTR _used$1$[ebp] - 003ed c1 e0 02 shl eax, 2 - 003f0 5f pop edi - 003f1 01 01 add DWORD PTR [ecx], eax - -; 304 : *bits = root; - - 003f3 8b 4d 10 mov ecx, DWORD PTR _bits$[ebp] - 003f6 8b 45 e8 mov eax, DWORD PTR _root$3$[ebp] - 003f9 5e pop esi - 003fa 5b pop ebx - 003fb 89 01 mov DWORD PTR [ecx], eax - -; 305 : return 0; - - 003fd 33 c0 xor eax, eax - -; 306 : } - - 003ff 8b e5 mov esp, ebp - 00401 5d pop ebp - 00402 c3 ret 0 -$LN80@inflate_ta: - 00403 5f pop edi - 00404 5e pop esi - -; 135 : if (left < 0) return -1; /* over-subscribed */ - - 00405 83 c8 ff or eax, -1 - 00408 5b pop ebx - -; 306 : } - - 00409 8b e5 mov esp, ebp - 0040b 5d pop ebp - 0040c c3 ret 0 -_inflate_table ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inftrees.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inftrees.obj deleted file mode 100644 index 2fca5acb27..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/inftrees.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/ioapi.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/ioapi.cod deleted file mode 100644 index 949629adf2..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/ioapi.cod +++ /dev/null @@ -1,882 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_02JDPG@rb?$AA@ ; `string' -PUBLIC ??_C@_03HMFOOINA@r?$CLb?$AA@ ; `string' -PUBLIC ??_C@_02GMLFBBN@wb?$AA@ ; `string' -EXTRN __imp___fseeki64:PROC -EXTRN __imp__fread:PROC -EXTRN __imp___ftelli64:PROC -EXTRN __imp__fwrite:PROC -EXTRN __imp__fseek:PROC -EXTRN __imp__fclose:PROC -EXTRN __imp__fopen:PROC -EXTRN __imp__ferror:PROC -EXTRN __imp__ftell:PROC -_DATA ENDS -; COMDAT ??_C@_02GMLFBBN@wb?$AA@ -CONST SEGMENT -??_C@_02GMLFBBN@wb?$AA@ DB 'wb', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_03HMFOOINA@r?$CLb?$AA@ -CONST SEGMENT -??_C@_03HMFOOINA@r?$CLb?$AA@ DB 'r+b', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_02JDPG@rb?$AA@ -CONST SEGMENT -??_C@_02JDPG@rb?$AA@ DB 'rb', 00H ; `string' -PUBLIC _fill_fopen64_filefunc -PUBLIC _fill_zlib_filefunc64_32_def_from_filefunc32 -PUBLIC _call_ztell64 -PUBLIC _call_zseek64 -PUBLIC _call_zopen64 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _call_zopen64 -_TEXT SEGMENT -_mode$ = 8 ; size = 4 -_call_zopen64 PROC ; COMDAT -; _pfilefunc$ = ecx -; _filename$ = edx - -; 32 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 33 : if (pfilefunc->zfile_func64.zopen64_file != NULL) -; 34 : return (*(pfilefunc->zfile_func64.zopen64_file)) (pfilefunc->zfile_func64.opaque,filename,mode); - - 00003 ff 75 08 push DWORD PTR _mode$[ebp] - 00006 8b 01 mov eax, DWORD PTR [ecx] - 00008 52 push edx - 00009 ff 71 1c push DWORD PTR [ecx+28] - 0000c 85 c0 test eax, eax - 0000e 75 03 jne SHORT $LN5@call_zopen - -; 35 : else -; 36 : { -; 37 : return (*(pfilefunc->zopen32_file))(pfilefunc->zfile_func64.opaque,(const char*)filename,mode); - - 00010 8b 41 20 mov eax, DWORD PTR [ecx+32] -$LN5@call_zopen: - 00013 ff d0 call eax - 00015 83 c4 0c add esp, 12 ; 0000000cH - -; 38 : } -; 39 : } - - 00018 5d pop ebp - 00019 c3 ret 0 -_call_zopen64 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _call_zseek64 -_TEXT SEGMENT -_offset$ = 8 ; size = 8 -_origin$ = 16 ; size = 4 -_call_zseek64 PROC ; COMDAT -; _pfilefunc$ = ecx -; _filestream$ = edx - -; 42 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 51 push ecx - -; 43 : if (pfilefunc->zfile_func64.zseek64_file != NULL) - - 00007 8b 41 10 mov eax, DWORD PTR [ecx+16] - 0000a 56 push esi - 0000b 85 c0 test eax, eax - 0000d 74 17 je SHORT $LN2@call_zseek - -; 44 : return (*(pfilefunc->zfile_func64.zseek64_file)) (pfilefunc->zfile_func64.opaque,filestream,offset,origin); - - 0000f ff 75 10 push DWORD PTR _origin$[ebp] - 00012 ff 75 0c push DWORD PTR _offset$[ebp+4] - 00015 ff 75 08 push DWORD PTR _offset$[ebp] - 00018 52 push edx - 00019 ff 71 1c push DWORD PTR [ecx+28] - 0001c ff d0 call eax - 0001e 83 c4 14 add esp, 20 ; 00000014H - -; 52 : } -; 53 : } - - 00021 5e pop esi - 00022 8b e5 mov esp, ebp - 00024 5d pop ebp - 00025 c3 ret 0 -$LN2@call_zseek: - -; 45 : else -; 46 : { -; 47 : uLong offsetTruncated = (uLong)offset; -; 48 : if (offsetTruncated != offset) - - 00026 8b 45 08 mov eax, DWORD PTR _offset$[ebp] - 00029 33 f6 xor esi, esi - 0002b 3b c0 cmp eax, eax - 0002d 75 1a jne SHORT $LN7@call_zseek - 0002f 3b 75 0c cmp esi, DWORD PTR _offset$[ebp+4] - 00032 75 15 jne SHORT $LN7@call_zseek - -; 50 : else -; 51 : return (*(pfilefunc->zseek32_file))(pfilefunc->zfile_func64.opaque,filestream,offsetTruncated,origin); - - 00034 ff 75 10 push DWORD PTR _origin$[ebp] - 00037 50 push eax - 00038 8b 41 28 mov eax, DWORD PTR [ecx+40] - 0003b 52 push edx - 0003c ff 71 1c push DWORD PTR [ecx+28] - 0003f ff d0 call eax - 00041 83 c4 10 add esp, 16 ; 00000010H - -; 52 : } -; 53 : } - - 00044 5e pop esi - 00045 8b e5 mov esp, ebp - 00047 5d pop ebp - 00048 c3 ret 0 -$LN7@call_zseek: - -; 49 : return -1; - - 00049 83 c8 ff or eax, -1 - -; 52 : } -; 53 : } - - 0004c 5e pop esi - 0004d 8b e5 mov esp, ebp - 0004f 5d pop ebp - 00050 c3 ret 0 -_call_zseek64 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _call_ztell64 -_TEXT SEGMENT -_call_ztell64 PROC ; COMDAT -; _pfilefunc$ = ecx -; _filestream$ = edx - -; 57 : if (pfilefunc->zfile_func64.zseek64_file != NULL) - - 00000 83 79 10 00 cmp DWORD PTR [ecx+16], 0 - -; 58 : return (*(pfilefunc->zfile_func64.ztell64_file)) (pfilefunc->zfile_func64.opaque,filestream); - - 00004 52 push edx - 00005 ff 71 1c push DWORD PTR [ecx+28] - 00008 74 09 je SHORT $LN2@call_ztell - 0000a 8b 41 0c mov eax, DWORD PTR [ecx+12] - 0000d ff d0 call eax - 0000f 83 c4 08 add esp, 8 - -; 66 : } -; 67 : } - - 00012 c3 ret 0 -$LN2@call_ztell: - -; 59 : else -; 60 : { -; 61 : uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream); - - 00013 8b 41 24 mov eax, DWORD PTR [ecx+36] - 00016 ff d0 call eax - 00018 83 c4 08 add esp, 8 - -; 62 : if ((tell_uLong) == MAXU32) - - 0001b 83 f8 ff cmp eax, -1 - 0001e 75 06 jne SHORT $LN4@call_ztell - -; 63 : return (ZPOS64_T)-1; - - 00020 0b c0 or eax, eax - 00022 83 ca ff or edx, -1 - -; 66 : } -; 67 : } - - 00025 c3 ret 0 -$LN4@call_ztell: - -; 64 : else -; 65 : return tell_uLong; - - 00026 33 d2 xor edx, edx - -; 66 : } -; 67 : } - - 00028 c3 ret 0 -_call_ztell64 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _fill_zlib_filefunc64_32_def_from_filefunc32 -_TEXT SEGMENT -_fill_zlib_filefunc64_32_def_from_filefunc32 PROC ; COMDAT -; _p_filefunc64_32$ = ecx -; _p_filefunc32$ = edx - -; 71 : p_filefunc64_32->zfile_func64.zopen64_file = NULL; -; 72 : p_filefunc64_32->zopen32_file = p_filefunc32->zopen_file; - - 00000 8b 02 mov eax, DWORD PTR [edx] - 00002 89 41 20 mov DWORD PTR [ecx+32], eax - -; 73 : p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file; -; 74 : p_filefunc64_32->zfile_func64.zread_file = p_filefunc32->zread_file; - - 00005 8b 42 04 mov eax, DWORD PTR [edx+4] - 00008 89 41 04 mov DWORD PTR [ecx+4], eax - -; 75 : p_filefunc64_32->zfile_func64.zwrite_file = p_filefunc32->zwrite_file; - - 0000b 8b 42 08 mov eax, DWORD PTR [edx+8] - 0000e 89 41 08 mov DWORD PTR [ecx+8], eax - -; 76 : p_filefunc64_32->zfile_func64.ztell64_file = NULL; -; 77 : p_filefunc64_32->zfile_func64.zseek64_file = NULL; -; 78 : p_filefunc64_32->zfile_func64.zclose_file = p_filefunc32->zclose_file; - - 00011 8b 42 14 mov eax, DWORD PTR [edx+20] - 00014 89 41 14 mov DWORD PTR [ecx+20], eax - -; 79 : p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file; - - 00017 8b 42 18 mov eax, DWORD PTR [edx+24] - 0001a 89 41 18 mov DWORD PTR [ecx+24], eax - -; 80 : p_filefunc64_32->zfile_func64.opaque = p_filefunc32->opaque; - - 0001d 8b 42 1c mov eax, DWORD PTR [edx+28] - 00020 89 41 1c mov DWORD PTR [ecx+28], eax - -; 81 : p_filefunc64_32->zseek32_file = p_filefunc32->zseek_file; - - 00023 8b 42 10 mov eax, DWORD PTR [edx+16] - 00026 89 41 28 mov DWORD PTR [ecx+40], eax - -; 82 : p_filefunc64_32->ztell32_file = p_filefunc32->ztell_file; - - 00029 8b 42 0c mov eax, DWORD PTR [edx+12] - 0002c c7 01 00 00 00 - 00 mov DWORD PTR [ecx], 0 - 00032 c7 41 0c 00 00 - 00 00 mov DWORD PTR [ecx+12], 0 - 00039 c7 41 10 00 00 - 00 00 mov DWORD PTR [ecx+16], 0 - 00040 89 41 24 mov DWORD PTR [ecx+36], eax - -; 83 : } - - 00043 c3 ret 0 -_fill_zlib_filefunc64_32_def_from_filefunc32 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _fopen_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_fopen_file_func PROC ; COMDAT - -; 96 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 97 : FILE* file = NULL; -; 98 : const char* mode_fopen = NULL; -; 99 : if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - - 00003 8b 4d 10 mov ecx, DWORD PTR _mode$[ebp] - 00006 33 d2 xor edx, edx - 00008 8b c1 mov eax, ecx - 0000a 24 03 and al, 3 - 0000c 3c 01 cmp al, 1 - 0000e 75 07 jne SHORT $LN2@fopen_file - -; 100 : mode_fopen = "rb"; - - 00010 b8 00 00 00 00 mov eax, OFFSET ??_C@_02JDPG@rb?$AA@ - 00015 eb 17 jmp SHORT $LN6@fopen_file -$LN2@fopen_file: - -; 101 : else -; 102 : if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - - 00017 f6 c1 04 test cl, 4 - 0001a 74 07 je SHORT $LN4@fopen_file - -; 103 : mode_fopen = "r+b"; - - 0001c b8 00 00 00 00 mov eax, OFFSET ??_C@_03HMFOOINA@r?$CLb?$AA@ - 00021 eb 0b jmp SHORT $LN6@fopen_file -$LN4@fopen_file: - -; 104 : else -; 105 : if (mode & ZLIB_FILEFUNC_MODE_CREATE) - - 00023 f6 c1 08 test cl, 8 - 00026 b8 00 00 00 00 mov eax, OFFSET ??_C@_02GMLFBBN@wb?$AA@ - 0002b 0f 44 c2 cmove eax, edx -$LN6@fopen_file: - -; 106 : mode_fopen = "wb"; -; 107 : -; 108 : if ((filename!=NULL) && (mode_fopen != NULL)) - - 0002e 8b 4d 0c mov ecx, DWORD PTR _filename$[ebp] - 00031 85 c9 test ecx, ecx - 00033 74 11 je SHORT $LN9@fopen_file - 00035 85 c0 test eax, eax - 00037 74 0d je SHORT $LN9@fopen_file - -; 109 : file = fopen(filename, mode_fopen); - - 00039 50 push eax - 0003a 51 push ecx - 0003b ff 15 00 00 00 - 00 call DWORD PTR __imp__fopen - 00041 83 c4 08 add esp, 8 - -; 111 : } - - 00044 5d pop ebp - 00045 c3 ret 0 -$LN9@fopen_file: - -; 110 : return file; - - 00046 33 c0 xor eax, eax - -; 111 : } - - 00048 5d pop ebp - 00049 c3 ret 0 -_fopen_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _fopen64_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_fopen64_file_func PROC ; COMDAT - -; 114 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 115 : FILE* file = NULL; -; 116 : const char* mode_fopen = NULL; -; 117 : if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - - 00003 8b 4d 10 mov ecx, DWORD PTR _mode$[ebp] - 00006 33 d2 xor edx, edx - 00008 8b c1 mov eax, ecx - 0000a 24 03 and al, 3 - 0000c 3c 01 cmp al, 1 - 0000e 75 07 jne SHORT $LN2@fopen64_fi - -; 118 : mode_fopen = "rb"; - - 00010 b8 00 00 00 00 mov eax, OFFSET ??_C@_02JDPG@rb?$AA@ - 00015 eb 17 jmp SHORT $LN6@fopen64_fi -$LN2@fopen64_fi: - -; 119 : else -; 120 : if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - - 00017 f6 c1 04 test cl, 4 - 0001a 74 07 je SHORT $LN4@fopen64_fi - -; 121 : mode_fopen = "r+b"; - - 0001c b8 00 00 00 00 mov eax, OFFSET ??_C@_03HMFOOINA@r?$CLb?$AA@ - 00021 eb 0b jmp SHORT $LN6@fopen64_fi -$LN4@fopen64_fi: - -; 122 : else -; 123 : if (mode & ZLIB_FILEFUNC_MODE_CREATE) - - 00023 f6 c1 08 test cl, 8 - 00026 b8 00 00 00 00 mov eax, OFFSET ??_C@_02GMLFBBN@wb?$AA@ - 0002b 0f 44 c2 cmove eax, edx -$LN6@fopen64_fi: - -; 124 : mode_fopen = "wb"; -; 125 : -; 126 : if ((filename!=NULL) && (mode_fopen != NULL)) - - 0002e 8b 4d 0c mov ecx, DWORD PTR _filename$[ebp] - 00031 85 c9 test ecx, ecx - 00033 74 11 je SHORT $LN9@fopen64_fi - 00035 85 c0 test eax, eax - 00037 74 0d je SHORT $LN9@fopen64_fi - -; 127 : file = FOPEN_FUNC((const char*)filename, mode_fopen); - - 00039 50 push eax - 0003a 51 push ecx - 0003b ff 15 00 00 00 - 00 call DWORD PTR __imp__fopen - 00041 83 c4 08 add esp, 8 - -; 129 : } - - 00044 5d pop ebp - 00045 c3 ret 0 -$LN9@fopen64_fi: - -; 128 : return file; - - 00046 33 c0 xor eax, eax - -; 129 : } - - 00048 5d pop ebp - 00049 c3 ret 0 -_fopen64_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _fread_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_buf$ = 16 ; size = 4 -_size$ = 20 ; size = 4 -_fread_file_func PROC ; COMDAT - -; 133 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 134 : uLong ret; -; 135 : ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream); - - 00003 ff 75 0c push DWORD PTR _stream$[ebp] - 00006 ff 75 14 push DWORD PTR _size$[ebp] - 00009 6a 01 push 1 - 0000b ff 75 10 push DWORD PTR _buf$[ebp] - 0000e ff 15 00 00 00 - 00 call DWORD PTR __imp__fread - 00014 83 c4 10 add esp, 16 ; 00000010H - -; 136 : return ret; -; 137 : } - - 00017 5d pop ebp - 00018 c3 ret 0 -_fread_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _fwrite_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_buf$ = 16 ; size = 4 -_size$ = 20 ; size = 4 -_fwrite_file_func PROC ; COMDAT - -; 140 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 141 : uLong ret; -; 142 : ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream); - - 00003 ff 75 0c push DWORD PTR _stream$[ebp] - 00006 ff 75 14 push DWORD PTR _size$[ebp] - 00009 6a 01 push 1 - 0000b ff 75 10 push DWORD PTR _buf$[ebp] - 0000e ff 15 00 00 00 - 00 call DWORD PTR __imp__fwrite - 00014 83 c4 10 add esp, 16 ; 00000010H - -; 143 : return ret; -; 144 : } - - 00017 5d pop ebp - 00018 c3 ret 0 -_fwrite_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _ftell_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_ftell_file_func PROC ; COMDAT - -; 147 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 148 : long ret; -; 149 : ret = ftell((FILE *)stream); - - 00003 ff 75 0c push DWORD PTR _stream$[ebp] - 00006 ff 15 00 00 00 - 00 call DWORD PTR __imp__ftell - 0000c 83 c4 04 add esp, 4 - -; 150 : return ret; -; 151 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -_ftell_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _ftell64_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_ftell64_file_func PROC ; COMDAT - -; 155 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 156 : ZPOS64_T ret; -; 157 : ret = FTELLO_FUNC((FILE *)stream); - - 00003 ff 75 0c push DWORD PTR _stream$[ebp] - 00006 ff 15 00 00 00 - 00 call DWORD PTR __imp___ftelli64 - 0000c 83 c4 04 add esp, 4 - -; 158 : return ret; -; 159 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -_ftell64_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _fseek_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_offset$ = 16 ; size = 4 -_origin$ = 20 ; size = 4 -_fseek_file_func PROC ; COMDAT - -; 162 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 163 : int fseek_origin=0; -; 164 : long ret; -; 165 : switch (origin) - - 00003 8b 45 14 mov eax, DWORD PTR _origin$[ebp] - 00006 83 e8 00 sub eax, 0 - 00009 74 1d je SHORT $LN6@fseek_file - 0000b 83 e8 01 sub eax, 1 - 0000e 74 11 je SHORT $LN4@fseek_file - 00010 83 e8 01 sub eax, 1 - 00013 74 05 je SHORT $LN5@fseek_file - -; 175 : break; -; 176 : default: return -1; - - 00015 83 c8 ff or eax, -1 - -; 182 : } - - 00018 5d pop ebp - 00019 c3 ret 0 -$LN5@fseek_file: - -; 170 : case ZLIB_FILEFUNC_SEEK_END : -; 171 : fseek_origin = SEEK_END; - - 0001a b8 02 00 00 00 mov eax, 2 - -; 172 : break; - - 0001f eb 09 jmp SHORT $LN2@fseek_file -$LN4@fseek_file: - -; 166 : { -; 167 : case ZLIB_FILEFUNC_SEEK_CUR : -; 168 : fseek_origin = SEEK_CUR; - - 00021 b8 01 00 00 00 mov eax, 1 - -; 169 : break; - - 00026 eb 02 jmp SHORT $LN2@fseek_file -$LN6@fseek_file: - -; 173 : case ZLIB_FILEFUNC_SEEK_SET : -; 174 : fseek_origin = SEEK_SET; - - 00028 33 c0 xor eax, eax -$LN2@fseek_file: - 0002a 56 push esi - -; 177 : } -; 178 : ret = 0; -; 179 : if (fseek((FILE *)stream, offset, fseek_origin) != 0) - - 0002b 50 push eax - 0002c ff 75 10 push DWORD PTR _offset$[ebp] - 0002f 33 f6 xor esi, esi - 00031 ff 75 0c push DWORD PTR _stream$[ebp] - 00034 ff 15 00 00 00 - 00 call DWORD PTR __imp__fseek - 0003a 83 c4 0c add esp, 12 ; 0000000cH - 0003d 83 c9 ff or ecx, -1 - 00040 85 c0 test eax, eax - 00042 0f 45 f1 cmovne esi, ecx - -; 180 : ret = -1; -; 181 : return ret; - - 00045 8b c6 mov eax, esi - 00047 5e pop esi - -; 182 : } - - 00048 5d pop ebp - 00049 c3 ret 0 -_fseek_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _fseek64_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_offset$ = 16 ; size = 8 -_origin$ = 24 ; size = 4 -_fseek64_file_func PROC ; COMDAT - -; 185 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 186 : int fseek_origin=0; -; 187 : long ret; -; 188 : switch (origin) - - 00003 8b 45 18 mov eax, DWORD PTR _origin$[ebp] - 00006 83 e8 00 sub eax, 0 - 00009 74 1d je SHORT $LN6@fseek64_fi - 0000b 83 e8 01 sub eax, 1 - 0000e 74 11 je SHORT $LN4@fseek64_fi - 00010 83 e8 01 sub eax, 1 - 00013 74 05 je SHORT $LN5@fseek64_fi - -; 198 : break; -; 199 : default: return -1; - - 00015 83 c8 ff or eax, -1 - -; 207 : } - - 00018 5d pop ebp - 00019 c3 ret 0 -$LN5@fseek64_fi: - -; 193 : case ZLIB_FILEFUNC_SEEK_END : -; 194 : fseek_origin = SEEK_END; - - 0001a b8 02 00 00 00 mov eax, 2 - -; 195 : break; - - 0001f eb 09 jmp SHORT $LN2@fseek64_fi -$LN4@fseek64_fi: - -; 189 : { -; 190 : case ZLIB_FILEFUNC_SEEK_CUR : -; 191 : fseek_origin = SEEK_CUR; - - 00021 b8 01 00 00 00 mov eax, 1 - -; 192 : break; - - 00026 eb 02 jmp SHORT $LN2@fseek64_fi -$LN6@fseek64_fi: - -; 196 : case ZLIB_FILEFUNC_SEEK_SET : -; 197 : fseek_origin = SEEK_SET; - - 00028 33 c0 xor eax, eax -$LN2@fseek64_fi: - 0002a 56 push esi - -; 200 : } -; 201 : ret = 0; -; 202 : -; 203 : if(FSEEKO_FUNC((FILE *)stream, offset, fseek_origin) != 0) - - 0002b 50 push eax - 0002c ff 75 14 push DWORD PTR _offset$[ebp+4] - 0002f 33 f6 xor esi, esi - 00031 ff 75 10 push DWORD PTR _offset$[ebp] - 00034 ff 75 0c push DWORD PTR _stream$[ebp] - 00037 ff 15 00 00 00 - 00 call DWORD PTR __imp___fseeki64 - 0003d 83 c4 10 add esp, 16 ; 00000010H - 00040 83 c9 ff or ecx, -1 - 00043 85 c0 test eax, eax - 00045 0f 45 f1 cmovne esi, ecx - -; 204 : ret = -1; -; 205 : -; 206 : return ret; - - 00048 8b c6 mov eax, esi - 0004a 5e pop esi - -; 207 : } - - 0004b 5d pop ebp - 0004c c3 ret 0 -_fseek64_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _fclose_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_fclose_file_func PROC ; COMDAT - -; 211 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 212 : int ret; -; 213 : ret = fclose((FILE *)stream); - - 00003 ff 75 0c push DWORD PTR _stream$[ebp] - 00006 ff 15 00 00 00 - 00 call DWORD PTR __imp__fclose - 0000c 83 c4 04 add esp, 4 - -; 214 : return ret; -; 215 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -_fclose_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _ferror_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_ferror_file_func PROC ; COMDAT - -; 218 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 219 : int ret; -; 220 : ret = ferror((FILE *)stream); - - 00003 ff 75 0c push DWORD PTR _stream$[ebp] - 00006 ff 15 00 00 00 - 00 call DWORD PTR __imp__ferror - 0000c 83 c4 04 add esp, 4 - -; 221 : return ret; -; 222 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -_ferror_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\ioapi.c -; COMDAT _fill_fopen64_filefunc -_TEXT SEGMENT -_fill_fopen64_filefunc PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx - -; 239 : pzlib_filefunc_def->zopen64_file = fopen64_file_func; - - 00000 c7 01 00 00 00 - 00 mov DWORD PTR [ecx], OFFSET _fopen64_file_func - -; 240 : pzlib_filefunc_def->zread_file = fread_file_func; - - 00006 c7 41 04 00 00 - 00 00 mov DWORD PTR [ecx+4], OFFSET _fread_file_func - -; 241 : pzlib_filefunc_def->zwrite_file = fwrite_file_func; - - 0000d c7 41 08 00 00 - 00 00 mov DWORD PTR [ecx+8], OFFSET _fwrite_file_func - -; 242 : pzlib_filefunc_def->ztell64_file = ftell64_file_func; - - 00014 c7 41 0c 00 00 - 00 00 mov DWORD PTR [ecx+12], OFFSET _ftell64_file_func - -; 243 : pzlib_filefunc_def->zseek64_file = fseek64_file_func; - - 0001b c7 41 10 00 00 - 00 00 mov DWORD PTR [ecx+16], OFFSET _fseek64_file_func - -; 244 : pzlib_filefunc_def->zclose_file = fclose_file_func; - - 00022 c7 41 14 00 00 - 00 00 mov DWORD PTR [ecx+20], OFFSET _fclose_file_func - -; 245 : pzlib_filefunc_def->zerror_file = ferror_file_func; - - 00029 c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET _ferror_file_func - -; 246 : pzlib_filefunc_def->opaque = NULL; - - 00030 c7 41 1c 00 00 - 00 00 mov DWORD PTR [ecx+28], 0 - -; 247 : } - - 00037 c3 ret 0 -_fill_fopen64_filefunc ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/ioapi.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/ioapi.obj deleted file mode 100644 index 3249cd139e..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/ioapi.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/iowin32.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/iowin32.cod deleted file mode 100644 index 9f349a34ff..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/iowin32.cod +++ /dev/null @@ -1,1691 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -EXTRN __imp__SetFilePointerEx@20:PROC -EXTRN __imp__CloseHandle@4:PROC -EXTRN __imp__GetLastError@0:PROC -EXTRN __imp__MultiByteToWideChar@24:PROC -EXTRN __imp__CreateFile2@20:PROC -EXTRN __imp__WriteFile@20:PROC -EXTRN __imp__ReadFile@20:PROC -PUBLIC _fill_win32_filefunc64W -PUBLIC _fill_win32_filefunc64A -PUBLIC _fill_win32_filefunc64 -PUBLIC _fill_win32_filefunc -PUBLIC _win32_error_file_func -PUBLIC _win32_close_file_func -PUBLIC _win32_seek64_file_func -PUBLIC _win32_seek_file_func -PUBLIC _win32_tell64_file_func -PUBLIC _win32_tell_file_func -PUBLIC _win32_write_file_func -PUBLIC _win32_read_file_func -PUBLIC _win32_open_file_func -PUBLIC _win32_open64_file_funcW -PUBLIC _win32_open64_file_funcA -PUBLIC _win32_open64_file_func -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_translate_open_mode -_TEXT SEGMENT -_lpdwCreationDisposition$ = 8 ; size = 4 -_lpdwShareMode$ = 12 ; size = 4 -_lpdwFlagsAndAttributes$ = 16 ; size = 4 -_win32_translate_open_mode PROC ; COMDAT -; _mode$ = ecx -; _lpdwDesiredAccess$ = edx - -; 55 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 56 : *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0; - - 00003 8b 45 10 mov eax, DWORD PTR _lpdwFlagsAndAttributes$[ebp] - 00006 56 push esi - 00007 8b 75 08 mov esi, DWORD PTR _lpdwCreationDisposition$[ebp] - 0000a 57 push edi - 0000b 8b 7d 0c mov edi, DWORD PTR _lpdwShareMode$[ebp] - 0000e c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - -; 57 : -; 58 : if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - - 00014 8b c1 mov eax, ecx - 00016 24 03 and al, 3 - 00018 c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 - 0001e c7 02 00 00 00 - 00 mov DWORD PTR [edx], 0 - 00024 c7 07 00 00 00 - 00 mov DWORD PTR [edi], 0 - 0002a 3c 01 cmp al, 1 - 0002c 75 16 jne SHORT $LN2@win32_tran - -; 59 : { -; 60 : *lpdwDesiredAccess = GENERIC_READ; -; 61 : *lpdwCreationDisposition = OPEN_EXISTING; -; 62 : *lpdwShareMode = FILE_SHARE_READ; - - 0002e c7 07 01 00 00 - 00 mov DWORD PTR [edi], 1 - 00034 5f pop edi - 00035 c7 06 03 00 00 - 00 mov DWORD PTR [esi], 3 - 0003b c7 02 00 00 00 - 80 mov DWORD PTR [edx], -2147483648 ; 80000000H - 00041 5e pop esi - -; 73 : } -; 74 : } - - 00042 5d pop ebp - 00043 c3 ret 0 -$LN2@win32_tran: - -; 63 : } -; 64 : else if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - - 00044 f6 c1 04 test cl, 4 - 00047 74 10 je SHORT $LN4@win32_tran - -; 65 : { -; 66 : *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ; -; 67 : *lpdwCreationDisposition = OPEN_EXISTING; - - 00049 5f pop edi - 0004a c7 06 03 00 00 - 00 mov DWORD PTR [esi], 3 - -; 70 : { -; 71 : *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ; - - 00050 c7 02 00 00 00 - c0 mov DWORD PTR [edx], -1073741824 ; c0000000H - 00056 5e pop esi - -; 73 : } -; 74 : } - - 00057 5d pop ebp - 00058 c3 ret 0 -$LN4@win32_tran: - -; 68 : } -; 69 : else if (mode & ZLIB_FILEFUNC_MODE_CREATE) - - 00059 f6 c1 08 test cl, 8 - 0005c 74 0c je SHORT $LN6@win32_tran - -; 72 : *lpdwCreationDisposition = CREATE_ALWAYS; - - 0005e c7 06 02 00 00 - 00 mov DWORD PTR [esi], 2 - 00064 c7 02 00 00 00 - c0 mov DWORD PTR [edx], -1073741824 ; c0000000H -$LN6@win32_tran: - 0006a 5f pop edi - 0006b 5e pop esi - -; 73 : } -; 74 : } - - 0006c 5d pop ebp - 0006d c3 ret 0 -_win32_translate_open_mode ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_build_iowin -_TEXT SEGMENT -_win32_build_iowin PROC ; COMDAT -; _hFile$ = ecx - -; 77 : { - - 00000 56 push esi - 00001 8b f1 mov esi, ecx - -; 78 : voidpf ret=NULL; -; 79 : -; 80 : if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE)) - - 00003 85 f6 test esi, esi - 00005 74 2f je SHORT $LN7@win32_buil - 00007 83 fe ff cmp esi, -1 - 0000a 74 2a je SHORT $LN7@win32_buil - -; 81 : { -; 82 : WIN32FILE_IOWIN w32fiow; -; 83 : w32fiow.hf = hFile; -; 84 : w32fiow.error = 0; -; 85 : ret = malloc(sizeof(WIN32FILE_IOWIN)); - - 0000c 57 push edi - 0000d 6a 08 push 8 - 0000f ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00015 8b f8 mov edi, eax - 00017 83 c4 04 add esp, 4 - -; 86 : -; 87 : if (ret==NULL) - - 0001a 85 ff test edi, edi - 0001c 75 0c jne SHORT $LN3@win32_buil - -; 88 : CloseHandle(hFile); - - 0001e 56 push esi - 0001f ff 15 00 00 00 - 00 call DWORD PTR __imp__CloseHandle@4 - -; 91 : } -; 92 : return ret; - - 00025 8b c7 mov eax, edi - 00027 5f pop edi - 00028 5e pop esi - -; 93 : } - - 00029 c3 ret 0 -$LN3@win32_buil: - -; 89 : else -; 90 : *((WIN32FILE_IOWIN*)ret) = w32fiow; - - 0002a 89 37 mov DWORD PTR [edi], esi - 0002c c7 47 04 00 00 - 00 00 mov DWORD PTR [edi+4], 0 - 00033 5f pop edi - 00034 5e pop esi - -; 93 : } - - 00035 c3 ret 0 -$LN7@win32_buil: - -; 91 : } -; 92 : return ret; - - 00036 33 c0 xor eax, eax - 00038 5e pop esi - -; 93 : } - - 00039 c3 ret 0 -_win32_build_iowin ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_open64_file_func -_TEXT SEGMENT -_filenameW$1 = -1564 ; size = 1546 -_dwFlagsAndAttributes$ = -16 ; size = 4 -_dwShareMode$ = -12 ; size = 4 -_dwCreationDisposition$ = -8 ; size = 4 -_dwDesiredAccess$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_win32_open64_file_func PROC ; COMDAT - -; 96 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 97 : const char* mode_fopen = NULL; -; 98 : DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; -; 99 : HANDLE hFile = NULL; -; 100 : -; 101 : win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - 00003 8b 4d 10 mov ecx, DWORD PTR _mode$[ebp] - 00006 8d 45 f0 lea eax, DWORD PTR _dwFlagsAndAttributes$[ebp] - 00009 81 ec 1c 06 00 - 00 sub esp, 1564 ; 0000061cH - 0000f 8d 55 fc lea edx, DWORD PTR _dwDesiredAccess$[ebp] - 00012 57 push edi - 00013 50 push eax - 00014 8d 45 f4 lea eax, DWORD PTR _dwShareMode$[ebp] - 00017 33 ff xor edi, edi - 00019 50 push eax - 0001a 8d 45 f8 lea eax, DWORD PTR _dwCreationDisposition$[ebp] - 0001d 50 push eax - 0001e e8 00 00 00 00 call _win32_translate_open_mode - -; 102 : -; 103 : #ifdef IOWIN32_USING_WINRT_API -; 104 : #ifdef UNICODE -; 105 : if ((filename!=NULL) && (dwDesiredAccess != 0)) -; 106 : hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL); -; 107 : #else -; 108 : if ((filename!=NULL) && (dwDesiredAccess != 0)) - - 00023 8b 45 0c mov eax, DWORD PTR _filename$[ebp] - 00026 83 c4 0c add esp, 12 ; 0000000cH - 00029 85 c0 test eax, eax - 0002b 74 35 je SHORT $LN2@win32_open - 0002d 39 7d fc cmp DWORD PTR _dwDesiredAccess$[ebp], edi - 00030 74 30 je SHORT $LN2@win32_open - -; 109 : { -; 110 : WCHAR filenameW[FILENAME_MAX + 0x200 + 1]; -; 111 : MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200); - - 00032 68 04 03 00 00 push 772 ; 00000304H - 00037 8d 8d e4 f9 ff - ff lea ecx, DWORD PTR _filenameW$1[ebp] - 0003d 51 push ecx - 0003e 6a ff push -1 - 00040 50 push eax - 00041 57 push edi - 00042 57 push edi - 00043 ff 15 00 00 00 - 00 call DWORD PTR __imp__MultiByteToWideChar@24 - -; 112 : hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL); - - 00049 57 push edi - 0004a ff 75 f8 push DWORD PTR _dwCreationDisposition$[ebp] - 0004d 8d 85 e4 f9 ff - ff lea eax, DWORD PTR _filenameW$1[ebp] - 00053 ff 75 f4 push DWORD PTR _dwShareMode$[ebp] - 00056 ff 75 fc push DWORD PTR _dwDesiredAccess$[ebp] - 00059 50 push eax - 0005a ff 15 00 00 00 - 00 call DWORD PTR __imp__CreateFile2@20 - 00060 8b f8 mov edi, eax -$LN2@win32_open: - -; 113 : } -; 114 : #endif -; 115 : #else -; 116 : if ((filename!=NULL) && (dwDesiredAccess != 0)) -; 117 : hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); -; 118 : #endif -; 119 : -; 120 : return win32_build_iowin(hFile); - - 00062 8b cf mov ecx, edi - 00064 e8 00 00 00 00 call _win32_build_iowin - 00069 5f pop edi - -; 121 : } - - 0006a 8b e5 mov esp, ebp - 0006c 5d pop ebp - 0006d c3 ret 0 -_win32_open64_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_open64_file_funcA -_TEXT SEGMENT -_filenameW$1 = -1564 ; size = 1546 -_dwFlagsAndAttributes$ = -16 ; size = 4 -_dwShareMode$ = -12 ; size = 4 -_dwCreationDisposition$ = -8 ; size = 4 -_dwDesiredAccess$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_win32_open64_file_funcA PROC ; COMDAT - -; 125 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 126 : const char* mode_fopen = NULL; -; 127 : DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; -; 128 : HANDLE hFile = NULL; -; 129 : -; 130 : win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - 00003 8b 4d 10 mov ecx, DWORD PTR _mode$[ebp] - 00006 8d 45 f0 lea eax, DWORD PTR _dwFlagsAndAttributes$[ebp] - 00009 81 ec 1c 06 00 - 00 sub esp, 1564 ; 0000061cH - 0000f 8d 55 fc lea edx, DWORD PTR _dwDesiredAccess$[ebp] - 00012 57 push edi - 00013 50 push eax - 00014 8d 45 f4 lea eax, DWORD PTR _dwShareMode$[ebp] - 00017 33 ff xor edi, edi - 00019 50 push eax - 0001a 8d 45 f8 lea eax, DWORD PTR _dwCreationDisposition$[ebp] - 0001d 50 push eax - 0001e e8 00 00 00 00 call _win32_translate_open_mode - -; 131 : -; 132 : #ifdef IOWIN32_USING_WINRT_API -; 133 : if ((filename!=NULL) && (dwDesiredAccess != 0)) - - 00023 8b 45 0c mov eax, DWORD PTR _filename$[ebp] - 00026 83 c4 0c add esp, 12 ; 0000000cH - 00029 85 c0 test eax, eax - 0002b 74 35 je SHORT $LN2@win32_open - 0002d 39 7d fc cmp DWORD PTR _dwDesiredAccess$[ebp], edi - 00030 74 30 je SHORT $LN2@win32_open - -; 134 : { -; 135 : WCHAR filenameW[FILENAME_MAX + 0x200 + 1]; -; 136 : MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200); - - 00032 68 04 03 00 00 push 772 ; 00000304H - 00037 8d 8d e4 f9 ff - ff lea ecx, DWORD PTR _filenameW$1[ebp] - 0003d 51 push ecx - 0003e 6a ff push -1 - 00040 50 push eax - 00041 57 push edi - 00042 57 push edi - 00043 ff 15 00 00 00 - 00 call DWORD PTR __imp__MultiByteToWideChar@24 - -; 137 : hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL); - - 00049 57 push edi - 0004a ff 75 f8 push DWORD PTR _dwCreationDisposition$[ebp] - 0004d 8d 85 e4 f9 ff - ff lea eax, DWORD PTR _filenameW$1[ebp] - 00053 ff 75 f4 push DWORD PTR _dwShareMode$[ebp] - 00056 ff 75 fc push DWORD PTR _dwDesiredAccess$[ebp] - 00059 50 push eax - 0005a ff 15 00 00 00 - 00 call DWORD PTR __imp__CreateFile2@20 - 00060 8b f8 mov edi, eax -$LN2@win32_open: - -; 138 : } -; 139 : #else -; 140 : if ((filename!=NULL) && (dwDesiredAccess != 0)) -; 141 : hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); -; 142 : #endif -; 143 : -; 144 : return win32_build_iowin(hFile); - - 00062 8b cf mov ecx, edi - 00064 e8 00 00 00 00 call _win32_build_iowin - 00069 5f pop edi - -; 145 : } - - 0006a 8b e5 mov esp, ebp - 0006c 5d pop ebp - 0006d c3 ret 0 -_win32_open64_file_funcA ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_open64_file_funcW -_TEXT SEGMENT -_dwFlagsAndAttributes$ = -16 ; size = 4 -_dwShareMode$ = -12 ; size = 4 -_dwCreationDisposition$ = -8 ; size = 4 -_dwDesiredAccess$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_win32_open64_file_funcW PROC ; COMDAT - -; 149 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 150 : const char* mode_fopen = NULL; -; 151 : DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; -; 152 : HANDLE hFile = NULL; -; 153 : -; 154 : win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - 00003 8b 4d 10 mov ecx, DWORD PTR _mode$[ebp] - 00006 8d 45 f0 lea eax, DWORD PTR _dwFlagsAndAttributes$[ebp] - 00009 83 ec 10 sub esp, 16 ; 00000010H - 0000c 8d 55 fc lea edx, DWORD PTR _dwDesiredAccess$[ebp] - 0000f 56 push esi - 00010 50 push eax - 00011 8d 45 f4 lea eax, DWORD PTR _dwShareMode$[ebp] - 00014 33 f6 xor esi, esi - 00016 50 push eax - 00017 8d 45 f8 lea eax, DWORD PTR _dwCreationDisposition$[ebp] - 0001a 50 push eax - 0001b e8 00 00 00 00 call _win32_translate_open_mode - -; 155 : -; 156 : #ifdef IOWIN32_USING_WINRT_API -; 157 : if ((filename!=NULL) && (dwDesiredAccess != 0)) - - 00020 8b 4d 0c mov ecx, DWORD PTR _filename$[ebp] - 00023 83 c4 0c add esp, 12 ; 0000000cH - 00026 85 c9 test ecx, ecx - 00028 74 18 je SHORT $LN2@win32_open - 0002a 8b 45 fc mov eax, DWORD PTR _dwDesiredAccess$[ebp] - 0002d 85 c0 test eax, eax - 0002f 74 11 je SHORT $LN2@win32_open - -; 158 : hFile = CreateFile2((LPCWSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition,NULL); - - 00031 56 push esi - 00032 ff 75 f8 push DWORD PTR _dwCreationDisposition$[ebp] - 00035 ff 75 f4 push DWORD PTR _dwShareMode$[ebp] - 00038 50 push eax - 00039 51 push ecx - 0003a ff 15 00 00 00 - 00 call DWORD PTR __imp__CreateFile2@20 - 00040 8b f0 mov esi, eax -$LN2@win32_open: - -; 159 : #else -; 160 : if ((filename!=NULL) && (dwDesiredAccess != 0)) -; 161 : hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); -; 162 : #endif -; 163 : -; 164 : return win32_build_iowin(hFile); - - 00042 8b ce mov ecx, esi - 00044 e8 00 00 00 00 call _win32_build_iowin - 00049 5e pop esi - -; 165 : } - - 0004a 8b e5 mov esp, ebp - 0004c 5d pop ebp - 0004d c3 ret 0 -_win32_open64_file_funcW ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_open_file_func -_TEXT SEGMENT -_filenameW$1 = -1564 ; size = 1546 -_dwFlagsAndAttributes$ = -16 ; size = 4 -_dwShareMode$ = -12 ; size = 4 -_dwCreationDisposition$ = -8 ; size = 4 -_dwDesiredAccess$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_win32_open_file_func PROC ; COMDAT - -; 169 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 170 : const char* mode_fopen = NULL; -; 171 : DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; -; 172 : HANDLE hFile = NULL; -; 173 : -; 174 : win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - 00003 8b 4d 10 mov ecx, DWORD PTR _mode$[ebp] - 00006 8d 45 f0 lea eax, DWORD PTR _dwFlagsAndAttributes$[ebp] - 00009 81 ec 1c 06 00 - 00 sub esp, 1564 ; 0000061cH - 0000f 8d 55 fc lea edx, DWORD PTR _dwDesiredAccess$[ebp] - 00012 57 push edi - 00013 50 push eax - 00014 8d 45 f4 lea eax, DWORD PTR _dwShareMode$[ebp] - 00017 33 ff xor edi, edi - 00019 50 push eax - 0001a 8d 45 f8 lea eax, DWORD PTR _dwCreationDisposition$[ebp] - 0001d 50 push eax - 0001e e8 00 00 00 00 call _win32_translate_open_mode - -; 175 : -; 176 : #ifdef IOWIN32_USING_WINRT_API -; 177 : #ifdef UNICODE -; 178 : if ((filename!=NULL) && (dwDesiredAccess != 0)) -; 179 : hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL); -; 180 : #else -; 181 : if ((filename!=NULL) && (dwDesiredAccess != 0)) - - 00023 8b 45 0c mov eax, DWORD PTR _filename$[ebp] - 00026 83 c4 0c add esp, 12 ; 0000000cH - 00029 85 c0 test eax, eax - 0002b 74 35 je SHORT $LN2@win32_open - 0002d 39 7d fc cmp DWORD PTR _dwDesiredAccess$[ebp], edi - 00030 74 30 je SHORT $LN2@win32_open - -; 182 : { -; 183 : WCHAR filenameW[FILENAME_MAX + 0x200 + 1]; -; 184 : MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200); - - 00032 68 04 03 00 00 push 772 ; 00000304H - 00037 8d 8d e4 f9 ff - ff lea ecx, DWORD PTR _filenameW$1[ebp] - 0003d 51 push ecx - 0003e 6a ff push -1 - 00040 50 push eax - 00041 57 push edi - 00042 57 push edi - 00043 ff 15 00 00 00 - 00 call DWORD PTR __imp__MultiByteToWideChar@24 - -; 185 : hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL); - - 00049 57 push edi - 0004a ff 75 f8 push DWORD PTR _dwCreationDisposition$[ebp] - 0004d 8d 85 e4 f9 ff - ff lea eax, DWORD PTR _filenameW$1[ebp] - 00053 ff 75 f4 push DWORD PTR _dwShareMode$[ebp] - 00056 ff 75 fc push DWORD PTR _dwDesiredAccess$[ebp] - 00059 50 push eax - 0005a ff 15 00 00 00 - 00 call DWORD PTR __imp__CreateFile2@20 - 00060 8b f8 mov edi, eax -$LN2@win32_open: - -; 186 : } -; 187 : #endif -; 188 : #else -; 189 : if ((filename!=NULL) && (dwDesiredAccess != 0)) -; 190 : hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); -; 191 : #endif -; 192 : -; 193 : return win32_build_iowin(hFile); - - 00062 8b cf mov ecx, edi - 00064 e8 00 00 00 00 call _win32_build_iowin - 00069 5f pop edi - -; 194 : } - - 0006a 8b e5 mov esp, ebp - 0006c 5d pop ebp - 0006d c3 ret 0 -_win32_open_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_read_file_func -_TEXT SEGMENT -_ret$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_buf$ = 16 ; size = 4 -_size$ = 20 ; size = 4 -_win32_read_file_func PROC ; COMDAT - -; 198 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - -; 199 : uLong ret=0; -; 200 : HANDLE hFile = NULL; -; 201 : if (stream!=NULL) - - 00005 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 00008 c7 45 fc 00 00 - 00 00 mov DWORD PTR _ret$[ebp], 0 - 0000f 85 f6 test esi, esi - 00011 74 36 je SHORT $LN9@win32_read - -; 202 : hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - 00013 8b 06 mov eax, DWORD PTR [esi] - -; 203 : -; 204 : if (hFile != NULL) - - 00015 85 c0 test eax, eax - 00017 74 30 je SHORT $LN9@win32_read - -; 205 : { -; 206 : if (!ReadFile(hFile, buf, size, &ret, NULL)) - - 00019 6a 00 push 0 - 0001b 8d 4d fc lea ecx, DWORD PTR _ret$[ebp] - 0001e 51 push ecx - 0001f ff 75 14 push DWORD PTR _size$[ebp] - 00022 ff 75 10 push DWORD PTR _buf$[ebp] - 00025 50 push eax - 00026 ff 15 00 00 00 - 00 call DWORD PTR __imp__ReadFile@20 - 0002c 85 c0 test eax, eax - 0002e 75 11 jne SHORT $LN7@win32_read - -; 207 : { -; 208 : DWORD dwErr = GetLastError(); - - 00030 ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 209 : if (dwErr == ERROR_HANDLE_EOF) - - 00036 33 c9 xor ecx, ecx - 00038 83 f8 26 cmp eax, 38 ; 00000026H - 0003b 0f 44 c1 cmove eax, ecx - -; 210 : dwErr = 0; -; 211 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - - 0003e 89 46 04 mov DWORD PTR [esi+4], eax -$LN7@win32_read: - -; 212 : } -; 213 : } -; 214 : -; 215 : return ret; - - 00041 8b 45 fc mov eax, DWORD PTR _ret$[ebp] - 00044 5e pop esi - -; 216 : } - - 00045 8b e5 mov esp, ebp - 00047 5d pop ebp - 00048 c3 ret 0 -$LN9@win32_read: - -; 212 : } -; 213 : } -; 214 : -; 215 : return ret; - - 00049 33 c0 xor eax, eax - 0004b 5e pop esi - -; 216 : } - - 0004c 8b e5 mov esp, ebp - 0004e 5d pop ebp - 0004f c3 ret 0 -_win32_read_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_write_file_func -_TEXT SEGMENT -_ret$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_buf$ = 16 ; size = 4 -_size$ = 20 ; size = 4 -_win32_write_file_func PROC ; COMDAT - -; 220 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - -; 221 : uLong ret=0; -; 222 : HANDLE hFile = NULL; -; 223 : if (stream!=NULL) - - 00005 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 00008 c7 45 fc 00 00 - 00 00 mov DWORD PTR _ret$[ebp], 0 - 0000f 85 f6 test esi, esi - 00011 74 36 je SHORT $LN9@win32_writ - -; 224 : hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - 00013 8b 06 mov eax, DWORD PTR [esi] - -; 225 : -; 226 : if (hFile != NULL) - - 00015 85 c0 test eax, eax - 00017 74 30 je SHORT $LN9@win32_writ - -; 227 : { -; 228 : if (!WriteFile(hFile, buf, size, &ret, NULL)) - - 00019 6a 00 push 0 - 0001b 8d 4d fc lea ecx, DWORD PTR _ret$[ebp] - 0001e 51 push ecx - 0001f ff 75 14 push DWORD PTR _size$[ebp] - 00022 ff 75 10 push DWORD PTR _buf$[ebp] - 00025 50 push eax - 00026 ff 15 00 00 00 - 00 call DWORD PTR __imp__WriteFile@20 - 0002c 85 c0 test eax, eax - 0002e 75 11 jne SHORT $LN7@win32_writ - -; 229 : { -; 230 : DWORD dwErr = GetLastError(); - - 00030 ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 231 : if (dwErr == ERROR_HANDLE_EOF) - - 00036 33 c9 xor ecx, ecx - 00038 83 f8 26 cmp eax, 38 ; 00000026H - 0003b 0f 44 c1 cmove eax, ecx - -; 232 : dwErr = 0; -; 233 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - - 0003e 89 46 04 mov DWORD PTR [esi+4], eax -$LN7@win32_writ: - -; 234 : } -; 235 : } -; 236 : -; 237 : return ret; - - 00041 8b 45 fc mov eax, DWORD PTR _ret$[ebp] - 00044 5e pop esi - -; 238 : } - - 00045 8b e5 mov esp, ebp - 00047 5d pop ebp - 00048 c3 ret 0 -$LN9@win32_writ: - -; 234 : } -; 235 : } -; 236 : -; 237 : return ret; - - 00049 33 c0 xor eax, eax - 0004b 5e pop esi - -; 238 : } - - 0004c 8b e5 mov esp, ebp - 0004e 5d pop ebp - 0004f c3 ret 0 -_win32_write_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _MySetFilePointerEx -_TEXT SEGMENT -_dwMoveMethod$ = 8 ; size = 4 -_pos$ = 12 ; size = 8 -_MySetFilePointerEx PROC ; COMDAT -; _hFile$ = ecx -; _newPos$ = edx - -; 241 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 242 : #ifdef IOWIN32_USING_WINRT_API -; 243 : return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod); - - 00003 ff 75 08 push DWORD PTR _dwMoveMethod$[ebp] - 00006 52 push edx - 00007 ff 75 10 push DWORD PTR _pos$[ebp+4] - 0000a ff 75 0c push DWORD PTR _pos$[ebp] - 0000d 51 push ecx - 0000e ff 15 00 00 00 - 00 call DWORD PTR __imp__SetFilePointerEx@20 - -; 244 : #else -; 245 : LONG lHigh = pos.HighPart; -; 246 : DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, FILE_CURRENT); -; 247 : BOOL fOk = TRUE; -; 248 : if (dwNewPos == 0xFFFFFFFF) -; 249 : if (GetLastError() != NO_ERROR) -; 250 : fOk = FALSE; -; 251 : if ((newPos != NULL) && (fOk)) -; 252 : { -; 253 : newPos->LowPart = dwNewPos; -; 254 : newPos->HighPart = lHigh; -; 255 : } -; 256 : return fOk; -; 257 : #endif -; 258 : } - - 00014 5d pop ebp - 00015 c3 ret 0 -_MySetFilePointerEx ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_tell_file_func -_TEXT SEGMENT -_pos$1 = -8 ; size = 8 -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_win32_tell_file_func PROC ; COMDAT - -; 261 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 0c sub esp, 12 ; 0000000cH - 00009 56 push esi - -; 262 : long ret=-1; -; 263 : HANDLE hFile = NULL; -; 264 : if (stream!=NULL) - - 0000a 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 0000d 85 f6 test esi, esi - 0000f 74 32 je SHORT $LN8@win32_tell - -; 265 : hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - 00011 8b 0e mov ecx, DWORD PTR [esi] - -; 266 : if (hFile != NULL) - - 00013 85 c9 test ecx, ecx - 00015 74 2c je SHORT $LN8@win32_tell - -; 267 : { -; 268 : LARGE_INTEGER pos; -; 269 : pos.QuadPart = 0; -; 270 : -; 271 : if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT)) - - 00017 0f 57 c0 xorps xmm0, xmm0 - 0001a 8d 54 24 08 lea edx, DWORD PTR _pos$1[esp+16] - 0001e 66 0f 13 44 24 - 08 movlpd QWORD PTR _pos$1[esp+16], xmm0 - 00024 ff 74 24 0c push DWORD PTR _pos$1[esp+20] - 00028 ff 74 24 0c push DWORD PTR _pos$1[esp+20] - 0002c 6a 01 push 1 - 0002e e8 00 00 00 00 call _MySetFilePointerEx - 00033 83 c4 0c add esp, 12 ; 0000000cH - 00036 85 c0 test eax, eax - 00038 75 11 jne SHORT $LN4@win32_tell - -; 272 : { -; 273 : DWORD dwErr = GetLastError(); - - 0003a ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 274 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - - 00040 89 46 04 mov DWORD PTR [esi+4], eax -$LN8@win32_tell: - -; 275 : ret = -1; -; 276 : } -; 277 : else -; 278 : ret=(long)pos.LowPart; -; 279 : } -; 280 : return ret; - - 00043 83 c8 ff or eax, -1 - -; 281 : } - - 00046 5e pop esi - 00047 8b e5 mov esp, ebp - 00049 5d pop ebp - 0004a c3 ret 0 -$LN4@win32_tell: - -; 275 : ret = -1; -; 276 : } -; 277 : else -; 278 : ret=(long)pos.LowPart; -; 279 : } -; 280 : return ret; - - 0004b 8b 44 24 08 mov eax, DWORD PTR _pos$1[esp+16] - -; 281 : } - - 0004f 5e pop esi - 00050 8b e5 mov esp, ebp - 00052 5d pop ebp - 00053 c3 ret 0 -_win32_tell_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_tell64_file_func -_TEXT SEGMENT -_pos$1 = -8 ; size = 8 -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_win32_tell64_file_func PROC ; COMDAT - -; 284 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 0c sub esp, 12 ; 0000000cH - 00009 56 push esi - -; 285 : ZPOS64_T ret= (ZPOS64_T)-1; -; 286 : HANDLE hFile = NULL; -; 287 : if (stream!=NULL) - - 0000a 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 0000d 85 f6 test esi, esi - 0000f 74 32 je SHORT $LN8@win32_tell - -; 288 : hFile = ((WIN32FILE_IOWIN*)stream)->hf; - - 00011 8b 0e mov ecx, DWORD PTR [esi] - -; 289 : -; 290 : if (hFile) - - 00013 85 c9 test ecx, ecx - 00015 74 2c je SHORT $LN8@win32_tell - -; 291 : { -; 292 : LARGE_INTEGER pos; -; 293 : pos.QuadPart = 0; -; 294 : -; 295 : if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT)) - - 00017 0f 57 c0 xorps xmm0, xmm0 - 0001a 8d 54 24 08 lea edx, DWORD PTR _pos$1[esp+16] - 0001e 66 0f 13 44 24 - 08 movlpd QWORD PTR _pos$1[esp+16], xmm0 - 00024 ff 74 24 0c push DWORD PTR _pos$1[esp+20] - 00028 ff 74 24 0c push DWORD PTR _pos$1[esp+20] - 0002c 6a 01 push 1 - 0002e e8 00 00 00 00 call _MySetFilePointerEx - 00033 83 c4 0c add esp, 12 ; 0000000cH - 00036 85 c0 test eax, eax - 00038 75 14 jne SHORT $LN4@win32_tell - -; 296 : { -; 297 : DWORD dwErr = GetLastError(); - - 0003a ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 298 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - - 00040 89 46 04 mov DWORD PTR [esi+4], eax -$LN8@win32_tell: - -; 299 : ret = (ZPOS64_T)-1; -; 300 : } -; 301 : else -; 302 : ret=pos.QuadPart; -; 303 : } -; 304 : return ret; - - 00043 83 c8 ff or eax, -1 - 00046 83 ca ff or edx, -1 - -; 305 : } - - 00049 5e pop esi - 0004a 8b e5 mov esp, ebp - 0004c 5d pop ebp - 0004d c3 ret 0 -$LN4@win32_tell: - -; 299 : ret = (ZPOS64_T)-1; -; 300 : } -; 301 : else -; 302 : ret=pos.QuadPart; -; 303 : } -; 304 : return ret; - - 0004e 8b 44 24 08 mov eax, DWORD PTR _pos$1[esp+16] - 00052 8b 54 24 0c mov edx, DWORD PTR _pos$1[esp+20] - -; 305 : } - - 00056 5e pop esi - 00057 8b e5 mov esp, ebp - 00059 5d pop ebp - 0005a c3 ret 0 -_win32_tell64_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_seek_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_offset$ = 16 ; size = 4 -_origin$ = 20 ; size = 4 -_win32_seek_file_func PROC ; COMDAT - -; 309 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 56 push esi - -; 310 : DWORD dwMoveMethod=0xFFFFFFFF; -; 311 : HANDLE hFile = NULL; -; 312 : -; 313 : long ret=-1; -; 314 : if (stream!=NULL) - - 00007 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 0000a 83 c9 ff or ecx, -1 - 0000d 57 push edi - 0000e 33 ff xor edi, edi - 00010 85 f6 test esi, esi - 00012 74 02 je SHORT $LN4@win32_seek - -; 315 : hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - 00014 8b 3e mov edi, DWORD PTR [esi] -$LN4@win32_seek: - -; 316 : switch (origin) - - 00016 8b 45 14 mov eax, DWORD PTR _origin$[ebp] - 00019 83 e8 00 sub eax, 0 - 0001c 74 21 je SHORT $LN7@win32_seek - 0001e 83 e8 01 sub eax, 1 - 00021 74 15 je SHORT $LN5@win32_seek - 00023 83 e8 01 sub eax, 1 - 00026 74 09 je SHORT $LN6@win32_seek - -; 326 : break; -; 327 : default: return -1; - - 00028 83 c8 ff or eax, -1 - -; 344 : } - - 0002b 5f pop edi - 0002c 5e pop esi - 0002d 8b e5 mov esp, ebp - 0002f 5d pop ebp - 00030 c3 ret 0 -$LN6@win32_seek: - -; 321 : case ZLIB_FILEFUNC_SEEK_END : -; 322 : dwMoveMethod = FILE_END; - - 00031 b8 02 00 00 00 mov eax, 2 - -; 323 : break; - - 00036 eb 09 jmp SHORT $LN2@win32_seek -$LN5@win32_seek: - -; 317 : { -; 318 : case ZLIB_FILEFUNC_SEEK_CUR : -; 319 : dwMoveMethod = FILE_CURRENT; - - 00038 b8 01 00 00 00 mov eax, 1 - -; 320 : break; - - 0003d eb 02 jmp SHORT $LN2@win32_seek -$LN7@win32_seek: - -; 324 : case ZLIB_FILEFUNC_SEEK_SET : -; 325 : dwMoveMethod = FILE_BEGIN; - - 0003f 33 c0 xor eax, eax -$LN2@win32_seek: - -; 328 : } -; 329 : -; 330 : if (hFile != NULL) - - 00041 85 ff test edi, edi - 00043 74 2c je SHORT $LN11@win32_seek - -; 331 : { -; 332 : LARGE_INTEGER pos; -; 333 : pos.QuadPart = offset; -; 334 : if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod)) - - 00045 6a 00 push 0 - 00047 ff 75 10 push DWORD PTR _offset$[ebp] - 0004a 33 d2 xor edx, edx - 0004c 8b cf mov ecx, edi - 0004e 50 push eax - 0004f e8 00 00 00 00 call _MySetFilePointerEx - 00054 83 c4 0c add esp, 12 ; 0000000cH - 00057 85 c0 test eax, eax - 00059 75 14 jne SHORT $LN10@win32_seek - -; 335 : { -; 336 : DWORD dwErr = GetLastError(); - - 0005b ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 337 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; -; 338 : ret = -1; - - 00061 83 c9 ff or ecx, -1 - 00064 89 46 04 mov DWORD PTR [esi+4], eax - -; 342 : } -; 343 : return ret; - - 00067 8b c1 mov eax, ecx - -; 344 : } - - 00069 5f pop edi - 0006a 5e pop esi - 0006b 8b e5 mov esp, ebp - 0006d 5d pop ebp - 0006e c3 ret 0 -$LN10@win32_seek: - -; 339 : } -; 340 : else -; 341 : ret=0; - - 0006f 33 c9 xor ecx, ecx -$LN11@win32_seek: - -; 344 : } - - 00071 5f pop edi - 00072 8b c1 mov eax, ecx - 00074 5e pop esi - 00075 8b e5 mov esp, ebp - 00077 5d pop ebp - 00078 c3 ret 0 -_win32_seek_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_seek64_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_offset$ = 16 ; size = 8 -_origin$ = 24 ; size = 4 -_win32_seek64_file_func PROC ; COMDAT - -; 347 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 56 push esi - -; 348 : DWORD dwMoveMethod=0xFFFFFFFF; -; 349 : HANDLE hFile = NULL; -; 350 : long ret=-1; -; 351 : -; 352 : if (stream!=NULL) - - 00007 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 0000a 83 c9 ff or ecx, -1 - 0000d 57 push edi - 0000e 33 ff xor edi, edi - 00010 85 f6 test esi, esi - 00012 74 02 je SHORT $LN4@win32_seek - -; 353 : hFile = ((WIN32FILE_IOWIN*)stream)->hf; - - 00014 8b 3e mov edi, DWORD PTR [esi] -$LN4@win32_seek: - -; 354 : -; 355 : switch (origin) - - 00016 8b 45 18 mov eax, DWORD PTR _origin$[ebp] - 00019 83 e8 00 sub eax, 0 - 0001c 74 13 je SHORT $LN6@win32_seek - 0001e 83 e8 01 sub eax, 1 - 00021 74 0e je SHORT $LN6@win32_seek - 00023 83 e8 01 sub eax, 1 - 00026 74 09 je SHORT $LN6@win32_seek - -; 356 : { -; 357 : case ZLIB_FILEFUNC_SEEK_CUR : -; 358 : dwMoveMethod = FILE_CURRENT; -; 359 : break; -; 360 : case ZLIB_FILEFUNC_SEEK_END : -; 361 : dwMoveMethod = FILE_END; -; 362 : break; -; 363 : case ZLIB_FILEFUNC_SEEK_SET : -; 364 : dwMoveMethod = FILE_BEGIN; -; 365 : break; -; 366 : default: return -1; - - 00028 83 c8 ff or eax, -1 - -; 383 : } - - 0002b 5f pop edi - 0002c 5e pop esi - 0002d 8b e5 mov esp, ebp - 0002f 5d pop ebp - 00030 c3 ret 0 -$LN6@win32_seek: - -; 367 : } -; 368 : -; 369 : if (hFile) - - 00031 85 ff test edi, edi - 00033 74 2e je SHORT $LN11@win32_seek - -; 370 : { -; 371 : LARGE_INTEGER pos; -; 372 : pos.QuadPart = offset; -; 373 : if (!MySetFilePointerEx(hFile, pos, NULL, FILE_CURRENT)) - - 00035 ff 75 14 push DWORD PTR _offset$[ebp+4] - 00038 33 d2 xor edx, edx - 0003a 8b cf mov ecx, edi - 0003c ff 75 10 push DWORD PTR _offset$[ebp] - 0003f 6a 01 push 1 - 00041 e8 00 00 00 00 call _MySetFilePointerEx - 00046 83 c4 0c add esp, 12 ; 0000000cH - 00049 85 c0 test eax, eax - 0004b 75 14 jne SHORT $LN10@win32_seek - -; 374 : { -; 375 : DWORD dwErr = GetLastError(); - - 0004d ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 376 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; -; 377 : ret = -1; - - 00053 83 c9 ff or ecx, -1 - 00056 89 46 04 mov DWORD PTR [esi+4], eax - -; 381 : } -; 382 : return ret; - - 00059 8b c1 mov eax, ecx - -; 383 : } - - 0005b 5f pop edi - 0005c 5e pop esi - 0005d 8b e5 mov esp, ebp - 0005f 5d pop ebp - 00060 c3 ret 0 -$LN10@win32_seek: - -; 378 : } -; 379 : else -; 380 : ret=0; - - 00061 33 c9 xor ecx, ecx -$LN11@win32_seek: - -; 383 : } - - 00063 5f pop edi - 00064 8b c1 mov eax, ecx - 00066 5e pop esi - 00067 8b e5 mov esp, ebp - 00069 5d pop ebp - 0006a c3 ret 0 -_win32_seek64_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_close_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_win32_close_file_func PROC ; COMDAT - -; 386 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - 00004 57 push edi - -; 387 : int ret=-1; -; 388 : -; 389 : if (stream!=NULL) - - 00005 8b 7d 0c mov edi, DWORD PTR _stream$[ebp] - 00008 83 ce ff or esi, -1 - 0000b 85 ff test edi, edi - 0000d 74 19 je SHORT $LN5@win32_clos - -; 390 : { -; 391 : HANDLE hFile; -; 392 : hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - 0000f 8b 07 mov eax, DWORD PTR [edi] - -; 393 : if (hFile != NULL) - - 00011 85 c0 test eax, eax - 00013 74 09 je SHORT $LN3@win32_clos - -; 394 : { -; 395 : CloseHandle(hFile); - - 00015 50 push eax - 00016 ff 15 00 00 00 - 00 call DWORD PTR __imp__CloseHandle@4 - -; 396 : ret=0; - - 0001c 33 f6 xor esi, esi -$LN3@win32_clos: - -; 397 : } -; 398 : free(stream); - - 0001e 57 push edi - 0001f ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 00025 83 c4 04 add esp, 4 -$LN5@win32_clos: - -; 399 : } -; 400 : return ret; - - 00028 5f pop edi - 00029 8b c6 mov eax, esi - 0002b 5e pop esi - -; 401 : } - - 0002c 5d pop ebp - 0002d c3 ret 0 -_win32_close_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _win32_error_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_win32_error_file_func PROC ; COMDAT - -; 404 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 405 : int ret=-1; -; 406 : if (stream!=NULL) - - 00003 8b 45 0c mov eax, DWORD PTR _stream$[ebp] - 00006 85 c0 test eax, eax - 00008 74 05 je SHORT $LN4@win32_erro - -; 407 : { -; 408 : ret = ((WIN32FILE_IOWIN*)stream) -> error; -; 409 : } -; 410 : return ret; - - 0000a 8b 40 04 mov eax, DWORD PTR [eax+4] - -; 411 : } - - 0000d 5d pop ebp - 0000e c3 ret 0 -$LN4@win32_erro: - -; 407 : { -; 408 : ret = ((WIN32FILE_IOWIN*)stream) -> error; -; 409 : } -; 410 : return ret; - - 0000f 83 c8 ff or eax, -1 - -; 411 : } - - 00012 5d pop ebp - 00013 c3 ret 0 -_win32_error_file_func ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _fill_win32_filefunc -_TEXT SEGMENT -_pzlib_filefunc_def$ = 8 ; size = 4 -_fill_win32_filefunc PROC ; COMDAT - -; 414 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 415 : pzlib_filefunc_def->zopen_file = win32_open_file_func; - - 00003 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00006 c7 00 00 00 00 - 00 mov DWORD PTR [eax], OFFSET _win32_open_file_func - -; 416 : pzlib_filefunc_def->zread_file = win32_read_file_func; - - 0000c c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], OFFSET _win32_read_file_func - -; 417 : pzlib_filefunc_def->zwrite_file = win32_write_file_func; - - 00013 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], OFFSET _win32_write_file_func - -; 418 : pzlib_filefunc_def->ztell_file = win32_tell_file_func; - - 0001a c7 40 0c 00 00 - 00 00 mov DWORD PTR [eax+12], OFFSET _win32_tell_file_func - -; 419 : pzlib_filefunc_def->zseek_file = win32_seek_file_func; - - 00021 c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], OFFSET _win32_seek_file_func - -; 420 : pzlib_filefunc_def->zclose_file = win32_close_file_func; - - 00028 c7 40 14 00 00 - 00 00 mov DWORD PTR [eax+20], OFFSET _win32_close_file_func - -; 421 : pzlib_filefunc_def->zerror_file = win32_error_file_func; - - 0002f c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET _win32_error_file_func - -; 422 : pzlib_filefunc_def->opaque = NULL; - - 00036 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 - -; 423 : } - - 0003d 5d pop ebp - 0003e c3 ret 0 -_fill_win32_filefunc ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _fill_win32_filefunc64 -_TEXT SEGMENT -_pzlib_filefunc_def$ = 8 ; size = 4 -_fill_win32_filefunc64 PROC ; COMDAT - -; 426 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 427 : pzlib_filefunc_def->zopen64_file = win32_open64_file_func; - - 00003 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00006 c7 00 00 00 00 - 00 mov DWORD PTR [eax], OFFSET _win32_open64_file_func - -; 428 : pzlib_filefunc_def->zread_file = win32_read_file_func; - - 0000c c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], OFFSET _win32_read_file_func - -; 429 : pzlib_filefunc_def->zwrite_file = win32_write_file_func; - - 00013 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], OFFSET _win32_write_file_func - -; 430 : pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - - 0001a c7 40 0c 00 00 - 00 00 mov DWORD PTR [eax+12], OFFSET _win32_tell64_file_func - -; 431 : pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - - 00021 c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], OFFSET _win32_seek64_file_func - -; 432 : pzlib_filefunc_def->zclose_file = win32_close_file_func; - - 00028 c7 40 14 00 00 - 00 00 mov DWORD PTR [eax+20], OFFSET _win32_close_file_func - -; 433 : pzlib_filefunc_def->zerror_file = win32_error_file_func; - - 0002f c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET _win32_error_file_func - -; 434 : pzlib_filefunc_def->opaque = NULL; - - 00036 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 - -; 435 : } - - 0003d 5d pop ebp - 0003e c3 ret 0 -_fill_win32_filefunc64 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _fill_win32_filefunc64A -_TEXT SEGMENT -_pzlib_filefunc_def$ = 8 ; size = 4 -_fill_win32_filefunc64A PROC ; COMDAT - -; 439 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 440 : pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA; - - 00003 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00006 c7 00 00 00 00 - 00 mov DWORD PTR [eax], OFFSET _win32_open64_file_funcA - -; 441 : pzlib_filefunc_def->zread_file = win32_read_file_func; - - 0000c c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], OFFSET _win32_read_file_func - -; 442 : pzlib_filefunc_def->zwrite_file = win32_write_file_func; - - 00013 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], OFFSET _win32_write_file_func - -; 443 : pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - - 0001a c7 40 0c 00 00 - 00 00 mov DWORD PTR [eax+12], OFFSET _win32_tell64_file_func - -; 444 : pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - - 00021 c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], OFFSET _win32_seek64_file_func - -; 445 : pzlib_filefunc_def->zclose_file = win32_close_file_func; - - 00028 c7 40 14 00 00 - 00 00 mov DWORD PTR [eax+20], OFFSET _win32_close_file_func - -; 446 : pzlib_filefunc_def->zerror_file = win32_error_file_func; - - 0002f c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET _win32_error_file_func - -; 447 : pzlib_filefunc_def->opaque = NULL; - - 00036 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 - -; 448 : } - - 0003d 5d pop ebp - 0003e c3 ret 0 -_fill_win32_filefunc64A ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\iowin32.c -; COMDAT _fill_win32_filefunc64W -_TEXT SEGMENT -_pzlib_filefunc_def$ = 8 ; size = 4 -_fill_win32_filefunc64W PROC ; COMDAT - -; 452 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 453 : pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW; - - 00003 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00006 c7 00 00 00 00 - 00 mov DWORD PTR [eax], OFFSET _win32_open64_file_funcW - -; 454 : pzlib_filefunc_def->zread_file = win32_read_file_func; - - 0000c c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], OFFSET _win32_read_file_func - -; 455 : pzlib_filefunc_def->zwrite_file = win32_write_file_func; - - 00013 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], OFFSET _win32_write_file_func - -; 456 : pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - - 0001a c7 40 0c 00 00 - 00 00 mov DWORD PTR [eax+12], OFFSET _win32_tell64_file_func - -; 457 : pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - - 00021 c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], OFFSET _win32_seek64_file_func - -; 458 : pzlib_filefunc_def->zclose_file = win32_close_file_func; - - 00028 c7 40 14 00 00 - 00 00 mov DWORD PTR [eax+20], OFFSET _win32_close_file_func - -; 459 : pzlib_filefunc_def->zerror_file = win32_error_file_func; - - 0002f c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET _win32_error_file_func - -; 460 : pzlib_filefunc_def->opaque = NULL; - - 00036 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 - -; 461 : } - - 0003d 5d pop ebp - 0003e c3 ret 0 -_fill_win32_filefunc64W ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/iowin32.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/iowin32.obj deleted file mode 100644 index 34f529518b..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/iowin32.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/trees.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/trees.cod deleted file mode 100644 index ab1a163973..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/trees.cod +++ /dev/null @@ -1,5535 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\trees.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC __length_code -PUBLIC __dist_code -_static_l_desc DD FLAT:_static_ltree - DD FLAT:_extra_lbits - DD 0101H - DD 011eH - DD 0fH -_static_bl_desc DD 00H - DD FLAT:_extra_blbits - DD 00H - DD 013H - DD 07H -_static_d_desc DD FLAT:_static_dtree - DD FLAT:_extra_dbits - DD 00H - DD 01eH - DD 0fH -__length_code DB 00H - DB 01H - DB 02H - DB 03H - DB 04H - DB 05H - DB 06H - DB 07H - DB 08H - DB 08H - DB 09H - DB 09H - DB 0aH - DB 0aH - DB 0bH - DB 0bH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 010H - DB 010H - DB 010H - DB 010H - DB 010H - DB 010H - DB 010H - DB 010H - DB 011H - DB 011H - DB 011H - DB 011H - DB 011H - DB 011H - DB 011H - DB 011H - DB 012H - DB 012H - DB 012H - DB 012H - DB 012H - DB 012H - DB 012H - DB 012H - DB 013H - DB 013H - DB 013H - DB 013H - DB 013H - DB 013H - DB 013H - DB 013H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01cH -__dist_code DB 00H - DB 01H - DB 02H - DB 03H - DB 04H - DB 04H - DB 05H - DB 05H - DB 06H - DB 06H - DB 06H - DB 06H - DB 07H - DB 07H - DB 07H - DB 07H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 00H - DB 00H - DB 010H - DB 011H - DB 012H - DB 012H - DB 013H - DB 013H - DB 014H - DB 014H - DB 014H - DB 014H - DB 015H - DB 015H - DB 015H - DB 015H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH -_static_dtree DW 00H - DW 05H - DW 010H - DW 05H - DW 08H - DW 05H - DW 018H - DW 05H - DW 04H - DW 05H - DW 014H - DW 05H - DW 0cH - DW 05H - DW 01cH - DW 05H - DW 02H - DW 05H - DW 012H - DW 05H - DW 0aH - DW 05H - DW 01aH - DW 05H - DW 06H - DW 05H - DW 016H - DW 05H - DW 0eH - DW 05H - DW 01eH - DW 05H - DW 01H - DW 05H - DW 011H - DW 05H - DW 09H - DW 05H - DW 019H - DW 05H - DW 05H - DW 05H - DW 015H - DW 05H - DW 0dH - DW 05H - DW 01dH - DW 05H - DW 03H - DW 05H - DW 013H - DW 05H - DW 0bH - DW 05H - DW 01bH - DW 05H - DW 07H - DW 05H - DW 017H - DW 05H -_extra_blbits DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 02H - DD 03H - DD 07H - ORG $+4 -_extra_lbits DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 01H - DD 01H - DD 01H - DD 01H - DD 02H - DD 02H - DD 02H - DD 02H - DD 03H - DD 03H - DD 03H - DD 03H - DD 04H - DD 04H - DD 04H - DD 04H - DD 05H - DD 05H - DD 05H - DD 05H - DD 00H - ORG $+4 -_base_dist DD 00H - DD 01H - DD 02H - DD 03H - DD 04H - DD 06H - DD 08H - DD 0cH - DD 010H - DD 018H - DD 020H - DD 030H - DD 040H - DD 060H - DD 080H - DD 0c0H - DD 0100H - DD 0180H - DD 0200H - DD 0300H - DD 0400H - DD 0600H - DD 0800H - DD 0c00H - DD 01000H - DD 01800H - DD 02000H - DD 03000H - DD 04000H - DD 06000H -_base_length DD 00H - DD 01H - DD 02H - DD 03H - DD 04H - DD 05H - DD 06H - DD 07H - DD 08H - DD 0aH - DD 0cH - DD 0eH - DD 010H - DD 014H - DD 018H - DD 01cH - DD 020H - DD 028H - DD 030H - DD 038H - DD 040H - DD 050H - DD 060H - DD 070H - DD 080H - DD 0a0H - DD 0c0H - DD 0e0H - DD 00H - ORG $+4 -_extra_dbits DD 00H - DD 00H - DD 00H - DD 00H - DD 01H - DD 01H - DD 02H - DD 02H - DD 03H - DD 03H - DD 04H - DD 04H - DD 05H - DD 05H - DD 06H - DD 06H - DD 07H - DD 07H - DD 08H - DD 08H - DD 09H - DD 09H - DD 0aH - DD 0aH - DD 0bH - DD 0bH - DD 0cH - DD 0cH - DD 0dH - DD 0dH -_static_ltree DW 0cH - DW 08H - DW 08cH - DW 08H - DW 04cH - DW 08H - DW 0ccH - DW 08H - DW 02cH - DW 08H - DW 0acH - DW 08H - DW 06cH - DW 08H - DW 0ecH - DW 08H - DW 01cH - DW 08H - DW 09cH - DW 08H - DW 05cH - DW 08H - DW 0dcH - DW 08H - DW 03cH - DW 08H - DW 0bcH - DW 08H - DW 07cH - DW 08H - DW 0fcH - DW 08H - DW 02H - DW 08H - DW 082H - DW 08H - DW 042H - DW 08H - DW 0c2H - DW 08H - DW 022H - DW 08H - DW 0a2H - DW 08H - DW 062H - DW 08H - DW 0e2H - DW 08H - DW 012H - DW 08H - DW 092H - DW 08H - DW 052H - DW 08H - DW 0d2H - DW 08H - DW 032H - DW 08H - DW 0b2H - DW 08H - DW 072H - DW 08H - DW 0f2H - DW 08H - DW 0aH - DW 08H - DW 08aH - DW 08H - DW 04aH - DW 08H - DW 0caH - DW 08H - DW 02aH - DW 08H - DW 0aaH - DW 08H - DW 06aH - DW 08H - DW 0eaH - DW 08H - DW 01aH - DW 08H - DW 09aH - DW 08H - DW 05aH - DW 08H - DW 0daH - DW 08H - DW 03aH - DW 08H - DW 0baH - DW 08H - DW 07aH - DW 08H - DW 0faH - DW 08H - DW 06H - DW 08H - DW 086H - DW 08H - DW 046H - DW 08H - DW 0c6H - DW 08H - DW 026H - DW 08H - DW 0a6H - DW 08H - DW 066H - DW 08H - DW 0e6H - DW 08H - DW 016H - DW 08H - DW 096H - DW 08H - DW 056H - DW 08H - DW 0d6H - DW 08H - DW 036H - DW 08H - DW 0b6H - DW 08H - DW 076H - DW 08H - DW 0f6H - DW 08H - DW 0eH - DW 08H - DW 08eH - DW 08H - DW 04eH - DW 08H - DW 0ceH - DW 08H - DW 02eH - DW 08H - DW 0aeH - DW 08H - DW 06eH - DW 08H - DW 0eeH - DW 08H - DW 01eH - DW 08H - DW 09eH - DW 08H - DW 05eH - DW 08H - DW 0deH - DW 08H - DW 03eH - DW 08H - DW 0beH - DW 08H - DW 07eH - DW 08H - DW 0feH - DW 08H - DW 01H - DW 08H - DW 081H - DW 08H - DW 041H - DW 08H - DW 0c1H - DW 08H - DW 021H - DW 08H - DW 0a1H - DW 08H - DW 061H - DW 08H - DW 0e1H - DW 08H - DW 011H - DW 08H - DW 091H - DW 08H - DW 051H - DW 08H - DW 0d1H - DW 08H - DW 031H - DW 08H - DW 0b1H - DW 08H - DW 071H - DW 08H - DW 0f1H - DW 08H - DW 09H - DW 08H - DW 089H - DW 08H - DW 049H - DW 08H - DW 0c9H - DW 08H - DW 029H - DW 08H - DW 0a9H - DW 08H - DW 069H - DW 08H - DW 0e9H - DW 08H - DW 019H - DW 08H - DW 099H - DW 08H - DW 059H - DW 08H - DW 0d9H - DW 08H - DW 039H - DW 08H - DW 0b9H - DW 08H - DW 079H - DW 08H - DW 0f9H - DW 08H - DW 05H - DW 08H - DW 085H - DW 08H - DW 045H - DW 08H - DW 0c5H - DW 08H - DW 025H - DW 08H - DW 0a5H - DW 08H - DW 065H - DW 08H - DW 0e5H - DW 08H - DW 015H - DW 08H - DW 095H - DW 08H - DW 055H - DW 08H - DW 0d5H - DW 08H - DW 035H - DW 08H - DW 0b5H - DW 08H - DW 075H - DW 08H - DW 0f5H - DW 08H - DW 0dH - DW 08H - DW 08dH - DW 08H - DW 04dH - DW 08H - DW 0cdH - DW 08H - DW 02dH - DW 08H - DW 0adH - DW 08H - DW 06dH - DW 08H - DW 0edH - DW 08H - DW 01dH - DW 08H - DW 09dH - DW 08H - DW 05dH - DW 08H - DW 0ddH - DW 08H - DW 03dH - DW 08H - DW 0bdH - DW 08H - DW 07dH - DW 08H - DW 0fdH - DW 08H - DW 013H - DW 09H - DW 0113H - DW 09H - DW 093H - DW 09H - DW 0193H - DW 09H - DW 053H - DW 09H - DW 0153H - DW 09H - DW 0d3H - DW 09H - DW 01d3H - DW 09H - DW 033H - DW 09H - DW 0133H - DW 09H - DW 0b3H - DW 09H - DW 01b3H - DW 09H - DW 073H - DW 09H - DW 0173H - DW 09H - DW 0f3H - DW 09H - DW 01f3H - DW 09H - DW 0bH - DW 09H - DW 010bH - DW 09H - DW 08bH - DW 09H - DW 018bH - DW 09H - DW 04bH - DW 09H - DW 014bH - DW 09H - DW 0cbH - DW 09H - DW 01cbH - DW 09H - DW 02bH - DW 09H - DW 012bH - DW 09H - DW 0abH - DW 09H - DW 01abH - DW 09H - DW 06bH - DW 09H - DW 016bH - DW 09H - DW 0ebH - DW 09H - DW 01ebH - DW 09H - DW 01bH - DW 09H - DW 011bH - DW 09H - DW 09bH - DW 09H - DW 019bH - DW 09H - DW 05bH - DW 09H - DW 015bH - DW 09H - DW 0dbH - DW 09H - DW 01dbH - DW 09H - DW 03bH - DW 09H - DW 013bH - DW 09H - DW 0bbH - DW 09H - DW 01bbH - DW 09H - DW 07bH - DW 09H - DW 017bH - DW 09H - DW 0fbH - DW 09H - DW 01fbH - DW 09H - DW 07H - DW 09H - DW 0107H - DW 09H - DW 087H - DW 09H - DW 0187H - DW 09H - DW 047H - DW 09H - DW 0147H - DW 09H - DW 0c7H - DW 09H - DW 01c7H - DW 09H - DW 027H - DW 09H - DW 0127H - DW 09H - DW 0a7H - DW 09H - DW 01a7H - DW 09H - DW 067H - DW 09H - DW 0167H - DW 09H - DW 0e7H - DW 09H - DW 01e7H - DW 09H - DW 017H - DW 09H - DW 0117H - DW 09H - DW 097H - DW 09H - DW 0197H - DW 09H - DW 057H - DW 09H - DW 0157H - DW 09H - DW 0d7H - DW 09H - DW 01d7H - DW 09H - DW 037H - DW 09H - DW 0137H - DW 09H - DW 0b7H - DW 09H - DW 01b7H - DW 09H - DW 077H - DW 09H - DW 0177H - DW 09H - DW 0f7H - DW 09H - DW 01f7H - DW 09H - DW 0fH - DW 09H - DW 010fH - DW 09H - DW 08fH - DW 09H - DW 018fH - DW 09H - DW 04fH - DW 09H - DW 014fH - DW 09H - DW 0cfH - DW 09H - DW 01cfH - DW 09H - DW 02fH - DW 09H - DW 012fH - DW 09H - DW 0afH - DW 09H - DW 01afH - DW 09H - DW 06fH - DW 09H - DW 016fH - DW 09H - DW 0efH - DW 09H - DW 01efH - DW 09H - DW 01fH - DW 09H - DW 011fH - DW 09H - DW 09fH - DW 09H - DW 019fH - DW 09H - DW 05fH - DW 09H - DW 015fH - DW 09H - DW 0dfH - DW 09H - DW 01dfH - DW 09H - DW 03fH - DW 09H - DW 013fH - DW 09H - DW 0bfH - DW 09H - DW 01bfH - DW 09H - DW 07fH - DW 09H - DW 017fH - DW 09H - DW 0ffH - DW 09H - DW 01ffH - DW 09H - DW 00H - DW 07H - DW 040H - DW 07H - DW 020H - DW 07H - DW 060H - DW 07H - DW 010H - DW 07H - DW 050H - DW 07H - DW 030H - DW 07H - DW 070H - DW 07H - DW 08H - DW 07H - DW 048H - DW 07H - DW 028H - DW 07H - DW 068H - DW 07H - DW 018H - DW 07H - DW 058H - DW 07H - DW 038H - DW 07H - DW 078H - DW 07H - DW 04H - DW 07H - DW 044H - DW 07H - DW 024H - DW 07H - DW 064H - DW 07H - DW 014H - DW 07H - DW 054H - DW 07H - DW 034H - DW 07H - DW 074H - DW 07H - DW 03H - DW 08H - DW 083H - DW 08H - DW 043H - DW 08H - DW 0c3H - DW 08H - DW 023H - DW 08H - DW 0a3H - DW 08H - DW 063H - DW 08H - DW 0e3H - DW 08H -_bl_order DB 010H - DB 011H - DB 012H - DB 00H - DB 08H - DB 07H - DB 09H - DB 06H - DB 0aH - DB 05H - DB 0bH - DB 04H - DB 0cH - DB 03H - DB 0dH - DB 02H - DB 0eH - DB 01H - DB 0fH -PUBLIC __tr_align -PUBLIC __tr_init -PUBLIC __tr_flush_block -PUBLIC __tr_flush_bits -PUBLIC __tr_stored_block -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT __tr_stored_block -_TEXT SEGMENT -_stored_len$ = 8 ; size = 4 -_last$ = 12 ; size = 4 -__tr_stored_block PROC ; COMDAT -; _s$ = ecx -; _buf$ = edx - -; 870 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 57 push edi - 00005 8b f9 mov edi, ecx - 00007 8b da mov ebx, edx - -; 871 : send_bits(s, (STORED_BLOCK<<1)+last, 3); /* send block type */ - - 00009 8b 8f bc 16 00 - 00 mov ecx, DWORD PTR [edi+5820] - 0000f 83 f9 0d cmp ecx, 13 ; 0000000dH - 00012 7e 65 jle SHORT $LN2@tr_stored_ - 00014 8b 57 08 mov edx, DWORD PTR [edi+8] - 00017 56 push esi - 00018 8b 75 0c mov esi, DWORD PTR _last$[ebp] - 0001b 66 8b c6 mov ax, si - 0001e 66 d3 e0 shl ax, cl - 00021 8b 4f 14 mov ecx, DWORD PTR [edi+20] - 00024 66 09 87 b8 16 - 00 00 or WORD PTR [edi+5816], ax - 0002b 0f b6 87 b8 16 - 00 00 movzx eax, BYTE PTR [edi+5816] - 00032 88 04 0a mov BYTE PTR [edx+ecx], al - 00035 ff 47 14 inc DWORD PTR [edi+20] - 00038 8b 4f 08 mov ecx, DWORD PTR [edi+8] - 0003b 8b 57 14 mov edx, DWORD PTR [edi+20] - 0003e 0f b6 87 b9 16 - 00 00 movzx eax, BYTE PTR [edi+5817] - 00045 88 04 0a mov BYTE PTR [edx+ecx], al - 00048 b1 10 mov cl, 16 ; 00000010H - 0004a 2a 8f bc 16 00 - 00 sub cl, BYTE PTR [edi+5820] - -; 872 : #ifdef DEBUG -; 873 : s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L; -; 874 : s->compressed_len += (stored_len + 4) << 3; -; 875 : #endif -; 876 : copy_block(s, buf, (unsigned)stored_len, 1); /* with header */ - - 00050 8b d3 mov edx, ebx - 00052 ff 47 14 inc DWORD PTR [edi+20] - 00055 83 87 bc 16 00 - 00 f3 add DWORD PTR [edi+5820], -13 ; fffffff3H - 0005c 66 d3 ee shr si, cl - 0005f 66 89 b7 b8 16 - 00 00 mov WORD PTR [edi+5816], si - 00066 5e pop esi - 00067 51 push ecx - 00068 ff 75 08 push DWORD PTR _stored_len$[ebp] - 0006b 8b cf mov ecx, edi - 0006d e8 00 00 00 00 call _copy_block - 00072 83 c4 08 add esp, 8 - 00075 5f pop edi - 00076 5b pop ebx - -; 877 : } - - 00077 5d pop ebp - 00078 c3 ret 0 -$LN2@tr_stored_: - -; 871 : send_bits(s, (STORED_BLOCK<<1)+last, 3); /* send block type */ - - 00079 66 8b 45 0c mov ax, WORD PTR _last$[ebp] - -; 872 : #ifdef DEBUG -; 873 : s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L; -; 874 : s->compressed_len += (stored_len + 4) << 3; -; 875 : #endif -; 876 : copy_block(s, buf, (unsigned)stored_len, 1); /* with header */ - - 0007d 8b d3 mov edx, ebx - 0007f 66 d3 e0 shl ax, cl - 00082 66 09 87 b8 16 - 00 00 or WORD PTR [edi+5816], ax - 00089 8d 41 03 lea eax, DWORD PTR [ecx+3] - 0008c 51 push ecx - 0008d ff 75 08 push DWORD PTR _stored_len$[ebp] - 00090 8b cf mov ecx, edi - 00092 89 87 bc 16 00 - 00 mov DWORD PTR [edi+5820], eax - 00098 e8 00 00 00 00 call _copy_block - 0009d 83 c4 08 add esp, 8 - 000a0 5f pop edi - 000a1 5b pop ebx - -; 877 : } - - 000a2 5d pop ebp - 000a3 c3 ret 0 -__tr_stored_block ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT __tr_flush_bits -_TEXT SEGMENT -__tr_flush_bits PROC ; COMDAT -; _s$ = ecx - -; 885 : bi_flush(s); - - 00000 e9 00 00 00 00 jmp _bi_flush -__tr_flush_bits ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT __tr_flush_block -_TEXT SEGMENT -_max_blindex$1$ = -8 ; size = 4 -_buf$1$ = -4 ; size = 4 -_stored_len$ = 8 ; size = 4 -_last$ = 12 ; size = 4 -__tr_flush_block PROC ; COMDAT -; _s$ = ecx -; _buf$ = edx - -; 912 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - 00006 53 push ebx - 00007 56 push esi - -; 913 : ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */ -; 914 : int max_blindex = 0; /* index of last bit length code of non zero freq */ -; 915 : -; 916 : /* Build the Huffman trees unless a stored block is forced */ -; 917 : if (s->level > 0) { - - 00008 8b 75 08 mov esi, DWORD PTR _stored_len$[ebp] - 0000b 8b da mov ebx, edx - 0000d 57 push edi - 0000e 8b f9 mov edi, ecx - 00010 89 5d fc mov DWORD PTR _buf$1$[ebp], ebx - 00013 c7 45 f8 00 00 - 00 00 mov DWORD PTR _max_blindex$1$[ebp], 0 - 0001a 83 bf 84 00 00 - 00 00 cmp DWORD PTR [edi+132], 0 - 00021 7e 55 jle SHORT $LN2@tr_flush_b - -; 918 : -; 919 : /* Check if the file is binary or text */ -; 920 : if (s->strm->data_type == Z_UNKNOWN) - - 00023 8b 1f mov ebx, DWORD PTR [edi] - 00025 83 7b 2c 02 cmp DWORD PTR [ebx+44], 2 - 00029 75 08 jne SHORT $LN4@tr_flush_b - -; 921 : s->strm->data_type = detect_data_type(s); - - 0002b e8 00 00 00 00 call _detect_data_type - 00030 89 43 2c mov DWORD PTR [ebx+44], eax -$LN4@tr_flush_b: - -; 922 : -; 923 : /* Construct the literal and distance trees */ -; 924 : build_tree(s, (tree_desc *)(&(s->l_desc))); - - 00033 8d 97 18 0b 00 - 00 lea edx, DWORD PTR [edi+2840] - 00039 8b cf mov ecx, edi - 0003b e8 00 00 00 00 call _build_tree - -; 925 : Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len, -; 926 : s->static_len)); -; 927 : -; 928 : build_tree(s, (tree_desc *)(&(s->d_desc))); - - 00040 8d 97 24 0b 00 - 00 lea edx, DWORD PTR [edi+2852] - 00046 8b cf mov ecx, edi - 00048 e8 00 00 00 00 call _build_tree - -; 929 : Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len, -; 930 : s->static_len)); -; 931 : /* At this point, opt_len and static_len are the total bit lengths of -; 932 : * the compressed block data, excluding the tree representations. -; 933 : */ -; 934 : -; 935 : /* Build the bit length tree for the above two trees, and get the index -; 936 : * in bl_order of the last bit length code to send. -; 937 : */ -; 938 : max_blindex = build_bl_tree(s); - - 0004d 8b cf mov ecx, edi - 0004f e8 00 00 00 00 call _build_bl_tree - -; 939 : -; 940 : /* Determine the best encoding. Compute the block lengths in bytes. */ -; 941 : opt_lenb = (s->opt_len+3+7)>>3; - - 00054 8b 8f a8 16 00 - 00 mov ecx, DWORD PTR [edi+5800] - -; 942 : static_lenb = (s->static_len+3+7)>>3; - - 0005a 8b 97 ac 16 00 - 00 mov edx, DWORD PTR [edi+5804] - 00060 83 c1 0a add ecx, 10 ; 0000000aH - -; 943 : -; 944 : Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", -; 945 : opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, -; 946 : s->last_lit)); -; 947 : -; 948 : if (static_lenb <= opt_lenb) opt_lenb = static_lenb; -; 949 : -; 950 : } else { - - 00063 8b 5d fc mov ebx, DWORD PTR _buf$1$[ebp] - 00066 83 c2 0a add edx, 10 ; 0000000aH - 00069 c1 e9 03 shr ecx, 3 - 0006c c1 ea 03 shr edx, 3 - 0006f 89 45 f8 mov DWORD PTR _max_blindex$1$[ebp], eax - 00072 3b d1 cmp edx, ecx - 00074 77 07 ja SHORT $LN3@tr_flush_b - 00076 eb 03 jmp SHORT $LN18@tr_flush_b -$LN2@tr_flush_b: - -; 951 : Assert(buf != (char*)0, "lost buf"); -; 952 : opt_lenb = static_lenb = stored_len + 5; /* force a stored block */ - - 00078 8d 56 05 lea edx, DWORD PTR [esi+5] -$LN18@tr_flush_b: - 0007b 8b ca mov ecx, edx -$LN3@tr_flush_b: - -; 953 : } -; 954 : -; 955 : #ifdef FORCE_STORED -; 956 : if (buf != (char*)0) { /* force stored block */ -; 957 : #else -; 958 : if (stored_len+4 <= opt_lenb && buf != (char*)0) { - - 0007d 8d 46 04 lea eax, DWORD PTR [esi+4] - 00080 3b c1 cmp eax, ecx - 00082 77 1b ja SHORT $LN6@tr_flush_b - 00084 85 db test ebx, ebx - 00086 74 17 je SHORT $LN6@tr_flush_b - -; 959 : /* 4: two words for the lengths */ -; 960 : #endif -; 961 : /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. -; 962 : * Otherwise we can't have processed more than WSIZE input bytes since -; 963 : * the last block flush, because compression would have been -; 964 : * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to -; 965 : * transform a block into a stored block. -; 966 : */ -; 967 : _tr_stored_block(s, buf, stored_len, last); - - 00088 8b 5d 0c mov ebx, DWORD PTR _last$[ebp] - 0008b 8b cf mov ecx, edi - 0008d 8b 55 fc mov edx, DWORD PTR _buf$1$[ebp] - 00090 53 push ebx - 00091 56 push esi - 00092 e8 00 00 00 00 call __tr_stored_block - 00097 83 c4 08 add esp, 8 - 0009a e9 4a 01 00 00 jmp $LN9@tr_flush_b -$LN6@tr_flush_b: - -; 968 : -; 969 : #ifdef FORCE_STATIC -; 970 : } else if (static_lenb >= 0) { /* force static trees */ -; 971 : #else -; 972 : } else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) { - - 0009f 83 bf 88 00 00 - 00 04 cmp DWORD PTR [edi+136], 4 - 000a6 0f 84 b4 00 00 - 00 je $LN10@tr_flush_b - 000ac 3b d1 cmp edx, ecx - 000ae 0f 84 ac 00 00 - 00 je $LN10@tr_flush_b - -; 976 : (const ct_data *)static_dtree); -; 977 : #ifdef DEBUG -; 978 : s->compressed_len += 3 + s->static_len; -; 979 : #endif -; 980 : } else { -; 981 : send_bits(s, (DYN_TREES<<1)+last, 3); - - 000b4 8b 8f bc 16 00 - 00 mov ecx, DWORD PTR [edi+5820] - 000ba 8b 5d 0c mov ebx, DWORD PTR _last$[ebp] - 000bd 83 f9 0d cmp ecx, 13 ; 0000000dH - 000c0 7e 51 jle SHORT $LN13@tr_flush_b - 000c2 8b 57 14 mov edx, DWORD PTR [edi+20] - 000c5 8d 73 04 lea esi, DWORD PTR [ebx+4] - 000c8 66 8b c6 mov ax, si - 000cb 66 d3 e0 shl ax, cl - 000ce 66 09 87 b8 16 - 00 00 or WORD PTR [edi+5816], ax - 000d5 8b 4f 08 mov ecx, DWORD PTR [edi+8] - 000d8 0f b6 87 b8 16 - 00 00 movzx eax, BYTE PTR [edi+5816] - 000df 88 04 0a mov BYTE PTR [edx+ecx], al - 000e2 ff 47 14 inc DWORD PTR [edi+20] - 000e5 8b 57 14 mov edx, DWORD PTR [edi+20] - 000e8 8b 4f 08 mov ecx, DWORD PTR [edi+8] - 000eb 0f b6 87 b9 16 - 00 00 movzx eax, BYTE PTR [edi+5817] - 000f2 88 04 0a mov BYTE PTR [edx+ecx], al - 000f5 b1 10 mov cl, 16 ; 00000010H - 000f7 2a 8f bc 16 00 - 00 sub cl, BYTE PTR [edi+5820] - 000fd ff 47 14 inc DWORD PTR [edi+20] - 00100 66 d3 ee shr si, cl - 00103 83 87 bc 16 00 - 00 f3 add DWORD PTR [edi+5820], -13 ; fffffff3H - 0010a 66 89 b7 b8 16 - 00 00 mov WORD PTR [edi+5816], si - 00111 eb 16 jmp SHORT $LN14@tr_flush_b -$LN13@tr_flush_b: - 00113 8d 43 04 lea eax, DWORD PTR [ebx+4] - 00116 66 d3 e0 shl ax, cl - 00119 66 09 87 b8 16 - 00 00 or WORD PTR [edi+5816], ax - 00120 8d 41 03 lea eax, DWORD PTR [ecx+3] - 00123 89 87 bc 16 00 - 00 mov DWORD PTR [edi+5820], eax -$LN14@tr_flush_b: - -; 982 : send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1, - - 00129 8b 45 f8 mov eax, DWORD PTR _max_blindex$1$[ebp] - 0012c 8b cf mov ecx, edi - 0012e 8b 97 1c 0b 00 - 00 mov edx, DWORD PTR [edi+2844] - 00134 40 inc eax - 00135 50 push eax - 00136 8b 87 28 0b 00 - 00 mov eax, DWORD PTR [edi+2856] - 0013c 42 inc edx - 0013d 40 inc eax - 0013e 50 push eax - 0013f e8 00 00 00 00 call _send_all_trees - -; 983 : max_blindex+1); -; 984 : compress_block(s, (const ct_data *)s->dyn_ltree, - - 00144 8d 87 88 09 00 - 00 lea eax, DWORD PTR [edi+2440] - 0014a 8b cf mov ecx, edi - 0014c 50 push eax - 0014d 8d 97 94 00 00 - 00 lea edx, DWORD PTR [edi+148] - 00153 e8 00 00 00 00 call _compress_block - 00158 83 c4 0c add esp, 12 ; 0000000cH - 0015b e9 89 00 00 00 jmp $LN9@tr_flush_b -$LN10@tr_flush_b: - -; 973 : #endif -; 974 : send_bits(s, (STATIC_TREES<<1)+last, 3); - - 00160 8b 8f bc 16 00 - 00 mov ecx, DWORD PTR [edi+5820] - 00166 8b 5d 0c mov ebx, DWORD PTR _last$[ebp] - 00169 83 f9 0d cmp ecx, 13 ; 0000000dH - 0016c 7e 51 jle SHORT $LN11@tr_flush_b - 0016e 8b 57 14 mov edx, DWORD PTR [edi+20] - 00171 8d 73 02 lea esi, DWORD PTR [ebx+2] - 00174 66 8b c6 mov ax, si - 00177 66 d3 e0 shl ax, cl - 0017a 66 09 87 b8 16 - 00 00 or WORD PTR [edi+5816], ax - 00181 8b 4f 08 mov ecx, DWORD PTR [edi+8] - 00184 0f b6 87 b8 16 - 00 00 movzx eax, BYTE PTR [edi+5816] - 0018b 88 04 0a mov BYTE PTR [edx+ecx], al - 0018e ff 47 14 inc DWORD PTR [edi+20] - 00191 8b 57 14 mov edx, DWORD PTR [edi+20] - 00194 8b 4f 08 mov ecx, DWORD PTR [edi+8] - 00197 0f b6 87 b9 16 - 00 00 movzx eax, BYTE PTR [edi+5817] - 0019e 88 04 0a mov BYTE PTR [edx+ecx], al - 001a1 b1 10 mov cl, 16 ; 00000010H - 001a3 2a 8f bc 16 00 - 00 sub cl, BYTE PTR [edi+5820] - 001a9 ff 47 14 inc DWORD PTR [edi+20] - 001ac 66 d3 ee shr si, cl - 001af 83 87 bc 16 00 - 00 f3 add DWORD PTR [edi+5820], -13 ; fffffff3H - 001b6 66 89 b7 b8 16 - 00 00 mov WORD PTR [edi+5816], si - 001bd eb 16 jmp SHORT $LN12@tr_flush_b -$LN11@tr_flush_b: - 001bf 8d 43 02 lea eax, DWORD PTR [ebx+2] - 001c2 66 d3 e0 shl ax, cl - 001c5 66 09 87 b8 16 - 00 00 or WORD PTR [edi+5816], ax - 001cc 8d 41 03 lea eax, DWORD PTR [ecx+3] - 001cf 89 87 bc 16 00 - 00 mov DWORD PTR [edi+5820], eax -$LN12@tr_flush_b: - -; 975 : compress_block(s, (const ct_data *)static_ltree, - - 001d5 68 00 00 00 00 push OFFSET _static_dtree - 001da ba 00 00 00 00 mov edx, OFFSET _static_ltree - 001df 8b cf mov ecx, edi - 001e1 e8 00 00 00 00 call _compress_block - 001e6 83 c4 04 add esp, 4 -$LN9@tr_flush_b: - -; 985 : (const ct_data *)s->dyn_dtree); -; 986 : #ifdef DEBUG -; 987 : s->compressed_len += 3 + s->opt_len; -; 988 : #endif -; 989 : } -; 990 : Assert (s->compressed_len == s->bits_sent, "bad compressed size"); -; 991 : /* The above check is made mod 2^32, for files larger than 512 MB -; 992 : * and uLong implemented on 32 bits. -; 993 : */ -; 994 : init_block(s); - - 001e9 8b cf mov ecx, edi - 001eb e8 00 00 00 00 call _init_block - -; 995 : -; 996 : if (last) { - - 001f0 85 db test ebx, ebx - 001f2 74 05 je SHORT $LN15@tr_flush_b - -; 997 : bi_windup(s); - - 001f4 e8 00 00 00 00 call _bi_windup -$LN15@tr_flush_b: - 001f9 5f pop edi - 001fa 5e pop esi - 001fb 5b pop ebx - -; 998 : #ifdef DEBUG -; 999 : s->compressed_len += 7; /* align on byte boundary */ -; 1000 : #endif -; 1001 : } -; 1002 : Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3, -; 1003 : s->compressed_len-7*last)); -; 1004 : } - - 001fc 8b e5 mov esp, ebp - 001fe 5d pop ebp - 001ff c3 ret 0 -__tr_flush_block ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT __tr_init -_TEXT SEGMENT -__tr_init PROC ; COMDAT -; _s$ = ecx - -; 384 : tr_static_init(); -; 385 : -; 386 : s->l_desc.dyn_tree = s->dyn_ltree; - - 00000 8d 81 94 00 00 - 00 lea eax, DWORD PTR [ecx+148] - -; 387 : s->l_desc.stat_desc = &static_l_desc; - - 00006 c7 81 20 0b 00 - 00 00 00 00 00 mov DWORD PTR [ecx+2848], OFFSET _static_l_desc - 00010 89 81 18 0b 00 - 00 mov DWORD PTR [ecx+2840], eax - -; 388 : -; 389 : s->d_desc.dyn_tree = s->dyn_dtree; - - 00016 8d 81 88 09 00 - 00 lea eax, DWORD PTR [ecx+2440] - 0001c 89 81 24 0b 00 - 00 mov DWORD PTR [ecx+2852], eax - -; 390 : s->d_desc.stat_desc = &static_d_desc; -; 391 : -; 392 : s->bl_desc.dyn_tree = s->bl_tree; - - 00022 8d 81 7c 0a 00 - 00 lea eax, DWORD PTR [ecx+2684] - 00028 89 81 30 0b 00 - 00 mov DWORD PTR [ecx+2864], eax - -; 393 : s->bl_desc.stat_desc = &static_bl_desc; -; 394 : -; 395 : s->bi_buf = 0; - - 0002e 33 c0 xor eax, eax - 00030 c7 81 2c 0b 00 - 00 00 00 00 00 mov DWORD PTR [ecx+2860], OFFSET _static_d_desc - 0003a c7 81 38 0b 00 - 00 00 00 00 00 mov DWORD PTR [ecx+2872], OFFSET _static_bl_desc - 00044 66 89 81 b8 16 - 00 00 mov WORD PTR [ecx+5816], ax - -; 396 : s->bi_valid = 0; - - 0004b 89 81 bc 16 00 - 00 mov DWORD PTR [ecx+5820], eax - -; 397 : #ifdef DEBUG -; 398 : s->compressed_len = 0L; -; 399 : s->bits_sent = 0L; -; 400 : #endif -; 401 : -; 402 : /* Initialize the first block of the first file: */ -; 403 : init_block(s); - - 00051 e9 00 00 00 00 jmp _init_block -__tr_init ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT __tr_align -_TEXT SEGMENT -__tr_align PROC ; COMDAT -; _s$ = ecx - -; 894 : { - - 00000 57 push edi - 00001 8b f9 mov edi, ecx - -; 895 : send_bits(s, STATIC_TREES<<1, 3); - - 00003 8b 8f bc 16 00 - 00 mov ecx, DWORD PTR [edi+5820] - 00009 83 f9 0d cmp ecx, 13 ; 0000000dH - 0000c 7e 54 jle SHORT $LN2@tr_align - 0000e 8b 57 08 mov edx, DWORD PTR [edi+8] - 00011 56 push esi - 00012 be 02 00 00 00 mov esi, 2 - 00017 8b c6 mov eax, esi - 00019 66 d3 e0 shl ax, cl - 0001c 8b 4f 14 mov ecx, DWORD PTR [edi+20] - 0001f 66 09 87 b8 16 - 00 00 or WORD PTR [edi+5816], ax - 00026 0f b6 87 b8 16 - 00 00 movzx eax, BYTE PTR [edi+5816] - 0002d 88 04 0a mov BYTE PTR [edx+ecx], al - 00030 ff 47 14 inc DWORD PTR [edi+20] - 00033 8b 57 14 mov edx, DWORD PTR [edi+20] - 00036 8b 4f 08 mov ecx, DWORD PTR [edi+8] - 00039 0f b6 87 b9 16 - 00 00 movzx eax, BYTE PTR [edi+5817] - 00040 88 04 0a mov BYTE PTR [edx+ecx], al - 00043 b1 10 mov cl, 16 ; 00000010H - 00045 2a 8f bc 16 00 - 00 sub cl, BYTE PTR [edi+5820] - 0004b ff 47 14 inc DWORD PTR [edi+20] - 0004e 66 d3 ee shr si, cl - 00051 83 87 bc 16 00 - 00 f3 add DWORD PTR [edi+5820], -13 ; fffffff3H - 00058 66 89 b7 b8 16 - 00 00 mov WORD PTR [edi+5816], si - 0005f 5e pop esi - 00060 eb 18 jmp SHORT $LN3@tr_align -$LN2@tr_align: - 00062 b8 02 00 00 00 mov eax, 2 - 00067 66 d3 e0 shl ax, cl - 0006a 66 09 87 b8 16 - 00 00 or WORD PTR [edi+5816], ax - 00071 8d 41 03 lea eax, DWORD PTR [ecx+3] - 00074 89 87 bc 16 00 - 00 mov DWORD PTR [edi+5820], eax -$LN3@tr_align: - -; 896 : send_code(s, END_BLOCK, static_ltree); - - 0007a 8b 8f bc 16 00 - 00 mov ecx, DWORD PTR [edi+5820] - 00080 33 c0 xor eax, eax - 00082 66 d3 e0 shl ax, cl - 00085 66 09 87 b8 16 - 00 00 or WORD PTR [edi+5816], ax - 0008c 83 f9 09 cmp ecx, 9 - 0008f 7e 49 jle SHORT $LN4@tr_align - 00091 8b 4f 14 mov ecx, DWORD PTR [edi+20] - 00094 8b 57 08 mov edx, DWORD PTR [edi+8] - 00097 0f b6 87 b8 16 - 00 00 movzx eax, BYTE PTR [edi+5816] - 0009e 88 04 0a mov BYTE PTR [edx+ecx], al - 000a1 ff 47 14 inc DWORD PTR [edi+20] - 000a4 8b 4f 08 mov ecx, DWORD PTR [edi+8] - 000a7 8b 57 14 mov edx, DWORD PTR [edi+20] - 000aa 0f b6 87 b9 16 - 00 00 movzx eax, BYTE PTR [edi+5817] - 000b1 88 04 0a mov BYTE PTR [edx+ecx], al - 000b4 b1 10 mov cl, 16 ; 00000010H - 000b6 2a 8f bc 16 00 - 00 sub cl, BYTE PTR [edi+5820] - 000bc 33 c0 xor eax, eax - 000be ff 47 14 inc DWORD PTR [edi+20] - 000c1 66 d3 e8 shr ax, cl - -; 897 : #ifdef DEBUG -; 898 : s->compressed_len += 10L; /* 3 for block type, 7 for EOB */ -; 899 : #endif -; 900 : bi_flush(s); - - 000c4 8b cf mov ecx, edi - 000c6 83 87 bc 16 00 - 00 f7 add DWORD PTR [edi+5820], -9 ; fffffff7H - 000cd 66 89 87 b8 16 - 00 00 mov WORD PTR [edi+5816], ax - 000d4 5f pop edi - 000d5 e9 00 00 00 00 jmp _bi_flush -$LN4@tr_align: - -; 896 : send_code(s, END_BLOCK, static_ltree); - - 000da 8d 41 07 lea eax, DWORD PTR [ecx+7] - -; 897 : #ifdef DEBUG -; 898 : s->compressed_len += 10L; /* 3 for block type, 7 for EOB */ -; 899 : #endif -; 900 : bi_flush(s); - - 000dd 8b cf mov ecx, edi - 000df 89 87 bc 16 00 - 00 mov DWORD PTR [edi+5820], eax - 000e5 5f pop edi - 000e6 e9 00 00 00 00 jmp _bi_flush -__tr_align ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _tr_static_init -_TEXT SEGMENT -_tr_static_init PROC ; COMDAT - -; 236 : #if defined(GEN_TREES_H) || !defined(STDC) -; 237 : static int static_init_done = 0; -; 238 : int n; /* iterates over tree elements */ -; 239 : int bits; /* bit counter */ -; 240 : int length; /* length value */ -; 241 : int code; /* code value */ -; 242 : int dist; /* distance index */ -; 243 : ush bl_count[MAX_BITS+1]; -; 244 : /* number of codes at each bit length for an optimal tree */ -; 245 : -; 246 : if (static_init_done) return; -; 247 : -; 248 : /* For some embedded targets, global variables are not initialized: */ -; 249 : #ifdef NO_INIT_GLOBAL_POINTERS -; 250 : static_l_desc.static_tree = static_ltree; -; 251 : static_l_desc.extra_bits = extra_lbits; -; 252 : static_d_desc.static_tree = static_dtree; -; 253 : static_d_desc.extra_bits = extra_dbits; -; 254 : static_bl_desc.extra_bits = extra_blbits; -; 255 : #endif -; 256 : -; 257 : /* Initialize the mapping length (0..255) -> length code (0..28) */ -; 258 : length = 0; -; 259 : for (code = 0; code < LENGTH_CODES-1; code++) { -; 260 : base_length[code] = length; -; 261 : for (n = 0; n < (1< dist code (0..29) */ -; 273 : dist = 0; -; 274 : for (code = 0 ; code < 16; code++) { -; 275 : base_dist[code] = dist; -; 276 : for (n = 0; n < (1<>= 7; /* from now on, all distances are divided by 128 */ -; 282 : for ( ; code < D_CODES; code++) { -; 283 : base_dist[code] = dist << 7; -; 284 : for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) { -; 285 : _dist_code[256 + dist++] = (uch)code; -; 286 : } -; 287 : } -; 288 : Assert (dist == 256, "tr_static_init: 256+dist != 512"); -; 289 : -; 290 : /* Construct the codes of the static literal tree */ -; 291 : for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0; -; 292 : n = 0; -; 293 : while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++; -; 294 : while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++; -; 295 : while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++; -; 296 : while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++; -; 297 : /* Codes 286 and 287 do not exist, but we must include them in the -; 298 : * tree construction to get a canonical Huffman tree (longest code -; 299 : * all ones) -; 300 : */ -; 301 : gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count); -; 302 : -; 303 : /* The static distance tree is trivial: */ -; 304 : for (n = 0; n < D_CODES; n++) { -; 305 : static_dtree[n].Len = 5; -; 306 : static_dtree[n].Code = bi_reverse((unsigned)n, 5); -; 307 : } -; 308 : static_init_done = 1; -; 309 : -; 310 : # ifdef GEN_TREES_H -; 311 : gen_trees_header(); -; 312 : # endif -; 313 : #endif /* defined(GEN_TREES_H) || !defined(STDC) */ -; 314 : } - - 00000 c3 ret 0 -_tr_static_init ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _init_block -_TEXT SEGMENT -_init_block PROC ; COMDAT -; _s$ = ecx - -; 412 : int n; /* iterates over tree elements */ -; 413 : -; 414 : /* Initialize the trees. */ -; 415 : for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0; - - 00000 8d 81 94 00 00 - 00 lea eax, DWORD PTR [ecx+148] - 00006 ba 1e 01 00 00 mov edx, 286 ; 0000011eH - 0000b 56 push esi - 0000c 0f 1f 40 00 npad 4 -$LL4@init_block: - 00010 33 f6 xor esi, esi - 00012 8d 40 04 lea eax, DWORD PTR [eax+4] - 00015 66 89 70 fc mov WORD PTR [eax-4], si - 00019 83 ea 01 sub edx, 1 - 0001c 75 f2 jne SHORT $LL4@init_block - -; 416 : for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0; - - 0001e 8d 81 88 09 00 - 00 lea eax, DWORD PTR [ecx+2440] - 00024 ba 1e 00 00 00 mov edx, 30 ; 0000001eH - 00029 0f 1f 80 00 00 - 00 00 npad 7 -$LL7@init_block: - 00030 33 f6 xor esi, esi - 00032 8d 40 04 lea eax, DWORD PTR [eax+4] - 00035 66 89 70 fc mov WORD PTR [eax-4], si - 00039 83 ea 01 sub edx, 1 - 0003c 75 f2 jne SHORT $LL7@init_block - -; 417 : for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0; - - 0003e 8d 81 7c 0a 00 - 00 lea eax, DWORD PTR [ecx+2684] - 00044 ba 13 00 00 00 mov edx, 19 ; 00000013H - 00049 0f 1f 80 00 00 - 00 00 npad 7 -$LL10@init_block: - 00050 33 f6 xor esi, esi - 00052 8d 40 04 lea eax, DWORD PTR [eax+4] - 00055 66 89 70 fc mov WORD PTR [eax-4], si - 00059 83 ea 01 sub edx, 1 - 0005c 75 f2 jne SHORT $LL10@init_block - -; 418 : -; 419 : s->dyn_ltree[END_BLOCK].Freq = 1; - - 0005e b8 01 00 00 00 mov eax, 1 - -; 420 : s->opt_len = s->static_len = 0L; - - 00063 89 b1 ac 16 00 - 00 mov DWORD PTR [ecx+5804], esi - 00069 89 b1 a8 16 00 - 00 mov DWORD PTR [ecx+5800], esi - -; 421 : s->last_lit = s->matches = 0; - - 0006f 89 b1 b0 16 00 - 00 mov DWORD PTR [ecx+5808], esi - 00075 89 b1 a0 16 00 - 00 mov DWORD PTR [ecx+5792], esi - 0007b 66 89 81 94 04 - 00 00 mov WORD PTR [ecx+1172], ax - 00082 5e pop esi - -; 422 : } - - 00083 c3 ret 0 -_init_block ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _pqdownheap -_TEXT SEGMENT -tv287 = -8 ; size = 4 -_tree$1$ = -4 ; size = 4 -_v$1$ = 8 ; size = 4 -_k$ = 8 ; size = 4 -_pqdownheap PROC ; COMDAT -; _s$ = ecx -; _tree$ = edx - -; 457 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - -; 458 : int v = s->heap[k]; -; 459 : int j = k << 1; /* left son of k */ -; 460 : while (j <= s->heap_len) { - - 00006 8b 81 50 14 00 - 00 mov eax, DWORD PTR [ecx+5200] - 0000c 53 push ebx - 0000d 8b 5d 08 mov ebx, DWORD PTR _k$[ebp] - 00010 56 push esi - 00011 57 push edi - 00012 89 55 fc mov DWORD PTR _tree$1$[ebp], edx - 00015 8b bc 99 5c 0b - 00 00 mov edi, DWORD PTR [ecx+ebx*4+2908] - 0001c 8d 34 1b lea esi, DWORD PTR [ebx+ebx] - 0001f 89 7d 08 mov DWORD PTR _v$1$[ebp], edi - 00022 3b f0 cmp esi, eax - 00024 0f 8f 91 00 00 - 00 jg $LN16@pqdownheap - 0002a 8d 14 ba lea edx, DWORD PTR [edx+edi*4] - 0002d 89 55 f8 mov DWORD PTR tv287[ebp], edx -$LN19@pqdownheap: - -; 461 : /* Set j to the smallest of the two sons: */ -; 462 : if (j < s->heap_len && - - 00030 7d 42 jge SHORT $LN4@pqdownheap - 00032 8b bc b1 60 0b - 00 00 mov edi, DWORD PTR [ecx+esi*4+2912] - 00039 8b 45 fc mov eax, DWORD PTR _tree$1$[ebp] - 0003c 8b 94 b1 5c 0b - 00 00 mov edx, DWORD PTR [ecx+esi*4+2908] - 00043 0f b7 04 b8 movzx eax, WORD PTR [eax+edi*4] - 00047 8b 7d fc mov edi, DWORD PTR _tree$1$[ebp] - 0004a 0f b7 14 97 movzx edx, WORD PTR [edi+edx*4] - 0004e 8b bc b1 60 0b - 00 00 mov edi, DWORD PTR [ecx+esi*4+2912] - 00055 66 3b c2 cmp ax, dx - 00058 72 19 jb SHORT $LN5@pqdownheap - 0005a 75 18 jne SHORT $LN4@pqdownheap - 0005c 8b 94 b1 5c 0b - 00 00 mov edx, DWORD PTR [ecx+esi*4+2908] - 00063 8a 84 0f 58 14 - 00 00 mov al, BYTE PTR [edi+ecx+5208] - 0006a 3a 84 0a 58 14 - 00 00 cmp al, BYTE PTR [edx+ecx+5208] - 00071 77 01 ja SHORT $LN4@pqdownheap -$LN5@pqdownheap: - -; 463 : smaller(tree, s->heap[j+1], s->heap[j], s->depth)) { -; 464 : j++; - - 00073 46 inc esi -$LN4@pqdownheap: - -; 465 : } -; 466 : /* Exit if v is smaller than both sons */ -; 467 : if (smaller(tree, v, s->heap[j], s->depth)) break; - - 00074 8b 94 b1 5c 0b - 00 00 mov edx, DWORD PTR [ecx+esi*4+2908] - 0007b 8b 45 f8 mov eax, DWORD PTR tv287[ebp] - 0007e 8b 7d fc mov edi, DWORD PTR _tree$1$[ebp] - 00081 0f b7 00 movzx eax, WORD PTR [eax] - 00084 0f b7 3c 97 movzx edi, WORD PTR [edi+edx*4] - 00088 66 3b c7 cmp ax, di - 0008b 72 3c jb SHORT $LN15@pqdownheap - 0008d 8b 7d 08 mov edi, DWORD PTR _v$1$[ebp] - 00090 75 10 jne SHORT $LN6@pqdownheap - 00092 8a 84 0f 58 14 - 00 00 mov al, BYTE PTR [edi+ecx+5208] - 00099 3a 84 0a 58 14 - 00 00 cmp al, BYTE PTR [edx+ecx+5208] - 000a0 76 19 jbe SHORT $LN16@pqdownheap -$LN6@pqdownheap: - -; 468 : -; 469 : /* Exchange v with the smallest son */ -; 470 : s->heap[k] = s->heap[j]; k = j; - - 000a2 89 94 99 5c 0b - 00 00 mov DWORD PTR [ecx+ebx*4+2908], edx - 000a9 8b de mov ebx, esi - 000ab 8b 81 50 14 00 - 00 mov eax, DWORD PTR [ecx+5200] - -; 471 : -; 472 : /* And continue down the tree, setting j to the left son of k */ -; 473 : j <<= 1; - - 000b1 03 f6 add esi, esi - 000b3 3b f0 cmp esi, eax - 000b5 0f 8e 75 ff ff - ff jle $LN19@pqdownheap -$LN16@pqdownheap: - -; 474 : } -; 475 : s->heap[k] = v; - - 000bb 89 bc 99 5c 0b - 00 00 mov DWORD PTR [ecx+ebx*4+2908], edi - 000c2 5f pop edi - 000c3 5e pop esi - 000c4 5b pop ebx - -; 476 : } - - 000c5 8b e5 mov esp, ebp - 000c7 5d pop ebp - 000c8 c3 ret 0 -$LN15@pqdownheap: - -; 474 : } -; 475 : s->heap[k] = v; - - 000c9 8b 45 08 mov eax, DWORD PTR _v$1$[ebp] - 000cc 5f pop edi - 000cd 5e pop esi - 000ce 89 84 99 5c 0b - 00 00 mov DWORD PTR [ecx+ebx*4+2908], eax - 000d5 5b pop ebx - -; 476 : } - - 000d6 8b e5 mov esp, ebp - 000d8 5d pop ebp - 000d9 c3 ret 0 -_pqdownheap ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _gen_bitlen -_TEXT SEGMENT -tv644 = -52 ; size = 4 -_extra$1$ = -48 ; size = 4 -_s$1$ = -44 ; size = 4 -tv653 = -40 ; size = 4 -tv628 = -40 ; size = 4 -tv632 = -36 ; size = 4 -_stree$1$ = -32 ; size = 4 -_base$1$ = -28 ; size = 4 -_max_code$1$ = -24 ; size = 4 -_overflow$1$ = -20 ; size = 4 -tv647 = -16 ; size = 4 -_h$1$ = -12 ; size = 4 -_bits$3$ = -8 ; size = 4 -_tree$1$ = -4 ; size = 4 -_gen_bitlen PROC ; COMDAT -; _s$ = ecx -; _desc$ = edx - -; 491 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 34 sub esp, 52 ; 00000034H - -; 492 : ct_data *tree = desc->dyn_tree; -; 493 : int max_code = desc->max_code; - - 00006 8b 42 04 mov eax, DWORD PTR [edx+4] - 00009 0f 57 c0 xorps xmm0, xmm0 - 0000c 89 45 e8 mov DWORD PTR _max_code$1$[ebp], eax - -; 494 : const ct_data *stree = desc->stat_desc->static_tree; - - 0000f 8b 42 08 mov eax, DWORD PTR [edx+8] - 00012 53 push ebx - 00013 8b d9 mov ebx, ecx - -; 495 : const intf *extra = desc->stat_desc->extra_bits; -; 496 : int base = desc->stat_desc->extra_base; -; 497 : int max_length = desc->stat_desc->max_length; -; 498 : int h; /* heap index */ -; 499 : int n, m; /* iterate over the tree elements */ -; 500 : int bits; /* bit length */ -; 501 : int xbits; /* extra bits */ -; 502 : ush f; /* frequency */ -; 503 : int overflow = 0; /* number of elements with bit length too large */ - - 00015 c7 45 ec 00 00 - 00 00 mov DWORD PTR _overflow$1$[ebp], 0 - 0001c 8b 0a mov ecx, DWORD PTR [edx] - 0001e 8b 10 mov edx, DWORD PTR [eax] - 00020 89 55 e0 mov DWORD PTR _stree$1$[ebp], edx - 00023 8b 50 04 mov edx, DWORD PTR [eax+4] - 00026 89 55 d0 mov DWORD PTR _extra$1$[ebp], edx - 00029 8b 50 08 mov edx, DWORD PTR [eax+8] - 0002c 56 push esi - 0002d 8b 70 10 mov esi, DWORD PTR [eax+16] - -; 504 : -; 505 : for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0; - - 00030 0f 11 83 3c 0b - 00 00 movups XMMWORD PTR [ebx+2876], xmm0 - 00037 89 55 e4 mov DWORD PTR _base$1$[ebp], edx - -; 506 : -; 507 : /* In a first pass, compute the optimal bit lengths (which may -; 508 : * overflow in the case of the bit length tree). -; 509 : */ -; 510 : tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */ - - 0003a 33 d2 xor edx, edx - 0003c 0f 11 83 4c 0b - 00 00 movups XMMWORD PTR [ebx+2892], xmm0 - 00043 8b 83 54 14 00 - 00 mov eax, DWORD PTR [ebx+5204] - 00049 89 5d d4 mov DWORD PTR _s$1$[ebp], ebx - 0004c 89 4d fc mov DWORD PTR _tree$1$[ebp], ecx - 0004f 89 75 f8 mov DWORD PTR _bits$3$[ebp], esi - 00052 8b 84 83 5c 0b - 00 00 mov eax, DWORD PTR [ebx+eax*4+2908] - 00059 66 89 54 81 02 mov WORD PTR [ecx+eax*4+2], dx - -; 511 : -; 512 : for (h = s->heap_max+1; h < HEAP_SIZE; h++) { - - 0005e 8b 93 54 14 00 - 00 mov edx, DWORD PTR [ebx+5204] - 00064 42 inc edx - 00065 81 fa 3d 02 00 - 00 cmp edx, 573 ; 0000023dH - 0006b 0f 8d 95 01 00 - 00 jge $LN14@gen_bitlen - -; 506 : -; 507 : /* In a first pass, compute the optimal bit lengths (which may -; 508 : * overflow in the case of the bit length tree). -; 509 : */ -; 510 : tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */ - - 00071 b8 3d 02 00 00 mov eax, 573 ; 0000023dH - 00076 8d 8b 5c 0b 00 - 00 lea ecx, DWORD PTR [ebx+2908] - 0007c 2b c2 sub eax, edx - 0007e 8d 0c 91 lea ecx, DWORD PTR [ecx+edx*4] - -; 511 : -; 512 : for (h = s->heap_max+1; h < HEAP_SIZE; h++) { - - 00081 03 d0 add edx, eax - 00083 89 45 d8 mov DWORD PTR tv653[ebp], eax - 00086 8b 45 fc mov eax, DWORD PTR _tree$1$[ebp] - 00089 89 55 f4 mov DWORD PTR _h$1$[ebp], edx - 0008c 33 d2 xor edx, edx - 0008e 89 4d dc mov DWORD PTR tv632[ebp], ecx - 00091 57 push edi -$LL7@gen_bitlen: - -; 513 : n = s->heap[h]; - - 00092 8b 39 mov edi, DWORD PTR [ecx] - -; 514 : bits = tree[tree[n].Dad].Len + 1; - - 00094 8d 0c bd 00 00 - 00 00 lea ecx, DWORD PTR [edi*4] - 0009b 0f b7 44 01 02 movzx eax, WORD PTR [ecx+eax+2] - 000a0 89 4d f0 mov DWORD PTR tv647[ebp], ecx - 000a3 8b 4d fc mov ecx, DWORD PTR _tree$1$[ebp] - 000a6 0f b7 4c 81 02 movzx ecx, WORD PTR [ecx+eax*4+2] - 000ab 41 inc ecx - -; 515 : if (bits > max_length) bits = max_length, overflow++; - - 000ac 3b ce cmp ecx, esi - 000ae 7e 06 jle SHORT $LN18@gen_bitlen - 000b0 42 inc edx - 000b1 8b ce mov ecx, esi - 000b3 89 55 ec mov DWORD PTR _overflow$1$[ebp], edx -$LN18@gen_bitlen: - -; 516 : tree[n].Len = (ush)bits; - - 000b6 8b 75 f0 mov esi, DWORD PTR tv647[ebp] - 000b9 8b 45 fc mov eax, DWORD PTR _tree$1$[ebp] - 000bc 66 89 4c 06 02 mov WORD PTR [esi+eax+2], cx - -; 517 : /* We overwrite tree[n].Dad which is no longer needed */ -; 518 : -; 519 : if (n > max_code) continue; /* not a leaf node */ - - 000c1 8b 75 f8 mov esi, DWORD PTR _bits$3$[ebp] - 000c4 3b 7d e8 cmp edi, DWORD PTR _max_code$1$[ebp] - 000c7 7f 5b jg SHORT $LN5@gen_bitlen - -; 520 : -; 521 : s->bl_count[bits]++; - - 000c9 66 ff 84 4b 3c - 0b 00 00 inc WORD PTR [ebx+ecx*2+2876] - -; 522 : xbits = 0; -; 523 : if (n >= base) xbits = extra[n-base]; - - 000d1 3b 7d e4 cmp edi, DWORD PTR _base$1$[ebp] - 000d4 7c 0e jl SHORT $LN50@gen_bitlen - 000d6 8b 75 d0 mov esi, DWORD PTR _extra$1$[ebp] - 000d9 2b 7d e4 sub edi, DWORD PTR _base$1$[ebp] - 000dc 8b 3c be mov edi, DWORD PTR [esi+edi*4] - 000df 8b 75 f8 mov esi, DWORD PTR _bits$3$[ebp] - 000e2 eb 02 jmp SHORT $LN20@gen_bitlen -$LN50@gen_bitlen: - 000e4 33 ff xor edi, edi -$LN20@gen_bitlen: - -; 524 : f = tree[n].Freq; - - 000e6 8b 55 f0 mov edx, DWORD PTR tv647[ebp] - 000e9 0f b7 04 02 movzx eax, WORD PTR [edx+eax] - -; 525 : s->opt_len += (ulg)f * (bits + xbits); -; 526 : if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits); - - 000ed 8b 55 ec mov edx, DWORD PTR _overflow$1$[ebp] - 000f0 89 45 cc mov DWORD PTR tv644[ebp], eax - 000f3 8d 04 0f lea eax, DWORD PTR [edi+ecx] - 000f6 8b 4d cc mov ecx, DWORD PTR tv644[ebp] - 000f9 0f af c1 imul eax, ecx - 000fc 01 83 a8 16 00 - 00 add DWORD PTR [ebx+5800], eax - 00102 83 7d e0 00 cmp DWORD PTR _stree$1$[ebp], 0 - 00106 74 19 je SHORT $LN51@gen_bitlen - 00108 8b 75 e0 mov esi, DWORD PTR _stree$1$[ebp] - 0010b 8b 45 f0 mov eax, DWORD PTR tv647[ebp] - 0010e 0f b7 44 30 02 movzx eax, WORD PTR [eax+esi+2] - 00113 8b 75 f8 mov esi, DWORD PTR _bits$3$[ebp] - 00116 03 c7 add eax, edi - 00118 0f af c1 imul eax, ecx - 0011b 01 83 ac 16 00 - 00 add DWORD PTR [ebx+5804], eax -$LN51@gen_bitlen: - 00121 8b 45 fc mov eax, DWORD PTR _tree$1$[ebp] -$LN5@gen_bitlen: - -; 511 : -; 512 : for (h = s->heap_max+1; h < HEAP_SIZE; h++) { - - 00124 8b 4d dc mov ecx, DWORD PTR tv632[ebp] - 00127 83 c1 04 add ecx, 4 - 0012a 83 6d d8 01 sub DWORD PTR tv653[ebp], 1 - 0012e 89 4d dc mov DWORD PTR tv632[ebp], ecx - 00131 0f 85 5b ff ff - ff jne $LL7@gen_bitlen - -; 527 : } -; 528 : if (overflow == 0) return; - - 00137 85 d2 test edx, edx - 00139 0f 84 c6 00 00 - 00 je $LN52@gen_bitlen - 0013f 8d 56 ff lea edx, DWORD PTR [esi-1] - 00142 81 c6 9e 05 00 - 00 add esi, 1438 ; 0000059eH - 00148 8d 3c 73 lea edi, DWORD PTR [ebx+esi*2] - 0014b 8b 75 ec mov esi, DWORD PTR _overflow$1$[ebp] - 0014e 89 7d d8 mov DWORD PTR tv628[ebp], edi -$LL10@gen_bitlen: - -; 529 : -; 530 : Trace((stderr,"\nbit length overflow\n")); -; 531 : /* This happens for example on obj2 and pic of the Calgary corpus */ -; 532 : -; 533 : /* Find the first bit length which could increase: */ -; 534 : do { -; 535 : bits = max_length-1; - - 00151 8b ca mov ecx, edx - -; 536 : while (s->bl_count[bits] == 0) bits--; - - 00153 8d 83 3c 0b 00 - 00 lea eax, DWORD PTR [ebx+2876] - 00159 66 83 3c 48 00 cmp WORD PTR [eax+ecx*2], 0 - 0015e 8d 04 48 lea eax, DWORD PTR [eax+ecx*2] - 00161 75 0a jne SHORT $LN12@gen_bitlen -$LL11@gen_bitlen: - 00163 8d 40 fe lea eax, DWORD PTR [eax-2] - 00166 49 dec ecx - 00167 66 83 38 00 cmp WORD PTR [eax], 0 - 0016b 74 f6 je SHORT $LL11@gen_bitlen -$LN12@gen_bitlen: - -; 537 : s->bl_count[bits]--; /* move one leaf down the tree */ -; 538 : s->bl_count[bits+1] += 2; /* move one overflow item as its brother */ - - 0016d 66 83 84 4b 3e - 0b 00 00 02 add WORD PTR [ebx+ecx*2+2878], 2 - 00176 b8 ff ff 00 00 mov eax, 65535 ; 0000ffffH - 0017b 66 01 84 4b 3c - 0b 00 00 add WORD PTR [ebx+ecx*2+2876], ax - -; 539 : s->bl_count[max_length]--; -; 540 : /* The brother of the overflow item also moves one step up, -; 541 : * but this does not affect bl_count[max_length] -; 542 : */ -; 543 : overflow -= 2; - - 00183 83 ee 02 sub esi, 2 - 00186 66 01 07 add WORD PTR [edi], ax - -; 544 : } while (overflow > 0); - - 00189 85 f6 test esi, esi - 0018b 7f c4 jg SHORT $LL10@gen_bitlen - -; 545 : -; 546 : /* Now recompute all bit lengths, scanning in increasing frequency. -; 547 : * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all -; 548 : * lengths instead of fixing only the wrong ones. This idea is taken -; 549 : * from 'ar' written by Haruhiko Okumura.) -; 550 : */ -; 551 : for (bits = max_length; bits != 0; bits--) { - - 0018d 8b 75 f8 mov esi, DWORD PTR _bits$3$[ebp] - 00190 8b 55 f4 mov edx, DWORD PTR _h$1$[ebp] - 00193 85 f6 test esi, esi - 00195 74 6e je SHORT $LN52@gen_bitlen -$LL15@gen_bitlen: - -; 552 : n = s->bl_count[bits]; - - 00197 0f b7 07 movzx eax, WORD PTR [edi] - -; 553 : while (n != 0) { - - 0019a 85 c0 test eax, eax - 0019c 74 5c je SHORT $LN13@gen_bitlen - -; 552 : n = s->bl_count[bits]; - - 0019e 8b 4d e8 mov ecx, DWORD PTR _max_code$1$[ebp] - 001a1 8d ba d7 02 00 - 00 lea edi, DWORD PTR [edx+727] - 001a7 8d 3c bb lea edi, DWORD PTR [ebx+edi*4] - 001aa 66 0f 1f 44 00 - 00 npad 6 -$LL16@gen_bitlen: - -; 554 : m = s->heap[--h]; - - 001b0 8b 5f fc mov ebx, DWORD PTR [edi-4] - 001b3 8d 7f fc lea edi, DWORD PTR [edi-4] - 001b6 4a dec edx - 001b7 89 55 f4 mov DWORD PTR _h$1$[ebp], edx - -; 555 : if (m > max_code) continue; - - 001ba 3b d9 cmp ebx, ecx - 001bc 7f 32 jg SHORT $LN36@gen_bitlen - -; 556 : if ((unsigned) tree[m].Len != (unsigned) bits) { - - 001be 8b 4d fc mov ecx, DWORD PTR _tree$1$[ebp] - 001c1 0f b7 4c 99 02 movzx ecx, WORD PTR [ecx+ebx*4+2] - 001c6 3b ce cmp ecx, esi - 001c8 74 22 je SHORT $LN24@gen_bitlen - -; 557 : Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); -; 558 : s->opt_len += ((long)bits - (long)tree[m].Len) - - 001ca 8b d6 mov edx, esi - 001cc 2b d1 sub edx, ecx - 001ce 8b 4d fc mov ecx, DWORD PTR _tree$1$[ebp] - 001d1 0f b7 0c 99 movzx ecx, WORD PTR [ecx+ebx*4] - 001d5 0f af d1 imul edx, ecx - 001d8 8b 4d d4 mov ecx, DWORD PTR _s$1$[ebp] - 001db 01 91 a8 16 00 - 00 add DWORD PTR [ecx+5800], edx - -; 559 : *(long)tree[m].Freq; -; 560 : tree[m].Len = (ush)bits; - - 001e1 8b 4d fc mov ecx, DWORD PTR _tree$1$[ebp] - 001e4 8b 55 f4 mov edx, DWORD PTR _h$1$[ebp] - 001e7 66 89 74 99 02 mov WORD PTR [ecx+ebx*4+2], si -$LN24@gen_bitlen: - -; 561 : } -; 562 : n--; - - 001ec 8b 4d e8 mov ecx, DWORD PTR _max_code$1$[ebp] - 001ef 48 dec eax -$LN36@gen_bitlen: - -; 553 : while (n != 0) { - - 001f0 85 c0 test eax, eax - 001f2 75 bc jne SHORT $LL16@gen_bitlen - 001f4 8b 5d d4 mov ebx, DWORD PTR _s$1$[ebp] - 001f7 8b 7d d8 mov edi, DWORD PTR tv628[ebp] -$LN13@gen_bitlen: - -; 545 : -; 546 : /* Now recompute all bit lengths, scanning in increasing frequency. -; 547 : * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all -; 548 : * lengths instead of fixing only the wrong ones. This idea is taken -; 549 : * from 'ar' written by Haruhiko Okumura.) -; 550 : */ -; 551 : for (bits = max_length; bits != 0; bits--) { - - 001fa 83 ef 02 sub edi, 2 - 001fd 89 7d d8 mov DWORD PTR tv628[ebp], edi - 00200 83 ee 01 sub esi, 1 - 00203 75 92 jne SHORT $LL15@gen_bitlen -$LN52@gen_bitlen: - 00205 5f pop edi -$LN14@gen_bitlen: - 00206 5e pop esi - 00207 5b pop ebx - -; 563 : } -; 564 : } -; 565 : } - - 00208 8b e5 mov esp, ebp - 0020a 5d pop ebp - 0020b c3 ret 0 -_gen_bitlen ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _gen_codes -_TEXT SEGMENT -_next_code$ = -36 ; size = 32 -_tree$1$ = -4 ; size = 4 -_bl_count$ = 8 ; size = 4 -_gen_codes PROC ; COMDAT -; _tree$ = ecx -; _max_code$ = edx - -; 579 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 24 sub esp, 36 ; 00000024H - 00006 53 push ebx - 00007 56 push esi - 00008 8b da mov ebx, edx - 0000a 89 4d fc mov DWORD PTR _tree$1$[ebp], ecx - -; 580 : ush next_code[MAX_BITS+1]; /* next code value for each bit length */ -; 581 : ush code = 0; /* running code value */ -; 582 : int bits; /* bit index */ -; 583 : int n; /* code index */ -; 584 : -; 585 : /* The distribution counts are first used to generate the code values -; 586 : * without bit reversal. -; 587 : */ -; 588 : for (bits = 1; bits <= MAX_BITS; bits++) { - - 0000d 8b 55 08 mov edx, DWORD PTR _bl_count$[ebp] - 00010 8d 45 de lea eax, DWORD PTR _next_code$[ebp+2] - 00013 57 push edi - 00014 33 ff xor edi, edi - 00016 be 01 00 00 00 mov esi, 1 - 0001b 2b d0 sub edx, eax - 0001d 0f 1f 00 npad 3 -$LL14@gen_codes: - 00020 8d 04 72 lea eax, DWORD PTR [edx+esi*2] - -; 589 : next_code[bits] = code = (code + bl_count[bits-1]) << 1; - - 00023 66 8b 44 05 dc mov ax, WORD PTR _next_code$[ebp+eax] - 00028 66 03 c7 add ax, di - 0002b 66 03 c0 add ax, ax - 0002e 0f b7 f8 movzx edi, ax - 00031 66 89 7c 75 dc mov WORD PTR _next_code$[ebp+esi*2], di - 00036 46 inc esi - 00037 83 fe 0f cmp esi, 15 ; 0000000fH - 0003a 7e e4 jle SHORT $LL14@gen_codes - -; 590 : } -; 591 : /* Check that the bit counts in bl_count are consistent. The last code -; 592 : * must be all ones. -; 593 : */ -; 594 : Assert (code + bl_count[MAX_BITS]-1 == (1<dyn_tree; -; 622 : const ct_data *stree = desc->stat_desc->static_tree; -; 623 : int elems = desc->stat_desc->elems; -; 624 : int n, m; /* iterate over heap elements */ -; 625 : int max_code = -1; /* largest code with non zero frequency */ - - 00008 83 ca ff or edx, -1 - 0000b 53 push ebx - 0000c 89 45 f4 mov DWORD PTR _desc$1$[ebp], eax - 0000f 56 push esi - 00010 8b 18 mov ebx, DWORD PTR [eax] - 00012 8b f1 mov esi, ecx - 00014 8b 40 08 mov eax, DWORD PTR [eax+8] - 00017 57 push edi - 00018 89 55 fc mov DWORD PTR _max_code$1$[ebp], edx - 0001b 8b 08 mov ecx, DWORD PTR [eax] - 0001d 8b 78 0c mov edi, DWORD PTR [eax+12] - 00020 89 4d f0 mov DWORD PTR _stree$1$[ebp], ecx - -; 626 : int node; /* new node being created */ -; 627 : -; 628 : /* Construct the initial heap, with least frequent element in -; 629 : * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. -; 630 : * heap[0] is not used. -; 631 : */ -; 632 : s->heap_len = 0, s->heap_max = HEAP_SIZE; -; 633 : -; 634 : for (n = 0; n < elems; n++) { - - 00023 33 c9 xor ecx, ecx - 00025 89 7d f8 mov DWORD PTR _node$2$[ebp], edi - 00028 c7 86 50 14 00 - 00 00 00 00 00 mov DWORD PTR [esi+5200], 0 - 00032 c7 86 54 14 00 - 00 3d 02 00 00 mov DWORD PTR [esi+5204], 573 ; 0000023dH - 0003c 85 ff test edi, edi - 0003e 7e 35 jle SHORT $LN22@build_tree -$LL4@build_tree: - -; 635 : if (tree[n].Freq != 0) { - - 00040 66 83 3c 8b 00 cmp WORD PTR [ebx+ecx*4], 0 - 00045 74 1f je SHORT $LN13@build_tree - -; 636 : s->heap[++(s->heap_len)] = max_code = n; - - 00047 ff 86 50 14 00 - 00 inc DWORD PTR [esi+5200] - 0004d 8b d1 mov edx, ecx - 0004f 8b 86 50 14 00 - 00 mov eax, DWORD PTR [esi+5200] - 00055 89 8c 86 5c 0b - 00 00 mov DWORD PTR [esi+eax*4+2908], ecx - -; 637 : s->depth[n] = 0; - - 0005c c6 84 31 58 14 - 00 00 00 mov BYTE PTR [ecx+esi+5208], 0 - -; 638 : } else { - - 00064 eb 07 jmp SHORT $LN2@build_tree -$LN13@build_tree: - -; 639 : tree[n].Len = 0; - - 00066 33 c0 xor eax, eax - 00068 66 89 44 8b 02 mov WORD PTR [ebx+ecx*4+2], ax -$LN2@build_tree: - -; 626 : int node; /* new node being created */ -; 627 : -; 628 : /* Construct the initial heap, with least frequent element in -; 629 : * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. -; 630 : * heap[0] is not used. -; 631 : */ -; 632 : s->heap_len = 0, s->heap_max = HEAP_SIZE; -; 633 : -; 634 : for (n = 0; n < elems; n++) { - - 0006d 41 inc ecx - 0006e 3b cf cmp ecx, edi - 00070 7c ce jl SHORT $LL4@build_tree - 00072 89 55 fc mov DWORD PTR _max_code$1$[ebp], edx -$LN22@build_tree: - -; 640 : } -; 641 : } -; 642 : -; 643 : /* The pkzip format requires that at least one distance code exists, -; 644 : * and that at least one bit should be sent even if there is only one -; 645 : * possible code. So to avoid special checks later on we force at least -; 646 : * two codes of non zero frequency. -; 647 : */ -; 648 : while (s->heap_len < 2) { - - 00075 83 be 50 14 00 - 00 02 cmp DWORD PTR [esi+5200], 2 - 0007c 7d 54 jge SHORT $LN6@build_tree - 0007e bf 01 00 00 00 mov edi, 1 -$LL5@build_tree: - -; 649 : node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0); - - 00083 83 fa 02 cmp edx, 2 - 00086 7d 05 jge SHORT $LN17@build_tree - 00088 42 inc edx - 00089 8b ca mov ecx, edx - 0008b eb 02 jmp SHORT $LN18@build_tree -$LN17@build_tree: - 0008d 33 c9 xor ecx, ecx -$LN18@build_tree: - 0008f ff 86 50 14 00 - 00 inc DWORD PTR [esi+5200] - 00095 8b 86 50 14 00 - 00 mov eax, DWORD PTR [esi+5200] - 0009b 89 8c 86 5c 0b - 00 00 mov DWORD PTR [esi+eax*4+2908], ecx - -; 650 : tree[node].Freq = 1; -; 651 : s->depth[node] = 0; -; 652 : s->opt_len--; if (stree) s->static_len -= stree[node].Len; - - 000a2 8b 45 f0 mov eax, DWORD PTR _stree$1$[ebp] - 000a5 66 89 3c 8b mov WORD PTR [ebx+ecx*4], di - 000a9 c6 84 0e 58 14 - 00 00 00 mov BYTE PTR [esi+ecx+5208], 0 - 000b1 ff 8e a8 16 00 - 00 dec DWORD PTR [esi+5800] - 000b7 85 c0 test eax, eax - 000b9 74 0b je SHORT $LN15@build_tree - 000bb 0f b7 44 88 02 movzx eax, WORD PTR [eax+ecx*4+2] - 000c0 29 86 ac 16 00 - 00 sub DWORD PTR [esi+5804], eax -$LN15@build_tree: - -; 640 : } -; 641 : } -; 642 : -; 643 : /* The pkzip format requires that at least one distance code exists, -; 644 : * and that at least one bit should be sent even if there is only one -; 645 : * possible code. So to avoid special checks later on we force at least -; 646 : * two codes of non zero frequency. -; 647 : */ -; 648 : while (s->heap_len < 2) { - - 000c6 83 be 50 14 00 - 00 02 cmp DWORD PTR [esi+5200], 2 - 000cd 7c b4 jl SHORT $LL5@build_tree - 000cf 89 55 fc mov DWORD PTR _max_code$1$[ebp], edx -$LN6@build_tree: - -; 653 : /* node is 0 or 1 so it does not have extra bits */ -; 654 : } -; 655 : desc->max_code = max_code; - - 000d2 8b 45 f4 mov eax, DWORD PTR _desc$1$[ebp] - 000d5 89 50 04 mov DWORD PTR [eax+4], edx - -; 656 : -; 657 : /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, -; 658 : * establish sub-heaps of increasing lengths: -; 659 : */ -; 660 : for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n); - - 000d8 8b 86 50 14 00 - 00 mov eax, DWORD PTR [esi+5200] - 000de 99 cdq - 000df 2b c2 sub eax, edx - 000e1 8b f8 mov edi, eax - 000e3 d1 ff sar edi, 1 - 000e5 83 ff 01 cmp edi, 1 - 000e8 7c 26 jl SHORT $LL12@build_tree - 000ea 66 0f 1f 44 00 - 00 npad 6 -$LL9@build_tree: - 000f0 57 push edi - 000f1 8b d3 mov edx, ebx - 000f3 8b ce mov ecx, esi - 000f5 e8 00 00 00 00 call _pqdownheap - 000fa 4f dec edi - 000fb 83 c4 04 add esp, 4 - 000fe 83 ff 01 cmp edi, 1 - 00101 7d ed jge SHORT $LL9@build_tree - 00103 0f 1f 40 00 66 - 0f 1f 84 00 00 - 00 00 00 npad 13 -$LL12@build_tree: - -; 661 : -; 662 : /* Construct the Huffman tree by repeatedly combining the least two -; 663 : * frequent nodes. -; 664 : */ -; 665 : node = elems; /* next internal node of the tree */ -; 666 : do { -; 667 : pqremove(s, tree, n); /* n = node of least frequency */ - - 00110 8b 86 50 14 00 - 00 mov eax, DWORD PTR [esi+5200] - 00116 8b d3 mov edx, ebx - 00118 8b be 60 0b 00 - 00 mov edi, DWORD PTR [esi+2912] - 0011e 8b ce mov ecx, esi - 00120 6a 01 push 1 - 00122 8b 84 86 5c 0b - 00 00 mov eax, DWORD PTR [esi+eax*4+2908] - 00129 89 86 60 0b 00 - 00 mov DWORD PTR [esi+2912], eax - 0012f ff 8e 50 14 00 - 00 dec DWORD PTR [esi+5200] - 00135 e8 00 00 00 00 call _pqdownheap - -; 668 : m = s->heap[SMALLEST]; /* m = node of next least frequency */ - - 0013a 8b 8e 60 0b 00 - 00 mov ecx, DWORD PTR [esi+2912] - 00140 83 c4 04 add esp, 4 - -; 669 : -; 670 : s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */ - - 00143 ff 8e 54 14 00 - 00 dec DWORD PTR [esi+5204] - 00149 8b 86 54 14 00 - 00 mov eax, DWORD PTR [esi+5204] - -; 671 : s->heap[--(s->heap_max)] = m; -; 672 : -; 673 : /* Create a new node father of n and m */ -; 674 : tree[node].Freq = tree[n].Freq + tree[m].Freq; - - 0014f 8b 55 f8 mov edx, DWORD PTR _node$2$[ebp] - 00152 89 bc 86 5c 0b - 00 00 mov DWORD PTR [esi+eax*4+2908], edi - 00159 ff 8e 54 14 00 - 00 dec DWORD PTR [esi+5204] - 0015f 8b 86 54 14 00 - 00 mov eax, DWORD PTR [esi+5204] - 00165 89 8c 86 5c 0b - 00 00 mov DWORD PTR [esi+eax*4+2908], ecx - 0016c 8d 04 8b lea eax, DWORD PTR [ebx+ecx*4] - 0016f 89 45 f0 mov DWORD PTR tv503[ebp], eax - 00172 66 8b 00 mov ax, WORD PTR [eax] - 00175 66 03 04 bb add ax, WORD PTR [ebx+edi*4] - 00179 66 89 04 93 mov WORD PTR [ebx+edx*4], ax - -; 675 : s->depth[node] = (uch)((s->depth[n] >= s->depth[m] ? - - 0017d 8a 84 3e 58 14 - 00 00 mov al, BYTE PTR [esi+edi+5208] - 00184 8a 8c 0e 58 14 - 00 00 mov cl, BYTE PTR [esi+ecx+5208] - 0018b 3a c1 cmp al, cl - 0018d 0f b6 c0 movzx eax, al - 00190 73 03 jae SHORT $LN20@build_tree - 00192 0f b6 c1 movzx eax, cl -$LN20@build_tree: - -; 676 : s->depth[n] : s->depth[m]) + 1); -; 677 : tree[n].Dad = tree[m].Dad = (ush)node; - - 00195 8b 4d f0 mov ecx, DWORD PTR tv503[ebp] - 00198 fe c0 inc al - 0019a 88 84 16 58 14 - 00 00 mov BYTE PTR [esi+edx+5208], al - 001a1 0f b7 c2 movzx eax, dx - -; 678 : #ifdef DUMP_BL_TREE -; 679 : if (tree == s->bl_tree) { -; 680 : fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)", -; 681 : node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq); -; 682 : } -; 683 : #endif -; 684 : /* and insert the new node in the heap */ -; 685 : s->heap[SMALLEST] = node++; -; 686 : pqdownheap(s, tree, SMALLEST); - - 001a4 6a 01 push 1 - 001a6 66 89 41 02 mov WORD PTR [ecx+2], ax - 001aa 8b ce mov ecx, esi - 001ac 66 89 44 bb 02 mov WORD PTR [ebx+edi*4+2], ax - 001b1 89 96 60 0b 00 - 00 mov DWORD PTR [esi+2912], edx - 001b7 42 inc edx - 001b8 89 55 f8 mov DWORD PTR _node$2$[ebp], edx - 001bb 8b d3 mov edx, ebx - 001bd e8 00 00 00 00 call _pqdownheap - 001c2 83 c4 04 add esp, 4 - -; 687 : -; 688 : } while (s->heap_len >= 2); - - 001c5 83 be 50 14 00 - 00 02 cmp DWORD PTR [esi+5200], 2 - 001cc 0f 8d 3e ff ff - ff jge $LL12@build_tree - -; 689 : -; 690 : s->heap[--(s->heap_max)] = s->heap[SMALLEST]; - - 001d2 ff 8e 54 14 00 - 00 dec DWORD PTR [esi+5204] - 001d8 8b be 54 14 00 - 00 mov edi, DWORD PTR [esi+5204] - 001de 8b 86 60 0b 00 - 00 mov eax, DWORD PTR [esi+2912] - -; 691 : -; 692 : /* At this point, the fields freq and dad are set. We can now -; 693 : * generate the bit lengths. -; 694 : */ -; 695 : gen_bitlen(s, (tree_desc *)desc); - - 001e4 8b 55 f4 mov edx, DWORD PTR _desc$1$[ebp] - 001e7 89 84 be 5c 0b - 00 00 mov DWORD PTR [esi+edi*4+2908], eax - 001ee e8 00 00 00 00 call _gen_bitlen - -; 696 : -; 697 : /* The field len is now set, we can generate the bit codes */ -; 698 : gen_codes ((ct_data *)tree, max_code, s->bl_count); - - 001f3 8b 55 fc mov edx, DWORD PTR _max_code$1$[ebp] - 001f6 81 c6 3c 0b 00 - 00 add esi, 2876 ; 00000b3cH - 001fc 56 push esi - 001fd 8b cb mov ecx, ebx - 001ff e8 00 00 00 00 call _gen_codes - 00204 83 c4 04 add esp, 4 - 00207 5f pop edi - 00208 5e pop esi - 00209 5b pop ebx - -; 699 : } - - 0020a 8b e5 mov esp, ebp - 0020c 5d pop ebp - 0020d c3 ret 0 -_build_tree ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _scan_tree -_TEXT SEGMENT -_s$1$ = -12 ; size = 4 -_prevlen$1$ = -8 ; size = 4 -tv326 = -4 ; size = 4 -_tree$1$ = -4 ; size = 4 -tv333 = 8 ; size = 4 -_max_code$ = 8 ; size = 4 -_scan_tree PROC ; COMDAT -; _s$ = ecx -; _tree$ = edx - -; 709 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 0c sub esp, 12 ; 0000000cH - 00006 53 push ebx - 00007 8b c2 mov eax, edx - 00009 89 4d f4 mov DWORD PTR _s$1$[ebp], ecx - 0000c 56 push esi - -; 710 : int n; /* iterates over all tree elements */ -; 711 : int prevlen = -1; /* last emitted length */ -; 712 : int curlen; /* length of current code */ -; 713 : int nextlen = tree[0].Len; /* length of next code */ -; 714 : int count = 0; /* repeat count of the current code */ - - 0000d 33 f6 xor esi, esi - 0000f 89 45 fc mov DWORD PTR _tree$1$[ebp], eax - 00012 57 push edi - 00013 0f b7 58 02 movzx ebx, WORD PTR [eax+2] - 00017 c7 45 f8 ff ff - ff ff mov DWORD PTR _prevlen$1$[ebp], -1 - -; 715 : int max_count = 7; /* max repeat count */ - - 0001e 8d 56 07 lea edx, DWORD PTR [esi+7] - -; 716 : int min_count = 4; /* min repeat count */ - - 00021 8d 7e 04 lea edi, DWORD PTR [esi+4] - -; 717 : -; 718 : if (nextlen == 0) max_count = 138, min_count = 3; - - 00024 85 db test ebx, ebx - 00026 75 08 jne SHORT $LN5@scan_tree - 00028 ba 8a 00 00 00 mov edx, 138 ; 0000008aH - 0002d 8d 7e 03 lea edi, DWORD PTR [esi+3] -$LN5@scan_tree: - -; 719 : tree[max_code+1].Len = (ush)0xffff; /* guard */ - - 00030 8b 45 08 mov eax, DWORD PTR _max_code$[ebp] - 00033 be ff ff 00 00 mov esi, 65535 ; 0000ffffH - 00038 8b 4d fc mov ecx, DWORD PTR _tree$1$[ebp] - 0003b 66 89 74 81 06 mov WORD PTR [ecx+eax*4+6], si - -; 720 : -; 721 : for (n = 0; n <= max_code; n++) { - - 00040 be 00 00 00 00 mov esi, 0 - 00045 8b 4d f4 mov ecx, DWORD PTR _s$1$[ebp] - 00048 85 c0 test eax, eax - 0004a 0f 88 95 00 00 - 00 js $LN3@scan_tree - -; 719 : tree[max_code+1].Len = (ush)0xffff; /* guard */ - - 00050 8b 45 fc mov eax, DWORD PTR _tree$1$[ebp] - 00053 83 c0 06 add eax, 6 - 00056 89 45 fc mov DWORD PTR tv326[ebp], eax - 00059 8b 45 08 mov eax, DWORD PTR _max_code$[ebp] - 0005c 40 inc eax - 0005d 89 45 08 mov DWORD PTR tv333[ebp], eax -$LL4@scan_tree: - -; 722 : curlen = nextlen; nextlen = tree[n+1].Len; - - 00060 8b c3 mov eax, ebx - -; 723 : if (++count < max_count && curlen == nextlen) { - - 00062 46 inc esi - 00063 8b 5d fc mov ebx, DWORD PTR tv326[ebp] - 00066 0f b7 1b movzx ebx, WORD PTR [ebx] - 00069 3b f2 cmp esi, edx - 0006b 7d 04 jge SHORT $LN6@scan_tree - 0006d 3b c3 cmp eax, ebx - 0006f 74 66 je SHORT $LN2@scan_tree -$LN6@scan_tree: - -; 724 : continue; -; 725 : } else if (count < min_count) { - - 00071 3b f7 cmp esi, edi - 00073 7d 0a jge SHORT $LN8@scan_tree - -; 726 : s->bl_tree[curlen].Freq += count; - - 00075 66 01 b4 81 7c - 0a 00 00 add WORD PTR [ecx+eax*4+2684], si - 0007d eb 2f jmp SHORT $LN14@scan_tree -$LN8@scan_tree: - -; 727 : } else if (curlen != 0) { - - 0007f 85 c0 test eax, eax - 00081 74 16 je SHORT $LN10@scan_tree - -; 728 : if (curlen != prevlen) s->bl_tree[curlen].Freq++; - - 00083 3b 45 f8 cmp eax, DWORD PTR _prevlen$1$[ebp] - 00086 74 08 je SHORT $LN12@scan_tree - 00088 66 ff 84 81 7c - 0a 00 00 inc WORD PTR [ecx+eax*4+2684] -$LN12@scan_tree: - -; 729 : s->bl_tree[REP_3_6].Freq++; - - 00090 66 ff 81 bc 0a - 00 00 inc WORD PTR [ecx+2748] - 00097 eb 15 jmp SHORT $LN14@scan_tree -$LN10@scan_tree: - -; 730 : } else if (count <= 10) { - - 00099 83 fe 0a cmp esi, 10 ; 0000000aH - 0009c 7f 09 jg SHORT $LN13@scan_tree - -; 731 : s->bl_tree[REPZ_3_10].Freq++; - - 0009e 66 ff 81 c0 0a - 00 00 inc WORD PTR [ecx+2752] - -; 732 : } else { - - 000a5 eb 07 jmp SHORT $LN14@scan_tree -$LN13@scan_tree: - -; 733 : s->bl_tree[REPZ_11_138].Freq++; - - 000a7 66 ff 81 c4 0a - 00 00 inc WORD PTR [ecx+2756] -$LN14@scan_tree: - -; 734 : } -; 735 : count = 0; prevlen = curlen; - - 000ae 33 f6 xor esi, esi - 000b0 89 45 f8 mov DWORD PTR _prevlen$1$[ebp], eax - -; 736 : if (nextlen == 0) { - - 000b3 85 db test ebx, ebx - 000b5 75 0a jne SHORT $LN15@scan_tree - -; 737 : max_count = 138, min_count = 3; - - 000b7 ba 8a 00 00 00 mov edx, 138 ; 0000008aH - 000bc 8d 7e 03 lea edi, DWORD PTR [esi+3] - 000bf eb 16 jmp SHORT $LN2@scan_tree -$LN15@scan_tree: - -; 738 : } else if (curlen == nextlen) { - - 000c1 3b c3 cmp eax, ebx - 000c3 75 0a jne SHORT $LN17@scan_tree - -; 739 : max_count = 6, min_count = 3; - - 000c5 ba 06 00 00 00 mov edx, 6 - 000ca 8d 7a fd lea edi, DWORD PTR [edx-3] - -; 740 : } else { - - 000cd eb 08 jmp SHORT $LN2@scan_tree -$LN17@scan_tree: - -; 741 : max_count = 7, min_count = 4; - - 000cf ba 07 00 00 00 mov edx, 7 - 000d4 8d 7a fd lea edi, DWORD PTR [edx-3] -$LN2@scan_tree: - -; 720 : -; 721 : for (n = 0; n <= max_code; n++) { - - 000d7 83 45 fc 04 add DWORD PTR tv326[ebp], 4 - 000db 83 6d 08 01 sub DWORD PTR tv333[ebp], 1 - 000df 0f 85 7b ff ff - ff jne $LL4@scan_tree -$LN3@scan_tree: - 000e5 5f pop edi - 000e6 5e pop esi - 000e7 5b pop ebx - -; 742 : } -; 743 : } -; 744 : } - - 000e8 8b e5 mov esp, ebp - 000ea 5d pop ebp - 000eb c3 ret 0 -_scan_tree ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _send_tree -_TEXT SEGMENT -tv1077 = -28 ; size = 4 -_len$1$ = -28 ; size = 4 -_len$1$ = -28 ; size = 4 -_len$1$ = -28 ; size = 4 -_len$1$ = -28 ; size = 4 -tv1063 = -24 ; size = 4 -_len$1$ = -20 ; size = 4 -tv1078 = -16 ; size = 4 -_tree$1$ = -16 ; size = 4 -_curlen$1$ = -12 ; size = 4 -_s$1$ = -8 ; size = 4 -tv1032 = -4 ; size = 4 -_nextlen$1$ = 8 ; size = 4 -_max_code$ = 8 ; size = 4 -_send_tree PROC ; COMDAT -; _s$ = ecx -; _tree$ = edx - -; 754 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 1c sub esp, 28 ; 0000001cH - 00006 53 push ebx - 00007 8b da mov ebx, edx - 00009 89 4d f8 mov DWORD PTR _s$1$[ebp], ecx - -; 755 : int n; /* iterates over all tree elements */ -; 756 : int prevlen = -1; /* last emitted length */ - - 0000c 83 ca ff or edx, -1 - 0000f 89 5d f0 mov DWORD PTR _tree$1$[ebp], ebx - 00012 56 push esi - 00013 57 push edi - -; 757 : int curlen; /* length of current code */ -; 758 : int nextlen = tree[0].Len; /* length of next code */ - - 00014 0f b7 4b 02 movzx ecx, WORD PTR [ebx+2] - -; 759 : int count = 0; /* repeat count of the current code */ - - 00018 33 db xor ebx, ebx - -; 760 : int max_count = 7; /* max repeat count */ - - 0001a 8d 7a 08 lea edi, DWORD PTR [edx+8] - -; 761 : int min_count = 4; /* min repeat count */ - - 0001d 8d 72 05 lea esi, DWORD PTR [edx+5] - -; 762 : -; 763 : /* tree[max_code+1].Len = -1; */ /* guard already set */ -; 764 : if (nextlen == 0) max_count = 138, min_count = 3; - - 00020 85 c9 test ecx, ecx - 00022 75 08 jne SHORT $LN8@send_tree - 00024 bf 8a 00 00 00 mov edi, 138 ; 0000008aH - 00029 8d 72 04 lea esi, DWORD PTR [edx+4] -$LN8@send_tree: - -; 765 : -; 766 : for (n = 0; n <= max_code; n++) { - - 0002c 39 5d 08 cmp DWORD PTR _max_code$[ebp], ebx - 0002f 0f 8c d9 04 00 - 00 jl $LN3@send_tree - 00035 8b 45 f0 mov eax, DWORD PTR _tree$1$[ebp] - 00038 83 c0 06 add eax, 6 - 0003b 89 45 fc mov DWORD PTR tv1032[ebp], eax - 0003e 8b 45 08 mov eax, DWORD PTR _max_code$[ebp] - 00041 40 inc eax - 00042 89 45 f0 mov DWORD PTR tv1078[ebp], eax -$LL4@send_tree: - -; 767 : curlen = nextlen; nextlen = tree[n+1].Len; - - 00045 8b 45 fc mov eax, DWORD PTR tv1032[ebp] - -; 768 : if (++count < max_count && curlen == nextlen) { - - 00048 43 inc ebx - 00049 89 4d f4 mov DWORD PTR _curlen$1$[ebp], ecx - 0004c 0f b7 08 movzx ecx, WORD PTR [eax] - 0004f 8b 45 f8 mov eax, DWORD PTR _s$1$[ebp] - 00052 89 4d 08 mov DWORD PTR _nextlen$1$[ebp], ecx - 00055 8b 4d f4 mov ecx, DWORD PTR _curlen$1$[ebp] - 00058 3b df cmp ebx, edi - 0005a 7d 09 jge SHORT $LN9@send_tree - 0005c 3b 4d 08 cmp ecx, DWORD PTR _nextlen$1$[ebp] - 0005f 0f 84 98 04 00 - 00 je $LN2@send_tree -$LN9@send_tree: - -; 769 : continue; -; 770 : } else if (count < min_count) { - - 00065 3b de cmp ebx, esi - 00067 0f 8d b9 00 00 - 00 jge $LN11@send_tree - 0006d 8d 14 8d 7e 0a - 00 00 lea edx, DWORD PTR [ecx*4+2686] - 00074 8d b9 9f 02 00 - 00 lea edi, DWORD PTR [ecx+671] - 0007a 03 d0 add edx, eax - 0007c 8d 3c b8 lea edi, DWORD PTR [eax+edi*4] - 0007f 89 55 e4 mov DWORD PTR tv1077[ebp], edx - 00082 89 7d e8 mov DWORD PTR tv1063[ebp], edi - 00085 66 66 66 0f 1f - 84 00 00 00 00 - 00 npad 11 -$LL7@send_tree: - -; 771 : do { send_code(s, curlen, s->bl_tree); } while (--count != 0); - - 00090 0f b7 32 movzx esi, WORD PTR [edx] - 00093 ba 10 00 00 00 mov edx, 16 ; 00000010H - 00098 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0009e 2b d6 sub edx, esi - 000a0 89 75 ec mov DWORD PTR _len$1$[ebp], esi - 000a3 3b ca cmp ecx, edx - 000a5 7e 59 jle SHORT $LN13@send_tree - 000a7 0f b7 3f movzx edi, WORD PTR [edi] - 000aa 8b 70 08 mov esi, DWORD PTR [eax+8] - 000ad 66 8b d7 mov dx, di - 000b0 66 d3 e2 shl dx, cl - 000b3 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 000ba 8b 50 14 mov edx, DWORD PTR [eax+20] - 000bd 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 000c4 88 0c 16 mov BYTE PTR [esi+edx], cl - 000c7 ff 40 14 inc DWORD PTR [eax+20] - 000ca 8b 70 14 mov esi, DWORD PTR [eax+20] - 000cd 8b 50 08 mov edx, DWORD PTR [eax+8] - 000d0 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 000d7 88 0c 16 mov BYTE PTR [esi+edx], cl - 000da b1 10 mov cl, 16 ; 00000010H - 000dc 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 000e2 ff 40 14 inc DWORD PTR [eax+20] - 000e5 66 d3 ef shr di, cl - 000e8 8b 4d ec mov ecx, DWORD PTR _len$1$[ebp] - 000eb 83 c1 f0 add ecx, -16 ; fffffff0H - 000ee 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 000f5 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 000fb 8b 7d e8 mov edi, DWORD PTR tv1063[ebp] - 000fe eb 15 jmp SHORT $LN5@send_tree -$LN13@send_tree: - 00100 66 8b 17 mov dx, WORD PTR [edi] - 00103 66 d3 e2 shl dx, cl - 00106 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 0010d 03 ce add ecx, esi - 0010f 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN5@send_tree: - 00115 8b 55 e4 mov edx, DWORD PTR tv1077[ebp] - 00118 83 eb 01 sub ebx, 1 - 0011b 0f 85 6f ff ff - ff jne $LL7@send_tree - -; 772 : -; 773 : } else if (curlen != 0) { - - 00121 e9 a9 03 00 00 jmp $LN33@send_tree -$LN11@send_tree: - 00126 85 c9 test ecx, ecx - 00128 0f 84 a1 01 00 - 00 je $LN15@send_tree - -; 774 : if (curlen != prevlen) { - - 0012e 3b ca cmp ecx, edx - 00130 0f 84 97 00 00 - 00 je $LN17@send_tree - -; 775 : send_code(s, curlen, s->bl_tree); count--; - - 00136 0f b7 bc 88 7e - 0a 00 00 movzx edi, WORD PTR [eax+ecx*4+2686] - 0013e ba 10 00 00 00 mov edx, 16 ; 00000010H - 00143 8b b0 bc 16 00 - 00 mov esi, DWORD PTR [eax+5820] - 00149 2b d7 sub edx, edi - 0014b 89 7d e4 mov DWORD PTR _len$1$[ebp], edi - 0014e 3b f2 cmp esi, edx - 00150 7e 5d jle SHORT $LN18@send_tree - 00152 0f b7 bc 88 7c - 0a 00 00 movzx edi, WORD PTR [eax+ecx*4+2684] - 0015a 8b ce mov ecx, esi - 0015c 8b 70 08 mov esi, DWORD PTR [eax+8] - 0015f 66 8b d7 mov dx, di - 00162 66 d3 e2 shl dx, cl - 00165 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 0016c 8b 50 14 mov edx, DWORD PTR [eax+20] - 0016f 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 00176 88 0c 16 mov BYTE PTR [esi+edx], cl - 00179 ff 40 14 inc DWORD PTR [eax+20] - 0017c 8b 70 14 mov esi, DWORD PTR [eax+20] - 0017f 8b 50 08 mov edx, DWORD PTR [eax+8] - 00182 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 00189 88 0c 16 mov BYTE PTR [esi+edx], cl - 0018c b1 10 mov cl, 16 ; 00000010H - 0018e 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 00194 ff 40 14 inc DWORD PTR [eax+20] - 00197 66 d3 ef shr di, cl - 0019a 8b 4d e4 mov ecx, DWORD PTR _len$1$[ebp] - 0019d 83 c1 f0 add ecx, -16 ; fffffff0H - 001a0 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 001a7 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 001ad eb 1d jmp SHORT $LN19@send_tree -$LN18@send_tree: - 001af 66 8b 94 88 7c - 0a 00 00 mov dx, WORD PTR [eax+ecx*4+2684] - 001b7 8b ce mov ecx, esi - 001b9 66 d3 e2 shl dx, cl - 001bc 8d 0c 3e lea ecx, DWORD PTR [esi+edi] - 001bf 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 001c6 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN19@send_tree: - 001cc 4b dec ebx -$LN17@send_tree: - -; 776 : } -; 777 : Assert(count >= 3 && count <= 6, " 3_6?"); -; 778 : send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2); - - 001cd 0f b7 b0 be 0a - 00 00 movzx esi, WORD PTR [eax+2750] - 001d4 ba 10 00 00 00 mov edx, 16 ; 00000010H - 001d9 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 001df 2b d6 sub edx, esi - 001e1 89 75 e4 mov DWORD PTR _len$1$[ebp], esi - 001e4 3b ca cmp ecx, edx - 001e6 7e 5a jle SHORT $LN20@send_tree - 001e8 0f b7 b8 bc 0a - 00 00 movzx edi, WORD PTR [eax+2748] - 001ef 8b 70 08 mov esi, DWORD PTR [eax+8] - 001f2 66 8b d7 mov dx, di - 001f5 66 d3 e2 shl dx, cl - 001f8 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 001ff 8b 50 14 mov edx, DWORD PTR [eax+20] - 00202 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 00209 88 0c 16 mov BYTE PTR [esi+edx], cl - 0020c ff 40 14 inc DWORD PTR [eax+20] - 0020f 8b 70 14 mov esi, DWORD PTR [eax+20] - 00212 8b 50 08 mov edx, DWORD PTR [eax+8] - 00215 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 0021c 88 0c 16 mov BYTE PTR [esi+edx], cl - 0021f b1 10 mov cl, 16 ; 00000010H - 00221 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 00227 ff 40 14 inc DWORD PTR [eax+20] - 0022a 66 d3 ef shr di, cl - 0022d 8b 4d e4 mov ecx, DWORD PTR _len$1$[ebp] - 00230 83 c1 f0 add ecx, -16 ; fffffff0H - 00233 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 0023a 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 00240 eb 19 jmp SHORT $LN21@send_tree -$LN20@send_tree: - 00242 66 8b 90 bc 0a - 00 00 mov dx, WORD PTR [eax+2748] - 00249 66 d3 e2 shl dx, cl - 0024c 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00253 03 ce add ecx, esi - 00255 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN21@send_tree: - 0025b 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 00261 83 f9 0e cmp ecx, 14 ; 0000000eH - 00264 7e 54 jle SHORT $LN22@send_tree - 00266 8b 70 08 mov esi, DWORD PTR [eax+8] - 00269 8d 7b fd lea edi, DWORD PTR [ebx-3] - 0026c 66 8b d7 mov dx, di - 0026f 66 d3 e2 shl dx, cl - 00272 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00279 8b 50 14 mov edx, DWORD PTR [eax+20] - 0027c 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 00283 88 0c 16 mov BYTE PTR [esi+edx], cl - 00286 ff 40 14 inc DWORD PTR [eax+20] - 00289 8b 70 14 mov esi, DWORD PTR [eax+20] - 0028c 8b 50 08 mov edx, DWORD PTR [eax+8] - 0028f 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 00296 88 0c 16 mov BYTE PTR [esi+edx], cl - 00299 b1 10 mov cl, 16 ; 00000010H - 0029b 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 002a1 ff 40 14 inc DWORD PTR [eax+20] - 002a4 66 d3 ef shr di, cl - 002a7 83 80 bc 16 00 - 00 f2 add DWORD PTR [eax+5820], -14 ; fffffff2H - 002ae 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 002b5 e9 15 02 00 00 jmp $LN33@send_tree -$LN22@send_tree: - 002ba 8d 53 fd lea edx, DWORD PTR [ebx-3] - 002bd 66 d3 e2 shl dx, cl - 002c0 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 002c7 83 c1 02 add ecx, 2 - 002ca e9 fa 01 00 00 jmp $LN46@send_tree -$LN15@send_tree: - -; 779 : -; 780 : } else if (count <= 10) { -; 781 : send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3); - - 002cf 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 002d5 ba 10 00 00 00 mov edx, 16 ; 00000010H - 002da 83 fb 0a cmp ebx, 10 ; 0000000aH - 002dd 0f 8f f7 00 00 - 00 jg $LN24@send_tree - 002e3 0f b7 b0 c2 0a - 00 00 movzx esi, WORD PTR [eax+2754] - 002ea 2b d6 sub edx, esi - 002ec 89 75 e4 mov DWORD PTR _len$1$[ebp], esi - 002ef 3b ca cmp ecx, edx - 002f1 7e 5a jle SHORT $LN26@send_tree - 002f3 0f b7 b8 c0 0a - 00 00 movzx edi, WORD PTR [eax+2752] - 002fa 8b 70 08 mov esi, DWORD PTR [eax+8] - 002fd 66 8b d7 mov dx, di - 00300 66 d3 e2 shl dx, cl - 00303 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 0030a 8b 50 14 mov edx, DWORD PTR [eax+20] - 0030d 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 00314 88 0c 16 mov BYTE PTR [esi+edx], cl - 00317 ff 40 14 inc DWORD PTR [eax+20] - 0031a 8b 70 14 mov esi, DWORD PTR [eax+20] - 0031d 8b 50 08 mov edx, DWORD PTR [eax+8] - 00320 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 00327 88 0c 16 mov BYTE PTR [esi+edx], cl - 0032a b1 10 mov cl, 16 ; 00000010H - 0032c 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 00332 ff 40 14 inc DWORD PTR [eax+20] - 00335 66 d3 ef shr di, cl - 00338 8b 4d e4 mov ecx, DWORD PTR _len$1$[ebp] - 0033b 83 c1 f0 add ecx, -16 ; fffffff0H - 0033e 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 00345 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 0034b eb 19 jmp SHORT $LN27@send_tree -$LN26@send_tree: - 0034d 66 8b 90 c0 0a - 00 00 mov dx, WORD PTR [eax+2752] - 00354 66 d3 e2 shl dx, cl - 00357 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 0035e 03 ce add ecx, esi - 00360 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN27@send_tree: - 00366 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0036c 83 f9 0d cmp ecx, 13 ; 0000000dH - 0036f 7e 54 jle SHORT $LN28@send_tree - 00371 8b 70 08 mov esi, DWORD PTR [eax+8] - 00374 8d 7b fd lea edi, DWORD PTR [ebx-3] - 00377 66 8b d7 mov dx, di - 0037a 66 d3 e2 shl dx, cl - 0037d 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00384 8b 50 14 mov edx, DWORD PTR [eax+20] - 00387 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 0038e 88 0c 16 mov BYTE PTR [esi+edx], cl - 00391 ff 40 14 inc DWORD PTR [eax+20] - 00394 8b 70 14 mov esi, DWORD PTR [eax+20] - 00397 8b 50 08 mov edx, DWORD PTR [eax+8] - 0039a 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 003a1 88 0c 16 mov BYTE PTR [esi+edx], cl - 003a4 b1 10 mov cl, 16 ; 00000010H - 003a6 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 003ac ff 40 14 inc DWORD PTR [eax+20] - 003af 66 d3 ef shr di, cl - 003b2 83 80 bc 16 00 - 00 f3 add DWORD PTR [eax+5820], -13 ; fffffff3H - 003b9 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 003c0 e9 0a 01 00 00 jmp $LN33@send_tree -$LN28@send_tree: - 003c5 8d 53 fd lea edx, DWORD PTR [ebx-3] - 003c8 66 d3 e2 shl dx, cl - 003cb 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 003d2 83 c1 03 add ecx, 3 - -; 782 : -; 783 : } else { - - 003d5 e9 ef 00 00 00 jmp $LN46@send_tree -$LN24@send_tree: - -; 784 : send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7); - - 003da 0f b7 b0 c6 0a - 00 00 movzx esi, WORD PTR [eax+2758] - 003e1 2b d6 sub edx, esi - 003e3 89 75 e4 mov DWORD PTR _len$1$[ebp], esi - 003e6 3b ca cmp ecx, edx - 003e8 7e 5a jle SHORT $LN30@send_tree - 003ea 0f b7 b8 c4 0a - 00 00 movzx edi, WORD PTR [eax+2756] - 003f1 8b 70 08 mov esi, DWORD PTR [eax+8] - 003f4 66 8b d7 mov dx, di - 003f7 66 d3 e2 shl dx, cl - 003fa 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00401 8b 50 14 mov edx, DWORD PTR [eax+20] - 00404 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 0040b 88 0c 16 mov BYTE PTR [esi+edx], cl - 0040e ff 40 14 inc DWORD PTR [eax+20] - 00411 8b 70 14 mov esi, DWORD PTR [eax+20] - 00414 8b 50 08 mov edx, DWORD PTR [eax+8] - 00417 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 0041e 88 0c 16 mov BYTE PTR [esi+edx], cl - 00421 b1 10 mov cl, 16 ; 00000010H - 00423 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 00429 ff 40 14 inc DWORD PTR [eax+20] - 0042c 66 d3 ef shr di, cl - 0042f 8b 4d e4 mov ecx, DWORD PTR _len$1$[ebp] - 00432 83 c1 f0 add ecx, -16 ; fffffff0H - 00435 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 0043c 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 00442 eb 19 jmp SHORT $LN31@send_tree -$LN30@send_tree: - 00444 66 8b 90 c4 0a - 00 00 mov dx, WORD PTR [eax+2756] - 0044b 66 d3 e2 shl dx, cl - 0044e 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00455 03 ce add ecx, esi - 00457 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN31@send_tree: - 0045d 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 00463 83 f9 09 cmp ecx, 9 - 00466 7e 51 jle SHORT $LN32@send_tree - 00468 8b 70 08 mov esi, DWORD PTR [eax+8] - 0046b 8d 7b f5 lea edi, DWORD PTR [ebx-11] - 0046e 66 8b d7 mov dx, di - 00471 66 d3 e2 shl dx, cl - 00474 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 0047b 8b 50 14 mov edx, DWORD PTR [eax+20] - 0047e 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 00485 88 0c 16 mov BYTE PTR [esi+edx], cl - 00488 ff 40 14 inc DWORD PTR [eax+20] - 0048b 8b 70 14 mov esi, DWORD PTR [eax+20] - 0048e 8b 50 08 mov edx, DWORD PTR [eax+8] - 00491 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 00498 88 0c 16 mov BYTE PTR [esi+edx], cl - 0049b b1 10 mov cl, 16 ; 00000010H - 0049d 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 004a3 ff 40 14 inc DWORD PTR [eax+20] - 004a6 66 d3 ef shr di, cl - 004a9 83 80 bc 16 00 - 00 f7 add DWORD PTR [eax+5820], -9 ; fffffff7H - 004b0 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 004b7 eb 16 jmp SHORT $LN33@send_tree -$LN32@send_tree: - 004b9 8d 53 f5 lea edx, DWORD PTR [ebx-11] - 004bc 66 d3 e2 shl dx, cl - 004bf 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 004c6 83 c1 07 add ecx, 7 -$LN46@send_tree: - 004c9 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN33@send_tree: - -; 785 : } -; 786 : count = 0; prevlen = curlen; -; 787 : if (nextlen == 0) { - - 004cf 8b 75 08 mov esi, DWORD PTR _nextlen$1$[ebp] - 004d2 33 db xor ebx, ebx - 004d4 8b 4d f4 mov ecx, DWORD PTR _curlen$1$[ebp] - 004d7 8b d1 mov edx, ecx - 004d9 85 f6 test esi, esi - 004db 75 0a jne SHORT $LN34@send_tree - -; 788 : max_count = 138, min_count = 3; - - 004dd bf 8a 00 00 00 mov edi, 138 ; 0000008aH - 004e2 8d 73 03 lea esi, DWORD PTR [ebx+3] - 004e5 eb 16 jmp SHORT $LN2@send_tree -$LN34@send_tree: - -; 789 : } else if (curlen == nextlen) { - - 004e7 3b ce cmp ecx, esi - 004e9 75 0a jne SHORT $LN36@send_tree - -; 790 : max_count = 6, min_count = 3; - - 004eb bf 06 00 00 00 mov edi, 6 - 004f0 8d 77 fd lea esi, DWORD PTR [edi-3] - -; 791 : } else { - - 004f3 eb 08 jmp SHORT $LN2@send_tree -$LN36@send_tree: - -; 792 : max_count = 7, min_count = 4; - - 004f5 bf 07 00 00 00 mov edi, 7 - 004fa 8d 77 fd lea esi, DWORD PTR [edi-3] -$LN2@send_tree: - -; 765 : -; 766 : for (n = 0; n <= max_code; n++) { - - 004fd 83 45 fc 04 add DWORD PTR tv1032[ebp], 4 - 00501 83 6d f0 01 sub DWORD PTR tv1078[ebp], 1 - 00505 8b 4d 08 mov ecx, DWORD PTR _nextlen$1$[ebp] - 00508 0f 85 37 fb ff - ff jne $LL4@send_tree -$LN3@send_tree: - 0050e 5f pop edi - 0050f 5e pop esi - 00510 5b pop ebx - -; 793 : } -; 794 : } -; 795 : } - - 00511 8b e5 mov esp, ebp - 00513 5d pop ebp - 00514 c3 ret 0 -_send_tree ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _build_bl_tree -_TEXT SEGMENT -_build_bl_tree PROC ; COMDAT -; _s$ = ecx - -; 803 : { - - 00000 56 push esi - 00001 8b f1 mov esi, ecx - -; 804 : int max_blindex; /* index of last bit length code of non zero freq */ -; 805 : -; 806 : /* Determine the bit length frequencies for literal and distance trees */ -; 807 : scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code); - - 00003 ff b6 1c 0b 00 - 00 push DWORD PTR [esi+2844] - 00009 8d 96 94 00 00 - 00 lea edx, DWORD PTR [esi+148] - 0000f e8 00 00 00 00 call _scan_tree - -; 808 : scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code); - - 00014 ff b6 28 0b 00 - 00 push DWORD PTR [esi+2856] - 0001a 8d 96 88 09 00 - 00 lea edx, DWORD PTR [esi+2440] - 00020 8b ce mov ecx, esi - 00022 e8 00 00 00 00 call _scan_tree - 00027 83 c4 08 add esp, 8 - -; 809 : -; 810 : /* Build the bit length tree: */ -; 811 : build_tree(s, (tree_desc *)(&(s->bl_desc))); - - 0002a 8d 96 30 0b 00 - 00 lea edx, DWORD PTR [esi+2864] - 00030 8b ce mov ecx, esi - 00032 e8 00 00 00 00 call _build_tree - -; 812 : /* opt_len now includes the length of the tree representations, except -; 813 : * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. -; 814 : */ -; 815 : -; 816 : /* Determine the number of bit length codes to send. The pkzip format -; 817 : * requires that at least 4 bit length codes be sent. (appnote.txt says -; 818 : * 3 but the actual value used is 4.) -; 819 : */ -; 820 : for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) { - - 00037 b8 12 00 00 00 mov eax, 18 ; 00000012H - 0003c 0f 1f 40 00 npad 4 -$LL4@build_bl_t: - -; 821 : if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; - - 00040 0f b6 88 00 00 - 00 00 movzx ecx, BYTE PTR _bl_order[eax] - 00047 66 83 bc 8e 7e - 0a 00 00 00 cmp WORD PTR [esi+ecx*4+2686], 0 - 00050 75 78 jne SHORT $LN8@build_bl_t - 00052 0f b6 88 ff ff - ff ff movzx ecx, BYTE PTR _bl_order[eax-1] - 00059 66 83 bc 8e 7e - 0a 00 00 00 cmp WORD PTR [esi+ecx*4+2686], 0 - 00062 75 65 jne SHORT $LN11@build_bl_t - 00064 0f b6 88 fe ff - ff ff movzx ecx, BYTE PTR _bl_order[eax-2] - 0006b 66 83 bc 8e 7e - 0a 00 00 00 cmp WORD PTR [esi+ecx*4+2686], 0 - 00074 75 3f jne SHORT $LN12@build_bl_t - 00076 0f b6 88 fd ff - ff ff movzx ecx, BYTE PTR _bl_order[eax-3] - 0007d 66 83 bc 8e 7e - 0a 00 00 00 cmp WORD PTR [esi+ecx*4+2686], 0 - 00086 75 19 jne SHORT $LN13@build_bl_t - -; 812 : /* opt_len now includes the length of the tree representations, except -; 813 : * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. -; 814 : */ -; 815 : -; 816 : /* Determine the number of bit length codes to send. The pkzip format -; 817 : * requires that at least 4 bit length codes be sent. (appnote.txt says -; 818 : * 3 but the actual value used is 4.) -; 819 : */ -; 820 : for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) { - - 00088 83 e8 04 sub eax, 4 - 0008b 83 f8 03 cmp eax, 3 - 0008e 7d b0 jge SHORT $LL4@build_bl_t - -; 822 : } -; 823 : /* Update opt_len to include the bit length tree and counts */ -; 824 : s->opt_len += 3*(max_blindex+1) + 5+5+4; - - 00090 8d 0c 45 11 00 - 00 00 lea ecx, DWORD PTR [eax*2+17] - 00097 03 c8 add ecx, eax - 00099 01 8e a8 16 00 - 00 add DWORD PTR [esi+5800], ecx - 0009f 5e pop esi - -; 825 : Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", -; 826 : s->opt_len, s->static_len)); -; 827 : -; 828 : return max_blindex; -; 829 : } - - 000a0 c3 ret 0 -$LN13@build_bl_t: - -; 821 : if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; - - 000a1 83 e8 03 sub eax, 3 - -; 822 : } -; 823 : /* Update opt_len to include the bit length tree and counts */ -; 824 : s->opt_len += 3*(max_blindex+1) + 5+5+4; - - 000a4 8d 0c 45 11 00 - 00 00 lea ecx, DWORD PTR [eax*2+17] - 000ab 03 c8 add ecx, eax - 000ad 01 8e a8 16 00 - 00 add DWORD PTR [esi+5800], ecx - 000b3 5e pop esi - -; 825 : Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", -; 826 : s->opt_len, s->static_len)); -; 827 : -; 828 : return max_blindex; -; 829 : } - - 000b4 c3 ret 0 -$LN12@build_bl_t: - -; 821 : if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; - - 000b5 83 e8 02 sub eax, 2 - -; 822 : } -; 823 : /* Update opt_len to include the bit length tree and counts */ -; 824 : s->opt_len += 3*(max_blindex+1) + 5+5+4; - - 000b8 8d 0c 45 11 00 - 00 00 lea ecx, DWORD PTR [eax*2+17] - 000bf 03 c8 add ecx, eax - 000c1 01 8e a8 16 00 - 00 add DWORD PTR [esi+5800], ecx - 000c7 5e pop esi - -; 825 : Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", -; 826 : s->opt_len, s->static_len)); -; 827 : -; 828 : return max_blindex; -; 829 : } - - 000c8 c3 ret 0 -$LN11@build_bl_t: - -; 821 : if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; - - 000c9 48 dec eax -$LN8@build_bl_t: - -; 822 : } -; 823 : /* Update opt_len to include the bit length tree and counts */ -; 824 : s->opt_len += 3*(max_blindex+1) + 5+5+4; - - 000ca 8d 0c 45 11 00 - 00 00 lea ecx, DWORD PTR [eax*2+17] - 000d1 03 c8 add ecx, eax - 000d3 01 8e a8 16 00 - 00 add DWORD PTR [esi+5800], ecx - 000d9 5e pop esi - -; 825 : Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", -; 826 : s->opt_len, s->static_len)); -; 827 : -; 828 : return max_blindex; -; 829 : } - - 000da c3 ret 0 -_build_bl_tree ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _send_all_trees -_TEXT SEGMENT -_lcodes$1$ = -4 ; size = 4 -_dcodes$ = 8 ; size = 4 -_blcodes$ = 12 ; size = 4 -_send_all_trees PROC ; COMDAT -; _s$ = ecx -; _lcodes$ = edx - -; 839 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 8b f1 mov esi, ecx - 00008 8b c2 mov eax, edx - 0000a 57 push edi - 0000b 89 45 fc mov DWORD PTR _lcodes$1$[ebp], eax - -; 840 : int rank; /* index in bl_order */ -; 841 : -; 842 : Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); -; 843 : Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, -; 844 : "too many codes"); -; 845 : Tracev((stderr, "\nbl counts: ")); -; 846 : send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */ - - 0000e 8b 8e bc 16 00 - 00 mov ecx, DWORD PTR [esi+5820] - 00014 83 f9 0b cmp ecx, 11 ; 0000000bH - 00017 7e 54 jle SHORT $LN5@send_all_t - 00019 8b 56 14 mov edx, DWORD PTR [esi+20] - 0001c 8d b8 ff fe ff - ff lea edi, DWORD PTR [eax-257] - 00022 66 8b c7 mov ax, di - 00025 66 d3 e0 shl ax, cl - 00028 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 0002f 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00032 0f b6 86 b8 16 - 00 00 movzx eax, BYTE PTR [esi+5816] - 00039 88 04 0a mov BYTE PTR [edx+ecx], al - 0003c ff 46 14 inc DWORD PTR [esi+20] - 0003f 8b 56 14 mov edx, DWORD PTR [esi+20] - 00042 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00045 0f b6 86 b9 16 - 00 00 movzx eax, BYTE PTR [esi+5817] - 0004c 88 04 0a mov BYTE PTR [edx+ecx], al - 0004f b1 10 mov cl, 16 ; 00000010H - 00051 2a 8e bc 16 00 - 00 sub cl, BYTE PTR [esi+5820] - 00057 ff 46 14 inc DWORD PTR [esi+20] - 0005a 66 d3 ef shr di, cl - 0005d 83 86 bc 16 00 - 00 f5 add DWORD PTR [esi+5820], -11 ; fffffff5H - 00064 66 89 be b8 16 - 00 00 mov WORD PTR [esi+5816], di - 0006b eb 18 jmp SHORT $LN6@send_all_t -$LN5@send_all_t: - 0006d 05 ff fe ff ff add eax, -257 ; fffffeffH - 00072 66 d3 e0 shl ax, cl - 00075 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 0007c 8d 41 05 lea eax, DWORD PTR [ecx+5] - 0007f 89 86 bc 16 00 - 00 mov DWORD PTR [esi+5820], eax -$LN6@send_all_t: - -; 847 : send_bits(s, dcodes-1, 5); - - 00085 8b 8e bc 16 00 - 00 mov ecx, DWORD PTR [esi+5820] - 0008b 83 f9 0b cmp ecx, 11 ; 0000000bH - 0008e 7e 52 jle SHORT $LN7@send_all_t - 00090 8b 7d 08 mov edi, DWORD PTR _dcodes$[ebp] - 00093 8b 56 14 mov edx, DWORD PTR [esi+20] - 00096 4f dec edi - 00097 66 8b c7 mov ax, di - 0009a 66 d3 e0 shl ax, cl - 0009d 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 000a4 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 000a7 0f b6 86 b8 16 - 00 00 movzx eax, BYTE PTR [esi+5816] - 000ae 88 04 0a mov BYTE PTR [edx+ecx], al - 000b1 ff 46 14 inc DWORD PTR [esi+20] - 000b4 8b 56 14 mov edx, DWORD PTR [esi+20] - 000b7 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 000ba 0f b6 86 b9 16 - 00 00 movzx eax, BYTE PTR [esi+5817] - 000c1 88 04 0a mov BYTE PTR [edx+ecx], al - 000c4 b1 10 mov cl, 16 ; 00000010H - 000c6 2a 8e bc 16 00 - 00 sub cl, BYTE PTR [esi+5820] - 000cc ff 46 14 inc DWORD PTR [esi+20] - 000cf 66 d3 ef shr di, cl - 000d2 83 86 bc 16 00 - 00 f5 add DWORD PTR [esi+5820], -11 ; fffffff5H - 000d9 66 89 be b8 16 - 00 00 mov WORD PTR [esi+5816], di - 000e0 eb 17 jmp SHORT $LN8@send_all_t -$LN7@send_all_t: - 000e2 8b 45 08 mov eax, DWORD PTR _dcodes$[ebp] - 000e5 48 dec eax - 000e6 66 d3 e0 shl ax, cl - 000e9 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 000f0 8d 41 05 lea eax, DWORD PTR [ecx+5] - 000f3 89 86 bc 16 00 - 00 mov DWORD PTR [esi+5820], eax -$LN8@send_all_t: - -; 848 : send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */ - - 000f9 8b 8e bc 16 00 - 00 mov ecx, DWORD PTR [esi+5820] - 000ff 83 f9 0c cmp ecx, 12 ; 0000000cH - 00102 7e 54 jle SHORT $LN9@send_all_t - 00104 8b 7d 0c mov edi, DWORD PTR _blcodes$[ebp] - 00107 8b 56 14 mov edx, DWORD PTR [esi+20] - 0010a 83 c7 fc add edi, -4 ; fffffffcH - 0010d 66 8b c7 mov ax, di - 00110 66 d3 e0 shl ax, cl - 00113 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 0011a 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 0011d 0f b6 86 b8 16 - 00 00 movzx eax, BYTE PTR [esi+5816] - 00124 88 04 0a mov BYTE PTR [edx+ecx], al - 00127 ff 46 14 inc DWORD PTR [esi+20] - 0012a 8b 56 14 mov edx, DWORD PTR [esi+20] - 0012d 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00130 0f b6 86 b9 16 - 00 00 movzx eax, BYTE PTR [esi+5817] - 00137 88 04 0a mov BYTE PTR [edx+ecx], al - 0013a b1 10 mov cl, 16 ; 00000010H - 0013c 2a 8e bc 16 00 - 00 sub cl, BYTE PTR [esi+5820] - 00142 ff 46 14 inc DWORD PTR [esi+20] - 00145 66 d3 ef shr di, cl - 00148 83 86 bc 16 00 - 00 f4 add DWORD PTR [esi+5820], -12 ; fffffff4H - 0014f 66 89 be b8 16 - 00 00 mov WORD PTR [esi+5816], di - 00156 eb 19 jmp SHORT $LN10@send_all_t -$LN9@send_all_t: - 00158 8b 45 0c mov eax, DWORD PTR _blcodes$[ebp] - 0015b 83 c0 fc add eax, -4 ; fffffffcH - 0015e 66 d3 e0 shl ax, cl - 00161 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 00168 8d 41 04 lea eax, DWORD PTR [ecx+4] - 0016b 89 86 bc 16 00 - 00 mov DWORD PTR [esi+5820], eax -$LN10@send_all_t: - -; 849 : for (rank = 0; rank < blcodes; rank++) { - - 00171 33 db xor ebx, ebx - 00173 39 5d 0c cmp DWORD PTR _blcodes$[ebp], ebx - 00176 0f 8e 91 00 00 - 00 jle $LN3@send_all_t - 0017c 0f 1f 40 00 npad 4 -$LL4@send_all_t: - -; 850 : Tracev((stderr, "\nbl code %2d ", bl_order[rank])); -; 851 : send_bits(s, s->bl_tree[bl_order[rank]].Len, 3); - - 00180 8b 8e bc 16 00 - 00 mov ecx, DWORD PTR [esi+5820] - 00186 0f b6 83 00 00 - 00 00 movzx eax, BYTE PTR _bl_order[ebx] - 0018d 83 f9 0d cmp ecx, 13 ; 0000000dH - 00190 7e 56 jle SHORT $LN11@send_all_t - 00192 0f b7 bc 86 7e - 0a 00 00 movzx edi, WORD PTR [esi+eax*4+2686] - 0019a 8b 56 14 mov edx, DWORD PTR [esi+20] - 0019d 66 8b c7 mov ax, di - 001a0 66 d3 e0 shl ax, cl - 001a3 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 001aa 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 001ad 0f b6 86 b8 16 - 00 00 movzx eax, BYTE PTR [esi+5816] - 001b4 88 04 0a mov BYTE PTR [edx+ecx], al - 001b7 ff 46 14 inc DWORD PTR [esi+20] - 001ba 8b 56 14 mov edx, DWORD PTR [esi+20] - 001bd 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 001c0 0f b6 86 b9 16 - 00 00 movzx eax, BYTE PTR [esi+5817] - 001c7 88 04 0a mov BYTE PTR [edx+ecx], al - 001ca b1 10 mov cl, 16 ; 00000010H - 001cc 2a 8e bc 16 00 - 00 sub cl, BYTE PTR [esi+5820] - 001d2 ff 46 14 inc DWORD PTR [esi+20] - 001d5 66 d3 ef shr di, cl - 001d8 83 86 bc 16 00 - 00 f3 add DWORD PTR [esi+5820], -13 ; fffffff3H - 001df 66 89 be b8 16 - 00 00 mov WORD PTR [esi+5816], di - 001e6 eb 1b jmp SHORT $LN2@send_all_t -$LN11@send_all_t: - 001e8 66 8b 84 86 7e - 0a 00 00 mov ax, WORD PTR [esi+eax*4+2686] - 001f0 66 d3 e0 shl ax, cl - 001f3 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 001fa 8d 41 03 lea eax, DWORD PTR [ecx+3] - 001fd 89 86 bc 16 00 - 00 mov DWORD PTR [esi+5820], eax -$LN2@send_all_t: - -; 849 : for (rank = 0; rank < blcodes; rank++) { - - 00203 43 inc ebx - 00204 3b 5d 0c cmp ebx, DWORD PTR _blcodes$[ebp] - 00207 0f 8c 73 ff ff - ff jl $LL4@send_all_t -$LN3@send_all_t: - -; 852 : } -; 853 : Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent)); -; 854 : -; 855 : send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */ - - 0020d 8b 45 fc mov eax, DWORD PTR _lcodes$1$[ebp] - 00210 8d 96 94 00 00 - 00 lea edx, DWORD PTR [esi+148] - 00216 48 dec eax - 00217 8b ce mov ecx, esi - 00219 50 push eax - 0021a e8 00 00 00 00 call _send_tree - -; 856 : Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent)); -; 857 : -; 858 : send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */ - - 0021f 8b 45 08 mov eax, DWORD PTR _dcodes$[ebp] - 00222 8d 96 88 09 00 - 00 lea edx, DWORD PTR [esi+2440] - 00228 48 dec eax - 00229 8b ce mov ecx, esi - 0022b 50 push eax - 0022c e8 00 00 00 00 call _send_tree - 00231 83 c4 08 add esp, 8 - 00234 5f pop edi - 00235 5e pop esi - 00236 5b pop ebx - -; 859 : Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent)); -; 860 : } - - 00237 8b e5 mov esp, ebp - 00239 5d pop ebp - 0023a c3 ret 0 -_send_all_trees ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _compress_block -_TEXT SEGMENT -_len$1$ = -20 ; size = 4 -_lx$1$ = -20 ; size = 4 -_extra$1$ = -16 ; size = 4 -_lc$1$ = -16 ; size = 4 -_len$1$ = -12 ; size = 4 -_code$1$ = -12 ; size = 4 -_len$1$ = -8 ; size = 4 -_code$2$ = -8 ; size = 4 -_ltree$1$ = -4 ; size = 4 -_dtree$ = 8 ; size = 4 -_compress_block PROC ; COMDAT -; _s$ = ecx -; _ltree$ = edx - -; 1064 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 14 sub esp, 20 ; 00000014H - 00006 53 push ebx - 00007 8b da mov ebx, edx - 00009 8b c1 mov eax, ecx - -; 1065 : unsigned dist; /* distance of matched string */ -; 1066 : int lc; /* match length or unmatched char (if dist == 0) */ -; 1067 : unsigned lx = 0; /* running index in l_buf */ - - 0000b 33 d2 xor edx, edx - 0000d 89 5d fc mov DWORD PTR _ltree$1$[ebp], ebx - 00010 56 push esi - 00011 57 push edi - -; 1068 : unsigned code; /* the code to send */ -; 1069 : int extra; /* number of extra bits to send */ -; 1070 : -; 1071 : if (s->last_lit != 0) do { - - 00012 8d 72 10 lea esi, DWORD PTR [edx+16] - 00015 39 90 a0 16 00 - 00 cmp DWORD PTR [eax+5792], edx - 0001b 0f 84 3d 03 00 - 00 je $LN3@compress_b - 00021 0f 1f 40 00 66 - 66 66 0f 1f 84 - 00 00 00 00 00 npad 15 -$LL4@compress_b: - -; 1072 : dist = s->d_buf[lx]; - - 00030 8b 88 a4 16 00 - 00 mov ecx, DWORD PTR [eax+5796] - 00036 0f b7 1c 51 movzx ebx, WORD PTR [ecx+edx*2] - -; 1073 : lc = s->l_buf[lx++]; - - 0003a 8b 88 98 16 00 - 00 mov ecx, DWORD PTR [eax+5784] - 00040 0f b6 3c 0a movzx edi, BYTE PTR [edx+ecx] - 00044 42 inc edx - 00045 89 7d f0 mov DWORD PTR _lc$1$[ebp], edi - 00048 89 55 ec mov DWORD PTR _lx$1$[ebp], edx - -; 1074 : if (dist == 0) { - - 0004b 85 db test ebx, ebx - 0004d 0f 85 88 00 00 - 00 jne $LN6@compress_b - -; 1075 : send_code(s, lc, ltree); /* send a literal byte */ - - 00053 8b 4d fc mov ecx, DWORD PTR _ltree$1$[ebp] - 00056 8b d6 mov edx, esi - 00058 0f b7 5c b9 02 movzx ebx, WORD PTR [ecx+edi*4+2] - 0005d 8d 3c b9 lea edi, DWORD PTR [ecx+edi*4] - 00060 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 00066 2b d3 sub edx, ebx - 00068 3b ca cmp ecx, edx - 0006a 7e 5b jle SHORT $LN8@compress_b - 0006c 0f b7 3f movzx edi, WORD PTR [edi] - 0006f 8b 70 08 mov esi, DWORD PTR [eax+8] - 00072 66 8b d7 mov dx, di - 00075 66 d3 e2 shl dx, cl - 00078 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 0007f 8b 50 14 mov edx, DWORD PTR [eax+20] - 00082 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 00089 88 0c 16 mov BYTE PTR [esi+edx], cl - 0008c ff 40 14 inc DWORD PTR [eax+20] - 0008f 8b 70 14 mov esi, DWORD PTR [eax+20] - 00092 8b 50 08 mov edx, DWORD PTR [eax+8] - 00095 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 0009c 88 0c 16 mov BYTE PTR [esi+edx], cl - 0009f b1 10 mov cl, 16 ; 00000010H - 000a1 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 000a7 be 10 00 00 00 mov esi, 16 ; 00000010H - 000ac ff 40 14 inc DWORD PTR [eax+20] - 000af 66 d3 ef shr di, cl - 000b2 8d 4b f0 lea ecx, DWORD PTR [ebx-16] - 000b5 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 000bb 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 000c2 e9 85 02 00 00 jmp $LN2@compress_b -$LN8@compress_b: - 000c7 66 8b 17 mov dx, WORD PTR [edi] - 000ca 66 d3 e2 shl dx, cl - 000cd 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 000d4 03 cb add ecx, ebx - -; 1076 : Tracecv(isgraph(lc), (stderr," '%c' ", lc)); -; 1077 : } else { - - 000d6 e9 6b 02 00 00 jmp $LN28@compress_b -$LN6@compress_b: - -; 1078 : /* Here, lc is the match length - MIN_MATCH */ -; 1079 : code = _length_code[lc]; - - 000db 0f b6 8f 00 00 - 00 00 movzx ecx, BYTE PTR __length_code[edi] - -; 1080 : send_code(s, code+LITERALS+1, ltree); /* send the length code */ - - 000e2 8b 55 fc mov edx, DWORD PTR _ltree$1$[ebp] - 000e5 89 4d f4 mov DWORD PTR _code$1$[ebp], ecx - 000e8 0f b7 8c 8a 06 - 04 00 00 movzx ecx, WORD PTR [edx+ecx*4+1030] - 000f0 8b d6 mov edx, esi - 000f2 8b 75 fc mov esi, DWORD PTR _ltree$1$[ebp] - 000f5 89 4d f8 mov DWORD PTR _len$1$[ebp], ecx - 000f8 2b 55 f8 sub edx, DWORD PTR _len$1$[ebp] - 000fb 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 00101 3b ca cmp ecx, edx - 00103 8b 55 f4 mov edx, DWORD PTR _code$1$[ebp] - 00106 7e 5e jle SHORT $LN10@compress_b - 00108 0f b7 bc 96 04 - 04 00 00 movzx edi, WORD PTR [esi+edx*4+1028] - 00110 8b 70 08 mov esi, DWORD PTR [eax+8] - 00113 66 8b d7 mov dx, di - 00116 66 d3 e2 shl dx, cl - 00119 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00120 8b 50 14 mov edx, DWORD PTR [eax+20] - 00123 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 0012a 88 0c 16 mov BYTE PTR [esi+edx], cl - 0012d ff 40 14 inc DWORD PTR [eax+20] - 00130 8b 70 14 mov esi, DWORD PTR [eax+20] - 00133 8b 50 08 mov edx, DWORD PTR [eax+8] - 00136 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 0013d 88 0c 16 mov BYTE PTR [esi+edx], cl - 00140 b1 10 mov cl, 16 ; 00000010H - 00142 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 00148 ff 40 14 inc DWORD PTR [eax+20] - 0014b 66 d3 ef shr di, cl - 0014e 8b 4d f8 mov ecx, DWORD PTR _len$1$[ebp] - 00151 83 c1 f0 add ecx, -16 ; fffffff0H - 00154 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 0015b 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 00161 8b 7d f0 mov edi, DWORD PTR _lc$1$[ebp] - 00164 eb 1b jmp SHORT $LN11@compress_b -$LN10@compress_b: - 00166 66 8b 94 96 04 - 04 00 00 mov dx, WORD PTR [esi+edx*4+1028] - 0016e 66 d3 e2 shl dx, cl - 00171 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00178 03 4d f8 add ecx, DWORD PTR _len$1$[ebp] - 0017b 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN11@compress_b: - -; 1081 : extra = extra_lbits[code]; - - 00181 8b 4d f4 mov ecx, DWORD PTR _code$1$[ebp] - 00184 8b 34 8d 00 00 - 00 00 mov esi, DWORD PTR _extra_lbits[ecx*4] - 0018b 89 75 f0 mov DWORD PTR _extra$1$[ebp], esi - -; 1082 : if (extra != 0) { - - 0018e 85 f6 test esi, esi - 00190 74 7d je SHORT $LN14@compress_b - -; 1083 : lc -= base_length[code]; - - 00192 2b 3c 8d 00 00 - 00 00 sub edi, DWORD PTR _base_length[ecx*4] - -; 1084 : send_bits(s, lc, extra); /* send the extra length bits */ - - 00199 ba 10 00 00 00 mov edx, 16 ; 00000010H - 0019e 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 001a4 2b d6 sub edx, esi - 001a6 3b ca cmp ecx, edx - 001a8 7e 53 jle SHORT $LN13@compress_b - 001aa 8b 70 08 mov esi, DWORD PTR [eax+8] - 001ad 66 8b d7 mov dx, di - 001b0 66 d3 e2 shl dx, cl - 001b3 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 001ba 8b 50 14 mov edx, DWORD PTR [eax+20] - 001bd 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 001c4 88 0c 16 mov BYTE PTR [esi+edx], cl - 001c7 ff 40 14 inc DWORD PTR [eax+20] - 001ca 8b 70 14 mov esi, DWORD PTR [eax+20] - 001cd 8b 50 08 mov edx, DWORD PTR [eax+8] - 001d0 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 001d7 88 0c 16 mov BYTE PTR [esi+edx], cl - 001da b1 10 mov cl, 16 ; 00000010H - 001dc 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 001e2 ff 40 14 inc DWORD PTR [eax+20] - 001e5 66 d3 ef shr di, cl - 001e8 8b 4d f0 mov ecx, DWORD PTR _extra$1$[ebp] - 001eb 83 c1 f0 add ecx, -16 ; fffffff0H - 001ee 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 001f5 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 001fb eb 12 jmp SHORT $LN14@compress_b -$LN13@compress_b: - 001fd 66 d3 e7 shl di, cl - 00200 66 09 b8 b8 16 - 00 00 or WORD PTR [eax+5816], di - 00207 03 ce add ecx, esi - 00209 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN14@compress_b: - -; 1085 : } -; 1086 : dist--; /* dist is now the match distance - 1 */ - - 0020f 4b dec ebx - -; 1087 : code = d_code(dist); - - 00210 81 fb 00 01 00 - 00 cmp ebx, 256 ; 00000100H - 00216 73 09 jae SHORT $LN23@compress_b - 00218 0f b6 8b 00 00 - 00 00 movzx ecx, BYTE PTR __dist_code[ebx] - 0021f eb 0c jmp SHORT $LN29@compress_b -$LN23@compress_b: - 00221 8b cb mov ecx, ebx - 00223 c1 e9 07 shr ecx, 7 - 00226 0f b6 89 00 01 - 00 00 movzx ecx, BYTE PTR __dist_code[ecx+256] -$LN29@compress_b: - -; 1088 : Assert (code < D_CODES, "bad d_code"); -; 1089 : -; 1090 : send_code(s, code, dtree); /* send the distance code */ - - 0022d 8b 55 08 mov edx, DWORD PTR _dtree$[ebp] - 00230 be 10 00 00 00 mov esi, 16 ; 00000010H - 00235 89 4d f8 mov DWORD PTR _code$2$[ebp], ecx - 00238 8d 3c 8a lea edi, DWORD PTR [edx+ecx*4] - 0023b 8b d6 mov edx, esi - 0023d 0f b7 4f 02 movzx ecx, WORD PTR [edi+2] - 00241 89 4d f4 mov DWORD PTR _len$1$[ebp], ecx - 00244 2b 55 f4 sub edx, DWORD PTR _len$1$[ebp] - 00247 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0024d 3b ca cmp ecx, edx - 0024f 7e 5b jle SHORT $LN15@compress_b - 00251 0f b7 3f movzx edi, WORD PTR [edi] - 00254 8b 70 08 mov esi, DWORD PTR [eax+8] - 00257 66 8b d7 mov dx, di - 0025a 66 d3 e2 shl dx, cl - 0025d 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00264 8b 50 14 mov edx, DWORD PTR [eax+20] - 00267 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 0026e 88 0c 16 mov BYTE PTR [esi+edx], cl - 00271 ff 40 14 inc DWORD PTR [eax+20] - 00274 8b 70 14 mov esi, DWORD PTR [eax+20] - 00277 8b 50 08 mov edx, DWORD PTR [eax+8] - 0027a 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 00281 88 0c 16 mov BYTE PTR [esi+edx], cl - 00284 b1 10 mov cl, 16 ; 00000010H - 00286 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 0028c be 10 00 00 00 mov esi, 16 ; 00000010H - 00291 ff 40 14 inc DWORD PTR [eax+20] - 00294 66 d3 ef shr di, cl - 00297 8b 4d f4 mov ecx, DWORD PTR _len$1$[ebp] - 0029a 83 c1 f0 add ecx, -16 ; fffffff0H - 0029d 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 002a4 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 002aa eb 16 jmp SHORT $LN16@compress_b -$LN15@compress_b: - 002ac 66 8b 17 mov dx, WORD PTR [edi] - 002af 66 d3 e2 shl dx, cl - 002b2 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 002b9 03 4d f4 add ecx, DWORD PTR _len$1$[ebp] - 002bc 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN16@compress_b: - -; 1091 : extra = extra_dbits[code]; - - 002c2 8b 4d f8 mov ecx, DWORD PTR _code$2$[ebp] - 002c5 8b 3c 8d 00 00 - 00 00 mov edi, DWORD PTR _extra_dbits[ecx*4] - -; 1092 : if (extra != 0) { - - 002cc 85 ff test edi, edi - 002ce 74 7c je SHORT $LN2@compress_b - -; 1093 : dist -= base_dist[code]; - - 002d0 2b 1c 8d 00 00 - 00 00 sub ebx, DWORD PTR _base_dist[ecx*4] - -; 1094 : send_bits(s, dist, extra); /* send the extra distance bits */ - - 002d7 8b d6 mov edx, esi - 002d9 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 002df 2b d7 sub edx, edi - 002e1 3b ca cmp ecx, edx - 002e3 7e 55 jle SHORT $LN18@compress_b - 002e5 8b 70 08 mov esi, DWORD PTR [eax+8] - 002e8 66 8b d3 mov dx, bx - 002eb 66 d3 e2 shl dx, cl - 002ee 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 002f5 8b 50 14 mov edx, DWORD PTR [eax+20] - 002f8 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 002ff 88 0c 16 mov BYTE PTR [esi+edx], cl - 00302 ff 40 14 inc DWORD PTR [eax+20] - 00305 8b 70 14 mov esi, DWORD PTR [eax+20] - 00308 8b 50 08 mov edx, DWORD PTR [eax+8] - 0030b 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 00312 88 0c 16 mov BYTE PTR [esi+edx], cl - 00315 b1 10 mov cl, 16 ; 00000010H - 00317 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 0031d be 10 00 00 00 mov esi, 16 ; 00000010H - 00322 ff 40 14 inc DWORD PTR [eax+20] - 00325 66 d3 eb shr bx, cl - 00328 8d 4f f0 lea ecx, DWORD PTR [edi-16] - 0032b 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 00331 66 89 98 b8 16 - 00 00 mov WORD PTR [eax+5816], bx - 00338 eb 12 jmp SHORT $LN2@compress_b -$LN18@compress_b: - 0033a 66 d3 e3 shl bx, cl - 0033d 66 09 98 b8 16 - 00 00 or WORD PTR [eax+5816], bx - 00344 03 cf add ecx, edi -$LN28@compress_b: - 00346 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN2@compress_b: - -; 1095 : } -; 1096 : } /* literal or match pair ? */ -; 1097 : -; 1098 : /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ -; 1099 : Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, -; 1100 : "pendingBuf overflow"); -; 1101 : -; 1102 : } while (lx < s->last_lit); - - 0034c 8b 55 ec mov edx, DWORD PTR _lx$1$[ebp] - 0034f 3b 90 a0 16 00 - 00 cmp edx, DWORD PTR [eax+5792] - 00355 0f 82 d5 fc ff - ff jb $LL4@compress_b - 0035b 8b 5d fc mov ebx, DWORD PTR _ltree$1$[ebp] -$LN3@compress_b: - -; 1103 : -; 1104 : send_code(s, END_BLOCK, ltree); - - 0035e 0f b7 bb 02 04 - 00 00 movzx edi, WORD PTR [ebx+1026] - 00365 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0036b 2b f7 sub esi, edi - 0036d 89 7d ec mov DWORD PTR _len$1$[ebp], edi - 00370 3b ce cmp ecx, esi - 00372 7e 5f jle SHORT $LN20@compress_b - 00374 0f b7 bb 00 04 - 00 00 movzx edi, WORD PTR [ebx+1024] - 0037b 8b 70 08 mov esi, DWORD PTR [eax+8] - 0037e 66 8b d7 mov dx, di - 00381 66 d3 e2 shl dx, cl - 00384 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 0038b 8b 50 14 mov edx, DWORD PTR [eax+20] - 0038e 0f b6 88 b8 16 - 00 00 movzx ecx, BYTE PTR [eax+5816] - 00395 88 0c 16 mov BYTE PTR [esi+edx], cl - 00398 ff 40 14 inc DWORD PTR [eax+20] - 0039b 8b 70 14 mov esi, DWORD PTR [eax+20] - 0039e 8b 50 08 mov edx, DWORD PTR [eax+8] - 003a1 0f b6 88 b9 16 - 00 00 movzx ecx, BYTE PTR [eax+5817] - 003a8 88 0c 16 mov BYTE PTR [esi+edx], cl - 003ab b1 10 mov cl, 16 ; 00000010H - 003ad 2a 88 bc 16 00 - 00 sub cl, BYTE PTR [eax+5820] - 003b3 ff 40 14 inc DWORD PTR [eax+20] - 003b6 66 d3 ef shr di, cl - 003b9 8b 4d ec mov ecx, DWORD PTR _len$1$[ebp] - 003bc 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 003c3 83 c1 f0 add ecx, -16 ; fffffff0H - 003c6 01 88 bc 16 00 - 00 add DWORD PTR [eax+5820], ecx - 003cc 5f pop edi - 003cd 5e pop esi - 003ce 5b pop ebx - -; 1105 : } - - 003cf 8b e5 mov esp, ebp - 003d1 5d pop ebp - 003d2 c3 ret 0 -$LN20@compress_b: - -; 1103 : -; 1104 : send_code(s, END_BLOCK, ltree); - - 003d3 66 8b 93 00 04 - 00 00 mov dx, WORD PTR [ebx+1024] - 003da 66 d3 e2 shl dx, cl - 003dd 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 003e4 03 cf add ecx, edi - 003e6 5f pop edi - 003e7 5e pop esi - 003e8 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx - 003ee 5b pop ebx - -; 1105 : } - - 003ef 8b e5 mov esp, ebp - 003f1 5d pop ebp - 003f2 c3 ret 0 -_compress_block ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _detect_data_type -_TEXT SEGMENT -_detect_data_type PROC ; COMDAT -; _s$ = ecx - -; 1122 : { - - 00000 56 push esi - 00001 57 push edi - 00002 8b f9 mov edi, ecx - -; 1123 : /* black_mask is the bit mask of black-listed bytes -; 1124 : * set bits 0..6, 14..25, and 28..31 -; 1125 : * 0xf3ffc07f = binary 11110011111111111100000001111111 -; 1126 : */ -; 1127 : unsigned long black_mask = 0xf3ffc07fUL; - - 00004 b8 7f c0 ff f3 mov eax, -201342849 ; f3ffc07fH - -; 1128 : int n; -; 1129 : -; 1130 : /* Check for non-textual ("black-listed") bytes. */ -; 1131 : for (n = 0; n <= 31; n++, black_mask >>= 1) - - 00009 33 f6 xor esi, esi - 0000b 8d 97 94 00 00 - 00 lea edx, DWORD PTR [edi+148] -$LL4@detect_dat: - -; 1132 : if ((black_mask & 1) && (s->dyn_ltree[n].Freq != 0)) - - 00011 a8 01 test al, 1 - 00013 74 06 je SHORT $LN2@detect_dat - 00015 66 83 3a 00 cmp WORD PTR [edx], 0 - 00019 75 47 jne SHORT $LN15@detect_dat -$LN2@detect_dat: - -; 1128 : int n; -; 1129 : -; 1130 : /* Check for non-textual ("black-listed") bytes. */ -; 1131 : for (n = 0; n <= 31; n++, black_mask >>= 1) - - 0001b 46 inc esi - 0001c d1 e8 shr eax, 1 - 0001e 83 c2 04 add edx, 4 - 00021 83 fe 1f cmp esi, 31 ; 0000001fH - 00024 7e eb jle SHORT $LL4@detect_dat - -; 1133 : return Z_BINARY; -; 1134 : -; 1135 : /* Check for textual ("white-listed") bytes. */ -; 1136 : if (s->dyn_ltree[9].Freq != 0 || s->dyn_ltree[10].Freq != 0 -; 1137 : || s->dyn_ltree[13].Freq != 0) - - 00026 66 83 bf b8 00 - 00 00 00 cmp WORD PTR [edi+184], 0 - 0002e 75 37 jne SHORT $LN10@detect_dat - 00030 66 83 bf bc 00 - 00 00 00 cmp WORD PTR [edi+188], 0 - 00038 75 2d jne SHORT $LN10@detect_dat - 0003a 66 83 bf c8 00 - 00 00 00 cmp WORD PTR [edi+200], 0 - 00042 75 23 jne SHORT $LN10@detect_dat - -; 1139 : for (n = 32; n < LITERALS; n++) - - 00044 b9 20 00 00 00 mov ecx, 32 ; 00000020H - 00049 8d 87 14 01 00 - 00 lea eax, DWORD PTR [edi+276] - 0004f 90 npad 1 -$LL7@detect_dat: - -; 1140 : if (s->dyn_ltree[n].Freq != 0) - - 00050 66 83 38 00 cmp WORD PTR [eax], 0 - 00054 75 11 jne SHORT $LN10@detect_dat - -; 1139 : for (n = 32; n < LITERALS; n++) - - 00056 41 inc ecx - 00057 83 c0 04 add eax, 4 - 0005a 81 f9 00 01 00 - 00 cmp ecx, 256 ; 00000100H - 00060 7c ee jl SHORT $LL7@detect_dat -$LN15@detect_dat: - 00062 5f pop edi - -; 1141 : return Z_TEXT; -; 1142 : -; 1143 : /* There are no "black-listed" or "white-listed" bytes: -; 1144 : * this stream either is empty or has tolerated ("gray-listed") bytes only. -; 1145 : */ -; 1146 : return Z_BINARY; - - 00063 33 c0 xor eax, eax - 00065 5e pop esi - -; 1147 : } - - 00066 c3 ret 0 -$LN10@detect_dat: - 00067 5f pop edi - -; 1138 : return Z_TEXT; - - 00068 b8 01 00 00 00 mov eax, 1 - 0006d 5e pop esi - -; 1147 : } - - 0006e c3 ret 0 -_detect_data_type ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _bi_reverse -_TEXT SEGMENT -_bi_reverse PROC ; COMDAT -; _code$ = ecx -; _len$ = edx - -; 1158 : register unsigned res = 0; - - 00000 33 c0 xor eax, eax - 00002 56 push esi -$LL4@bi_reverse: - -; 1159 : do { -; 1160 : res |= code & 1; - - 00003 8b f1 mov esi, ecx - -; 1161 : code >>= 1, res <<= 1; -; 1162 : } while (--len > 0); - - 00005 4a dec edx - 00006 83 e6 01 and esi, 1 - 00009 d1 e9 shr ecx, 1 - 0000b 0b c6 or eax, esi - 0000d 03 c0 add eax, eax - 0000f 85 d2 test edx, edx - 00011 7f f0 jg SHORT $LL4@bi_reverse - -; 1163 : return res >> 1; - - 00013 d1 e8 shr eax, 1 - 00015 5e pop esi - -; 1164 : } - - 00016 c3 ret 0 -_bi_reverse ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _bi_flush -_TEXT SEGMENT -_bi_flush PROC ; COMDAT -; _s$ = ecx - -; 1171 : { - - 00000 56 push esi - 00001 8b f1 mov esi, ecx - -; 1172 : if (s->bi_valid == 16) { - - 00003 8b 86 bc 16 00 - 00 mov eax, DWORD PTR [esi+5820] - 00009 83 f8 10 cmp eax, 16 ; 00000010H - 0000c 75 37 jne SHORT $LN2@bi_flush - -; 1173 : put_short(s, s->bi_buf); - - 0000e 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00011 8b 56 08 mov edx, DWORD PTR [esi+8] - 00014 0f b6 86 b8 16 - 00 00 movzx eax, BYTE PTR [esi+5816] - 0001b 88 04 0a mov BYTE PTR [edx+ecx], al - 0001e ff 46 14 inc DWORD PTR [esi+20] - 00021 8b 56 14 mov edx, DWORD PTR [esi+20] - 00024 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00027 0f b6 86 b9 16 - 00 00 movzx eax, BYTE PTR [esi+5817] - 0002e 88 04 0a mov BYTE PTR [edx+ecx], al - 00031 ff 46 14 inc DWORD PTR [esi+20] - -; 1174 : s->bi_buf = 0; - - 00034 33 c0 xor eax, eax - -; 1175 : s->bi_valid = 0; - - 00036 89 86 bc 16 00 - 00 mov DWORD PTR [esi+5820], eax - -; 1178 : s->bi_buf >>= 8; - - 0003c 66 89 86 b8 16 - 00 00 mov WORD PTR [esi+5816], ax - 00043 5e pop esi - -; 1180 : } -; 1181 : } - - 00044 c3 ret 0 -$LN2@bi_flush: - -; 1176 : } else if (s->bi_valid >= 8) { - - 00045 83 f8 08 cmp eax, 8 - 00048 7c 27 jl SHORT $LN4@bi_flush - -; 1177 : put_byte(s, (Byte)s->bi_buf); - - 0004a 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 0004d 8b 56 08 mov edx, DWORD PTR [esi+8] - 00050 8a 86 b8 16 00 - 00 mov al, BYTE PTR [esi+5816] - 00056 88 04 0a mov BYTE PTR [edx+ecx], al - -; 1178 : s->bi_buf >>= 8; - - 00059 0f b6 86 b9 16 - 00 00 movzx eax, BYTE PTR [esi+5817] - 00060 ff 46 14 inc DWORD PTR [esi+20] - -; 1179 : s->bi_valid -= 8; - - 00063 83 86 bc 16 00 - 00 f8 add DWORD PTR [esi+5820], -8 ; fffffff8H - 0006a 66 89 86 b8 16 - 00 00 mov WORD PTR [esi+5816], ax -$LN4@bi_flush: - 00071 5e pop esi - -; 1180 : } -; 1181 : } - - 00072 c3 ret 0 -_bi_flush ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _bi_windup -_TEXT SEGMENT -_bi_windup PROC ; COMDAT -; _s$ = ecx - -; 1188 : { - - 00000 56 push esi - 00001 8b f1 mov esi, ecx - -; 1189 : if (s->bi_valid > 8) { - - 00003 8b 86 bc 16 00 - 00 mov eax, DWORD PTR [esi+5820] - 00009 83 f8 08 cmp eax, 8 - 0000c 7e 22 jle SHORT $LN2@bi_windup - -; 1190 : put_short(s, s->bi_buf); - - 0000e 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00011 8b 56 08 mov edx, DWORD PTR [esi+8] - 00014 0f b6 86 b8 16 - 00 00 movzx eax, BYTE PTR [esi+5816] - 0001b 88 04 0a mov BYTE PTR [edx+ecx], al - 0001e ff 46 14 inc DWORD PTR [esi+20] - 00021 8b 56 14 mov edx, DWORD PTR [esi+20] - 00024 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00027 0f b6 86 b9 16 - 00 00 movzx eax, BYTE PTR [esi+5817] - 0002e eb 10 jmp SHORT $LN6@bi_windup -$LN2@bi_windup: - -; 1191 : } else if (s->bi_valid > 0) { - - 00030 85 c0 test eax, eax - 00032 7e 12 jle SHORT $LN4@bi_windup - -; 1192 : put_byte(s, (Byte)s->bi_buf); - - 00034 8b 56 08 mov edx, DWORD PTR [esi+8] - 00037 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 0003a 8a 86 b8 16 00 - 00 mov al, BYTE PTR [esi+5816] -$LN6@bi_windup: - 00040 88 04 0a mov BYTE PTR [edx+ecx], al - 00043 ff 46 14 inc DWORD PTR [esi+20] -$LN4@bi_windup: - -; 1193 : } -; 1194 : s->bi_buf = 0; - - 00046 33 c0 xor eax, eax - 00048 66 89 86 b8 16 - 00 00 mov WORD PTR [esi+5816], ax - -; 1195 : s->bi_valid = 0; - - 0004f 89 86 bc 16 00 - 00 mov DWORD PTR [esi+5820], eax - 00055 5e pop esi - -; 1196 : #ifdef DEBUG -; 1197 : s->bits_sent = (s->bits_sent+7) & ~7; -; 1198 : #endif -; 1199 : } - - 00056 c3 ret 0 -_bi_windup ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\trees.c -; COMDAT _copy_block -_TEXT SEGMENT -_len$ = 8 ; size = 4 -_header$dead$ = 12 ; size = 4 -_copy_block PROC ; COMDAT -; _s$ = ecx -; _buf$ = edx - -; 1210 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - 00005 57 push edi - 00006 8b fa mov edi, edx - 00008 8b f1 mov esi, ecx - -; 1211 : bi_windup(s); /* align on byte boundary */ - - 0000a e8 00 00 00 00 call _bi_windup - -; 1212 : -; 1213 : if (header) { -; 1214 : put_short(s, (ush)len); - - 0000f 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00012 8b 46 08 mov eax, DWORD PTR [esi+8] - 00015 8b 5d 08 mov ebx, DWORD PTR _len$[ebp] - 00018 88 1c 01 mov BYTE PTR [ecx+eax], bl - 0001b 8b cb mov ecx, ebx - 0001d ff 46 14 inc DWORD PTR [esi+20] - 00020 8b 56 14 mov edx, DWORD PTR [esi+20] - 00023 8b 46 08 mov eax, DWORD PTR [esi+8] - 00026 c1 e9 08 shr ecx, 8 - 00029 88 0c 02 mov BYTE PTR [edx+eax], cl - -; 1215 : put_short(s, (ush)~len); - - 0002c 8a cb mov cl, bl - 0002e ff 46 14 inc DWORD PTR [esi+20] - 00031 f6 d1 not cl - 00033 8b 56 14 mov edx, DWORD PTR [esi+20] - 00036 8b 46 08 mov eax, DWORD PTR [esi+8] - 00039 88 0c 02 mov BYTE PTR [edx+eax], cl - 0003c 8b cb mov ecx, ebx - 0003e ff 46 14 inc DWORD PTR [esi+20] - 00041 f7 d1 not ecx - 00043 8b 56 14 mov edx, DWORD PTR [esi+20] - 00046 8b 46 08 mov eax, DWORD PTR [esi+8] - 00049 c1 e9 08 shr ecx, 8 - 0004c 88 0c 02 mov BYTE PTR [edx+eax], cl - 0004f ff 46 14 inc DWORD PTR [esi+20] - 00052 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 1216 : #ifdef DEBUG -; 1217 : s->bits_sent += 2*16; -; 1218 : #endif -; 1219 : } -; 1220 : #ifdef DEBUG -; 1221 : s->bits_sent += (ulg)len<<3; -; 1222 : #endif -; 1223 : while (len--) { - - 00055 85 db test ebx, ebx - 00057 74 1e je SHORT $LN7@copy_block - 00059 0f 1f 80 00 00 - 00 00 npad 7 -$LL2@copy_block: - -; 1224 : put_byte(s, *buf++); - - 00060 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00063 8d 7f 01 lea edi, DWORD PTR [edi+1] - 00066 8a 47 ff mov al, BYTE PTR [edi-1] - 00069 88 04 0a mov BYTE PTR [edx+ecx], al - 0006c ff 46 14 inc DWORD PTR [esi+20] - 0006f 8b 56 14 mov edx, DWORD PTR [esi+20] - 00072 83 eb 01 sub ebx, 1 - 00075 75 e9 jne SHORT $LL2@copy_block -$LN7@copy_block: - 00077 5f pop edi - 00078 5e pop esi - 00079 5b pop ebx - -; 1225 : } -; 1226 : } - - 0007a 5d pop ebp - 0007b c3 ret 0 -_copy_block ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/trees.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/trees.obj deleted file mode 100644 index b23c52a020..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/trees.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/uncompr.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/uncompr.cod deleted file mode 100644 index 8f92e65124..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/uncompr.cod +++ /dev/null @@ -1,159 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\uncompr.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _uncompress@16 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\uncompr.c -; COMDAT _uncompress@16 -_TEXT SEGMENT -_stream$ = -56 ; size = 56 -_dest$ = 8 ; size = 4 -_destLen$ = 12 ; size = 4 -_source$ = 16 ; size = 4 -_sourceLen$ = 20 ; size = 4 -_uncompress@16 PROC ; COMDAT - -; 29 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 38 sub esp, 56 ; 00000038H - -; 30 : z_stream stream; -; 31 : int err; -; 32 : -; 33 : stream.next_in = (z_const Bytef *)source; - - 00009 8b 45 10 mov eax, DWORD PTR _source$[ebp] - 0000c 56 push esi - 0000d 57 push edi - -; 34 : stream.avail_in = (uInt)sourceLen; -; 35 : /* Check for source > 64K on 16-bit machine: */ -; 36 : if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; -; 37 : -; 38 : stream.next_out = dest; -; 39 : stream.avail_out = (uInt)*destLen; - - 0000e 8b 7d 0c mov edi, DWORD PTR _destLen$[ebp] - 00011 89 44 24 08 mov DWORD PTR _stream$[esp+64], eax - 00015 8b 45 14 mov eax, DWORD PTR _sourceLen$[ebp] - 00018 89 44 24 0c mov DWORD PTR _stream$[esp+68], eax - 0001c 8b 45 08 mov eax, DWORD PTR _dest$[ebp] - 0001f 89 44 24 14 mov DWORD PTR _stream$[esp+76], eax - 00023 8b 07 mov eax, DWORD PTR [edi] - -; 40 : if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; -; 41 : -; 42 : stream.zalloc = (alloc_func)0; -; 43 : stream.zfree = (free_func)0; -; 44 : -; 45 : err = inflateInit(&stream); - - 00025 6a 38 push 56 ; 00000038H - 00027 89 44 24 1c mov DWORD PTR _stream$[esp+84], eax - 0002b 8d 44 24 0c lea eax, DWORD PTR _stream$[esp+68] - 0002f 68 00 00 00 00 push OFFSET ??_C@_05IAIEPMAK@1?42?48?$AA@ - 00034 50 push eax - 00035 c7 44 24 34 00 - 00 00 00 mov DWORD PTR _stream$[esp+108], 0 - 0003d c7 44 24 38 00 - 00 00 00 mov DWORD PTR _stream$[esp+112], 0 - 00045 e8 00 00 00 00 call _inflateInit_@12 - -; 46 : if (err != Z_OK) return err; - - 0004a 85 c0 test eax, eax - 0004c 75 55 jne SHORT $LN1@uncompress - -; 47 : -; 48 : err = inflate(&stream, Z_FINISH); - - 0004e 6a 04 push 4 - 00050 8d 44 24 0c lea eax, DWORD PTR _stream$[esp+68] - 00054 50 push eax - 00055 e8 00 00 00 00 call _inflate@8 - 0005a 8b f0 mov esi, eax - -; 49 : if (err != Z_STREAM_END) { - - 0005c 83 fe 01 cmp esi, 1 - 0005f 74 32 je SHORT $LN5@uncompress - -; 50 : inflateEnd(&stream); - - 00061 8d 44 24 08 lea eax, DWORD PTR _stream$[esp+64] - 00065 50 push eax - 00066 e8 00 00 00 00 call _inflateEnd@4 - -; 51 : if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0)) - - 0006b 83 fe 02 cmp esi, 2 - 0006e 74 16 je SHORT $LN7@uncompress - 00070 83 fe fb cmp esi, -5 ; fffffffbH - 00073 75 07 jne SHORT $LN6@uncompress - 00075 83 7c 24 0c 00 cmp DWORD PTR _stream$[esp+68], 0 - 0007a 74 0a je SHORT $LN7@uncompress -$LN6@uncompress: - -; 53 : return err; - - 0007c 8b c6 mov eax, esi - -; 58 : return err; -; 59 : } - - 0007e 5f pop edi - 0007f 5e pop esi - 00080 8b e5 mov esp, ebp - 00082 5d pop ebp - 00083 c2 10 00 ret 16 ; 00000010H -$LN7@uncompress: - -; 52 : return Z_DATA_ERROR; - - 00086 b8 fd ff ff ff mov eax, -3 ; fffffffdH - -; 58 : return err; -; 59 : } - - 0008b 5f pop edi - 0008c 5e pop esi - 0008d 8b e5 mov esp, ebp - 0008f 5d pop ebp - 00090 c2 10 00 ret 16 ; 00000010H -$LN5@uncompress: - -; 54 : } -; 55 : *destLen = stream.total_out; - - 00093 8b 44 24 1c mov eax, DWORD PTR _stream$[esp+84] - 00097 89 07 mov DWORD PTR [edi], eax - -; 56 : -; 57 : err = inflateEnd(&stream); - - 00099 8d 44 24 08 lea eax, DWORD PTR _stream$[esp+64] - 0009d 50 push eax - 0009e e8 00 00 00 00 call _inflateEnd@4 -$LN1@uncompress: - -; 58 : return err; -; 59 : } - - 000a3 5f pop edi - 000a4 5e pop esi - 000a5 8b e5 mov esp, ebp - 000a7 5d pop ebp - 000a8 c2 10 00 ret 16 ; 00000010H -_uncompress@16 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/uncompr.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/uncompr.obj deleted file mode 100644 index bf538d3fa9..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/uncompr.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/unzip.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/unzip.cod deleted file mode 100644 index 246916c093..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/unzip.cod +++ /dev/null @@ -1,7065 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _unz_copyright - ORG $+5 -_unz_copyright DB ' unzip 1.01 Copyright 1998-2004 Gilles Vollant - http:' - DB '//www.winimage.com/zLibDll', 00H -PUBLIC _unzGetGlobalComment@12 -PUBLIC _unzCloseCurrentFile@4 -PUBLIC _unzGetLocalExtrafield@12 -PUBLIC _unzeof@4 -PUBLIC _unztell64@4 -PUBLIC _unztell@4 -PUBLIC _unzReadCurrentFile@12 -PUBLIC _unzGetCurrentFileZStreamPos64@4 -PUBLIC _unzOpenCurrentFile2@16 -PUBLIC _unzOpenCurrentFilePassword@8 -PUBLIC _unzOpenCurrentFile@4 -PUBLIC _unzOpenCurrentFile3@20 -PUBLIC _unzGoToFilePos@8 -PUBLIC _unzGoToFilePos64@8 -PUBLIC _unzGetFilePos@8 -PUBLIC _unzGetFilePos64@8 -PUBLIC _unzLocateFile@12 -PUBLIC _unzGoToNextFile@4 -PUBLIC _unzGoToFirstFile@4 -PUBLIC _unzGetCurrentFileInfo@32 -PUBLIC _unzGetCurrentFileInfo64@32 -PUBLIC _unzGetGlobalInfo@8 -PUBLIC _unzGetGlobalInfo64@8 -PUBLIC _unzClose@4 -PUBLIC _unzOpen64@4 -PUBLIC _unzOpen@4 -PUBLIC _unzOpen2_64@8 -PUBLIC _unzOpen2@8 -PUBLIC _unzStringFileNameCompare@12 -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unz64local_getByte -_TEXT SEGMENT -_c$ = -1 ; size = 1 -_pi$ = 8 ; size = 4 -_unz64local_getByte PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 213 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - 00005 57 push edi - -; 214 : unsigned char c; -; 215 : int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1); - - 00006 6a 01 push 1 - 00008 8b f1 mov esi, ecx - 0000a 8d 45 ff lea eax, DWORD PTR _c$[ebp] - 0000d 50 push eax - 0000e 8b fa mov edi, edx - 00010 57 push edi - 00011 ff 76 1c push DWORD PTR [esi+28] - 00014 8b 46 04 mov eax, DWORD PTR [esi+4] - 00017 ff d0 call eax - 00019 83 c4 10 add esp, 16 ; 00000010H - -; 216 : if (err==1) - - 0001c 83 f8 01 cmp eax, 1 - 0001f 75 11 jne SHORT $LN2@unz64local - -; 217 : { -; 218 : *pi = (int)c; - - 00021 8b 45 08 mov eax, DWORD PTR _pi$[ebp] - 00024 0f b6 4d ff movzx ecx, BYTE PTR _c$[ebp] - 00028 5f pop edi - 00029 5e pop esi - 0002a 89 08 mov DWORD PTR [eax], ecx - -; 219 : return UNZ_OK; - - 0002c 33 c0 xor eax, eax - -; 224 : return UNZ_ERRNO; -; 225 : else -; 226 : return UNZ_EOF; -; 227 : } -; 228 : } - - 0002e 8b e5 mov esp, ebp - 00030 5d pop ebp - 00031 c3 ret 0 -$LN2@unz64local: - -; 220 : } -; 221 : else -; 222 : { -; 223 : if (ZERROR64(*pzlib_filefunc_def,filestream)) - - 00032 8b 46 18 mov eax, DWORD PTR [esi+24] - 00035 57 push edi - 00036 ff 76 1c push DWORD PTR [esi+28] - 00039 ff d0 call eax - 0003b 83 c4 08 add esp, 8 - 0003e f7 d8 neg eax - 00040 1b c0 sbb eax, eax - 00042 5f pop edi - 00043 5e pop esi - -; 224 : return UNZ_ERRNO; -; 225 : else -; 226 : return UNZ_EOF; -; 227 : } -; 228 : } - - 00044 8b e5 mov esp, ebp - 00046 5d pop ebp - 00047 c3 ret 0 -_unz64local_getByte ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unz64local_getShort -_TEXT SEGMENT -_i$ = -4 ; size = 4 -_pX$ = 8 ; size = 4 -_unz64local_getShort PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 242 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 57 push edi - -; 243 : uLong x ; -; 244 : int i = 0; -; 245 : int err; -; 246 : -; 247 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00007 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0000a c7 45 fc 00 00 - 00 00 mov DWORD PTR _i$[ebp], 0 - 00011 50 push eax - 00012 8b f2 mov esi, edx - 00014 8b f9 mov edi, ecx - 00016 e8 00 00 00 00 call _unz64local_getByte - -; 248 : x = (uLong)i; - - 0001b 8b 5d fc mov ebx, DWORD PTR _i$[ebp] - 0001e 8b d0 mov edx, eax - 00020 83 c4 04 add esp, 4 - -; 249 : -; 250 : if (err==UNZ_OK) - - 00023 85 d2 test edx, edx - 00025 75 2c jne SHORT $LN3@unz64local - -; 251 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00027 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0002a 8b d6 mov edx, esi - 0002c 50 push eax - 0002d 8b cf mov ecx, edi - 0002f e8 00 00 00 00 call _unz64local_getByte - 00034 8b d0 mov edx, eax - 00036 83 c4 04 add esp, 4 - -; 252 : x |= ((uLong)i)<<8; -; 253 : -; 254 : if (err==UNZ_OK) - - 00039 85 d2 test edx, edx - 0003b 75 16 jne SHORT $LN3@unz64local - -; 255 : *pX = x; - - 0003d 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00040 8b 45 08 mov eax, DWORD PTR _pX$[ebp] - 00043 c1 e1 08 shl ecx, 8 - 00046 5f pop edi - 00047 0b cb or ecx, ebx - 00049 5e pop esi - 0004a 89 08 mov DWORD PTR [eax], ecx - -; 258 : return err; - - 0004c 8b c2 mov eax, edx - 0004e 5b pop ebx - -; 259 : } - - 0004f 8b e5 mov esp, ebp - 00051 5d pop ebp - 00052 c3 ret 0 -$LN3@unz64local: - -; 256 : else -; 257 : *pX = 0; - - 00053 8b 45 08 mov eax, DWORD PTR _pX$[ebp] - 00056 5f pop edi - 00057 5e pop esi - 00058 5b pop ebx - 00059 c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - -; 258 : return err; - - 0005f 8b c2 mov eax, edx - -; 259 : } - - 00061 8b e5 mov esp, ebp - 00063 5d pop ebp - 00064 c3 ret 0 -_unz64local_getShort ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unz64local_getLong -_TEXT SEGMENT -_i$ = -4 ; size = 4 -_pX$ = 8 ; size = 4 -_unz64local_getLong PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 269 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 57 push edi - -; 270 : uLong x ; -; 271 : int i = 0; -; 272 : int err; -; 273 : -; 274 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00007 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0000a c7 45 fc 00 00 - 00 00 mov DWORD PTR _i$[ebp], 0 - 00011 50 push eax - 00012 8b fa mov edi, edx - 00014 8b d9 mov ebx, ecx - 00016 e8 00 00 00 00 call _unz64local_getByte - -; 275 : x = (uLong)i; - - 0001b 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 0001e 8b d0 mov edx, eax - 00020 83 c4 04 add esp, 4 - 00023 8b f1 mov esi, ecx - -; 276 : -; 277 : if (err==UNZ_OK) - - 00025 85 d2 test edx, edx - 00027 75 15 jne SHORT $LN2@unz64local - -; 278 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00029 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0002c 8b d7 mov edx, edi - 0002e 50 push eax - 0002f 8b cb mov ecx, ebx - 00031 e8 00 00 00 00 call _unz64local_getByte - 00036 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00039 83 c4 04 add esp, 4 - 0003c 8b d0 mov edx, eax -$LN2@unz64local: - -; 279 : x |= ((uLong)i)<<8; - - 0003e 8b c1 mov eax, ecx - 00040 c1 e0 08 shl eax, 8 - 00043 0b f0 or esi, eax - -; 280 : -; 281 : if (err==UNZ_OK) - - 00045 85 d2 test edx, edx - 00047 75 15 jne SHORT $LN3@unz64local - -; 282 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00049 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0004c 8b d7 mov edx, edi - 0004e 50 push eax - 0004f 8b cb mov ecx, ebx - 00051 e8 00 00 00 00 call _unz64local_getByte - 00056 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00059 83 c4 04 add esp, 4 - 0005c 8b d0 mov edx, eax -$LN3@unz64local: - -; 283 : x |= ((uLong)i)<<16; - - 0005e c1 e1 10 shl ecx, 16 ; 00000010H - 00061 0b f1 or esi, ecx - -; 284 : -; 285 : if (err==UNZ_OK) - - 00063 85 d2 test edx, edx - 00065 75 2c jne SHORT $LN5@unz64local - -; 286 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00067 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0006a 8b d7 mov edx, edi - 0006c 50 push eax - 0006d 8b cb mov ecx, ebx - 0006f e8 00 00 00 00 call _unz64local_getByte - 00074 8b d0 mov edx, eax - 00076 83 c4 04 add esp, 4 - -; 287 : x += ((uLong)i)<<24; -; 288 : -; 289 : if (err==UNZ_OK) - - 00079 85 d2 test edx, edx - 0007b 75 16 jne SHORT $LN5@unz64local - -; 290 : *pX = x; - - 0007d 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00080 8b 45 08 mov eax, DWORD PTR _pX$[ebp] - 00083 c1 e1 18 shl ecx, 24 ; 00000018H - 00086 5f pop edi - 00087 03 ce add ecx, esi - 00089 5e pop esi - 0008a 89 08 mov DWORD PTR [eax], ecx - -; 293 : return err; - - 0008c 8b c2 mov eax, edx - 0008e 5b pop ebx - -; 294 : } - - 0008f 8b e5 mov esp, ebp - 00091 5d pop ebp - 00092 c3 ret 0 -$LN5@unz64local: - -; 291 : else -; 292 : *pX = 0; - - 00093 8b 45 08 mov eax, DWORD PTR _pX$[ebp] - 00096 5f pop edi - 00097 5e pop esi - 00098 5b pop ebx - 00099 c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - -; 293 : return err; - - 0009f 8b c2 mov eax, edx - -; 294 : } - - 000a1 8b e5 mov esp, ebp - 000a3 5d pop ebp - 000a4 c3 ret 0 -_unz64local_getLong ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unz64local_getLong64 -_TEXT SEGMENT -_pzlib_filefunc_def$1$ = -12 ; size = 4 -_filestream$1$ = -8 ; size = 4 -_i$ = -4 ; size = 4 -_pX$ = 8 ; size = 4 -_unz64local_getLong64 PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 305 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 0c sub esp, 12 ; 0000000cH - 00006 53 push ebx - 00007 8b c2 mov eax, edx - 00009 89 4d f4 mov DWORD PTR _pzlib_filefunc_def$1$[ebp], ecx - 0000c 56 push esi - -; 306 : ZPOS64_T x ; -; 307 : int i = 0; -; 308 : int err; -; 309 : -; 310 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 0000d 8d 55 fc lea edx, DWORD PTR _i$[ebp] - 00010 89 45 f8 mov DWORD PTR _filestream$1$[ebp], eax - 00013 57 push edi - 00014 52 push edx - 00015 8b d0 mov edx, eax - 00017 c7 45 fc 00 00 - 00 00 mov DWORD PTR _i$[ebp], 0 - 0001e e8 00 00 00 00 call _unz64local_getByte - -; 311 : x = (ZPOS64_T)i; - - 00023 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00026 8b f0 mov esi, eax - 00028 8b c1 mov eax, ecx - 0002a 83 c4 04 add esp, 4 - 0002d 99 cdq - 0002e 8b f8 mov edi, eax - 00030 8b da mov ebx, edx - -; 312 : -; 313 : if (err==UNZ_OK) - - 00032 85 f6 test esi, esi - 00034 75 17 jne SHORT $LN2@unz64local - -; 314 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00036 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 00039 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0003c 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 0003f 50 push eax - 00040 e8 00 00 00 00 call _unz64local_getByte - 00045 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00048 83 c4 04 add esp, 4 - 0004b 8b f0 mov esi, eax -$LN2@unz64local: - -; 315 : x |= ((ZPOS64_T)i)<<8; - - 0004d 8b c1 mov eax, ecx - 0004f 99 cdq - 00050 0f a4 c2 08 shld edx, eax, 8 - 00054 c1 e0 08 shl eax, 8 - 00057 0b da or ebx, edx - 00059 0b f8 or edi, eax - -; 316 : -; 317 : if (err==UNZ_OK) - - 0005b 85 f6 test esi, esi - 0005d 75 17 jne SHORT $LN3@unz64local - -; 318 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 0005f 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 00062 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 00065 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 00068 50 push eax - 00069 e8 00 00 00 00 call _unz64local_getByte - 0006e 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00071 83 c4 04 add esp, 4 - 00074 8b f0 mov esi, eax -$LN3@unz64local: - -; 319 : x |= ((ZPOS64_T)i)<<16; - - 00076 8b c1 mov eax, ecx - 00078 99 cdq - 00079 0f a4 c2 10 shld edx, eax, 16 - 0007d c1 e0 10 shl eax, 16 ; 00000010H - 00080 0b da or ebx, edx - 00082 0b f8 or edi, eax - -; 320 : -; 321 : if (err==UNZ_OK) - - 00084 85 f6 test esi, esi - 00086 75 17 jne SHORT $LN4@unz64local - -; 322 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00088 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 0008b 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0008e 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 00091 50 push eax - 00092 e8 00 00 00 00 call _unz64local_getByte - 00097 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 0009a 83 c4 04 add esp, 4 - 0009d 8b f0 mov esi, eax -$LN4@unz64local: - -; 323 : x |= ((ZPOS64_T)i)<<24; - - 0009f 8b c1 mov eax, ecx - 000a1 99 cdq - 000a2 0f a4 c2 18 shld edx, eax, 24 - 000a6 c1 e0 18 shl eax, 24 ; 00000018H - 000a9 0b da or ebx, edx - 000ab 0b f8 or edi, eax - -; 324 : -; 325 : if (err==UNZ_OK) - - 000ad 85 f6 test esi, esi - 000af 75 17 jne SHORT $LN5@unz64local - -; 326 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 000b1 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 000b4 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 000b7 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 000ba 50 push eax - 000bb e8 00 00 00 00 call _unz64local_getByte - 000c0 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 000c3 83 c4 04 add esp, 4 - 000c6 8b f0 mov esi, eax -$LN5@unz64local: - -; 327 : x |= ((ZPOS64_T)i)<<32; - - 000c8 8b c1 mov eax, ecx - 000ca 99 cdq - 000cb 0b d8 or ebx, eax - -; 328 : -; 329 : if (err==UNZ_OK) - - 000cd 85 f6 test esi, esi - 000cf 75 17 jne SHORT $LN6@unz64local - -; 330 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 000d1 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 000d4 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 000d7 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 000da 50 push eax - 000db e8 00 00 00 00 call _unz64local_getByte - 000e0 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 000e3 83 c4 04 add esp, 4 - 000e6 8b f0 mov esi, eax -$LN6@unz64local: - -; 331 : x |= ((ZPOS64_T)i)<<40; - - 000e8 8b c1 mov eax, ecx - 000ea 99 cdq - 000eb c1 e0 08 shl eax, 8 - 000ee 0b d8 or ebx, eax - -; 332 : -; 333 : if (err==UNZ_OK) - - 000f0 85 f6 test esi, esi - 000f2 75 17 jne SHORT $LN7@unz64local - -; 334 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 000f4 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 000f7 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 000fa 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 000fd 50 push eax - 000fe e8 00 00 00 00 call _unz64local_getByte - 00103 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00106 83 c4 04 add esp, 4 - 00109 8b f0 mov esi, eax -$LN7@unz64local: - -; 335 : x |= ((ZPOS64_T)i)<<48; - - 0010b 8b c1 mov eax, ecx - 0010d 99 cdq - 0010e c1 e0 10 shl eax, 16 ; 00000010H - 00111 0b d8 or ebx, eax - -; 336 : -; 337 : if (err==UNZ_OK) - - 00113 85 f6 test esi, esi - 00115 75 36 jne SHORT $LN9@unz64local - -; 338 : err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00117 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 0011a 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0011d 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 00120 50 push eax - 00121 e8 00 00 00 00 call _unz64local_getByte - 00126 8b f0 mov esi, eax - 00128 83 c4 04 add esp, 4 - -; 339 : x |= ((ZPOS64_T)i)<<56; -; 340 : -; 341 : if (err==UNZ_OK) - - 0012b 85 f6 test esi, esi - 0012d 75 1e jne SHORT $LN9@unz64local - -; 342 : *pX = x; - - 0012f 8b 45 fc mov eax, DWORD PTR _i$[ebp] - 00132 8b 4d 08 mov ecx, DWORD PTR _pX$[ebp] - 00135 99 cdq - 00136 33 d2 xor edx, edx - 00138 c1 e0 18 shl eax, 24 ; 00000018H - 0013b 0b d7 or edx, edi - 0013d 0b c3 or eax, ebx - 0013f 89 41 04 mov DWORD PTR [ecx+4], eax - -; 345 : return err; - - 00142 8b c6 mov eax, esi - 00144 89 11 mov DWORD PTR [ecx], edx - -; 346 : } - - 00146 5f pop edi - 00147 5e pop esi - 00148 5b pop ebx - 00149 8b e5 mov esp, ebp - 0014b 5d pop ebp - 0014c c3 ret 0 -$LN9@unz64local: - -; 343 : else -; 344 : *pX = 0; - - 0014d 8b 45 08 mov eax, DWORD PTR _pX$[ebp] - -; 346 : } - - 00150 5f pop edi - 00151 c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - 00157 c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], 0 - 0015e 8b c6 mov eax, esi - 00160 5e pop esi - 00161 5b pop ebx - 00162 8b e5 mov esp, ebp - 00164 5d pop ebp - 00165 c3 ret 0 -_unz64local_getLong64 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _strcmpcasenosensitive_internal -_TEXT SEGMENT -_strcmpcasenosensitive_internal PROC ; COMDAT -; _fileName1$ = ecx -; _fileName2$ = edx - -; 367 : } - - 00000 2b ca sub ecx, edx - 00002 53 push ebx -$LL2@strcmpcase: - -; 351 : for (;;) -; 352 : { -; 353 : char c1=*(fileName1++); -; 354 : char c2=*(fileName2++); - - 00003 8a 24 11 mov ah, BYTE PTR [ecx+edx] - 00006 8d 52 01 lea edx, DWORD PTR [edx+1] - 00009 8a 5a ff mov bl, BYTE PTR [edx-1] - -; 355 : if ((c1>='a') && (c1<='z')) - - 0000c 8a c4 mov al, ah - 0000e 2c 61 sub al, 97 ; 00000061H - 00010 3c 19 cmp al, 25 ; 00000019H - 00012 77 03 ja SHORT $LN5@strcmpcase - -; 356 : c1 -= 0x20; - - 00014 80 c4 e0 add ah, -32 ; ffffffe0H -$LN5@strcmpcase: - -; 357 : if ((c2>='a') && (c2<='z')) - - 00017 8a c3 mov al, bl - 00019 2c 61 sub al, 97 ; 00000061H - 0001b 3c 19 cmp al, 25 ; 00000019H - 0001d 77 03 ja SHORT $LN6@strcmpcase - -; 358 : c2 -= 0x20; - - 0001f 80 c3 e0 add bl, -32 ; ffffffe0H -$LN6@strcmpcase: - -; 359 : if (c1=='\0') - - 00022 84 e4 test ah, ah - 00024 74 16 je SHORT $LN14@strcmpcase - -; 361 : if (c2=='\0') - - 00026 84 db test bl, bl - 00028 74 06 je SHORT $LN15@strcmpcase - -; 362 : return 1; -; 363 : if (c1c2) - - 0002e 7e d3 jle SHORT $LL2@strcmpcase -$LN15@strcmpcase: - -; 366 : return 1; - - 00030 b8 01 00 00 00 mov eax, 1 - 00035 5b pop ebx - -; 368 : } - - 00036 c3 ret 0 -$LN16@strcmpcase: - -; 364 : return -1; - - 00037 83 c8 ff or eax, -1 - 0003a 5b pop ebx - -; 368 : } - - 0003b c3 ret 0 -$LN14@strcmpcase: - -; 360 : return ((c2=='\0') ? 0 : -1); - - 0003c 0f be c3 movsx eax, bl - 0003f f7 d8 neg eax - 00041 5b pop ebx - 00042 1b c0 sbb eax, eax - -; 368 : } - - 00044 c3 ret 0 -_strcmpcasenosensitive_internal ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzStringFileNameCompare@12 -_TEXT SEGMENT -_fileName1$ = 8 ; size = 4 -_fileName2$ = 12 ; size = 4 -_iCaseSensitivity$ = 16 ; size = 4 -_unzStringFileNameCompare@12 PROC ; COMDAT - -; 394 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 395 : if (iCaseSensitivity==0) - - 00003 8b 45 10 mov eax, DWORD PTR _iCaseSensitivity$[ebp] - 00006 85 c0 test eax, eax - 00008 74 36 je SHORT $LN3@unzStringF - -; 396 : iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE; -; 397 : -; 398 : if (iCaseSensitivity==1) - - 0000a 83 f8 01 cmp eax, 1 - 0000d 75 31 jne SHORT $LN3@unzStringF - -; 399 : return strcmp(fileName1,fileName2); - - 0000f 8b 45 0c mov eax, DWORD PTR _fileName2$[ebp] - 00012 8b 4d 08 mov ecx, DWORD PTR _fileName1$[ebp] -$LL5@unzStringF: - 00015 8a 11 mov dl, BYTE PTR [ecx] - 00017 3a 10 cmp dl, BYTE PTR [eax] - 00019 75 1c jne SHORT $LN6@unzStringF - 0001b 84 d2 test dl, dl - 0001d 74 12 je SHORT $LN7@unzStringF - 0001f 8a 51 01 mov dl, BYTE PTR [ecx+1] - 00022 3a 50 01 cmp dl, BYTE PTR [eax+1] - 00025 75 10 jne SHORT $LN6@unzStringF - 00027 83 c1 02 add ecx, 2 - 0002a 83 c0 02 add eax, 2 - 0002d 84 d2 test dl, dl - 0002f 75 e4 jne SHORT $LL5@unzStringF -$LN7@unzStringF: - 00031 33 c0 xor eax, eax - -; 402 : } - - 00033 5d pop ebp - 00034 c2 0c 00 ret 12 ; 0000000cH -$LN6@unzStringF: - -; 399 : return strcmp(fileName1,fileName2); - - 00037 1b c0 sbb eax, eax - 00039 83 c8 01 or eax, 1 - -; 402 : } - - 0003c 5d pop ebp - 0003d c2 0c 00 ret 12 ; 0000000cH -$LN3@unzStringF: - -; 400 : -; 401 : return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2); - - 00040 8b 55 0c mov edx, DWORD PTR _fileName2$[ebp] - 00043 8b 4d 08 mov ecx, DWORD PTR _fileName1$[ebp] - 00046 e8 00 00 00 00 call _strcmpcasenosensitive_internal - -; 402 : } - - 0004b 5d pop ebp - 0004c c2 0c 00 ret 12 ; 0000000cH -_unzStringFileNameCompare@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unz64local_SearchCentralDir -_TEXT SEGMENT -_uPosFound$ = -48 ; size = 8 -_uReadPos$1$ = -44 ; size = 4 -_uBackRead$2$ = -40 ; size = 4 -_uReadPos$2$ = -36 ; size = 4 -_pzlib_filefunc_def$1$ = -32 ; size = 4 -_filestream$1$ = -28 ; size = 4 -_uSizeFile$1$ = -24 ; size = 4 -_uSizeFile$2$ = -20 ; size = 4 -_uPosFound$1$ = -16 ; size = 4 -_uPosFound$2$ = -12 ; size = 4 -_uMaxBack$1$ = -8 ; size = 4 -_uMaxBack$2$ = -4 ; size = 4 -_unz64local_SearchCentralDir PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 414 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 34 sub esp, 52 ; 00000034H - 00006 53 push ebx - 00007 56 push esi - 00008 57 push edi - -; 415 : unsigned char* buf; -; 416 : ZPOS64_T uSizeFile; -; 417 : ZPOS64_T uBackRead; -; 418 : ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ - - 00009 33 c0 xor eax, eax - 0000b 8b f2 mov esi, edx - -; 419 : ZPOS64_T uPosFound=0; -; 420 : -; 421 : if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - - 0000d 6a 02 push 2 - 0000f 50 push eax - 00010 8b d9 mov ebx, ecx - 00012 89 75 e4 mov DWORD PTR _filestream$1$[ebp], esi - 00015 0f 57 c0 xorps xmm0, xmm0 - 00018 89 5d e0 mov DWORD PTR _pzlib_filefunc_def$1$[ebp], ebx - 0001b bf ff ff 00 00 mov edi, 65535 ; 0000ffffH - 00020 89 45 fc mov DWORD PTR _uMaxBack$2$[ebp], eax - 00023 50 push eax - 00024 89 7d f8 mov DWORD PTR _uMaxBack$1$[ebp], edi - 00027 66 0f 13 45 d0 movlpd QWORD PTR _uPosFound$[ebp], xmm0 - 0002c e8 00 00 00 00 call _call_zseek64 - 00031 83 c4 0c add esp, 12 ; 0000000cH - 00034 85 c0 test eax, eax - 00036 74 0b je SHORT $LN7@unz64local - -; 422 : return 0; - - 00038 33 c0 xor eax, eax -$LN43@unz64local: - 0003a 33 d2 xor edx, edx - -; 467 : } - - 0003c 5f pop edi - 0003d 5e pop esi - 0003e 5b pop ebx - 0003f 8b e5 mov esp, ebp - 00041 5d pop ebp - 00042 c3 ret 0 -$LN7@unz64local: - -; 423 : -; 424 : -; 425 : uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - 00043 8b d6 mov edx, esi - 00045 8b cb mov ecx, ebx - 00047 e8 00 00 00 00 call _call_ztell64 - 0004c 8b ca mov ecx, edx - 0004e 89 45 e8 mov DWORD PTR _uSizeFile$1$[ebp], eax - 00051 89 4d ec mov DWORD PTR _uSizeFile$2$[ebp], ecx - -; 426 : -; 427 : if (uMaxBack>uSizeFile) - - 00054 85 c9 test ecx, ecx - 00056 77 11 ja SHORT $LN8@unz64local - 00058 72 07 jb SHORT $LN33@unz64local - 0005a 3d ff ff 00 00 cmp eax, 65535 ; 0000ffffH - 0005f 73 08 jae SHORT $LN8@unz64local -$LN33@unz64local: - -; 428 : uMaxBack = uSizeFile; - - 00061 8b f8 mov edi, eax - 00063 89 4d fc mov DWORD PTR _uMaxBack$2$[ebp], ecx - 00066 89 7d f8 mov DWORD PTR _uMaxBack$1$[ebp], edi -$LN8@unz64local: - -; 429 : -; 430 : buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - - 00069 68 04 04 00 00 push 1028 ; 00000404H - 0006e ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00074 8b f0 mov esi, eax - 00076 83 c4 04 add esp, 4 - -; 431 : if (buf==NULL) -; 432 : return 0; - - 00079 33 c0 xor eax, eax - 0007b 85 f6 test esi, esi - 0007d 74 bb je SHORT $LN43@unz64local - -; 433 : -; 434 : uBackRead = 4; -; 435 : while (uBackReaduMaxBack) - - 000a3 81 c3 00 04 00 - 00 add ebx, 1024 ; 00000400H - 000a9 83 d0 00 adc eax, 0 - 000ac 89 45 d8 mov DWORD PTR _uBackRead$2$[ebp], eax - 000af 3b c1 cmp eax, ecx - 000b1 72 0d jb SHORT $LN11@unz64local - 000b3 77 04 ja SHORT $LN35@unz64local - 000b5 3b df cmp ebx, edi - 000b7 76 07 jbe SHORT $LN11@unz64local -$LN35@unz64local: - -; 441 : uBackRead = uMaxBack; - - 000b9 8b df mov ebx, edi - 000bb 89 4d d8 mov DWORD PTR _uBackRead$2$[ebp], ecx - 000be 8b c1 mov eax, ecx -$LN11@unz64local: - -; 442 : else -; 443 : uBackRead+=BUFREADCOMMENT; -; 444 : uReadPos = uSizeFile-uBackRead ; - - 000c0 8b 4d e8 mov ecx, DWORD PTR _uSizeFile$1$[ebp] - 000c3 8b d1 mov edx, ecx - 000c5 8b 7d ec mov edi, DWORD PTR _uSizeFile$2$[ebp] - 000c8 2b d3 sub edx, ebx - 000ca 89 55 d4 mov DWORD PTR _uReadPos$1$[ebp], edx - 000cd 1b f8 sbb edi, eax - -; 445 : -; 446 : uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - - 000cf 8b 45 ec mov eax, DWORD PTR _uSizeFile$2$[ebp] - 000d2 2b ca sub ecx, edx - 000d4 89 7d dc mov DWORD PTR _uReadPos$2$[ebp], edi - 000d7 1b c7 sbb eax, edi - 000d9 85 c0 test eax, eax - 000db 72 11 jb SHORT $LN18@unz64local - 000dd 77 08 ja SHORT $LN36@unz64local - 000df 81 f9 04 04 00 - 00 cmp ecx, 1028 ; 00000404H - 000e5 76 07 jbe SHORT $LN18@unz64local -$LN36@unz64local: - 000e7 bf 04 04 00 00 mov edi, 1028 ; 00000404H - 000ec eb 05 jmp SHORT $LN19@unz64local -$LN18@unz64local: - 000ee 8b 7d e8 mov edi, DWORD PTR _uSizeFile$1$[ebp] - 000f1 2b fa sub edi, edx -$LN19@unz64local: - -; 447 : (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); -; 448 : if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 000f3 8b 4d e0 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 000f6 6a 00 push 0 - 000f8 ff 75 dc push DWORD PTR _uReadPos$2$[ebp] - 000fb 52 push edx - 000fc 8b 55 e4 mov edx, DWORD PTR _filestream$1$[ebp] - 000ff e8 00 00 00 00 call _call_zseek64 - 00104 83 c4 0c add esp, 12 ; 0000000cH - 00107 85 c0 test eax, eax - 00109 0f 85 7d 00 00 - 00 jne $LN37@unz64local - -; 449 : break; -; 450 : -; 451 : if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - - 0010f 8b 45 e0 mov eax, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 00112 57 push edi - 00113 56 push esi - 00114 ff 75 e4 push DWORD PTR _filestream$1$[ebp] - 00117 ff 70 1c push DWORD PTR [eax+28] - 0011a 8b 40 04 mov eax, DWORD PTR [eax+4] - 0011d ff d0 call eax - 0011f 83 c4 10 add esp, 16 ; 00000010H - 00122 3b c7 cmp eax, edi - 00124 75 66 jne SHORT $LN37@unz64local - -; 452 : break; -; 453 : -; 454 : for (i=(int)uReadSize-3; (i--)>0;) - - 00126 8d 47 fd lea eax, DWORD PTR [edi-3] - 00129 85 c0 test eax, eax - 0012b 7e 36 jle SHORT $LN32@unz64local - 0012d 0f 1f 00 npad 3 -$LL4@unz64local: - 00130 48 dec eax - -; 455 : if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && -; 456 : ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) - - 00131 80 3c 30 50 cmp BYTE PTR [eax+esi], 80 ; 00000050H - 00135 75 15 jne SHORT $LN14@unz64local - 00137 80 7c 30 01 4b cmp BYTE PTR [eax+esi+1], 75 ; 0000004bH - 0013c 75 0e jne SHORT $LN14@unz64local - 0013e 80 7c 30 02 05 cmp BYTE PTR [eax+esi+2], 5 - 00143 75 07 jne SHORT $LN14@unz64local - 00145 80 7c 30 03 06 cmp BYTE PTR [eax+esi+3], 6 - 0014a 74 06 je SHORT $LN22@unz64local -$LN14@unz64local: - -; 452 : break; -; 453 : -; 454 : for (i=(int)uReadSize-3; (i--)>0;) - - 0014c 85 c0 test eax, eax - 0014e 7f e0 jg SHORT $LL4@unz64local - 00150 eb 11 jmp SHORT $LN32@unz64local -$LN22@unz64local: - -; 457 : { -; 458 : uPosFound = uReadPos+i; - - 00152 99 cdq - 00153 03 45 d4 add eax, DWORD PTR _uReadPos$1$[ebp] - 00156 89 45 f4 mov DWORD PTR _uPosFound$2$[ebp], eax - 00159 13 55 dc adc edx, DWORD PTR _uReadPos$2$[ebp] - -; 459 : break; -; 460 : } -; 461 : -; 462 : if (uPosFound!=0) - - 0015c 0b c2 or eax, edx - 0015e 89 55 f0 mov DWORD PTR _uPosFound$1$[ebp], edx - 00161 75 29 jne SHORT $LN37@unz64local -$LN32@unz64local: - -; 433 : -; 434 : uBackRead = 4; -; 435 : while (uBackReaduSizeFile) - - 00054 85 c9 test ecx, ecx - 00056 77 0f ja SHORT $LN8@unz64local - 00058 72 07 jb SHORT $LN44@unz64local - 0005a 3d ff ff 00 00 cmp eax, 65535 ; 0000ffffH - 0005f 73 06 jae SHORT $LN8@unz64local -$LN44@unz64local: - -; 496 : uMaxBack = uSizeFile; - - 00061 89 45 f8 mov DWORD PTR _uMaxBack$1$[ebp], eax - 00064 89 4d f0 mov DWORD PTR _uMaxBack$2$[ebp], ecx -$LN8@unz64local: - -; 497 : -; 498 : buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - - 00067 68 04 04 00 00 push 1028 ; 00000404H - 0006c ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00072 8b f0 mov esi, eax - 00074 83 c4 04 add esp, 4 - -; 499 : if (buf==NULL) -; 500 : return 0; - - 00077 33 c0 xor eax, eax - 00079 85 f6 test esi, esi - 0007b 74 bd je SHORT $LN60@unz64local - -; 501 : -; 502 : uBackRead = 4; -; 503 : while (uBackReaduMaxBack) - - 000a4 81 c3 00 04 00 - 00 add ebx, 1024 ; 00000400H - 000aa 83 d0 00 adc eax, 0 - 000ad 89 45 d8 mov DWORD PTR _uBackRead$2$[ebp], eax - 000b0 3b c2 cmp eax, edx - 000b2 72 0d jb SHORT $LN11@unz64local - 000b4 77 04 ja SHORT $LN46@unz64local - 000b6 3b d9 cmp ebx, ecx - 000b8 76 07 jbe SHORT $LN11@unz64local -$LN46@unz64local: - -; 509 : uBackRead = uMaxBack; - - 000ba 8b d9 mov ebx, ecx - 000bc 89 55 d8 mov DWORD PTR _uBackRead$2$[ebp], edx - 000bf 8b c2 mov eax, edx -$LN11@unz64local: - -; 510 : else -; 511 : uBackRead+=BUFREADCOMMENT; -; 512 : uReadPos = uSizeFile-uBackRead ; - - 000c1 8b 4d e0 mov ecx, DWORD PTR _uSizeFile$1$[ebp] - 000c4 8b d1 mov edx, ecx - 000c6 8b 7d e4 mov edi, DWORD PTR _uSizeFile$2$[ebp] - 000c9 2b d3 sub edx, ebx - 000cb 89 55 d4 mov DWORD PTR _uReadPos$1$[ebp], edx - 000ce 1b f8 sbb edi, eax - -; 513 : -; 514 : uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - - 000d0 8b 45 e4 mov eax, DWORD PTR _uSizeFile$2$[ebp] - 000d3 2b ca sub ecx, edx - 000d5 89 7d dc mov DWORD PTR _uReadPos$2$[ebp], edi - 000d8 1b c7 sbb eax, edi - 000da 85 c0 test eax, eax - 000dc 72 11 jb SHORT $LN29@unz64local - 000de 77 08 ja SHORT $LN47@unz64local - 000e0 81 f9 04 04 00 - 00 cmp ecx, 1028 ; 00000404H - 000e6 76 07 jbe SHORT $LN29@unz64local -$LN47@unz64local: - 000e8 bf 04 04 00 00 mov edi, 1028 ; 00000404H - 000ed eb 05 jmp SHORT $LN30@unz64local -$LN29@unz64local: - 000ef 8b 7d e0 mov edi, DWORD PTR _uSizeFile$1$[ebp] - 000f2 2b fa sub edi, edx -$LN30@unz64local: - -; 515 : (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); -; 516 : if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 000f4 8b 4d fc mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 000f7 6a 00 push 0 - 000f9 ff 75 dc push DWORD PTR _uReadPos$2$[ebp] - 000fc 52 push edx - 000fd 8b 55 f4 mov edx, DWORD PTR _filestream$1$[ebp] - 00100 e8 00 00 00 00 call _call_zseek64 - 00105 83 c4 0c add esp, 12 ; 0000000cH - 00108 85 c0 test eax, eax - 0010a 75 76 jne SHORT $LN57@unz64local - -; 517 : break; -; 518 : -; 519 : if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - - 0010c 8b 45 fc mov eax, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 0010f 57 push edi - 00110 56 push esi - 00111 ff 75 f4 push DWORD PTR _filestream$1$[ebp] - 00114 ff 70 1c push DWORD PTR [eax+28] - 00117 8b 40 04 mov eax, DWORD PTR [eax+4] - 0011a ff d0 call eax - 0011c 83 c4 10 add esp, 16 ; 00000010H - 0011f 3b c7 cmp eax, edi - 00121 75 5f jne SHORT $LN57@unz64local - -; 520 : break; -; 521 : -; 522 : for (i=(int)uReadSize-3; (i--)>0;) - - 00123 8d 47 fd lea eax, DWORD PTR [edi-3] - 00126 85 c0 test eax, eax - 00128 7e 3d jle SHORT $LN43@unz64local - 0012a 66 0f 1f 44 00 - 00 npad 6 -$LL4@unz64local: - 00130 48 dec eax - -; 523 : if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && -; 524 : ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07)) - - 00131 80 3c 30 50 cmp BYTE PTR [eax+esi], 80 ; 00000050H - 00135 75 15 jne SHORT $LN14@unz64local - 00137 80 7c 30 01 4b cmp BYTE PTR [eax+esi+1], 75 ; 0000004bH - 0013c 75 0e jne SHORT $LN14@unz64local - 0013e 80 7c 30 02 06 cmp BYTE PTR [eax+esi+2], 6 - 00143 75 07 jne SHORT $LN14@unz64local - 00145 80 7c 30 03 07 cmp BYTE PTR [eax+esi+3], 7 - 0014a 74 06 je SHORT $LN33@unz64local -$LN14@unz64local: - -; 520 : break; -; 521 : -; 522 : for (i=(int)uReadSize-3; (i--)>0;) - - 0014c 85 c0 test eax, eax - 0014e 7f e0 jg SHORT $LL4@unz64local - 00150 eb 15 jmp SHORT $LN43@unz64local -$LN33@unz64local: - -; 525 : { -; 526 : uPosFound = uReadPos+i; - - 00152 99 cdq - 00153 03 45 d4 add eax, DWORD PTR _uReadPos$1$[ebp] - 00156 8b fa mov edi, edx - -; 527 : break; -; 528 : } -; 529 : -; 530 : if (uPosFound!=0) - - 00158 8b c8 mov ecx, eax - 0015a 89 45 ec mov DWORD PTR _uPosFound$2$[ebp], eax - 0015d 13 7d dc adc edi, DWORD PTR _uReadPos$2$[ebp] - 00160 0b cf or ecx, edi - 00162 89 7d e8 mov DWORD PTR _uPosFound$1$[ebp], edi - 00165 75 1b jne SHORT $LN57@unz64local -$LN43@unz64local: - -; 501 : -; 502 : uBackRead = 4; -; 503 : while (uBackReadpfile_in_zip_read!=NULL) - - 00013 83 be e0 00 00 - 00 00 cmp DWORD PTR [esi+224], 0 - 0001a 74 06 je SHORT $LN3@unzClose - -; 816 : unzCloseCurrentFile(file); - - 0001c 56 push esi - 0001d e8 00 00 00 00 call _unzCloseCurrentFile@4 -$LN3@unzClose: - -; 817 : -; 818 : ZCLOSE64(s->z_filefunc, s->filestream); - - 00022 ff 76 30 push DWORD PTR [esi+48] - 00025 8b 46 14 mov eax, DWORD PTR [esi+20] - 00028 ff 76 1c push DWORD PTR [esi+28] - 0002b ff d0 call eax - -; 819 : TRYFREE(s); - - 0002d 56 push esi - 0002e ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 00034 83 c4 0c add esp, 12 ; 0000000cH - -; 820 : return UNZ_OK; - - 00037 33 c0 xor eax, eax - 00039 5e pop esi - -; 821 : } - - 0003a 5d pop ebp - 0003b c2 04 00 ret 4 -_unzClose@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGetGlobalInfo64@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_pglobal_info$ = 12 ; size = 4 -_unzGetGlobalInfo64@8 PROC ; COMDAT - -; 829 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 830 : unz64_s* s; -; 831 : if (file==NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 09 jne SHORT $LN2@unzGetGlob - -; 832 : return UNZ_PARAMERROR; - - 0000a b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 836 : } - - 0000f 5d pop ebp - 00010 c2 08 00 ret 8 -$LN2@unzGetGlob: - -; 833 : s=(unz64_s*)file; -; 834 : *pglobal_info=s->gi; - - 00013 0f 10 40 38 movups xmm0, XMMWORD PTR [eax+56] - 00017 8b 45 0c mov eax, DWORD PTR _pglobal_info$[ebp] - 0001a 0f 11 00 movups XMMWORD PTR [eax], xmm0 - -; 835 : return UNZ_OK; - - 0001d 33 c0 xor eax, eax - -; 836 : } - - 0001f 5d pop ebp - 00020 c2 08 00 ret 8 -_unzGetGlobalInfo64@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGetGlobalInfo@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_pglobal_info32$ = 12 ; size = 4 -_unzGetGlobalInfo@8 PROC ; COMDAT - -; 839 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 840 : unz64_s* s; -; 841 : if (file==NULL) - - 00003 8b 55 08 mov edx, DWORD PTR _file$[ebp] - 00006 85 d2 test edx, edx - 00008 75 07 jne SHORT $LN2@unzGetGlob - -; 842 : return UNZ_PARAMERROR; - - 0000a 8d 42 9a lea eax, DWORD PTR [edx-102] - -; 848 : } - - 0000d 5d pop ebp - 0000e c2 08 00 ret 8 -$LN2@unzGetGlob: - -; 843 : s=(unz64_s*)file; -; 844 : /* to do : check if number_entry is not truncated */ -; 845 : pglobal_info32->number_entry = (uLong)s->gi.number_entry; - - 00011 8b 4d 0c mov ecx, DWORD PTR _pglobal_info32$[ebp] - 00014 8b 42 38 mov eax, DWORD PTR [edx+56] - 00017 89 01 mov DWORD PTR [ecx], eax - -; 846 : pglobal_info32->size_comment = s->gi.size_comment; - - 00019 8b 42 40 mov eax, DWORD PTR [edx+64] - 0001c 89 41 04 mov DWORD PTR [ecx+4], eax - -; 847 : return UNZ_OK; - - 0001f 33 c0 xor eax, eax - -; 848 : } - - 00021 5d pop ebp - 00022 c2 08 00 ret 8 -_unzGetGlobalInfo@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unz64local_DosDateToTmuDate -_TEXT SEGMENT -_ptm$1$ = -4 ; size = 4 -_ulDosDate$ = 8 ; size = 8 -_unz64local_DosDateToTmuDate PROC ; COMDAT -; _ptm$ = ecx - -; 853 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - -; 854 : ZPOS64_T uDate; -; 855 : uDate = (ZPOS64_T)(ulDosDate>>16); - - 00005 8b 5d 08 mov ebx, DWORD PTR _ulDosDate$[ebp] - 00008 56 push esi - 00009 57 push edi - 0000a 8b 7d 0c mov edi, DWORD PTR _ulDosDate$[ebp+4] - 0000d 8b f3 mov esi, ebx - 0000f 8b d7 mov edx, edi - 00011 89 4d fc mov DWORD PTR _ptm$1$[ebp], ecx - 00014 0f ac d6 10 shrd esi, edx, 16 - -; 856 : ptm->tm_mday = (uInt)(uDate&0x1f) ; - - 00018 8b c6 mov eax, esi - 0001a c1 ea 10 shr edx, 16 ; 00000010H - 0001d 83 e0 1f and eax, 31 ; 0000001fH - 00020 89 41 0c mov DWORD PTR [ecx+12], eax - -; 857 : ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ; - - 00023 8b ce mov ecx, esi - 00025 8b c2 mov eax, edx - 00027 0f ac c1 05 shrd ecx, eax, 5 - -; 858 : ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ; - - 0002b 0f ac d6 09 shrd esi, edx, 9 - 0002f c1 e8 05 shr eax, 5 - 00032 83 e1 0f and ecx, 15 ; 0000000fH - 00035 8b 45 fc mov eax, DWORD PTR _ptm$1$[ebp] - 00038 49 dec ecx - 00039 c1 ea 09 shr edx, 9 - 0003c 83 e6 7f and esi, 127 ; 0000007fH - 0003f 8b d0 mov edx, eax - 00041 81 c6 bc 07 00 - 00 add esi, 1980 ; 000007bcH - 00047 89 48 10 mov DWORD PTR [eax+16], ecx - -; 859 : -; 860 : ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800); - - 0004a 8b cb mov ecx, ebx - 0004c 8b c7 mov eax, edi - 0004e 0f ac c1 0b shrd ecx, eax, 11 - 00052 89 72 14 mov DWORD PTR [edx+20], esi - 00055 c1 e8 0b shr eax, 11 ; 0000000bH - 00058 83 e1 1f and ecx, 31 ; 0000001fH - -; 861 : ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ; - - 0005b 8b c3 mov eax, ebx - 0005d 89 4a 08 mov DWORD PTR [edx+8], ecx - 00060 0f ac f8 05 shrd eax, edi, 5 - -; 862 : ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ; - - 00064 83 e3 1f and ebx, 31 ; 0000001fH - 00067 c1 ef 05 shr edi, 5 - 0006a 83 e0 3f and eax, 63 ; 0000003fH - -; 863 : } - - 0006d 5f pop edi - 0006e 03 db add ebx, ebx - 00070 89 42 04 mov DWORD PTR [edx+4], eax - 00073 5e pop esi - 00074 89 1a mov DWORD PTR [edx], ebx - 00076 5b pop ebx - 00077 8b e5 mov esp, ebp - 00079 5d pop ebp - 0007a c3 ret 0 -_unz64local_DosDateToTmuDate ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unz64local_GetCurrentFileInfoInternal -_TEXT SEGMENT -_lSeek$1$ = -132 ; size = 4 -_uL$ = -132 ; size = 4 -_uSizeRead$1$ = -128 ; size = 4 -_uSizeRead$1$ = -128 ; size = 4 -_uSizeRead$1$ = -128 ; size = 4 -_dataSize$1 = -128 ; size = 4 -_file_info_internal$2$ = -124 ; size = 4 -_acc$1$ = -120 ; size = 4 -_uMagic$ = -120 ; size = 4 -_headerId$2 = -116 ; size = 4 -_pfile_info$1$ = -112 ; size = 4 -_uL$3 = -108 ; size = 4 -_file_info_internal$ = -104 ; size = 8 -_file_info$ = -96 ; size = 88 -_pfile_info_internal$ = 8 ; size = 4 -_szFileName$ = 12 ; size = 4 -_fileNameBufferSize$ = 16 ; size = 4 -_extraField$ = 20 ; size = 4 -_extraFieldBufferSize$ = 24 ; size = 4 -_szComment$ = 28 ; size = 4 -_commentBufferSize$ = 32 ; size = 4 -_unz64local_GetCurrentFileInfoInternal PROC ; COMDAT -; _file$ = ecx -; _pfile_info$ = edx - -; 889 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f0 and esp, -16 ; fffffff0H - 00006 81 ec 88 00 00 - 00 sub esp, 136 ; 00000088H - 0000c 56 push esi - 0000d 57 push edi - 0000e 8b f9 mov edi, ecx - 00010 89 54 24 20 mov DWORD PTR _pfile_info$1$[esp+144], edx - -; 890 : unz64_s* s; -; 891 : unz_file_info64 file_info; -; 892 : unz_file_info64_internal file_info_internal; -; 893 : int err=UNZ_OK; - - 00014 33 f6 xor esi, esi - -; 894 : uLong uMagic; -; 895 : long lSeek=0; -; 896 : uLong uL; -; 897 : -; 898 : if (file==NULL) - - 00016 85 ff test edi, edi - 00018 75 09 jne SHORT $LN4@unz64local - -; 899 : return UNZ_PARAMERROR; - - 0001a 8d 41 9a lea eax, DWORD PTR [ecx-102] - -; 1115 : } - - 0001d 5f pop edi - 0001e 5e pop esi - 0001f 8b e5 mov esp, ebp - 00021 5d pop ebp - 00022 c3 ret 0 -$LN4@unz64local: - -; 900 : s=(unz64_s*)file; -; 901 : if (ZSEEK64(s->z_filefunc, s->filestream, -; 902 : s->pos_in_central_dir+s->byte_before_the_zipfile, -; 903 : ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00023 8b 4f 58 mov ecx, DWORD PTR [edi+88] - 00026 03 4f 48 add ecx, DWORD PTR [edi+72] - 00029 8b 47 5c mov eax, DWORD PTR [edi+92] - 0002c 13 47 4c adc eax, DWORD PTR [edi+76] - 0002f 8b 57 30 mov edx, DWORD PTR [edi+48] - 00032 6a 00 push 0 - 00034 50 push eax - 00035 51 push ecx - 00036 8b cf mov ecx, edi - 00038 e8 00 00 00 00 call _call_zseek64 - 0003d 83 c4 0c add esp, 12 ; 0000000cH - 00040 85 c0 test eax, eax - 00042 74 05 je SHORT $LN72@unz64local - -; 904 : err=UNZ_ERRNO; - - 00044 83 ce ff or esi, -1 - -; 905 : -; 906 : -; 907 : /* we check the magic */ -; 908 : if (err==UNZ_OK) - - 00047 eb 2b jmp SHORT $LN9@unz64local -$LN72@unz64local: - -; 909 : { -; 910 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) - - 00049 8b 57 30 mov edx, DWORD PTR [edi+48] - 0004c 8d 44 24 18 lea eax, DWORD PTR _uMagic$[esp+144] - 00050 50 push eax - 00051 8b cf mov ecx, edi - 00053 e8 00 00 00 00 call _unz64local_getLong - 00058 83 c4 04 add esp, 4 - 0005b 85 c0 test eax, eax - 0005d 74 05 je SHORT $LN7@unz64local - -; 911 : err=UNZ_ERRNO; - - 0005f 83 ce ff or esi, -1 - 00062 eb 10 jmp SHORT $LN9@unz64local -$LN7@unz64local: - -; 912 : else if (uMagic!=0x02014b50) - - 00064 81 7c 24 18 50 - 4b 01 02 cmp DWORD PTR _uMagic$[esp+144], 33639248 ; 02014b50H - 0006c b8 99 ff ff ff mov eax, -103 ; ffffff99H - 00071 0f 45 f0 cmovne esi, eax -$LN9@unz64local: - -; 913 : err=UNZ_BADZIPFILE; -; 914 : } -; 915 : -; 916 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK) - - 00074 8b 57 30 mov edx, DWORD PTR [edi+48] - 00077 8d 44 24 30 lea eax, DWORD PTR _file_info$[esp+144] - 0007b 50 push eax - 0007c 8b cf mov ecx, edi - 0007e e8 00 00 00 00 call _unz64local_getShort - -; 917 : err=UNZ_ERRNO; -; 918 : -; 919 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version_needed) != UNZ_OK) - - 00083 8b 57 30 mov edx, DWORD PTR [edi+48] - 00086 83 c9 ff or ecx, -1 - 00089 83 c4 04 add esp, 4 - 0008c 85 c0 test eax, eax - 0008e 8d 44 24 34 lea eax, DWORD PTR _file_info$[esp+148] - 00092 0f 45 f1 cmovne esi, ecx - 00095 8b cf mov ecx, edi - 00097 50 push eax - 00098 e8 00 00 00 00 call _unz64local_getShort - -; 920 : err=UNZ_ERRNO; -; 921 : -; 922 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.flag) != UNZ_OK) - - 0009d 8b 57 30 mov edx, DWORD PTR [edi+48] - 000a0 83 c4 04 add esp, 4 - 000a3 85 c0 test eax, eax - 000a5 8b cf mov ecx, edi - 000a7 b8 ff ff ff ff mov eax, -1 - 000ac 0f 45 f0 cmovne esi, eax - 000af 8d 44 24 38 lea eax, DWORD PTR _file_info$[esp+152] - 000b3 50 push eax - 000b4 e8 00 00 00 00 call _unz64local_getShort - -; 923 : err=UNZ_ERRNO; -; 924 : -; 925 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.compression_method) != UNZ_OK) - - 000b9 8b 57 30 mov edx, DWORD PTR [edi+48] - 000bc 83 c4 04 add esp, 4 - 000bf 85 c0 test eax, eax - 000c1 8b cf mov ecx, edi - 000c3 b8 ff ff ff ff mov eax, -1 - 000c8 0f 45 f0 cmovne esi, eax - 000cb 8d 44 24 3c lea eax, DWORD PTR _file_info$[esp+156] - 000cf 50 push eax - 000d0 e8 00 00 00 00 call _unz64local_getShort - -; 926 : err=UNZ_ERRNO; -; 927 : -; 928 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.dosDate) != UNZ_OK) - - 000d5 8b 57 30 mov edx, DWORD PTR [edi+48] - 000d8 83 c4 04 add esp, 4 - 000db 85 c0 test eax, eax - 000dd 8b cf mov ecx, edi - 000df b8 ff ff ff ff mov eax, -1 - 000e4 0f 45 f0 cmovne esi, eax - 000e7 8d 44 24 40 lea eax, DWORD PTR _file_info$[esp+160] - 000eb 50 push eax - 000ec e8 00 00 00 00 call _unz64local_getLong - 000f1 83 c4 04 add esp, 4 - -; 929 : err=UNZ_ERRNO; -; 930 : -; 931 : unz64local_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date); - - 000f4 8d 4c 24 70 lea ecx, DWORD PTR _file_info$[esp+208] - 000f8 85 c0 test eax, eax - 000fa b8 ff ff ff ff mov eax, -1 - 000ff 0f 45 f0 cmovne esi, eax - 00102 6a 00 push 0 - 00104 ff 74 24 44 push DWORD PTR _file_info$[esp+164] - 00108 e8 00 00 00 00 call _unz64local_DosDateToTmuDate - -; 932 : -; 933 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.crc) != UNZ_OK) - - 0010d 8b 57 30 mov edx, DWORD PTR [edi+48] - 00110 8d 44 24 4c lea eax, DWORD PTR _file_info$[esp+172] - 00114 50 push eax - 00115 8b cf mov ecx, edi - 00117 e8 00 00 00 00 call _unz64local_getLong - -; 934 : err=UNZ_ERRNO; -; 935 : -; 936 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - - 0011c 8b 57 30 mov edx, DWORD PTR [edi+48] - 0011f 83 c4 0c add esp, 12 ; 0000000cH - 00122 85 c0 test eax, eax - 00124 8b cf mov ecx, edi - 00126 b8 ff ff ff ff mov eax, -1 - 0012b 0f 45 f0 cmovne esi, eax - 0012e 8d 44 24 0c lea eax, DWORD PTR _uL$[esp+144] - 00132 50 push eax - 00133 e8 00 00 00 00 call _unz64local_getLong - -; 937 : err=UNZ_ERRNO; -; 938 : file_info.compressed_size = uL; -; 939 : -; 940 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - - 00138 8b 57 30 mov edx, DWORD PTR [edi+48] - 0013b 83 c4 04 add esp, 4 - 0013e 85 c0 test eax, eax - 00140 c7 44 24 4c 00 - 00 00 00 mov DWORD PTR _file_info$[esp+172], 0 - 00148 b8 ff ff ff ff mov eax, -1 - 0014d 8b cf mov ecx, edi - 0014f 0f 45 f0 cmovne esi, eax - 00152 8b 44 24 0c mov eax, DWORD PTR _uL$[esp+144] - 00156 89 44 24 48 mov DWORD PTR _file_info$[esp+168], eax - 0015a 8d 44 24 0c lea eax, DWORD PTR _uL$[esp+144] - 0015e 50 push eax - 0015f e8 00 00 00 00 call _unz64local_getLong - 00164 83 c4 04 add esp, 4 - 00167 85 c0 test eax, eax - 00169 b8 ff ff ff ff mov eax, -1 - 0016e 0f 45 f0 cmovne esi, eax - -; 941 : err=UNZ_ERRNO; -; 942 : file_info.uncompressed_size = uL; - - 00171 8b 44 24 0c mov eax, DWORD PTR _uL$[esp+144] - 00175 89 44 24 50 mov DWORD PTR _file_info$[esp+176], eax - -; 943 : -; 944 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_filename) != UNZ_OK) - - 00179 8b 57 30 mov edx, DWORD PTR [edi+48] - 0017c 8d 44 24 58 lea eax, DWORD PTR _file_info$[esp+184] - 00180 50 push eax - 00181 8b cf mov ecx, edi - 00183 c7 44 24 58 00 - 00 00 00 mov DWORD PTR _file_info$[esp+184], 0 - 0018b e8 00 00 00 00 call _unz64local_getShort - -; 945 : err=UNZ_ERRNO; -; 946 : -; 947 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_extra) != UNZ_OK) - - 00190 8b 57 30 mov edx, DWORD PTR [edi+48] - 00193 83 c4 04 add esp, 4 - 00196 85 c0 test eax, eax - 00198 8b cf mov ecx, edi - 0019a b8 ff ff ff ff mov eax, -1 - 0019f 0f 45 f0 cmovne esi, eax - 001a2 8d 44 24 5c lea eax, DWORD PTR _file_info$[esp+188] - 001a6 50 push eax - 001a7 e8 00 00 00 00 call _unz64local_getShort - -; 948 : err=UNZ_ERRNO; -; 949 : -; 950 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_comment) != UNZ_OK) - - 001ac 8b 57 30 mov edx, DWORD PTR [edi+48] - 001af 83 c4 04 add esp, 4 - 001b2 85 c0 test eax, eax - 001b4 8b cf mov ecx, edi - 001b6 b8 ff ff ff ff mov eax, -1 - 001bb 0f 45 f0 cmovne esi, eax - 001be 8d 44 24 60 lea eax, DWORD PTR _file_info$[esp+192] - 001c2 50 push eax - 001c3 e8 00 00 00 00 call _unz64local_getShort - -; 951 : err=UNZ_ERRNO; -; 952 : -; 953 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.disk_num_start) != UNZ_OK) - - 001c8 8b 57 30 mov edx, DWORD PTR [edi+48] - 001cb 83 c4 04 add esp, 4 - 001ce 85 c0 test eax, eax - 001d0 8b cf mov ecx, edi - 001d2 b8 ff ff ff ff mov eax, -1 - 001d7 0f 45 f0 cmovne esi, eax - 001da 8d 44 24 64 lea eax, DWORD PTR _file_info$[esp+196] - 001de 50 push eax - 001df e8 00 00 00 00 call _unz64local_getShort - -; 954 : err=UNZ_ERRNO; -; 955 : -; 956 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.internal_fa) != UNZ_OK) - - 001e4 8b 57 30 mov edx, DWORD PTR [edi+48] - 001e7 83 c4 04 add esp, 4 - 001ea 85 c0 test eax, eax - 001ec 8b cf mov ecx, edi - 001ee b8 ff ff ff ff mov eax, -1 - 001f3 0f 45 f0 cmovne esi, eax - 001f6 8d 44 24 68 lea eax, DWORD PTR _file_info$[esp+200] - 001fa 50 push eax - 001fb e8 00 00 00 00 call _unz64local_getShort - -; 957 : err=UNZ_ERRNO; -; 958 : -; 959 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.external_fa) != UNZ_OK) - - 00200 8b 57 30 mov edx, DWORD PTR [edi+48] - 00203 83 c4 04 add esp, 4 - 00206 85 c0 test eax, eax - 00208 8b cf mov ecx, edi - 0020a b8 ff ff ff ff mov eax, -1 - 0020f 0f 45 f0 cmovne esi, eax - 00212 8d 44 24 6c lea eax, DWORD PTR _file_info$[esp+204] - 00216 50 push eax - 00217 e8 00 00 00 00 call _unz64local_getLong - -; 960 : err=UNZ_ERRNO; -; 961 : -; 962 : // relative offset of local header -; 963 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - - 0021c 8b 57 30 mov edx, DWORD PTR [edi+48] - 0021f 83 c4 04 add esp, 4 - 00222 85 c0 test eax, eax - 00224 8b cf mov ecx, edi - 00226 b8 ff ff ff ff mov eax, -1 - 0022b 0f 45 f0 cmovne esi, eax - 0022e 8d 44 24 0c lea eax, DWORD PTR _uL$[esp+144] - 00232 50 push eax - 00233 e8 00 00 00 00 call _unz64local_getLong - -; 964 : err=UNZ_ERRNO; -; 965 : file_info_internal.offset_curfile = uL; -; 966 : -; 967 : lSeek+=file_info.size_filename; - - 00238 8b 4c 24 5c mov ecx, DWORD PTR _file_info$[esp+188] - 0023c 83 c4 04 add esp, 4 - 0023f 85 c0 test eax, eax - 00241 c7 44 24 2c 00 - 00 00 00 mov DWORD PTR _file_info_internal$[esp+148], 0 - 00249 b8 ff ff ff ff mov eax, -1 - 0024e 0f 45 f0 cmovne esi, eax - 00251 8b 44 24 0c mov eax, DWORD PTR _uL$[esp+144] - 00255 89 44 24 14 mov DWORD PTR _file_info_internal$2$[esp+144], eax - 00259 89 44 24 28 mov DWORD PTR _file_info_internal$[esp+144], eax - 0025d 89 4c 24 0c mov DWORD PTR _lSeek$1$[esp+144], ecx - -; 968 : if ((err==UNZ_OK) && (szFileName!=NULL)) - - 00261 85 f6 test esi, esi - 00263 0f 85 f7 00 00 - 00 jne $LN30@unz64local - 00269 8b 55 0c mov edx, DWORD PTR _szFileName$[ebp] - 0026c 85 d2 test edx, edx - 0026e 74 53 je SHORT $LN73@unz64local - -; 969 : { -; 970 : uLong uSizeRead ; -; 971 : if (file_info.size_filename0) && (fileNameBufferSize>0)) - - 00289 85 c9 test ecx, ecx - 0028b 74 28 je SHORT $LN29@unz64local - 0028d 85 c0 test eax, eax - 0028f 74 24 je SHORT $LN29@unz64local - -; 980 : if (ZREAD64(s->z_filefunc, s->filestream,szFileName,uSizeRead)!=uSizeRead) - - 00291 8b 47 04 mov eax, DWORD PTR [edi+4] - 00294 52 push edx - 00295 ff 75 0c push DWORD PTR _szFileName$[ebp] - 00298 ff 77 30 push DWORD PTR [edi+48] - 0029b ff 77 1c push DWORD PTR [edi+28] - 0029e ff d0 call eax - 002a0 8b 54 24 20 mov edx, DWORD PTR _uSizeRead$1$[esp+160] - 002a4 83 c4 10 add esp, 16 ; 00000010H - 002a7 8b 4c 24 0c mov ecx, DWORD PTR _lSeek$1$[esp+144] - 002ab 3b c2 cmp eax, edx - 002ad b8 ff ff ff ff mov eax, -1 - 002b2 0f 45 f0 cmovne esi, eax -$LN29@unz64local: - -; 981 : err=UNZ_ERRNO; -; 982 : lSeek -= uSizeRead; - - 002b5 2b ca sub ecx, edx - 002b7 89 4c 24 0c mov DWORD PTR _lSeek$1$[esp+144], ecx - -; 983 : } -; 984 : -; 985 : // Read extrafield -; 986 : if ((err==UNZ_OK) && (extraField!=NULL)) - - 002bb 85 f6 test esi, esi - 002bd 0f 85 9d 00 00 - 00 jne $LN30@unz64local -$LN73@unz64local: - 002c3 83 7d 14 00 cmp DWORD PTR _extraField$[ebp], 0 - 002c7 0f 84 93 00 00 - 00 je $LN30@unz64local - -; 987 : { -; 988 : ZPOS64_T uSizeRead ; -; 989 : if (file_info.size_file_extraz_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - - 002e4 8b c1 mov eax, ecx - 002e6 8b cf mov ecx, edi - 002e8 99 cdq - 002e9 6a 01 push 1 - 002eb 52 push edx - 002ec 8b 57 30 mov edx, DWORD PTR [edi+48] - 002ef 50 push eax - 002f0 e8 00 00 00 00 call _call_zseek64 - -; 997 : lSeek=0; - - 002f5 8b 55 18 mov edx, DWORD PTR _extraFieldBufferSize$[ebp] - 002f8 83 c4 0c add esp, 12 ; 0000000cH - 002fb 85 c0 test eax, eax - 002fd 8b 44 24 5c mov eax, DWORD PTR _file_info$[esp+188] - 00301 75 08 jne SHORT $LN35@unz64local - 00303 33 c9 xor ecx, ecx - 00305 89 4c 24 0c mov DWORD PTR _lSeek$1$[esp+144], ecx - 00309 eb 07 jmp SHORT $LN36@unz64local -$LN35@unz64local: - 0030b 8b 4c 24 0c mov ecx, DWORD PTR _lSeek$1$[esp+144] - -; 998 : else -; 999 : err=UNZ_ERRNO; - - 0030f 83 ce ff or esi, -1 -$LN36@unz64local: - -; 1000 : } -; 1001 : -; 1002 : if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0)) - - 00312 85 c0 test eax, eax - 00314 74 3c je SHORT $LN80@unz64local - 00316 85 d2 test edx, edx - 00318 74 38 je SHORT $LN80@unz64local - -; 1003 : if (ZREAD64(s->z_filefunc, s->filestream,extraField,(uLong)uSizeRead)!=uSizeRead) - - 0031a ff 74 24 10 push DWORD PTR _uSizeRead$1$[esp+144] - 0031e 8b 47 04 mov eax, DWORD PTR [edi+4] - 00321 ff 75 14 push DWORD PTR _extraField$[ebp] - 00324 ff 77 30 push DWORD PTR [edi+48] - 00327 ff 77 1c push DWORD PTR [edi+28] - 0032a ff d0 call eax - 0032c 8b 54 24 20 mov edx, DWORD PTR _uSizeRead$1$[esp+160] - 00330 83 c4 10 add esp, 16 ; 00000010H - 00333 33 c9 xor ecx, ecx - 00335 3b c2 cmp eax, edx - 00337 75 04 jne SHORT $LN77@unz64local - 00339 85 c9 test ecx, ecx - 0033b 74 03 je SHORT $LN78@unz64local -$LN77@unz64local: - -; 1004 : err=UNZ_ERRNO; - - 0033d 83 ce ff or esi, -1 -$LN78@unz64local: - 00340 8b 44 24 5c mov eax, DWORD PTR _file_info$[esp+188] - 00344 8b 4c 24 0c mov ecx, DWORD PTR _lSeek$1$[esp+144] - -; 1005 : -; 1006 : lSeek += file_info.size_file_extra - (uLong)uSizeRead; - - 00348 2b c2 sub eax, edx - 0034a 03 c8 add ecx, eax - -; 1007 : } - - 0034c 8b 44 24 5c mov eax, DWORD PTR _file_info$[esp+188] - 00350 eb 14 jmp SHORT $LN81@unz64local -$LN80@unz64local: - 00352 8b 54 24 10 mov edx, DWORD PTR _uSizeRead$1$[esp+144] - -; 1005 : -; 1006 : lSeek += file_info.size_file_extra - (uLong)uSizeRead; - - 00356 2b c2 sub eax, edx - 00358 03 c8 add ecx, eax - -; 1007 : } - - 0035a 8b 44 24 5c mov eax, DWORD PTR _file_info$[esp+188] - 0035e eb 06 jmp SHORT $LN81@unz64local -$LN30@unz64local: - -; 1008 : else -; 1009 : lSeek += file_info.size_file_extra; - - 00360 8b 44 24 5c mov eax, DWORD PTR _file_info$[esp+188] - 00364 03 c8 add ecx, eax -$LN81@unz64local: - 00366 89 4c 24 0c mov DWORD PTR _lSeek$1$[esp+144], ecx - -; 1010 : -; 1011 : -; 1012 : if ((err==UNZ_OK) && (file_info.size_file_extra != 0)) - - 0036a 85 f6 test esi, esi - 0036c 0f 85 3e 02 00 - 00 jne $LN66@unz64local - 00372 85 c0 test eax, eax - 00374 0f 84 63 01 00 - 00 je $LN74@unz64local - -; 1013 : { -; 1014 : uLong acc = 0; -; 1015 : -; 1016 : // since lSeek now points to after the extra field we need to move back -; 1017 : lSeek -= file_info.size_file_extra; - - 0037a 2b c8 sub ecx, eax - 0037c 89 74 24 18 mov DWORD PTR _acc$1$[esp+144], esi - 00380 89 4c 24 0c mov DWORD PTR _lSeek$1$[esp+144], ecx - -; 1018 : -; 1019 : if (lSeek!=0) - - 00384 74 25 je SHORT $LN68@unz64local - -; 1020 : { -; 1021 : if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - - 00386 8b c1 mov eax, ecx - 00388 8b cf mov ecx, edi - 0038a 99 cdq - 0038b 6a 01 push 1 - 0038d 52 push edx - 0038e 8b 57 30 mov edx, DWORD PTR [edi+48] - 00391 50 push eax - 00392 e8 00 00 00 00 call _call_zseek64 - 00397 83 c4 0c add esp, 12 ; 0000000cH - 0039a 85 c0 test eax, eax - -; 1022 : lSeek=0; - - 0039c 8b 44 24 5c mov eax, DWORD PTR _file_info$[esp+188] - 003a0 75 06 jne SHORT $LN41@unz64local - 003a2 89 74 24 0c mov DWORD PTR _lSeek$1$[esp+144], esi - 003a6 eb 03 jmp SHORT $LN68@unz64local -$LN41@unz64local: - -; 1023 : else -; 1024 : err=UNZ_ERRNO; - - 003a8 83 ce ff or esi, -1 -$LN68@unz64local: - -; 1025 : } -; 1026 : -; 1027 : while(acc < file_info.size_file_extra) - - 003ab 85 c0 test eax, eax - 003ad 0f 84 22 01 00 - 00 je $LN3@unz64local -$LL2@unz64local: - -; 1028 : { -; 1029 : uLong headerId; -; 1030 : uLong dataSize; -; 1031 : -; 1032 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&headerId) != UNZ_OK) - - 003b3 8b 57 30 mov edx, DWORD PTR [edi+48] - 003b6 8d 44 24 1c lea eax, DWORD PTR _headerId$2[esp+144] - 003ba 50 push eax - 003bb 8b cf mov ecx, edi - 003bd e8 00 00 00 00 call _unz64local_getShort - -; 1033 : err=UNZ_ERRNO; -; 1034 : -; 1035 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&dataSize) != UNZ_OK) - - 003c2 8b 57 30 mov edx, DWORD PTR [edi+48] - 003c5 83 c4 04 add esp, 4 - 003c8 85 c0 test eax, eax - 003ca 8b cf mov ecx, edi - 003cc b8 ff ff ff ff mov eax, -1 - 003d1 0f 45 f0 cmovne esi, eax - 003d4 8d 44 24 10 lea eax, DWORD PTR _dataSize$1[esp+144] - 003d8 50 push eax - 003d9 e8 00 00 00 00 call _unz64local_getShort - 003de 83 c4 04 add esp, 4 - 003e1 85 c0 test eax, eax - 003e3 b8 ff ff ff ff mov eax, -1 - 003e8 0f 45 f0 cmovne esi, eax - -; 1036 : err=UNZ_ERRNO; -; 1037 : -; 1038 : /* ZIP64 extra fields */ -; 1039 : if (headerId == 0x0001) - - 003eb 83 7c 24 1c 01 cmp DWORD PTR _headerId$2[esp+144], 1 - 003f0 0f 85 a7 00 00 - 00 jne $LN45@unz64local - -; 1040 : { -; 1041 : uLong uL; -; 1042 : -; 1043 : if(file_info.uncompressed_size == MAXU32) - - 003f6 39 44 24 50 cmp DWORD PTR _file_info$[esp+176], eax - 003fa 75 23 jne SHORT $LN48@unz64local - 003fc 83 7c 24 54 00 cmp DWORD PTR _file_info$[esp+180], 0 - 00401 75 1c jne SHORT $LN48@unz64local - -; 1044 : { -; 1045 : if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK) - - 00403 8b 57 30 mov edx, DWORD PTR [edi+48] - 00406 8d 44 24 50 lea eax, DWORD PTR _file_info$[esp+176] - 0040a 50 push eax - 0040b 8b cf mov ecx, edi - 0040d e8 00 00 00 00 call _unz64local_getLong64 - 00412 83 c4 04 add esp, 4 - 00415 85 c0 test eax, eax - 00417 b8 ff ff ff ff mov eax, -1 - 0041c 0f 45 f0 cmovne esi, eax -$LN48@unz64local: - -; 1046 : err=UNZ_ERRNO; -; 1047 : } -; 1048 : -; 1049 : if(file_info.compressed_size == MAXU32) - - 0041f 83 7c 24 48 ff cmp DWORD PTR _file_info$[esp+168], -1 - 00424 75 23 jne SHORT $LN50@unz64local - 00426 83 7c 24 4c 00 cmp DWORD PTR _file_info$[esp+172], 0 - 0042b 75 1c jne SHORT $LN50@unz64local - -; 1050 : { -; 1051 : if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK) - - 0042d 8b 57 30 mov edx, DWORD PTR [edi+48] - 00430 8d 44 24 48 lea eax, DWORD PTR _file_info$[esp+168] - 00434 50 push eax - 00435 8b cf mov ecx, edi - 00437 e8 00 00 00 00 call _unz64local_getLong64 - 0043c 83 c4 04 add esp, 4 - 0043f 85 c0 test eax, eax - 00441 b8 ff ff ff ff mov eax, -1 - 00446 0f 45 f0 cmovne esi, eax -$LN50@unz64local: - -; 1052 : err=UNZ_ERRNO; -; 1053 : } -; 1054 : -; 1055 : if(file_info_internal.offset_curfile == MAXU32) - - 00449 83 7c 24 14 ff cmp DWORD PTR _file_info_internal$2$[esp+144], -1 - 0044e 75 2b jne SHORT $LN52@unz64local - 00450 83 7c 24 2c 00 cmp DWORD PTR _file_info_internal$[esp+148], 0 - 00455 75 24 jne SHORT $LN52@unz64local - -; 1056 : { -; 1057 : /* Relative Header offset */ -; 1058 : if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK) - - 00457 8b 57 30 mov edx, DWORD PTR [edi+48] - 0045a 8d 44 24 28 lea eax, DWORD PTR _file_info_internal$[esp+144] - 0045e 50 push eax - 0045f 8b cf mov ecx, edi - 00461 e8 00 00 00 00 call _unz64local_getLong64 - 00466 83 c4 04 add esp, 4 - 00469 85 c0 test eax, eax - 0046b b8 ff ff ff ff mov eax, -1 - 00470 0f 45 f0 cmovne esi, eax - 00473 8b 44 24 28 mov eax, DWORD PTR _file_info_internal$[esp+144] - 00477 89 44 24 14 mov DWORD PTR _file_info_internal$2$[esp+144], eax -$LN52@unz64local: - -; 1059 : err=UNZ_ERRNO; -; 1060 : } -; 1061 : -; 1062 : if(file_info.disk_num_start == MAXU32) - - 0047b 83 7c 24 64 ff cmp DWORD PTR _file_info$[esp+196], -1 - 00480 75 3a jne SHORT $LN55@unz64local - -; 1063 : { -; 1064 : /* Disk Start Number */ -; 1065 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - - 00482 8b 57 30 mov edx, DWORD PTR [edi+48] - 00485 8d 44 24 24 lea eax, DWORD PTR _uL$3[esp+144] - 00489 50 push eax - 0048a 8b cf mov ecx, edi - 0048c e8 00 00 00 00 call _unz64local_getLong - 00491 83 c4 04 add esp, 4 - 00494 85 c0 test eax, eax - 00496 74 24 je SHORT $LN55@unz64local - -; 1066 : err=UNZ_ERRNO; - - 00498 83 ce ff or esi, -1 - -; 1067 : } -; 1068 : -; 1069 : } - - 0049b eb 1f jmp SHORT $LN55@unz64local -$LN45@unz64local: - -; 1070 : else -; 1071 : { -; 1072 : if (ZSEEK64(s->z_filefunc, s->filestream,dataSize,ZLIB_FILEFUNC_SEEK_CUR)!=0) - - 0049d 8b 57 30 mov edx, DWORD PTR [edi+48] - 004a0 8b cf mov ecx, edi - 004a2 6a 01 push 1 - 004a4 6a 00 push 0 - 004a6 ff 74 24 18 push DWORD PTR _dataSize$1[esp+152] - 004aa e8 00 00 00 00 call _call_zseek64 - 004af 83 c4 0c add esp, 12 ; 0000000cH - 004b2 85 c0 test eax, eax - 004b4 b8 ff ff ff ff mov eax, -1 - 004b9 0f 45 f0 cmovne esi, eax -$LN55@unz64local: - -; 1073 : err=UNZ_ERRNO; -; 1074 : } -; 1075 : -; 1076 : acc += 2 + 2 + dataSize; - - 004bc 8b 44 24 18 mov eax, DWORD PTR _acc$1$[esp+144] - 004c0 83 c0 04 add eax, 4 - 004c3 03 44 24 10 add eax, DWORD PTR _dataSize$1[esp+144] - 004c7 89 44 24 18 mov DWORD PTR _acc$1$[esp+144], eax - 004cb 3b 44 24 5c cmp eax, DWORD PTR _file_info$[esp+188] - 004cf 0f 82 de fe ff - ff jb $LL2@unz64local -$LN3@unz64local: - -; 1077 : } -; 1078 : } -; 1079 : -; 1080 : if ((err==UNZ_OK) && (szComment!=NULL)) - - 004d5 85 f6 test esi, esi - 004d7 0f 85 d3 00 00 - 00 jne $LN66@unz64local -$LN74@unz64local: - 004dd 8b 55 1c mov edx, DWORD PTR _szComment$[ebp] - 004e0 85 d2 test edx, edx - 004e2 74 76 je SHORT $LN75@unz64local - -; 1081 : { -; 1082 : uLong uSizeRead ; -; 1083 : if (file_info.size_file_commentz_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - - 00505 99 cdq - 00506 8b cf mov ecx, edi - 00508 6a 01 push 1 - 0050a 52 push edx - 0050b 8b 57 30 mov edx, DWORD PTR [edi+48] - 0050e 50 push eax - 0050f e8 00 00 00 00 call _call_zseek64 - 00514 8b 4d 20 mov ecx, DWORD PTR _commentBufferSize$[ebp] - 00517 83 c4 0c add esp, 12 ; 0000000cH - 0051a 8b 55 1c mov edx, DWORD PTR _szComment$[ebp] - 0051d 85 c0 test eax, eax - 0051f b8 ff ff ff ff mov eax, -1 - 00524 0f 45 f0 cmovne esi, eax -$LN62@unz64local: - -; 1094 : lSeek=0; -; 1095 : else -; 1096 : err=UNZ_ERRNO; -; 1097 : } -; 1098 : -; 1099 : if ((file_info.size_file_comment>0) && (commentBufferSize>0)) - - 00527 83 7c 24 60 00 cmp DWORD PTR _file_info$[esp+192], 0 - 0052c 76 28 jbe SHORT $LN64@unz64local - 0052e 85 c9 test ecx, ecx - 00530 74 24 je SHORT $LN64@unz64local - -; 1100 : if (ZREAD64(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead) - - 00532 ff 74 24 10 push DWORD PTR _uSizeRead$1$[esp+144] - 00536 8b 47 04 mov eax, DWORD PTR [edi+4] - 00539 52 push edx - 0053a ff 77 30 push DWORD PTR [edi+48] - 0053d ff 77 1c push DWORD PTR [edi+28] - 00540 ff d0 call eax - 00542 83 c4 10 add esp, 16 ; 00000010H - 00545 3b 44 24 10 cmp eax, DWORD PTR _uSizeRead$1$[esp+144] - 00549 74 0b je SHORT $LN64@unz64local - -; 1101 : err=UNZ_ERRNO; - - 0054b 83 ce ff or esi, -1 - -; 1113 : -; 1114 : return err; - - 0054e 8b c6 mov eax, esi - -; 1115 : } - - 00550 5f pop edi - 00551 5e pop esi - 00552 8b e5 mov esp, ebp - 00554 5d pop ebp - 00555 c3 ret 0 -$LN64@unz64local: - -; 1102 : lSeek+=file_info.size_file_comment - uSizeRead; -; 1103 : } -; 1104 : else -; 1105 : lSeek+=file_info.size_file_comment; -; 1106 : -; 1107 : -; 1108 : if ((err==UNZ_OK) && (pfile_info!=NULL)) - - 00556 85 f6 test esi, esi - 00558 75 56 jne SHORT $LN66@unz64local -$LN75@unz64local: - 0055a 8b 44 24 20 mov eax, DWORD PTR _pfile_info$1$[esp+144] - 0055e 85 c0 test eax, eax - 00560 74 3a je SHORT $LN76@unz64local - -; 1109 : *pfile_info=file_info; - - 00562 0f 10 44 24 30 movups xmm0, XMMWORD PTR _file_info$[esp+144] - 00567 0f 11 00 movups XMMWORD PTR [eax], xmm0 - 0056a 0f 10 44 24 40 movups xmm0, XMMWORD PTR _file_info$[esp+160] - 0056f 0f 11 40 10 movups XMMWORD PTR [eax+16], xmm0 - 00573 0f 10 44 24 50 movups xmm0, XMMWORD PTR _file_info$[esp+176] - 00578 0f 11 40 20 movups XMMWORD PTR [eax+32], xmm0 - 0057c 0f 10 44 24 60 movups xmm0, XMMWORD PTR _file_info$[esp+192] - 00581 0f 11 40 30 movups XMMWORD PTR [eax+48], xmm0 - 00585 0f 10 44 24 70 movups xmm0, XMMWORD PTR _file_info$[esp+208] - 0058a 0f 11 40 40 movups XMMWORD PTR [eax+64], xmm0 - 0058e f3 0f 7e 84 24 - 80 00 00 00 movq xmm0, QWORD PTR _file_info$[esp+224] - 00597 66 0f d6 40 50 movq QWORD PTR [eax+80], xmm0 -$LN76@unz64local: - -; 1110 : -; 1111 : if ((err==UNZ_OK) && (pfile_info_internal!=NULL)) - - 0059c 8b 4d 08 mov ecx, DWORD PTR _pfile_info_internal$[ebp] - 0059f 85 c9 test ecx, ecx - 005a1 74 0d je SHORT $LN66@unz64local - -; 1112 : *pfile_info_internal=file_info_internal; - - 005a3 8b 44 24 14 mov eax, DWORD PTR _file_info_internal$2$[esp+144] - 005a7 89 01 mov DWORD PTR [ecx], eax - 005a9 8b 44 24 2c mov eax, DWORD PTR _file_info_internal$[esp+148] - 005ad 89 41 04 mov DWORD PTR [ecx+4], eax -$LN66@unz64local: - -; 1115 : } - - 005b0 5f pop edi - 005b1 8b c6 mov eax, esi - 005b3 5e pop esi - 005b4 8b e5 mov esp, ebp - 005b6 5d pop ebp - 005b7 c3 ret 0 -_unz64local_GetCurrentFileInfoInternal ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGetCurrentFileInfo64@32 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_pfile_info$ = 12 ; size = 4 -_szFileName$ = 16 ; size = 4 -_fileNameBufferSize$ = 20 ; size = 4 -_extraField$ = 24 ; size = 4 -_extraFieldBufferSize$ = 28 ; size = 4 -_szComment$ = 32 ; size = 4 -_commentBufferSize$ = 36 ; size = 4 -_unzGetCurrentFileInfo64@32 PROC ; COMDAT - -; 1129 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1130 : return unz64local_GetCurrentFileInfoInternal(file,pfile_info,NULL, - - 00003 ff 75 24 push DWORD PTR _commentBufferSize$[ebp] - 00006 8b 55 0c mov edx, DWORD PTR _pfile_info$[ebp] - 00009 ff 75 20 push DWORD PTR _szComment$[ebp] - 0000c 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 0000f ff 75 1c push DWORD PTR _extraFieldBufferSize$[ebp] - 00012 ff 75 18 push DWORD PTR _extraField$[ebp] - 00015 ff 75 14 push DWORD PTR _fileNameBufferSize$[ebp] - 00018 ff 75 10 push DWORD PTR _szFileName$[ebp] - 0001b 6a 00 push 0 - 0001d e8 00 00 00 00 call _unz64local_GetCurrentFileInfoInternal - 00022 83 c4 1c add esp, 28 ; 0000001cH - -; 1131 : szFileName,fileNameBufferSize, -; 1132 : extraField,extraFieldBufferSize, -; 1133 : szComment,commentBufferSize); -; 1134 : } - - 00025 5d pop ebp - 00026 c2 20 00 ret 32 ; 00000020H -_unzGetCurrentFileInfo64@32 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGetCurrentFileInfo@32 -_TEXT SEGMENT -_file_info64$ = -88 ; size = 88 -_file$ = 8 ; size = 4 -_pfile_info$ = 12 ; size = 4 -_szFileName$ = 16 ; size = 4 -_fileNameBufferSize$ = 20 ; size = 4 -_extraField$ = 24 ; size = 4 -_extraFieldBufferSize$ = 28 ; size = 4 -_szComment$ = 32 ; size = 4 -_commentBufferSize$ = 36 ; size = 4 -_unzGetCurrentFileInfo@32 PROC ; COMDAT - -; 1141 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 5c sub esp, 92 ; 0000005cH - -; 1142 : int err; -; 1143 : unz_file_info64 file_info64; -; 1144 : err = unz64local_GetCurrentFileInfoInternal(file,&file_info64,NULL, - - 00009 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 0000c 8d 54 24 04 lea edx, DWORD PTR _file_info64$[esp+92] - 00010 56 push esi - 00011 ff 75 24 push DWORD PTR _commentBufferSize$[ebp] - 00014 ff 75 20 push DWORD PTR _szComment$[ebp] - 00017 ff 75 1c push DWORD PTR _extraFieldBufferSize$[ebp] - 0001a ff 75 18 push DWORD PTR _extraField$[ebp] - 0001d ff 75 14 push DWORD PTR _fileNameBufferSize$[ebp] - 00020 ff 75 10 push DWORD PTR _szFileName$[ebp] - 00023 6a 00 push 0 - 00025 e8 00 00 00 00 call _unz64local_GetCurrentFileInfoInternal - 0002a 8b f0 mov esi, eax - 0002c 83 c4 1c add esp, 28 ; 0000001cH - -; 1145 : szFileName,fileNameBufferSize, -; 1146 : extraField,extraFieldBufferSize, -; 1147 : szComment,commentBufferSize); -; 1148 : if ((err==UNZ_OK) && (pfile_info != NULL)) - - 0002f 85 f6 test esi, esi - 00031 75 7e jne SHORT $LN2@unzGetCurr - 00033 8b 55 0c mov edx, DWORD PTR _pfile_info$[ebp] - 00036 85 d2 test edx, edx - 00038 74 77 je SHORT $LN2@unzGetCurr - -; 1149 : { -; 1150 : pfile_info->version = file_info64.version; -; 1151 : pfile_info->version_needed = file_info64.version_needed; - - 0003a 8b 44 24 0c mov eax, DWORD PTR _file_info64$[esp+100] - -; 1152 : pfile_info->flag = file_info64.flag; -; 1153 : pfile_info->compression_method = file_info64.compression_method; -; 1154 : pfile_info->dosDate = file_info64.dosDate; -; 1155 : pfile_info->crc = file_info64.crc; -; 1156 : -; 1157 : pfile_info->size_filename = file_info64.size_filename; -; 1158 : pfile_info->size_file_extra = file_info64.size_file_extra; -; 1159 : pfile_info->size_file_comment = file_info64.size_file_comment; -; 1160 : -; 1161 : pfile_info->disk_num_start = file_info64.disk_num_start; -; 1162 : pfile_info->internal_fa = file_info64.internal_fa; -; 1163 : pfile_info->external_fa = file_info64.external_fa; -; 1164 : -; 1165 : pfile_info->tmu_date = file_info64.tmu_date, - - 0003e 0f 10 44 24 48 movups xmm0, XMMWORD PTR _file_info64$[esp+160] - 00043 89 42 04 mov DWORD PTR [edx+4], eax - 00046 8b 44 24 10 mov eax, DWORD PTR _file_info64$[esp+104] - 0004a 89 42 08 mov DWORD PTR [edx+8], eax - 0004d 8b 44 24 14 mov eax, DWORD PTR _file_info64$[esp+108] - 00051 8b 4c 24 08 mov ecx, DWORD PTR _file_info64$[esp+96] - 00055 89 42 0c mov DWORD PTR [edx+12], eax - 00058 8b 44 24 18 mov eax, DWORD PTR _file_info64$[esp+112] - 0005c 89 42 10 mov DWORD PTR [edx+16], eax - 0005f 8b 44 24 1c mov eax, DWORD PTR _file_info64$[esp+116] - 00063 89 42 14 mov DWORD PTR [edx+20], eax - 00066 8b 44 24 30 mov eax, DWORD PTR _file_info64$[esp+136] - 0006a 89 42 20 mov DWORD PTR [edx+32], eax - 0006d 8b 44 24 34 mov eax, DWORD PTR _file_info64$[esp+140] - 00071 89 42 24 mov DWORD PTR [edx+36], eax - 00074 8b 44 24 38 mov eax, DWORD PTR _file_info64$[esp+144] - 00078 89 42 28 mov DWORD PTR [edx+40], eax - 0007b 8b 44 24 3c mov eax, DWORD PTR _file_info64$[esp+148] - 0007f 89 42 2c mov DWORD PTR [edx+44], eax - 00082 8b 44 24 40 mov eax, DWORD PTR _file_info64$[esp+152] - 00086 89 42 30 mov DWORD PTR [edx+48], eax - 00089 8b 44 24 44 mov eax, DWORD PTR _file_info64$[esp+156] - 0008d 89 42 34 mov DWORD PTR [edx+52], eax - 00090 8b 44 24 20 mov eax, DWORD PTR _file_info64$[esp+120] - 00094 0f 11 42 38 movups XMMWORD PTR [edx+56], xmm0 - 00098 89 42 18 mov DWORD PTR [edx+24], eax - -; 1166 : -; 1167 : -; 1168 : pfile_info->compressed_size = (uLong)file_info64.compressed_size; -; 1169 : pfile_info->uncompressed_size = (uLong)file_info64.uncompressed_size; - - 0009b 8b 44 24 28 mov eax, DWORD PTR _file_info64$[esp+128] - 0009f f3 0f 7e 44 24 - 58 movq xmm0, QWORD PTR _file_info64$[esp+176] - 000a5 89 42 1c mov DWORD PTR [edx+28], eax - -; 1170 : -; 1171 : } -; 1172 : return err; - - 000a8 8b c6 mov eax, esi - 000aa 89 0a mov DWORD PTR [edx], ecx - 000ac 66 0f d6 42 48 movq QWORD PTR [edx+72], xmm0 -$LN2@unzGetCurr: - -; 1173 : } - - 000b1 5e pop esi - 000b2 8b e5 mov esp, ebp - 000b4 5d pop ebp - 000b5 c2 20 00 ret 32 ; 00000020H -_unzGetCurrentFileInfo@32 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGoToFirstFile@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzGoToFirstFile@4 PROC ; COMDAT - -; 1179 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 1180 : int err=UNZ_OK; -; 1181 : unz64_s* s; -; 1182 : if (file==NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 08 jne SHORT $LN2@unzGoToFir - -; 1183 : return UNZ_PARAMERROR; - - 0000b 8d 46 9a lea eax, DWORD PTR [esi-102] - -; 1192 : } - - 0000e 5e pop esi - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -$LN2@unzGoToFir: - -; 1184 : s=(unz64_s*)file; -; 1185 : s->pos_in_central_dir=s->offset_central_dir; - - 00013 8b 46 78 mov eax, DWORD PTR [esi+120] - -; 1186 : s->num_file=0; -; 1187 : err=unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - - 00016 8d 96 80 00 00 - 00 lea edx, DWORD PTR [esi+128] - 0001c 6a 00 push 0 - 0001e 6a 00 push 0 - 00020 6a 00 push 0 - 00022 6a 00 push 0 - 00024 89 46 58 mov DWORD PTR [esi+88], eax - 00027 8b ce mov ecx, esi - 00029 8b 46 7c mov eax, DWORD PTR [esi+124] - 0002c 6a 00 push 0 - 0002e 89 46 5c mov DWORD PTR [esi+92], eax - 00031 8d 86 d8 00 00 - 00 lea eax, DWORD PTR [esi+216] - 00037 6a 00 push 0 - 00039 50 push eax - 0003a c7 46 50 00 00 - 00 00 mov DWORD PTR [esi+80], 0 - 00041 c7 46 54 00 00 - 00 00 mov DWORD PTR [esi+84], 0 - 00048 e8 00 00 00 00 call _unz64local_GetCurrentFileInfoInternal - 0004d 8b c8 mov ecx, eax - 0004f 83 c4 1c add esp, 28 ; 0000001cH - -; 1188 : &s->cur_file_info_internal, -; 1189 : NULL,0,NULL,0,NULL,0); -; 1190 : s->current_file_ok = (err == UNZ_OK); - - 00052 33 c0 xor eax, eax - 00054 85 c9 test ecx, ecx - 00056 0f 94 c0 sete al - 00059 99 cdq - 0005a 89 46 60 mov DWORD PTR [esi+96], eax - -; 1191 : return err; - - 0005d 8b c1 mov eax, ecx - 0005f 89 56 64 mov DWORD PTR [esi+100], edx - -; 1192 : } - - 00062 5e pop esi - 00063 5d pop ebp - 00064 c2 04 00 ret 4 -_unzGoToFirstFile@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGoToNextFile@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzGoToNextFile@4 PROC ; COMDAT - -; 1200 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 1201 : unz64_s* s; -; 1202 : int err; -; 1203 : -; 1204 : if (file==NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 08 jne SHORT $LN2@unzGoToNex - -; 1205 : return UNZ_PARAMERROR; - - 0000b 8d 46 9a lea eax, DWORD PTR [esi-102] - -; 1221 : } - - 0000e 5e pop esi - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -$LN2@unzGoToNex: - -; 1206 : s=(unz64_s*)file; -; 1207 : if (!s->current_file_ok) - - 00013 8b 46 60 mov eax, DWORD PTR [esi+96] - 00016 0b 46 64 or eax, DWORD PTR [esi+100] - 00019 75 0a jne SHORT $LN3@unzGoToNex -$LN8@unzGoToNex: - -; 1208 : return UNZ_END_OF_LIST_OF_FILE; - - 0001b b8 9c ff ff ff mov eax, -100 ; ffffff9cH - -; 1221 : } - - 00020 5e pop esi - 00021 5d pop ebp - 00022 c2 04 00 ret 4 -$LN3@unzGoToNex: - -; 1209 : if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */ - - 00025 81 7e 38 ff ff - 00 00 cmp DWORD PTR [esi+56], 65535 ; 0000ffffH - 0002c 8b 56 3c mov edx, DWORD PTR [esi+60] - 0002f 75 04 jne SHORT $LN7@unzGoToNex - 00031 85 d2 test edx, edx - 00033 74 15 je SHORT $LN5@unzGoToNex -$LN7@unzGoToNex: - -; 1210 : if (s->num_file+1==s->gi.number_entry) - - 00035 8b 46 50 mov eax, DWORD PTR [esi+80] - 00038 8b 4e 54 mov ecx, DWORD PTR [esi+84] - 0003b 83 c0 01 add eax, 1 - 0003e 83 d1 00 adc ecx, 0 - 00041 3b 46 38 cmp eax, DWORD PTR [esi+56] - 00044 75 04 jne SHORT $LN5@unzGoToNex - 00046 3b ca cmp ecx, edx - 00048 74 d1 je SHORT $LN8@unzGoToNex -$LN5@unzGoToNex: - -; 1211 : return UNZ_END_OF_LIST_OF_FILE; -; 1212 : -; 1213 : s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename + - - 0004a 8b 8e b0 00 00 - 00 mov ecx, DWORD PTR [esi+176] - -; 1214 : s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ; -; 1215 : s->num_file++; -; 1216 : err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - - 00050 8d 96 80 00 00 - 00 lea edx, DWORD PTR [esi+128] - 00056 03 8e ac 00 00 - 00 add ecx, DWORD PTR [esi+172] - 0005c 8b 86 a8 00 00 - 00 mov eax, DWORD PTR [esi+168] - 00062 6a 00 push 0 - 00064 83 c0 2e add eax, 46 ; 0000002eH - 00067 6a 00 push 0 - 00069 03 c1 add eax, ecx - 0006b 8b ce mov ecx, esi - 0006d 01 46 58 add DWORD PTR [esi+88], eax - 00070 8d 86 d8 00 00 - 00 lea eax, DWORD PTR [esi+216] - 00076 6a 00 push 0 - 00078 83 56 5c 00 adc DWORD PTR [esi+92], 0 - 0007c 83 46 50 01 add DWORD PTR [esi+80], 1 - 00080 6a 00 push 0 - 00082 83 56 54 00 adc DWORD PTR [esi+84], 0 - 00086 6a 00 push 0 - 00088 6a 00 push 0 - 0008a 50 push eax - 0008b e8 00 00 00 00 call _unz64local_GetCurrentFileInfoInternal - 00090 8b c8 mov ecx, eax - 00092 83 c4 1c add esp, 28 ; 0000001cH - -; 1217 : &s->cur_file_info_internal, -; 1218 : NULL,0,NULL,0,NULL,0); -; 1219 : s->current_file_ok = (err == UNZ_OK); - - 00095 33 c0 xor eax, eax - 00097 85 c9 test ecx, ecx - 00099 0f 94 c0 sete al - 0009c 99 cdq - 0009d 89 46 60 mov DWORD PTR [esi+96], eax - -; 1220 : return err; - - 000a0 8b c1 mov eax, ecx - 000a2 89 56 64 mov DWORD PTR [esi+100], edx - -; 1221 : } - - 000a5 5e pop esi - 000a6 5d pop ebp - 000a7 c2 04 00 ret 4 -_unzGoToNextFile@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzLocateFile@12 -_TEXT SEGMENT -_num_fileSaved$1$ = -392 ; size = 4 -_num_fileSaved$2$ = -388 ; size = 4 -_pos_in_central_dirSaved$1$ = -384 ; size = 4 -_pos_in_central_dirSaved$2$ = -380 ; size = 4 -_cur_file_info_internalSaved$1$ = -376 ; size = 4 -_cur_file_info_internalSaved$2$ = -372 ; size = 4 -_cur_file_infoSaved$6$ = -368 ; size = 8 -_cur_file_infoSaved$1$ = -352 ; size = 16 -_cur_file_infoSaved$2$ = -336 ; size = 16 -_cur_file_infoSaved$3$ = -320 ; size = 16 -_cur_file_infoSaved$4$ = -304 ; size = 16 -_cur_file_infoSaved$5$ = -288 ; size = 16 -_szCurrentFileName$1 = -264 ; size = 257 -_file$ = 8 ; size = 4 -_szFileName$ = 12 ; size = 4 -_iCaseSensitivity$ = 16 ; size = 4 -_unzLocateFile@12 PROC ; COMDAT - -; 1233 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f0 and esp, -16 ; fffffff0H - 00006 81 ec 88 01 00 - 00 sub esp, 392 ; 00000188H - 0000c 56 push esi - -; 1234 : unz64_s* s; -; 1235 : int err; -; 1236 : -; 1237 : /* We remember the 'current' position in the file so that we can jump -; 1238 : * back there if we fail. -; 1239 : */ -; 1240 : unz_file_info64 cur_file_infoSaved; -; 1241 : unz_file_info64_internal cur_file_info_internalSaved; -; 1242 : ZPOS64_T num_fileSaved; -; 1243 : ZPOS64_T pos_in_central_dirSaved; -; 1244 : -; 1245 : -; 1246 : if (file==NULL) - - 0000d 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00010 57 push edi - 00011 85 f6 test esi, esi - 00013 75 0d jne SHORT $LN4@unzLocateF -$LN18@unzLocateF: - -; 1247 : return UNZ_PARAMERROR; - - 00015 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1286 : return err; -; 1287 : } - - 0001a 5f pop edi - 0001b 5e pop esi - 0001c 8b e5 mov esp, ebp - 0001e 5d pop ebp - 0001f c2 0c 00 ret 12 ; 0000000cH -$LN4@unzLocateF: - -; 1248 : -; 1249 : if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP) - - 00022 8b 7d 0c mov edi, DWORD PTR _szFileName$[ebp] - 00025 8b c7 mov eax, edi - 00027 8d 50 01 lea edx, DWORD PTR [eax+1] - 0002a 66 0f 1f 44 00 - 00 npad 6 -$LL15@unzLocateF: - 00030 8a 08 mov cl, BYTE PTR [eax] - 00032 40 inc eax - 00033 84 c9 test cl, cl - 00035 75 f9 jne SHORT $LL15@unzLocateF - 00037 2b c2 sub eax, edx - 00039 3d 00 01 00 00 cmp eax, 256 ; 00000100H - 0003e 73 d5 jae SHORT $LN18@unzLocateF - -; 1250 : return UNZ_PARAMERROR; -; 1251 : -; 1252 : s=(unz64_s*)file; -; 1253 : if (!s->current_file_ok) - - 00040 8b 46 60 mov eax, DWORD PTR [esi+96] - 00043 0b 46 64 or eax, DWORD PTR [esi+100] - 00046 75 0d jne SHORT $LN6@unzLocateF - -; 1254 : return UNZ_END_OF_LIST_OF_FILE; - - 00048 b8 9c ff ff ff mov eax, -100 ; ffffff9cH - -; 1286 : return err; -; 1287 : } - - 0004d 5f pop edi - 0004e 5e pop esi - 0004f 8b e5 mov esp, ebp - 00051 5d pop ebp - 00052 c2 0c 00 ret 12 ; 0000000cH -$LN6@unzLocateF: - -; 1255 : -; 1256 : /* Save the current state */ -; 1257 : num_fileSaved = s->num_file; -; 1258 : pos_in_central_dirSaved = s->pos_in_central_dir; -; 1259 : cur_file_infoSaved = s->cur_file_info; - - 00055 0f 10 86 80 00 - 00 00 movups xmm0, XMMWORD PTR [esi+128] - 0005c 8b 46 50 mov eax, DWORD PTR [esi+80] - 0005f 89 44 24 08 mov DWORD PTR _num_fileSaved$1$[esp+400], eax - 00063 8b 46 54 mov eax, DWORD PTR [esi+84] - 00066 0f 29 44 24 30 movaps XMMWORD PTR _cur_file_infoSaved$1$[esp+400], xmm0 - 0006b 0f 10 86 90 00 - 00 00 movups xmm0, XMMWORD PTR [esi+144] - 00072 89 44 24 0c mov DWORD PTR _num_fileSaved$2$[esp+400], eax - 00076 8b 46 58 mov eax, DWORD PTR [esi+88] - 00079 0f 29 44 24 40 movaps XMMWORD PTR _cur_file_infoSaved$2$[esp+400], xmm0 - 0007e 0f 10 86 a0 00 - 00 00 movups xmm0, XMMWORD PTR [esi+160] - 00085 89 44 24 10 mov DWORD PTR _pos_in_central_dirSaved$1$[esp+400], eax - 00089 8b 46 5c mov eax, DWORD PTR [esi+92] - 0008c 0f 29 44 24 50 movaps XMMWORD PTR _cur_file_infoSaved$3$[esp+400], xmm0 - 00091 0f 10 86 b0 00 - 00 00 movups xmm0, XMMWORD PTR [esi+176] - 00098 89 44 24 14 mov DWORD PTR _pos_in_central_dirSaved$2$[esp+400], eax - -; 1260 : cur_file_info_internalSaved = s->cur_file_info_internal; - - 0009c 8b 86 d8 00 00 - 00 mov eax, DWORD PTR [esi+216] - 000a2 0f 29 44 24 60 movaps XMMWORD PTR _cur_file_infoSaved$4$[esp+400], xmm0 - 000a7 0f 10 86 c0 00 - 00 00 movups xmm0, XMMWORD PTR [esi+192] - 000ae 89 44 24 18 mov DWORD PTR _cur_file_info_internalSaved$1$[esp+400], eax - 000b2 8b 86 dc 00 00 - 00 mov eax, DWORD PTR [esi+220] - 000b8 0f 29 44 24 70 movaps XMMWORD PTR _cur_file_infoSaved$5$[esp+400], xmm0 - 000bd f3 0f 7e 86 d0 - 00 00 00 movq xmm0, QWORD PTR [esi+208] - -; 1261 : -; 1262 : err = unzGoToFirstFile(file); - - 000c5 56 push esi - 000c6 66 0f d6 44 24 - 24 movq QWORD PTR _cur_file_infoSaved$6$[esp+404], xmm0 - 000cc 89 44 24 20 mov DWORD PTR _cur_file_info_internalSaved$2$[esp+404], eax - 000d0 e8 00 00 00 00 call _unzGoToFirstFile@4 - -; 1263 : -; 1264 : while (err == UNZ_OK) - - 000d5 85 c0 test eax, eax - 000d7 75 4b jne SHORT $LN14@unzLocateF - 000d9 0f 1f 80 00 00 - 00 00 npad 7 -$LL2@unzLocateF: - -; 1265 : { -; 1266 : char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1]; -; 1267 : err = unzGetCurrentFileInfo64(file,NULL, - - 000e0 6a 00 push 0 - 000e2 6a 00 push 0 - 000e4 6a 00 push 0 - 000e6 6a 00 push 0 - 000e8 68 00 01 00 00 push 256 ; 00000100H - 000ed 8d 84 24 9c 00 - 00 00 lea eax, DWORD PTR _szCurrentFileName$1[esp+420] - 000f4 50 push eax - 000f5 6a 00 push 0 - 000f7 56 push esi - 000f8 e8 00 00 00 00 call _unzGetCurrentFileInfo64@32 - -; 1268 : szCurrentFileName,sizeof(szCurrentFileName)-1, -; 1269 : NULL,0,NULL,0); -; 1270 : if (err == UNZ_OK) - - 000fd 85 c0 test eax, eax - 000ff 75 23 jne SHORT $LN14@unzLocateF - -; 1271 : { -; 1272 : if (unzStringFileNameCompare(szCurrentFileName, -; 1273 : szFileName,iCaseSensitivity)==0) - - 00101 ff 75 10 push DWORD PTR _iCaseSensitivity$[ebp] - 00104 8d 84 24 8c 00 - 00 00 lea eax, DWORD PTR _szCurrentFileName$1[esp+404] - 0010b 57 push edi - 0010c 50 push eax - 0010d e8 00 00 00 00 call _unzStringFileNameCompare@12 - 00112 85 c0 test eax, eax - 00114 0f 84 8c 00 00 - 00 je $LN11@unzLocateF - -; 1274 : return UNZ_OK; -; 1275 : err = unzGoToNextFile(file); - - 0011a 56 push esi - 0011b e8 00 00 00 00 call _unzGoToNextFile@4 - 00120 85 c0 test eax, eax - 00122 74 bc je SHORT $LL2@unzLocateF -$LN14@unzLocateF: - -; 1276 : } -; 1277 : } -; 1278 : -; 1279 : /* We failed, so restore the state of the 'current file' to where we -; 1280 : * were. -; 1281 : */ -; 1282 : s->num_file = num_fileSaved ; -; 1283 : s->pos_in_central_dir = pos_in_central_dirSaved ; -; 1284 : s->cur_file_info = cur_file_infoSaved; - - 00124 0f 28 44 24 30 movaps xmm0, XMMWORD PTR _cur_file_infoSaved$1$[esp+400] - 00129 8b 4c 24 08 mov ecx, DWORD PTR _num_fileSaved$1$[esp+400] - 0012d 0f 11 86 80 00 - 00 00 movups XMMWORD PTR [esi+128], xmm0 - 00134 89 4e 50 mov DWORD PTR [esi+80], ecx - 00137 0f 28 44 24 40 movaps xmm0, XMMWORD PTR _cur_file_infoSaved$2$[esp+400] - 0013c 8b 4c 24 0c mov ecx, DWORD PTR _num_fileSaved$2$[esp+400] - 00140 0f 11 86 90 00 - 00 00 movups XMMWORD PTR [esi+144], xmm0 - 00147 89 4e 54 mov DWORD PTR [esi+84], ecx - 0014a 0f 28 44 24 50 movaps xmm0, XMMWORD PTR _cur_file_infoSaved$3$[esp+400] - 0014f 8b 4c 24 10 mov ecx, DWORD PTR _pos_in_central_dirSaved$1$[esp+400] - 00153 0f 11 86 a0 00 - 00 00 movups XMMWORD PTR [esi+160], xmm0 - 0015a 89 4e 58 mov DWORD PTR [esi+88], ecx - 0015d 0f 28 44 24 60 movaps xmm0, XMMWORD PTR _cur_file_infoSaved$4$[esp+400] - 00162 8b 4c 24 14 mov ecx, DWORD PTR _pos_in_central_dirSaved$2$[esp+400] - 00166 0f 11 86 b0 00 - 00 00 movups XMMWORD PTR [esi+176], xmm0 - 0016d 89 4e 5c mov DWORD PTR [esi+92], ecx - 00170 0f 28 44 24 70 movaps xmm0, XMMWORD PTR _cur_file_infoSaved$5$[esp+400] - -; 1285 : s->cur_file_info_internal = cur_file_info_internalSaved; - - 00175 8b 4c 24 18 mov ecx, DWORD PTR _cur_file_info_internalSaved$1$[esp+400] - 00179 0f 11 86 c0 00 - 00 00 movups XMMWORD PTR [esi+192], xmm0 - 00180 89 8e d8 00 00 - 00 mov DWORD PTR [esi+216], ecx - 00186 f3 0f 7e 44 24 - 20 movq xmm0, QWORD PTR _cur_file_infoSaved$6$[esp+400] - 0018c 8b 4c 24 1c mov ecx, DWORD PTR _cur_file_info_internalSaved$2$[esp+400] - 00190 66 0f d6 86 d0 - 00 00 00 movq QWORD PTR [esi+208], xmm0 - 00198 89 8e dc 00 00 - 00 mov DWORD PTR [esi+220], ecx - -; 1286 : return err; -; 1287 : } - - 0019e 5f pop edi - 0019f 5e pop esi - 001a0 8b e5 mov esp, ebp - 001a2 5d pop ebp - 001a3 c2 0c 00 ret 12 ; 0000000cH -$LN11@unzLocateF: - 001a6 5f pop edi - 001a7 33 c0 xor eax, eax - 001a9 5e pop esi - 001aa 8b e5 mov esp, ebp - 001ac 5d pop ebp - 001ad c2 0c 00 ret 12 ; 0000000cH -_unzLocateFile@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGetFilePos64@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_file_pos$ = 12 ; size = 4 -_unzGetFilePos64@8 PROC ; COMDAT - -; 1309 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1310 : unz64_s* s; -; 1311 : -; 1312 : if (file==NULL || file_pos==NULL) - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 85 c9 test ecx, ecx - 00008 74 35 je SHORT $LN3@unzGetFile - 0000a 8b 55 0c mov edx, DWORD PTR _file_pos$[ebp] - 0000d 85 d2 test edx, edx - 0000f 74 2e je SHORT $LN3@unzGetFile - -; 1314 : s=(unz64_s*)file; -; 1315 : if (!s->current_file_ok) - - 00011 8b 41 60 mov eax, DWORD PTR [ecx+96] - 00014 0b 41 64 or eax, DWORD PTR [ecx+100] - 00017 75 09 jne SHORT $LN4@unzGetFile - -; 1316 : return UNZ_END_OF_LIST_OF_FILE; - - 00019 b8 9c ff ff ff mov eax, -100 ; ffffff9cH - -; 1322 : } - - 0001e 5d pop ebp - 0001f c2 08 00 ret 8 -$LN4@unzGetFile: - -; 1317 : -; 1318 : file_pos->pos_in_zip_directory = s->pos_in_central_dir; - - 00022 8b 41 58 mov eax, DWORD PTR [ecx+88] - 00025 89 02 mov DWORD PTR [edx], eax - 00027 8b 41 5c mov eax, DWORD PTR [ecx+92] - 0002a 89 42 04 mov DWORD PTR [edx+4], eax - -; 1319 : file_pos->num_of_file = s->num_file; - - 0002d 8b 41 50 mov eax, DWORD PTR [ecx+80] - 00030 89 42 08 mov DWORD PTR [edx+8], eax - 00033 8b 41 54 mov eax, DWORD PTR [ecx+84] - 00036 89 42 0c mov DWORD PTR [edx+12], eax - -; 1320 : -; 1321 : return UNZ_OK; - - 00039 33 c0 xor eax, eax - -; 1322 : } - - 0003b 5d pop ebp - 0003c c2 08 00 ret 8 -$LN3@unzGetFile: - -; 1313 : return UNZ_PARAMERROR; - - 0003f b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1322 : } - - 00044 5d pop ebp - 00045 c2 08 00 ret 8 -_unzGetFilePos64@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGetFilePos@8 -_TEXT SEGMENT -_file_pos64$ = -16 ; size = 16 -_file$ = 8 ; size = 4 -_file_pos$ = 12 ; size = 4 -_unzGetFilePos@8 PROC ; COMDAT - -; 1327 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 10 sub esp, 16 ; 00000010H - -; 1328 : unz64_file_pos file_pos64; -; 1329 : int err = unzGetFilePos64(file,&file_pos64); - - 00006 8d 45 f0 lea eax, DWORD PTR _file_pos64$[ebp] - 00009 50 push eax - 0000a ff 75 08 push DWORD PTR _file$[ebp] - 0000d e8 00 00 00 00 call _unzGetFilePos64@8 - -; 1330 : if (err==UNZ_OK) - - 00012 85 c0 test eax, eax - 00014 75 0e jne SHORT $LN2@unzGetFile - -; 1331 : { -; 1332 : file_pos->pos_in_zip_directory = (uLong)file_pos64.pos_in_zip_directory; - - 00016 8b 55 0c mov edx, DWORD PTR _file_pos$[ebp] - 00019 8b 4d f0 mov ecx, DWORD PTR _file_pos64$[ebp] - 0001c 89 0a mov DWORD PTR [edx], ecx - -; 1333 : file_pos->num_of_file = (uLong)file_pos64.num_of_file; - - 0001e 8b 4d f8 mov ecx, DWORD PTR _file_pos64$[ebp+8] - 00021 89 4a 04 mov DWORD PTR [edx+4], ecx -$LN2@unzGetFile: - -; 1334 : } -; 1335 : return err; -; 1336 : } - - 00024 8b e5 mov esp, ebp - 00026 5d pop ebp - 00027 c2 08 00 ret 8 -_unzGetFilePos@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGoToFilePos64@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_file_pos$ = 12 ; size = 4 -_unzGoToFilePos64@8 PROC ; COMDAT - -; 1339 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 1340 : unz64_s* s; -; 1341 : int err; -; 1342 : -; 1343 : if (file==NULL || file_pos==NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 74 58 je SHORT $LN3@unzGoToFil - 0000b 8b 4d 0c mov ecx, DWORD PTR _file_pos$[ebp] - 0000e 85 c9 test ecx, ecx - 00010 74 51 je SHORT $LN3@unzGoToFil - -; 1345 : s=(unz64_s*)file; -; 1346 : -; 1347 : /* jump to the right spot */ -; 1348 : s->pos_in_central_dir = file_pos->pos_in_zip_directory; - - 00012 8b 01 mov eax, DWORD PTR [ecx] - -; 1349 : s->num_file = file_pos->num_of_file; -; 1350 : -; 1351 : /* set the current file */ -; 1352 : err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - - 00014 8d 96 80 00 00 - 00 lea edx, DWORD PTR [esi+128] - 0001a 6a 00 push 0 - 0001c 6a 00 push 0 - 0001e 89 46 58 mov DWORD PTR [esi+88], eax - 00021 8b 41 04 mov eax, DWORD PTR [ecx+4] - 00024 6a 00 push 0 - 00026 89 46 5c mov DWORD PTR [esi+92], eax - 00029 8b 41 08 mov eax, DWORD PTR [ecx+8] - 0002c 6a 00 push 0 - 0002e 89 46 50 mov DWORD PTR [esi+80], eax - 00031 8b 41 0c mov eax, DWORD PTR [ecx+12] - 00034 8b ce mov ecx, esi - 00036 6a 00 push 0 - 00038 89 46 54 mov DWORD PTR [esi+84], eax - 0003b 8d 86 d8 00 00 - 00 lea eax, DWORD PTR [esi+216] - 00041 6a 00 push 0 - 00043 50 push eax - 00044 e8 00 00 00 00 call _unz64local_GetCurrentFileInfoInternal - 00049 8b c8 mov ecx, eax - 0004b 83 c4 1c add esp, 28 ; 0000001cH - -; 1353 : &s->cur_file_info_internal, -; 1354 : NULL,0,NULL,0,NULL,0); -; 1355 : /* return results */ -; 1356 : s->current_file_ok = (err == UNZ_OK); - - 0004e 33 c0 xor eax, eax - 00050 85 c9 test ecx, ecx - 00052 0f 94 c0 sete al - 00055 99 cdq - 00056 89 46 60 mov DWORD PTR [esi+96], eax - -; 1357 : return err; - - 00059 8b c1 mov eax, ecx - 0005b 89 56 64 mov DWORD PTR [esi+100], edx - -; 1358 : } - - 0005e 5e pop esi - 0005f 5d pop ebp - 00060 c2 08 00 ret 8 -$LN3@unzGoToFil: - -; 1344 : return UNZ_PARAMERROR; - - 00063 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1358 : } - - 00068 5e pop esi - 00069 5d pop ebp - 0006a c2 08 00 ret 8 -_unzGoToFilePos64@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGoToFilePos@8 -_TEXT SEGMENT -_file_pos64$ = -16 ; size = 16 -_file$ = 8 ; size = 4 -_file_pos$ = 12 ; size = 4 -_unzGoToFilePos@8 PROC ; COMDAT - -; 1363 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - -; 1364 : unz64_file_pos file_pos64; -; 1365 : if (file_pos == NULL) - - 00006 8b 4d 0c mov ecx, DWORD PTR _file_pos$[ebp] - 00009 83 ec 10 sub esp, 16 ; 00000010H - 0000c 85 c9 test ecx, ecx - 0000e 75 09 jne SHORT $LN2@unzGoToFil - -; 1366 : return UNZ_PARAMERROR; - - 00010 8d 41 9a lea eax, DWORD PTR [ecx-102] - -; 1371 : } - - 00013 8b e5 mov esp, ebp - 00015 5d pop ebp - 00016 c2 08 00 ret 8 -$LN2@unzGoToFil: - -; 1367 : -; 1368 : file_pos64.pos_in_zip_directory = file_pos->pos_in_zip_directory; - - 00019 8b 01 mov eax, DWORD PTR [ecx] - 0001b 89 04 24 mov DWORD PTR _file_pos64$[esp+16], eax - -; 1369 : file_pos64.num_of_file = file_pos->num_of_file; - - 0001e 8b 41 04 mov eax, DWORD PTR [ecx+4] - 00021 89 44 24 08 mov DWORD PTR _file_pos64$[esp+24], eax - -; 1370 : return unzGoToFilePos64(file,&file_pos64); - - 00025 8d 04 24 lea eax, DWORD PTR _file_pos64$[esp+16] - 00028 50 push eax - 00029 ff 75 08 push DWORD PTR _file$[ebp] - 0002c c7 44 24 0c 00 - 00 00 00 mov DWORD PTR _file_pos64$[esp+28], 0 - 00034 c7 44 24 14 00 - 00 00 00 mov DWORD PTR _file_pos64$[esp+36], 0 - 0003c e8 00 00 00 00 call _unzGoToFilePos64@8 - -; 1371 : } - - 00041 8b e5 mov esp, ebp - 00043 5d pop ebp - 00044 c2 08 00 ret 8 -_unzGoToFilePos@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unz64local_CheckCurrentFileCoherencyHeader -_TEXT SEGMENT -_size_extra_field$ = -12 ; size = 4 -_size_filename$ = -12 ; size = 4 -_uFlags$ = -12 ; size = 4 -_piSizeVar$1$ = -8 ; size = 4 -_uData$ = -4 ; size = 4 -_uMagic$ = -4 ; size = 4 -_poffset_local_extrafield$ = 8 ; size = 4 -_psize_local_extrafield$ = 12 ; size = 4 -_unz64local_CheckCurrentFileCoherencyHeader PROC ; COMDAT -; _s$ = ecx -; _piSizeVar$ = edx - -; 1388 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 0c sub esp, 12 ; 0000000cH - 00006 53 push ebx - 00007 8b c2 mov eax, edx - 00009 56 push esi - -; 1389 : uLong uMagic,uData,uFlags; -; 1390 : uLong size_filename; -; 1391 : uLong size_extra_field; -; 1392 : int err=UNZ_OK; - - 0000a 33 f6 xor esi, esi - 0000c 89 45 f8 mov DWORD PTR _piSizeVar$1$[ebp], eax - 0000f 57 push edi - -; 1393 : -; 1394 : *piSizeVar = 0; - - 00010 89 30 mov DWORD PTR [eax], esi - 00012 8b f9 mov edi, ecx - -; 1395 : *poffset_local_extrafield = 0; - - 00014 8b 45 08 mov eax, DWORD PTR _poffset_local_extrafield$[ebp] - -; 1396 : *psize_local_extrafield = 0; -; 1397 : -; 1398 : if (ZSEEK64(s->z_filefunc, s->filestream,s->cur_file_info_internal.offset_curfile + -; 1399 : s->byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00017 56 push esi - 00018 8b 4f 48 mov ecx, DWORD PTR [edi+72] - 0001b 03 8f d8 00 00 - 00 add ecx, DWORD PTR [edi+216] - 00021 8b 57 30 mov edx, DWORD PTR [edi+48] - 00024 89 30 mov DWORD PTR [eax], esi - 00026 89 70 04 mov DWORD PTR [eax+4], esi - 00029 8b 45 0c mov eax, DWORD PTR _psize_local_extrafield$[ebp] - 0002c 89 30 mov DWORD PTR [eax], esi - 0002e 8b 47 4c mov eax, DWORD PTR [edi+76] - 00031 13 87 dc 00 00 - 00 adc eax, DWORD PTR [edi+220] - 00037 50 push eax - 00038 51 push ecx - 00039 8b cf mov ecx, edi - 0003b e8 00 00 00 00 call _call_zseek64 - 00040 83 c4 0c add esp, 12 ; 0000000cH - 00043 85 c0 test eax, eax - 00045 74 0a je SHORT $LN28@unz64local - -; 1400 : return UNZ_ERRNO; - - 00047 83 c8 ff or eax, -1 - -; 1462 : -; 1463 : *piSizeVar += (uInt)size_extra_field; -; 1464 : -; 1465 : return err; -; 1466 : } - - 0004a 5f pop edi - 0004b 5e pop esi - 0004c 5b pop ebx - 0004d 8b e5 mov esp, ebp - 0004f 5d pop ebp - 00050 c3 ret 0 -$LN28@unz64local: - -; 1401 : -; 1402 : -; 1403 : if (err==UNZ_OK) -; 1404 : { -; 1405 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) - - 00051 8b 57 30 mov edx, DWORD PTR [edi+48] - 00054 8d 45 fc lea eax, DWORD PTR _uMagic$[ebp] - 00057 50 push eax - 00058 8b cf mov ecx, edi - 0005a e8 00 00 00 00 call _unz64local_getLong - 0005f 83 c4 04 add esp, 4 - 00062 bb 99 ff ff ff mov ebx, -103 ; ffffff99H - 00067 85 c0 test eax, eax - 00069 74 05 je SHORT $LN4@unz64local - -; 1406 : err=UNZ_ERRNO; - - 0006b 83 ce ff or esi, -1 - 0006e eb 0a jmp SHORT $LN6@unz64local -$LN4@unz64local: - -; 1407 : else if (uMagic!=0x04034b50) - - 00070 81 7d fc 50 4b - 03 04 cmp DWORD PTR _uMagic$[ebp], 67324752 ; 04034b50H - 00077 0f 45 f3 cmovne esi, ebx -$LN6@unz64local: - -; 1408 : err=UNZ_BADZIPFILE; -; 1409 : } -; 1410 : -; 1411 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) - - 0007a 8b 57 30 mov edx, DWORD PTR [edi+48] - 0007d 8d 45 fc lea eax, DWORD PTR _uData$[ebp] - 00080 50 push eax - 00081 8b cf mov ecx, edi - 00083 e8 00 00 00 00 call _unz64local_getShort - -; 1412 : err=UNZ_ERRNO; -; 1413 : /* -; 1414 : else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion)) -; 1415 : err=UNZ_BADZIPFILE; -; 1416 : */ -; 1417 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&uFlags) != UNZ_OK) - - 00088 8b 57 30 mov edx, DWORD PTR [edi+48] - 0008b 83 c9 ff or ecx, -1 - 0008e 83 c4 04 add esp, 4 - 00091 85 c0 test eax, eax - 00093 8d 45 f4 lea eax, DWORD PTR _uFlags$[ebp] - 00096 0f 45 f1 cmovne esi, ecx - 00099 8b cf mov ecx, edi - 0009b 50 push eax - 0009c e8 00 00 00 00 call _unz64local_getShort - -; 1418 : err=UNZ_ERRNO; -; 1419 : -; 1420 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) - - 000a1 8b 57 30 mov edx, DWORD PTR [edi+48] - 000a4 83 c4 04 add esp, 4 - 000a7 85 c0 test eax, eax - 000a9 8b cf mov ecx, edi - 000ab b8 ff ff ff ff mov eax, -1 - 000b0 0f 45 f0 cmovne esi, eax - 000b3 8d 45 fc lea eax, DWORD PTR _uData$[ebp] - 000b6 50 push eax - 000b7 e8 00 00 00 00 call _unz64local_getShort - 000bc 83 c4 04 add esp, 4 - 000bf 85 c0 test eax, eax - 000c1 74 05 je SHORT $LN9@unz64local - -; 1421 : err=UNZ_ERRNO; - - 000c3 83 ce ff or esi, -1 - 000c6 eb 22 jmp SHORT $LN12@unz64local -$LN9@unz64local: - -; 1422 : else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method)) - - 000c8 85 f6 test esi, esi - 000ca 75 1e jne SHORT $LN12@unz64local - 000cc 8b 87 8c 00 00 - 00 mov eax, DWORD PTR [edi+140] - 000d2 39 45 fc cmp DWORD PTR _uData$[ebp], eax - 000d5 74 04 je SHORT $LN29@unz64local - -; 1423 : err=UNZ_BADZIPFILE; - - 000d7 8b f3 mov esi, ebx - -; 1424 : -; 1425 : if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) && -; 1426 : /* #ifdef HAVE_BZIP2 */ -; 1427 : (s->cur_file_info.compression_method!=Z_BZIP2ED) && - - 000d9 eb 0f jmp SHORT $LN12@unz64local -$LN29@unz64local: - 000db 85 c0 test eax, eax - 000dd 74 0b je SHORT $LN12@unz64local - 000df 83 f8 0c cmp eax, 12 ; 0000000cH - 000e2 74 06 je SHORT $LN12@unz64local - 000e4 83 f8 08 cmp eax, 8 - 000e7 0f 45 f3 cmovne esi, ebx -$LN12@unz64local: - -; 1428 : /* #endif */ -; 1429 : (s->cur_file_info.compression_method!=Z_DEFLATED)) -; 1430 : err=UNZ_BADZIPFILE; -; 1431 : -; 1432 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* date/time */ - - 000ea 8b 57 30 mov edx, DWORD PTR [edi+48] - 000ed 8d 45 fc lea eax, DWORD PTR _uData$[ebp] - 000f0 50 push eax - 000f1 8b cf mov ecx, edi - 000f3 e8 00 00 00 00 call _unz64local_getLong - -; 1433 : err=UNZ_ERRNO; -; 1434 : -; 1435 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* crc */ - - 000f8 8b 57 30 mov edx, DWORD PTR [edi+48] - 000fb 83 c4 04 add esp, 4 - 000fe 85 c0 test eax, eax - 00100 8b cf mov ecx, edi - 00102 b8 ff ff ff ff mov eax, -1 - 00107 0f 45 f0 cmovne esi, eax - 0010a 8d 45 fc lea eax, DWORD PTR _uData$[ebp] - 0010d 50 push eax - 0010e e8 00 00 00 00 call _unz64local_getLong - 00113 8b 5d f4 mov ebx, DWORD PTR _uFlags$[ebp] - 00116 83 c4 04 add esp, 4 - 00119 85 c0 test eax, eax - 0011b 74 05 je SHORT $LN14@unz64local - -; 1436 : err=UNZ_ERRNO; - - 0011d 83 ce ff or esi, -1 - 00120 eb 1a jmp SHORT $LN16@unz64local -$LN14@unz64local: - -; 1437 : else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && ((uFlags & 8)==0)) - - 00122 85 f6 test esi, esi - 00124 75 16 jne SHORT $LN16@unz64local - 00126 8b 45 fc mov eax, DWORD PTR _uData$[ebp] - 00129 3b 87 94 00 00 - 00 cmp eax, DWORD PTR [edi+148] - 0012f 74 0b je SHORT $LN16@unz64local - 00131 f6 c3 08 test bl, 8 - 00134 b8 99 ff ff ff mov eax, -103 ; ffffff99H - 00139 0f 44 f0 cmove esi, eax -$LN16@unz64local: - -; 1438 : err=UNZ_BADZIPFILE; -; 1439 : -; 1440 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size compr */ - - 0013c 8b 57 30 mov edx, DWORD PTR [edi+48] - 0013f 8d 45 fc lea eax, DWORD PTR _uData$[ebp] - 00142 50 push eax - 00143 8b cf mov ecx, edi - 00145 e8 00 00 00 00 call _unz64local_getLong - 0014a 83 c4 04 add esp, 4 - 0014d 85 c0 test eax, eax - 0014f 74 05 je SHORT $LN17@unz64local - -; 1441 : err=UNZ_ERRNO; - - 00151 83 ce ff or esi, -1 - 00154 eb 29 jmp SHORT $LN19@unz64local -$LN17@unz64local: - -; 1442 : else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && ((uFlags & 8)==0)) - - 00156 8b 45 fc mov eax, DWORD PTR _uData$[ebp] - 00159 83 f8 ff cmp eax, -1 - 0015c 74 21 je SHORT $LN19@unz64local - 0015e 85 f6 test esi, esi - 00160 75 1d jne SHORT $LN19@unz64local - 00162 33 c9 xor ecx, ecx - 00164 3b 87 98 00 00 - 00 cmp eax, DWORD PTR [edi+152] - 0016a 75 08 jne SHORT $LN30@unz64local - 0016c 3b 8f 9c 00 00 - 00 cmp ecx, DWORD PTR [edi+156] - 00172 74 0b je SHORT $LN19@unz64local -$LN30@unz64local: - 00174 f6 c3 08 test bl, 8 - 00177 b8 99 ff ff ff mov eax, -103 ; ffffff99H - 0017c 0f 44 f0 cmove esi, eax -$LN19@unz64local: - -; 1443 : err=UNZ_BADZIPFILE; -; 1444 : -; 1445 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size uncompr */ - - 0017f 8b 57 30 mov edx, DWORD PTR [edi+48] - 00182 8d 45 fc lea eax, DWORD PTR _uData$[ebp] - 00185 50 push eax - 00186 8b cf mov ecx, edi - 00188 e8 00 00 00 00 call _unz64local_getLong - 0018d 83 c4 04 add esp, 4 - 00190 85 c0 test eax, eax - 00192 74 05 je SHORT $LN20@unz64local - -; 1446 : err=UNZ_ERRNO; - - 00194 83 ce ff or esi, -1 - 00197 eb 29 jmp SHORT $LN22@unz64local -$LN20@unz64local: - -; 1447 : else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && ((uFlags & 8)==0)) - - 00199 8b 45 fc mov eax, DWORD PTR _uData$[ebp] - 0019c 83 f8 ff cmp eax, -1 - 0019f 74 21 je SHORT $LN22@unz64local - 001a1 85 f6 test esi, esi - 001a3 75 1d jne SHORT $LN22@unz64local - 001a5 33 c9 xor ecx, ecx - 001a7 3b 87 a0 00 00 - 00 cmp eax, DWORD PTR [edi+160] - 001ad 75 08 jne SHORT $LN31@unz64local - 001af 3b 8f a4 00 00 - 00 cmp ecx, DWORD PTR [edi+164] - 001b5 74 0b je SHORT $LN22@unz64local -$LN31@unz64local: - 001b7 f6 c3 08 test bl, 8 - 001ba b8 99 ff ff ff mov eax, -103 ; ffffff99H - 001bf 0f 44 f0 cmove esi, eax -$LN22@unz64local: - -; 1448 : err=UNZ_BADZIPFILE; -; 1449 : -; 1450 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_filename) != UNZ_OK) - - 001c2 8b 57 30 mov edx, DWORD PTR [edi+48] - 001c5 8d 45 f4 lea eax, DWORD PTR _size_filename$[ebp] - 001c8 50 push eax - 001c9 8b cf mov ecx, edi - 001cb e8 00 00 00 00 call _unz64local_getShort - 001d0 8b 5d f4 mov ebx, DWORD PTR _size_filename$[ebp] - 001d3 83 c4 04 add esp, 4 - 001d6 85 c0 test eax, eax - 001d8 74 05 je SHORT $LN23@unz64local - -; 1451 : err=UNZ_ERRNO; - - 001da 83 ce ff or esi, -1 - 001dd eb 12 jmp SHORT $LN25@unz64local -$LN23@unz64local: - -; 1452 : else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename)) - - 001df 85 f6 test esi, esi - 001e1 75 0e jne SHORT $LN25@unz64local - 001e3 3b 9f a8 00 00 - 00 cmp ebx, DWORD PTR [edi+168] - 001e9 b8 99 ff ff ff mov eax, -103 ; ffffff99H - 001ee 0f 45 f0 cmovne esi, eax -$LN25@unz64local: - -; 1453 : err=UNZ_BADZIPFILE; -; 1454 : -; 1455 : *piSizeVar += (uInt)size_filename; - - 001f1 8b 45 f8 mov eax, DWORD PTR _piSizeVar$1$[ebp] - -; 1456 : -; 1457 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_extra_field) != UNZ_OK) - - 001f4 8b cf mov ecx, edi - 001f6 8b 57 30 mov edx, DWORD PTR [edi+48] - 001f9 01 18 add DWORD PTR [eax], ebx - 001fb 8d 45 f4 lea eax, DWORD PTR _size_extra_field$[ebp] - 001fe 50 push eax - 001ff e8 00 00 00 00 call _unz64local_getShort - 00204 83 c4 04 add esp, 4 - 00207 85 c0 test eax, eax - 00209 b8 ff ff ff ff mov eax, -1 - 0020e 0f 45 f0 cmovne esi, eax - -; 1458 : err=UNZ_ERRNO; -; 1459 : *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile + - - 00211 8b 45 08 mov eax, DWORD PTR _poffset_local_extrafield$[ebp] - 00214 33 c9 xor ecx, ecx - 00216 03 9f d8 00 00 - 00 add ebx, DWORD PTR [edi+216] - 0021c 13 8f dc 00 00 - 00 adc ecx, DWORD PTR [edi+220] - 00222 83 c3 1e add ebx, 30 ; 0000001eH - 00225 89 18 mov DWORD PTR [eax], ebx - 00227 83 d1 00 adc ecx, 0 - 0022a 89 48 04 mov DWORD PTR [eax+4], ecx - -; 1460 : SIZEZIPLOCALHEADER + size_filename; -; 1461 : *psize_local_extrafield = (uInt)size_extra_field; - - 0022d 8b 45 0c mov eax, DWORD PTR _psize_local_extrafield$[ebp] - 00230 8b 4d f4 mov ecx, DWORD PTR _size_extra_field$[ebp] - -; 1462 : -; 1463 : *piSizeVar += (uInt)size_extra_field; -; 1464 : -; 1465 : return err; -; 1466 : } - - 00233 5f pop edi - 00234 89 08 mov DWORD PTR [eax], ecx - 00236 8b 45 f8 mov eax, DWORD PTR _piSizeVar$1$[ebp] - 00239 01 08 add DWORD PTR [eax], ecx - 0023b 8b c6 mov eax, esi - 0023d 5e pop esi - 0023e 5b pop ebx - 0023f 8b e5 mov esp, ebp - 00241 5d pop ebp - 00242 c3 ret 0 -_unz64local_CheckCurrentFileCoherencyHeader ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzOpenCurrentFile3@20 -_TEXT SEGMENT -_size_local_extrafield$ = -16 ; size = 4 -_iSizeVar$ = -12 ; size = 4 -_offset_local_extrafield$ = -8 ; size = 8 -_file$ = 8 ; size = 4 -_method$ = 12 ; size = 4 -_level$ = 16 ; size = 4 -_raw$ = 20 ; size = 4 -_password$ = 24 ; size = 4 -_unzOpenCurrentFile3@20 PROC ; COMDAT - -; 1474 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 14 sub esp, 20 ; 00000014H - -; 1475 : int err=UNZ_OK; -; 1476 : uInt iSizeVar; -; 1477 : unz64_s* s; -; 1478 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1479 : ZPOS64_T offset_local_extrafield; /* offset of the local extra field */ -; 1480 : uInt size_local_extrafield; /* size of the local extra field */ -; 1481 : # ifndef NOUNCRYPT -; 1482 : char source[12]; -; 1483 : # else -; 1484 : if (password != NULL) - - 00009 83 7d 18 00 cmp DWORD PTR _password$[ebp], 0 - 0000d 53 push ebx - 0000e 56 push esi - 0000f 57 push edi - 00010 74 0e je SHORT $LN4@unzOpenCur -$LN25@unzOpenCur: - -; 1485 : return UNZ_PARAMERROR; - - 00012 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1639 : } - - 00017 5f pop edi - 00018 5e pop esi - 00019 5b pop ebx - 0001a 8b e5 mov esp, ebp - 0001c 5d pop ebp - 0001d c2 14 00 ret 20 ; 00000014H -$LN4@unzOpenCur: - -; 1486 : # endif -; 1487 : -; 1488 : if (file==NULL) - - 00020 8b 7d 08 mov edi, DWORD PTR _file$[ebp] - 00023 85 ff test edi, edi - 00025 74 eb je SHORT $LN25@unzOpenCur - -; 1489 : return UNZ_PARAMERROR; -; 1490 : s=(unz64_s*)file; -; 1491 : if (!s->current_file_ok) - - 00027 8b 47 60 mov eax, DWORD PTR [edi+96] - 0002a 0b 47 64 or eax, DWORD PTR [edi+100] - 0002d 74 e3 je SHORT $LN25@unzOpenCur - -; 1492 : return UNZ_PARAMERROR; -; 1493 : -; 1494 : if (s->pfile_in_zip_read != NULL) - - 0002f 83 bf e0 00 00 - 00 00 cmp DWORD PTR [edi+224], 0 - 00036 74 06 je SHORT $LN7@unzOpenCur - -; 1495 : unzCloseCurrentFile(file); - - 00038 57 push edi - 00039 e8 00 00 00 00 call _unzCloseCurrentFile@4 -$LN7@unzOpenCur: - -; 1496 : -; 1497 : if (unz64local_CheckCurrentFileCoherencyHeader(s,&iSizeVar, &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK) - - 0003e 8d 44 24 10 lea eax, DWORD PTR _size_local_extrafield$[esp+32] - 00042 8b cf mov ecx, edi - 00044 50 push eax - 00045 8d 44 24 1c lea eax, DWORD PTR _offset_local_extrafield$[esp+36] - 00049 50 push eax - 0004a 8d 54 24 1c lea edx, DWORD PTR _iSizeVar$[esp+40] - 0004e e8 00 00 00 00 call _unz64local_CheckCurrentFileCoherencyHeader - 00053 83 c4 08 add esp, 8 - 00056 85 c0 test eax, eax - 00058 74 0e je SHORT $LN8@unzOpenCur - -; 1498 : return UNZ_BADZIPFILE; - - 0005a b8 99 ff ff ff mov eax, -103 ; ffffff99H - -; 1639 : } - - 0005f 5f pop edi - 00060 5e pop esi - 00061 5b pop ebx - 00062 8b e5 mov esp, ebp - 00064 5d pop ebp - 00065 c2 14 00 ret 20 ; 00000014H -$LN8@unzOpenCur: - -; 1499 : -; 1500 : pfile_in_zip_read_info = (file_in_zip64_read_info_s*)ALLOC(sizeof(file_in_zip64_read_info_s)); - - 00068 8b 1d 00 00 00 - 00 mov ebx, DWORD PTR __imp__malloc - 0006e 68 d0 00 00 00 push 208 ; 000000d0H - 00073 ff d3 call ebx - 00075 8b f0 mov esi, eax - 00077 83 c4 04 add esp, 4 - -; 1501 : if (pfile_in_zip_read_info==NULL) - - 0007a 85 f6 test esi, esi - 0007c 74 46 je SHORT $LN26@unzOpenCur - -; 1502 : return UNZ_INTERNALERROR; -; 1503 : -; 1504 : pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE); - - 0007e 68 00 40 00 00 push 16384 ; 00004000H - 00083 ff d3 call ebx - -; 1505 : pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield; - - 00085 8b 4c 24 1c mov ecx, DWORD PTR _offset_local_extrafield$[esp+36] - 00089 83 c4 04 add esp, 4 - -; 1506 : pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield; -; 1507 : pfile_in_zip_read_info->pos_local_extrafield=0; -; 1508 : pfile_in_zip_read_info->raw=raw; - - 0008c 8b 55 14 mov edx, DWORD PTR _raw$[ebp] - 0008f 89 4e 50 mov DWORD PTR [esi+80], ecx - 00092 8b 4c 24 1c mov ecx, DWORD PTR _offset_local_extrafield$[esp+36] - 00096 89 4e 54 mov DWORD PTR [esi+84], ecx - 00099 8b 4c 24 10 mov ecx, DWORD PTR _size_local_extrafield$[esp+32] - 0009d 89 06 mov DWORD PTR [esi], eax - 0009f 89 4e 58 mov DWORD PTR [esi+88], ecx - 000a2 c7 46 60 00 00 - 00 00 mov DWORD PTR [esi+96], 0 - 000a9 c7 46 64 00 00 - 00 00 mov DWORD PTR [esi+100], 0 - 000b0 89 96 c8 00 00 - 00 mov DWORD PTR [esi+200], edx - -; 1509 : -; 1510 : if (pfile_in_zip_read_info->read_buffer==NULL) - - 000b6 85 c0 test eax, eax - 000b8 75 18 jne SHORT $LN10@unzOpenCur - -; 1511 : { -; 1512 : TRYFREE(pfile_in_zip_read_info); - - 000ba 56 push esi - 000bb ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 000c1 83 c4 04 add esp, 4 -$LN26@unzOpenCur: - -; 1513 : return UNZ_INTERNALERROR; - - 000c4 b8 98 ff ff ff mov eax, -104 ; ffffff98H - -; 1639 : } - - 000c9 5f pop edi - 000ca 5e pop esi - 000cb 5b pop ebx - 000cc 8b e5 mov esp, ebp - 000ce 5d pop ebp - 000cf c2 14 00 ret 20 ; 00000014H -$LN10@unzOpenCur: - -; 1514 : } -; 1515 : -; 1516 : pfile_in_zip_read_info->stream_initialised=0; -; 1517 : -; 1518 : if (method!=NULL) - - 000d2 8b 4d 0c mov ecx, DWORD PTR _method$[ebp] - 000d5 c7 46 48 00 00 - 00 00 mov DWORD PTR [esi+72], 0 - 000dc 85 c9 test ecx, ecx - 000de 74 08 je SHORT $LN12@unzOpenCur - -; 1519 : *method = (int)s->cur_file_info.compression_method; - - 000e0 8b 87 8c 00 00 - 00 mov eax, DWORD PTR [edi+140] - 000e6 89 01 mov DWORD PTR [ecx], eax -$LN12@unzOpenCur: - -; 1520 : -; 1521 : if (level!=NULL) - - 000e8 8b 4d 10 mov ecx, DWORD PTR _level$[ebp] - 000eb 85 c9 test ecx, ecx - 000ed 74 34 je SHORT $LN2@unzOpenCur - -; 1522 : { -; 1523 : *level = 6; - - 000ef c7 01 06 00 00 - 00 mov DWORD PTR [ecx], 6 - -; 1524 : switch (s->cur_file_info.flag & 0x06) - - 000f5 8b 87 88 00 00 - 00 mov eax, DWORD PTR [edi+136] - 000fb 83 e0 06 and eax, 6 - 000fe 83 e8 02 sub eax, 2 - 00101 74 1a je SHORT $LN16@unzOpenCur - 00103 83 e8 02 sub eax, 2 - 00106 74 0d je SHORT $LN15@unzOpenCur - 00108 83 e8 02 sub eax, 2 - 0010b 75 16 jne SHORT $LN2@unzOpenCur - -; 1525 : { -; 1526 : case 6 : *level = 1; break; - - 0010d c7 01 01 00 00 - 00 mov DWORD PTR [ecx], 1 - 00113 eb 0e jmp SHORT $LN2@unzOpenCur -$LN15@unzOpenCur: - -; 1527 : case 4 : *level = 2; break; - - 00115 c7 01 02 00 00 - 00 mov DWORD PTR [ecx], 2 - 0011b eb 06 jmp SHORT $LN2@unzOpenCur -$LN16@unzOpenCur: - -; 1528 : case 2 : *level = 9; break; - - 0011d c7 01 09 00 00 - 00 mov DWORD PTR [ecx], 9 -$LN2@unzOpenCur: - -; 1529 : } -; 1530 : } -; 1531 : -; 1532 : if ((s->cur_file_info.compression_method!=0) && -; 1533 : /* #ifdef HAVE_BZIP2 */ -; 1534 : (s->cur_file_info.compression_method!=Z_BZIP2ED) && -; 1535 : /* #endif */ -; 1536 : (s->cur_file_info.compression_method!=Z_DEFLATED)) -; 1537 : -; 1538 : err=UNZ_BADZIPFILE; -; 1539 : -; 1540 : pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc; - - 00123 8b 87 94 00 00 - 00 mov eax, DWORD PTR [edi+148] - 00129 89 46 74 mov DWORD PTR [esi+116], eax - -; 1541 : pfile_in_zip_read_info->crc32=0; - - 0012c c7 46 70 00 00 - 00 00 mov DWORD PTR [esi+112], 0 - -; 1542 : pfile_in_zip_read_info->total_out_64=0; - - 00133 c7 46 68 00 00 - 00 00 mov DWORD PTR [esi+104], 0 - 0013a c7 46 6c 00 00 - 00 00 mov DWORD PTR [esi+108], 0 - -; 1543 : pfile_in_zip_read_info->compression_method = s->cur_file_info.compression_method; - - 00141 8b 87 8c 00 00 - 00 mov eax, DWORD PTR [edi+140] - 00147 89 86 b8 00 00 - 00 mov DWORD PTR [esi+184], eax - -; 1544 : pfile_in_zip_read_info->filestream=s->filestream; - - 0014d 8b 47 30 mov eax, DWORD PTR [edi+48] - 00150 89 86 b4 00 00 - 00 mov DWORD PTR [esi+180], eax - -; 1545 : pfile_in_zip_read_info->z_filefunc=s->z_filefunc; - - 00156 0f 10 07 movups xmm0, XMMWORD PTR [edi] - 00159 0f 11 86 88 00 - 00 00 movups XMMWORD PTR [esi+136], xmm0 - 00160 0f 10 47 10 movups xmm0, XMMWORD PTR [edi+16] - 00164 0f 11 86 98 00 - 00 00 movups XMMWORD PTR [esi+152], xmm0 - 0016b f3 0f 7e 47 20 movq xmm0, QWORD PTR [edi+32] - 00170 66 0f d6 86 a8 - 00 00 00 movq QWORD PTR [esi+168], xmm0 - 00178 8b 47 28 mov eax, DWORD PTR [edi+40] - 0017b 89 86 b0 00 00 - 00 mov DWORD PTR [esi+176], eax - -; 1546 : pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile; - - 00181 8b 47 48 mov eax, DWORD PTR [edi+72] - 00184 89 86 c0 00 00 - 00 mov DWORD PTR [esi+192], eax - 0018a 8b 47 4c mov eax, DWORD PTR [edi+76] - 0018d 89 86 c4 00 00 - 00 mov DWORD PTR [esi+196], eax - -; 1547 : -; 1548 : pfile_in_zip_read_info->stream.total_out = 0; - - 00193 c7 46 18 00 00 - 00 00 mov DWORD PTR [esi+24], 0 - -; 1549 : -; 1550 : if ((s->cur_file_info.compression_method==Z_BZIP2ED) && (!raw)) - - 0019a 8b 87 8c 00 00 - 00 mov eax, DWORD PTR [edi+140] - 001a0 83 f8 0c cmp eax, 12 ; 0000000cH - 001a3 75 78 jne SHORT $LN18@unzOpenCur - 001a5 85 d2 test edx, edx - 001a7 75 74 jne SHORT $LN18@unzOpenCur - -; 1551 : { -; 1552 : #ifdef HAVE_BZIP2 -; 1553 : pfile_in_zip_read_info->bstream.bzalloc = (void *(*) (void *, int, int))0; -; 1554 : pfile_in_zip_read_info->bstream.bzfree = (free_func)0; -; 1555 : pfile_in_zip_read_info->bstream.opaque = (voidpf)0; -; 1556 : pfile_in_zip_read_info->bstream.state = (voidpf)0; -; 1557 : -; 1558 : pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; -; 1559 : pfile_in_zip_read_info->stream.zfree = (free_func)0; -; 1560 : pfile_in_zip_read_info->stream.opaque = (voidpf)0; -; 1561 : pfile_in_zip_read_info->stream.next_in = (voidpf)0; -; 1562 : pfile_in_zip_read_info->stream.avail_in = 0; -; 1563 : -; 1564 : err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0); -; 1565 : if (err == Z_OK) -; 1566 : pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED; -; 1567 : else -; 1568 : { -; 1569 : TRYFREE(pfile_in_zip_read_info); -; 1570 : return err; -; 1571 : } -; 1572 : #else -; 1573 : pfile_in_zip_read_info->raw=1; - - 001a9 c7 86 c8 00 00 - 00 01 00 00 00 mov DWORD PTR [esi+200], 1 -$LN22@unzOpenCur: - -; 1591 : } -; 1592 : /* windowBits is passed < 0 to tell that there is no zlib header. -; 1593 : * Note that in this case inflate *requires* an extra "dummy" byte -; 1594 : * after the compressed stream in order to complete decompression and -; 1595 : * return Z_STREAM_END. -; 1596 : * In unzip, i don't wait absolutely Z_STREAM_END because I known the -; 1597 : * size of both compressed and uncompressed data -; 1598 : */ -; 1599 : } -; 1600 : pfile_in_zip_read_info->rest_read_compressed = - - 001b3 8b 87 98 00 00 - 00 mov eax, DWORD PTR [edi+152] - -; 1601 : s->cur_file_info.compressed_size ; -; 1602 : pfile_in_zip_read_info->rest_read_uncompressed = -; 1603 : s->cur_file_info.uncompressed_size ; -; 1604 : -; 1605 : -; 1606 : pfile_in_zip_read_info->pos_in_zipfile = - - 001b9 33 c9 xor ecx, ecx - 001bb 89 46 78 mov DWORD PTR [esi+120], eax - 001be 8b 87 9c 00 00 - 00 mov eax, DWORD PTR [edi+156] - 001c4 89 46 7c mov DWORD PTR [esi+124], eax - 001c7 8b 87 a0 00 00 - 00 mov eax, DWORD PTR [edi+160] - 001cd 89 86 80 00 00 - 00 mov DWORD PTR [esi+128], eax - 001d3 8b 87 a4 00 00 - 00 mov eax, DWORD PTR [edi+164] - 001d9 89 86 84 00 00 - 00 mov DWORD PTR [esi+132], eax - 001df 8b 44 24 14 mov eax, DWORD PTR _iSizeVar$[esp+32] - 001e3 03 87 d8 00 00 - 00 add eax, DWORD PTR [edi+216] - 001e9 13 8f dc 00 00 - 00 adc ecx, DWORD PTR [edi+220] - 001ef 83 c0 1e add eax, 30 ; 0000001eH - 001f2 89 46 40 mov DWORD PTR [esi+64], eax - 001f5 83 d1 00 adc ecx, 0 - -; 1607 : s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + -; 1608 : iSizeVar; -; 1609 : -; 1610 : pfile_in_zip_read_info->stream.avail_in = (uInt)0; - - 001f8 c7 46 08 00 00 - 00 00 mov DWORD PTR [esi+8], 0 - 001ff 89 4e 44 mov DWORD PTR [esi+68], ecx - -; 1611 : -; 1612 : s->pfile_in_zip_read = pfile_in_zip_read_info; -; 1613 : s->encrypted = 0; -; 1614 : -; 1615 : # ifndef NOUNCRYPT -; 1616 : if (password != NULL) -; 1617 : { -; 1618 : int i; -; 1619 : s->pcrc_32_tab = get_crc_table(); -; 1620 : init_keys(password,s->keys,s->pcrc_32_tab); -; 1621 : if (ZSEEK64(s->z_filefunc, s->filestream, -; 1622 : s->pfile_in_zip_read->pos_in_zipfile + -; 1623 : s->pfile_in_zip_read->byte_before_the_zipfile, -; 1624 : SEEK_SET)!=0) -; 1625 : return UNZ_INTERNALERROR; -; 1626 : if(ZREAD64(s->z_filefunc, s->filestream,source, 12)<12) -; 1627 : return UNZ_INTERNALERROR; -; 1628 : -; 1629 : for (i = 0; i<12; i++) -; 1630 : zdecode(s->keys,s->pcrc_32_tab,source[i]); -; 1631 : -; 1632 : s->pfile_in_zip_read->pos_in_zipfile+=12; -; 1633 : s->encrypted=1; -; 1634 : } -; 1635 : # endif -; 1636 : -; 1637 : -; 1638 : return UNZ_OK; - - 00202 33 c0 xor eax, eax - 00204 89 b7 e0 00 00 - 00 mov DWORD PTR [edi+224], esi - 0020a c7 87 e4 00 00 - 00 00 00 00 00 mov DWORD PTR [edi+228], 0 - -; 1639 : } - - 00214 5f pop edi - 00215 5e pop esi - 00216 5b pop ebx - 00217 8b e5 mov esp, ebp - 00219 5d pop ebp - 0021a c2 14 00 ret 20 ; 00000014H -$LN18@unzOpenCur: - -; 1574 : #endif -; 1575 : } -; 1576 : else if ((s->cur_file_info.compression_method==Z_DEFLATED) && (!raw)) - - 0021d 83 f8 08 cmp eax, 8 - 00220 75 91 jne SHORT $LN22@unzOpenCur - 00222 85 d2 test edx, edx - 00224 75 8d jne SHORT $LN22@unzOpenCur - -; 1577 : { -; 1578 : pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; -; 1579 : pfile_in_zip_read_info->stream.zfree = (free_func)0; -; 1580 : pfile_in_zip_read_info->stream.opaque = (voidpf)0; -; 1581 : pfile_in_zip_read_info->stream.next_in = 0; -; 1582 : pfile_in_zip_read_info->stream.avail_in = 0; -; 1583 : -; 1584 : err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); - - 00226 6a 38 push 56 ; 00000038H - 00228 68 00 00 00 00 push OFFSET ??_C@_05IAIEPMAK@1?42?48?$AA@ - 0022d 8d 46 04 lea eax, DWORD PTR [esi+4] - 00230 89 56 24 mov DWORD PTR [esi+36], edx - 00233 6a f1 push -15 ; fffffff1H - 00235 50 push eax - 00236 89 56 28 mov DWORD PTR [esi+40], edx - 00239 89 56 2c mov DWORD PTR [esi+44], edx - 0023c 89 10 mov DWORD PTR [eax], edx - 0023e 89 56 08 mov DWORD PTR [esi+8], edx - 00241 e8 00 00 00 00 call _inflateInit2_@16 - 00246 8b d8 mov ebx, eax - -; 1585 : if (err == Z_OK) - - 00248 85 db test ebx, ebx - 0024a 75 0c jne SHORT $LN21@unzOpenCur - -; 1586 : pfile_in_zip_read_info->stream_initialised=Z_DEFLATED; - - 0024c c7 46 48 08 00 - 00 00 mov DWORD PTR [esi+72], 8 - 00253 e9 5b ff ff ff jmp $LN22@unzOpenCur -$LN21@unzOpenCur: - -; 1587 : else -; 1588 : { -; 1589 : TRYFREE(pfile_in_zip_read_info); - - 00258 56 push esi - 00259 ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 0025f 83 c4 04 add esp, 4 - -; 1590 : return err; - - 00262 8b c3 mov eax, ebx - -; 1639 : } - - 00264 5f pop edi - 00265 5e pop esi - 00266 5b pop ebx - 00267 8b e5 mov esp, ebp - 00269 5d pop ebp - 0026a c2 14 00 ret 20 ; 00000014H -_unzOpenCurrentFile3@20 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzOpenCurrentFile@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzOpenCurrentFile@4 PROC ; COMDAT - -; 1642 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1643 : return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL); - - 00003 6a 00 push 0 - 00005 6a 00 push 0 - 00007 6a 00 push 0 - 00009 6a 00 push 0 - 0000b ff 75 08 push DWORD PTR _file$[ebp] - 0000e e8 00 00 00 00 call _unzOpenCurrentFile3@20 - -; 1644 : } - - 00013 5d pop ebp - 00014 c2 04 00 ret 4 -_unzOpenCurrentFile@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzOpenCurrentFilePassword@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_password$ = 12 ; size = 4 -_unzOpenCurrentFilePassword@8 PROC ; COMDAT - -; 1647 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1648 : return unzOpenCurrentFile3(file, NULL, NULL, 0, password); - - 00003 ff 75 0c push DWORD PTR _password$[ebp] - 00006 6a 00 push 0 - 00008 6a 00 push 0 - 0000a 6a 00 push 0 - 0000c ff 75 08 push DWORD PTR _file$[ebp] - 0000f e8 00 00 00 00 call _unzOpenCurrentFile3@20 - -; 1649 : } - - 00014 5d pop ebp - 00015 c2 08 00 ret 8 -_unzOpenCurrentFilePassword@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzOpenCurrentFile2@16 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_method$ = 12 ; size = 4 -_level$ = 16 ; size = 4 -_raw$ = 20 ; size = 4 -_unzOpenCurrentFile2@16 PROC ; COMDAT - -; 1652 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1653 : return unzOpenCurrentFile3(file, method, level, raw, NULL); - - 00003 6a 00 push 0 - 00005 ff 75 14 push DWORD PTR _raw$[ebp] - 00008 ff 75 10 push DWORD PTR _level$[ebp] - 0000b ff 75 0c push DWORD PTR _method$[ebp] - 0000e ff 75 08 push DWORD PTR _file$[ebp] - 00011 e8 00 00 00 00 call _unzOpenCurrentFile3@20 - -; 1654 : } - - 00016 5d pop ebp - 00017 c2 10 00 ret 16 ; 00000010H -_unzOpenCurrentFile2@16 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGetCurrentFileZStreamPos64@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzGetCurrentFileZStreamPos64@4 PROC ; COMDAT - -; 1659 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1660 : unz64_s* s; -; 1661 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1662 : s=(unz64_s*)file; -; 1663 : if (file==NULL) - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 85 c9 test ecx, ecx - 00008 75 08 jne SHORT $LN2@unzGetCurr -$LN5@unzGetCurr: - -; 1664 : return 0; //UNZ_PARAMERROR; - - 0000a 33 c0 xor eax, eax - 0000c 33 d2 xor edx, edx - -; 1669 : pfile_in_zip_read_info->byte_before_the_zipfile; -; 1670 : } - - 0000e 5d pop ebp - 0000f c2 04 00 ret 4 -$LN2@unzGetCurr: - -; 1665 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 00012 8b 89 e0 00 00 - 00 mov ecx, DWORD PTR [ecx+224] - -; 1666 : if (pfile_in_zip_read_info==NULL) - - 00018 85 c9 test ecx, ecx - 0001a 74 ee je SHORT $LN5@unzGetCurr - -; 1667 : return 0; //UNZ_PARAMERROR; -; 1668 : return pfile_in_zip_read_info->pos_in_zipfile + - - 0001c 8b 81 c0 00 00 - 00 mov eax, DWORD PTR [ecx+192] - 00022 03 41 40 add eax, DWORD PTR [ecx+64] - 00025 8b 91 c4 00 00 - 00 mov edx, DWORD PTR [ecx+196] - 0002b 13 51 44 adc edx, DWORD PTR [ecx+68] - -; 1669 : pfile_in_zip_read_info->byte_before_the_zipfile; -; 1670 : } - - 0002e 5d pop ebp - 0002f c2 04 00 ret 4 -_unzGetCurrentFileZStreamPos64@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzReadCurrentFile@12 -_TEXT SEGMENT -_iRead$1$ = -16 ; size = 4 -_uTotalOutBefore$1$ = -12 ; size = 4 -tv353 = -8 ; size = 4 -_err$1$ = -8 ; size = 4 -_bufBefore$1$ = -4 ; size = 4 -_file$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_len$ = 16 ; size = 4 -_unzReadCurrentFile@12 PROC ; COMDAT - -; 1685 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 14 sub esp, 20 ; 00000014H - 00009 53 push ebx - 0000a 56 push esi - -; 1686 : int err=UNZ_OK; -; 1687 : uInt iRead = 0; -; 1688 : unz64_s* s; -; 1689 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1690 : if (file==NULL) - - 0000b 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 0000e 33 db xor ebx, ebx - 00010 89 5c 24 0c mov DWORD PTR _iRead$1$[esp+28], ebx - 00014 57 push edi - 00015 85 f6 test esi, esi - 00017 75 0e jne SHORT $LN7@unzReadCur -$LN55@unzReadCur: - -; 1691 : return UNZ_PARAMERROR; - - 00019 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1882 : return err; -; 1883 : } - - 0001e 5f pop edi - 0001f 5e pop esi - 00020 5b pop ebx - 00021 8b e5 mov esp, ebp - 00023 5d pop ebp - 00024 c2 0c 00 ret 12 ; 0000000cH -$LN7@unzReadCur: - -; 1692 : s=(unz64_s*)file; -; 1693 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 00027 8b b6 e0 00 00 - 00 mov esi, DWORD PTR [esi+224] - -; 1694 : -; 1695 : if (pfile_in_zip_read_info==NULL) - - 0002d 85 f6 test esi, esi - 0002f 74 e8 je SHORT $LN55@unzReadCur - -; 1696 : return UNZ_PARAMERROR; -; 1697 : -; 1698 : -; 1699 : if (pfile_in_zip_read_info->read_buffer == NULL) - - 00031 39 1e cmp DWORD PTR [esi], ebx - 00033 75 0e jne SHORT $LN9@unzReadCur - -; 1700 : return UNZ_END_OF_LIST_OF_FILE; - - 00035 b8 9c ff ff ff mov eax, -100 ; ffffff9cH - -; 1882 : return err; -; 1883 : } - - 0003a 5f pop edi - 0003b 5e pop esi - 0003c 5b pop ebx - 0003d 8b e5 mov esp, ebp - 0003f 5d pop ebp - 00040 c2 0c 00 ret 12 ; 0000000cH -$LN9@unzReadCur: - -; 1701 : if (len==0) - - 00043 8b 4d 10 mov ecx, DWORD PTR _len$[ebp] - 00046 85 c9 test ecx, ecx - 00048 75 0b jne SHORT $LN10@unzReadCur -$LN33@unzReadCur: - -; 1702 : return 0; - - 0004a 33 c0 xor eax, eax - -; 1882 : return err; -; 1883 : } - - 0004c 5f pop edi - 0004d 5e pop esi - 0004e 5b pop ebx - 0004f 8b e5 mov esp, ebp - 00051 5d pop ebp - 00052 c2 0c 00 ret 12 ; 0000000cH -$LN10@unzReadCur: - -; 1703 : -; 1704 : pfile_in_zip_read_info->stream.next_out = (Bytef*)buf; - - 00055 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 00058 89 46 10 mov DWORD PTR [esi+16], eax - -; 1705 : -; 1706 : pfile_in_zip_read_info->stream.avail_out = (uInt)len; -; 1707 : -; 1708 : if ((len>pfile_in_zip_read_info->rest_read_uncompressed) && - - 0005b 33 c0 xor eax, eax - 0005d 89 4e 14 mov DWORD PTR [esi+20], ecx - 00060 3b 86 84 00 00 - 00 cmp eax, DWORD PTR [esi+132] - 00066 72 1b jb SHORT $LN11@unzReadCur - 00068 77 08 ja SHORT $LN49@unzReadCur - 0006a 3b 8e 80 00 00 - 00 cmp ecx, DWORD PTR [esi+128] - 00070 76 11 jbe SHORT $LN11@unzReadCur -$LN49@unzReadCur: - 00072 39 86 c8 00 00 - 00 cmp DWORD PTR [esi+200], eax - 00078 75 09 jne SHORT $LN11@unzReadCur - -; 1709 : (!(pfile_in_zip_read_info->raw))) -; 1710 : pfile_in_zip_read_info->stream.avail_out = - - 0007a 8b 86 80 00 00 - 00 mov eax, DWORD PTR [esi+128] - 00080 89 46 14 mov DWORD PTR [esi+20], eax -$LN11@unzReadCur: - -; 1711 : (uInt)pfile_in_zip_read_info->rest_read_uncompressed; -; 1712 : -; 1713 : if ((len>pfile_in_zip_read_info->rest_read_compressed+ -; 1714 : pfile_in_zip_read_info->stream.avail_in) && - - 00083 8b 7e 08 mov edi, DWORD PTR [esi+8] - 00086 33 c0 xor eax, eax - 00088 8b d7 mov edx, edi - 0008a 03 56 78 add edx, DWORD PTR [esi+120] - 0008d 13 46 7c adc eax, DWORD PTR [esi+124] - 00090 3b d8 cmp ebx, eax - 00092 72 16 jb SHORT $LN31@unzReadCur - 00094 77 04 ja SHORT $LN50@unzReadCur - 00096 3b ca cmp ecx, edx - 00098 76 10 jbe SHORT $LN31@unzReadCur -$LN50@unzReadCur: - 0009a 39 9e c8 00 00 - 00 cmp DWORD PTR [esi+200], ebx - 000a0 74 08 je SHORT $LN31@unzReadCur - -; 1715 : (pfile_in_zip_read_info->raw)) -; 1716 : pfile_in_zip_read_info->stream.avail_out = - - 000a2 8b 46 78 mov eax, DWORD PTR [esi+120] - 000a5 03 c7 add eax, edi - 000a7 89 46 14 mov DWORD PTR [esi+20], eax -$LN31@unzReadCur: - -; 1717 : (uInt)pfile_in_zip_read_info->rest_read_compressed+ -; 1718 : pfile_in_zip_read_info->stream.avail_in; -; 1719 : -; 1720 : while (pfile_in_zip_read_info->stream.avail_out>0) - - 000aa 39 5e 14 cmp DWORD PTR [esi+20], ebx - 000ad 0f 86 d0 01 00 - 00 jbe $LN48@unzReadCur - 000b3 bb fd ff ff ff mov ebx, -3 ; fffffffdH - 000b8 0f 1f 84 00 00 - 00 00 00 npad 8 -$LL2@unzReadCur: - -; 1721 : { -; 1722 : if ((pfile_in_zip_read_info->stream.avail_in==0) && - - 000c0 83 7e 08 00 cmp DWORD PTR [esi+8], 0 - 000c4 0f 85 96 00 00 - 00 jne $LN13@unzReadCur - 000ca 8b 4e 7c mov ecx, DWORD PTR [esi+124] - 000cd 8b 46 78 mov eax, DWORD PTR [esi+120] - 000d0 85 c9 test ecx, ecx - 000d2 75 08 jne SHORT $LN51@unzReadCur - 000d4 85 c0 test eax, eax - 000d6 0f 84 84 00 00 - 00 je $LN13@unzReadCur -$LN51@unzReadCur: - -; 1723 : (pfile_in_zip_read_info->rest_read_compressed>0)) -; 1724 : { -; 1725 : uInt uReadThis = UNZ_BUFSIZE; - - 000dc bf 00 40 00 00 mov edi, 16384 ; 00004000H - -; 1726 : if (pfile_in_zip_read_info->rest_read_compressedrest_read_compressed; - - 000eb 8b 7e 78 mov edi, DWORD PTR [esi+120] - -; 1728 : if (uReadThis == 0) - - 000ee 85 ff test edi, edi - 000f0 0f 84 54 ff ff - ff je $LN33@unzReadCur -$LN47@unzReadCur: - -; 1729 : return UNZ_EOF; -; 1730 : if (ZSEEK64(pfile_in_zip_read_info->z_filefunc, -; 1731 : pfile_in_zip_read_info->filestream, -; 1732 : pfile_in_zip_read_info->pos_in_zipfile + -; 1733 : pfile_in_zip_read_info->byte_before_the_zipfile, -; 1734 : ZLIB_FILEFUNC_SEEK_SET)!=0) - - 000f6 8b 8e c0 00 00 - 00 mov ecx, DWORD PTR [esi+192] - 000fc 03 4e 40 add ecx, DWORD PTR [esi+64] - 000ff 8b 86 c4 00 00 - 00 mov eax, DWORD PTR [esi+196] - 00105 13 46 44 adc eax, DWORD PTR [esi+68] - 00108 8b 96 b4 00 00 - 00 mov edx, DWORD PTR [esi+180] - 0010e 6a 00 push 0 - 00110 50 push eax - 00111 51 push ecx - 00112 8d 8e 88 00 00 - 00 lea ecx, DWORD PTR [esi+136] - 00118 e8 00 00 00 00 call _call_zseek64 - 0011d 83 c4 0c add esp, 12 ; 0000000cH - 00120 85 c0 test eax, eax - 00122 0f 85 66 01 00 - 00 jne $LN34@unzReadCur - -; 1736 : if (ZREAD64(pfile_in_zip_read_info->z_filefunc, -; 1737 : pfile_in_zip_read_info->filestream, -; 1738 : pfile_in_zip_read_info->read_buffer, -; 1739 : uReadThis)!=uReadThis) - - 00128 8b 86 8c 00 00 - 00 mov eax, DWORD PTR [esi+140] - 0012e 57 push edi - 0012f ff 36 push DWORD PTR [esi] - 00131 ff b6 b4 00 00 - 00 push DWORD PTR [esi+180] - 00137 ff b6 a4 00 00 - 00 push DWORD PTR [esi+164] - 0013d ff d0 call eax - 0013f 83 c4 10 add esp, 16 ; 00000010H - 00142 3b c7 cmp eax, edi - 00144 0f 85 44 01 00 - 00 jne $LN34@unzReadCur - -; 1740 : return UNZ_ERRNO; -; 1741 : -; 1742 : -; 1743 : # ifndef NOUNCRYPT -; 1744 : if(s->encrypted) -; 1745 : { -; 1746 : uInt i; -; 1747 : for(i=0;iread_buffer[i] = -; 1749 : zdecode(s->keys,s->pcrc_32_tab, -; 1750 : pfile_in_zip_read_info->read_buffer[i]); -; 1751 : } -; 1752 : # endif -; 1753 : -; 1754 : -; 1755 : pfile_in_zip_read_info->pos_in_zipfile += uReadThis; - - 0014a 01 7e 40 add DWORD PTR [esi+64], edi - -; 1756 : -; 1757 : pfile_in_zip_read_info->rest_read_compressed-=uReadThis; -; 1758 : -; 1759 : pfile_in_zip_read_info->stream.next_in = - - 0014d 8b 06 mov eax, DWORD PTR [esi] - 0014f 83 56 44 00 adc DWORD PTR [esi+68], 0 - 00153 29 7e 78 sub DWORD PTR [esi+120], edi - 00156 89 46 04 mov DWORD PTR [esi+4], eax - 00159 83 5e 7c 00 sbb DWORD PTR [esi+124], 0 - -; 1760 : (Bytef*)pfile_in_zip_read_info->read_buffer; -; 1761 : pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis; - - 0015d 89 7e 08 mov DWORD PTR [esi+8], edi -$LN13@unzReadCur: - -; 1762 : } -; 1763 : -; 1764 : if ((pfile_in_zip_read_info->compression_method==0) || (pfile_in_zip_read_info->raw)) - - 00160 8b 86 b8 00 00 - 00 mov eax, DWORD PTR [esi+184] - 00166 85 c0 test eax, eax - 00168 0f 84 97 00 00 - 00 je $LN20@unzReadCur - 0016e 83 be c8 00 00 - 00 00 cmp DWORD PTR [esi+200], 0 - 00175 0f 85 8a 00 00 - 00 jne $LN20@unzReadCur - -; 1794 : } -; 1795 : else if (pfile_in_zip_read_info->compression_method==Z_BZIP2ED) - - 0017b 83 f8 0c cmp eax, 12 ; 0000000cH - 0017e 0f 84 f1 00 00 - 00 je $LN28@unzReadCur - -; 1796 : { -; 1797 : #ifdef HAVE_BZIP2 -; 1798 : uLong uTotalOutBefore,uTotalOutAfter; -; 1799 : const Bytef *bufBefore; -; 1800 : uLong uOutThis; -; 1801 : -; 1802 : pfile_in_zip_read_info->bstream.next_in = (char*)pfile_in_zip_read_info->stream.next_in; -; 1803 : pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->stream.avail_in; -; 1804 : pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->stream.total_in; -; 1805 : pfile_in_zip_read_info->bstream.total_in_hi32 = 0; -; 1806 : pfile_in_zip_read_info->bstream.next_out = (char*)pfile_in_zip_read_info->stream.next_out; -; 1807 : pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->stream.avail_out; -; 1808 : pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->stream.total_out; -; 1809 : pfile_in_zip_read_info->bstream.total_out_hi32 = 0; -; 1810 : -; 1811 : uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32; -; 1812 : bufBefore = (const Bytef *)pfile_in_zip_read_info->bstream.next_out; -; 1813 : -; 1814 : err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream); -; 1815 : -; 1816 : uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32; -; 1817 : uOutThis = uTotalOutAfter-uTotalOutBefore; -; 1818 : -; 1819 : pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis; -; 1820 : -; 1821 : pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,bufBefore, (uInt)(uOutThis)); -; 1822 : pfile_in_zip_read_info->rest_read_uncompressed -= uOutThis; -; 1823 : iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); -; 1824 : -; 1825 : pfile_in_zip_read_info->stream.next_in = (Bytef*)pfile_in_zip_read_info->bstream.next_in; -; 1826 : pfile_in_zip_read_info->stream.avail_in = pfile_in_zip_read_info->bstream.avail_in; -; 1827 : pfile_in_zip_read_info->stream.total_in = pfile_in_zip_read_info->bstream.total_in_lo32; -; 1828 : pfile_in_zip_read_info->stream.next_out = (Bytef*)pfile_in_zip_read_info->bstream.next_out; -; 1829 : pfile_in_zip_read_info->stream.avail_out = pfile_in_zip_read_info->bstream.avail_out; -; 1830 : pfile_in_zip_read_info->stream.total_out = pfile_in_zip_read_info->bstream.total_out_lo32; -; 1831 : -; 1832 : if (err==BZ_STREAM_END) -; 1833 : return (iRead==0) ? UNZ_EOF : iRead; -; 1834 : if (err!=BZ_OK) -; 1835 : break; -; 1836 : #endif -; 1837 : } // end Z_BZIP2ED -; 1838 : else -; 1839 : { -; 1840 : ZPOS64_T uTotalOutBefore,uTotalOutAfter; -; 1841 : const Bytef *bufBefore; -; 1842 : ZPOS64_T uOutThis; -; 1843 : int flush=Z_SYNC_FLUSH; -; 1844 : -; 1845 : uTotalOutBefore = pfile_in_zip_read_info->stream.total_out; - - 00184 8b 46 18 mov eax, DWORD PTR [esi+24] - 00187 89 44 24 14 mov DWORD PTR _uTotalOutBefore$1$[esp+32], eax - -; 1846 : bufBefore = pfile_in_zip_read_info->stream.next_out; - - 0018b 8b 46 10 mov eax, DWORD PTR [esi+16] - 0018e 89 44 24 1c mov DWORD PTR _bufBefore$1$[esp+32], eax - -; 1847 : -; 1848 : /* -; 1849 : if ((pfile_in_zip_read_info->rest_read_uncompressed == -; 1850 : pfile_in_zip_read_info->stream.avail_out) && -; 1851 : (pfile_in_zip_read_info->rest_read_compressed == 0)) -; 1852 : flush = Z_FINISH; -; 1853 : */ -; 1854 : err=inflate(&pfile_in_zip_read_info->stream,flush); - - 00192 8d 46 04 lea eax, DWORD PTR [esi+4] - 00195 6a 02 push 2 - 00197 50 push eax - 00198 e8 00 00 00 00 call _inflate@8 - 0019d 89 44 24 18 mov DWORD PTR _err$1$[esp+32], eax - -; 1855 : -; 1856 : if ((err>=0) && (pfile_in_zip_read_info->stream.msg!=NULL)) - - 001a1 85 c0 test eax, eax - 001a3 78 0b js SHORT $LN26@unzReadCur - 001a5 83 7e 1c 00 cmp DWORD PTR [esi+28], 0 - 001a9 0f 45 c3 cmovne eax, ebx - 001ac 89 44 24 18 mov DWORD PTR _err$1$[esp+32], eax -$LN26@unzReadCur: - -; 1857 : err = Z_DATA_ERROR; -; 1858 : -; 1859 : uTotalOutAfter = pfile_in_zip_read_info->stream.total_out; -; 1860 : uOutThis = uTotalOutAfter-uTotalOutBefore; - - 001b0 8b 7e 18 mov edi, DWORD PTR [esi+24] - 001b3 33 db xor ebx, ebx - 001b5 2b 7c 24 14 sub edi, DWORD PTR _uTotalOutBefore$1$[esp+32] - -; 1861 : -; 1862 : pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis; -; 1863 : -; 1864 : pfile_in_zip_read_info->crc32 = - - 001b9 57 push edi - 001ba ff 74 24 20 push DWORD PTR _bufBefore$1$[esp+36] - 001be 1b db sbb ebx, ebx - 001c0 01 7e 68 add DWORD PTR [esi+104], edi - 001c3 ff 76 70 push DWORD PTR [esi+112] - 001c6 11 5e 6c adc DWORD PTR [esi+108], ebx - 001c9 e8 00 00 00 00 call _crc32@12 - -; 1865 : crc32(pfile_in_zip_read_info->crc32,bufBefore, -; 1866 : (uInt)(uOutThis)); -; 1867 : -; 1868 : pfile_in_zip_read_info->rest_read_uncompressed -= - - 001ce 29 be 80 00 00 - 00 sub DWORD PTR [esi+128], edi - -; 1869 : uOutThis; -; 1870 : -; 1871 : iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); - - 001d4 8b 4c 24 10 mov ecx, DWORD PTR _iRead$1$[esp+32] - 001d8 19 9e 84 00 00 - 00 sbb DWORD PTR [esi+132], ebx - 001de 89 46 70 mov DWORD PTR [esi+112], eax - 001e1 8b 46 18 mov eax, DWORD PTR [esi+24] - 001e4 2b 44 24 14 sub eax, DWORD PTR _uTotalOutBefore$1$[esp+32] - 001e8 03 c8 add ecx, eax - -; 1872 : -; 1873 : if (err==Z_STREAM_END) - - 001ea 8b 44 24 18 mov eax, DWORD PTR _err$1$[esp+32] - 001ee 89 4c 24 10 mov DWORD PTR _iRead$1$[esp+32], ecx - 001f2 83 f8 01 cmp eax, 1 - 001f5 0f 84 9f 00 00 - 00 je $LN36@unzReadCur - -; 1875 : if (err!=Z_OK) - - 001fb 85 c0 test eax, eax - 001fd 0f 85 82 00 00 - 00 jne $LN1@unzReadCur - 00203 eb 6b jmp SHORT $LN54@unzReadCur -$LN20@unzReadCur: - -; 1765 : { -; 1766 : uInt uDoCopy,i ; -; 1767 : -; 1768 : if ((pfile_in_zip_read_info->stream.avail_in == 0) && - - 00205 8b 5e 08 mov ebx, DWORD PTR [esi+8] - 00208 85 db test ebx, ebx - 0020a 75 0c jne SHORT $LN21@unzReadCur - 0020c 8b 46 78 mov eax, DWORD PTR [esi+120] - 0020f 0b 46 7c or eax, DWORD PTR [esi+124] - 00212 0f 84 8d 00 00 - 00 je $LN38@unzReadCur -$LN21@unzReadCur: - -; 1771 : -; 1772 : if (pfile_in_zip_read_info->stream.avail_out < - - 00218 39 5e 14 cmp DWORD PTR [esi+20], ebx - 0021b 0f 42 5e 14 cmovb ebx, DWORD PTR [esi+20] - -; 1773 : pfile_in_zip_read_info->stream.avail_in) -; 1774 : uDoCopy = pfile_in_zip_read_info->stream.avail_out ; -; 1775 : else -; 1776 : uDoCopy = pfile_in_zip_read_info->stream.avail_in ; -; 1777 : -; 1778 : for (i=0;istream.next_out+i) = - - 00225 8b 46 04 mov eax, DWORD PTR [esi+4] - 00228 8b 4e 10 mov ecx, DWORD PTR [esi+16] - 0022b 8a 04 02 mov al, BYTE PTR [edx+eax] - 0022e 88 04 0a mov BYTE PTR [edx+ecx], al - 00231 42 inc edx - 00232 3b d3 cmp edx, ebx - 00234 72 ef jb SHORT $LL40@unzReadCur -$LN5@unzReadCur: - -; 1780 : *(pfile_in_zip_read_info->stream.next_in+i); -; 1781 : -; 1782 : pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uDoCopy; -; 1783 : -; 1784 : pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, - - 00236 8b 7e 10 mov edi, DWORD PTR [esi+16] - 00239 01 5e 68 add DWORD PTR [esi+104], ebx - 0023c 53 push ebx - 0023d 83 56 6c 00 adc DWORD PTR [esi+108], 0 - 00241 57 push edi - 00242 ff 76 70 push DWORD PTR [esi+112] - 00245 e8 00 00 00 00 call _crc32@12 - -; 1785 : pfile_in_zip_read_info->stream.next_out, -; 1786 : uDoCopy); -; 1787 : pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy; - - 0024a 29 9e 80 00 00 - 00 sub DWORD PTR [esi+128], ebx - 00250 89 46 70 mov DWORD PTR [esi+112], eax - -; 1788 : pfile_in_zip_read_info->stream.avail_in -= uDoCopy; -; 1789 : pfile_in_zip_read_info->stream.avail_out -= uDoCopy; -; 1790 : pfile_in_zip_read_info->stream.next_out += uDoCopy; - - 00253 8d 04 1f lea eax, DWORD PTR [edi+ebx] - 00256 83 9e 84 00 00 - 00 00 sbb DWORD PTR [esi+132], 0 - 0025d 29 5e 08 sub DWORD PTR [esi+8], ebx - 00260 29 5e 14 sub DWORD PTR [esi+20], ebx - -; 1791 : pfile_in_zip_read_info->stream.next_in += uDoCopy; - - 00263 01 5e 04 add DWORD PTR [esi+4], ebx - -; 1792 : pfile_in_zip_read_info->stream.total_out += uDoCopy; - - 00266 01 5e 18 add DWORD PTR [esi+24], ebx - -; 1793 : iRead += uDoCopy; - - 00269 01 5c 24 10 add DWORD PTR _iRead$1$[esp+32], ebx - 0026d 89 46 10 mov DWORD PTR [esi+16], eax -$LN54@unzReadCur: - 00270 bb fd ff ff ff mov ebx, -3 ; fffffffdH -$LN28@unzReadCur: - -; 1717 : (uInt)pfile_in_zip_read_info->rest_read_compressed+ -; 1718 : pfile_in_zip_read_info->stream.avail_in; -; 1719 : -; 1720 : while (pfile_in_zip_read_info->stream.avail_out>0) - - 00275 83 7e 14 00 cmp DWORD PTR [esi+20], 0 - 00279 0f 87 41 fe ff - ff ja $LL2@unzReadCur - 0027f 8b 5c 24 10 mov ebx, DWORD PTR _iRead$1$[esp+32] -$LN48@unzReadCur: - -; 1876 : break; -; 1877 : } -; 1878 : } -; 1879 : -; 1880 : if (err==Z_OK) -; 1881 : return iRead; - - 00283 8b c3 mov eax, ebx -$LN1@unzReadCur: - -; 1882 : return err; -; 1883 : } - - 00285 5f pop edi - 00286 5e pop esi - 00287 5b pop ebx - 00288 8b e5 mov esp, ebp - 0028a 5d pop ebp - 0028b c2 0c 00 ret 12 ; 0000000cH -$LN34@unzReadCur: - -; 1735 : return UNZ_ERRNO; - - 0028e 83 c8 ff or eax, -1 - -; 1882 : return err; -; 1883 : } - - 00291 5f pop edi - 00292 5e pop esi - 00293 5b pop ebx - 00294 8b e5 mov esp, ebp - 00296 5d pop ebp - 00297 c2 0c 00 ret 12 ; 0000000cH -$LN36@unzReadCur: - -; 1874 : return (iRead==0) ? UNZ_EOF : iRead; - - 0029a 8b c1 mov eax, ecx - -; 1882 : return err; -; 1883 : } - - 0029c 5f pop edi - 0029d 5e pop esi - 0029e 5b pop ebx - 0029f 8b e5 mov esp, ebp - 002a1 5d pop ebp - 002a2 c2 0c 00 ret 12 ; 0000000cH -$LN38@unzReadCur: - -; 1769 : (pfile_in_zip_read_info->rest_read_compressed == 0)) -; 1770 : return (iRead==0) ? UNZ_EOF : iRead; - - 002a5 8b 44 24 10 mov eax, DWORD PTR _iRead$1$[esp+32] - -; 1882 : return err; -; 1883 : } - - 002a9 5f pop edi - 002aa 5e pop esi - 002ab 5b pop ebx - 002ac 8b e5 mov esp, ebp - 002ae 5d pop ebp - 002af c2 0c 00 ret 12 ; 0000000cH -_unzReadCurrentFile@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unztell@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unztell@4 PROC ; COMDAT - -; 1890 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1891 : unz64_s* s; -; 1892 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1893 : if (file==NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 09 jne SHORT $LN2@unztell -$LN5@unztell: - -; 1894 : return UNZ_PARAMERROR; - - 0000a b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1902 : } - - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -$LN2@unztell: - -; 1895 : s=(unz64_s*)file; -; 1896 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 00013 8b 80 e0 00 00 - 00 mov eax, DWORD PTR [eax+224] - -; 1897 : -; 1898 : if (pfile_in_zip_read_info==NULL) - - 00019 85 c0 test eax, eax - 0001b 74 ed je SHORT $LN5@unztell - -; 1899 : return UNZ_PARAMERROR; -; 1900 : -; 1901 : return (z_off_t)pfile_in_zip_read_info->stream.total_out; - - 0001d 8b 40 18 mov eax, DWORD PTR [eax+24] - -; 1902 : } - - 00020 5d pop ebp - 00021 c2 04 00 ret 4 -_unztell@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unztell64@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unztell64@4 PROC ; COMDAT - -; 1905 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1906 : -; 1907 : unz64_s* s; -; 1908 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1909 : if (file==NULL) - - 00003 8b 55 08 mov edx, DWORD PTR _file$[ebp] - 00006 85 d2 test edx, edx - 00008 75 0a jne SHORT $LN2@unztell64 -$LN5@unztell64: - -; 1910 : return (ZPOS64_T)-1; - - 0000a 83 c8 ff or eax, -1 - 0000d 83 ca ff or edx, -1 - -; 1918 : } - - 00010 5d pop ebp - 00011 c2 04 00 ret 4 -$LN2@unztell64: - -; 1911 : s=(unz64_s*)file; -; 1912 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 00014 8b 92 e0 00 00 - 00 mov edx, DWORD PTR [edx+224] - -; 1913 : -; 1914 : if (pfile_in_zip_read_info==NULL) - - 0001a 85 d2 test edx, edx - 0001c 74 ec je SHORT $LN5@unztell64 - -; 1915 : return (ZPOS64_T)-1; -; 1916 : -; 1917 : return pfile_in_zip_read_info->total_out_64; - - 0001e 8b 42 68 mov eax, DWORD PTR [edx+104] - 00021 8b 52 6c mov edx, DWORD PTR [edx+108] - -; 1918 : } - - 00024 5d pop ebp - 00025 c2 04 00 ret 4 -_unztell64@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzeof@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzeof@4 PROC ; COMDAT - -; 1925 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1926 : unz64_s* s; -; 1927 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1928 : if (file==NULL) - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 85 c9 test ecx, ecx - 00008 75 09 jne SHORT $LN2@unzeof -$LN7@unzeof: - -; 1929 : return UNZ_PARAMERROR; - - 0000a b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1940 : } - - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -$LN2@unzeof: - -; 1930 : s=(unz64_s*)file; -; 1931 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 00013 8b 89 e0 00 00 - 00 mov ecx, DWORD PTR [ecx+224] - -; 1932 : -; 1933 : if (pfile_in_zip_read_info==NULL) - - 00019 85 c9 test ecx, ecx - 0001b 74 ed je SHORT $LN7@unzeof - -; 1934 : return UNZ_PARAMERROR; -; 1935 : -; 1936 : if (pfile_in_zip_read_info->rest_read_uncompressed == 0) - - 0001d 8b 81 80 00 00 - 00 mov eax, DWORD PTR [ecx+128] - 00023 0b 81 84 00 00 - 00 or eax, DWORD PTR [ecx+132] - 00029 75 09 jne SHORT $LN4@unzeof - -; 1937 : return 1; - - 0002b b8 01 00 00 00 mov eax, 1 - -; 1940 : } - - 00030 5d pop ebp - 00031 c2 04 00 ret 4 -$LN4@unzeof: - -; 1938 : else -; 1939 : return 0; - - 00034 33 c0 xor eax, eax - -; 1940 : } - - 00036 5d pop ebp - 00037 c2 04 00 ret 4 -_unzeof@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGetLocalExtrafield@12 -_TEXT SEGMENT -tv81 = -4 ; size = 4 -_file$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_len$ = 16 ; size = 4 -_unzGetLocalExtrafield@12 PROC ; COMDAT - -; 1957 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 08 sub esp, 8 - 00009 56 push esi - 0000a 57 push edi - -; 1958 : unz64_s* s; -; 1959 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1960 : uInt read_now; -; 1961 : ZPOS64_T size_to_read; -; 1962 : -; 1963 : if (file==NULL) - - 0000b 8b 7d 08 mov edi, DWORD PTR _file$[ebp] - 0000e 85 ff test edi, edi - 00010 75 0d jne SHORT $LN2@unzGetLoca -$LN13@unzGetLoca: - -; 1964 : return UNZ_PARAMERROR; - - 00012 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1995 : return UNZ_ERRNO; -; 1996 : -; 1997 : return (int)read_now; -; 1998 : } - - 00017 5f pop edi - 00018 5e pop esi - 00019 8b e5 mov esp, ebp - 0001b 5d pop ebp - 0001c c2 0c 00 ret 12 ; 0000000cH -$LN2@unzGetLoca: - -; 1965 : s=(unz64_s*)file; -; 1966 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 0001f 8b bf e0 00 00 - 00 mov edi, DWORD PTR [edi+224] - -; 1967 : -; 1968 : if (pfile_in_zip_read_info==NULL) - - 00025 85 ff test edi, edi - 00027 74 e9 je SHORT $LN13@unzGetLoca - -; 1969 : return UNZ_PARAMERROR; -; 1970 : -; 1971 : size_to_read = (pfile_in_zip_read_info->size_local_extrafield - - - 00029 8b 77 58 mov esi, DWORD PTR [edi+88] - 0002c 33 c0 xor eax, eax - 0002e 8b 57 60 mov edx, DWORD PTR [edi+96] - 00031 2b f2 sub esi, edx - 00033 1b 47 64 sbb eax, DWORD PTR [edi+100] - -; 1972 : pfile_in_zip_read_info->pos_local_extrafield); -; 1973 : -; 1974 : if (buf==NULL) - - 00036 83 7d 0c 00 cmp DWORD PTR _buf$[ebp], 0 - 0003a 74 7c je SHORT $LN12@unzGetLoca - -; 1975 : return (int)size_to_read; -; 1976 : -; 1977 : if (len>size_to_read) - - 0003c 8b 4d 10 mov ecx, DWORD PTR _len$[ebp] - 0003f c7 44 24 0c 00 - 00 00 00 mov DWORD PTR tv81[esp+16], 0 - 00047 39 44 24 0c cmp DWORD PTR tv81[esp+16], eax - 0004b 72 06 jb SHORT $LN5@unzGetLoca - 0004d 77 06 ja SHORT $LN6@unzGetLoca - 0004f 3b ce cmp ecx, esi - 00051 77 02 ja SHORT $LN6@unzGetLoca -$LN5@unzGetLoca: - -; 1978 : read_now = (uInt)size_to_read; -; 1979 : else -; 1980 : read_now = (uInt)len ; - - 00053 8b f1 mov esi, ecx -$LN6@unzGetLoca: - -; 1981 : -; 1982 : if (read_now==0) - - 00055 85 f6 test esi, esi - 00057 75 0a jne SHORT $LN7@unzGetLoca - -; 1983 : return 0; - - 00059 33 c0 xor eax, eax - -; 1995 : return UNZ_ERRNO; -; 1996 : -; 1997 : return (int)read_now; -; 1998 : } - - 0005b 5f pop edi - 0005c 5e pop esi - 0005d 8b e5 mov esp, ebp - 0005f 5d pop ebp - 00060 c2 0c 00 ret 12 ; 0000000cH -$LN7@unzGetLoca: - -; 1984 : -; 1985 : if (ZSEEK64(pfile_in_zip_read_info->z_filefunc, -; 1986 : pfile_in_zip_read_info->filestream, -; 1987 : pfile_in_zip_read_info->offset_local_extrafield + -; 1988 : pfile_in_zip_read_info->pos_local_extrafield, -; 1989 : ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00063 8b 4f 50 mov ecx, DWORD PTR [edi+80] - 00066 8b 47 54 mov eax, DWORD PTR [edi+84] - 00069 03 ca add ecx, edx - 0006b 8b 97 b4 00 00 - 00 mov edx, DWORD PTR [edi+180] - 00071 13 47 64 adc eax, DWORD PTR [edi+100] - 00074 6a 00 push 0 - 00076 50 push eax - 00077 51 push ecx - 00078 8d 8f 88 00 00 - 00 lea ecx, DWORD PTR [edi+136] - 0007e e8 00 00 00 00 call _call_zseek64 - 00083 83 c4 0c add esp, 12 ; 0000000cH - 00086 85 c0 test eax, eax - 00088 74 0b je SHORT $LN8@unzGetLoca - -; 1990 : return UNZ_ERRNO; - - 0008a 83 c8 ff or eax, -1 - -; 1995 : return UNZ_ERRNO; -; 1996 : -; 1997 : return (int)read_now; -; 1998 : } - - 0008d 5f pop edi - 0008e 5e pop esi - 0008f 8b e5 mov esp, ebp - 00091 5d pop ebp - 00092 c2 0c 00 ret 12 ; 0000000cH -$LN8@unzGetLoca: - -; 1991 : -; 1992 : if (ZREAD64(pfile_in_zip_read_info->z_filefunc, -; 1993 : pfile_in_zip_read_info->filestream, -; 1994 : buf,read_now)!=read_now) - - 00095 8b 87 8c 00 00 - 00 mov eax, DWORD PTR [edi+140] - 0009b 56 push esi - 0009c ff 75 0c push DWORD PTR _buf$[ebp] - 0009f ff b7 b4 00 00 - 00 push DWORD PTR [edi+180] - 000a5 ff b7 a4 00 00 - 00 push DWORD PTR [edi+164] - 000ab ff d0 call eax - 000ad 83 c9 ff or ecx, -1 - 000b0 83 c4 10 add esp, 16 ; 00000010H - 000b3 3b c6 cmp eax, esi - 000b5 0f 45 f1 cmovne esi, ecx -$LN12@unzGetLoca: - -; 1995 : return UNZ_ERRNO; -; 1996 : -; 1997 : return (int)read_now; -; 1998 : } - - 000b8 5f pop edi - 000b9 8b c6 mov eax, esi - 000bb 5e pop esi - 000bc 8b e5 mov esp, ebp - 000be 5d pop ebp - 000bf c2 0c 00 ret 12 ; 0000000cH -_unzGetLocalExtrafield@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzCloseCurrentFile@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzCloseCurrentFile@4 PROC ; COMDAT - -; 2005 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 2006 : int err=UNZ_OK; -; 2007 : -; 2008 : unz64_s* s; -; 2009 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 2010 : if (file==NULL) - - 00004 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 00007 57 push edi - 00008 33 ff xor edi, edi - 0000a 85 db test ebx, ebx - 0000c 75 09 jne SHORT $LN2@unzCloseCu - -; 2011 : return UNZ_PARAMERROR; - - 0000e 8d 47 9a lea eax, DWORD PTR [edi-102] - 00011 5f pop edi - 00012 5b pop ebx - -; 2043 : } - - 00013 5d pop ebp - 00014 c2 04 00 ret 4 -$LN2@unzCloseCu: - 00017 56 push esi - -; 2012 : s=(unz64_s*)file; -; 2013 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 00018 8b b3 e0 00 00 - 00 mov esi, DWORD PTR [ebx+224] - -; 2014 : -; 2015 : if (pfile_in_zip_read_info==NULL) - - 0001e 85 f6 test esi, esi - 00020 75 0a jne SHORT $LN3@unzCloseCu - -; 2016 : return UNZ_PARAMERROR; - - 00022 8d 46 9a lea eax, DWORD PTR [esi-102] - 00025 5e pop esi - 00026 5f pop edi - 00027 5b pop ebx - -; 2043 : } - - 00028 5d pop ebp - 00029 c2 04 00 ret 4 -$LN3@unzCloseCu: - -; 2017 : -; 2018 : -; 2019 : if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) && - - 0002c 8b 86 80 00 00 - 00 mov eax, DWORD PTR [esi+128] - 00032 0b 86 84 00 00 - 00 or eax, DWORD PTR [esi+132] - 00038 75 16 jne SHORT $LN5@unzCloseCu - 0003a 39 be c8 00 00 - 00 cmp DWORD PTR [esi+200], edi - 00040 75 0e jne SHORT $LN5@unzCloseCu - -; 2020 : (!pfile_in_zip_read_info->raw)) -; 2021 : { -; 2022 : if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait) - - 00042 8b 46 70 mov eax, DWORD PTR [esi+112] - 00045 b9 97 ff ff ff mov ecx, -105 ; ffffff97H - 0004a 3b 46 74 cmp eax, DWORD PTR [esi+116] - 0004d 0f 45 f9 cmovne edi, ecx -$LN5@unzCloseCu: - -; 2023 : err=UNZ_CRCERROR; -; 2024 : } -; 2025 : -; 2026 : -; 2027 : TRYFREE(pfile_in_zip_read_info->read_buffer); - - 00050 8b 06 mov eax, DWORD PTR [esi] - 00052 85 c0 test eax, eax - 00054 74 0a je SHORT $LN6@unzCloseCu - 00056 50 push eax - 00057 ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 0005d 83 c4 04 add esp, 4 -$LN6@unzCloseCu: - -; 2028 : pfile_in_zip_read_info->read_buffer = NULL; -; 2029 : if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED) - - 00060 83 7e 48 08 cmp DWORD PTR [esi+72], 8 - 00064 c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 - 0006a 75 09 jne SHORT $LN7@unzCloseCu - -; 2030 : inflateEnd(&pfile_in_zip_read_info->stream); - - 0006c 8d 4e 04 lea ecx, DWORD PTR [esi+4] - 0006f 51 push ecx - 00070 e8 00 00 00 00 call _inflateEnd@4 -$LN7@unzCloseCu: - -; 2031 : #ifdef HAVE_BZIP2 -; 2032 : else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED) -; 2033 : BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream); -; 2034 : #endif -; 2035 : -; 2036 : -; 2037 : pfile_in_zip_read_info->stream_initialised = 0; -; 2038 : TRYFREE(pfile_in_zip_read_info); - - 00075 56 push esi - 00076 c7 46 48 00 00 - 00 00 mov DWORD PTR [esi+72], 0 - 0007d ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 00083 83 c4 04 add esp, 4 - -; 2039 : -; 2040 : s->pfile_in_zip_read=NULL; - - 00086 c7 83 e0 00 00 - 00 00 00 00 00 mov DWORD PTR [ebx+224], 0 - -; 2041 : -; 2042 : return err; - - 00090 8b c7 mov eax, edi - 00092 5e pop esi - 00093 5f pop edi - 00094 5b pop ebx - -; 2043 : } - - 00095 5d pop ebp - 00096 c2 04 00 ret 4 -_unzCloseCurrentFile@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\unzip.c -; COMDAT _unzGetGlobalComment@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_szComment$ = 12 ; size = 4 -_uSizeBuf$ = 16 ; size = 4 -_unzGetGlobalComment@12 PROC ; COMDAT - -; 2052 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 2053 : unz64_s* s; -; 2054 : uLong uReadThis ; -; 2055 : if (file==NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 08 jne SHORT $LN2@unzGetGlob - -; 2056 : return (int)UNZ_PARAMERROR; - - 0000b 8d 46 9a lea eax, DWORD PTR [esi-102] - 0000e 5e pop esi - -; 2076 : } - - 0000f 5d pop ebp - 00010 c2 0c 00 ret 12 ; 0000000cH -$LN2@unzGetGlob: - -; 2057 : s=(unz64_s*)file; -; 2058 : -; 2059 : uReadThis = uSizeBuf; - - 00013 8b 4d 10 mov ecx, DWORD PTR _uSizeBuf$[ebp] - -; 2060 : if (uReadThis>s->gi.size_comment) - - 00016 3b 4e 40 cmp ecx, DWORD PTR [esi+64] - -; 2061 : uReadThis = s->gi.size_comment; -; 2062 : -; 2063 : if (ZSEEK64(s->z_filefunc,s->filestream,s->central_pos+22,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00019 8b 46 6c mov eax, DWORD PTR [esi+108] - 0001c 8b 56 30 mov edx, DWORD PTR [esi+48] - 0001f 53 push ebx - 00020 8b d9 mov ebx, ecx - 00022 8b 4e 68 mov ecx, DWORD PTR [esi+104] - 00025 0f 47 5e 40 cmova ebx, DWORD PTR [esi+64] - 00029 83 c1 16 add ecx, 22 ; 00000016H - 0002c 6a 00 push 0 - 0002e 83 d0 00 adc eax, 0 - 00031 50 push eax - 00032 51 push ecx - 00033 8b ce mov ecx, esi - 00035 e8 00 00 00 00 call _call_zseek64 - 0003a 83 c4 0c add esp, 12 ; 0000000cH - 0003d 85 c0 test eax, eax - 0003f 74 09 je SHORT $LN4@unzGetGlob - -; 2064 : return UNZ_ERRNO; - - 00041 5b pop ebx - 00042 83 c8 ff or eax, -1 - 00045 5e pop esi - -; 2076 : } - - 00046 5d pop ebp - 00047 c2 0c 00 ret 12 ; 0000000cH -$LN4@unzGetGlob: - 0004a 57 push edi - -; 2065 : -; 2066 : if (uReadThis>0) - - 0004b 8b 7d 0c mov edi, DWORD PTR _szComment$[ebp] - 0004e 85 db test ebx, ebx - 00050 74 21 je SHORT $LN6@unzGetGlob - -; 2067 : { -; 2068 : *szComment='\0'; -; 2069 : if (ZREAD64(s->z_filefunc,s->filestream,szComment,uReadThis)!=uReadThis) - - 00052 53 push ebx - 00053 c6 07 00 mov BYTE PTR [edi], 0 - 00056 8b 46 04 mov eax, DWORD PTR [esi+4] - 00059 57 push edi - 0005a ff 76 30 push DWORD PTR [esi+48] - 0005d ff 76 1c push DWORD PTR [esi+28] - 00060 ff d0 call eax - 00062 83 c4 10 add esp, 16 ; 00000010H - 00065 3b c3 cmp eax, ebx - 00067 74 0a je SHORT $LN6@unzGetGlob - -; 2070 : return UNZ_ERRNO; - - 00069 5f pop edi - 0006a 5b pop ebx - 0006b 83 c8 ff or eax, -1 - 0006e 5e pop esi - -; 2076 : } - - 0006f 5d pop ebp - 00070 c2 0c 00 ret 12 ; 0000000cH -$LN6@unzGetGlob: - -; 2071 : } -; 2072 : -; 2073 : if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment)) - - 00073 85 ff test edi, edi - 00075 74 0c je SHORT $LN7@unzGetGlob - 00077 8b 46 40 mov eax, DWORD PTR [esi+64] - 0007a 39 45 10 cmp DWORD PTR _uSizeBuf$[ebp], eax - 0007d 76 04 jbe SHORT $LN7@unzGetGlob - -; 2074 : *(szComment+s->gi.size_comment)='\0'; - - 0007f c6 04 38 00 mov BYTE PTR [eax+edi], 0 -$LN7@unzGetGlob: - 00083 5f pop edi - -; 2075 : return (int)uReadThis; - - 00084 8b c3 mov eax, ebx - 00086 5b pop ebx - 00087 5e pop esi - -; 2076 : } - - 00088 5d pop ebp - 00089 c2 0c 00 ret 12 ; 0000000cH -_unzGetGlobalComment@12 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/unzip.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/unzip.obj deleted file mode 100644 index 43f344f7af..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/unzip.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zip.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zip.cod deleted file mode 100644 index 6e5780d7b4..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zip.cod +++ /dev/null @@ -1,7727 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_01JOAMLHOP@?9?$AA@ ; `string' -EXTRN __imp___time64:PROC -EXTRN __imp__rand:PROC -EXTRN __imp__srand:PROC -?calls@?1??crypthead@@9@9 DD 01H DUP (?) ; `crypthead'::`2'::calls -_BSS ENDS -; COMDAT ??_C@_01JOAMLHOP@?9?$AA@ -CONST SEGMENT -??_C@_01JOAMLHOP@?9?$AA@ DB '-', 00H ; `string' -PUBLIC _zipClose@8 -PUBLIC _Write_GlobalComment -PUBLIC _Write_EndOfCentralDirectoryRecord -PUBLIC _Write_Zip64EndOfCentralDirectoryRecord -PUBLIC _Write_Zip64EndOfCentralDirectoryLocator -PUBLIC _zipCloseFileInZip@4 -PUBLIC _zipCloseFileInZipRaw64@16 -PUBLIC _zipCloseFileInZipRaw@12 -PUBLIC _zipWriteInFileInZip@12 -PUBLIC _zipOpenNewFileInZip@40 -PUBLIC _zipOpenNewFileInZip64@44 -PUBLIC _zipOpenNewFileInZip2_64@48 -PUBLIC _zipOpenNewFileInZip2@44 -PUBLIC _zipOpenNewFileInZip3_64@68 -PUBLIC _zipOpenNewFileInZip3@64 -PUBLIC _zipOpenNewFileInZip4_64@76 -PUBLIC _Write_LocalFileHeader -PUBLIC _zipOpen64@8 -PUBLIC _zipOpen@8 -PUBLIC _zipOpen2_64@16 -PUBLIC _zipOpen2@16 -PUBLIC _zipOpen3@16 -PUBLIC _LoadCentralDirectoryRecord -; Function compile flags: /Ogtp -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\time.h -; COMDAT _time -_TEXT SEGMENT -_time PROC ; COMDAT -; __Time$dead$ = ecx - -; 535 : return _time64(_Time); - - 00000 6a 00 push 0 - 00002 ff 15 00 00 00 - 00 call DWORD PTR __imp___time64 - 00008 83 c4 04 add esp, 4 - -; 536 : } - - 0000b c3 ret 0 -_time ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\crypt.h -; COMDAT _decrypt_byte -_TEXT SEGMENT -_decrypt_byte PROC ; COMDAT -; _pkeys$ = ecx -; _pcrc_32_tab$dead$ = edx - -; 37 : unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an -; 38 : * unpredictable manner on 16-bit systems; not a problem -; 39 : * with any known compiler so far, though */ -; 40 : -; 41 : temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2; - - 00000 8b 49 08 mov ecx, DWORD PTR [ecx+8] - 00003 81 e1 fd ff 00 - 00 and ecx, 65533 ; 0000fffdH - 00009 83 c9 02 or ecx, 2 - -; 42 : return (int)(((temp * (temp ^ 1)) >> 8) & 0xff); - - 0000c 8b c1 mov eax, ecx - 0000e 83 f0 01 xor eax, 1 - 00011 0f af c1 imul eax, ecx - 00014 c1 e8 08 shr eax, 8 - 00017 0f b6 c0 movzx eax, al - -; 43 : } - - 0001a c3 ret 0 -_decrypt_byte ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\crypt.h -; COMDAT _update_keys -_TEXT SEGMENT -_pkeys$1$ = -4 ; size = 4 -_c$ = 8 ; size = 4 -_update_keys PROC ; COMDAT -; _pkeys$ = ecx -; _pcrc_32_tab$ = edx - -; 49 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - -; 50 : (*(pkeys+0)) = CRC32((*(pkeys+0)), c); - - 00006 8b 31 mov esi, DWORD PTR [ecx] - 00008 8b da mov ebx, edx - -; 51 : (*(pkeys+1)) += (*(pkeys+0)) & 0xff; -; 52 : (*(pkeys+1)) = (*(pkeys+1)) * 134775813L + 1; -; 53 : { -; 54 : register int keyshift = (int)((*(pkeys+1)) >> 24); -; 55 : (*(pkeys+2)) = CRC32((*(pkeys+2)), keyshift); - - 0000a 8b 51 08 mov edx, DWORD PTR [ecx+8] - 0000d 8b c6 mov eax, esi - 0000f 33 45 08 xor eax, DWORD PTR _c$[ebp] - 00012 0f b6 c0 movzx eax, al - 00015 c1 ee 08 shr esi, 8 - 00018 89 4d fc mov DWORD PTR _pkeys$1$[ebp], ecx - 0001b 8b 04 83 mov eax, DWORD PTR [ebx+eax*4] - 0001e 33 c6 xor eax, esi - 00020 89 01 mov DWORD PTR [ecx], eax - 00022 0f b6 c0 movzx eax, al - 00025 03 41 04 add eax, DWORD PTR [ecx+4] - 00028 69 c0 05 84 08 - 08 imul eax, eax, 134775813 - 0002e 5e pop esi - 0002f 40 inc eax - 00030 89 41 04 mov DWORD PTR [ecx+4], eax - 00033 c1 e8 18 shr eax, 24 ; 00000018H - 00036 33 c2 xor eax, edx - 00038 c1 ea 08 shr edx, 8 - 0003b 0f b6 c8 movzx ecx, al - 0003e 8b 45 fc mov eax, DWORD PTR _pkeys$1$[ebp] - 00041 33 14 8b xor edx, DWORD PTR [ebx+ecx*4] - 00044 89 50 08 mov DWORD PTR [eax+8], edx - -; 56 : } -; 57 : return c; - - 00047 8b 45 08 mov eax, DWORD PTR _c$[ebp] - 0004a 5b pop ebx - -; 58 : } - - 0004b 8b e5 mov esp, ebp - 0004d 5d pop ebp - 0004e c3 ret 0 -_update_keys ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\crypt.h -; COMDAT _init_keys -_TEXT SEGMENT -_pcrc_32_tab$ = 8 ; size = 4 -_init_keys PROC ; COMDAT -; _passwd$ = ecx -; _pkeys$ = edx - -; 66 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - 00004 57 push edi - 00005 8b fa mov edi, edx - 00007 8b f1 mov esi, ecx - -; 67 : *(pkeys+0) = 305419896L; - - 00009 c7 07 78 56 34 - 12 mov DWORD PTR [edi], 305419896 ; 12345678H - -; 68 : *(pkeys+1) = 591751049L; - - 0000f c7 47 04 89 67 - 45 23 mov DWORD PTR [edi+4], 591751049 ; 23456789H - -; 69 : *(pkeys+2) = 878082192L; - - 00016 c7 47 08 90 78 - 56 34 mov DWORD PTR [edi+8], 878082192 ; 34567890H - -; 70 : while (*passwd != '\0') { - - 0001d 8a 06 mov al, BYTE PTR [esi] - 0001f 84 c0 test al, al - 00021 74 1f je SHORT $LN3@init_keys - 00023 53 push ebx - 00024 8b 5d 08 mov ebx, DWORD PTR _pcrc_32_tab$[ebp] -$LL2@init_keys: - -; 71 : update_keys(pkeys,pcrc_32_tab,(int)*passwd); - - 00027 0f be c0 movsx eax, al - 0002a 8b d3 mov edx, ebx - 0002c 50 push eax - 0002d 8b cf mov ecx, edi - 0002f e8 00 00 00 00 call _update_keys - 00034 8a 46 01 mov al, BYTE PTR [esi+1] - -; 72 : passwd++; - - 00037 8d 76 01 lea esi, DWORD PTR [esi+1] - 0003a 83 c4 04 add esp, 4 - 0003d 84 c0 test al, al - 0003f 75 e6 jne SHORT $LL2@init_keys - 00041 5b pop ebx -$LN3@init_keys: - 00042 5f pop edi - 00043 5e pop esi - -; 73 : } -; 74 : } - - 00044 5d pop ebp - 00045 c3 ret 0 -_init_keys ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\crypt.h -; File c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\time.h -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\crypt.h -; COMDAT _crypthead -_TEXT SEGMENT -_header$ = -28 ; size = 10 -tv254 = -16 ; size = 4 -_t$3$ = -16 ; size = 4 -_passwd$1$ = -16 ; size = 4 -_c$1$ = -12 ; size = 4 -_buf$1$ = -8 ; size = 4 -tv247 = -1 ; size = 1 -_bufSize$dead$ = 8 ; size = 4 -_pkeys$ = 12 ; size = 4 -_pcrc_32_tab$ = 16 ; size = 4 -_crcForCrypting$ = 20 ; size = 4 -_crypthead PROC ; COMDAT -; _passwd$ = ecx -; _buf$ = edx - -; 96 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 1c sub esp, 28 ; 0000001cH - -; 97 : int n; /* index in random header */ -; 98 : int t; /* temporary */ -; 99 : int c; /* random byte */ -; 100 : unsigned char header[RAND_HEAD_LEN-2]; /* random header */ -; 101 : static unsigned calls = 0; /* ensure different random header each time */ -; 102 : -; 103 : if (bufSize> 7) & 0xff; - - 00050 ff 15 00 00 00 - 00 call DWORD PTR __imp__rand - 00056 c1 f8 07 sar eax, 7 - -; 118 : header[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, c, t); - - 00059 8b cf mov ecx, edi - 0005b 0f b6 d0 movzx edx, al - 0005e 89 55 f4 mov DWORD PTR _c$1$[ebp], edx - 00061 e8 00 00 00 00 call _decrypt_byte - 00066 52 push edx - 00067 8b 55 10 mov edx, DWORD PTR _pcrc_32_tab$[ebp] - 0006a 8b cf mov ecx, edi - 0006c 8b d8 mov ebx, eax - 0006e e8 00 00 00 00 call _update_keys - 00073 8b 45 f4 mov eax, DWORD PTR _c$1$[ebp] - 00076 83 c4 04 add esp, 4 - 00079 32 c3 xor al, bl - 0007b 88 44 35 e4 mov BYTE PTR _header$[ebp+esi], al - 0007f 46 inc esi - 00080 83 fe 0a cmp esi, 10 ; 0000000aH - 00083 7c cb jl SHORT $LL4@crypthead - -; 119 : } -; 120 : /* Encrypt random header (last two bytes is high word of crc) */ -; 121 : init_keys(passwd, pkeys, pcrc_32_tab); - - 00085 ff 75 10 push DWORD PTR _pcrc_32_tab$[ebp] - 00088 8b 4d f0 mov ecx, DWORD PTR _passwd$1$[ebp] - 0008b 8b d7 mov edx, edi - 0008d e8 00 00 00 00 call _init_keys - -; 122 : for (n = 0; n < RAND_HEAD_LEN-2; n++) - - 00092 8b 45 f8 mov eax, DWORD PTR _buf$1$[ebp] - 00095 8d 4d e4 lea ecx, DWORD PTR _header$[ebp] - 00098 83 c4 04 add esp, 4 - 0009b 33 f6 xor esi, esi - 0009d 2b c1 sub eax, ecx - 0009f 89 45 f0 mov DWORD PTR tv254[ebp], eax -$LL7@crypthead: - -; 123 : { -; 124 : buf[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, header[n], t); - - 000a2 8b cf mov ecx, edi - 000a4 e8 00 00 00 00 call _decrypt_byte - 000a9 0f b6 4c 35 e4 movzx ecx, BYTE PTR _header$[ebp+esi] - 000ae 8b d8 mov ebx, eax - 000b0 8b 55 10 mov edx, DWORD PTR _pcrc_32_tab$[ebp] - 000b3 51 push ecx - 000b4 8b cf mov ecx, edi - 000b6 e8 00 00 00 00 call _update_keys - 000bb 8b 45 f0 mov eax, DWORD PTR tv254[ebp] - 000be 83 c4 04 add esp, 4 - 000c1 8a 4c 35 e4 mov cl, BYTE PTR _header$[ebp+esi] - 000c5 03 c6 add eax, esi - 000c7 32 cb xor cl, bl - 000c9 46 inc esi - 000ca 88 4c 05 e4 mov BYTE PTR _header$[ebp+eax], cl - 000ce 83 fe 0a cmp esi, 10 ; 0000000aH - 000d1 7c cf jl SHORT $LL7@crypthead - -; 125 : } -; 126 : buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t); - - 000d3 8b cf mov ecx, edi - 000d5 e8 00 00 00 00 call _decrypt_byte - 000da 8b 7d 14 mov edi, DWORD PTR _crcForCrypting$[ebp] - 000dd 8b df mov ebx, edi - 000df 8b 55 10 mov edx, DWORD PTR _pcrc_32_tab$[ebp] - 000e2 c1 eb 10 shr ebx, 16 ; 00000010H - 000e5 0f b6 cb movzx ecx, bl - 000e8 51 push ecx - 000e9 8b 4d 0c mov ecx, DWORD PTR _pkeys$[ebp] - 000ec 89 45 f0 mov DWORD PTR _t$3$[ebp], eax - 000ef e8 00 00 00 00 call _update_keys - 000f4 8b 45 f8 mov eax, DWORD PTR _buf$1$[ebp] - 000f7 32 5d f0 xor bl, BYTE PTR _t$3$[ebp] - -; 127 : buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t); - - 000fa 8b 4d 0c mov ecx, DWORD PTR _pkeys$[ebp] - 000fd 88 1c 06 mov BYTE PTR [esi+eax], bl - 00100 e8 00 00 00 00 call _decrypt_byte - 00105 8b 55 10 mov edx, DWORD PTR _pcrc_32_tab$[ebp] - 00108 8b d8 mov ebx, eax - 0010a 8b 4d 0c mov ecx, DWORD PTR _pkeys$[ebp] - 0010d c1 ef 18 shr edi, 24 ; 00000018H - 00110 57 push edi - 00111 e8 00 00 00 00 call _update_keys - 00116 8b 4d f8 mov ecx, DWORD PTR _buf$1$[ebp] - 00119 83 c4 08 add esp, 8 - 0011c 8b c7 mov eax, edi - 0011e 32 c3 xor al, bl - 00120 88 44 0e 01 mov BYTE PTR [esi+ecx+1], al - 00124 8d 46 02 lea eax, DWORD PTR [esi+2] - 00127 5f pop edi - 00128 5e pop esi - 00129 5b pop ebx - -; 128 : return n; -; 129 : } - - 0012a 8b e5 mov esp, ebp - 0012c 5d pop ebp - 0012d c3 ret 0 -_crypthead ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _allocate_new_datablock -_TEXT SEGMENT -_allocate_new_datablock PROC ; COMDAT - -; 191 : linkedlist_datablock_internal* ldi; -; 192 : ldi = (linkedlist_datablock_internal*) - - 00000 68 00 10 00 00 push 4096 ; 00001000H - 00005 ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 0000b 83 c4 04 add esp, 4 - -; 193 : ALLOC(sizeof(linkedlist_datablock_internal)); -; 194 : if (ldi!=NULL) - - 0000e 85 c0 test eax, eax - 00010 74 14 je SHORT $LN2@allocate_n - -; 195 : { -; 196 : ldi->next_datablock = NULL ; - - 00012 c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - -; 197 : ldi->filled_in_this_block = 0 ; - - 00018 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], 0 - -; 198 : ldi->avail_in_this_block = SIZEDATA_INDATABLOCK ; - - 0001f c7 40 04 f0 0f - 00 00 mov DWORD PTR [eax+4], 4080 ; 00000ff0H -$LN2@allocate_n: - -; 199 : } -; 200 : return ldi; -; 201 : } - - 00026 c3 ret 0 -_allocate_new_datablock ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _free_datablock -_TEXT SEGMENT -_free_datablock PROC ; COMDAT -; _ldi$ = ecx - -; 205 : while (ldi!=NULL) - - 00000 85 c9 test ecx, ecx - 00002 74 1c je SHORT $LN3@free_datab - 00004 56 push esi - 00005 57 push edi - 00006 8b 3d 00 00 00 - 00 mov edi, DWORD PTR __imp__free - 0000c 0f 1f 40 00 npad 4 -$LL2@free_datab: - -; 206 : { -; 207 : linkedlist_datablock_internal* ldinext = ldi->next_datablock; - - 00010 8b 31 mov esi, DWORD PTR [ecx] - -; 208 : TRYFREE(ldi); - - 00012 51 push ecx - 00013 ff d7 call edi - 00015 83 c4 04 add esp, 4 - -; 209 : ldi = ldinext; - - 00018 8b ce mov ecx, esi - 0001a 85 f6 test esi, esi - 0001c 75 f2 jne SHORT $LL2@free_datab - 0001e 5f pop edi - 0001f 5e pop esi -$LN3@free_datab: - -; 210 : } -; 211 : } - - 00020 c3 ret 0 -_free_datablock ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _init_linkedlist -_TEXT SEGMENT -_init_linkedlist PROC ; COMDAT -; _ll$ = ecx - -; 215 : ll->first_block = ll->last_block = NULL; - - 00000 c7 41 04 00 00 - 00 00 mov DWORD PTR [ecx+4], 0 - 00007 c7 01 00 00 00 - 00 mov DWORD PTR [ecx], 0 - -; 216 : } - - 0000d c3 ret 0 -_init_linkedlist ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _free_linkedlist -_TEXT SEGMENT -_free_linkedlist PROC ; COMDAT -; _ll$ = ecx - -; 219 : { - - 00000 56 push esi - 00001 8b f1 mov esi, ecx - -; 220 : free_datablock(ll->first_block); - - 00003 8b 0e mov ecx, DWORD PTR [esi] - 00005 e8 00 00 00 00 call _free_datablock - -; 221 : ll->first_block = ll->last_block = NULL; - - 0000a c7 46 04 00 00 - 00 00 mov DWORD PTR [esi+4], 0 - 00011 c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 - 00017 5e pop esi - -; 222 : } - - 00018 c3 ret 0 -_free_linkedlist ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _add_data_in_datablock -_TEXT SEGMENT -_ll$1$ = -8 ; size = 4 -_from_copy$1$ = -4 ; size = 4 -_len$ = 8 ; size = 4 -_add_data_in_datablock PROC ; COMDAT -; _ll$ = ecx -; _buf$ = edx - -; 226 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - 00006 57 push edi - 00007 8b f9 mov edi, ecx - 00009 89 55 fc mov DWORD PTR _from_copy$1$[ebp], edx - 0000c 89 7d f8 mov DWORD PTR _ll$1$[ebp], edi - -; 227 : linkedlist_datablock_internal* ldi; -; 228 : const unsigned char* from_copy; -; 229 : -; 230 : if (ll==NULL) - - 0000f 85 ff test edi, edi - 00011 75 0a jne SHORT $LN7@add_data_i -$LN29@add_data_i: - -; 231 : return ZIP_INTERNALERROR; - - 00013 b8 98 ff ff ff mov eax, -104 ; ffffff98H - 00018 5f pop edi - -; 274 : } - - 00019 8b e5 mov esp, ebp - 0001b 5d pop ebp - 0001c c3 ret 0 -$LN7@add_data_i: - -; 232 : -; 233 : if (ll->last_block == NULL) - - 0001d 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 00021 75 0e jne SHORT $LN9@add_data_i - -; 234 : { -; 235 : ll->first_block = ll->last_block = allocate_new_datablock(); - - 00023 e8 00 00 00 00 call _allocate_new_datablock - 00028 89 47 04 mov DWORD PTR [edi+4], eax - 0002b 89 07 mov DWORD PTR [edi], eax - -; 236 : if (ll->first_block == NULL) - - 0002d 85 c0 test eax, eax - 0002f 74 e2 je SHORT $LN29@add_data_i -$LN9@add_data_i: - 00031 53 push ebx - -; 237 : return ZIP_INTERNALERROR; -; 238 : } -; 239 : -; 240 : ldi = ll->last_block; -; 241 : from_copy = (unsigned char*)buf; -; 242 : -; 243 : while (len>0) - - 00032 8b 5d 08 mov ebx, DWORD PTR _len$[ebp] - 00035 56 push esi - 00036 8b 77 04 mov esi, DWORD PTR [edi+4] - 00039 85 db test ebx, ebx - 0003b 74 59 je SHORT $LN26@add_data_i - 0003d 0f 1f 00 npad 3 -$LL2@add_data_i: - -; 244 : { -; 245 : uInt copy_this; -; 246 : uInt i; -; 247 : unsigned char* to_copy; -; 248 : -; 249 : if (ldi->avail_in_this_block==0) - - 00040 83 7e 04 00 cmp DWORD PTR [esi+4], 0 - 00044 75 10 jne SHORT $LN10@add_data_i - -; 250 : { -; 251 : ldi->next_datablock = allocate_new_datablock(); - - 00046 e8 00 00 00 00 call _allocate_new_datablock - 0004b 89 06 mov DWORD PTR [esi], eax - -; 252 : if (ldi->next_datablock == NULL) - - 0004d 85 c0 test eax, eax - 0004f 74 4e je SHORT $LN17@add_data_i - -; 254 : ldi = ldi->next_datablock ; - - 00051 8b f0 mov esi, eax - -; 255 : ll->last_block = ldi; - - 00053 89 77 04 mov DWORD PTR [edi+4], esi -$LN10@add_data_i: - -; 256 : } -; 257 : -; 258 : if (ldi->avail_in_this_block < len) - - 00056 39 5e 04 cmp DWORD PTR [esi+4], ebx - 00059 8b d3 mov edx, ebx - -; 259 : copy_this = (uInt)ldi->avail_in_this_block; -; 260 : else -; 261 : copy_this = (uInt)len; -; 262 : -; 263 : to_copy = &(ldi->data[ldi->filled_in_this_block]); - - 0005b 8b 46 08 mov eax, DWORD PTR [esi+8] - 0005e 0f 42 56 04 cmovb edx, DWORD PTR [esi+4] - 00062 83 c0 10 add eax, 16 ; 00000010H - 00065 03 c6 add eax, esi - -; 264 : -; 265 : for (i=0;ifilled_in_this_block += copy_this; - - 00086 01 56 08 add DWORD PTR [esi+8], edx - -; 269 : ldi->avail_in_this_block -= copy_this; - - 00089 29 56 04 sub DWORD PTR [esi+4], edx - -; 270 : from_copy += copy_this ; - - 0008c 01 55 fc add DWORD PTR _from_copy$1$[ebp], edx - -; 271 : len -= copy_this; - - 0008f 2b da sub ebx, edx - 00091 89 5d 08 mov DWORD PTR _len$[ebp], ebx - 00094 75 aa jne SHORT $LL2@add_data_i -$LN26@add_data_i: - 00096 5e pop esi - 00097 5b pop ebx - -; 272 : } -; 273 : return ZIP_OK; - - 00098 33 c0 xor eax, eax - 0009a 5f pop edi - -; 274 : } - - 0009b 8b e5 mov esp, ebp - 0009d 5d pop ebp - 0009e c3 ret 0 -$LN17@add_data_i: - 0009f 5e pop esi - 000a0 5b pop ebx - -; 253 : return ZIP_INTERNALERROR; - - 000a1 b8 98 ff ff ff mov eax, -104 ; ffffff98H - 000a6 5f pop edi - -; 274 : } - - 000a7 8b e5 mov esp, ebp - 000a9 5d pop ebp - 000aa c3 ret 0 -_add_data_in_datablock ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zip64local_putValue -_TEXT SEGMENT -_filestream$1$ = -8 ; size = 4 -_pzlib_filefunc_def$1$ = -4 ; size = 4 -_buf$ = 8 ; size = 8 -_x$ = 8 ; size = 8 -_nbByte$ = 16 ; size = 4 -_zip64local_putValue PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 288 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - -; 289 : unsigned char buf[8]; -; 290 : int n; -; 291 : for (n = 0; n < nbByte; n++) - - 00006 8b 45 0c mov eax, DWORD PTR _x$[ebp+4] - 00009 53 push ebx - 0000a 8b 5d 10 mov ebx, DWORD PTR _nbByte$[ebp] - 0000d 56 push esi - 0000e 89 55 f8 mov DWORD PTR _filestream$1$[ebp], edx - 00011 33 f6 xor esi, esi - 00013 8b d1 mov edx, ecx - 00015 8b 4d 08 mov ecx, DWORD PTR _x$[ebp] - 00018 89 55 fc mov DWORD PTR _pzlib_filefunc_def$1$[ebp], edx - 0001b 85 db test ebx, ebx - 0001d 7e 11 jle SHORT $LN3@zip64local - 0001f 90 npad 1 -$LL16@zip64local: - -; 292 : { -; 293 : buf[n] = (unsigned char)(x & 0xff); - - 00020 88 4c 35 08 mov BYTE PTR _buf$[ebp+esi], cl - 00024 46 inc esi - -; 294 : x >>= 8; - - 00025 0f ac c1 08 shrd ecx, eax, 8 - 00029 c1 e8 08 shr eax, 8 - 0002c 3b f3 cmp esi, ebx - 0002e 7c f0 jl SHORT $LL16@zip64local -$LN3@zip64local: - -; 295 : } -; 296 : if (x != 0) - - 00030 0b c8 or ecx, eax - 00032 74 1f je SHORT $LN6@zip64local - -; 297 : { /* data overflow - hack for ZIP64 (X Roche) */ -; 298 : for (n = 0; n < nbByte; n++) - - 00034 85 db test ebx, ebx - 00036 7e 1b jle SHORT $LN6@zip64local - -; 299 : { -; 300 : buf[n] = 0xff; - - 00038 57 push edi - 00039 8b cb mov ecx, ebx - 0003b 8d 7d 08 lea edi, DWORD PTR _buf$[ebp] - 0003e 8b d1 mov edx, ecx - 00040 83 c8 ff or eax, -1 - 00043 c1 e9 02 shr ecx, 2 - 00046 f3 ab rep stosd - 00048 8b ca mov ecx, edx - 0004a 8b 55 fc mov edx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 0004d 83 e1 03 and ecx, 3 - 00050 f3 aa rep stosb - 00052 5f pop edi -$LN6@zip64local: - -; 301 : } -; 302 : } -; 303 : -; 304 : if (ZWRITE64(*pzlib_filefunc_def,filestream,buf,nbByte)!=(uLong)nbByte) - - 00053 53 push ebx - 00054 8d 45 08 lea eax, DWORD PTR _buf$[ebp] - 00057 50 push eax - 00058 ff 75 f8 push DWORD PTR _filestream$1$[ebp] - 0005b 8b 42 08 mov eax, DWORD PTR [edx+8] - 0005e ff 72 1c push DWORD PTR [edx+28] - 00061 ff d0 call eax - 00063 83 c4 10 add esp, 16 ; 00000010H - 00066 2b c3 sub eax, ebx - 00068 f7 d8 neg eax - 0006a 1b c0 sbb eax, eax - 0006c 5e pop esi - 0006d 5b pop ebx - -; 305 : return ZIP_ERRNO; -; 306 : else -; 307 : return ZIP_OK; -; 308 : } - - 0006e 8b e5 mov esp, ebp - 00070 5d pop ebp - 00071 c3 ret 0 -_zip64local_putValue ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zip64local_putValue_inmemory -_TEXT SEGMENT -_x$ = 8 ; size = 8 -_zip64local_putValue_inmemory PROC ; COMDAT -; _dest$ = ecx -; _nbByte$ = edx - -; 312 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 313 : unsigned char* buf=(unsigned char*)dest; -; 314 : int n; -; 315 : for (n = 0; n < nbByte; n++) { - - 00003 8b 45 0c mov eax, DWORD PTR _x$[ebp+4] - 00006 56 push esi - 00007 57 push edi - 00008 33 f6 xor esi, esi - 0000a 8b f9 mov edi, ecx - 0000c 8b 4d 08 mov ecx, DWORD PTR _x$[ebp] - 0000f 85 d2 test edx, edx - 00011 7e 0f jle SHORT $LN3@zip64local -$LL14@zip64local: - -; 316 : buf[n] = (unsigned char)(x & 0xff); - - 00013 88 0c 3e mov BYTE PTR [esi+edi], cl - 00016 46 inc esi - -; 317 : x >>= 8; - - 00017 0f ac c1 08 shrd ecx, eax, 8 - 0001b c1 e8 08 shr eax, 8 - 0001e 3b f2 cmp esi, edx - 00020 7c f1 jl SHORT $LL14@zip64local -$LN3@zip64local: - -; 318 : } -; 319 : -; 320 : if (x != 0) - - 00022 0b c8 or ecx, eax - 00024 74 15 je SHORT $LN6@zip64local - -; 321 : { /* data overflow - hack for ZIP64 */ -; 322 : for (n = 0; n < nbByte; n++) - - 00026 85 d2 test edx, edx - 00028 7e 11 jle SHORT $LN6@zip64local - -; 323 : { -; 324 : buf[n] = 0xff; - - 0002a 8b ca mov ecx, edx - 0002c 83 c8 ff or eax, -1 - 0002f c1 e9 02 shr ecx, 2 - 00032 f3 ab rep stosd - 00034 8b ca mov ecx, edx - 00036 83 e1 03 and ecx, 3 - 00039 f3 aa rep stosb -$LN6@zip64local: - 0003b 5f pop edi - 0003c 5e pop esi - -; 325 : } -; 326 : } -; 327 : } - - 0003d 5d pop ebp - 0003e c3 ret 0 -_zip64local_putValue_inmemory ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zip64local_TmzDateToDosDate -_TEXT SEGMENT -_zip64local_TmzDateToDosDate PROC ; COMDAT -; _ptm$ = ecx - -; 333 : { - - 00000 56 push esi - 00001 8b f1 mov esi, ecx - -; 334 : uLong year = (uLong)ptm->tm_year; - - 00003 8b 56 14 mov edx, DWORD PTR [esi+20] - -; 335 : if (year>=1980) - - 00006 81 fa bc 07 00 - 00 cmp edx, 1980 ; 000007bcH - 0000c 72 08 jb SHORT $LN2@zip64local - -; 336 : year-=1980; - - 0000e 81 ea bc 07 00 - 00 sub edx, 1980 ; 000007bcH - 00014 eb 08 jmp SHORT $LN4@zip64local -$LN2@zip64local: - -; 337 : else if (year>=80) - - 00016 83 fa 50 cmp edx, 80 ; 00000050H - 00019 72 03 jb SHORT $LN4@zip64local - -; 338 : year-=80; - - 0001b 83 ea 50 sub edx, 80 ; 00000050H -$LN4@zip64local: - -; 339 : return - - 0001e 8b 46 08 mov eax, DWORD PTR [esi+8] - 00021 8b 0e mov ecx, DWORD PTR [esi] - 00023 c1 e0 06 shl eax, 6 - 00026 03 46 04 add eax, DWORD PTR [esi+4] - 00029 d1 e9 shr ecx, 1 - 0002b c1 e0 05 shl eax, 5 - 0002e 03 c1 add eax, ecx - 00030 c1 e2 04 shl edx, 4 - 00033 8b 4e 10 mov ecx, DWORD PTR [esi+16] - 00036 41 inc ecx - 00037 03 ca add ecx, edx - 00039 c1 e1 05 shl ecx, 5 - 0003c 03 4e 0c add ecx, DWORD PTR [esi+12] - 0003f c1 e1 10 shl ecx, 16 ; 00000010H - 00042 0b c1 or eax, ecx - 00044 5e pop esi - -; 340 : (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) | -; 341 : ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour)); -; 342 : } - - 00045 c3 ret 0 -_zip64local_TmzDateToDosDate ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zip64local_getByte -_TEXT SEGMENT -_c$ = -1 ; size = 1 -_pi$ = 8 ; size = 4 -_zip64local_getByte PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 350 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - 00005 57 push edi - -; 351 : unsigned char c; -; 352 : int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1); - - 00006 6a 01 push 1 - 00008 8b f1 mov esi, ecx - 0000a 8d 45 ff lea eax, DWORD PTR _c$[ebp] - 0000d 50 push eax - 0000e 8b fa mov edi, edx - 00010 57 push edi - 00011 ff 76 1c push DWORD PTR [esi+28] - 00014 8b 46 04 mov eax, DWORD PTR [esi+4] - 00017 ff d0 call eax - 00019 83 c4 10 add esp, 16 ; 00000010H - -; 353 : if (err==1) - - 0001c 83 f8 01 cmp eax, 1 - 0001f 75 11 jne SHORT $LN2@zip64local - -; 354 : { -; 355 : *pi = (int)c; - - 00021 8b 45 08 mov eax, DWORD PTR _pi$[ebp] - 00024 0f b6 4d ff movzx ecx, BYTE PTR _c$[ebp] - 00028 5f pop edi - 00029 5e pop esi - 0002a 89 08 mov DWORD PTR [eax], ecx - -; 356 : return ZIP_OK; - - 0002c 33 c0 xor eax, eax - -; 361 : return ZIP_ERRNO; -; 362 : else -; 363 : return ZIP_EOF; -; 364 : } -; 365 : } - - 0002e 8b e5 mov esp, ebp - 00030 5d pop ebp - 00031 c3 ret 0 -$LN2@zip64local: - -; 357 : } -; 358 : else -; 359 : { -; 360 : if (ZERROR64(*pzlib_filefunc_def,filestream)) - - 00032 8b 46 18 mov eax, DWORD PTR [esi+24] - 00035 57 push edi - 00036 ff 76 1c push DWORD PTR [esi+28] - 00039 ff d0 call eax - 0003b 83 c4 08 add esp, 8 - 0003e f7 d8 neg eax - 00040 1b c0 sbb eax, eax - 00042 5f pop edi - 00043 5e pop esi - -; 361 : return ZIP_ERRNO; -; 362 : else -; 363 : return ZIP_EOF; -; 364 : } -; 365 : } - - 00044 8b e5 mov esp, ebp - 00046 5d pop ebp - 00047 c3 ret 0 -_zip64local_getByte ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zip64local_getShort -_TEXT SEGMENT -_i$ = -4 ; size = 4 -_pX$ = 8 ; size = 4 -_zip64local_getShort PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 374 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 57 push edi - -; 375 : uLong x ; -; 376 : int i = 0; -; 377 : int err; -; 378 : -; 379 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00007 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0000a c7 45 fc 00 00 - 00 00 mov DWORD PTR _i$[ebp], 0 - 00011 50 push eax - 00012 8b f2 mov esi, edx - 00014 8b f9 mov edi, ecx - 00016 e8 00 00 00 00 call _zip64local_getByte - -; 380 : x = (uLong)i; - - 0001b 8b 5d fc mov ebx, DWORD PTR _i$[ebp] - 0001e 8b d0 mov edx, eax - 00020 83 c4 04 add esp, 4 - -; 381 : -; 382 : if (err==ZIP_OK) - - 00023 85 d2 test edx, edx - 00025 75 2c jne SHORT $LN3@zip64local - -; 383 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00027 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0002a 8b d6 mov edx, esi - 0002c 50 push eax - 0002d 8b cf mov ecx, edi - 0002f e8 00 00 00 00 call _zip64local_getByte - 00034 8b d0 mov edx, eax - 00036 83 c4 04 add esp, 4 - -; 384 : x += ((uLong)i)<<8; -; 385 : -; 386 : if (err==ZIP_OK) - - 00039 85 d2 test edx, edx - 0003b 75 16 jne SHORT $LN3@zip64local - -; 387 : *pX = x; - - 0003d 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00040 8b 45 08 mov eax, DWORD PTR _pX$[ebp] - 00043 c1 e1 08 shl ecx, 8 - 00046 5f pop edi - 00047 03 cb add ecx, ebx - 00049 5e pop esi - 0004a 89 08 mov DWORD PTR [eax], ecx - -; 390 : return err; - - 0004c 8b c2 mov eax, edx - 0004e 5b pop ebx - -; 391 : } - - 0004f 8b e5 mov esp, ebp - 00051 5d pop ebp - 00052 c3 ret 0 -$LN3@zip64local: - -; 388 : else -; 389 : *pX = 0; - - 00053 8b 45 08 mov eax, DWORD PTR _pX$[ebp] - 00056 5f pop edi - 00057 5e pop esi - 00058 5b pop ebx - 00059 c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - -; 390 : return err; - - 0005f 8b c2 mov eax, edx - -; 391 : } - - 00061 8b e5 mov esp, ebp - 00063 5d pop ebp - 00064 c3 ret 0 -_zip64local_getShort ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zip64local_getLong -_TEXT SEGMENT -_i$ = -4 ; size = 4 -_pX$ = 8 ; size = 4 -_zip64local_getLong PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 396 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 57 push edi - -; 397 : uLong x ; -; 398 : int i = 0; -; 399 : int err; -; 400 : -; 401 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00007 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0000a c7 45 fc 00 00 - 00 00 mov DWORD PTR _i$[ebp], 0 - 00011 50 push eax - 00012 8b fa mov edi, edx - 00014 8b d9 mov ebx, ecx - 00016 e8 00 00 00 00 call _zip64local_getByte - -; 402 : x = (uLong)i; - - 0001b 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 0001e 8b d0 mov edx, eax - 00020 83 c4 04 add esp, 4 - 00023 8b f1 mov esi, ecx - -; 403 : -; 404 : if (err==ZIP_OK) - - 00025 85 d2 test edx, edx - 00027 75 15 jne SHORT $LN2@zip64local - -; 405 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00029 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0002c 8b d7 mov edx, edi - 0002e 50 push eax - 0002f 8b cb mov ecx, ebx - 00031 e8 00 00 00 00 call _zip64local_getByte - 00036 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00039 83 c4 04 add esp, 4 - 0003c 8b d0 mov edx, eax -$LN2@zip64local: - -; 406 : x += ((uLong)i)<<8; - - 0003e 8b c1 mov eax, ecx - 00040 c1 e0 08 shl eax, 8 - 00043 03 f0 add esi, eax - -; 407 : -; 408 : if (err==ZIP_OK) - - 00045 85 d2 test edx, edx - 00047 75 15 jne SHORT $LN3@zip64local - -; 409 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00049 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0004c 8b d7 mov edx, edi - 0004e 50 push eax - 0004f 8b cb mov ecx, ebx - 00051 e8 00 00 00 00 call _zip64local_getByte - 00056 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00059 83 c4 04 add esp, 4 - 0005c 8b d0 mov edx, eax -$LN3@zip64local: - -; 410 : x += ((uLong)i)<<16; - - 0005e c1 e1 10 shl ecx, 16 ; 00000010H - 00061 03 f1 add esi, ecx - -; 411 : -; 412 : if (err==ZIP_OK) - - 00063 85 d2 test edx, edx - 00065 75 2c jne SHORT $LN5@zip64local - -; 413 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00067 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0006a 8b d7 mov edx, edi - 0006c 50 push eax - 0006d 8b cb mov ecx, ebx - 0006f e8 00 00 00 00 call _zip64local_getByte - 00074 8b d0 mov edx, eax - 00076 83 c4 04 add esp, 4 - -; 414 : x += ((uLong)i)<<24; -; 415 : -; 416 : if (err==ZIP_OK) - - 00079 85 d2 test edx, edx - 0007b 75 16 jne SHORT $LN5@zip64local - -; 417 : *pX = x; - - 0007d 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00080 8b 45 08 mov eax, DWORD PTR _pX$[ebp] - 00083 c1 e1 18 shl ecx, 24 ; 00000018H - 00086 5f pop edi - 00087 03 ce add ecx, esi - 00089 5e pop esi - 0008a 89 08 mov DWORD PTR [eax], ecx - -; 420 : return err; - - 0008c 8b c2 mov eax, edx - 0008e 5b pop ebx - -; 421 : } - - 0008f 8b e5 mov esp, ebp - 00091 5d pop ebp - 00092 c3 ret 0 -$LN5@zip64local: - -; 418 : else -; 419 : *pX = 0; - - 00093 8b 45 08 mov eax, DWORD PTR _pX$[ebp] - 00096 5f pop edi - 00097 5e pop esi - 00098 5b pop ebx - 00099 c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - -; 420 : return err; - - 0009f 8b c2 mov eax, edx - -; 421 : } - - 000a1 8b e5 mov esp, ebp - 000a3 5d pop ebp - 000a4 c3 ret 0 -_zip64local_getLong ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zip64local_getLong64 -_TEXT SEGMENT -_pzlib_filefunc_def$1$ = -12 ; size = 4 -_filestream$1$ = -8 ; size = 4 -_i$ = -4 ; size = 4 -_pX$ = 8 ; size = 4 -_zip64local_getLong64 PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 427 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 0c sub esp, 12 ; 0000000cH - 00006 53 push ebx - 00007 8b c2 mov eax, edx - 00009 89 4d f4 mov DWORD PTR _pzlib_filefunc_def$1$[ebp], ecx - 0000c 56 push esi - -; 428 : ZPOS64_T x; -; 429 : int i = 0; -; 430 : int err; -; 431 : -; 432 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 0000d 8d 55 fc lea edx, DWORD PTR _i$[ebp] - 00010 89 45 f8 mov DWORD PTR _filestream$1$[ebp], eax - 00013 57 push edi - 00014 52 push edx - 00015 8b d0 mov edx, eax - 00017 c7 45 fc 00 00 - 00 00 mov DWORD PTR _i$[ebp], 0 - 0001e e8 00 00 00 00 call _zip64local_getByte - -; 433 : x = (ZPOS64_T)i; - - 00023 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00026 8b f0 mov esi, eax - 00028 8b c1 mov eax, ecx - 0002a 83 c4 04 add esp, 4 - 0002d 99 cdq - 0002e 8b f8 mov edi, eax - 00030 8b da mov ebx, edx - -; 434 : -; 435 : if (err==ZIP_OK) - - 00032 85 f6 test esi, esi - 00034 75 17 jne SHORT $LN2@zip64local - -; 436 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00036 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 00039 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0003c 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 0003f 50 push eax - 00040 e8 00 00 00 00 call _zip64local_getByte - 00045 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00048 83 c4 04 add esp, 4 - 0004b 8b f0 mov esi, eax -$LN2@zip64local: - -; 437 : x += ((ZPOS64_T)i)<<8; - - 0004d 8b c1 mov eax, ecx - 0004f 99 cdq - 00050 0f a4 c2 08 shld edx, eax, 8 - 00054 c1 e0 08 shl eax, 8 - 00057 03 f8 add edi, eax - 00059 13 da adc ebx, edx - -; 438 : -; 439 : if (err==ZIP_OK) - - 0005b 85 f6 test esi, esi - 0005d 75 17 jne SHORT $LN3@zip64local - -; 440 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 0005f 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 00062 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 00065 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 00068 50 push eax - 00069 e8 00 00 00 00 call _zip64local_getByte - 0006e 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 00071 83 c4 04 add esp, 4 - 00074 8b f0 mov esi, eax -$LN3@zip64local: - -; 441 : x += ((ZPOS64_T)i)<<16; - - 00076 8b c1 mov eax, ecx - 00078 99 cdq - 00079 0f a4 c2 10 shld edx, eax, 16 - 0007d c1 e0 10 shl eax, 16 ; 00000010H - 00080 03 f8 add edi, eax - 00082 13 da adc ebx, edx - -; 442 : -; 443 : if (err==ZIP_OK) - - 00084 85 f6 test esi, esi - 00086 75 17 jne SHORT $LN4@zip64local - -; 444 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00088 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 0008b 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 0008e 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 00091 50 push eax - 00092 e8 00 00 00 00 call _zip64local_getByte - 00097 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 0009a 83 c4 04 add esp, 4 - 0009d 8b f0 mov esi, eax -$LN4@zip64local: - -; 445 : x += ((ZPOS64_T)i)<<24; - - 0009f 8b c1 mov eax, ecx - 000a1 99 cdq - 000a2 0f a4 c2 18 shld edx, eax, 24 - 000a6 c1 e0 18 shl eax, 24 ; 00000018H - 000a9 03 f8 add edi, eax - 000ab 13 da adc ebx, edx - -; 446 : -; 447 : if (err==ZIP_OK) - - 000ad 85 f6 test esi, esi - 000af 75 17 jne SHORT $LN5@zip64local - -; 448 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 000b1 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 000b4 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 000b7 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 000ba 50 push eax - 000bb e8 00 00 00 00 call _zip64local_getByte - 000c0 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 000c3 83 c4 04 add esp, 4 - 000c6 8b f0 mov esi, eax -$LN5@zip64local: - -; 449 : x += ((ZPOS64_T)i)<<32; - - 000c8 8b c1 mov eax, ecx - 000ca 83 c7 00 add edi, 0 - 000cd 99 cdq - 000ce 13 d8 adc ebx, eax - -; 450 : -; 451 : if (err==ZIP_OK) - - 000d0 85 f6 test esi, esi - 000d2 75 17 jne SHORT $LN6@zip64local - -; 452 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 000d4 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 000d7 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 000da 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 000dd 50 push eax - 000de e8 00 00 00 00 call _zip64local_getByte - 000e3 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 000e6 83 c4 04 add esp, 4 - 000e9 8b f0 mov esi, eax -$LN6@zip64local: - -; 453 : x += ((ZPOS64_T)i)<<40; - - 000eb 8b c1 mov eax, ecx - 000ed 99 cdq - 000ee c1 e0 08 shl eax, 8 - 000f1 83 c7 00 add edi, 0 - 000f4 13 d8 adc ebx, eax - -; 454 : -; 455 : if (err==ZIP_OK) - - 000f6 85 f6 test esi, esi - 000f8 75 17 jne SHORT $LN7@zip64local - -; 456 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 000fa 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 000fd 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 00100 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 00103 50 push eax - 00104 e8 00 00 00 00 call _zip64local_getByte - 00109 8b 4d fc mov ecx, DWORD PTR _i$[ebp] - 0010c 83 c4 04 add esp, 4 - 0010f 8b f0 mov esi, eax -$LN7@zip64local: - -; 457 : x += ((ZPOS64_T)i)<<48; - - 00111 8b c1 mov eax, ecx - 00113 99 cdq - 00114 c1 e0 10 shl eax, 16 ; 00000010H - 00117 83 c7 00 add edi, 0 - 0011a 13 d8 adc ebx, eax - -; 458 : -; 459 : if (err==ZIP_OK) - - 0011c 85 f6 test esi, esi - 0011e 75 36 jne SHORT $LN9@zip64local - -; 460 : err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - - 00120 8b 55 f8 mov edx, DWORD PTR _filestream$1$[ebp] - 00123 8d 45 fc lea eax, DWORD PTR _i$[ebp] - 00126 8b 4d f4 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 00129 50 push eax - 0012a e8 00 00 00 00 call _zip64local_getByte - 0012f 8b f0 mov esi, eax - 00131 83 c4 04 add esp, 4 - -; 461 : x += ((ZPOS64_T)i)<<56; -; 462 : -; 463 : if (err==ZIP_OK) - - 00134 85 f6 test esi, esi - 00136 75 1e jne SHORT $LN9@zip64local - -; 464 : *pX = x; - - 00138 8b 45 fc mov eax, DWORD PTR _i$[ebp] - 0013b 8b 4d 08 mov ecx, DWORD PTR _pX$[ebp] - 0013e 99 cdq - 0013f 33 d2 xor edx, edx - 00141 c1 e0 18 shl eax, 24 ; 00000018H - 00144 03 d7 add edx, edi - 00146 89 11 mov DWORD PTR [ecx], edx - 00148 13 c3 adc eax, ebx - 0014a 89 41 04 mov DWORD PTR [ecx+4], eax - -; 467 : -; 468 : return err; - - 0014d 8b c6 mov eax, esi - -; 469 : } - - 0014f 5f pop edi - 00150 5e pop esi - 00151 5b pop ebx - 00152 8b e5 mov esp, ebp - 00154 5d pop ebp - 00155 c3 ret 0 -$LN9@zip64local: - -; 465 : else -; 466 : *pX = 0; - - 00156 8b 45 08 mov eax, DWORD PTR _pX$[ebp] - -; 469 : } - - 00159 5f pop edi - 0015a c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - 00160 c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], 0 - 00167 8b c6 mov eax, esi - 00169 5e pop esi - 0016a 5b pop ebx - 0016b 8b e5 mov esp, ebp - 0016d 5d pop ebp - 0016e c3 ret 0 -_zip64local_getLong64 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zip64local_SearchCentralDir -_TEXT SEGMENT -_uPosFound$ = -48 ; size = 8 -_uReadPos$1$ = -44 ; size = 4 -_uBackRead$2$ = -40 ; size = 4 -_uReadPos$2$ = -36 ; size = 4 -_pzlib_filefunc_def$1$ = -32 ; size = 4 -_filestream$1$ = -28 ; size = 4 -_uSizeFile$1$ = -24 ; size = 4 -_uSizeFile$2$ = -20 ; size = 4 -_uPosFound$1$ = -16 ; size = 4 -_uPosFound$2$ = -12 ; size = 4 -_uMaxBack$1$ = -8 ; size = 4 -_uMaxBack$2$ = -4 ; size = 4 -_zip64local_SearchCentralDir PROC ; COMDAT -; _pzlib_filefunc_def$ = ecx -; _filestream$ = edx - -; 481 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 34 sub esp, 52 ; 00000034H - 00006 53 push ebx - 00007 56 push esi - 00008 57 push edi - -; 482 : unsigned char* buf; -; 483 : ZPOS64_T uSizeFile; -; 484 : ZPOS64_T uBackRead; -; 485 : ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ - - 00009 33 c0 xor eax, eax - 0000b 8b f2 mov esi, edx - -; 486 : ZPOS64_T uPosFound=0; -; 487 : -; 488 : if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - - 0000d 6a 02 push 2 - 0000f 50 push eax - 00010 8b d9 mov ebx, ecx - 00012 89 75 e4 mov DWORD PTR _filestream$1$[ebp], esi - 00015 0f 57 c0 xorps xmm0, xmm0 - 00018 89 5d e0 mov DWORD PTR _pzlib_filefunc_def$1$[ebp], ebx - 0001b bf ff ff 00 00 mov edi, 65535 ; 0000ffffH - 00020 89 45 fc mov DWORD PTR _uMaxBack$2$[ebp], eax - 00023 50 push eax - 00024 89 7d f8 mov DWORD PTR _uMaxBack$1$[ebp], edi - 00027 66 0f 13 45 d0 movlpd QWORD PTR _uPosFound$[ebp], xmm0 - 0002c e8 00 00 00 00 call _call_zseek64 - 00031 83 c4 0c add esp, 12 ; 0000000cH - 00034 85 c0 test eax, eax - 00036 74 0b je SHORT $LN7@zip64local - -; 489 : return 0; - - 00038 33 c0 xor eax, eax -$LN43@zip64local: - 0003a 33 d2 xor edx, edx - -; 534 : } - - 0003c 5f pop edi - 0003d 5e pop esi - 0003e 5b pop ebx - 0003f 8b e5 mov esp, ebp - 00041 5d pop ebp - 00042 c3 ret 0 -$LN7@zip64local: - -; 490 : -; 491 : -; 492 : uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - 00043 8b d6 mov edx, esi - 00045 8b cb mov ecx, ebx - 00047 e8 00 00 00 00 call _call_ztell64 - 0004c 8b ca mov ecx, edx - 0004e 89 45 e8 mov DWORD PTR _uSizeFile$1$[ebp], eax - 00051 89 4d ec mov DWORD PTR _uSizeFile$2$[ebp], ecx - -; 493 : -; 494 : if (uMaxBack>uSizeFile) - - 00054 85 c9 test ecx, ecx - 00056 77 11 ja SHORT $LN8@zip64local - 00058 72 07 jb SHORT $LN33@zip64local - 0005a 3d ff ff 00 00 cmp eax, 65535 ; 0000ffffH - 0005f 73 08 jae SHORT $LN8@zip64local -$LN33@zip64local: - -; 495 : uMaxBack = uSizeFile; - - 00061 8b f8 mov edi, eax - 00063 89 4d fc mov DWORD PTR _uMaxBack$2$[ebp], ecx - 00066 89 7d f8 mov DWORD PTR _uMaxBack$1$[ebp], edi -$LN8@zip64local: - -; 496 : -; 497 : buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - - 00069 68 04 04 00 00 push 1028 ; 00000404H - 0006e ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00074 8b f0 mov esi, eax - 00076 83 c4 04 add esp, 4 - -; 498 : if (buf==NULL) -; 499 : return 0; - - 00079 33 c0 xor eax, eax - 0007b 85 f6 test esi, esi - 0007d 74 bb je SHORT $LN43@zip64local - -; 500 : -; 501 : uBackRead = 4; -; 502 : while (uBackReaduMaxBack) - - 000a3 81 c3 00 04 00 - 00 add ebx, 1024 ; 00000400H - 000a9 83 d0 00 adc eax, 0 - 000ac 89 45 d8 mov DWORD PTR _uBackRead$2$[ebp], eax - 000af 3b c1 cmp eax, ecx - 000b1 72 0d jb SHORT $LN11@zip64local - 000b3 77 04 ja SHORT $LN35@zip64local - 000b5 3b df cmp ebx, edi - 000b7 76 07 jbe SHORT $LN11@zip64local -$LN35@zip64local: - -; 508 : uBackRead = uMaxBack; - - 000b9 8b df mov ebx, edi - 000bb 89 4d d8 mov DWORD PTR _uBackRead$2$[ebp], ecx - 000be 8b c1 mov eax, ecx -$LN11@zip64local: - -; 509 : else -; 510 : uBackRead+=BUFREADCOMMENT; -; 511 : uReadPos = uSizeFile-uBackRead ; - - 000c0 8b 4d e8 mov ecx, DWORD PTR _uSizeFile$1$[ebp] - 000c3 8b d1 mov edx, ecx - 000c5 8b 7d ec mov edi, DWORD PTR _uSizeFile$2$[ebp] - 000c8 2b d3 sub edx, ebx - 000ca 89 55 d4 mov DWORD PTR _uReadPos$1$[ebp], edx - 000cd 1b f8 sbb edi, eax - -; 512 : -; 513 : uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - - 000cf 8b 45 ec mov eax, DWORD PTR _uSizeFile$2$[ebp] - 000d2 2b ca sub ecx, edx - 000d4 89 7d dc mov DWORD PTR _uReadPos$2$[ebp], edi - 000d7 1b c7 sbb eax, edi - 000d9 85 c0 test eax, eax - 000db 72 11 jb SHORT $LN18@zip64local - 000dd 77 08 ja SHORT $LN36@zip64local - 000df 81 f9 04 04 00 - 00 cmp ecx, 1028 ; 00000404H - 000e5 76 07 jbe SHORT $LN18@zip64local -$LN36@zip64local: - 000e7 bf 04 04 00 00 mov edi, 1028 ; 00000404H - 000ec eb 05 jmp SHORT $LN19@zip64local -$LN18@zip64local: - 000ee 8b 7d e8 mov edi, DWORD PTR _uSizeFile$1$[ebp] - 000f1 2b fa sub edi, edx -$LN19@zip64local: - -; 514 : (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); -; 515 : if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 000f3 8b 4d e0 mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 000f6 6a 00 push 0 - 000f8 ff 75 dc push DWORD PTR _uReadPos$2$[ebp] - 000fb 52 push edx - 000fc 8b 55 e4 mov edx, DWORD PTR _filestream$1$[ebp] - 000ff e8 00 00 00 00 call _call_zseek64 - 00104 83 c4 0c add esp, 12 ; 0000000cH - 00107 85 c0 test eax, eax - 00109 0f 85 7d 00 00 - 00 jne $LN37@zip64local - -; 516 : break; -; 517 : -; 518 : if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - - 0010f 8b 45 e0 mov eax, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 00112 57 push edi - 00113 56 push esi - 00114 ff 75 e4 push DWORD PTR _filestream$1$[ebp] - 00117 ff 70 1c push DWORD PTR [eax+28] - 0011a 8b 40 04 mov eax, DWORD PTR [eax+4] - 0011d ff d0 call eax - 0011f 83 c4 10 add esp, 16 ; 00000010H - 00122 3b c7 cmp eax, edi - 00124 75 66 jne SHORT $LN37@zip64local - -; 519 : break; -; 520 : -; 521 : for (i=(int)uReadSize-3; (i--)>0;) - - 00126 8d 47 fd lea eax, DWORD PTR [edi-3] - 00129 85 c0 test eax, eax - 0012b 7e 36 jle SHORT $LN32@zip64local - 0012d 0f 1f 00 npad 3 -$LL4@zip64local: - 00130 48 dec eax - -; 522 : if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && -; 523 : ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) - - 00131 80 3c 30 50 cmp BYTE PTR [eax+esi], 80 ; 00000050H - 00135 75 15 jne SHORT $LN14@zip64local - 00137 80 7c 30 01 4b cmp BYTE PTR [eax+esi+1], 75 ; 0000004bH - 0013c 75 0e jne SHORT $LN14@zip64local - 0013e 80 7c 30 02 05 cmp BYTE PTR [eax+esi+2], 5 - 00143 75 07 jne SHORT $LN14@zip64local - 00145 80 7c 30 03 06 cmp BYTE PTR [eax+esi+3], 6 - 0014a 74 06 je SHORT $LN22@zip64local -$LN14@zip64local: - -; 519 : break; -; 520 : -; 521 : for (i=(int)uReadSize-3; (i--)>0;) - - 0014c 85 c0 test eax, eax - 0014e 7f e0 jg SHORT $LL4@zip64local - 00150 eb 11 jmp SHORT $LN32@zip64local -$LN22@zip64local: - -; 524 : { -; 525 : uPosFound = uReadPos+i; - - 00152 99 cdq - 00153 03 45 d4 add eax, DWORD PTR _uReadPos$1$[ebp] - 00156 89 45 f4 mov DWORD PTR _uPosFound$2$[ebp], eax - 00159 13 55 dc adc edx, DWORD PTR _uReadPos$2$[ebp] - -; 526 : break; -; 527 : } -; 528 : -; 529 : if (uPosFound!=0) - - 0015c 0b c2 or eax, edx - 0015e 89 55 f0 mov DWORD PTR _uPosFound$1$[ebp], edx - 00161 75 29 jne SHORT $LN37@zip64local -$LN32@zip64local: - -; 500 : -; 501 : uBackRead = 4; -; 502 : while (uBackReaduSizeFile) - - 00054 85 c9 test ecx, ecx - 00056 77 0f ja SHORT $LN8@zip64local - 00058 72 07 jb SHORT $LN44@zip64local - 0005a 3d ff ff 00 00 cmp eax, 65535 ; 0000ffffH - 0005f 73 06 jae SHORT $LN8@zip64local -$LN44@zip64local: - -; 558 : uMaxBack = uSizeFile; - - 00061 89 45 f8 mov DWORD PTR _uMaxBack$1$[ebp], eax - 00064 89 4d f0 mov DWORD PTR _uMaxBack$2$[ebp], ecx -$LN8@zip64local: - -; 559 : -; 560 : buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - - 00067 68 04 04 00 00 push 1028 ; 00000404H - 0006c ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00072 8b f0 mov esi, eax - 00074 83 c4 04 add esp, 4 - -; 561 : if (buf==NULL) -; 562 : return 0; - - 00077 33 c0 xor eax, eax - 00079 85 f6 test esi, esi - 0007b 74 bd je SHORT $LN60@zip64local - -; 563 : -; 564 : uBackRead = 4; -; 565 : while (uBackReaduMaxBack) - - 000a4 81 c3 00 04 00 - 00 add ebx, 1024 ; 00000400H - 000aa 83 d0 00 adc eax, 0 - 000ad 89 45 d8 mov DWORD PTR _uBackRead$2$[ebp], eax - 000b0 3b c2 cmp eax, edx - 000b2 72 0d jb SHORT $LN11@zip64local - 000b4 77 04 ja SHORT $LN46@zip64local - 000b6 3b d9 cmp ebx, ecx - 000b8 76 07 jbe SHORT $LN11@zip64local -$LN46@zip64local: - -; 571 : uBackRead = uMaxBack; - - 000ba 8b d9 mov ebx, ecx - 000bc 89 55 d8 mov DWORD PTR _uBackRead$2$[ebp], edx - 000bf 8b c2 mov eax, edx -$LN11@zip64local: - -; 572 : else -; 573 : uBackRead+=BUFREADCOMMENT; -; 574 : uReadPos = uSizeFile-uBackRead ; - - 000c1 8b 4d e0 mov ecx, DWORD PTR _uSizeFile$1$[ebp] - 000c4 8b d1 mov edx, ecx - 000c6 8b 7d e4 mov edi, DWORD PTR _uSizeFile$2$[ebp] - 000c9 2b d3 sub edx, ebx - 000cb 89 55 d4 mov DWORD PTR _uReadPos$1$[ebp], edx - 000ce 1b f8 sbb edi, eax - -; 575 : -; 576 : uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - - 000d0 8b 45 e4 mov eax, DWORD PTR _uSizeFile$2$[ebp] - 000d3 2b ca sub ecx, edx - 000d5 89 7d dc mov DWORD PTR _uReadPos$2$[ebp], edi - 000d8 1b c7 sbb eax, edi - 000da 85 c0 test eax, eax - 000dc 72 11 jb SHORT $LN29@zip64local - 000de 77 08 ja SHORT $LN47@zip64local - 000e0 81 f9 04 04 00 - 00 cmp ecx, 1028 ; 00000404H - 000e6 76 07 jbe SHORT $LN29@zip64local -$LN47@zip64local: - 000e8 bf 04 04 00 00 mov edi, 1028 ; 00000404H - 000ed eb 05 jmp SHORT $LN30@zip64local -$LN29@zip64local: - 000ef 8b 7d e0 mov edi, DWORD PTR _uSizeFile$1$[ebp] - 000f2 2b fa sub edi, edx -$LN30@zip64local: - -; 577 : (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); -; 578 : if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 000f4 8b 4d fc mov ecx, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 000f7 6a 00 push 0 - 000f9 ff 75 dc push DWORD PTR _uReadPos$2$[ebp] - 000fc 52 push edx - 000fd 8b 55 f4 mov edx, DWORD PTR _filestream$1$[ebp] - 00100 e8 00 00 00 00 call _call_zseek64 - 00105 83 c4 0c add esp, 12 ; 0000000cH - 00108 85 c0 test eax, eax - 0010a 75 76 jne SHORT $LN57@zip64local - -; 579 : break; -; 580 : -; 581 : if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - - 0010c 8b 45 fc mov eax, DWORD PTR _pzlib_filefunc_def$1$[ebp] - 0010f 57 push edi - 00110 56 push esi - 00111 ff 75 f4 push DWORD PTR _filestream$1$[ebp] - 00114 ff 70 1c push DWORD PTR [eax+28] - 00117 8b 40 04 mov eax, DWORD PTR [eax+4] - 0011a ff d0 call eax - 0011c 83 c4 10 add esp, 16 ; 00000010H - 0011f 3b c7 cmp eax, edi - 00121 75 5f jne SHORT $LN57@zip64local - -; 582 : break; -; 583 : -; 584 : for (i=(int)uReadSize-3; (i--)>0;) - - 00123 8d 47 fd lea eax, DWORD PTR [edi-3] - 00126 85 c0 test eax, eax - 00128 7e 3d jle SHORT $LN43@zip64local - 0012a 66 0f 1f 44 00 - 00 npad 6 -$LL4@zip64local: - 00130 48 dec eax - -; 585 : { -; 586 : // Signature "0x07064b50" Zip64 end of central directory locater -; 587 : if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07)) - - 00131 80 3c 30 50 cmp BYTE PTR [eax+esi], 80 ; 00000050H - 00135 75 15 jne SHORT $LN14@zip64local - 00137 80 7c 30 01 4b cmp BYTE PTR [eax+esi+1], 75 ; 0000004bH - 0013c 75 0e jne SHORT $LN14@zip64local - 0013e 80 7c 30 02 06 cmp BYTE PTR [eax+esi+2], 6 - 00143 75 07 jne SHORT $LN14@zip64local - 00145 80 7c 30 03 07 cmp BYTE PTR [eax+esi+3], 7 - 0014a 74 06 je SHORT $LN33@zip64local -$LN14@zip64local: - -; 582 : break; -; 583 : -; 584 : for (i=(int)uReadSize-3; (i--)>0;) - - 0014c 85 c0 test eax, eax - 0014e 7f e0 jg SHORT $LL4@zip64local - 00150 eb 15 jmp SHORT $LN43@zip64local -$LN33@zip64local: - -; 588 : { -; 589 : uPosFound = uReadPos+i; - - 00152 99 cdq - 00153 03 45 d4 add eax, DWORD PTR _uReadPos$1$[ebp] - 00156 8b fa mov edi, edx - -; 590 : break; -; 591 : } -; 592 : } -; 593 : -; 594 : if (uPosFound!=0) - - 00158 8b c8 mov ecx, eax - 0015a 89 45 ec mov DWORD PTR _uPosFound$2$[ebp], eax - 0015d 13 7d dc adc edi, DWORD PTR _uReadPos$2$[ebp] - 00160 0b cf or ecx, edi - 00162 89 7d e8 mov DWORD PTR _uPosFound$1$[ebp], edi - 00165 75 1b jne SHORT $LN57@zip64local -$LN43@zip64local: - -; 563 : -; 564 : uBackRead = 4; -; 565 : while (uBackRead0 for sfx)*/ -; 644 : -; 645 : ZPOS64_T size_central_dir; /* size of the central directory */ -; 646 : ZPOS64_T offset_central_dir; /* offset of start of central directory */ -; 647 : ZPOS64_T central_pos; -; 648 : uLong uL; -; 649 : -; 650 : uLong number_disk; /* number of the current dist, used for -; 651 : spaning ZIP, unsupported, always 0*/ -; 652 : uLong number_disk_with_CD; /* number the the disk with central dir, used -; 653 : for spaning ZIP, unsupported, always 0*/ -; 654 : ZPOS64_T number_entry; -; 655 : ZPOS64_T number_entry_CD; /* total number of entries in -; 656 : the central dir -; 657 : (same than number_entry on nospan) */ -; 658 : uLong VersionMadeBy; -; 659 : uLong VersionNeeded; -; 660 : uLong size_comment; -; 661 : -; 662 : int hasZIP64Record = 0; -; 663 : -; 664 : // check first if we find a ZIP64 record -; 665 : central_pos = zip64local_SearchCentralDir64(&pziinit->z_filefunc,pziinit->filestream); - - 0000d 8b 56 2c mov edx, DWORD PTR [esi+44] - 00010 e8 00 00 00 00 call _zip64local_SearchCentralDir64 - 00015 89 55 f4 mov DWORD PTR _byte_before_the_zipfile$1$[ebp], edx - 00018 8b c8 mov ecx, eax - 0001a 89 4d f0 mov DWORD PTR _byte_before_the_zipfile$2$[ebp], ecx - -; 666 : if(central_pos > 0) - - 0001d 85 d2 test edx, edx - 0001f 0f 87 92 01 00 - 00 ja $LN53@LoadCentra - 00025 72 08 jb SHORT $LN55@LoadCentra - 00027 85 c9 test ecx, ecx - 00029 0f 85 88 01 00 - 00 jne $LN53@LoadCentra -$LN55@LoadCentra: - -; 667 : { -; 668 : hasZIP64Record = 1; -; 669 : } -; 670 : else if(central_pos == 0) - - 0002f 0b c2 or eax, edx - 00031 75 12 jne SHORT $LN7@LoadCentra - -; 671 : { -; 672 : central_pos = zip64local_SearchCentralDir(&pziinit->z_filefunc,pziinit->filestream); - - 00033 8b 56 2c mov edx, DWORD PTR [esi+44] - 00036 8b ce mov ecx, esi - 00038 e8 00 00 00 00 call _zip64local_SearchCentralDir - 0003d 8b c8 mov ecx, eax - 0003f 89 45 f0 mov DWORD PTR _byte_before_the_zipfile$2$[ebp], eax - 00042 89 55 f4 mov DWORD PTR _byte_before_the_zipfile$1$[ebp], edx -$LN7@LoadCentra: - -; 733 : } -; 734 : else -; 735 : { -; 736 : // Read End of central Directory info -; 737 : if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00045 6a 00 push 0 - 00047 52 push edx - 00048 8b 56 2c mov edx, DWORD PTR [esi+44] - 0004b 51 push ecx - 0004c 8b ce mov ecx, esi - 0004e e8 00 00 00 00 call _call_zseek64 - -; 738 : err=ZIP_ERRNO; -; 739 : -; 740 : /* the signature, already checked */ -; 741 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK) - - 00053 8b 56 2c mov edx, DWORD PTR [esi+44] - 00056 83 c4 0c add esp, 12 ; 0000000cH - 00059 83 cb ff or ebx, -1 - 0005c 8b ce mov ecx, esi - 0005e 85 c0 test eax, eax - 00060 8d 45 fc lea eax, DWORD PTR _uL$[ebp] - 00063 50 push eax - 00064 0f 45 fb cmovne edi, ebx - 00067 e8 00 00 00 00 call _zip64local_getLong - -; 742 : err=ZIP_ERRNO; -; 743 : -; 744 : /* number of this disk */ -; 745 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK) - - 0006c 8b 56 2c mov edx, DWORD PTR [esi+44] - 0006f 83 c4 04 add esp, 4 - 00072 85 c0 test eax, eax - 00074 8b ce mov ecx, esi - 00076 8d 45 f8 lea eax, DWORD PTR _number_disk$[ebp] - 00079 0f 45 fb cmovne edi, ebx - 0007c 50 push eax - 0007d e8 00 00 00 00 call _zip64local_getShort - -; 746 : err=ZIP_ERRNO; -; 747 : -; 748 : /* number of the disk with the start of the central directory */ -; 749 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK) - - 00082 8b 56 2c mov edx, DWORD PTR [esi+44] - 00085 83 c4 04 add esp, 4 - 00088 85 c0 test eax, eax - 0008a 8b ce mov ecx, esi - 0008c 8d 45 ec lea eax, DWORD PTR _number_disk_with_CD$[ebp] - 0008f 0f 45 fb cmovne edi, ebx - 00092 50 push eax - 00093 e8 00 00 00 00 call _zip64local_getShort - -; 750 : err=ZIP_ERRNO; -; 751 : -; 752 : /* total number of entries in the central dir on this disk */ -; 753 : number_entry = 0; -; 754 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - - 00098 8b 56 2c mov edx, DWORD PTR [esi+44] - 0009b 83 c4 04 add esp, 4 - 0009e 85 c0 test eax, eax - 000a0 0f 57 c0 xorps xmm0, xmm0 - 000a3 8d 45 fc lea eax, DWORD PTR _uL$[ebp] - 000a6 66 0f 13 45 d8 movlpd QWORD PTR _number_entry$[ebp], xmm0 - 000ab 8b ce mov ecx, esi - 000ad 0f 45 fb cmovne edi, ebx - 000b0 50 push eax - 000b1 e8 00 00 00 00 call _zip64local_getShort - 000b6 83 c4 04 add esp, 4 - 000b9 85 c0 test eax, eax - 000bb 74 0d je SHORT $LN26@LoadCentra - -; 755 : err=ZIP_ERRNO; - - 000bd 8b 45 dc mov eax, DWORD PTR _number_entry$[ebp+4] - 000c0 0b fb or edi, ebx - 000c2 8b 5d d8 mov ebx, DWORD PTR _number_entry$[ebp] - 000c5 89 45 e8 mov DWORD PTR _number_entry$1$[ebp], eax - 000c8 eb 0a jmp SHORT $LN27@LoadCentra -$LN26@LoadCentra: - -; 756 : else -; 757 : number_entry = uL; - - 000ca 8b 5d fc mov ebx, DWORD PTR _uL$[ebp] - 000cd c7 45 e8 00 00 - 00 00 mov DWORD PTR _number_entry$1$[ebp], 0 -$LN27@LoadCentra: - -; 758 : -; 759 : /* total number of entries in the central dir */ -; 760 : number_entry_CD = 0; -; 761 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - - 000d4 8b 56 2c mov edx, DWORD PTR [esi+44] - 000d7 8d 45 fc lea eax, DWORD PTR _uL$[ebp] - 000da 0f 57 c0 xorps xmm0, xmm0 - 000dd 8b ce mov ecx, esi - 000df 50 push eax - 000e0 66 0f 13 45 d0 movlpd QWORD PTR _number_entry_CD$[ebp], xmm0 - 000e5 e8 00 00 00 00 call _zip64local_getShort - 000ea 83 c4 04 add esp, 4 - 000ed 85 c0 test eax, eax - 000ef 74 0b je SHORT $LN28@LoadCentra - -; 762 : err=ZIP_ERRNO; - - 000f1 8b 45 d4 mov eax, DWORD PTR _number_entry_CD$[ebp+4] - 000f4 83 cf ff or edi, -1 - 000f7 8b 4d d0 mov ecx, DWORD PTR _number_entry_CD$[ebp] - 000fa eb 05 jmp SHORT $LN66@LoadCentra -$LN28@LoadCentra: - -; 763 : else -; 764 : number_entry_CD = uL; - - 000fc 8b 4d fc mov ecx, DWORD PTR _uL$[ebp] - 000ff 33 c0 xor eax, eax -$LN66@LoadCentra: - 00101 89 45 e0 mov DWORD PTR _number_entry_CD$1$[ebp], eax - 00104 89 4d e4 mov DWORD PTR _number_entry_CD$2$[ebp], ecx - -; 765 : -; 766 : if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0)) - - 00107 3b cb cmp ecx, ebx - 00109 75 11 jne SHORT $LN31@LoadCentra - 0010b 3b 45 e8 cmp eax, DWORD PTR _number_entry$1$[ebp] - 0010e 75 0c jne SHORT $LN31@LoadCentra - 00110 83 7d ec 00 cmp DWORD PTR _number_disk_with_CD$[ebp], 0 - 00114 75 06 jne SHORT $LN31@LoadCentra - 00116 83 7d f8 00 cmp DWORD PTR _number_disk$[ebp], 0 - 0011a 74 05 je SHORT $LN30@LoadCentra -$LN31@LoadCentra: - -; 767 : err=ZIP_BADZIPFILE; - - 0011c bf 99 ff ff ff mov edi, -103 ; ffffff99H -$LN30@LoadCentra: - -; 768 : -; 769 : /* size of the central directory */ -; 770 : size_central_dir = 0; -; 771 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - - 00121 8b 56 2c mov edx, DWORD PTR [esi+44] - 00124 8d 45 fc lea eax, DWORD PTR _uL$[ebp] - 00127 0f 57 c0 xorps xmm0, xmm0 - 0012a 8b ce mov ecx, esi - 0012c 50 push eax - 0012d 66 0f 13 45 d0 movlpd QWORD PTR _size_central_dir$[ebp], xmm0 - 00132 e8 00 00 00 00 call _zip64local_getLong - 00137 83 c4 04 add esp, 4 - 0013a 85 c0 test eax, eax - 0013c 74 0e je SHORT $LN32@LoadCentra - -; 772 : err=ZIP_ERRNO; - - 0013e 8b 45 d4 mov eax, DWORD PTR _size_central_dir$[ebp+4] - 00141 83 cf ff or edi, -1 - 00144 8b 5d d0 mov ebx, DWORD PTR _size_central_dir$[ebp] - 00147 89 45 f8 mov DWORD PTR _size_central_dir_to_read$2$[ebp], eax - 0014a eb 0a jmp SHORT $LN33@LoadCentra -$LN32@LoadCentra: - -; 773 : else -; 774 : size_central_dir = uL; - - 0014c 8b 5d fc mov ebx, DWORD PTR _uL$[ebp] - 0014f c7 45 f8 00 00 - 00 00 mov DWORD PTR _size_central_dir_to_read$2$[ebp], 0 -$LN33@LoadCentra: - -; 775 : -; 776 : /* offset of start of central directory with respect to the starting disk number */ -; 777 : offset_central_dir = 0; -; 778 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - - 00156 8b 56 2c mov edx, DWORD PTR [esi+44] - 00159 8d 45 fc lea eax, DWORD PTR _uL$[ebp] - 0015c 0f 57 c0 xorps xmm0, xmm0 - 0015f 8b ce mov ecx, esi - 00161 50 push eax - 00162 66 0f 13 45 d8 movlpd QWORD PTR _offset_central_dir$[ebp], xmm0 - 00167 e8 00 00 00 00 call _zip64local_getLong - 0016c 83 c4 04 add esp, 4 - 0016f 85 c0 test eax, eax - 00171 74 0e je SHORT $LN34@LoadCentra - -; 779 : err=ZIP_ERRNO; - - 00173 8b 45 dc mov eax, DWORD PTR _offset_central_dir$[ebp+4] - 00176 83 cf ff or edi, -1 - 00179 89 45 ec mov DWORD PTR _offset_central_dir$1$[ebp], eax - 0017c 8b 45 d8 mov eax, DWORD PTR _offset_central_dir$[ebp] - 0017f eb 0a jmp SHORT $LN67@LoadCentra -$LN34@LoadCentra: - -; 780 : else -; 781 : offset_central_dir = uL; - - 00181 8b 45 fc mov eax, DWORD PTR _uL$[ebp] - 00184 c7 45 ec 00 00 - 00 00 mov DWORD PTR _offset_central_dir$1$[ebp], 0 -$LN67@LoadCentra: - -; 782 : -; 783 : -; 784 : /* zipfile global comment length */ -; 785 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &size_comment)!=ZIP_OK) - - 0018b 8b 56 2c mov edx, DWORD PTR [esi+44] - 0018e 8b ce mov ecx, esi - 00190 89 45 fc mov DWORD PTR _offset_central_dir$2$[ebp], eax - 00193 8d 45 e8 lea eax, DWORD PTR _size_comment$[ebp] - 00196 50 push eax - 00197 e8 00 00 00 00 call _zip64local_getShort - 0019c 8b 55 e8 mov edx, DWORD PTR _size_comment$[ebp] - 0019f 83 c4 04 add esp, 4 - 001a2 8b 4d fc mov ecx, DWORD PTR _offset_central_dir$2$[ebp] - 001a5 85 c0 test eax, eax - 001a7 b8 ff ff ff ff mov eax, -1 - 001ac 0f 45 f8 cmovne edi, eax - 001af 8b 45 ec mov eax, DWORD PTR _offset_central_dir$1$[ebp] - 001b2 e9 33 01 00 00 jmp $LN68@LoadCentra -$LN53@LoadCentra: - -; 673 : } -; 674 : -; 675 : /* disable to allow appending to empty ZIP archive -; 676 : if (central_pos==0) -; 677 : err=ZIP_ERRNO; -; 678 : */ -; 679 : -; 680 : if(hasZIP64Record) -; 681 : { -; 682 : ZPOS64_T sizeEndOfCentralDirectory; -; 683 : if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) - - 001b7 6a 00 push 0 - 001b9 52 push edx - 001ba 8b 56 2c mov edx, DWORD PTR [esi+44] - 001bd 51 push ecx - 001be 8b ce mov ecx, esi - 001c0 e8 00 00 00 00 call _call_zseek64 - -; 684 : err=ZIP_ERRNO; -; 685 : -; 686 : /* the signature, already checked */ -; 687 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK) - - 001c5 8b 56 2c mov edx, DWORD PTR [esi+44] - 001c8 83 c4 0c add esp, 12 ; 0000000cH - 001cb 83 cb ff or ebx, -1 - 001ce 8b ce mov ecx, esi - 001d0 85 c0 test eax, eax - 001d2 8d 45 fc lea eax, DWORD PTR _uL$[ebp] - 001d5 50 push eax - 001d6 0f 45 fb cmovne edi, ebx - 001d9 e8 00 00 00 00 call _zip64local_getLong - -; 688 : err=ZIP_ERRNO; -; 689 : -; 690 : /* size of zip64 end of central directory record */ -; 691 : if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &sizeEndOfCentralDirectory)!=ZIP_OK) - - 001de 8b 56 2c mov edx, DWORD PTR [esi+44] - 001e1 83 c4 04 add esp, 4 - 001e4 85 c0 test eax, eax - 001e6 8b ce mov ecx, esi - 001e8 8d 45 d0 lea eax, DWORD PTR _sizeEndOfCentralDirectory$1[ebp] - 001eb 0f 45 fb cmovne edi, ebx - 001ee 50 push eax - 001ef e8 00 00 00 00 call _zip64local_getLong64 - -; 692 : err=ZIP_ERRNO; -; 693 : -; 694 : /* version made by */ -; 695 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionMadeBy)!=ZIP_OK) - - 001f4 8b 56 2c mov edx, DWORD PTR [esi+44] - 001f7 83 c4 04 add esp, 4 - 001fa 85 c0 test eax, eax - 001fc 8b ce mov ecx, esi - 001fe 8d 45 d4 lea eax, DWORD PTR _VersionMadeBy$[ebp] - 00201 0f 45 fb cmovne edi, ebx - 00204 50 push eax - 00205 e8 00 00 00 00 call _zip64local_getShort - -; 696 : err=ZIP_ERRNO; -; 697 : -; 698 : /* version needed to extract */ -; 699 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionNeeded)!=ZIP_OK) - - 0020a 8b 56 2c mov edx, DWORD PTR [esi+44] - 0020d 83 c4 04 add esp, 4 - 00210 85 c0 test eax, eax - 00212 8b ce mov ecx, esi - 00214 8d 45 d4 lea eax, DWORD PTR _VersionNeeded$[ebp] - 00217 0f 45 fb cmovne edi, ebx - 0021a 50 push eax - 0021b e8 00 00 00 00 call _zip64local_getShort - -; 700 : err=ZIP_ERRNO; -; 701 : -; 702 : /* number of this disk */ -; 703 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK) - - 00220 8b 56 2c mov edx, DWORD PTR [esi+44] - 00223 83 c4 04 add esp, 4 - 00226 85 c0 test eax, eax - 00228 8b ce mov ecx, esi - 0022a 8d 45 f8 lea eax, DWORD PTR _number_disk$[ebp] - 0022d 0f 45 fb cmovne edi, ebx - 00230 50 push eax - 00231 e8 00 00 00 00 call _zip64local_getLong - -; 704 : err=ZIP_ERRNO; -; 705 : -; 706 : /* number of the disk with the start of the central directory */ -; 707 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK) - - 00236 8b 56 2c mov edx, DWORD PTR [esi+44] - 00239 83 c4 04 add esp, 4 - 0023c 85 c0 test eax, eax - 0023e 8b ce mov ecx, esi - 00240 8d 45 ec lea eax, DWORD PTR _number_disk_with_CD$[ebp] - 00243 0f 45 fb cmovne edi, ebx - 00246 50 push eax - 00247 e8 00 00 00 00 call _zip64local_getLong - -; 708 : err=ZIP_ERRNO; -; 709 : -; 710 : /* total number of entries in the central directory on this disk */ -; 711 : if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &number_entry)!=ZIP_OK) - - 0024c 8b 56 2c mov edx, DWORD PTR [esi+44] - 0024f 83 c4 04 add esp, 4 - 00252 85 c0 test eax, eax - 00254 8b ce mov ecx, esi - 00256 8d 45 d8 lea eax, DWORD PTR _number_entry$[ebp] - 00259 0f 45 fb cmovne edi, ebx - 0025c 50 push eax - 0025d e8 00 00 00 00 call _zip64local_getLong64 - -; 712 : err=ZIP_ERRNO; -; 713 : -; 714 : /* total number of entries in the central directory */ -; 715 : if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&number_entry_CD)!=ZIP_OK) - - 00262 8b 56 2c mov edx, DWORD PTR [esi+44] - 00265 83 c4 04 add esp, 4 - 00268 85 c0 test eax, eax - 0026a 8b ce mov ecx, esi - 0026c 8d 45 d0 lea eax, DWORD PTR _number_entry_CD$[ebp] - 0026f 0f 45 fb cmovne edi, ebx - 00272 50 push eax - 00273 e8 00 00 00 00 call _zip64local_getLong64 - 00278 83 c4 04 add esp, 4 - 0027b 85 c0 test eax, eax - -; 716 : err=ZIP_ERRNO; -; 717 : -; 718 : if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0)) - - 0027d 8b 45 d0 mov eax, DWORD PTR _number_entry_CD$[ebp] - 00280 0f 45 fb cmovne edi, ebx - 00283 89 45 e4 mov DWORD PTR _number_entry_CD$2$[ebp], eax - 00286 3b 45 d8 cmp eax, DWORD PTR _number_entry$[ebp] - 00289 8b 45 d4 mov eax, DWORD PTR _number_entry_CD$[ebp+4] - 0028c 89 45 e0 mov DWORD PTR _number_entry_CD$1$[ebp], eax - 0028f 75 11 jne SHORT $LN19@LoadCentra - 00291 3b 45 dc cmp eax, DWORD PTR _number_entry$[ebp+4] - 00294 75 0c jne SHORT $LN19@LoadCentra - 00296 83 7d ec 00 cmp DWORD PTR _number_disk_with_CD$[ebp], 0 - 0029a 75 06 jne SHORT $LN19@LoadCentra - 0029c 83 7d f8 00 cmp DWORD PTR _number_disk$[ebp], 0 - 002a0 74 05 je SHORT $LN18@LoadCentra -$LN19@LoadCentra: - -; 719 : err=ZIP_BADZIPFILE; - - 002a2 bf 99 ff ff ff mov edi, -103 ; ffffff99H -$LN18@LoadCentra: - -; 720 : -; 721 : /* size of the central directory */ -; 722 : if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&size_central_dir)!=ZIP_OK) - - 002a7 8b 56 2c mov edx, DWORD PTR [esi+44] - 002aa 8d 45 d0 lea eax, DWORD PTR _size_central_dir$[ebp] - 002ad 50 push eax - 002ae 8b ce mov ecx, esi - 002b0 e8 00 00 00 00 call _zip64local_getLong64 - -; 723 : err=ZIP_ERRNO; -; 724 : -; 725 : /* offset of start of central directory with respect to the -; 726 : starting disk number */ -; 727 : if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&offset_central_dir)!=ZIP_OK) - - 002b5 8b 56 2c mov edx, DWORD PTR [esi+44] - 002b8 83 c4 04 add esp, 4 - 002bb 85 c0 test eax, eax - 002bd 8b ce mov ecx, esi - 002bf 8d 45 d8 lea eax, DWORD PTR _offset_central_dir$[ebp] - 002c2 0f 45 fb cmovne edi, ebx - 002c5 50 push eax - 002c6 e8 00 00 00 00 call _zip64local_getLong64 - -; 728 : err=ZIP_ERRNO; -; 729 : -; 730 : // TODO.. -; 731 : // read the comment from the standard central header. -; 732 : size_comment = 0; - - 002cb 8b 4d d8 mov ecx, DWORD PTR _offset_central_dir$[ebp] - 002ce 83 c4 04 add esp, 4 - 002d1 85 c0 test eax, eax - 002d3 89 4d fc mov DWORD PTR _offset_central_dir$2$[ebp], ecx - 002d6 8b 45 d4 mov eax, DWORD PTR _size_central_dir$[ebp+4] - 002d9 0f 45 fb cmovne edi, ebx - 002dc 89 45 f8 mov DWORD PTR _size_central_dir_to_read$2$[ebp], eax - 002df 8b 45 dc mov eax, DWORD PTR _offset_central_dir$[ebp+4] - 002e2 33 d2 xor edx, edx - 002e4 8b 5d d0 mov ebx, DWORD PTR _size_central_dir$[ebp] - 002e7 89 45 ec mov DWORD PTR _offset_central_dir$1$[ebp], eax -$LN68@LoadCentra: - -; 786 : err=ZIP_ERRNO; -; 787 : } -; 788 : -; 789 : if ((central_pos0) - - 00316 85 d2 test edx, edx - 00318 74 36 je SHORT $LN40@LoadCentra - -; 800 : { -; 801 : pziinit->globalcomment = (char*)ALLOC(size_comment+1); - - 0031a 8d 42 01 lea eax, DWORD PTR [edx+1] - 0031d 50 push eax - 0031e ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00324 83 c4 04 add esp, 4 - 00327 89 86 00 01 01 - 00 mov DWORD PTR [esi+65792], eax - -; 802 : if (pziinit->globalcomment) - - 0032d 85 c0 test eax, eax - 0032f 74 1c je SHORT $LN65@LoadCentra - -; 803 : { -; 804 : size_comment = ZREAD64(pziinit->z_filefunc, pziinit->filestream, pziinit->globalcomment,size_comment); - - 00331 ff 75 e8 push DWORD PTR _size_comment$1$[ebp] - 00334 50 push eax - 00335 ff 76 2c push DWORD PTR [esi+44] - 00338 8b 46 04 mov eax, DWORD PTR [esi+4] - 0033b ff 76 1c push DWORD PTR [esi+28] - 0033e ff d0 call eax - -; 805 : pziinit->globalcomment[size_comment]=0; - - 00340 8b 8e 00 01 01 - 00 mov ecx, DWORD PTR [esi+65792] - 00346 83 c4 10 add esp, 16 ; 00000010H - 00349 c6 04 08 00 mov BYTE PTR [eax+ecx], 0 -$LN65@LoadCentra: - 0034d 8b 4d f4 mov ecx, DWORD PTR _byte_before_the_zipfile$1$[ebp] -$LN40@LoadCentra: - -; 806 : } -; 807 : } -; 808 : -; 809 : byte_before_the_zipfile = central_pos - (offset_central_dir+size_central_dir); - - 00350 8b 45 f0 mov eax, DWORD PTR _byte_before_the_zipfile$2$[ebp] - 00353 2b 45 fc sub eax, DWORD PTR _offset_central_dir$2$[ebp] - -; 810 : pziinit->add_position_when_writting_offset = byte_before_the_zipfile; -; 811 : -; 812 : { -; 813 : ZPOS64_T size_central_dir_to_read = size_central_dir; -; 814 : size_t buf_size = SIZEDATA_INDATABLOCK; -; 815 : void* buf_read = (void*)ALLOC(buf_size); - - 00356 68 f0 0f 00 00 push 4080 ; 00000ff0H - 0035b 1b 4d ec sbb ecx, DWORD PTR _offset_central_dir$1$[ebp] - 0035e 2b c3 sub eax, ebx - 00360 89 45 f0 mov DWORD PTR _byte_before_the_zipfile$2$[ebp], eax - 00363 1b 4d f8 sbb ecx, DWORD PTR _size_central_dir_to_read$2$[ebp] - 00366 89 4d f4 mov DWORD PTR _byte_before_the_zipfile$1$[ebp], ecx - 00369 89 86 f0 00 01 - 00 mov DWORD PTR [esi+65776], eax - 0036f 89 8e f4 00 01 - 00 mov DWORD PTR [esi+65780], ecx - 00375 ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - -; 816 : if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir + byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) - - 0037b 8b 4d f0 mov ecx, DWORD PTR _byte_before_the_zipfile$2$[ebp] - 0037e 83 c4 04 add esp, 4 - 00381 03 4d fc add ecx, DWORD PTR _offset_central_dir$2$[ebp] - 00384 8b 56 2c mov edx, DWORD PTR [esi+44] - 00387 89 45 e8 mov DWORD PTR _buf_read$1$[ebp], eax - 0038a 8b 45 f4 mov eax, DWORD PTR _byte_before_the_zipfile$1$[ebp] - 0038d 13 45 ec adc eax, DWORD PTR _offset_central_dir$1$[ebp] - 00390 6a 00 push 0 - 00392 50 push eax - 00393 89 4d d4 mov DWORD PTR tv537[ebp], ecx - 00396 51 push ecx - 00397 8b ce mov ecx, esi - 00399 89 45 dc mov DWORD PTR tv538[ebp], eax - 0039c e8 00 00 00 00 call _call_zseek64 - 003a1 83 c4 0c add esp, 12 ; 0000000cH - 003a4 85 c0 test eax, eax - 003a6 b8 ff ff ff ff mov eax, -1 - 003ab 0f 45 f8 cmovne edi, eax - -; 817 : err=ZIP_ERRNO; -; 818 : -; 819 : while ((size_central_dir_to_read>0) && (err==ZIP_OK)) - - 003ae 8b 45 f8 mov eax, DWORD PTR _size_central_dir_to_read$2$[ebp] - 003b1 85 c0 test eax, eax - 003b3 75 0b jne SHORT $LL2@LoadCentra - 003b5 85 db test ebx, ebx - 003b7 74 75 je SHORT $LN60@LoadCentra - 003b9 0f 1f 80 00 00 - 00 00 npad 7 -$LL2@LoadCentra: - 003c0 85 ff test edi, edi - 003c2 75 6a jne SHORT $LN60@LoadCentra - -; 820 : { -; 821 : ZPOS64_T read_this = SIZEDATA_INDATABLOCK; - - 003c4 c7 45 ec 00 00 - 00 00 mov DWORD PTR _read_this$2$[ebp], 0 - 003cb bf f0 0f 00 00 mov edi, 4080 ; 00000ff0H - 003d0 89 7d fc mov DWORD PTR _read_this$1$[ebp], edi - -; 822 : if (read_this > size_central_dir_to_read) - - 003d3 85 c0 test eax, eax - 003d5 77 0e ja SHORT $LN42@LoadCentra - 003d7 72 04 jb SHORT $LN58@LoadCentra - 003d9 3b df cmp ebx, edi - 003db 73 08 jae SHORT $LN42@LoadCentra -$LN58@LoadCentra: - -; 823 : read_this = size_central_dir_to_read; - - 003dd 8b fb mov edi, ebx - 003df 89 5d fc mov DWORD PTR _read_this$1$[ebp], ebx - 003e2 89 45 ec mov DWORD PTR _read_this$2$[ebp], eax -$LN42@LoadCentra: - -; 824 : -; 825 : if (ZREAD64(pziinit->z_filefunc, pziinit->filestream,buf_read,(uLong)read_this) != read_this) - - 003e5 8b 46 04 mov eax, DWORD PTR [esi+4] - 003e8 57 push edi - 003e9 ff 75 e8 push DWORD PTR _buf_read$1$[ebp] - 003ec ff 76 2c push DWORD PTR [esi+44] - 003ef ff 76 1c push DWORD PTR [esi+28] - 003f2 ff d0 call eax - 003f4 83 c4 10 add esp, 16 ; 00000010H - 003f7 33 c9 xor ecx, ecx - 003f9 3b c7 cmp eax, edi - 003fb 75 18 jne SHORT $LN59@LoadCentra - 003fd 3b 4d ec cmp ecx, DWORD PTR _read_this$2$[ebp] - 00400 75 13 jne SHORT $LN59@LoadCentra - -; 827 : -; 828 : if (err==ZIP_OK) -; 829 : err = add_data_in_datablock(&pziinit->central_dir,buf_read, (uLong)read_this); - - 00402 8b 55 e8 mov edx, DWORD PTR _buf_read$1$[ebp] - 00405 8d 4e 30 lea ecx, DWORD PTR [esi+48] - 00408 57 push edi - 00409 e8 00 00 00 00 call _add_data_in_datablock - 0040e 83 c4 04 add esp, 4 - 00411 8b f8 mov edi, eax - 00413 eb 03 jmp SHORT $LN44@LoadCentra -$LN59@LoadCentra: - -; 826 : err=ZIP_ERRNO; - - 00415 83 cf ff or edi, -1 -$LN44@LoadCentra: - -; 830 : -; 831 : size_central_dir_to_read-=read_this; - - 00418 2b 5d fc sub ebx, DWORD PTR _read_this$1$[ebp] - 0041b 8b 45 f8 mov eax, DWORD PTR _size_central_dir_to_read$2$[ebp] - 0041e 1b 45 ec sbb eax, DWORD PTR _read_this$2$[ebp] - 00421 89 45 f8 mov DWORD PTR _size_central_dir_to_read$2$[ebp], eax - 00424 85 c0 test eax, eax - 00426 77 98 ja SHORT $LL2@LoadCentra - -; 817 : err=ZIP_ERRNO; -; 818 : -; 819 : while ((size_central_dir_to_read>0) && (err==ZIP_OK)) - - 00428 72 04 jb SHORT $LN60@LoadCentra - 0042a 85 db test ebx, ebx - 0042c 75 92 jne SHORT $LL2@LoadCentra -$LN60@LoadCentra: - -; 832 : } -; 833 : TRYFREE(buf_read); - - 0042e 8b 45 e8 mov eax, DWORD PTR _buf_read$1$[ebp] - 00431 85 c0 test eax, eax - 00433 74 0a je SHORT $LN45@LoadCentra - 00435 50 push eax - 00436 ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 0043c 83 c4 04 add esp, 4 -$LN45@LoadCentra: - -; 834 : } -; 835 : pziinit->begin_pos = byte_before_the_zipfile; - - 0043f 8b 45 f0 mov eax, DWORD PTR _byte_before_the_zipfile$2$[ebp] - -; 836 : pziinit->number_entry = number_entry_CD; -; 837 : -; 838 : if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET) != 0) - - 00442 8b ce mov ecx, esi - 00444 8b 56 2c mov edx, DWORD PTR [esi+44] - 00447 89 86 e8 00 01 - 00 mov DWORD PTR [esi+65768], eax - 0044d 8b 45 f4 mov eax, DWORD PTR _byte_before_the_zipfile$1$[ebp] - 00450 6a 00 push 0 - 00452 ff 75 dc push DWORD PTR tv538[ebp] - 00455 89 86 ec 00 01 - 00 mov DWORD PTR [esi+65772], eax - 0045b 8b 45 e4 mov eax, DWORD PTR _number_entry_CD$2$[ebp] - 0045e ff 75 d4 push DWORD PTR tv537[ebp] - 00461 89 86 f8 00 01 - 00 mov DWORD PTR [esi+65784], eax - 00467 8b 45 e0 mov eax, DWORD PTR _number_entry_CD$1$[ebp] - 0046a 89 86 fc 00 01 - 00 mov DWORD PTR [esi+65788], eax - 00470 e8 00 00 00 00 call _call_zseek64 - 00475 83 c4 0c add esp, 12 ; 0000000cH - 00478 85 c0 test eax, eax - 0047a b8 ff ff ff ff mov eax, -1 - 0047f 0f 45 f8 cmovne edi, eax - -; 839 : err=ZIP_ERRNO; -; 840 : -; 841 : return err; - - 00482 8b c7 mov eax, edi - -; 842 : } - - 00484 5f pop edi - 00485 5e pop esi - 00486 5b pop ebx - 00487 8b e5 mov esp, ebp - 00489 5d pop ebp - 0048a c3 ret 0 -$LN52@LoadCentra: - -; 794 : { -; 795 : ZCLOSE64(pziinit->z_filefunc, pziinit->filestream); - - 0048b ff 76 2c push DWORD PTR [esi+44] - 0048e 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00491 ff 76 1c push DWORD PTR [esi+28] - 00494 ff d1 call ecx - 00496 83 c4 08 add esp, 8 - -; 796 : return ZIP_ERRNO; - - 00499 83 c8 ff or eax, -1 - -; 842 : } - - 0049c 5f pop edi - 0049d 5e pop esi - 0049e 5b pop ebx - 0049f 8b e5 mov esp, ebp - 004a1 5d pop ebp - 004a2 c3 ret 0 -_LoadCentralDirectoryRecord ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpen3@16 -_TEXT SEGMENT -_ziinit$ = -65800 ; size = 65800 -_globalcomment$ = 8 ; size = 4 -_pzlib_filefunc64_32_def$ = 12 ; size = 4 -_zipOpen3@16 PROC ; COMDAT -; _pathname$ = ecx -; _append$ = edx - -; 850 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 b8 0c 01 01 00 mov eax, 65804 ; 0001010cH - 0000b e8 00 00 00 00 call __chkstk - -; 851 : zip64_internal ziinit; -; 852 : zip64_internal* zi; -; 853 : int err=ZIP_OK; -; 854 : -; 855 : ziinit.z_filefunc.zseek32_file = NULL; -; 856 : ziinit.z_filefunc.ztell32_file = NULL; -; 857 : if (pzlib_filefunc64_32_def==NULL) - - 00010 8b 45 0c mov eax, DWORD PTR _pzlib_filefunc64_32_def$[ebp] - 00013 53 push ebx - 00014 56 push esi - 00015 33 db xor ebx, ebx - 00017 89 5c 24 34 mov DWORD PTR _ziinit$[esp+65852], ebx - 0001b 89 5c 24 30 mov DWORD PTR _ziinit$[esp+65848], ebx - 0001f 57 push edi - 00020 8b fa mov edi, edx - 00022 8b d1 mov edx, ecx - 00024 85 c0 test eax, eax - 00026 75 0b jne SHORT $LN2@zipOpen3 - -; 858 : fill_fopen64_filefunc(&ziinit.z_filefunc.zfile_func64); - - 00028 8d 4c 24 10 lea ecx, DWORD PTR _ziinit$[esp+65816] - 0002c e8 00 00 00 00 call _fill_fopen64_filefunc - 00031 eb 23 jmp SHORT $LN3@zipOpen3 -$LN2@zipOpen3: - -; 859 : else -; 860 : ziinit.z_filefunc = *pzlib_filefunc64_32_def; - - 00033 0f 10 00 movups xmm0, XMMWORD PTR [eax] - 00036 0f 11 44 24 10 movups XMMWORD PTR _ziinit$[esp+65816], xmm0 - 0003b 0f 10 40 10 movups xmm0, XMMWORD PTR [eax+16] - 0003f 0f 11 44 24 20 movups XMMWORD PTR _ziinit$[esp+65832], xmm0 - 00044 f3 0f 7e 40 20 movq xmm0, QWORD PTR [eax+32] - 00049 8b 40 28 mov eax, DWORD PTR [eax+40] - 0004c 66 0f d6 44 24 - 30 movq QWORD PTR _ziinit$[esp+65848], xmm0 - 00052 89 44 24 38 mov DWORD PTR _ziinit$[esp+65856], eax -$LN3@zipOpen3: - -; 861 : -; 862 : ziinit.filestream = ZOPEN64(ziinit.z_filefunc, - - 00056 33 c0 xor eax, eax - 00058 8d 4c 24 10 lea ecx, DWORD PTR _ziinit$[esp+65816] - 0005c 85 ff test edi, edi - 0005e 0f 94 c0 sete al - 00061 8d 04 85 07 00 - 00 00 lea eax, DWORD PTR [eax*4+7] - 00068 50 push eax - 00069 e8 00 00 00 00 call _call_zopen64 - 0006e 8b f0 mov esi, eax - 00070 83 c4 04 add esp, 4 - 00073 89 74 24 3c mov DWORD PTR _ziinit$[esp+65860], esi - -; 863 : pathname, -; 864 : (append == APPEND_STATUS_CREATE) ? -; 865 : (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) : -; 866 : (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING)); -; 867 : -; 868 : if (ziinit.filestream == NULL) - - 00077 85 f6 test esi, esi - 00079 74 7e je SHORT $LN14@zipOpen3 - -; 869 : return NULL; -; 870 : -; 871 : if (append == APPEND_STATUS_CREATEAFTER) - - 0007b 83 ff 01 cmp edi, 1 - 0007e 75 14 jne SHORT $LN5@zipOpen3 - -; 872 : ZSEEK64(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END); - - 00080 6a 02 push 2 - 00082 6a 00 push 0 - 00084 6a 00 push 0 - 00086 8b d6 mov edx, esi - 00088 8d 4c 24 1c lea ecx, DWORD PTR _ziinit$[esp+65828] - 0008c e8 00 00 00 00 call _call_zseek64 - 00091 83 c4 0c add esp, 12 ; 0000000cH -$LN5@zipOpen3: - -; 873 : -; 874 : ziinit.begin_pos = ZTELL64(ziinit.z_filefunc,ziinit.filestream); - - 00094 8b d6 mov edx, esi - 00096 8d 4c 24 10 lea ecx, DWORD PTR _ziinit$[esp+65816] - 0009a e8 00 00 00 00 call _call_ztell64 - 0009f 0f 57 c0 xorps xmm0, xmm0 - 000a2 89 84 24 f8 00 - 01 00 mov DWORD PTR _ziinit$[esp+131584], eax - -; 875 : ziinit.in_opened_file_inzip = 0; -; 876 : ziinit.ci.stream_initialised = 0; -; 877 : ziinit.number_entry = 0; -; 878 : ziinit.add_position_when_writting_offset = 0; -; 879 : init_linkedlist(&(ziinit.central_dir)); - - 000a9 8d 4c 24 40 lea ecx, DWORD PTR _ziinit$[esp+65864] - 000ad 89 94 24 fc 00 - 01 00 mov DWORD PTR _ziinit$[esp+131588], edx - 000b4 89 5c 24 48 mov DWORD PTR _ziinit$[esp+65872], ebx - 000b8 89 9c 24 88 00 - 00 00 mov DWORD PTR _ziinit$[esp+65936], ebx - 000bf 66 0f 13 84 24 - 08 01 01 00 movlpd QWORD PTR _ziinit$[esp+131600], xmm0 - 000c8 66 0f 13 84 24 - 00 01 01 00 movlpd QWORD PTR _ziinit$[esp+131592], xmm0 - 000d1 e8 00 00 00 00 call _init_linkedlist - -; 880 : -; 881 : -; 882 : -; 883 : zi = (zip64_internal*)ALLOC(sizeof(zip64_internal)); - - 000d6 68 08 01 01 00 push 65800 ; 00010108H - 000db ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 000e1 8b f0 mov esi, eax - 000e3 83 c4 04 add esp, 4 - -; 884 : if (zi==NULL) - - 000e6 85 f6 test esi, esi - 000e8 75 1a jne SHORT $LN6@zipOpen3 - -; 885 : { -; 886 : ZCLOSE64(ziinit.z_filefunc,ziinit.filestream); - - 000ea ff 74 24 3c push DWORD PTR _ziinit$[esp+65860] - 000ee ff 74 24 30 push DWORD PTR _ziinit$[esp+65848] - 000f2 ff 54 24 2c call DWORD PTR _ziinit$[esp+65844] - 000f6 83 c4 08 add esp, 8 -$LN14@zipOpen3: - -; 887 : return NULL; - - 000f9 33 c0 xor eax, eax - -; 917 : } -; 918 : } - - 000fb 5f pop edi - 000fc 5e pop esi - 000fd 5b pop ebx - 000fe 8b e5 mov esp, ebp - 00100 5d pop ebp - 00101 c2 08 00 ret 8 -$LN6@zipOpen3: - -; 888 : } -; 889 : -; 890 : /* now we add file in a zipfile */ -; 891 : # ifndef NO_ADDFILEINEXISTINGZIP -; 892 : ziinit.globalcomment = NULL; - - 00104 33 c0 xor eax, eax - 00106 89 84 24 10 01 - 01 00 mov DWORD PTR _ziinit$[esp+131608], eax - -; 893 : if (append == APPEND_STATUS_ADDINZIP) - - 0010d 83 ff 02 cmp edi, 2 - 00110 75 12 jne SHORT $LN7@zipOpen3 - -; 894 : { -; 895 : // Read and Cache Central Directory Records -; 896 : err = LoadCentralDirectoryRecord(&ziinit); - - 00112 8d 4c 24 10 lea ecx, DWORD PTR _ziinit$[esp+65816] - 00116 e8 00 00 00 00 call _LoadCentralDirectoryRecord - 0011b 8b d8 mov ebx, eax - 0011d 8b 84 24 10 01 - 01 00 mov eax, DWORD PTR _ziinit$[esp+131608] -$LN7@zipOpen3: - -; 897 : } -; 898 : -; 899 : if (globalcomment) - - 00124 8b 4d 08 mov ecx, DWORD PTR _globalcomment$[ebp] - 00127 85 c9 test ecx, ecx - 00129 74 02 je SHORT $LN8@zipOpen3 - -; 900 : { -; 901 : *globalcomment = ziinit.globalcomment; - - 0012b 89 01 mov DWORD PTR [ecx], eax -$LN8@zipOpen3: - -; 902 : } -; 903 : # endif /* !NO_ADDFILEINEXISTINGZIP*/ -; 904 : -; 905 : if (err != ZIP_OK) - - 0012d 85 db test ebx, ebx - 0012f 74 21 je SHORT $LN9@zipOpen3 - -; 906 : { -; 907 : # ifndef NO_ADDFILEINEXISTINGZIP -; 908 : TRYFREE(ziinit.globalcomment); - - 00131 8b 3d 00 00 00 - 00 mov edi, DWORD PTR __imp__free - 00137 85 c0 test eax, eax - 00139 74 06 je SHORT $LN11@zipOpen3 - 0013b 50 push eax - 0013c ff d7 call edi - 0013e 83 c4 04 add esp, 4 -$LN11@zipOpen3: - -; 909 : # endif /* !NO_ADDFILEINEXISTINGZIP*/ -; 910 : TRYFREE(zi); - - 00141 56 push esi - 00142 ff d7 call edi - 00144 83 c4 04 add esp, 4 - -; 911 : return NULL; - - 00147 33 c0 xor eax, eax - -; 917 : } -; 918 : } - - 00149 5f pop edi - 0014a 5e pop esi - 0014b 5b pop ebx - 0014c 8b e5 mov esp, ebp - 0014e 5d pop ebp - 0014f c2 08 00 ret 8 -$LN9@zipOpen3: - -; 912 : } -; 913 : else -; 914 : { -; 915 : *zi = ziinit; - - 00152 68 08 01 01 00 push 65800 ; 00010108H - 00157 8d 44 24 14 lea eax, DWORD PTR _ziinit$[esp+65820] - 0015b 50 push eax - 0015c 56 push esi - 0015d e8 00 00 00 00 call _memcpy - 00162 83 c4 0c add esp, 12 ; 0000000cH - -; 916 : return (zipFile)zi; - - 00165 8b c6 mov eax, esi - -; 917 : } -; 918 : } - - 00167 5f pop edi - 00168 5e pop esi - 00169 5b pop ebx - 0016a 8b e5 mov esp, ebp - 0016c 5d pop ebp - 0016d c2 08 00 ret 8 -_zipOpen3@16 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpen2@16 -_TEXT SEGMENT -_zlib_filefunc64_32_def_fill$1 = -44 ; size = 44 -_pathname$ = 8 ; size = 4 -_append$ = 12 ; size = 4 -_globalcomment$ = 16 ; size = 4 -_pzlib_filefunc32_def$ = 20 ; size = 4 -_zipOpen2@16 PROC ; COMDAT - -; 921 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - -; 922 : if (pzlib_filefunc32_def != NULL) - - 00006 8b 55 14 mov edx, DWORD PTR _pzlib_filefunc32_def$[ebp] - 00009 83 ec 30 sub esp, 48 ; 00000030H - 0000c 85 d2 test edx, edx - 0000e 74 20 je SHORT $LN2@zipOpen2 - -; 923 : { -; 924 : zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; -; 925 : fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def); - - 00010 8d 4c 24 04 lea ecx, DWORD PTR _zlib_filefunc64_32_def_fill$1[esp+48] - 00014 e8 00 00 00 00 call _fill_zlib_filefunc64_32_def_from_filefunc32 - -; 926 : return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); -; 927 : } -; 928 : else -; 929 : return zipOpen3(pathname, append, globalcomment, NULL); - - 00019 8b 55 0c mov edx, DWORD PTR _append$[ebp] - 0001c 8b c1 mov eax, ecx - 0001e 8b 4d 08 mov ecx, DWORD PTR _pathname$[ebp] - 00021 50 push eax - 00022 ff 75 10 push DWORD PTR _globalcomment$[ebp] - 00025 e8 00 00 00 00 call _zipOpen3@16 - -; 930 : } - - 0002a 8b e5 mov esp, ebp - 0002c 5d pop ebp - 0002d c2 10 00 ret 16 ; 00000010H -$LN2@zipOpen2: - -; 926 : return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); -; 927 : } -; 928 : else -; 929 : return zipOpen3(pathname, append, globalcomment, NULL); - - 00030 8b 55 0c mov edx, DWORD PTR _append$[ebp] - 00033 8b 4d 08 mov ecx, DWORD PTR _pathname$[ebp] - 00036 6a 00 push 0 - 00038 ff 75 10 push DWORD PTR _globalcomment$[ebp] - 0003b e8 00 00 00 00 call _zipOpen3@16 - -; 930 : } - - 00040 8b e5 mov esp, ebp - 00042 5d pop ebp - 00043 c2 10 00 ret 16 ; 00000010H -_zipOpen2@16 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpen2_64@16 -_TEXT SEGMENT -_zlib_filefunc64_32_def_fill$1 = -44 ; size = 44 -_pathname$ = 8 ; size = 4 -_append$ = 12 ; size = 4 -_globalcomment$ = 16 ; size = 4 -_pzlib_filefunc_def$ = 20 ; size = 4 -_zipOpen2_64@16 PROC ; COMDAT - -; 933 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - -; 934 : if (pzlib_filefunc_def != NULL) - - 00006 8b 45 14 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00009 83 ec 30 sub esp, 48 ; 00000030H - -; 940 : return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); - - 0000c 8b 55 0c mov edx, DWORD PTR _append$[ebp] - 0000f 8b 4d 08 mov ecx, DWORD PTR _pathname$[ebp] - 00012 85 c0 test eax, eax - 00014 74 34 je SHORT $LN2@zipOpen2_6 - -; 935 : { -; 936 : zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; -; 937 : zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def; -; 938 : zlib_filefunc64_32_def_fill.ztell32_file = NULL; - - 00016 0f 10 00 movups xmm0, XMMWORD PTR [eax] - 00019 c7 44 24 28 00 - 00 00 00 mov DWORD PTR _zlib_filefunc64_32_def_fill$1[esp+84], 0 - -; 939 : zlib_filefunc64_32_def_fill.zseek32_file = NULL; - - 00021 c7 44 24 2c 00 - 00 00 00 mov DWORD PTR _zlib_filefunc64_32_def_fill$1[esp+88], 0 - 00029 0f 11 44 24 04 movups XMMWORD PTR _zlib_filefunc64_32_def_fill$1[esp+48], xmm0 - 0002e 0f 10 40 10 movups xmm0, XMMWORD PTR [eax+16] - -; 940 : return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); - - 00032 8d 44 24 04 lea eax, DWORD PTR _zlib_filefunc64_32_def_fill$1[esp+48] - 00036 50 push eax - -; 941 : } -; 942 : else -; 943 : return zipOpen3(pathname, append, globalcomment, NULL); - - 00037 ff 75 10 push DWORD PTR _globalcomment$[ebp] - 0003a 0f 11 44 24 1c movups XMMWORD PTR _zlib_filefunc64_32_def_fill$1[esp+72], xmm0 - 0003f e8 00 00 00 00 call _zipOpen3@16 - -; 944 : } - - 00044 8b e5 mov esp, ebp - 00046 5d pop ebp - 00047 c2 10 00 ret 16 ; 00000010H -$LN2@zipOpen2_6: - -; 941 : } -; 942 : else -; 943 : return zipOpen3(pathname, append, globalcomment, NULL); - - 0004a 6a 00 push 0 - 0004c ff 75 10 push DWORD PTR _globalcomment$[ebp] - 0004f e8 00 00 00 00 call _zipOpen3@16 - -; 944 : } - - 00054 8b e5 mov esp, ebp - 00056 5d pop ebp - 00057 c2 10 00 ret 16 ; 00000010H -_zipOpen2_64@16 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpen@8 -_TEXT SEGMENT -_pathname$ = 8 ; size = 4 -_append$ = 12 ; size = 4 -_zipOpen@8 PROC ; COMDAT - -; 949 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 950 : return zipOpen3((const void*)pathname,append,NULL,NULL); - - 00003 8b 55 0c mov edx, DWORD PTR _append$[ebp] - 00006 8b 4d 08 mov ecx, DWORD PTR _pathname$[ebp] - 00009 6a 00 push 0 - 0000b 6a 00 push 0 - 0000d e8 00 00 00 00 call _zipOpen3@16 - -; 951 : } - - 00012 5d pop ebp - 00013 c2 08 00 ret 8 -_zipOpen@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpen64@8 -_TEXT SEGMENT -_pathname$ = 8 ; size = 4 -_append$ = 12 ; size = 4 -_zipOpen64@8 PROC ; COMDAT - -; 954 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 955 : return zipOpen3(pathname,append,NULL,NULL); - - 00003 8b 55 0c mov edx, DWORD PTR _append$[ebp] - 00006 8b 4d 08 mov ecx, DWORD PTR _pathname$[ebp] - 00009 6a 00 push 0 - 0000b 6a 00 push 0 - 0000d e8 00 00 00 00 call _zipOpen3@16 - -; 956 : } - - 00012 5d pop ebp - 00013 c2 08 00 ret 8 -_zipOpen64@8 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _Write_LocalFileHeader -_TEXT SEGMENT -_filename$1$ = -8 ; size = 4 -_size_extrafield_local$ = 8 ; size = 4 -_extrafield_local$ = 12 ; size = 4 -_Write_LocalFileHeader PROC ; COMDAT -; _zi$ = ecx -; _filename$ = edx - -; 959 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - 00006 53 push ebx - 00007 56 push esi - 00008 8b c2 mov eax, edx - 0000a 8b f1 mov esi, ecx - 0000c 57 push edi - -; 960 : /* write the local header */ -; 961 : int err; -; 962 : uInt size_filename = (uInt)strlen(filename); - - 0000d 8b f8 mov edi, eax - 0000f 89 45 f8 mov DWORD PTR _filename$1$[ebp], eax - 00012 8d 4f 01 lea ecx, DWORD PTR [edi+1] -$LL26@Write_Loca: - 00015 8a 07 mov al, BYTE PTR [edi] - 00017 47 inc edi - 00018 84 c0 test al, al - 0001a 75 f9 jne SHORT $LL26@Write_Loca - -; 963 : uInt size_extrafield = size_extrafield_local; -; 964 : -; 965 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)LOCALHEADERMAGIC, 4); - - 0001c 8b 56 2c mov edx, DWORD PTR [esi+44] - 0001f 2b f9 sub edi, ecx - 00021 8b 5d 08 mov ebx, DWORD PTR _size_extrafield_local$[ebp] - 00024 8b ce mov ecx, esi - 00026 6a 04 push 4 - 00028 6a 00 push 0 - 0002a 68 50 4b 03 04 push 67324752 ; 04034b50H - 0002f e8 00 00 00 00 call _zip64local_putValue - 00034 83 c4 0c add esp, 12 ; 0000000cH - -; 966 : -; 967 : if (err==ZIP_OK) - - 00037 85 c0 test eax, eax - 00039 0f 85 e6 00 00 - 00 jne $LN15@Write_Loca - -; 968 : { -; 969 : if(zi->ci.zip64) -; 970 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);/* version needed to extract */ - - 0003f 8b ce mov ecx, esi - 00041 8b 56 2c mov edx, DWORD PTR [esi+44] - 00044 6a 02 push 2 - 00046 50 push eax - 00047 39 86 b0 00 01 - 00 cmp DWORD PTR [esi+65712], eax - 0004d 74 04 je SHORT $LN3@Write_Loca - 0004f 6a 2d push 45 ; 0000002dH - 00051 eb 02 jmp SHORT $LN31@Write_Loca -$LN3@Write_Loca: - -; 971 : else -; 972 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)20,2);/* version needed to extract */ - - 00053 6a 14 push 20 ; 00000014H -$LN31@Write_Loca: - 00055 e8 00 00 00 00 call _zip64local_putValue - 0005a 83 c4 0c add esp, 12 ; 0000000cH - -; 973 : } -; 974 : -; 975 : if (err==ZIP_OK) - - 0005d 85 c0 test eax, eax - 0005f 0f 85 c0 00 00 - 00 jne $LN15@Write_Loca - -; 976 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.flag,2); - - 00065 8b 56 2c mov edx, DWORD PTR [esi+44] - 00068 8b ce mov ecx, esi - 0006a 6a 02 push 2 - 0006c 50 push eax - 0006d ff b6 98 00 00 - 00 push DWORD PTR [esi+152] - 00073 e8 00 00 00 00 call _zip64local_putValue - 00078 83 c4 0c add esp, 12 ; 0000000cH - -; 977 : -; 978 : if (err==ZIP_OK) - - 0007b 85 c0 test eax, eax - 0007d 0f 85 a2 00 00 - 00 jne $LN15@Write_Loca - -; 979 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.method,2); - - 00083 8b 56 2c mov edx, DWORD PTR [esi+44] - 00086 8b ce mov ecx, esi - 00088 6a 02 push 2 - 0008a 50 push eax - 0008b ff b6 9c 00 00 - 00 push DWORD PTR [esi+156] - 00091 e8 00 00 00 00 call _zip64local_putValue - 00096 83 c4 0c add esp, 12 ; 0000000cH - -; 980 : -; 981 : if (err==ZIP_OK) - - 00099 85 c0 test eax, eax - 0009b 0f 85 84 00 00 - 00 jne $LN15@Write_Loca - -; 982 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.dosDate,4); - - 000a1 8b 56 2c mov edx, DWORD PTR [esi+44] - 000a4 8b ce mov ecx, esi - 000a6 6a 04 push 4 - 000a8 50 push eax - 000a9 ff b6 a4 00 01 - 00 push DWORD PTR [esi+65700] - 000af e8 00 00 00 00 call _zip64local_putValue - 000b4 83 c4 0c add esp, 12 ; 0000000cH - -; 983 : -; 984 : // CRC / Compressed size / Uncompressed size will be filled in later and rewritten later -; 985 : if (err==ZIP_OK) - - 000b7 85 c0 test eax, eax - 000b9 75 6a jne SHORT $LN15@Write_Loca - -; 986 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* crc 32, unknown */ - - 000bb 8b 56 2c mov edx, DWORD PTR [esi+44] - 000be 8b ce mov ecx, esi - 000c0 6a 04 push 4 - 000c2 50 push eax - 000c3 50 push eax - 000c4 e8 00 00 00 00 call _zip64local_putValue - 000c9 83 c4 0c add esp, 12 ; 0000000cH - -; 987 : if (err==ZIP_OK) - - 000cc 85 c0 test eax, eax - 000ce 75 55 jne SHORT $LN15@Write_Loca - -; 988 : { -; 989 : if(zi->ci.zip64) -; 990 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* compressed size, unknown */ - - 000d0 8b ce mov ecx, esi - 000d2 8b 56 2c mov edx, DWORD PTR [esi+44] - 000d5 6a 04 push 4 - 000d7 50 push eax - 000d8 39 86 b0 00 01 - 00 cmp DWORD PTR [esi+65712], eax - 000de 74 04 je SHORT $LN10@Write_Loca - 000e0 6a ff push -1 - 000e2 eb 02 jmp SHORT $LN32@Write_Loca -$LN10@Write_Loca: - -; 991 : else -; 992 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* compressed size, unknown */ - - 000e4 6a 00 push 0 -$LN32@Write_Loca: - 000e6 e8 00 00 00 00 call _zip64local_putValue - 000eb 83 c4 0c add esp, 12 ; 0000000cH - -; 993 : } -; 994 : if (err==ZIP_OK) - - 000ee 85 c0 test eax, eax - 000f0 75 33 jne SHORT $LN15@Write_Loca - -; 995 : { -; 996 : if(zi->ci.zip64) -; 997 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* uncompressed size, unknown */ - - 000f2 8b ce mov ecx, esi - 000f4 8b 56 2c mov edx, DWORD PTR [esi+44] - 000f7 6a 04 push 4 - 000f9 50 push eax - 000fa 39 86 b0 00 01 - 00 cmp DWORD PTR [esi+65712], eax - 00100 74 04 je SHORT $LN13@Write_Loca - 00102 6a ff push -1 - 00104 eb 02 jmp SHORT $LN33@Write_Loca -$LN13@Write_Loca: - -; 998 : else -; 999 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* uncompressed size, unknown */ - - 00106 6a 00 push 0 -$LN33@Write_Loca: - 00108 e8 00 00 00 00 call _zip64local_putValue - 0010d 83 c4 0c add esp, 12 ; 0000000cH - -; 1000 : } -; 1001 : -; 1002 : if (err==ZIP_OK) - - 00110 85 c0 test eax, eax - 00112 75 11 jne SHORT $LN15@Write_Loca - -; 1003 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_filename,2); - - 00114 8b 56 2c mov edx, DWORD PTR [esi+44] - 00117 8b ce mov ecx, esi - 00119 6a 02 push 2 - 0011b 50 push eax - 0011c 57 push edi - 0011d e8 00 00 00 00 call _zip64local_putValue - 00122 83 c4 0c add esp, 12 ; 0000000cH -$LN15@Write_Loca: - -; 1004 : -; 1005 : if(zi->ci.zip64) - - 00125 83 be b0 00 01 - 00 00 cmp DWORD PTR [esi+65712], 0 - -; 1006 : { -; 1007 : size_extrafield += 20; - - 0012c 8d 4b 14 lea ecx, DWORD PTR [ebx+20] - 0012f 75 02 jne SHORT $LN16@Write_Loca - 00131 8b cb mov ecx, ebx -$LN16@Write_Loca: - -; 1008 : } -; 1009 : -; 1010 : if (err==ZIP_OK) - - 00133 85 c0 test eax, eax - 00135 0f 85 c7 00 00 - 00 jne $LN22@Write_Loca - -; 1011 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_extrafield,2); - - 0013b 8b 56 2c mov edx, DWORD PTR [esi+44] - 0013e 6a 02 push 2 - 00140 50 push eax - 00141 51 push ecx - 00142 8b ce mov ecx, esi - 00144 e8 00 00 00 00 call _zip64local_putValue - 00149 8b d8 mov ebx, eax - 0014b 83 c4 0c add esp, 12 ; 0000000cH - -; 1012 : -; 1013 : if ((err==ZIP_OK) && (size_filename > 0)) - - 0014e 85 db test ebx, ebx - 00150 0f 85 aa 00 00 - 00 jne $LN28@Write_Loca - 00156 85 ff test edi, edi - 00158 74 20 je SHORT $LN24@Write_Loca - -; 1014 : { -; 1015 : if (ZWRITE64(zi->z_filefunc,zi->filestream,filename,size_filename)!=size_filename) - - 0015a 8b 46 08 mov eax, DWORD PTR [esi+8] - 0015d 57 push edi - 0015e ff 75 f8 push DWORD PTR _filename$1$[ebp] - 00161 ff 76 2c push DWORD PTR [esi+44] - 00164 ff 76 1c push DWORD PTR [esi+28] - 00167 ff d0 call eax - 00169 83 c4 10 add esp, 16 ; 00000010H - 0016c 3b c7 cmp eax, edi - 0016e 74 0a je SHORT $LN24@Write_Loca -$LN34@Write_Loca: - -; 1042 : } -; 1043 : -; 1044 : return err; - - 00170 83 c8 ff or eax, -1 - -; 1045 : } - - 00173 5f pop edi - 00174 5e pop esi - 00175 5b pop ebx - 00176 8b e5 mov esp, ebp - 00178 5d pop ebp - 00179 c3 ret 0 -$LN24@Write_Loca: - -; 1016 : err = ZIP_ERRNO; -; 1017 : } -; 1018 : -; 1019 : if ((err==ZIP_OK) && (size_extrafield_local > 0)) - - 0017a 8b 7d 08 mov edi, DWORD PTR _size_extrafield_local$[ebp] - 0017d 85 ff test edi, edi - 0017f 74 16 je SHORT $LN25@Write_Loca - -; 1020 : { -; 1021 : if (ZWRITE64(zi->z_filefunc, zi->filestream, extrafield_local, size_extrafield_local) != size_extrafield_local) - - 00181 8b 46 08 mov eax, DWORD PTR [esi+8] - 00184 57 push edi - 00185 ff 75 0c push DWORD PTR _extrafield_local$[ebp] - 00188 ff 76 2c push DWORD PTR [esi+44] - 0018b ff 76 1c push DWORD PTR [esi+28] - 0018e ff d0 call eax - 00190 83 c4 10 add esp, 16 ; 00000010H - 00193 3b c7 cmp eax, edi - 00195 75 d9 jne SHORT $LN34@Write_Loca -$LN25@Write_Loca: - -; 1022 : err = ZIP_ERRNO; -; 1023 : } -; 1024 : -; 1025 : -; 1026 : if ((err==ZIP_OK) && (zi->ci.zip64)) - - 00197 83 be b0 00 01 - 00 00 cmp DWORD PTR [esi+65712], 0 - 0019e 74 60 je SHORT $LN28@Write_Loca - -; 1027 : { -; 1028 : // write the Zip64 extended info -; 1029 : short HeaderID = 1; -; 1030 : short DataSize = 16; -; 1031 : ZPOS64_T CompressedSize = 0; -; 1032 : ZPOS64_T UncompressedSize = 0; -; 1033 : -; 1034 : // Remember position of Zip64 extended info for the local file header. (needed when we update size after done with file) -; 1035 : zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc,zi->filestream); - - 001a0 8b 56 2c mov edx, DWORD PTR [esi+44] - 001a3 8b ce mov ecx, esi - 001a5 e8 00 00 00 00 call _call_ztell64 - -; 1036 : -; 1037 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)HeaderID,2); - - 001aa 6a 02 push 2 - 001ac 89 96 bc 00 01 - 00 mov DWORD PTR [esi+65724], edx - 001b2 8b ce mov ecx, esi - 001b4 8b 56 2c mov edx, DWORD PTR [esi+44] - 001b7 6a 00 push 0 - 001b9 6a 01 push 1 - 001bb 89 86 b8 00 01 - 00 mov DWORD PTR [esi+65720], eax - 001c1 e8 00 00 00 00 call _zip64local_putValue - -; 1038 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)DataSize,2); - - 001c6 8b 56 2c mov edx, DWORD PTR [esi+44] - 001c9 8b ce mov ecx, esi - 001cb 6a 02 push 2 - 001cd 6a 00 push 0 - 001cf 6a 10 push 16 ; 00000010H - 001d1 e8 00 00 00 00 call _zip64local_putValue - -; 1039 : -; 1040 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)UncompressedSize,8); - - 001d6 8b 56 2c mov edx, DWORD PTR [esi+44] - 001d9 8b ce mov ecx, esi - 001db 6a 08 push 8 - 001dd 6a 00 push 0 - 001df 6a 00 push 0 - 001e1 e8 00 00 00 00 call _zip64local_putValue - -; 1041 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)CompressedSize,8); - - 001e6 8b 56 2c mov edx, DWORD PTR [esi+44] - 001e9 8b ce mov ecx, esi - 001eb 6a 08 push 8 - 001ed 6a 00 push 0 - 001ef 6a 00 push 0 - 001f1 e8 00 00 00 00 call _zip64local_putValue - 001f6 83 c4 30 add esp, 48 ; 00000030H - -; 1045 : } - - 001f9 5f pop edi - 001fa 5e pop esi - 001fb 5b pop ebx - 001fc 8b e5 mov esp, ebp - 001fe 5d pop ebp - 001ff c3 ret 0 -$LN28@Write_Loca: - -; 1042 : } -; 1043 : -; 1044 : return err; - - 00200 8b c3 mov eax, ebx -$LN22@Write_Loca: - -; 1045 : } - - 00202 5f pop edi - 00203 5e pop esi - 00204 5b pop ebx - 00205 8b e5 mov esp, ebp - 00207 5d pop ebp - 00208 c3 ret 0 -_Write_LocalFileHeader ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpenNewFileInZip4_64@76 -_TEXT SEGMENT -_size_comment$1$ = -20 ; size = 4 -_filename$2$ = -16 ; size = 4 -_bufHead$1 = -12 ; size = 12 -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_raw$ = 48 ; size = 4 -_windowBits$ = 52 ; size = 4 -_memLevel$ = 56 ; size = 4 -_strategy$ = 60 ; size = 4 -_password$ = 64 ; size = 4 -_crcForCrypting$ = 68 ; size = 4 -_versionMadeBy$ = 72 ; size = 4 -_flagBase$ = 76 ; size = 4 -_zip64$ = 80 ; size = 4 -_zipOpenNewFileInZip4_64@76 PROC ; COMDAT - -; 1062 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 14 sub esp, 20 ; 00000014H - 00009 53 push ebx - 0000a 56 push esi - -; 1063 : zip64_internal* zi; -; 1064 : uInt size_filename; -; 1065 : uInt size_comment; -; 1066 : uInt i; -; 1067 : int err = ZIP_OK; -; 1068 : -; 1069 : # ifdef NOCRYPT -; 1070 : (crcForCrypting); -; 1071 : if (password != NULL) -; 1072 : return ZIP_PARAMERROR; -; 1073 : # endif -; 1074 : -; 1075 : if (file == NULL) - - 0000b 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 0000e 57 push edi - 0000f 85 f6 test esi, esi - 00011 75 0e jne SHORT $LN11@zipOpenNew -$LN64@zipOpenNew: - -; 1076 : return ZIP_PARAMERROR; - - 00013 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1263 : } - - 00018 5f pop edi - 00019 5e pop esi - 0001a 5b pop ebx - 0001b 8b e5 mov esp, ebp - 0001d 5d pop ebp - 0001e c2 4c 00 ret 76 ; 0000004cH -$LN11@zipOpenNew: - -; 1077 : -; 1078 : #ifdef HAVE_BZIP2 -; 1079 : if ((method!=0) && (method!=Z_DEFLATED) && (method!=Z_BZIP2ED)) -; 1080 : return ZIP_PARAMERROR; -; 1081 : #else -; 1082 : if ((method!=0) && (method!=Z_DEFLATED)) - - 00021 8b 45 28 mov eax, DWORD PTR _method$[ebp] - 00024 85 c0 test eax, eax - 00026 74 05 je SHORT $LN12@zipOpenNew - 00028 83 f8 08 cmp eax, 8 - 0002b 75 e6 jne SHORT $LN64@zipOpenNew -$LN12@zipOpenNew: - -; 1083 : return ZIP_PARAMERROR; -; 1084 : #endif -; 1085 : -; 1086 : zi = (zip64_internal*)file; -; 1087 : -; 1088 : if (zi->in_opened_file_inzip == 1) - - 0002d 83 7e 38 01 cmp DWORD PTR [esi+56], 1 - 00031 75 0e jne SHORT $LN14@zipOpenNew - -; 1089 : { -; 1090 : err = zipCloseFileInZip (file); - - 00033 56 push esi - 00034 e8 00 00 00 00 call _zipCloseFileInZip@4 - -; 1091 : if (err != ZIP_OK) - - 00039 85 c0 test eax, eax - 0003b 0f 85 95 04 00 - 00 jne $LN1@zipOpenNew -$LN14@zipOpenNew: - -; 1092 : return err; -; 1093 : } -; 1094 : -; 1095 : if (filename==NULL) - - 00041 8b 45 0c mov eax, DWORD PTR _filename$[ebp] - 00044 b9 00 00 00 00 mov ecx, OFFSET ??_C@_01JOAMLHOP@?9?$AA@ - 00049 85 c0 test eax, eax - 0004b 0f 45 c8 cmovne ecx, eax - -; 1096 : filename="-"; -; 1097 : -; 1098 : if (comment==NULL) - - 0004e 8b 45 24 mov eax, DWORD PTR _comment$[ebp] - 00051 89 4c 24 10 mov DWORD PTR _filename$2$[esp+32], ecx - 00055 85 c0 test eax, eax - 00057 75 04 jne SHORT $LN16@zipOpenNew - -; 1099 : size_comment = 0; - - 00059 33 db xor ebx, ebx - 0005b eb 0e jmp SHORT $LN61@zipOpenNew -$LN16@zipOpenNew: - -; 1100 : else -; 1101 : size_comment = (uInt)strlen(comment); - - 0005d 8b d8 mov ebx, eax - 0005f 8d 53 01 lea edx, DWORD PTR [ebx+1] -$LL58@zipOpenNew: - 00062 8a 03 mov al, BYTE PTR [ebx] - 00064 43 inc ebx - 00065 84 c0 test al, al - 00067 75 f9 jne SHORT $LL58@zipOpenNew - 00069 2b da sub ebx, edx -$LN61@zipOpenNew: - -; 1102 : -; 1103 : size_filename = (uInt)strlen(filename); - - 0006b 8b f9 mov edi, ecx - 0006d 89 5c 24 0c mov DWORD PTR _size_comment$1$[esp+32], ebx - 00071 8d 4f 01 lea ecx, DWORD PTR [edi+1] -$LL59@zipOpenNew: - 00074 8a 07 mov al, BYTE PTR [edi] - 00076 47 inc edi - 00077 84 c0 test al, al - 00079 75 f9 jne SHORT $LL59@zipOpenNew - -; 1104 : -; 1105 : if (zipfi == NULL) - - 0007b 8b 45 10 mov eax, DWORD PTR _zipfi$[ebp] - 0007e 2b f9 sub edi, ecx - 00080 85 c0 test eax, eax - 00082 75 08 jne SHORT $LN18@zipOpenNew - -; 1106 : zi->ci.dosDate = 0; - - 00084 89 86 a4 00 01 - 00 mov DWORD PTR [esi+65700], eax - 0008a eb 1c jmp SHORT $LN21@zipOpenNew -$LN18@zipOpenNew: - -; 1107 : else -; 1108 : { -; 1109 : if (zipfi->dosDate != 0) - - 0008c 8b 48 18 mov ecx, DWORD PTR [eax+24] - 0008f 85 c9 test ecx, ecx - 00091 74 08 je SHORT $LN20@zipOpenNew - -; 1110 : zi->ci.dosDate = zipfi->dosDate; - - 00093 89 8e a4 00 01 - 00 mov DWORD PTR [esi+65700], ecx - 00099 eb 0d jmp SHORT $LN21@zipOpenNew -$LN20@zipOpenNew: - -; 1111 : else -; 1112 : zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date); - - 0009b 8b c8 mov ecx, eax - 0009d e8 00 00 00 00 call _zip64local_TmzDateToDosDate - 000a2 89 86 a4 00 01 - 00 mov DWORD PTR [esi+65700], eax -$LN21@zipOpenNew: - -; 1113 : } -; 1114 : -; 1115 : zi->ci.flag = flagBase; -; 1116 : if ((level==8) || (level==9)) - - 000a8 8b 4d 2c mov ecx, DWORD PTR _level$[ebp] - 000ab 8b 45 4c mov eax, DWORD PTR _flagBase$[ebp] - 000ae 89 86 98 00 00 - 00 mov DWORD PTR [esi+152], eax - 000b4 83 f9 08 cmp ecx, 8 - 000b7 74 05 je SHORT $LN23@zipOpenNew - 000b9 83 f9 09 cmp ecx, 9 - 000bc 75 09 jne SHORT $LN22@zipOpenNew -$LN23@zipOpenNew: - -; 1117 : zi->ci.flag |= 2; - - 000be 83 c8 02 or eax, 2 - 000c1 89 86 98 00 00 - 00 mov DWORD PTR [esi+152], eax -$LN22@zipOpenNew: - -; 1118 : if (level==2) - - 000c7 83 f9 02 cmp ecx, 2 - 000ca 75 09 jne SHORT $LN24@zipOpenNew - -; 1119 : zi->ci.flag |= 4; - - 000cc 83 8e 98 00 00 - 00 04 or DWORD PTR [esi+152], 4 - -; 1120 : if (level==1) - - 000d3 eb 0c jmp SHORT $LN25@zipOpenNew -$LN24@zipOpenNew: - 000d5 83 f9 01 cmp ecx, 1 - 000d8 75 07 jne SHORT $LN25@zipOpenNew - -; 1121 : zi->ci.flag |= 6; - - 000da 83 8e 98 00 00 - 00 06 or DWORD PTR [esi+152], 6 -$LN25@zipOpenNew: - -; 1122 : if (password != NULL) - - 000e1 83 7d 40 00 cmp DWORD PTR _password$[ebp], 0 - 000e5 74 07 je SHORT $LN26@zipOpenNew - -; 1123 : zi->ci.flag |= 1; - - 000e7 83 8e 98 00 00 - 00 01 or DWORD PTR [esi+152], 1 -$LN26@zipOpenNew: - -; 1124 : -; 1125 : zi->ci.crc32 = 0; -; 1126 : zi->ci.method = method; - - 000ee 8b 45 28 mov eax, DWORD PTR _method$[ebp] - -; 1127 : zi->ci.encrypt = 0; -; 1128 : zi->ci.stream_initialised = 0; -; 1129 : zi->ci.pos_in_buffered_data = 0; -; 1130 : zi->ci.raw = raw; -; 1131 : zi->ci.pos_local_header = ZTELL64(zi->z_filefunc,zi->filestream); - - 000f1 8b ce mov ecx, esi - 000f3 8b 56 2c mov edx, DWORD PTR [esi+44] - 000f6 89 86 9c 00 00 - 00 mov DWORD PTR [esi+156], eax - 000fc 8b 45 30 mov eax, DWORD PTR _raw$[ebp] - 000ff c7 86 a8 00 01 - 00 00 00 00 00 mov DWORD PTR [esi+65704], 0 - 00109 c7 86 ac 00 01 - 00 00 00 00 00 mov DWORD PTR [esi+65708], 0 - 00113 c7 46 78 00 00 - 00 00 mov DWORD PTR [esi+120], 0 - 0011a c7 46 7c 00 00 - 00 00 mov DWORD PTR [esi+124], 0 - 00121 89 86 a0 00 00 - 00 mov DWORD PTR [esi+160], eax - 00127 e8 00 00 00 00 call _call_ztell64 - -; 1132 : -; 1133 : zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment; - - 0012c 8b 4d 20 mov ecx, DWORD PTR _size_extrafield_global$[ebp] - 0012f 89 86 80 00 00 - 00 mov DWORD PTR [esi+128], eax - 00135 83 c1 2e add ecx, 46 ; 0000002eH - 00138 8d 04 1f lea eax, DWORD PTR [edi+ebx] - 0013b 89 96 84 00 00 - 00 mov DWORD PTR [esi+132], edx - 00141 03 c1 add eax, ecx - -; 1134 : zi->ci.size_centralExtraFree = 32; // Extra space we have reserved in case we need to add ZIP64 extra info data - - 00143 c7 86 94 00 00 - 00 20 00 00 00 mov DWORD PTR [esi+148], 32 ; 00000020H - 0014d 89 86 90 00 00 - 00 mov DWORD PTR [esi+144], eax - -; 1135 : -; 1136 : zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralExtraFree); - - 00153 83 c0 20 add eax, 32 ; 00000020H - 00156 50 push eax - 00157 ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - -; 1137 : -; 1138 : zi->ci.size_centralExtra = size_extrafield_global; - - 0015d 8b 4d 20 mov ecx, DWORD PTR _size_extrafield_global$[ebp] - 00160 83 c4 04 add esp, 4 - 00163 89 8e 8c 00 00 - 00 mov DWORD PTR [esi+140], ecx - -; 1139 : zip64local_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4); - - 00169 ba 04 00 00 00 mov edx, 4 - 0016e 8b c8 mov ecx, eax - 00170 89 86 88 00 00 - 00 mov DWORD PTR [esi+136], eax - 00176 6a 00 push 0 - 00178 68 50 4b 01 02 push 33639248 ; 02014b50H - 0017d e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1140 : /* version info */ -; 1141 : zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2); - - 00182 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 00188 6a 00 push 0 - 0018a ff 75 48 push DWORD PTR _versionMadeBy$[ebp] - 0018d 03 ca add ecx, edx - 0018f ba 02 00 00 00 mov edx, 2 - 00194 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1142 : zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2); - - 00199 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 0019f 6a 00 push 0 - 001a1 6a 14 push 20 ; 00000014H - 001a3 83 c1 06 add ecx, 6 - 001a6 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1143 : zip64local_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2); - - 001ab 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 001b1 6a 00 push 0 - 001b3 ff b6 98 00 00 - 00 push DWORD PTR [esi+152] - 001b9 83 c1 08 add ecx, 8 - 001bc e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1144 : zip64local_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2); - - 001c1 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 001c7 6a 00 push 0 - 001c9 ff b6 9c 00 00 - 00 push DWORD PTR [esi+156] - 001cf 83 c1 0a add ecx, 10 ; 0000000aH - 001d2 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1145 : zip64local_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4); - - 001d7 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 001dd ba 04 00 00 00 mov edx, 4 - 001e2 6a 00 push 0 - 001e4 ff b6 a4 00 01 - 00 push DWORD PTR [esi+65700] - 001ea 83 c1 0c add ecx, 12 ; 0000000cH - 001ed e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1146 : zip64local_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/ - - 001f2 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 001f8 6a 00 push 0 - 001fa 6a 00 push 0 - 001fc 83 c1 10 add ecx, 16 ; 00000010H - 001ff e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1147 : zip64local_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/ - - 00204 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 0020a 6a 00 push 0 - 0020c 6a 00 push 0 - 0020e 83 c1 14 add ecx, 20 ; 00000014H - 00211 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1148 : zip64local_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/ - - 00216 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 0021c 83 c4 40 add esp, 64 ; 00000040H - 0021f 83 c1 18 add ecx, 24 ; 00000018H - 00222 6a 00 push 0 - 00224 6a 00 push 0 - 00226 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1149 : zip64local_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2); - - 0022b 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 00231 ba 02 00 00 00 mov edx, 2 - 00236 6a 00 push 0 - 00238 57 push edi - 00239 83 c1 1c add ecx, 28 ; 0000001cH - 0023c e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1150 : zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2); - - 00241 6a 00 push 0 - 00243 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 00249 ff 75 20 push DWORD PTR _size_extrafield_global$[ebp] - 0024c 83 c1 1e add ecx, 30 ; 0000001eH - 0024f e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1151 : zip64local_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2); - - 00254 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 0025a 6a 00 push 0 - 0025c 53 push ebx - 0025d 83 c1 20 add ecx, 32 ; 00000020H - 00260 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1152 : zip64local_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/ - - 00265 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 0026b 6a 00 push 0 - 0026d 6a 00 push 0 - 0026f 83 c1 22 add ecx, 34 ; 00000022H - 00272 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1153 : -; 1154 : if (zipfi==NULL) -; 1155 : zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2); - - 00277 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 0027d 83 c4 28 add esp, 40 ; 00000028H - 00280 8b 45 10 mov eax, DWORD PTR _zipfi$[ebp] - 00283 83 c1 24 add ecx, 36 ; 00000024H - 00286 6a 00 push 0 - 00288 85 c0 test eax, eax - 0028a 75 0c jne SHORT $LN27@zipOpenNew - 0028c 50 push eax - 0028d e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1158 : -; 1159 : if (zipfi==NULL) -; 1160 : zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4); - - 00292 6a 00 push 0 - 00294 6a 00 push 0 - 00296 eb 10 jmp SHORT $LN62@zipOpenNew -$LN27@zipOpenNew: - -; 1156 : else -; 1157 : zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2); - - 00298 ff 70 1c push DWORD PTR [eax+28] - 0029b e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1161 : else -; 1162 : zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4); - - 002a0 8b 45 10 mov eax, DWORD PTR _zipfi$[ebp] - 002a3 6a 00 push 0 - 002a5 ff 70 20 push DWORD PTR [eax+32] -$LN62@zipOpenNew: - 002a8 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 002ae ba 04 00 00 00 mov edx, 4 - 002b3 83 c1 26 add ecx, 38 ; 00000026H - 002b6 e8 00 00 00 00 call _zip64local_putValue_inmemory - 002bb 83 c4 10 add esp, 16 ; 00000010H - -; 1163 : -; 1164 : if(zi->ci.pos_local_header >= 0xffffffff) - - 002be 83 be 84 00 00 - 00 00 cmp DWORD PTR [esi+132], 0 - 002c5 77 21 ja SHORT $LN60@zipOpenNew - 002c7 83 be 80 00 00 - 00 ff cmp DWORD PTR [esi+128], -1 - 002ce 73 18 jae SHORT $LN60@zipOpenNew - -; 1166 : else -; 1167 : zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header - zi->add_position_when_writting_offset,4); - - 002d0 8b 8e 80 00 00 - 00 mov ecx, DWORD PTR [esi+128] - 002d6 33 c0 xor eax, eax - 002d8 2b 8e f0 00 01 - 00 sub ecx, DWORD PTR [esi+65776] - 002de 1b 86 f4 00 01 - 00 sbb eax, DWORD PTR [esi+65780] - 002e4 50 push eax - 002e5 51 push ecx - 002e6 eb 04 jmp SHORT $LN63@zipOpenNew -$LN60@zipOpenNew: - -; 1165 : zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)0xffffffff,4); - - 002e8 6a 00 push 0 - 002ea 6a ff push -1 -$LN63@zipOpenNew: - 002ec 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 002f2 ba 04 00 00 00 mov edx, 4 - 002f7 83 c1 2a add ecx, 42 ; 0000002aH - 002fa e8 00 00 00 00 call _zip64local_putValue_inmemory - 002ff 83 c4 08 add esp, 8 - -; 1168 : -; 1169 : for (i=0;ici.central_header+SIZECENTRALHEADER+i) = *(filename+i); - - 00310 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 00316 8a 04 1a mov al, BYTE PTR [edx+ebx] - 00319 88 44 11 2e mov BYTE PTR [ecx+edx+46], al - 0031d 42 inc edx - 0031e 3b d7 cmp edx, edi - 00320 72 ee jb SHORT $LL4@zipOpenNew - 00322 8b 5c 24 0c mov ebx, DWORD PTR _size_comment$1$[esp+32] -$LN3@zipOpenNew: - -; 1171 : -; 1172 : for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+i) = - - 00330 8b 45 1c mov eax, DWORD PTR _extrafield_global$[ebp] - 00333 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 00339 03 ca add ecx, edx - 0033b 8a 04 02 mov al, BYTE PTR [edx+eax] - 0033e 42 inc edx - 0033f 88 44 39 2e mov BYTE PTR [ecx+edi+46], al - 00343 3b d3 cmp edx, ebx - 00345 72 e9 jb SHORT $LL7@zipOpenNew - 00347 8b 5c 24 0c mov ebx, DWORD PTR _size_comment$1$[esp+32] -$LN6@zipOpenNew: - -; 1174 : *(((const char*)extrafield_global)+i); -; 1175 : -; 1176 : for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+ -; 1178 : size_extrafield_global+i) = *(comment+i); - - 00351 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 00357 8b 45 24 mov eax, DWORD PTR _comment$[ebp] - 0035a 03 ca add ecx, edx - 0035c 8b 75 20 mov esi, DWORD PTR _size_extrafield_global$[ebp] - 0035f 03 cf add ecx, edi - 00361 8a 04 02 mov al, BYTE PTR [edx+eax] - 00364 42 inc edx - 00365 88 44 31 2e mov BYTE PTR [ecx+esi+46], al - 00369 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 0036c 3b d3 cmp edx, ebx - 0036e 72 e1 jb SHORT $LL10@zipOpenNew -$LN9@zipOpenNew: - -; 1179 : if (zi->ci.central_header == NULL) - - 00370 83 be 88 00 00 - 00 00 cmp DWORD PTR [esi+136], 0 - 00377 75 0e jne SHORT $LN33@zipOpenNew - -; 1180 : return ZIP_INTERNALERROR; - - 00379 b8 98 ff ff ff mov eax, -104 ; ffffff98H - -; 1263 : } - - 0037e 5f pop edi - 0037f 5e pop esi - 00380 5b pop ebx - 00381 8b e5 mov esp, ebp - 00383 5d pop ebp - 00384 c2 4c 00 ret 76 ; 0000004cH -$LN33@zipOpenNew: - -; 1181 : -; 1182 : zi->ci.zip64 = zip64; -; 1183 : zi->ci.totalCompressedData = 0; -; 1184 : zi->ci.totalUncompressedData = 0; -; 1185 : zi->ci.pos_zip64extrainfo = 0; -; 1186 : -; 1187 : err = Write_LocalFileHeader(zi, filename, size_extrafield_local, extrafield_local); - - 00387 ff 75 14 push DWORD PTR _extrafield_local$[ebp] - 0038a 8b 45 50 mov eax, DWORD PTR _zip64$[ebp] - 0038d 8b ce mov ecx, esi - 0038f ff 75 18 push DWORD PTR _size_extrafield_local$[ebp] - 00392 8b 54 24 18 mov edx, DWORD PTR _filename$2$[esp+40] - 00396 89 86 b0 00 01 - 00 mov DWORD PTR [esi+65712], eax - 0039c c7 86 c0 00 01 - 00 00 00 00 00 mov DWORD PTR [esi+65728], 0 - 003a6 c7 86 c4 00 01 - 00 00 00 00 00 mov DWORD PTR [esi+65732], 0 - 003b0 c7 86 c8 00 01 - 00 00 00 00 00 mov DWORD PTR [esi+65736], 0 - 003ba c7 86 cc 00 01 - 00 00 00 00 00 mov DWORD PTR [esi+65740], 0 - 003c4 c7 86 b8 00 01 - 00 00 00 00 00 mov DWORD PTR [esi+65720], 0 - 003ce c7 86 bc 00 01 - 00 00 00 00 00 mov DWORD PTR [esi+65724], 0 - 003d8 e8 00 00 00 00 call _Write_LocalFileHeader - 003dd 8b d8 mov ebx, eax - -; 1188 : -; 1189 : #ifdef HAVE_BZIP2 -; 1190 : zi->ci.bstream.avail_in = (uInt)0; -; 1191 : zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; -; 1192 : zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; -; 1193 : zi->ci.bstream.total_in_hi32 = 0; -; 1194 : zi->ci.bstream.total_in_lo32 = 0; -; 1195 : zi->ci.bstream.total_out_hi32 = 0; -; 1196 : zi->ci.bstream.total_out_lo32 = 0; -; 1197 : #endif -; 1198 : -; 1199 : zi->ci.stream.avail_in = (uInt)0; - - 003df c7 46 44 00 00 - 00 00 mov DWORD PTR [esi+68], 0 - 003e6 83 c4 08 add esp, 8 - -; 1200 : zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; - - 003e9 c7 46 50 00 00 - 01 00 mov DWORD PTR [esi+80], 65536 ; 00010000H - -; 1201 : zi->ci.stream.next_out = zi->ci.buffered_data; -; 1202 : zi->ci.stream.total_in = 0; - - 003f0 c7 46 48 00 00 - 00 00 mov DWORD PTR [esi+72], 0 - 003f7 8d 8e a4 00 00 - 00 lea ecx, DWORD PTR [esi+164] - 003fd 89 4e 4c mov DWORD PTR [esi+76], ecx - -; 1203 : zi->ci.stream.total_out = 0; - - 00400 c7 46 54 00 00 - 00 00 mov DWORD PTR [esi+84], 0 - -; 1204 : zi->ci.stream.data_type = Z_BINARY; - - 00407 c7 46 6c 00 00 - 00 00 mov DWORD PTR [esi+108], 0 - -; 1205 : -; 1206 : #ifdef HAVE_BZIP2 -; 1207 : if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED || zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) -; 1208 : #else -; 1209 : if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - - 0040e 85 db test ebx, ebx - 00410 75 4c jne SHORT $LN38@zipOpenNew - 00412 83 be 9c 00 00 - 00 08 cmp DWORD PTR [esi+156], 8 - 00419 75 43 jne SHORT $LN38@zipOpenNew - 0041b 39 86 a0 00 00 - 00 cmp DWORD PTR [esi+160], eax - 00421 75 3b jne SHORT $LN38@zipOpenNew - -; 1210 : #endif -; 1211 : { -; 1212 : if(zi->ci.method == Z_DEFLATED) -; 1213 : { -; 1214 : zi->ci.stream.zalloc = (alloc_func)0; - - 00423 89 46 60 mov DWORD PTR [esi+96], eax - -; 1215 : zi->ci.stream.zfree = (free_func)0; - - 00426 89 46 64 mov DWORD PTR [esi+100], eax - -; 1216 : zi->ci.stream.opaque = (voidpf)0; - - 00429 89 46 68 mov DWORD PTR [esi+104], eax - -; 1217 : -; 1218 : if (windowBits>0) - - 0042c 8b 45 34 mov eax, DWORD PTR _windowBits$[ebp] - 0042f 85 c0 test eax, eax - 00431 7e 02 jle SHORT $LN37@zipOpenNew - -; 1219 : windowBits = -windowBits; - - 00433 f7 d8 neg eax -$LN37@zipOpenNew: - -; 1220 : -; 1221 : err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy); - - 00435 6a 38 push 56 ; 00000038H - 00437 68 00 00 00 00 push OFFSET ??_C@_05IAIEPMAK@1?42?48?$AA@ - 0043c ff 75 3c push DWORD PTR _strategy$[ebp] - 0043f ff 75 38 push DWORD PTR _memLevel$[ebp] - 00442 50 push eax - 00443 6a 08 push 8 - 00445 ff 75 2c push DWORD PTR _level$[ebp] - 00448 8d 46 40 lea eax, DWORD PTR [esi+64] - 0044b 50 push eax - 0044c e8 00 00 00 00 call _deflateInit2_@32 - 00451 8b d8 mov ebx, eax - -; 1222 : -; 1223 : if (err==Z_OK) - - 00453 85 db test ebx, ebx - 00455 75 07 jne SHORT $LN38@zipOpenNew - -; 1224 : zi->ci.stream_initialised = Z_DEFLATED; - - 00457 c7 46 78 08 00 - 00 00 mov DWORD PTR [esi+120], 8 -$LN38@zipOpenNew: - -; 1225 : } -; 1226 : else if(zi->ci.method == Z_BZIP2ED) -; 1227 : { -; 1228 : #ifdef HAVE_BZIP2 -; 1229 : // Init BZip stuff here -; 1230 : zi->ci.bstream.bzalloc = 0; -; 1231 : zi->ci.bstream.bzfree = 0; -; 1232 : zi->ci.bstream.opaque = (voidpf)0; -; 1233 : -; 1234 : err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0,35); -; 1235 : if(err == BZ_OK) -; 1236 : zi->ci.stream_initialised = Z_BZIP2ED; -; 1237 : #endif -; 1238 : } -; 1239 : -; 1240 : } -; 1241 : -; 1242 : # ifndef NOCRYPT -; 1243 : zi->ci.crypt_header_size = 0; - - 0045e c7 86 e0 00 01 - 00 00 00 00 00 mov DWORD PTR [esi+65760], 0 - -; 1244 : if ((err==Z_OK) && (password != NULL)) - - 00468 85 db test ebx, ebx - 0046a 75 68 jne SHORT $LN42@zipOpenNew - 0046c 8b 7d 40 mov edi, DWORD PTR _password$[ebp] - 0046f 85 ff test edi, edi - 00471 74 5a je SHORT $LN57@zipOpenNew - -; 1245 : { -; 1246 : unsigned char bufHead[RAND_HEAD_LEN]; -; 1247 : unsigned int sizeHead; -; 1248 : zi->ci.encrypt = 1; - - 00473 c7 86 ac 00 01 - 00 01 00 00 00 mov DWORD PTR [esi+65708], 1 - -; 1249 : zi->ci.pcrc_32_tab = get_crc_table(); - - 0047d e8 00 00 00 00 call _get_crc_table@0 - -; 1250 : /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/ -; 1251 : -; 1252 : sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting); - - 00482 ff 75 44 push DWORD PTR _crcForCrypting$[ebp] - 00485 89 86 dc 00 01 - 00 mov DWORD PTR [esi+65756], eax - 0048b 8d 54 24 18 lea edx, DWORD PTR _bufHead$1[esp+36] - 0048f 50 push eax - 00490 8d 86 d0 00 01 - 00 lea eax, DWORD PTR [esi+65744] - 00496 50 push eax - 00497 51 push ecx - 00498 8b cf mov ecx, edi - 0049a e8 00 00 00 00 call _crypthead - -; 1253 : zi->ci.crypt_header_size = sizeHead; -; 1254 : -; 1255 : if (ZWRITE64(zi->z_filefunc,zi->filestream,bufHead,sizeHead) != sizeHead) - - 0049f 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 004a2 8b f8 mov edi, eax - 004a4 57 push edi - 004a5 8d 44 24 28 lea eax, DWORD PTR _bufHead$1[esp+52] - 004a9 89 be e0 00 01 - 00 mov DWORD PTR [esi+65760], edi - 004af 50 push eax - 004b0 ff 76 2c push DWORD PTR [esi+44] - 004b3 ff 76 1c push DWORD PTR [esi+28] - 004b6 ff d1 call ecx - 004b8 83 c4 20 add esp, 32 ; 00000020H - 004bb 3b c7 cmp eax, edi - 004bd 74 0e je SHORT $LN57@zipOpenNew - -; 1256 : err = ZIP_ERRNO; - - 004bf 83 cb ff or ebx, -1 - -; 1262 : return err; - - 004c2 8b c3 mov eax, ebx - -; 1263 : } - - 004c4 5f pop edi - 004c5 5e pop esi - 004c6 5b pop ebx - 004c7 8b e5 mov esp, ebp - 004c9 5d pop ebp - 004ca c2 4c 00 ret 76 ; 0000004cH -$LN57@zipOpenNew: - -; 1257 : } -; 1258 : # endif -; 1259 : -; 1260 : if (err==Z_OK) -; 1261 : zi->in_opened_file_inzip = 1; - - 004cd c7 46 38 01 00 - 00 00 mov DWORD PTR [esi+56], 1 -$LN42@zipOpenNew: - -; 1262 : return err; - - 004d4 8b c3 mov eax, ebx -$LN1@zipOpenNew: - -; 1263 : } - - 004d6 5f pop edi - 004d7 5e pop esi - 004d8 5b pop ebx - 004d9 8b e5 mov esp, ebp - 004db 5d pop ebp - 004dc c2 4c 00 ret 76 ; 0000004cH -_zipOpenNewFileInZip4_64@76 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpenNewFileInZip3@64 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_raw$ = 48 ; size = 4 -_windowBits$ = 52 ; size = 4 -_memLevel$ = 56 ; size = 4 -_strategy$ = 60 ; size = 4 -_password$ = 64 ; size = 4 -_crcForCrypting$ = 68 ; size = 4 -_zipOpenNewFileInZip3@64 PROC ; COMDAT - -; 1287 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1288 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, - - 00003 6a 00 push 0 - 00005 6a 00 push 0 - 00007 6a 00 push 0 - 00009 ff 75 44 push DWORD PTR _crcForCrypting$[ebp] - 0000c ff 75 40 push DWORD PTR _password$[ebp] - 0000f ff 75 3c push DWORD PTR _strategy$[ebp] - 00012 ff 75 38 push DWORD PTR _memLevel$[ebp] - 00015 ff 75 34 push DWORD PTR _windowBits$[ebp] - 00018 ff 75 30 push DWORD PTR _raw$[ebp] - 0001b ff 75 2c push DWORD PTR _level$[ebp] - 0001e ff 75 28 push DWORD PTR _method$[ebp] - 00021 ff 75 24 push DWORD PTR _comment$[ebp] - 00024 ff 75 20 push DWORD PTR _size_extrafield_global$[ebp] - 00027 ff 75 1c push DWORD PTR _extrafield_global$[ebp] - 0002a ff 75 18 push DWORD PTR _size_extrafield_local$[ebp] - 0002d ff 75 14 push DWORD PTR _extrafield_local$[ebp] - 00030 ff 75 10 push DWORD PTR _zipfi$[ebp] - 00033 ff 75 0c push DWORD PTR _filename$[ebp] - 00036 ff 75 08 push DWORD PTR _file$[ebp] - 00039 e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1289 : extrafield_local, size_extrafield_local, -; 1290 : extrafield_global, size_extrafield_global, -; 1291 : comment, method, level, raw, -; 1292 : windowBits, memLevel, strategy, -; 1293 : password, crcForCrypting, VERSIONMADEBY, 0, 0); -; 1294 : } - - 0003e 5d pop ebp - 0003f c2 40 00 ret 64 ; 00000040H -_zipOpenNewFileInZip3@64 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpenNewFileInZip3_64@68 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_raw$ = 48 ; size = 4 -_windowBits$ = 52 ; size = 4 -_memLevel$ = 56 ; size = 4 -_strategy$ = 60 ; size = 4 -_password$ = 64 ; size = 4 -_crcForCrypting$ = 68 ; size = 4 -_zip64$ = 72 ; size = 4 -_zipOpenNewFileInZip3_64@68 PROC ; COMDAT - -; 1302 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1303 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, - - 00003 ff 75 48 push DWORD PTR _zip64$[ebp] - 00006 6a 00 push 0 - 00008 6a 00 push 0 - 0000a ff 75 44 push DWORD PTR _crcForCrypting$[ebp] - 0000d ff 75 40 push DWORD PTR _password$[ebp] - 00010 ff 75 3c push DWORD PTR _strategy$[ebp] - 00013 ff 75 38 push DWORD PTR _memLevel$[ebp] - 00016 ff 75 34 push DWORD PTR _windowBits$[ebp] - 00019 ff 75 30 push DWORD PTR _raw$[ebp] - 0001c ff 75 2c push DWORD PTR _level$[ebp] - 0001f ff 75 28 push DWORD PTR _method$[ebp] - 00022 ff 75 24 push DWORD PTR _comment$[ebp] - 00025 ff 75 20 push DWORD PTR _size_extrafield_global$[ebp] - 00028 ff 75 1c push DWORD PTR _extrafield_global$[ebp] - 0002b ff 75 18 push DWORD PTR _size_extrafield_local$[ebp] - 0002e ff 75 14 push DWORD PTR _extrafield_local$[ebp] - 00031 ff 75 10 push DWORD PTR _zipfi$[ebp] - 00034 ff 75 0c push DWORD PTR _filename$[ebp] - 00037 ff 75 08 push DWORD PTR _file$[ebp] - 0003a e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1304 : extrafield_local, size_extrafield_local, -; 1305 : extrafield_global, size_extrafield_global, -; 1306 : comment, method, level, raw, -; 1307 : windowBits, memLevel, strategy, -; 1308 : password, crcForCrypting, VERSIONMADEBY, 0, zip64); -; 1309 : } - - 0003f 5d pop ebp - 00040 c2 44 00 ret 68 ; 00000044H -_zipOpenNewFileInZip3_64@68 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpenNewFileInZip2@44 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_raw$ = 48 ; size = 4 -_zipOpenNewFileInZip2@44 PROC ; COMDAT - -; 1315 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1316 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, - - 00003 6a 00 push 0 - 00005 6a 00 push 0 - 00007 6a 00 push 0 - 00009 6a 00 push 0 - 0000b 6a 00 push 0 - 0000d 6a 00 push 0 - 0000f 6a 08 push 8 - 00011 6a f1 push -15 ; fffffff1H - 00013 ff 75 30 push DWORD PTR _raw$[ebp] - 00016 ff 75 2c push DWORD PTR _level$[ebp] - 00019 ff 75 28 push DWORD PTR _method$[ebp] - 0001c ff 75 24 push DWORD PTR _comment$[ebp] - 0001f ff 75 20 push DWORD PTR _size_extrafield_global$[ebp] - 00022 ff 75 1c push DWORD PTR _extrafield_global$[ebp] - 00025 ff 75 18 push DWORD PTR _size_extrafield_local$[ebp] - 00028 ff 75 14 push DWORD PTR _extrafield_local$[ebp] - 0002b ff 75 10 push DWORD PTR _zipfi$[ebp] - 0002e ff 75 0c push DWORD PTR _filename$[ebp] - 00031 ff 75 08 push DWORD PTR _file$[ebp] - 00034 e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1317 : extrafield_local, size_extrafield_local, -; 1318 : extrafield_global, size_extrafield_global, -; 1319 : comment, method, level, raw, -; 1320 : -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, -; 1321 : NULL, 0, VERSIONMADEBY, 0, 0); -; 1322 : } - - 00039 5d pop ebp - 0003a c2 2c 00 ret 44 ; 0000002cH -_zipOpenNewFileInZip2@44 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpenNewFileInZip2_64@48 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_raw$ = 48 ; size = 4 -_zip64$ = 52 ; size = 4 -_zipOpenNewFileInZip2_64@48 PROC ; COMDAT - -; 1328 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1329 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, - - 00003 ff 75 34 push DWORD PTR _zip64$[ebp] - 00006 6a 00 push 0 - 00008 6a 00 push 0 - 0000a 6a 00 push 0 - 0000c 6a 00 push 0 - 0000e 6a 00 push 0 - 00010 6a 08 push 8 - 00012 6a f1 push -15 ; fffffff1H - 00014 ff 75 30 push DWORD PTR _raw$[ebp] - 00017 ff 75 2c push DWORD PTR _level$[ebp] - 0001a ff 75 28 push DWORD PTR _method$[ebp] - 0001d ff 75 24 push DWORD PTR _comment$[ebp] - 00020 ff 75 20 push DWORD PTR _size_extrafield_global$[ebp] - 00023 ff 75 1c push DWORD PTR _extrafield_global$[ebp] - 00026 ff 75 18 push DWORD PTR _size_extrafield_local$[ebp] - 00029 ff 75 14 push DWORD PTR _extrafield_local$[ebp] - 0002c ff 75 10 push DWORD PTR _zipfi$[ebp] - 0002f ff 75 0c push DWORD PTR _filename$[ebp] - 00032 ff 75 08 push DWORD PTR _file$[ebp] - 00035 e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1330 : extrafield_local, size_extrafield_local, -; 1331 : extrafield_global, size_extrafield_global, -; 1332 : comment, method, level, raw, -; 1333 : -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, -; 1334 : NULL, 0, VERSIONMADEBY, 0, zip64); -; 1335 : } - - 0003a 5d pop ebp - 0003b c2 30 00 ret 48 ; 00000030H -_zipOpenNewFileInZip2_64@48 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpenNewFileInZip64@44 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_zip64$ = 48 ; size = 4 -_zipOpenNewFileInZip64@44 PROC ; COMDAT - -; 1341 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1342 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, - - 00003 ff 75 30 push DWORD PTR _zip64$[ebp] - 00006 6a 00 push 0 - 00008 6a 00 push 0 - 0000a 6a 00 push 0 - 0000c 6a 00 push 0 - 0000e 6a 00 push 0 - 00010 6a 08 push 8 - 00012 6a f1 push -15 ; fffffff1H - 00014 6a 00 push 0 - 00016 ff 75 2c push DWORD PTR _level$[ebp] - 00019 ff 75 28 push DWORD PTR _method$[ebp] - 0001c ff 75 24 push DWORD PTR _comment$[ebp] - 0001f ff 75 20 push DWORD PTR _size_extrafield_global$[ebp] - 00022 ff 75 1c push DWORD PTR _extrafield_global$[ebp] - 00025 ff 75 18 push DWORD PTR _size_extrafield_local$[ebp] - 00028 ff 75 14 push DWORD PTR _extrafield_local$[ebp] - 0002b ff 75 10 push DWORD PTR _zipfi$[ebp] - 0002e ff 75 0c push DWORD PTR _filename$[ebp] - 00031 ff 75 08 push DWORD PTR _file$[ebp] - 00034 e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1343 : extrafield_local, size_extrafield_local, -; 1344 : extrafield_global, size_extrafield_global, -; 1345 : comment, method, level, 0, -; 1346 : -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, -; 1347 : NULL, 0, VERSIONMADEBY, 0, zip64); -; 1348 : } - - 00039 5d pop ebp - 0003a c2 2c 00 ret 44 ; 0000002cH -_zipOpenNewFileInZip64@44 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipOpenNewFileInZip@40 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_zipOpenNewFileInZip@40 PROC ; COMDAT - -; 1354 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1355 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, - - 00003 6a 00 push 0 - 00005 6a 00 push 0 - 00007 6a 00 push 0 - 00009 6a 00 push 0 - 0000b 6a 00 push 0 - 0000d 6a 00 push 0 - 0000f 6a 08 push 8 - 00011 6a f1 push -15 ; fffffff1H - 00013 6a 00 push 0 - 00015 ff 75 2c push DWORD PTR _level$[ebp] - 00018 ff 75 28 push DWORD PTR _method$[ebp] - 0001b ff 75 24 push DWORD PTR _comment$[ebp] - 0001e ff 75 20 push DWORD PTR _size_extrafield_global$[ebp] - 00021 ff 75 1c push DWORD PTR _extrafield_global$[ebp] - 00024 ff 75 18 push DWORD PTR _size_extrafield_local$[ebp] - 00027 ff 75 14 push DWORD PTR _extrafield_local$[ebp] - 0002a ff 75 10 push DWORD PTR _zipfi$[ebp] - 0002d ff 75 0c push DWORD PTR _filename$[ebp] - 00030 ff 75 08 push DWORD PTR _file$[ebp] - 00033 e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1356 : extrafield_local, size_extrafield_local, -; 1357 : extrafield_global, size_extrafield_global, -; 1358 : comment, method, level, 0, -; 1359 : -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, -; 1360 : NULL, 0, VERSIONMADEBY, 0, 0); -; 1361 : } - - 00038 5d pop ebp - 00039 c2 28 00 ret 40 ; 00000028H -_zipOpenNewFileInZip@40 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zip64FlushWriteBuffer -_TEXT SEGMENT -tv237 = -4 ; size = 4 -_zip64FlushWriteBuffer PROC ; COMDAT -; _zi$ = ecx - -; 1364 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 8b f1 mov esi, ecx - -; 1365 : int err=ZIP_OK; - - 00008 33 db xor ebx, ebx - 0000a 57 push edi - -; 1366 : -; 1367 : if (zi->ci.encrypt != 0) - - 0000b 39 9e ac 00 01 - 00 cmp DWORD PTR [esi+65708], ebx - 00011 74 53 je SHORT $LN3@zip64Flush - -; 1368 : { -; 1369 : #ifndef NOCRYPT -; 1370 : uInt i; -; 1371 : int t; -; 1372 : for (i=0;ici.pos_in_buffered_data;i++) - - 00013 39 5e 7c cmp DWORD PTR [esi+124], ebx - 00016 76 4e jbe SHORT $LN3@zip64Flush - 00018 b9 5c ff ff ff mov ecx, -164 ; ffffff5cH - 0001d 8d 86 d0 00 01 - 00 lea eax, DWORD PTR [esi+65744] - 00023 2b ce sub ecx, esi - 00025 8d be a4 00 00 - 00 lea edi, DWORD PTR [esi+164] - 0002b 89 4d fc mov DWORD PTR tv237[ebp], ecx - 0002e 66 90 npad 2 -$LL4@zip64Flush: - -; 1373 : zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t); - - 00030 8b c8 mov ecx, eax - 00032 e8 00 00 00 00 call _decrypt_byte - 00037 0f b6 0f movzx ecx, BYTE PTR [edi] - 0003a 8b d8 mov ebx, eax - 0003c 8b 96 dc 00 01 - 00 mov edx, DWORD PTR [esi+65756] - 00042 51 push ecx - 00043 8d 8e d0 00 01 - 00 lea ecx, DWORD PTR [esi+65744] - 00049 e8 00 00 00 00 call _update_keys - 0004e 30 1f xor BYTE PTR [edi], bl - 00050 83 c4 04 add esp, 4 - 00053 8b 45 fc mov eax, DWORD PTR tv237[ebp] - 00056 47 inc edi - 00057 03 c7 add eax, edi - 00059 3b 46 7c cmp eax, DWORD PTR [esi+124] - 0005c 8d 86 d0 00 01 - 00 lea eax, DWORD PTR [esi+65744] - 00062 72 cc jb SHORT $LL4@zip64Flush - 00064 33 db xor ebx, ebx -$LN3@zip64Flush: - -; 1374 : #endif -; 1375 : } -; 1376 : -; 1377 : if (ZWRITE64(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) != zi->ci.pos_in_buffered_data) - - 00066 8b 7e 7c mov edi, DWORD PTR [esi+124] - 00069 8d 86 a4 00 00 - 00 lea eax, DWORD PTR [esi+164] - 0006f 57 push edi - 00070 50 push eax - 00071 ff 76 2c push DWORD PTR [esi+44] - 00074 8b 46 08 mov eax, DWORD PTR [esi+8] - 00077 ff 76 1c push DWORD PTR [esi+28] - 0007a ff d0 call eax - 0007c 83 c4 10 add esp, 16 ; 00000010H - -; 1378 : err = ZIP_ERRNO; -; 1379 : -; 1380 : zi->ci.totalCompressedData += zi->ci.pos_in_buffered_data; -; 1381 : -; 1382 : #ifdef HAVE_BZIP2 -; 1383 : if(zi->ci.method == Z_BZIP2ED) -; 1384 : { -; 1385 : zi->ci.totalUncompressedData += zi->ci.bstream.total_in_lo32; -; 1386 : zi->ci.bstream.total_in_lo32 = 0; -; 1387 : zi->ci.bstream.total_in_hi32 = 0; -; 1388 : } -; 1389 : else -; 1390 : #endif -; 1391 : { -; 1392 : zi->ci.totalUncompressedData += zi->ci.stream.total_in; -; 1393 : zi->ci.stream.total_in = 0; -; 1394 : } -; 1395 : -; 1396 : -; 1397 : zi->ci.pos_in_buffered_data = 0; - - 0007f c7 46 7c 00 00 - 00 00 mov DWORD PTR [esi+124], 0 - 00086 83 c9 ff or ecx, -1 - 00089 3b c7 cmp eax, edi - 0008b 0f 45 d9 cmovne ebx, ecx - 0008e 01 be c0 00 01 - 00 add DWORD PTR [esi+65728], edi - 00094 8b 4e 48 mov ecx, DWORD PTR [esi+72] - -; 1398 : -; 1399 : return err; - - 00097 8b c3 mov eax, ebx - 00099 83 96 c4 00 01 - 00 00 adc DWORD PTR [esi+65732], 0 - 000a0 01 8e c8 00 01 - 00 add DWORD PTR [esi+65736], ecx - 000a6 5f pop edi - 000a7 83 96 cc 00 01 - 00 00 adc DWORD PTR [esi+65740], 0 - 000ae c7 46 48 00 00 - 00 00 mov DWORD PTR [esi+72], 0 - 000b5 5e pop esi - 000b6 5b pop ebx - -; 1400 : } - - 000b7 8b e5 mov esp, ebp - 000b9 5d pop ebp - 000ba c3 ret 0 -_zip64FlushWriteBuffer ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipWriteInFileInZip@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_len$ = 16 ; size = 4 -_zipWriteInFileInZip@12 PROC ; COMDAT - -; 1403 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 1404 : zip64_internal* zi; -; 1405 : int err=ZIP_OK; -; 1406 : -; 1407 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 0a jne SHORT $LN7@zipWriteIn -$LN29@zipWriteIn: - -; 1408 : return ZIP_PARAMERROR; - - 0000b b8 9a ff ff ff mov eax, -102 ; ffffff9aH - 00010 5e pop esi - -; 1507 : } - - 00011 5d pop ebp - 00012 c2 0c 00 ret 12 ; 0000000cH -$LN7@zipWriteIn: - -; 1409 : zi = (zip64_internal*)file; -; 1410 : -; 1411 : if (zi->in_opened_file_inzip == 0) - - 00015 83 7e 38 00 cmp DWORD PTR [esi+56], 0 - 00019 74 f0 je SHORT $LN29@zipWriteIn - -; 1412 : return ZIP_PARAMERROR; -; 1413 : -; 1414 : zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len); - - 0001b 53 push ebx - 0001c 8b 5d 10 mov ebx, DWORD PTR _len$[ebp] - 0001f 57 push edi - 00020 8b 7d 0c mov edi, DWORD PTR _buf$[ebp] - 00023 53 push ebx - 00024 57 push edi - 00025 ff b6 a8 00 01 - 00 push DWORD PTR [esi+65704] - 0002b e8 00 00 00 00 call _crc32@12 - -; 1415 : -; 1416 : #ifdef HAVE_BZIP2 -; 1417 : if(zi->ci.method == Z_BZIP2ED && (!zi->ci.raw)) -; 1418 : { -; 1419 : zi->ci.bstream.next_in = (void*)buf; -; 1420 : zi->ci.bstream.avail_in = len; -; 1421 : err = BZ_RUN_OK; -; 1422 : -; 1423 : while ((err==BZ_RUN_OK) && (zi->ci.bstream.avail_in>0)) -; 1424 : { -; 1425 : if (zi->ci.bstream.avail_out == 0) -; 1426 : { -; 1427 : if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) -; 1428 : err = ZIP_ERRNO; -; 1429 : zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; -; 1430 : zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; -; 1431 : } -; 1432 : -; 1433 : -; 1434 : if(err != BZ_RUN_OK) -; 1435 : break; -; 1436 : -; 1437 : if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) -; 1438 : { -; 1439 : uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32; -; 1440 : // uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32; -; 1441 : err=BZ2_bzCompress(&zi->ci.bstream, BZ_RUN); -; 1442 : -; 1443 : zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo) ; -; 1444 : } -; 1445 : } -; 1446 : -; 1447 : if(err == BZ_RUN_OK) -; 1448 : err = ZIP_OK; -; 1449 : } -; 1450 : else -; 1451 : #endif -; 1452 : { -; 1453 : zi->ci.stream.next_in = (Bytef*)buf; - - 00030 8d 4e 40 lea ecx, DWORD PTR [esi+64] - -; 1454 : zi->ci.stream.avail_in = len; - - 00033 89 5e 44 mov DWORD PTR [esi+68], ebx - 00036 89 39 mov DWORD PTR [ecx], edi - 00038 83 cf ff or edi, -1 - 0003b 89 86 a8 00 01 - 00 mov DWORD PTR [esi+65704], eax - 00041 33 db xor ebx, ebx -$LL2@zipWriteIn: - -; 1455 : -; 1456 : while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0)) - - 00043 83 7e 44 00 cmp DWORD PTR [esi+68], 0 - 00047 0f 86 9d 00 00 - 00 jbe $LN28@zipWriteIn - -; 1457 : { -; 1458 : if (zi->ci.stream.avail_out == 0) - - 0004d 83 7e 50 00 cmp DWORD PTR [esi+80], 0 - 00051 75 20 jne SHORT $LN9@zipWriteIn - -; 1459 : { -; 1460 : if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - - 00053 8b ce mov ecx, esi - 00055 e8 00 00 00 00 call _zip64FlushWriteBuffer - 0005a 83 f8 ff cmp eax, -1 - -; 1461 : err = ZIP_ERRNO; -; 1462 : zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; - - 0005d c7 46 50 00 00 - 01 00 mov DWORD PTR [esi+80], 65536 ; 00010000H - -; 1463 : zi->ci.stream.next_out = zi->ci.buffered_data; - - 00064 8d 86 a4 00 00 - 00 lea eax, DWORD PTR [esi+164] - 0006a 0f 44 df cmove ebx, edi - 0006d 89 46 4c mov DWORD PTR [esi+76], eax - 00070 8d 4e 40 lea ecx, DWORD PTR [esi+64] -$LN9@zipWriteIn: - -; 1464 : } -; 1465 : -; 1466 : -; 1467 : if(err != ZIP_OK) - - 00073 85 db test ebx, ebx - 00075 75 73 jne SHORT $LN28@zipWriteIn - -; 1468 : break; -; 1469 : -; 1470 : if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - - 00077 83 be 9c 00 00 - 00 08 cmp DWORD PTR [esi+156], 8 - 0007e 75 28 jne SHORT $LN12@zipWriteIn - 00080 39 9e a0 00 00 - 00 cmp DWORD PTR [esi+160], ebx - 00086 75 20 jne SHORT $LN12@zipWriteIn - -; 1471 : { -; 1472 : uLong uTotalOutBefore = zi->ci.stream.total_out; - - 00088 8b 7e 54 mov edi, DWORD PTR [esi+84] - -; 1473 : err=deflate(&zi->ci.stream, Z_NO_FLUSH); - - 0008b 53 push ebx - 0008c 51 push ecx - 0008d e8 00 00 00 00 call _deflate@8 - -; 1474 : if(uTotalOutBefore > zi->ci.stream.total_out) -; 1475 : { -; 1476 : int bBreak = 0; -; 1477 : bBreak++; -; 1478 : } -; 1479 : -; 1480 : zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; - - 00092 8b 4e 54 mov ecx, DWORD PTR [esi+84] - 00095 8b d8 mov ebx, eax - 00097 2b cf sub ecx, edi - 00099 01 4e 7c add DWORD PTR [esi+124], ecx - 0009c 85 db test ebx, ebx - 0009e 75 4a jne SHORT $LN28@zipWriteIn - -; 1455 : -; 1456 : while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0)) - - 000a0 8d 4e 40 lea ecx, DWORD PTR [esi+64] - 000a3 83 cf ff or edi, -1 - 000a6 eb 9b jmp SHORT $LL2@zipWriteIn -$LN12@zipWriteIn: - -; 1481 : } -; 1482 : else -; 1483 : { -; 1484 : uInt copy_this,i; -; 1485 : if (zi->ci.stream.avail_in < zi->ci.stream.avail_out) - - 000a8 8b 7e 50 mov edi, DWORD PTR [esi+80] - 000ab 39 7e 44 cmp DWORD PTR [esi+68], edi - 000ae 0f 42 7e 44 cmovb edi, DWORD PTR [esi+68] - -; 1486 : copy_this = zi->ci.stream.avail_in; -; 1487 : else -; 1488 : copy_this = zi->ci.stream.avail_out; -; 1489 : -; 1490 : for (i = 0; i < copy_this; i++) - - 000b2 33 d2 xor edx, edx - 000b4 85 ff test edi, edi - 000b6 74 16 je SHORT $LN5@zipWriteIn -$LL22@zipWriteIn: - -; 1491 : *(((char*)zi->ci.stream.next_out)+i) = - - 000b8 8b 01 mov eax, DWORD PTR [ecx] - 000ba 8b 4e 4c mov ecx, DWORD PTR [esi+76] - 000bd 8a 04 02 mov al, BYTE PTR [edx+eax] - 000c0 88 04 0a mov BYTE PTR [edx+ecx], al - 000c3 42 inc edx - 000c4 8d 4e 40 lea ecx, DWORD PTR [esi+64] - 000c7 3b d7 cmp edx, edi - 000c9 72 ed jb SHORT $LL22@zipWriteIn - 000cb 8d 4e 40 lea ecx, DWORD PTR [esi+64] -$LN5@zipWriteIn: - -; 1492 : *(((const char*)zi->ci.stream.next_in)+i); -; 1493 : { -; 1494 : zi->ci.stream.avail_in -= copy_this; - - 000ce 29 7e 44 sub DWORD PTR [esi+68], edi - -; 1495 : zi->ci.stream.avail_out-= copy_this; - - 000d1 29 7e 50 sub DWORD PTR [esi+80], edi - -; 1496 : zi->ci.stream.next_in+= copy_this; - - 000d4 01 39 add DWORD PTR [ecx], edi - -; 1497 : zi->ci.stream.next_out+= copy_this; - - 000d6 01 7e 4c add DWORD PTR [esi+76], edi - -; 1498 : zi->ci.stream.total_in+= copy_this; - - 000d9 01 7e 48 add DWORD PTR [esi+72], edi - -; 1499 : zi->ci.stream.total_out+= copy_this; - - 000dc 01 7e 54 add DWORD PTR [esi+84], edi - -; 1500 : zi->ci.pos_in_buffered_data += copy_this; - - 000df 01 7e 7c add DWORD PTR [esi+124], edi - 000e2 83 cf ff or edi, -1 - 000e5 e9 59 ff ff ff jmp $LL2@zipWriteIn -$LN28@zipWriteIn: - 000ea 5f pop edi - -; 1501 : } -; 1502 : } -; 1503 : }// while(...) -; 1504 : } -; 1505 : -; 1506 : return err; - - 000eb 8b c3 mov eax, ebx - 000ed 5b pop ebx - 000ee 5e pop esi - -; 1507 : } - - 000ef 5d pop ebp - 000f0 c2 0c 00 ret 12 ; 0000000cH -_zipWriteInFileInZip@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipCloseFileInZipRaw@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_uncompressed_size$ = 12 ; size = 4 -_crc32$ = 16 ; size = 4 -_zipCloseFileInZipRaw@12 PROC ; COMDAT - -; 1510 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - -; 1511 : return zipCloseFileInZipRaw64 (file, uncompressed_size, crc32); - - 00006 ff 75 10 push DWORD PTR _crc32$[ebp] - 00009 6a 00 push 0 - 0000b ff 75 0c push DWORD PTR _uncompressed_size$[ebp] - 0000e ff 75 08 push DWORD PTR _file$[ebp] - 00011 e8 00 00 00 00 call _zipCloseFileInZipRaw64@16 - -; 1512 : } - - 00016 8b e5 mov esp, ebp - 00018 5d pop ebp - 00019 c2 0c 00 ret 12 ; 0000000cH -_zipCloseFileInZipRaw@12 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipCloseFileInZipRaw64@16 -_TEXT SEGMENT -_uncompressed_size$2$ = -28 ; size = 4 -_uncompressed_size$1$ = -24 ; size = 4 -_cur_pos_inzip$2$ = -20 ; size = 4 -_p$1$ = -20 ; size = 4 -_compressed_size$2$ = -16 ; size = 4 -_compressed_size$1$ = -12 ; size = 4 -_crc32$1$ = -8 ; size = 4 -_cur_pos_inzip$1$ = -4 ; size = 4 -tv640 = -4 ; size = 4 -_file$ = 8 ; size = 4 -_uncompressed_size$ = 12 ; size = 8 -_crc32$ = 20 ; size = 4 -_zipCloseFileInZipRaw64@16 PROC ; COMDAT - -; 1515 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 1c sub esp, 28 ; 0000001cH - 00009 53 push ebx - 0000a 56 push esi - -; 1516 : zip64_internal* zi; -; 1517 : ZPOS64_T compressed_size; -; 1518 : uLong invalidValue = 0xffffffff; -; 1519 : short datasize = 0; -; 1520 : int err=ZIP_OK; -; 1521 : -; 1522 : if (file == NULL) - - 0000b 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 0000e 33 db xor ebx, ebx - 00010 57 push edi - 00011 85 f6 test esi, esi - 00013 75 0e jne SHORT $LN4@zipCloseFi -$LN82@zipCloseFi: - -; 1523 : return ZIP_PARAMERROR; - - 00015 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1748 : } - - 0001a 5f pop edi - 0001b 5e pop esi - 0001c 5b pop ebx - 0001d 8b e5 mov esp, ebp - 0001f 5d pop ebp - 00020 c2 10 00 ret 16 ; 00000010H -$LN4@zipCloseFi: - -; 1524 : zi = (zip64_internal*)file; -; 1525 : -; 1526 : if (zi->in_opened_file_inzip == 0) - - 00023 39 5e 38 cmp DWORD PTR [esi+56], ebx - 00026 74 ed je SHORT $LN82@zipCloseFi - -; 1527 : return ZIP_PARAMERROR; -; 1528 : zi->ci.stream.avail_in = 0; -; 1529 : -; 1530 : if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - - 00028 83 be 9c 00 00 - 00 08 cmp DWORD PTR [esi+156], 8 - 0002f 89 5e 44 mov DWORD PTR [esi+68], ebx - 00032 75 4d jne SHORT $LN11@zipCloseFi - 00034 39 9e a0 00 00 - 00 cmp DWORD PTR [esi+160], ebx - 0003a 75 45 jne SHORT $LN11@zipCloseFi - 0003c 0f 1f 40 00 npad 4 -$LL70@zipCloseFi: - -; 1531 : { -; 1532 : while (err==ZIP_OK) -; 1533 : { -; 1534 : uLong uTotalOutBefore; -; 1535 : if (zi->ci.stream.avail_out == 0) - - 00040 83 7e 50 00 cmp DWORD PTR [esi+80], 0 - 00044 8d 5e 40 lea ebx, DWORD PTR [esi+64] - 00047 75 17 jne SHORT $LN8@zipCloseFi - -; 1536 : { -; 1537 : if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - - 00049 8b ce mov ecx, esi - 0004b e8 00 00 00 00 call _zip64FlushWriteBuffer - -; 1538 : err = ZIP_ERRNO; -; 1539 : zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; -; 1540 : zi->ci.stream.next_out = zi->ci.buffered_data; - - 00050 8d 86 a4 00 00 - 00 lea eax, DWORD PTR [esi+164] - 00056 c7 46 50 00 00 - 01 00 mov DWORD PTR [esi+80], 65536 ; 00010000H - 0005d 89 46 4c mov DWORD PTR [esi+76], eax -$LN8@zipCloseFi: - -; 1541 : } -; 1542 : uTotalOutBefore = zi->ci.stream.total_out; - - 00060 8b 7e 54 mov edi, DWORD PTR [esi+84] - -; 1543 : err=deflate(&zi->ci.stream, Z_FINISH); - - 00063 6a 04 push 4 - 00065 53 push ebx - 00066 e8 00 00 00 00 call _deflate@8 - 0006b 8b d8 mov ebx, eax - -; 1544 : zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; - - 0006d 8b 46 54 mov eax, DWORD PTR [esi+84] - 00070 2b c7 sub eax, edi - 00072 01 46 7c add DWORD PTR [esi+124], eax - 00075 85 db test ebx, ebx - 00077 74 c7 je SHORT $LL70@zipCloseFi - -; 1545 : } -; 1546 : } -; 1547 : else if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) -; 1548 : { -; 1549 : #ifdef HAVE_BZIP2 -; 1550 : err = BZ_FINISH_OK; -; 1551 : while (err==BZ_FINISH_OK) -; 1552 : { -; 1553 : uLong uTotalOutBefore; -; 1554 : if (zi->ci.bstream.avail_out == 0) -; 1555 : { -; 1556 : if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) -; 1557 : err = ZIP_ERRNO; -; 1558 : zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; -; 1559 : zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; -; 1560 : } -; 1561 : uTotalOutBefore = zi->ci.bstream.total_out_lo32; -; 1562 : err=BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH); -; 1563 : if(err == BZ_STREAM_END) -; 1564 : err = Z_STREAM_END; -; 1565 : -; 1566 : zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore); -; 1567 : } -; 1568 : -; 1569 : if(err == BZ_FINISH_OK) -; 1570 : err = ZIP_OK; -; 1571 : #endif -; 1572 : } -; 1573 : -; 1574 : if (err==Z_STREAM_END) - - 00079 33 c0 xor eax, eax - 0007b 83 fb 01 cmp ebx, 1 - 0007e 0f 44 d8 cmove ebx, eax -$LN11@zipCloseFi: - -; 1575 : err=ZIP_OK; /* this is normal */ -; 1576 : -; 1577 : if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK)) - - 00081 83 cf ff or edi, -1 - 00084 83 7e 7c 00 cmp DWORD PTR [esi+124], 0 - 00088 76 10 jbe SHORT $LN13@zipCloseFi - 0008a 85 db test ebx, ebx - 0008c 75 0c jne SHORT $LN13@zipCloseFi - -; 1578 : { -; 1579 : if (zip64FlushWriteBuffer(zi)==ZIP_ERRNO) - - 0008e 8b ce mov ecx, esi - 00090 e8 00 00 00 00 call _zip64FlushWriteBuffer - 00095 3b c7 cmp eax, edi - 00097 0f 44 df cmove ebx, edi -$LN13@zipCloseFi: - -; 1580 : err = ZIP_ERRNO; -; 1581 : } -; 1582 : -; 1583 : if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - - 0009a 83 be 9c 00 00 - 00 08 cmp DWORD PTR [esi+156], 8 - 000a1 75 1e jne SHORT $LN14@zipCloseFi - 000a3 83 be a0 00 00 - 00 00 cmp DWORD PTR [esi+160], 0 - 000aa 75 36 jne SHORT $LN69@zipCloseFi - -; 1584 : { -; 1585 : int tmp_err = deflateEnd(&zi->ci.stream); - - 000ac 8d 46 40 lea eax, DWORD PTR [esi+64] - 000af 50 push eax - 000b0 e8 00 00 00 00 call _deflateEnd@4 - -; 1586 : if (err == ZIP_OK) - - 000b5 85 db test ebx, ebx - -; 1587 : err = tmp_err; -; 1588 : zi->ci.stream_initialised = 0; - - 000b7 c7 46 78 00 00 - 00 00 mov DWORD PTR [esi+120], 0 - 000be 0f 44 d8 cmove ebx, eax -$LN14@zipCloseFi: - -; 1589 : } -; 1590 : #ifdef HAVE_BZIP2 -; 1591 : else if((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) -; 1592 : { -; 1593 : int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream); -; 1594 : if (err==ZIP_OK) -; 1595 : err = tmperr; -; 1596 : zi->ci.stream_initialised = 0; -; 1597 : } -; 1598 : #endif -; 1599 : -; 1600 : if (!zi->ci.raw) - - 000c1 83 be a0 00 00 - 00 00 cmp DWORD PTR [esi+160], 0 - 000c8 75 18 jne SHORT $LN69@zipCloseFi - -; 1601 : { -; 1602 : crc32 = (uLong)zi->ci.crc32; - - 000ca 8b 86 a8 00 01 - 00 mov eax, DWORD PTR [esi+65704] - -; 1603 : uncompressed_size = zi->ci.totalUncompressedData; - - 000d0 8b 8e c8 00 01 - 00 mov ecx, DWORD PTR [esi+65736] - 000d6 89 44 24 20 mov DWORD PTR _crc32$1$[esp+40], eax - 000da 8b 86 cc 00 01 - 00 mov eax, DWORD PTR [esi+65740] - 000e0 eb 0d jmp SHORT $LN78@zipCloseFi -$LN69@zipCloseFi: - 000e2 8b 45 14 mov eax, DWORD PTR _crc32$[ebp] - 000e5 8b 4d 0c mov ecx, DWORD PTR _uncompressed_size$[ebp] - 000e8 89 44 24 20 mov DWORD PTR _crc32$1$[esp+40], eax - 000ec 8b 45 10 mov eax, DWORD PTR _uncompressed_size$[ebp+4] -$LN78@zipCloseFi: - 000ef 89 44 24 0c mov DWORD PTR _uncompressed_size$2$[esp+40], eax - -; 1604 : } -; 1605 : compressed_size = zi->ci.totalCompressedData; -; 1606 : -; 1607 : # ifndef NOCRYPT -; 1608 : compressed_size += zi->ci.crypt_header_size; - - 000f3 8b 86 e0 00 01 - 00 mov eax, DWORD PTR [esi+65760] - 000f9 99 cdq - 000fa 8b f8 mov edi, eax - 000fc 89 4c 24 10 mov DWORD PTR _uncompressed_size$1$[esp+40], ecx - 00100 03 be c0 00 01 - 00 add edi, DWORD PTR [esi+65728] - 00106 8b c2 mov eax, edx - 00108 89 7c 24 18 mov DWORD PTR _compressed_size$2$[esp+40], edi - 0010c 13 86 c4 00 01 - 00 adc eax, DWORD PTR [esi+65732] - 00112 89 44 24 1c mov DWORD PTR _compressed_size$1$[esp+40], eax - -; 1609 : # endif -; 1610 : -; 1611 : // update Current Item crc and sizes, -; 1612 : if(compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >= 0xffffffff) - - 00116 85 c0 test eax, eax - 00118 77 27 ja SHORT $LN57@zipCloseFi - 0011a 72 05 jb SHORT $LN55@zipCloseFi - 0011c 83 ff ff cmp edi, -1 - 0011f 73 20 jae SHORT $LN57@zipCloseFi -$LN55@zipCloseFi: - 00121 83 7c 24 0c 00 cmp DWORD PTR _uncompressed_size$2$[esp+40], 0 - 00126 77 19 ja SHORT $LN57@zipCloseFi - 00128 72 05 jb SHORT $LN56@zipCloseFi - 0012a 83 f9 ff cmp ecx, -1 - 0012d 73 12 jae SHORT $LN57@zipCloseFi -$LN56@zipCloseFi: - 0012f 83 be 84 00 00 - 00 00 cmp DWORD PTR [esi+132], 0 - 00136 77 09 ja SHORT $LN57@zipCloseFi - 00138 83 be 80 00 00 - 00 ff cmp DWORD PTR [esi+128], -1 - 0013f 72 2c jb SHORT $LN17@zipCloseFi -$LN57@zipCloseFi: - -; 1613 : { -; 1614 : /*version Made by*/ -; 1615 : zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)45,2); - - 00141 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 00147 ba 02 00 00 00 mov edx, 2 - 0014c 6a 00 push 0 - 0014e 6a 2d push 45 ; 0000002dH - 00150 83 c1 04 add ecx, 4 - 00153 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1616 : /*version needed*/ -; 1617 : zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)45,2); - - 00158 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 0015e 6a 00 push 0 - 00160 6a 2d push 45 ; 0000002dH - 00162 83 c1 06 add ecx, 6 - 00165 e8 00 00 00 00 call _zip64local_putValue_inmemory - 0016a 83 c4 10 add esp, 16 ; 00000010H -$LN17@zipCloseFi: - -; 1618 : -; 1619 : } -; 1620 : -; 1621 : zip64local_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/ - - 0016d 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 00173 ba 04 00 00 00 mov edx, 4 - 00178 6a 00 push 0 - 0017a ff 74 24 24 push DWORD PTR _crc32$1$[esp+44] - 0017e 83 c1 10 add ecx, 16 ; 00000010H - 00181 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1622 : -; 1623 : -; 1624 : if(compressed_size >= 0xffffffff) - - 00186 8b 44 24 24 mov eax, DWORD PTR _compressed_size$1$[esp+48] - 0018a 83 c4 08 add esp, 8 - 0018d 85 c0 test eax, eax - 0018f 75 09 jne SHORT $LN58@zipCloseFi - 00191 83 ff ff cmp edi, -1 - 00194 73 04 jae SHORT $LN58@zipCloseFi - -; 1626 : else -; 1627 : zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size,4); /*compr size*/ - - 00196 50 push eax - 00197 57 push edi - 00198 eb 04 jmp SHORT $LN79@zipCloseFi -$LN58@zipCloseFi: - -; 1625 : zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue,4); /*compr size*/ - - 0019a 6a 00 push 0 - 0019c 6a ff push -1 -$LN79@zipCloseFi: - 0019e 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 001a4 83 c1 14 add ecx, 20 ; 00000014H - 001a7 e8 00 00 00 00 call _zip64local_putValue_inmemory - 001ac 83 c4 08 add esp, 8 - -; 1628 : -; 1629 : /// set internal file attributes field -; 1630 : if (zi->ci.stream.data_type == Z_ASCII) - - 001af 83 7e 6c 01 cmp DWORD PTR [esi+108], 1 - 001b3 75 1a jne SHORT $LN21@zipCloseFi - -; 1631 : zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2); - - 001b5 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 001bb ba 02 00 00 00 mov edx, 2 - 001c0 6a 00 push 0 - 001c2 6a 01 push 1 - 001c4 83 c1 24 add ecx, 36 ; 00000024H - 001c7 e8 00 00 00 00 call _zip64local_putValue_inmemory - 001cc 83 c4 08 add esp, 8 -$LN21@zipCloseFi: - -; 1632 : -; 1633 : if(uncompressed_size >= 0xffffffff) - - 001cf 8b 4c 24 0c mov ecx, DWORD PTR _uncompressed_size$2$[esp+40] - 001d3 85 c9 test ecx, ecx - 001d5 75 0d jne SHORT $LN59@zipCloseFi - 001d7 8b 44 24 10 mov eax, DWORD PTR _uncompressed_size$1$[esp+40] - 001db 83 f8 ff cmp eax, -1 - 001de 73 04 jae SHORT $LN59@zipCloseFi - -; 1635 : else -; 1636 : zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size,4); /*uncompr size*/ - - 001e0 51 push ecx - 001e1 50 push eax - 001e2 eb 04 jmp SHORT $LN80@zipCloseFi -$LN59@zipCloseFi: - -; 1634 : zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue,4); /*uncompr size*/ - - 001e4 6a 00 push 0 - 001e6 6a ff push -1 -$LN80@zipCloseFi: - 001e8 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 001ee ba 04 00 00 00 mov edx, 4 - 001f3 83 c1 18 add ecx, 24 ; 00000018H - 001f6 e8 00 00 00 00 call _zip64local_putValue_inmemory - 001fb 83 c4 08 add esp, 8 - -; 1637 : -; 1638 : // Add ZIP64 extra info field for uncompressed size -; 1639 : if(uncompressed_size >= 0xffffffff) - - 001fe 83 7c 24 0c 00 cmp DWORD PTR _uncompressed_size$2$[esp+40], 0 - 00203 77 07 ja SHORT $LN60@zipCloseFi - 00205 83 7c 24 10 ff cmp DWORD PTR _uncompressed_size$1$[esp+40], -1 - 0020a 72 07 jb SHORT $LN76@zipCloseFi -$LN60@zipCloseFi: - -; 1640 : datasize += 8; - - 0020c b8 08 00 00 00 mov eax, 8 - 00211 eb 02 jmp SHORT $LN24@zipCloseFi -$LN76@zipCloseFi: - 00213 33 c0 xor eax, eax -$LN24@zipCloseFi: - -; 1641 : -; 1642 : // Add ZIP64 extra info field for compressed size -; 1643 : if(compressed_size >= 0xffffffff) - - 00215 83 7c 24 1c 00 cmp DWORD PTR _compressed_size$1$[esp+40], 0 - 0021a 77 05 ja SHORT $LN61@zipCloseFi - 0021c 83 ff ff cmp edi, -1 - 0021f 72 03 jb SHORT $LN25@zipCloseFi -$LN61@zipCloseFi: - -; 1644 : datasize += 8; - - 00221 83 c0 08 add eax, 8 -$LN25@zipCloseFi: - -; 1645 : -; 1646 : // Add ZIP64 extra info field for relative offset to local file header of current file -; 1647 : if(zi->ci.pos_local_header >= 0xffffffff) - - 00224 83 be 84 00 00 - 00 00 cmp DWORD PTR [esi+132], 0 - 0022b 77 09 ja SHORT $LN62@zipCloseFi - 0022d 83 be 80 00 00 - 00 ff cmp DWORD PTR [esi+128], -1 - 00234 72 03 jb SHORT $LN26@zipCloseFi -$LN62@zipCloseFi: - -; 1648 : datasize += 8; - - 00236 83 c0 08 add eax, 8 -$LN26@zipCloseFi: - -; 1649 : -; 1650 : if(datasize > 0) - - 00239 66 85 c0 test ax, ax - 0023c 0f 8e 1d 01 00 - 00 jle $LN27@zipCloseFi - -; 1651 : { -; 1652 : char* p = NULL; -; 1653 : -; 1654 : if((uLong)(datasize + 4) > zi->ci.size_centralExtraFree) - - 00242 98 cwde - 00243 89 44 24 24 mov DWORD PTR tv640[esp+40], eax - 00247 83 c0 04 add eax, 4 - 0024a 3b 86 94 00 00 - 00 cmp eax, DWORD PTR [esi+148] - 00250 76 0e jbe SHORT $LN28@zipCloseFi - -; 1655 : { -; 1656 : // we can not write more data to the buffer that we have room for. -; 1657 : return ZIP_BADZIPFILE; - - 00252 b8 99 ff ff ff mov eax, -103 ; ffffff99H - -; 1748 : } - - 00257 5f pop edi - 00258 5e pop esi - 00259 5b pop ebx - 0025a 8b e5 mov esp, ebp - 0025c 5d pop ebp - 0025d c2 10 00 ret 16 ; 00000010H -$LN28@zipCloseFi: - -; 1658 : } -; 1659 : -; 1660 : p = zi->ci.central_header + zi->ci.size_centralheader; - - 00260 8b 86 88 00 00 - 00 mov eax, DWORD PTR [esi+136] - -; 1661 : -; 1662 : // Add Extra Information Header for 'ZIP64 information' -; 1663 : zip64local_putValue_inmemory(p, 0x0001, 2); // HeaderID - - 00266 ba 02 00 00 00 mov edx, 2 - 0026b 03 86 90 00 00 - 00 add eax, DWORD PTR [esi+144] - 00271 6a 00 push 0 - 00273 6a 01 push 1 - 00275 8b c8 mov ecx, eax - 00277 89 44 24 1c mov DWORD PTR _p$1$[esp+48], eax - 0027b e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1664 : p += 2; - - 00280 8b 4c 24 1c mov ecx, DWORD PTR _p$1$[esp+48] - -; 1665 : zip64local_putValue_inmemory(p, datasize, 2); // DataSize - - 00284 8b 44 24 2c mov eax, DWORD PTR tv640[esp+48] - 00288 03 ca add ecx, edx - 0028a 99 cdq - 0028b 52 push edx - 0028c 50 push eax - 0028d ba 02 00 00 00 mov edx, 2 - 00292 89 4c 24 24 mov DWORD PTR _p$1$[esp+56], ecx - 00296 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1666 : p += 2; - - 0029b 8b 44 24 24 mov eax, DWORD PTR _p$1$[esp+56] - 0029f 83 c4 10 add esp, 16 ; 00000010H - -; 1667 : -; 1668 : if(uncompressed_size >= 0xffffffff) - - 002a2 8b 4c 24 10 mov ecx, DWORD PTR _uncompressed_size$1$[esp+40] - 002a6 03 c2 add eax, edx - 002a8 8b 54 24 0c mov edx, DWORD PTR _uncompressed_size$2$[esp+40] - 002ac 89 44 24 14 mov DWORD PTR _p$1$[esp+40], eax - 002b0 85 d2 test edx, edx - 002b2 75 05 jne SHORT $LN63@zipCloseFi - 002b4 83 f9 ff cmp ecx, -1 - 002b7 72 1b jb SHORT $LN29@zipCloseFi -$LN63@zipCloseFi: - -; 1669 : { -; 1670 : zip64local_putValue_inmemory(p, uncompressed_size, 8); - - 002b9 52 push edx - 002ba 51 push ecx - 002bb ba 08 00 00 00 mov edx, 8 - 002c0 8b c8 mov ecx, eax - 002c2 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1671 : p += 8; - - 002c7 8b 44 24 1c mov eax, DWORD PTR _p$1$[esp+48] - 002cb 83 c4 08 add esp, 8 - 002ce 03 c2 add eax, edx - 002d0 89 44 24 14 mov DWORD PTR _p$1$[esp+40], eax -$LN29@zipCloseFi: - -; 1672 : } -; 1673 : -; 1674 : if(compressed_size >= 0xffffffff) - - 002d4 8b 4c 24 1c mov ecx, DWORD PTR _compressed_size$1$[esp+40] - 002d8 85 c9 test ecx, ecx - 002da 75 05 jne SHORT $LN64@zipCloseFi - 002dc 83 ff ff cmp edi, -1 - 002df 72 17 jb SHORT $LN30@zipCloseFi -$LN64@zipCloseFi: - -; 1675 : { -; 1676 : zip64local_putValue_inmemory(p, compressed_size, 8); - - 002e1 51 push ecx - 002e2 57 push edi - 002e3 ba 08 00 00 00 mov edx, 8 - 002e8 8b c8 mov ecx, eax - 002ea e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1677 : p += 8; - - 002ef 8b 44 24 1c mov eax, DWORD PTR _p$1$[esp+48] - 002f3 83 c4 08 add esp, 8 - 002f6 03 c2 add eax, edx -$LN30@zipCloseFi: - -; 1678 : } -; 1679 : -; 1680 : if(zi->ci.pos_local_header >= 0xffffffff) - - 002f8 8b be 84 00 00 - 00 mov edi, DWORD PTR [esi+132] - 002fe 8b 8e 80 00 00 - 00 mov ecx, DWORD PTR [esi+128] - 00304 85 ff test edi, edi - 00306 75 05 jne SHORT $LN65@zipCloseFi - 00308 83 f9 ff cmp ecx, -1 - 0030b 72 11 jb SHORT $LN31@zipCloseFi -$LN65@zipCloseFi: - -; 1681 : { -; 1682 : zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8); - - 0030d 57 push edi - 0030e 51 push ecx - 0030f ba 08 00 00 00 mov edx, 8 - 00314 8b c8 mov ecx, eax - 00316 e8 00 00 00 00 call _zip64local_putValue_inmemory - 0031b 83 c4 08 add esp, 8 -$LN31@zipCloseFi: - -; 1683 : p += 8; -; 1684 : } -; 1685 : -; 1686 : // Update how much extra free space we got in the memory buffer -; 1687 : // and increase the centralheader size so the new ZIP64 fields are included -; 1688 : // ( 4 below is the size of HeaderID and DataSize field ) -; 1689 : zi->ci.size_centralExtraFree -= datasize + 4; - - 0031e 8b 4c 24 24 mov ecx, DWORD PTR tv640[esp+40] - 00322 b8 fc ff ff ff mov eax, -4 ; fffffffcH - 00327 2b c1 sub eax, ecx - -; 1690 : zi->ci.size_centralheader += datasize + 4; -; 1691 : -; 1692 : // Update the extra info size field -; 1693 : zi->ci.size_centralExtra += datasize + 4; -; 1694 : zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)zi->ci.size_centralExtra,2); - - 00329 ba 02 00 00 00 mov edx, 2 - 0032e 01 86 94 00 00 - 00 add DWORD PTR [esi+148], eax - 00334 6a 00 push 0 - 00336 8d 41 04 lea eax, DWORD PTR [ecx+4] - 00339 01 86 90 00 00 - 00 add DWORD PTR [esi+144], eax - 0033f 8d 41 04 lea eax, DWORD PTR [ecx+4] - 00342 01 86 8c 00 00 - 00 add DWORD PTR [esi+140], eax - 00348 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 0034e ff b6 8c 00 00 - 00 push DWORD PTR [esi+140] - 00354 83 c1 1e add ecx, 30 ; 0000001eH - 00357 e8 00 00 00 00 call _zip64local_putValue_inmemory - 0035c 83 c4 08 add esp, 8 -$LN27@zipCloseFi: - -; 1695 : } -; 1696 : -; 1697 : if (err==ZIP_OK) - - 0035f 85 db test ebx, ebx - 00361 75 19 jne SHORT $LN32@zipCloseFi - -; 1698 : err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader); - - 00363 ff b6 90 00 00 - 00 push DWORD PTR [esi+144] - 00369 8b 96 88 00 00 - 00 mov edx, DWORD PTR [esi+136] - 0036f 8d 4e 30 lea ecx, DWORD PTR [esi+48] - 00372 e8 00 00 00 00 call _add_data_in_datablock - 00377 83 c4 04 add esp, 4 - 0037a 8b d8 mov ebx, eax -$LN32@zipCloseFi: - -; 1699 : -; 1700 : free(zi->ci.central_header); - - 0037c ff b6 88 00 00 - 00 push DWORD PTR [esi+136] - 00382 ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 00388 83 c4 04 add esp, 4 - -; 1701 : -; 1702 : if (err==ZIP_OK) - - 0038b 85 db test ebx, ebx - 0038d 0f 85 3a 01 00 - 00 jne $LN46@zipCloseFi - -; 1703 : { -; 1704 : // Update the LocalFileHeader with the new values. -; 1705 : -; 1706 : ZPOS64_T cur_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream); - - 00393 8b 56 2c mov edx, DWORD PTR [esi+44] - 00396 8b ce mov ecx, esi - 00398 e8 00 00 00 00 call _call_ztell64 - -; 1707 : -; 1708 : if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 0039d 8b be 80 00 00 - 00 mov edi, DWORD PTR [esi+128] - 003a3 8b 8e 84 00 00 - 00 mov ecx, DWORD PTR [esi+132] - 003a9 83 c7 0e add edi, 14 ; 0000000eH - 003ac 53 push ebx - 003ad 13 cb adc ecx, ebx - 003af 89 54 24 28 mov DWORD PTR _cur_pos_inzip$1$[esp+44], edx - 003b3 8b 56 2c mov edx, DWORD PTR [esi+44] - 003b6 51 push ecx - 003b7 57 push edi - 003b8 8b ce mov ecx, esi - 003ba 89 44 24 20 mov DWORD PTR _cur_pos_inzip$2$[esp+52], eax - 003be e8 00 00 00 00 call _call_zseek64 - 003c3 83 c4 0c add esp, 12 ; 0000000cH - 003c6 85 c0 test eax, eax - 003c8 74 05 je SHORT $LN53@zipCloseFi - -; 1709 : err = ZIP_ERRNO; - - 003ca 83 cb ff or ebx, -1 - -; 1710 : -; 1711 : if (err==ZIP_OK) - - 003cd eb 17 jmp SHORT $LN35@zipCloseFi -$LN53@zipCloseFi: - -; 1712 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */ - - 003cf 8b 56 2c mov edx, DWORD PTR [esi+44] - 003d2 8b ce mov ecx, esi - 003d4 6a 04 push 4 - 003d6 6a 00 push 0 - 003d8 ff 74 24 28 push DWORD PTR _crc32$1$[esp+48] - 003dc e8 00 00 00 00 call _zip64local_putValue - 003e1 83 c4 0c add esp, 12 ; 0000000cH - 003e4 8b d8 mov ebx, eax -$LN35@zipCloseFi: - -; 1713 : -; 1714 : if(uncompressed_size >= 0xffffffff || compressed_size >= 0xffffffff ) - - 003e6 83 7c 24 0c 00 cmp DWORD PTR _uncompressed_size$2$[esp+40], 0 - 003eb 77 4b ja SHORT $LN73@zipCloseFi - 003ed 72 07 jb SHORT $LN66@zipCloseFi - 003ef 83 7c 24 10 ff cmp DWORD PTR _uncompressed_size$1$[esp+40], -1 - 003f4 73 42 jae SHORT $LN73@zipCloseFi -$LN66@zipCloseFi: - 003f6 8b 44 24 1c mov eax, DWORD PTR _compressed_size$1$[esp+40] - 003fa 8b 7c 24 18 mov edi, DWORD PTR _compressed_size$2$[esp+40] - 003fe 85 c0 test eax, eax - 00400 77 3a ja SHORT $LN38@zipCloseFi - 00402 72 05 jb SHORT $LN67@zipCloseFi - 00404 83 ff ff cmp edi, -1 - 00407 73 33 jae SHORT $LN38@zipCloseFi -$LN67@zipCloseFi: - -; 1730 : } -; 1731 : else -; 1732 : { -; 1733 : if (err==ZIP_OK) /* compressed size, unknown */ - - 00409 85 db test ebx, ebx - 0040b 0f 85 9b 00 00 - 00 jne $LN40@zipCloseFi - -; 1734 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4); - - 00411 8b 56 2c mov edx, DWORD PTR [esi+44] - 00414 8b ce mov ecx, esi - 00416 6a 04 push 4 - 00418 50 push eax - 00419 57 push edi - 0041a e8 00 00 00 00 call _zip64local_putValue - 0041f 8b d8 mov ebx, eax - 00421 83 c4 0c add esp, 12 ; 0000000cH - -; 1735 : -; 1736 : if (err==ZIP_OK) /* uncompressed size, unknown */ - - 00424 85 db test ebx, ebx - 00426 0f 85 80 00 00 - 00 jne $LN40@zipCloseFi - -; 1737 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4); - - 0042c 6a 04 push 4 - 0042e ff 74 24 10 push DWORD PTR _uncompressed_size$2$[esp+44] - 00432 ff 74 24 18 push DWORD PTR _uncompressed_size$1$[esp+48] - 00436 eb 65 jmp SHORT $LN81@zipCloseFi -$LN73@zipCloseFi: - 00438 8b 7c 24 18 mov edi, DWORD PTR _compressed_size$2$[esp+40] -$LN38@zipCloseFi: - -; 1715 : { -; 1716 : if(zi->ci.pos_zip64extrainfo > 0) - - 0043c 8b 8e bc 00 01 - 00 mov ecx, DWORD PTR [esi+65724] - 00442 8b 86 b8 00 01 - 00 mov eax, DWORD PTR [esi+65720] - 00448 85 c9 test ecx, ecx - 0044a 75 09 jne SHORT $LN68@zipCloseFi - 0044c 85 c0 test eax, eax - 0044e 75 05 jne SHORT $LN68@zipCloseFi - -; 1727 : } -; 1728 : else -; 1729 : err = ZIP_BADZIPFILE; // Caller passed zip64 = 0, so no room for zip64 info -> fatal - - 00450 8d 58 99 lea ebx, DWORD PTR [eax-103] - 00453 eb 57 jmp SHORT $LN40@zipCloseFi -$LN68@zipCloseFi: - -; 1717 : { -; 1718 : // Update the size in the ZIP64 extended field. -; 1719 : if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_zip64extrainfo + 4,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00455 8b 56 2c mov edx, DWORD PTR [esi+44] - 00458 83 c0 04 add eax, 4 - 0045b 6a 00 push 0 - 0045d 83 d1 00 adc ecx, 0 - 00460 51 push ecx - 00461 50 push eax - 00462 8b ce mov ecx, esi - 00464 e8 00 00 00 00 call _call_zseek64 - 00469 83 c4 0c add esp, 12 ; 0000000cH - 0046c 85 c0 test eax, eax - 0046e 74 05 je SHORT $LN41@zipCloseFi - -; 1720 : err = ZIP_ERRNO; - - 00470 83 cb ff or ebx, -1 - -; 1721 : -; 1722 : if (err==ZIP_OK) /* compressed size, unknown */ - - 00473 eb 37 jmp SHORT $LN40@zipCloseFi -$LN41@zipCloseFi: - 00475 85 db test ebx, ebx - 00477 75 33 jne SHORT $LN40@zipCloseFi - -; 1723 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, uncompressed_size, 8); - - 00479 8b 56 2c mov edx, DWORD PTR [esi+44] - 0047c 8b ce mov ecx, esi - 0047e 6a 08 push 8 - 00480 ff 74 24 10 push DWORD PTR _uncompressed_size$2$[esp+44] - 00484 ff 74 24 18 push DWORD PTR _uncompressed_size$1$[esp+48] - 00488 e8 00 00 00 00 call _zip64local_putValue - 0048d 8b d8 mov ebx, eax - 0048f 83 c4 0c add esp, 12 ; 0000000cH - -; 1724 : -; 1725 : if (err==ZIP_OK) /* uncompressed size, unknown */ - - 00492 85 db test ebx, ebx - 00494 75 16 jne SHORT $LN40@zipCloseFi - -; 1726 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8); - - 00496 6a 08 push 8 - 00498 ff 74 24 20 push DWORD PTR _compressed_size$1$[esp+44] - 0049c 57 push edi -$LN81@zipCloseFi: - 0049d 8b 56 2c mov edx, DWORD PTR [esi+44] - 004a0 8b ce mov ecx, esi - 004a2 e8 00 00 00 00 call _zip64local_putValue - 004a7 8b d8 mov ebx, eax - 004a9 83 c4 0c add esp, 12 ; 0000000cH -$LN40@zipCloseFi: - -; 1738 : } -; 1739 : -; 1740 : if (ZSEEK64(zi->z_filefunc,zi->filestream, cur_pos_inzip,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 004ac 8b 56 2c mov edx, DWORD PTR [esi+44] - 004af 8b ce mov ecx, esi - 004b1 6a 00 push 0 - 004b3 ff 74 24 28 push DWORD PTR _cur_pos_inzip$1$[esp+44] - 004b7 ff 74 24 1c push DWORD PTR _cur_pos_inzip$2$[esp+48] - 004bb e8 00 00 00 00 call _call_zseek64 - 004c0 83 c4 0c add esp, 12 ; 0000000cH - 004c3 85 c0 test eax, eax - 004c5 b8 ff ff ff ff mov eax, -1 - 004ca 0f 45 d8 cmovne ebx, eax -$LN46@zipCloseFi: - -; 1741 : err = ZIP_ERRNO; -; 1742 : } -; 1743 : -; 1744 : zi->number_entry ++; - - 004cd 83 86 f8 00 01 - 00 01 add DWORD PTR [esi+65784], 1 - -; 1745 : zi->in_opened_file_inzip = 0; -; 1746 : -; 1747 : return err; - - 004d4 8b c3 mov eax, ebx - -; 1748 : } - - 004d6 5f pop edi - 004d7 83 96 fc 00 01 - 00 00 adc DWORD PTR [esi+65788], 0 - 004de c7 46 38 00 00 - 00 00 mov DWORD PTR [esi+56], 0 - 004e5 5e pop esi - 004e6 5b pop ebx - 004e7 8b e5 mov esp, ebp - 004e9 5d pop ebp - 004ea c2 10 00 ret 16 ; 00000010H -_zipCloseFileInZipRaw64@16 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipCloseFileInZip@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_zipCloseFileInZip@4 PROC ; COMDAT - -; 1751 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1752 : return zipCloseFileInZipRaw (file,0,0); - - 00003 6a 00 push 0 - 00005 6a 00 push 0 - 00007 ff 75 08 push DWORD PTR _file$[ebp] - 0000a e8 00 00 00 00 call _zipCloseFileInZipRaw@12 - -; 1753 : } - - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -_zipCloseFileInZip@4 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _Write_Zip64EndOfCentralDirectoryLocator -_TEXT SEGMENT -_zip64eocd_pos_inzip$ = 8 ; size = 8 -_Write_Zip64EndOfCentralDirectoryLocator PROC ; COMDAT -; _zi$ = ecx - -; 1756 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 1757 : int err = ZIP_OK; -; 1758 : ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset; - - 00004 8b 5d 0c mov ebx, DWORD PTR _zip64eocd_pos_inzip$[ebp+4] - 00007 56 push esi - 00008 57 push edi - 00009 8b 7d 08 mov edi, DWORD PTR _zip64eocd_pos_inzip$[ebp] - 0000c 8b f1 mov esi, ecx - -; 1759 : -; 1760 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDLOCHEADERMAGIC,4); - - 0000e 6a 04 push 4 - 00010 6a 00 push 0 - 00012 68 50 4b 06 07 push 117853008 ; 07064b50H - 00017 2b be f0 00 01 - 00 sub edi, DWORD PTR [esi+65776] - 0001d 8b 56 2c mov edx, DWORD PTR [esi+44] - 00020 1b 9e f4 00 01 - 00 sbb ebx, DWORD PTR [esi+65780] - 00026 e8 00 00 00 00 call _zip64local_putValue - 0002b 83 c4 0c add esp, 12 ; 0000000cH - -; 1761 : -; 1762 : /*num disks*/ -; 1763 : if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - - 0002e 85 c0 test eax, eax - 00030 75 3c jne SHORT $LN4@Write_Zip6 - -; 1764 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - 00032 8b 56 2c mov edx, DWORD PTR [esi+44] - 00035 8b ce mov ecx, esi - 00037 6a 04 push 4 - 00039 50 push eax - 0003a 50 push eax - 0003b e8 00 00 00 00 call _zip64local_putValue - 00040 83 c4 0c add esp, 12 ; 0000000cH - -; 1765 : -; 1766 : /*relative offset*/ -; 1767 : if (err==ZIP_OK) /* Relative offset to the Zip64EndOfCentralDirectory */ - - 00043 85 c0 test eax, eax - 00045 75 27 jne SHORT $LN4@Write_Zip6 - -; 1768 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream, pos,8); - - 00047 8b 56 2c mov edx, DWORD PTR [esi+44] - 0004a 8b ce mov ecx, esi - 0004c 6a 08 push 8 - 0004e 53 push ebx - 0004f 57 push edi - 00050 e8 00 00 00 00 call _zip64local_putValue - 00055 83 c4 0c add esp, 12 ; 0000000cH - -; 1769 : -; 1770 : /*total disks*/ /* Do not support spawning of disk so always say 1 here*/ -; 1771 : if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - - 00058 85 c0 test eax, eax - 0005a 75 12 jne SHORT $LN4@Write_Zip6 - -; 1772 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)1,4); - - 0005c 8b 56 2c mov edx, DWORD PTR [esi+44] - 0005f 8b ce mov ecx, esi - 00061 6a 04 push 4 - 00063 50 push eax - 00064 6a 01 push 1 - 00066 e8 00 00 00 00 call _zip64local_putValue - 0006b 83 c4 0c add esp, 12 ; 0000000cH -$LN4@Write_Zip6: - -; 1773 : -; 1774 : return err; -; 1775 : } - - 0006e 5f pop edi - 0006f 5e pop esi - 00070 5b pop ebx - 00071 5d pop ebp - 00072 c3 ret 0 -_Write_Zip64EndOfCentralDirectoryLocator ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _Write_Zip64EndOfCentralDirectoryRecord -_TEXT SEGMENT -_centraldir_pos_inzip$ = 8 ; size = 8 -_Write_Zip64EndOfCentralDirectoryRecord PROC ; COMDAT -; _zi$ = ecx -; _size_centraldir$ = edx - -; 1778 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - 00004 57 push edi - 00005 8b f1 mov esi, ecx - 00007 8b fa mov edi, edx - -; 1779 : int err = ZIP_OK; -; 1780 : -; 1781 : uLong Zip64DataSize = 44; -; 1782 : -; 1783 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDHEADERMAGIC,4); - - 00009 6a 04 push 4 - 0000b 6a 00 push 0 - 0000d 68 50 4b 06 06 push 101075792 ; 06064b50H - 00012 8b 56 2c mov edx, DWORD PTR [esi+44] - 00015 e8 00 00 00 00 call _zip64local_putValue - 0001a 83 c4 0c add esp, 12 ; 0000000cH - -; 1784 : -; 1785 : if (err==ZIP_OK) /* size of this 'zip64 end of central directory' */ - - 0001d 85 c0 test eax, eax - 0001f 0f 85 f2 00 00 - 00 jne $LN10@Write_Zip6 - -; 1786 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)Zip64DataSize,8); // why ZPOS64_T of this ? - - 00025 8b 56 2c mov edx, DWORD PTR [esi+44] - 00028 8b ce mov ecx, esi - 0002a 6a 08 push 8 - 0002c 50 push eax - 0002d 6a 2c push 44 ; 0000002cH - 0002f e8 00 00 00 00 call _zip64local_putValue - 00034 83 c4 0c add esp, 12 ; 0000000cH - -; 1787 : -; 1788 : if (err==ZIP_OK) /* version made by */ - - 00037 85 c0 test eax, eax - 00039 0f 85 d8 00 00 - 00 jne $LN10@Write_Zip6 - -; 1789 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2); - - 0003f 8b 56 2c mov edx, DWORD PTR [esi+44] - 00042 8b ce mov ecx, esi - 00044 6a 02 push 2 - 00046 50 push eax - 00047 6a 2d push 45 ; 0000002dH - 00049 e8 00 00 00 00 call _zip64local_putValue - 0004e 83 c4 0c add esp, 12 ; 0000000cH - -; 1790 : -; 1791 : if (err==ZIP_OK) /* version needed */ - - 00051 85 c0 test eax, eax - 00053 0f 85 be 00 00 - 00 jne $LN10@Write_Zip6 - -; 1792 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2); - - 00059 8b 56 2c mov edx, DWORD PTR [esi+44] - 0005c 8b ce mov ecx, esi - 0005e 6a 02 push 2 - 00060 50 push eax - 00061 6a 2d push 45 ; 0000002dH - 00063 e8 00 00 00 00 call _zip64local_putValue - 00068 83 c4 0c add esp, 12 ; 0000000cH - -; 1793 : -; 1794 : if (err==ZIP_OK) /* number of this disk */ - - 0006b 85 c0 test eax, eax - 0006d 0f 85 a4 00 00 - 00 jne $LN10@Write_Zip6 - -; 1795 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - 00073 8b 56 2c mov edx, DWORD PTR [esi+44] - 00076 8b ce mov ecx, esi - 00078 6a 04 push 4 - 0007a 50 push eax - 0007b 50 push eax - 0007c e8 00 00 00 00 call _zip64local_putValue - 00081 83 c4 0c add esp, 12 ; 0000000cH - -; 1796 : -; 1797 : if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - - 00084 85 c0 test eax, eax - 00086 0f 85 8b 00 00 - 00 jne $LN10@Write_Zip6 - -; 1798 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - 0008c 8b 56 2c mov edx, DWORD PTR [esi+44] - 0008f 8b ce mov ecx, esi - 00091 6a 04 push 4 - 00093 50 push eax - 00094 50 push eax - 00095 e8 00 00 00 00 call _zip64local_putValue - 0009a 83 c4 0c add esp, 12 ; 0000000cH - -; 1799 : -; 1800 : if (err==ZIP_OK) /* total number of entries in the central dir on this disk */ - - 0009d 85 c0 test eax, eax - 0009f 75 76 jne SHORT $LN10@Write_Zip6 - -; 1801 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); - - 000a1 8b 56 2c mov edx, DWORD PTR [esi+44] - 000a4 8b ce mov ecx, esi - 000a6 6a 08 push 8 - 000a8 ff b6 fc 00 01 - 00 push DWORD PTR [esi+65788] - 000ae ff b6 f8 00 01 - 00 push DWORD PTR [esi+65784] - 000b4 e8 00 00 00 00 call _zip64local_putValue - 000b9 83 c4 0c add esp, 12 ; 0000000cH - -; 1802 : -; 1803 : if (err==ZIP_OK) /* total number of entries in the central dir */ - - 000bc 85 c0 test eax, eax - 000be 75 57 jne SHORT $LN10@Write_Zip6 - -; 1804 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); - - 000c0 8b 56 2c mov edx, DWORD PTR [esi+44] - 000c3 8b ce mov ecx, esi - 000c5 6a 08 push 8 - 000c7 ff b6 fc 00 01 - 00 push DWORD PTR [esi+65788] - 000cd ff b6 f8 00 01 - 00 push DWORD PTR [esi+65784] - 000d3 e8 00 00 00 00 call _zip64local_putValue - 000d8 83 c4 0c add esp, 12 ; 0000000cH - -; 1805 : -; 1806 : if (err==ZIP_OK) /* size of the central directory */ - - 000db 85 c0 test eax, eax - 000dd 75 38 jne SHORT $LN10@Write_Zip6 - -; 1807 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)size_centraldir,8); - - 000df 8b 56 2c mov edx, DWORD PTR [esi+44] - 000e2 8b ce mov ecx, esi - 000e4 6a 08 push 8 - 000e6 50 push eax - 000e7 57 push edi - 000e8 e8 00 00 00 00 call _zip64local_putValue - 000ed 83 c4 0c add esp, 12 ; 0000000cH - -; 1808 : -; 1809 : if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */ - - 000f0 85 c0 test eax, eax - 000f2 75 23 jne SHORT $LN10@Write_Zip6 - -; 1810 : { -; 1811 : ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - - 000f4 8b 4d 08 mov ecx, DWORD PTR _centraldir_pos_inzip$[ebp] - 000f7 2b 8e f0 00 01 - 00 sub ecx, DWORD PTR [esi+65776] - 000fd 8b 45 0c mov eax, DWORD PTR _centraldir_pos_inzip$[ebp+4] - 00100 1b 86 f4 00 01 - 00 sbb eax, DWORD PTR [esi+65780] - -; 1812 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (ZPOS64_T)pos,8); - - 00106 8b 56 2c mov edx, DWORD PTR [esi+44] - 00109 6a 08 push 8 - 0010b 50 push eax - 0010c 51 push ecx - 0010d 8b ce mov ecx, esi - 0010f e8 00 00 00 00 call _zip64local_putValue - 00114 83 c4 0c add esp, 12 ; 0000000cH -$LN10@Write_Zip6: - -; 1813 : } -; 1814 : return err; -; 1815 : } - - 00117 5f pop edi - 00118 5e pop esi - 00119 5d pop ebp - 0011a c3 ret 0 -_Write_Zip64EndOfCentralDirectoryRecord ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _Write_EndOfCentralDirectoryRecord -_TEXT SEGMENT -tv191 = -8 ; size = 8 -_centraldir_pos_inzip$ = 8 ; size = 8 -_Write_EndOfCentralDirectoryRecord PROC ; COMDAT -; _zi$ = ecx -; _size_centraldir$ = edx - -; 1817 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - 00006 56 push esi - 00007 57 push edi - 00008 8b f1 mov esi, ecx - 0000a 8b fa mov edi, edx - -; 1818 : int err = ZIP_OK; -; 1819 : -; 1820 : /*signature*/ -; 1821 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4); - - 0000c 6a 04 push 4 - 0000e 6a 00 push 0 - 00010 68 50 4b 05 06 push 101010256 ; 06054b50H - 00015 8b 56 2c mov edx, DWORD PTR [esi+44] - 00018 e8 00 00 00 00 call _zip64local_putValue - 0001d 83 c4 0c add esp, 12 ; 0000000cH - -; 1822 : -; 1823 : if (err==ZIP_OK) /* number of this disk */ - - 00020 85 c0 test eax, eax - 00022 0f 85 0c 01 00 - 00 jne $LN13@Write_EndO - -; 1824 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); - - 00028 8b 56 2c mov edx, DWORD PTR [esi+44] - 0002b 8b ce mov ecx, esi - 0002d 6a 02 push 2 - 0002f 50 push eax - 00030 50 push eax - 00031 e8 00 00 00 00 call _zip64local_putValue - 00036 83 c4 0c add esp, 12 ; 0000000cH - -; 1825 : -; 1826 : if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - - 00039 85 c0 test eax, eax - 0003b 0f 85 f3 00 00 - 00 jne $LN13@Write_EndO - -; 1827 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); - - 00041 8b 56 2c mov edx, DWORD PTR [esi+44] - 00044 8b ce mov ecx, esi - 00046 6a 02 push 2 - 00048 50 push eax - 00049 50 push eax - 0004a e8 00 00 00 00 call _zip64local_putValue - 0004f 83 c4 0c add esp, 12 ; 0000000cH - -; 1828 : -; 1829 : if (err==ZIP_OK) /* total number of entries in the central dir on this disk */ - - 00052 85 c0 test eax, eax - 00054 0f 85 da 00 00 - 00 jne $LN13@Write_EndO - -; 1830 : { -; 1831 : { -; 1832 : if(zi->number_entry >= 0xFFFF) - - 0005a 39 86 fc 00 01 - 00 cmp DWORD PTR [esi+65788], eax - 00060 77 17 ja SHORT $LN15@Write_EndO - 00062 81 be f8 00 01 - 00 ff ff 00 00 cmp DWORD PTR [esi+65784], 65535 ; 0000ffffH - 0006c 73 0b jae SHORT $LN15@Write_EndO - -; 1834 : else -; 1835 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); - - 0006e 6a 02 push 2 - 00070 50 push eax - 00071 ff b6 f8 00 01 - 00 push DWORD PTR [esi+65784] - 00077 eb 09 jmp SHORT $LN24@Write_EndO -$LN15@Write_EndO: - -; 1833 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record - - 00079 6a 02 push 2 - 0007b 6a 00 push 0 - 0007d 68 ff ff 00 00 push 65535 ; 0000ffffH -$LN24@Write_EndO: - 00082 8b 56 2c mov edx, DWORD PTR [esi+44] - 00085 8b ce mov ecx, esi - 00087 e8 00 00 00 00 call _zip64local_putValue - 0008c 83 c4 0c add esp, 12 ; 0000000cH - -; 1836 : } -; 1837 : } -; 1838 : -; 1839 : if (err==ZIP_OK) /* total number of entries in the central dir */ - - 0008f 85 c0 test eax, eax - 00091 0f 85 9d 00 00 - 00 jne $LN13@Write_EndO - -; 1840 : { -; 1841 : if(zi->number_entry >= 0xFFFF) - - 00097 39 86 fc 00 01 - 00 cmp DWORD PTR [esi+65788], eax - 0009d 77 17 ja SHORT $LN16@Write_EndO - 0009f 81 be f8 00 01 - 00 ff ff 00 00 cmp DWORD PTR [esi+65784], 65535 ; 0000ffffH - 000a9 73 0b jae SHORT $LN16@Write_EndO - -; 1843 : else -; 1844 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); - - 000ab 6a 02 push 2 - 000ad 50 push eax - 000ae ff b6 f8 00 01 - 00 push DWORD PTR [esi+65784] - 000b4 eb 09 jmp SHORT $LN25@Write_EndO -$LN16@Write_EndO: - -; 1842 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record - - 000b6 6a 02 push 2 - 000b8 6a 00 push 0 - 000ba 68 ff ff 00 00 push 65535 ; 0000ffffH -$LN25@Write_EndO: - 000bf 8b 56 2c mov edx, DWORD PTR [esi+44] - 000c2 8b ce mov ecx, esi - 000c4 e8 00 00 00 00 call _zip64local_putValue - 000c9 83 c4 0c add esp, 12 ; 0000000cH - -; 1845 : } -; 1846 : -; 1847 : if (err==ZIP_OK) /* size of the central directory */ - - 000cc 85 c0 test eax, eax - 000ce 75 64 jne SHORT $LN13@Write_EndO - -; 1848 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_centraldir,4); - - 000d0 8b 56 2c mov edx, DWORD PTR [esi+44] - 000d3 8b ce mov ecx, esi - 000d5 6a 04 push 4 - 000d7 50 push eax - 000d8 57 push edi - 000d9 e8 00 00 00 00 call _zip64local_putValue - 000de 83 c4 0c add esp, 12 ; 0000000cH - -; 1849 : -; 1850 : if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */ - - 000e1 85 c0 test eax, eax - 000e3 75 4f jne SHORT $LN13@Write_EndO - -; 1851 : { -; 1852 : ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - - 000e5 8b 55 08 mov edx, DWORD PTR _centraldir_pos_inzip$[ebp] - 000e8 8b ca mov ecx, edx - 000ea 2b 8e f0 00 01 - 00 sub ecx, DWORD PTR [esi+65776] - 000f0 8b 45 0c mov eax, DWORD PTR _centraldir_pos_inzip$[ebp+4] - 000f3 1b 86 f4 00 01 - 00 sbb eax, DWORD PTR [esi+65780] - -; 1853 : if(pos >= 0xffffffff) - - 000f9 89 45 fc mov DWORD PTR tv191[ebp+4], eax - 000fc 75 23 jne SHORT $LN17@Write_EndO - 000fe 83 f9 ff cmp ecx, -1 - 00101 73 1e jae SHORT $LN17@Write_EndO - -; 1856 : } -; 1857 : else -; 1858 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)(centraldir_pos_inzip - zi->add_position_when_writting_offset),4); - - 00103 2b 96 f0 00 01 - 00 sub edx, DWORD PTR [esi+65776] - 00109 8b ce mov ecx, esi - 0010b 6a 04 push 4 - 0010d 6a 00 push 0 - 0010f 52 push edx - 00110 8b 56 2c mov edx, DWORD PTR [esi+44] - 00113 e8 00 00 00 00 call _zip64local_putValue - 00118 83 c4 0c add esp, 12 ; 0000000cH - -; 1859 : } -; 1860 : -; 1861 : return err; -; 1862 : } - - 0011b 5f pop edi - 0011c 5e pop esi - 0011d 8b e5 mov esp, ebp - 0011f 5d pop ebp - 00120 c3 ret 0 -$LN17@Write_EndO: - -; 1854 : { -; 1855 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)0xffffffff,4); - - 00121 8b 56 2c mov edx, DWORD PTR [esi+44] - 00124 8b ce mov ecx, esi - 00126 6a 04 push 4 - 00128 6a 00 push 0 - 0012a 6a ff push -1 - 0012c e8 00 00 00 00 call _zip64local_putValue - 00131 83 c4 0c add esp, 12 ; 0000000cH -$LN13@Write_EndO: - -; 1859 : } -; 1860 : -; 1861 : return err; -; 1862 : } - - 00134 5f pop edi - 00135 5e pop esi - 00136 8b e5 mov esp, ebp - 00138 5d pop ebp - 00139 c3 ret 0 -_Write_EndOfCentralDirectoryRecord ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _Write_GlobalComment -_TEXT SEGMENT -_global_comment$1$ = -4 ; size = 4 -_Write_GlobalComment PROC ; COMDAT -; _zi$ = ecx -; _global_comment$ = edx - -; 1865 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 8b c2 mov eax, edx - -; 1866 : int err = ZIP_OK; -; 1867 : uInt size_global_comment = 0; - - 00008 33 f6 xor esi, esi - 0000a 89 45 fc mov DWORD PTR _global_comment$1$[ebp], eax - 0000d 8b d9 mov ebx, ecx - 0000f 57 push edi - -; 1868 : -; 1869 : if(global_comment != NULL) - - 00010 85 c0 test eax, eax - 00012 74 15 je SHORT $LN2@Write_Glob - -; 1870 : size_global_comment = (uInt)strlen(global_comment); - - 00014 8b f0 mov esi, eax - 00016 8d 4e 01 lea ecx, DWORD PTR [esi+1] - 00019 0f 1f 80 00 00 - 00 00 npad 7 -$LL6@Write_Glob: - 00020 8a 06 mov al, BYTE PTR [esi] - 00022 46 inc esi - 00023 84 c0 test al, al - 00025 75 f9 jne SHORT $LL6@Write_Glob - 00027 2b f1 sub esi, ecx -$LN2@Write_Glob: - -; 1871 : -; 1872 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_global_comment,2); - - 00029 8b 53 2c mov edx, DWORD PTR [ebx+44] - 0002c 8b cb mov ecx, ebx - 0002e 6a 02 push 2 - 00030 6a 00 push 0 - 00032 56 push esi - 00033 e8 00 00 00 00 call _zip64local_putValue - 00038 8b f8 mov edi, eax - 0003a 83 c4 0c add esp, 12 ; 0000000cH - -; 1873 : -; 1874 : if (err == ZIP_OK && size_global_comment > 0) - - 0003d 85 ff test edi, edi - 0003f 75 1e jne SHORT $LN7@Write_Glob - 00041 85 f6 test esi, esi - 00043 74 1a je SHORT $LN7@Write_Glob - -; 1875 : { -; 1876 : if (ZWRITE64(zi->z_filefunc,zi->filestream, global_comment, size_global_comment) != size_global_comment) - - 00045 8b 4b 08 mov ecx, DWORD PTR [ebx+8] - 00048 56 push esi - 00049 ff 75 fc push DWORD PTR _global_comment$1$[ebp] - 0004c ff 73 2c push DWORD PTR [ebx+44] - 0004f ff 73 1c push DWORD PTR [ebx+28] - 00052 ff d1 call ecx - 00054 83 c9 ff or ecx, -1 - 00057 83 c4 10 add esp, 16 ; 00000010H - 0005a 3b c6 cmp eax, esi - 0005c 0f 45 f9 cmovne edi, ecx -$LN7@Write_Glob: - -; 1877 : err = ZIP_ERRNO; -; 1878 : } -; 1879 : return err; - - 0005f 8b c7 mov eax, edi - -; 1880 : } - - 00061 5f pop edi - 00062 5e pop esi - 00063 5b pop ebx - 00064 8b e5 mov esp, ebp - 00066 5d pop ebp - 00067 c3 ret 0 -_Write_GlobalComment ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\contrib\minizip\zip.c -; COMDAT _zipClose@8 -_TEXT SEGMENT -_size_centraldir$1$ = -16 ; size = 4 -_err$1$ = -12 ; size = 4 -_centraldir_pos_inzip$2$ = -8 ; size = 4 -_centraldir_pos_inzip$1$ = -4 ; size = 4 -_file$ = 8 ; size = 4 -_global_comment$ = 12 ; size = 4 -_zipClose@8 PROC ; COMDAT - -; 1883 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 14 sub esp, 20 ; 00000014H - 00009 53 push ebx - 0000a 56 push esi - -; 1884 : zip64_internal* zi; -; 1885 : int err = 0; -; 1886 : uLong size_centraldir = 0; -; 1887 : ZPOS64_T centraldir_pos_inzip; -; 1888 : ZPOS64_T pos; -; 1889 : -; 1890 : if (file == NULL) - - 0000b 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 0000e 33 db xor ebx, ebx - 00010 89 5c 24 10 mov DWORD PTR _err$1$[esp+28], ebx - 00014 89 5c 24 0c mov DWORD PTR _size_centraldir$1$[esp+28], ebx - 00018 57 push edi - 00019 85 f6 test esi, esi - 0001b 75 0c jne SHORT $LN4@zipClose - -; 1891 : return ZIP_PARAMERROR; - - 0001d 8d 43 9a lea eax, DWORD PTR [ebx-102] - -; 1949 : } - - 00020 5f pop edi - 00021 5e pop esi - 00022 5b pop ebx - 00023 8b e5 mov esp, ebp - 00025 5d pop ebp - 00026 c2 08 00 ret 8 -$LN4@zipClose: - -; 1892 : -; 1893 : zi = (zip64_internal*)file; -; 1894 : -; 1895 : if (zi->in_opened_file_inzip == 1) - - 00029 83 7e 38 01 cmp DWORD PTR [esi+56], 1 - 0002d 75 0c jne SHORT $LN5@zipClose - -; 1896 : { -; 1897 : err = zipCloseFileInZip (file); - - 0002f 56 push esi - 00030 e8 00 00 00 00 call _zipCloseFileInZip@4 - 00035 8b d8 mov ebx, eax - 00037 89 44 24 14 mov DWORD PTR _err$1$[esp+32], eax -$LN5@zipClose: - -; 1898 : } -; 1899 : -; 1900 : #ifndef NO_ADDFILEINEXISTINGZIP -; 1901 : if (global_comment==NULL) - - 0003b 83 7d 0c 00 cmp DWORD PTR _global_comment$[ebp], 0 - 0003f 75 09 jne SHORT $LN6@zipClose - -; 1902 : global_comment = zi->globalcomment; - - 00041 8b 86 00 01 01 - 00 mov eax, DWORD PTR [esi+65792] - 00047 89 45 0c mov DWORD PTR _global_comment$[ebp], eax -$LN6@zipClose: - -; 1903 : #endif -; 1904 : -; 1905 : centraldir_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream); - - 0004a 8b 56 2c mov edx, DWORD PTR [esi+44] - 0004d 8b ce mov ecx, esi - 0004f e8 00 00 00 00 call _call_ztell64 - 00054 89 44 24 18 mov DWORD PTR _centraldir_pos_inzip$2$[esp+32], eax - 00058 89 54 24 1c mov DWORD PTR _centraldir_pos_inzip$1$[esp+32], edx - -; 1906 : -; 1907 : if (err==ZIP_OK) - - 0005c 85 db test ebx, ebx - 0005e 75 4e jne SHORT $LN3@zipClose - -; 1908 : { -; 1909 : linkedlist_datablock_internal* ldi = zi->central_dir.first_block; - - 00060 8b 7e 30 mov edi, DWORD PTR [esi+48] - -; 1910 : while (ldi!=NULL) - - 00063 85 ff test edi, edi - 00065 74 47 je SHORT $LN3@zipClose - 00067 33 c0 xor eax, eax - 00069 0f 1f 80 00 00 - 00 00 npad 7 -$LL2@zipClose: - -; 1911 : { -; 1912 : if ((err==ZIP_OK) && (ldi->filled_in_this_block>0)) - - 00070 85 db test ebx, ebx - 00072 75 29 jne SHORT $LN9@zipClose - 00074 8b 47 08 mov eax, DWORD PTR [edi+8] - 00077 85 c0 test eax, eax - 00079 74 1e je SHORT $LN25@zipClose - -; 1913 : { -; 1914 : if (ZWRITE64(zi->z_filefunc,zi->filestream, ldi->data, ldi->filled_in_this_block) != ldi->filled_in_this_block) - - 0007b 50 push eax - 0007c 8d 47 10 lea eax, DWORD PTR [edi+16] - 0007f 50 push eax - 00080 ff 76 2c push DWORD PTR [esi+44] - 00083 8b 46 08 mov eax, DWORD PTR [esi+8] - 00086 ff 76 1c push DWORD PTR [esi+28] - 00089 ff d0 call eax - 0008b 83 c4 10 add esp, 16 ; 00000010H - 0008e 3b 47 08 cmp eax, DWORD PTR [edi+8] - 00091 b8 ff ff ff ff mov eax, -1 - 00096 0f 45 d8 cmovne ebx, eax -$LN25@zipClose: - 00099 8b 44 24 10 mov eax, DWORD PTR _size_centraldir$1$[esp+32] -$LN9@zipClose: - -; 1915 : err = ZIP_ERRNO; -; 1916 : } -; 1917 : -; 1918 : size_centraldir += ldi->filled_in_this_block; - - 0009d 03 47 08 add eax, DWORD PTR [edi+8] - -; 1919 : ldi = ldi->next_datablock; - - 000a0 8b 3f mov edi, DWORD PTR [edi] - 000a2 89 44 24 10 mov DWORD PTR _size_centraldir$1$[esp+32], eax - 000a6 85 ff test edi, edi - 000a8 75 c6 jne SHORT $LL2@zipClose - 000aa 89 5c 24 14 mov DWORD PTR _err$1$[esp+32], ebx -$LN3@zipClose: - -; 1920 : } -; 1921 : } -; 1922 : free_linkedlist(&(zi->central_dir)); - - 000ae 8d 4e 30 lea ecx, DWORD PTR [esi+48] - 000b1 e8 00 00 00 00 call _free_linkedlist - -; 1923 : -; 1924 : pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - - 000b6 8b 54 24 18 mov edx, DWORD PTR _centraldir_pos_inzip$2$[esp+32] - 000ba 8b ca mov ecx, edx - 000bc 2b 8e f0 00 01 - 00 sub ecx, DWORD PTR [esi+65776] - 000c2 8b 7c 24 1c mov edi, DWORD PTR _centraldir_pos_inzip$1$[esp+32] - 000c6 8b c7 mov eax, edi - 000c8 1b 86 f4 00 01 - 00 sbb eax, DWORD PTR [esi+65780] - -; 1925 : if(pos >= 0xffffffff || zi->number_entry > 0xFFFF) - - 000ce 85 c0 test eax, eax - 000d0 77 1c ja SHORT $LN24@zipClose - 000d2 72 05 jb SHORT $LN23@zipClose - 000d4 83 f9 ff cmp ecx, -1 - 000d7 73 15 jae SHORT $LN24@zipClose -$LN23@zipClose: - 000d9 83 be fc 00 01 - 00 00 cmp DWORD PTR [esi+65788], 0 - 000e0 77 0c ja SHORT $LN24@zipClose - 000e2 81 be f8 00 01 - 00 ff ff 00 00 cmp DWORD PTR [esi+65784], 65535 ; 0000ffffH - 000ec 76 39 jbe SHORT $LN10@zipClose -$LN24@zipClose: - -; 1926 : { -; 1927 : ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream); - - 000ee 8b 56 2c mov edx, DWORD PTR [esi+44] - 000f1 8b ce mov ecx, esi - 000f3 e8 00 00 00 00 call _call_ztell64 - -; 1928 : Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip); - - 000f8 ff 74 24 1c push DWORD PTR _centraldir_pos_inzip$1$[esp+32] - 000fc 8b fa mov edi, edx - 000fe 8b ce mov ecx, esi - 00100 ff 74 24 1c push DWORD PTR _centraldir_pos_inzip$2$[esp+36] - 00104 8b 54 24 18 mov edx, DWORD PTR _size_centraldir$1$[esp+40] - 00108 8b d8 mov ebx, eax - 0010a e8 00 00 00 00 call _Write_Zip64EndOfCentralDirectoryRecord - -; 1929 : -; 1930 : Write_Zip64EndOfCentralDirectoryLocator(zi, Zip64EOCDpos); - - 0010f 57 push edi - 00110 53 push ebx - 00111 8b ce mov ecx, esi - 00113 e8 00 00 00 00 call _Write_Zip64EndOfCentralDirectoryLocator - 00118 8b 5c 24 24 mov ebx, DWORD PTR _err$1$[esp+48] - 0011c 83 c4 10 add esp, 16 ; 00000010H - 0011f 8b 54 24 18 mov edx, DWORD PTR _centraldir_pos_inzip$2$[esp+32] - 00123 8b 7c 24 1c mov edi, DWORD PTR _centraldir_pos_inzip$1$[esp+32] -$LN10@zipClose: - -; 1931 : } -; 1932 : -; 1933 : if (err==ZIP_OK) - - 00127 85 db test ebx, ebx - 00129 75 22 jne SHORT $LN13@zipClose - -; 1934 : err = Write_EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip); - - 0012b 57 push edi - 0012c 52 push edx - 0012d 8b 54 24 18 mov edx, DWORD PTR _size_centraldir$1$[esp+40] - 00131 8b ce mov ecx, esi - 00133 e8 00 00 00 00 call _Write_EndOfCentralDirectoryRecord - 00138 8b d8 mov ebx, eax - 0013a 83 c4 08 add esp, 8 - -; 1935 : -; 1936 : if(err == ZIP_OK) - - 0013d 85 db test ebx, ebx - 0013f 75 0c jne SHORT $LN13@zipClose - -; 1937 : err = Write_GlobalComment(zi, global_comment); - - 00141 8b 55 0c mov edx, DWORD PTR _global_comment$[ebp] - 00144 8b ce mov ecx, esi - 00146 e8 00 00 00 00 call _Write_GlobalComment - 0014b 8b d8 mov ebx, eax -$LN13@zipClose: - -; 1938 : -; 1939 : if (ZCLOSE64(zi->z_filefunc,zi->filestream) != 0) - - 0014d ff 76 2c push DWORD PTR [esi+44] - 00150 8b 46 14 mov eax, DWORD PTR [esi+20] - 00153 ff 76 1c push DWORD PTR [esi+28] - 00156 ff d0 call eax - 00158 83 c4 08 add esp, 8 - 0015b 85 c0 test eax, eax - 0015d 74 0a je SHORT $LN15@zipClose - -; 1940 : if (err == ZIP_OK) - - 0015f 85 db test ebx, ebx - 00161 b8 ff ff ff ff mov eax, -1 - 00166 0f 44 d8 cmove ebx, eax -$LN15@zipClose: - -; 1941 : err = ZIP_ERRNO; -; 1942 : -; 1943 : #ifndef NO_ADDFILEINEXISTINGZIP -; 1944 : TRYFREE(zi->globalcomment); - - 00169 8b 86 00 01 01 - 00 mov eax, DWORD PTR [esi+65792] - 0016f 8b 3d 00 00 00 - 00 mov edi, DWORD PTR __imp__free - 00175 85 c0 test eax, eax - 00177 74 06 je SHORT $LN16@zipClose - 00179 50 push eax - 0017a ff d7 call edi - 0017c 83 c4 04 add esp, 4 -$LN16@zipClose: - -; 1945 : #endif -; 1946 : TRYFREE(zi); - - 0017f 56 push esi - 00180 ff d7 call edi - 00182 83 c4 04 add esp, 4 - -; 1947 : -; 1948 : return err; - - 00185 8b c3 mov eax, ebx - -; 1949 : } - - 00187 5f pop edi - 00188 5e pop esi - 00189 5b pop ebx - 0018a 8b e5 mov esp, ebp - 0018c 5d pop ebp - 0018d c2 08 00 ret 8 -_zipClose@8 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zip.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zip.obj deleted file mode 100644 index f7b88cac91..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zip.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlib.res b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlib.res deleted file mode 100644 index 9316316bcc..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlib.res and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.log b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.log deleted file mode 100644 index 1b01ff01d7..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.log +++ /dev/null @@ -1,25 +0,0 @@ - adler32.c - compress.c - crc32.c - deflate.c - gzclose.c - gzlib.c - gzread.c - gzwrite.c - infback.c - inffast.c - inflate.c - inftrees.c - ioapi.c - iowin32.c - trees.c - uncompr.c - unzip.c - zip.c - zutil.c - Creating library x86\ZlibDllReleaseWithoutAsm\zlibwapi.lib and object x86\ZlibDllReleaseWithoutAsm\zlibwapi.exp - Generating code - All 255 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. - Finished generating code - zlibvc.vcxproj -> d:\Downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\ZlibDllReleaseWithoutAsm\zlibwapi.dll - zlibvc.vcxproj -> x86\ZlibDllReleaseWithoutAsm\zlibwapi.pdb (Full PDB) diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.command.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.command.1.tlog deleted file mode 100644 index 7b1c7f359f..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.command.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.read.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.read.1.tlog deleted file mode 100644 index 3eab217343..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.read.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.write.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.write.1.tlog deleted file mode 100644 index 612c48e1a4..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/CL.write.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.command.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.command.1.tlog deleted file mode 100644 index 5f847490e7..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.command.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.read.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.read.1.tlog deleted file mode 100644 index 4dfd27e5a9..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.read.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.write.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.write.1.tlog deleted file mode 100644 index d4cad299ae..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/link.write.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.command.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.command.1.tlog deleted file mode 100644 index 6ff6699b4a..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.command.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.read.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.read.1.tlog deleted file mode 100644 index 1d1629b28b..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.read.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.write.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.write.1.tlog deleted file mode 100644 index 37a72c41da..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/rc.write.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/zlibvc.lastbuildstate b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/zlibvc.lastbuildstate deleted file mode 100644 index 2b818f9515..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/zlibvc.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1 -ReleaseWithoutAsm|Win32|D:\Downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\| diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/zlibvc.write.1u.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/zlibvc.write.1u.tlog deleted file mode 100644 index 54f7582e08..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibvc.tlog/zlibvc.write.1u.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibwapi.Build.CppClean.log b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibwapi.Build.CppClean.log deleted file mode 100644 index 91635388f2..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zlibwapi.Build.CppClean.log +++ /dev/null @@ -1,31 +0,0 @@ -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\vc140.pdb -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zutil.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zip.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\unzip.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\uncompr.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\trees.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\iowin32.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\ioapi.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\inftrees.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\inflate.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\inffast.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\infback.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\gzwrite.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\gzread.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\gzlib.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\gzclose.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\deflate.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\crc32.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\compress.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\adler32.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zlib.res -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\zlibwapi.dll -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zlibvc.tlog\cl.command.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zlibvc.tlog\cl.read.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zlibvc.tlog\cl.write.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zlibvc.tlog\link.command.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zlibvc.tlog\link.read.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zlibvc.tlog\link.write.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zlibvc.tlog\rc.command.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zlibvc.tlog\rc.read.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibdllreleasewithoutasm\tmp\zlibvc.tlog\rc.write.1.tlog diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zutil.cod b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zutil.cod deleted file mode 100644 index f090b9859a..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zutil.cod +++ /dev/null @@ -1,259 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23506.0 - - TITLE d:\downloads\tgl-master\tgl-master\zlib\zutil.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _z_errmsg -PUBLIC ??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ ; `string' -PUBLIC ??_C@_0L@FNAOCBOG@stream?5end?$AA@ ; `string' -PUBLIC ??_C@_0L@KIJFAKBJ@file?5error?$AA@ ; `string' -PUBLIC ??_C@_0N@MKKNPMJD@stream?5error?$AA@ ; `string' -PUBLIC ??_C@_0L@HAHMBNLP@data?5error?$AA@ ; `string' -PUBLIC ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ ; `string' -PUBLIC ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ ; `string' -PUBLIC ??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ ; `string' -; COMDAT ??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ -CONST SEGMENT -??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ DB 'incompatible version', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ -CONST SEGMENT -??_C@_0N@DFPGLBGC@buffer?5error?$AA@ DB 'buffer error', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ -CONST SEGMENT -??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ DB 'insufficient memory', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@HAHMBNLP@data?5error?$AA@ -CONST SEGMENT -??_C@_0L@HAHMBNLP@data?5error?$AA@ DB 'data error', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@MKKNPMJD@stream?5error?$AA@ -CONST SEGMENT -??_C@_0N@MKKNPMJD@stream?5error?$AA@ DB 'stream error', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@KIJFAKBJ@file?5error?$AA@ -CONST SEGMENT -??_C@_0L@KIJFAKBJ@file?5error?$AA@ DB 'file error', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@FNAOCBOG@stream?5end?$AA@ -CONST SEGMENT -??_C@_0L@FNAOCBOG@stream?5end?$AA@ DB 'stream end', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ -CONST SEGMENT -??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ DB 'need dictionary', 00H ; `string' - ORG $+3 -_z_errmsg DD FLAT:??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ - DD FLAT:??_C@_0L@FNAOCBOG@stream?5end?$AA@ - DD FLAT:??_C@_00CNPNBAHC@?$AA@ - DD FLAT:??_C@_0L@KIJFAKBJ@file?5error?$AA@ - DD FLAT:??_C@_0N@MKKNPMJD@stream?5error?$AA@ - DD FLAT:??_C@_0L@HAHMBNLP@data?5error?$AA@ - DD FLAT:??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ - DD FLAT:??_C@_0N@DFPGLBGC@buffer?5error?$AA@ - DD FLAT:??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ - DD FLAT:??_C@_00CNPNBAHC@?$AA@ -PUBLIC _zError@4 -PUBLIC _zlibCompileFlags@0 -PUBLIC _zlibVersion@0 -PUBLIC _zcfree -PUBLIC _zcalloc -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\zutil.c -; COMDAT _zcalloc -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_items$ = 12 ; size = 4 -_size$ = 16 ; size = 4 -_zcalloc PROC ; COMDAT - -; 308 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 309 : if (opaque) items += size - size; /* make compiler happy */ -; 310 : return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) : - - 00003 8b 45 0c mov eax, DWORD PTR _items$[ebp] - 00006 0f af 45 10 imul eax, DWORD PTR _size$[ebp] - 0000a 50 push eax - 0000b ff 15 00 00 00 - 00 call DWORD PTR __imp__malloc - 00011 83 c4 04 add esp, 4 - -; 311 : (voidpf)calloc(items, size); -; 312 : } - - 00014 5d pop ebp - 00015 c3 ret 0 -_zcalloc ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\zutil.c -; COMDAT _zcfree -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_ptr$ = 12 ; size = 4 -_zcfree PROC ; COMDAT - -; 317 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 318 : free(ptr); - - 00003 ff 75 0c push DWORD PTR _ptr$[ebp] - 00006 ff 15 00 00 00 - 00 call DWORD PTR __imp__free - 0000c 83 c4 04 add esp, 4 - -; 319 : if (opaque) return; /* make compiler happy */ -; 320 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -_zcfree ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\zutil.c -; COMDAT _zlibVersion@0 -_TEXT SEGMENT -_zlibVersion@0 PROC ; COMDAT - -; 32 : return ZLIB_VERSION; - - 00000 b8 00 00 00 00 mov eax, OFFSET ??_C@_05IAIEPMAK@1?42?48?$AA@ - -; 33 : } - - 00005 c3 ret 0 -_zlibVersion@0 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\zutil.c -; COMDAT _zlibCompileFlags@0 -_TEXT SEGMENT -_zlibCompileFlags@0 PROC ; COMDAT - -; 37 : uLong flags; -; 38 : -; 39 : flags = 0; -; 40 : switch ((int)(sizeof(uInt))) { -; 41 : case 2: break; -; 42 : case 4: flags += 1; break; -; 43 : case 8: flags += 2; break; -; 44 : default: flags += 3; -; 45 : } -; 46 : switch ((int)(sizeof(uLong))) { -; 47 : case 2: break; -; 48 : case 4: flags += 1 << 2; break; -; 49 : case 8: flags += 2 << 2; break; -; 50 : default: flags += 3 << 2; -; 51 : } -; 52 : switch ((int)(sizeof(voidpf))) { -; 53 : case 2: break; -; 54 : case 4: flags += 1 << 4; break; -; 55 : case 8: flags += 2 << 4; break; -; 56 : default: flags += 3 << 4; -; 57 : } -; 58 : switch ((int)(sizeof(z_off_t))) { -; 59 : case 2: break; -; 60 : case 4: flags += 1 << 6; break; -; 61 : case 8: flags += 2 << 6; break; -; 62 : default: flags += 3 << 6; -; 63 : } -; 64 : #ifdef DEBUG -; 65 : flags += 1 << 8; -; 66 : #endif -; 67 : #if defined(ASMV) || defined(ASMINF) -; 68 : flags += 1 << 9; -; 69 : #endif -; 70 : #ifdef ZLIB_WINAPI -; 71 : flags += 1 << 10; -; 72 : #endif -; 73 : #ifdef BUILDFIXED -; 74 : flags += 1 << 12; -; 75 : #endif -; 76 : #ifdef DYNAMIC_CRC_TABLE -; 77 : flags += 1 << 13; -; 78 : #endif -; 79 : #ifdef NO_GZCOMPRESS -; 80 : flags += 1L << 16; -; 81 : #endif -; 82 : #ifdef NO_GZIP -; 83 : flags += 1L << 17; -; 84 : #endif -; 85 : #ifdef PKZIP_BUG_WORKAROUND -; 86 : flags += 1L << 20; -; 87 : #endif -; 88 : #ifdef FASTEST -; 89 : flags += 1L << 21; -; 90 : #endif -; 91 : #if defined(STDC) || defined(Z_HAVE_STDARG_H) -; 92 : # ifdef NO_vsnprintf -; 93 : flags += 1L << 25; -; 94 : # ifdef HAS_vsprintf_void -; 95 : flags += 1L << 26; -; 96 : # endif -; 97 : # else -; 98 : # ifdef HAS_vsnprintf_void -; 99 : flags += 1L << 26; -; 100 : # endif -; 101 : # endif -; 102 : #else -; 103 : flags += 1L << 24; -; 104 : # ifdef NO_snprintf -; 105 : flags += 1L << 25; -; 106 : # ifdef HAS_sprintf_void -; 107 : flags += 1L << 26; -; 108 : # endif -; 109 : # else -; 110 : # ifdef HAS_snprintf_void -; 111 : flags += 1L << 26; -; 112 : # endif -; 113 : # endif -; 114 : #endif -; 115 : return flags; - - 00000 b8 55 04 00 00 mov eax, 1109 ; 00000455H - -; 116 : } - - 00005 c3 ret 0 -_zlibCompileFlags@0 ENDP -_TEXT ENDS -; Function compile flags: /Ogtp -; File d:\downloads\tgl-master\tgl-master\zlib\zutil.c -; COMDAT _zError@4 -_TEXT SEGMENT -_err$ = 8 ; size = 4 -_zError@4 PROC ; COMDAT - -; 138 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 139 : return ERR_MSG(err); - - 00003 8b 45 08 mov eax, DWORD PTR _err$[ebp] - 00006 b9 08 00 00 00 mov ecx, OFFSET _z_errmsg+8 - 0000b c1 e0 02 shl eax, 2 - 0000e 2b c8 sub ecx, eax - 00010 8b 01 mov eax, DWORD PTR [ecx] - -; 140 : } - - 00012 5d pop ebp - 00013 c2 04 00 ret 4 -_zError@4 ENDP -_TEXT ENDS -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zutil.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zutil.obj deleted file mode 100644 index 508155a890..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/Tmp/zutil.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/vc140.pdb b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/vc140.pdb deleted file mode 100644 index 616296a510..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/vc140.pdb and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.dll b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.dll deleted file mode 100644 index 6b12faecb8..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.dll and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.exp b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.exp deleted file mode 100644 index 97d7a3df8e..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.exp and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.iobj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.iobj deleted file mode 100644 index 47e1656954..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.iobj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.ipdb b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.ipdb deleted file mode 100644 index 5e1382c377..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.ipdb and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.lib b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.lib deleted file mode 100644 index ab26344338..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.lib and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.map b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.map deleted file mode 100644 index 5714b565d7..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.map +++ /dev/null @@ -1,861 +0,0 @@ - zlibwapi - - Timestamp is 56dd9cc4 (Mon Mar 7 18:22:44 2016) - - Preferred load address is 10000000 - - Start Length Name Class - 0001:00000000 000102c4H .text$mn CODE - 0002:00000000 0000011cH .idata$5 DATA - 0002:0000011c 00000004H .00cfg DATA - 0002:00000120 00000004H .CRT$XCA DATA - 0002:00000124 00000004H .CRT$XCZ DATA - 0002:00000128 00000004H .CRT$XIA DATA - 0002:0000012c 00000004H .CRT$XIZ DATA - 0002:00000130 00000004H .CRT$XPA DATA - 0002:00000134 00000004H .CRT$XPZ DATA - 0002:00000138 00000004H .CRT$XTA DATA - 0002:0000013c 00000004H .CRT$XTZ DATA - 0002:00000140 000041dcH .rdata DATA - 0002:00004320 00000004H .rdata$sxdata DATA - 0002:00004324 000002d0H .rdata$zzzdbg DATA - 0002:000045f4 00000004H .rtc$IAA DATA - 0002:000045f8 00000004H .rtc$IZZ DATA - 0002:000045fc 00000004H .rtc$TAA DATA - 0002:00004600 00000004H .rtc$TZZ DATA - 0002:00004608 0000007cH .xdata$x DATA - 0002:00004690 00000c44H .edata DATA - 0002:000052d4 000000a0H .idata$2 DATA - 0002:00005374 00000014H .idata$3 DATA - 0002:00005388 0000011cH .idata$4 DATA - 0002:000054a4 0000050aH .idata$6 DATA - 0003:00000000 00000060H .data DATA - 0003:00000060 00000388H .bss DATA - 0004:00000000 0000001cH .gfids$y DATA - 0005:00000000 00000058H .rsrc$01 DATA - 0005:00000060 00000338H .rsrc$02 DATA - - Address Publics by Value Rva+Base Lib:Object - - 0000:00000000 ___guard_iat_count 00000000 - 0000:00000000 ___guard_fids_table 00000000 - 0000:00000000 ___guard_longjmp_count 00000000 - 0000:00000000 ___guard_iat_table 00000000 - 0000:00000000 ___guard_longjmp_table 00000000 - 0000:00000000 ___guard_fids_count 00000000 - 0000:00000001 ___safe_se_handler_count 00000001 - 0000:00000100 ___guard_flags 00000100 - 0000:00000000 ___ImageBase 10000000 - 0001:00000000 _adler32@12 10001000 f adler32.obj - 0001:00000340 _adler32_combine@12 10001340 f adler32.obj - 0001:00000360 _compress2@20 10001360 f compress.obj - 0001:00000410 _compress@16 10001410 f compress.obj - 0001:00000430 _compressBound@4 10001430 f compress.obj - 0001:00000450 _get_crc_table@0 10001450 f crc32.obj - 0001:00000460 _crc32@12 10001460 f crc32.obj - 0001:00000b50 _crc32_combine@12 10001b50 f crc32.obj - 0001:00000b70 _deflateInit_@16 10001b70 f deflate.obj - 0001:00000b90 _deflateInit2_@32 10001b90 f deflate.obj - 0001:00000dc0 _deflateSetDictionary@12 10001dc0 f deflate.obj - 0001:00000f60 _deflateResetKeep@4 10001f60 f deflate.obj - 0001:00001010 _deflateReset@4 10002010 f deflate.obj - 0001:00001040 _deflateSetHeader@8 10002040 f deflate.obj - 0001:00001070 _deflatePending@12 10002070 f deflate.obj - 0001:000010b0 _deflatePrime@12 100020b0 f deflate.obj - 0001:00001140 _deflateParams@12 10002140 f deflate.obj - 0001:00001240 _deflateTune@20 10002240 f deflate.obj - 0001:00001290 _deflateBound@8 10002290 f deflate.obj - 0001:00001400 _deflate@8 10002400 f deflate.obj - 0001:00001c70 _deflateEnd@4 10002c70 f deflate.obj - 0001:00001d50 _deflateCopy@8 10002d50 f deflate.obj - 0001:00003010 _gzclose@4 10004010 f gzclose.obj - 0001:00003040 ___local_stdio_printf_options 10004040 f i gzlib.obj - 0001:00003050 __vsnprintf_l 10004050 f i gzlib.obj - 0001:00003080 __vsnprintf 10004080 f i gzlib.obj - 0001:000030b0 __snprintf 100040b0 f i gzlib.obj - 0001:00003450 _gzopen@8 10004450 f gzlib.obj - 0001:00003470 _gzdopen@8 10004470 f gzlib.obj - 0001:000034d0 _gzopen_w@8 100044d0 f gzlib.obj - 0001:000034f0 _gzbuffer@8 100044f0 f gzlib.obj - 0001:00003530 _gzrewind@4 10004530 f gzlib.obj - 0001:00003590 _gzseek64@16 10004590 f gzlib.obj - 0001:00003720 _gzseek@12 10004720 f gzlib.obj - 0001:00003760 _gztell64@4 10004760 f gzlib.obj - 0001:000037c0 _gztell@4 100047c0 f gzlib.obj - 0001:000037f0 _gzoffset64@4 100047f0 f gzlib.obj - 0001:00003840 _gzoffset@4 10004840 f gzlib.obj - 0001:00003870 _gzeof@4 10004870 f gzlib.obj - 0001:000038b0 _gzerror@8 100048b0 f gzlib.obj - 0001:00003900 _gzclearerr@4 10004900 f gzlib.obj - 0001:00003940 _gz_error 10004940 f gzlib.obj - 0001:00003e90 _gzread@12 10004e90 f gzread.obj - 0001:00003fe0 _gzgetc@4 10004fe0 f gzread.obj - 0001:00004040 _gzgetc_@4 10005040 f gzread.obj - 0001:00004050 _gzungetc@8 10005050 f gzread.obj - 0001:00004130 _gzgets@12 10005130 f gzread.obj - 0001:00004240 _gzdirect@4 10005240 f gzread.obj - 0001:00004280 _gzclose_r@4 10005280 f gzread.obj - 0001:00004310 _vsnprintf 10005310 f i gzwrite.obj - 0001:00004620 _gzwrite@12 10005620 f gzwrite.obj - 0001:00004740 _gzputc@8 10005740 f gzwrite.obj - 0001:000047f0 _gzputs@8 100057f0 f gzwrite.obj - 0001:00004830 _gzvprintf 10005830 f gzwrite.obj - 0001:00004910 _gzprintf 10005910 f gzwrite.obj - 0001:00004930 _gzflush@8 10005930 f gzwrite.obj - 0001:000049a0 _gzsetparams@12 100059a0 f gzwrite.obj - 0001:00004a50 _gzclose_w@4 10005a50 f gzwrite.obj - 0001:00004b10 _inflateBackInit_@20 10005b10 f infback.obj - 0001:00004c10 _inflateBack@20 10005c10 f infback.obj - 0001:00005a10 _inflateBackEnd@4 10006a10 f infback.obj - 0001:00005a50 _inflate_fast 10006a50 f inffast.obj - 0001:00005e80 _inflateResetKeep@4 10006e80 f inflate.obj - 0001:00005f30 _inflateReset@4 10006f30 f inflate.obj - 0001:00005f70 _inflateReset2@8 10006f70 f inflate.obj - 0001:00006000 _inflateInit2_@16 10007000 f inflate.obj - 0001:000060c0 _inflateInit_@12 100070c0 f inflate.obj - 0001:000060e0 _inflatePrime@12 100070e0 f inflate.obj - 0001:00006270 _inflate@8 10007270 f inflate.obj - 0001:00007940 _inflateEnd@4 10008940 f inflate.obj - 0001:00007990 _inflateGetDictionary@12 10008990 f inflate.obj - 0001:00007a00 _inflateSetDictionary@12 10008a00 f inflate.obj - 0001:00007aa0 _inflateGetHeader@8 10008aa0 f inflate.obj - 0001:00007b60 _inflateSync@4 10008b60 f inflate.obj - 0001:00007c50 _inflateSyncPoint@4 10008c50 f inflate.obj - 0001:00007c90 _inflateCopy@8 10008c90 f inflate.obj - 0001:00007df0 _inflateUndermine@8 10008df0 f inflate.obj - 0001:00007e20 _inflateMark@4 10008e20 f inflate.obj - 0001:00007e90 _inflate_table 10008e90 f inftrees.obj - 0001:000082a0 _call_zopen64 100092a0 f ioapi.obj - 0001:000082c0 _call_zseek64 100092c0 f ioapi.obj - 0001:00008320 _call_ztell64 10009320 f ioapi.obj - 0001:00008350 _fill_zlib_filefunc64_32_def_from_filefunc32 10009350 f ioapi.obj - 0001:000085a0 _fill_fopen64_filefunc 100095a0 f ioapi.obj - 0001:00008690 _win32_open64_file_func 10009690 f iowin32.obj - 0001:00008700 _win32_open64_file_funcA 10009700 f iowin32.obj - 0001:00008770 _win32_open64_file_funcW 10009770 f iowin32.obj - 0001:000087c0 _win32_open_file_func 100097c0 f iowin32.obj - 0001:00008830 _win32_read_file_func 10009830 f iowin32.obj - 0001:00008880 _win32_write_file_func 10009880 f iowin32.obj - 0001:000088f0 _win32_tell_file_func 100098f0 f iowin32.obj - 0001:00008950 _win32_tell64_file_func 10009950 f iowin32.obj - 0001:000089b0 _win32_seek_file_func 100099b0 f iowin32.obj - 0001:00008a30 _win32_seek64_file_func 10009a30 f iowin32.obj - 0001:00008aa0 _win32_close_file_func 10009aa0 f iowin32.obj - 0001:00008ad0 _win32_error_file_func 10009ad0 f iowin32.obj - 0001:00008af0 _fill_win32_filefunc 10009af0 f iowin32.obj - 0001:00008b30 _fill_win32_filefunc64 10009b30 f iowin32.obj - 0001:00008b70 _fill_win32_filefunc64A 10009b70 f iowin32.obj - 0001:00008bb0 _fill_win32_filefunc64W 10009bb0 f iowin32.obj - 0001:00008c00 __tr_init 10009c00 f trees.obj - 0001:00009b90 __tr_stored_block 1000ab90 f trees.obj - 0001:00009c40 __tr_flush_bits 1000ac40 f trees.obj - 0001:00009c50 __tr_align 1000ac50 f trees.obj - 0001:00009d40 __tr_flush_block 1000ad40 f trees.obj - 0001:0000a530 _uncompress@16 1000b530 f uncompr.obj - 0001:0000a910 _unzStringFileNameCompare@12 1000b910 f unzip.obj - 0001:0000b1c0 _unzOpen2@8 1000c1c0 f unzip.obj - 0001:0000b210 _unzOpen2_64@8 1000c210 f unzip.obj - 0001:0000b270 _unzOpen@4 1000c270 f unzip.obj - 0001:0000b290 _unzOpen64@4 1000c290 f unzip.obj - 0001:0000b2b0 _unzClose@4 1000c2b0 f unzip.obj - 0001:0000b2f0 _unzGetGlobalInfo64@8 1000c2f0 f unzip.obj - 0001:0000b320 _unzGetGlobalInfo@8 1000c320 f unzip.obj - 0001:0000b990 _unzGetCurrentFileInfo64@32 1000c990 f unzip.obj - 0001:0000b9c0 _unzGetCurrentFileInfo@32 1000c9c0 f unzip.obj - 0001:0000ba80 _unzGoToFirstFile@4 1000ca80 f unzip.obj - 0001:0000baf0 _unzGoToNextFile@4 1000caf0 f unzip.obj - 0001:0000bba0 _unzLocateFile@12 1000cba0 f unzip.obj - 0001:0000bd50 _unzGetFilePos64@8 1000cd50 f unzip.obj - 0001:0000bda0 _unzGetFilePos@8 1000cda0 f unzip.obj - 0001:0000bdd0 _unzGoToFilePos64@8 1000cdd0 f unzip.obj - 0001:0000be40 _unzGoToFilePos@8 1000ce40 f unzip.obj - 0001:0000c0e0 _unzOpenCurrentFile3@20 1000d0e0 f unzip.obj - 0001:0000c350 _unzOpenCurrentFile@4 1000d350 f unzip.obj - 0001:0000c370 _unzOpenCurrentFilePassword@8 1000d370 f unzip.obj - 0001:0000c390 _unzOpenCurrentFile2@16 1000d390 f unzip.obj - 0001:0000c3b0 _unzGetCurrentFileZStreamPos64@4 1000d3b0 f unzip.obj - 0001:0000c3f0 _unzReadCurrentFile@12 1000d3f0 f unzip.obj - 0001:0000c6b0 _unztell@4 1000d6b0 f unzip.obj - 0001:0000c6e0 _unztell64@4 1000d6e0 f unzip.obj - 0001:0000c710 _unzeof@4 1000d710 f unzip.obj - 0001:0000c750 _unzGetLocalExtrafield@12 1000d750 f unzip.obj - 0001:0000c820 _unzCloseCurrentFile@4 1000d820 f unzip.obj - 0001:0000c8c0 _unzGetGlobalComment@12 1000d8c0 f unzip.obj - 0001:0000d4c0 _LoadCentralDirectoryRecord 1000e4c0 f zip.obj - 0001:0000d970 _zipOpen3@16 1000e970 f zip.obj - 0001:0000dae0 _zipOpen2@16 1000eae0 f zip.obj - 0001:0000db30 _zipOpen2_64@16 1000eb30 f zip.obj - 0001:0000db90 _zipOpen@8 1000eb90 f zip.obj - 0001:0000dbb0 _zipOpen64@8 1000ebb0 f zip.obj - 0001:0000dbd0 _Write_LocalFileHeader 1000ebd0 f zip.obj - 0001:0000dde0 _zipOpenNewFileInZip4_64@76 1000ede0 f zip.obj - 0001:0000e2c0 _zipOpenNewFileInZip3@64 1000f2c0 f zip.obj - 0001:0000e310 _zipOpenNewFileInZip3_64@68 1000f310 f zip.obj - 0001:0000e360 _zipOpenNewFileInZip2@44 1000f360 f zip.obj - 0001:0000e3a0 _zipOpenNewFileInZip2_64@48 1000f3a0 f zip.obj - 0001:0000e3e0 _zipOpenNewFileInZip64@44 1000f3e0 f zip.obj - 0001:0000e420 _zipOpenNewFileInZip@40 1000f420 f zip.obj - 0001:0000e520 _zipWriteInFileInZip@12 1000f520 f zip.obj - 0001:0000e620 _zipCloseFileInZipRaw@12 1000f620 f zip.obj - 0001:0000e640 _zipCloseFileInZipRaw64@16 1000f640 f zip.obj - 0001:0000eb30 _zipCloseFileInZip@4 1000fb30 f zip.obj - 0001:0000eb50 _Write_Zip64EndOfCentralDirectoryLocator 1000fb50 f zip.obj - 0001:0000ebd0 _Write_Zip64EndOfCentralDirectoryRecord 1000fbd0 f zip.obj - 0001:0000ecf0 _Write_EndOfCentralDirectoryRecord 1000fcf0 f zip.obj - 0001:0000ee30 _Write_GlobalComment 1000fe30 f zip.obj - 0001:0000eea0 _zipClose@8 1000fea0 f zip.obj - 0001:0000f030 _zlibVersion@0 10010030 f zutil.obj - 0001:0000f040 _zlibCompileFlags@0 10010040 f zutil.obj - 0001:0000f050 _zError@4 10010050 f zutil.obj - 0001:0000f070 _zcalloc 10010070 f zutil.obj - 0001:0000f090 _zcfree 10010090 f zutil.obj - 0001:0000f0a2 _ReadFile@20 100100a2 f kernel32:KERNEL32.dll - 0001:0000f0a8 _WriteFile@20 100100a8 f kernel32:KERNEL32.dll - 0001:0000f0ae _CreateFile2@20 100100ae f kernel32:KERNEL32.dll - 0001:0000f0b4 _MultiByteToWideChar@24 100100b4 f kernel32:KERNEL32.dll - 0001:0000f0ba _GetLastError@0 100100ba f kernel32:KERNEL32.dll - 0001:0000f0c0 _CloseHandle@4 100100c0 f kernel32:KERNEL32.dll - 0001:0000f0c6 _SetFilePointerEx@20 100100c6 f kernel32:KERNEL32.dll - 0001:0000f3e1 __CRT_INIT@12 100103e1 f MSVCRT:dll_dllmain.obj - 0001:0000f3ea __DllMainCRTStartup@12 100103ea f MSVCRT:dll_dllmain.obj - 0001:0000f40d ??$__crt_fast_decode_pointer@PAP6AXXZ@@YAPAP6AXXZQAP6AXXZ@Z 1001040d f i MSVCRT:utility.obj - 0001:0000f421 ??$__crt_fast_encode_pointer@PAP6AXXZ@@YAPAP6AXXZQAP6AXXZ@Z 10010421 f i MSVCRT:utility.obj - 0001:0000f43e ?__crt_rotate_pointer_value@@YAIIH@Z 1001043e f i MSVCRT:utility.obj - 0001:0000f4c2 _NtCurrentTeb 100104c2 f i MSVCRT:utility.obj - 0001:0000f4c9 ___scrt_acquire_startup_lock 100104c9 f MSVCRT:utility.obj - 0001:0000f4fe ___scrt_dllmain_after_initialize_c 100104fe f MSVCRT:utility.obj - 0001:0000f516 ___scrt_dllmain_before_initialize_c 10010516 f MSVCRT:utility.obj - 0001:0000f524 ___scrt_dllmain_crt_thread_attach 10010524 f MSVCRT:utility.obj - 0001:0000f543 ___scrt_dllmain_crt_thread_detach 10010543 f MSVCRT:utility.obj - 0001:0000f550 ___scrt_dllmain_exception_filter 10010550 f MSVCRT:utility.obj - 0001:0000f583 ___scrt_dllmain_uninitialize_c 10010583 f MSVCRT:utility.obj - 0001:0000f5a6 ___scrt_dllmain_uninitialize_critical 100105a6 f MSVCRT:utility.obj - 0001:0000f5b3 ___scrt_initialize_crt 100105b3 f MSVCRT:utility.obj - 0001:0000f5ec ___scrt_initialize_onexit_tables 100105ec f MSVCRT:utility.obj - 0001:0000f683 ___scrt_is_nonwritable_in_current_image 10010683 f MSVCRT:utility.obj - 0001:0000f710 ___scrt_release_startup_lock 10010710 f MSVCRT:utility.obj - 0001:0000f72d ___scrt_uninitialize_crt 1001072d f MSVCRT:utility.obj - 0001:0000f755 __onexit 10010755 f MSVCRT:utility.obj - 0001:0000f790 _at_quick_exit 10010790 f MSVCRT:utility.obj - 0001:0000f7c1 _atexit 100107c1 f MSVCRT:utility.obj - 0001:0000f7d6 ___security_init_cookie 100107d6 f MSVCRT:gs_support.obj - 0001:0000f872 _DllMain@12 10010872 f MSVCRT:dll_dllmain_stub.obj - 0001:0000f894 ?__scrt_initialize_type_info@@YAXXZ 10010894 f MSVCRT:tncleanup.obj - 0001:0000f8a0 ?__scrt_uninitialize_type_info@@YAXXZ 100108a0 f MSVCRT:tncleanup.obj - 0001:0000f8ac ___local_stdio_scanf_options 100108ac f i MSVCRT:default_local_stdio_options.obj - 0001:0000f8b2 ___scrt_initialize_default_local_stdio_options 100108b2 f MSVCRT:default_local_stdio_options.obj - 0001:0000f8cf ___scrt_get_dyn_tls_init_callback 100108cf f MSVCRT:dyn_tls_init.obj - 0001:0000f8d5 ___scrt_fastfail 100108d5 f MSVCRT:utility_desktop.obj - 0001:0000f9f0 ___scrt_get_show_window_mode 100109f0 f MSVCRT:utility_desktop.obj - 0001:0000fa23 ___scrt_initialize_winrt 10010a23 f MSVCRT:utility_desktop.obj - 0001:0000fa26 ___scrt_is_managed_app 10010a26 f MSVCRT:utility_desktop.obj - 0001:0000fa6a ___scrt_set_unhandled_exception_filter 10010a6a f MSVCRT:utility_desktop.obj - 0001:0000fa76 ___scrt_unhandled_exception_filter@4 10010a76 f MSVCRT:utility_desktop.obj - 0001:0000fab7 __crt_debugger_hook 10010ab7 f MSVCRT:utility_desktop.obj - 0001:0000fabf __RTC_Initialize 10010abf f MSVCRT:_initsect_.obj - 0001:0000faea __RTC_Terminate 10010aea f MSVCRT:_initsect_.obj - 0001:0000fb15 @_guard_check_icall@4 10010b15 f i MSVCRT:checkcfg.obj - 0001:0000fb20 __SEH_prolog4 10010b20 f MSVCRT:_sehprolg4_.obj - 0001:0000fb66 __SEH_epilog4 10010b66 f MSVCRT:_sehprolg4_.obj - 0001:0000fb7b __except_handler4 10010b7b f MSVCRT:_chandler4gs_.obj - 0001:0000fb9e ___isa_available_init 10010b9e f MSVCRT:_cpu_disp_.obj - 0001:0000fd3f ___scrt_is_ucrt_dll_in_use 10010d3f f MSVCRT:ucrt_detection.obj - 0001:0000fd4b @_guard_check_icall_nop@4 10010d4b f i MSVCRT:guard_support.obj - 0001:0000fd4c __guard_icall_checks_enforced 10010d4c f i MSVCRT:guard_support.obj - 0001:0000fd5e @__security_check_cookie@4 10010d5e f MSVCRT:_secchk_.obj - 0001:0000fd6f ___raise_securityfailure 10010d6f f MSVCRT:gs_report.obj - 0001:0000fd97 ___report_gsfailure 10010d97 f MSVCRT:gs_report.obj - 0001:0000fe92 ___report_rangecheckfailure 10010e92 f MSVCRT:gs_report.obj - 0001:0000fe9e ___report_securityfailure 10010e9e f MSVCRT:gs_report.obj - 0001:0000ff6e ___report_securityfailureEx 10010f6e f MSVCRT:gs_report.obj - 0001:00010084 _memchr 10011084 f vcruntime:VCRUNTIME140.dll - 0001:0001008a ___telemetry_main_invoke_trigger 1001108a f vcruntime:VCRUNTIME140.dll - 0001:00010090 ___telemetry_main_return_trigger 10011090 f vcruntime:VCRUNTIME140.dll - 0001:00010096 ___std_type_info_destroy_list 10011096 f vcruntime:VCRUNTIME140.dll - 0001:0001009c _memset 1001109c f vcruntime:VCRUNTIME140.dll - 0001:000100a2 __except_handler4_common 100110a2 f vcruntime:VCRUNTIME140.dll - 0001:000100a8 __lseeki64 100110a8 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:000100ae __wopen 100110ae f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:000100b4 __open 100110b4 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:000100ba _wcstombs 100110ba f ucrt:api-ms-win-crt-convert-l1-1-0.dll - 0001:000100c0 ___stdio_common_vsprintf 100110c0 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:000100c6 _free 100110c6 f ucrt:api-ms-win-crt-heap-l1-1-0.dll - 0001:000100cc _malloc 100110cc f ucrt:api-ms-win-crt-heap-l1-1-0.dll - 0001:000100d2 __read 100110d2 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:000100d8 __close 100110d8 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:000100de __errno 100110de f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:000100e4 _strerror 100110e4 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:000100ea __write 100110ea f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:000100f0 _ftell 100110f0 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:000100f6 _ferror 100110f6 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:000100fc _fopen 100110fc f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:00010102 _fclose 10011102 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:00010108 _fseek 10011108 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:0001010e _fwrite 1001110e f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:00010114 __ftelli64 10011114 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:0001011a _fread 1001111a f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:00010120 __fseeki64 10011120 f ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0001:00010126 _srand 10011126 f ucrt:api-ms-win-crt-utility-l1-1-0.dll - 0001:0001012c _rand 1001112c f ucrt:api-ms-win-crt-utility-l1-1-0.dll - 0001:00010132 __time64 10011132 f ucrt:api-ms-win-crt-time-l1-1-0.dll - 0001:00010138 __initterm 10011138 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:0001013e __initterm_e 1001113e f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:00010144 __seh_filter_dll 10011144 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:0001014a __initialize_narrow_environment 1001114a f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:00010150 __initialize_onexit_table 10011150 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:00010156 __register_onexit_function 10011156 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:0001015c __execute_onexit_table 1001115c f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:00010162 __crt_atexit 10011162 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:00010168 __crt_at_quick_exit 10011168 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:0001016e __cexit 1001116e f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:00010174 _terminate 10011174 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0001:0001017a _QueryPerformanceCounter@4 1001117a f kernel32:KERNEL32.dll - 0001:00010180 _GetCurrentProcessId@0 10011180 f kernel32:KERNEL32.dll - 0001:00010186 _GetCurrentThreadId@0 10011186 f kernel32:KERNEL32.dll - 0001:0001018c _GetSystemTimeAsFileTime@4 1001118c f kernel32:KERNEL32.dll - 0001:00010192 _DisableThreadLibraryCalls@4 10011192 f kernel32:KERNEL32.dll - 0001:00010198 _InitializeSListHead@4 10011198 f kernel32:KERNEL32.dll - 0001:0001019e _IsDebuggerPresent@0 1001119e f kernel32:KERNEL32.dll - 0001:000101a4 _UnhandledExceptionFilter@4 100111a4 f kernel32:KERNEL32.dll - 0001:000101aa _SetUnhandledExceptionFilter@4 100111aa f kernel32:KERNEL32.dll - 0001:000101b0 _GetStartupInfoW@4 100111b0 f kernel32:KERNEL32.dll - 0001:000101b6 _IsProcessorFeaturePresent@4 100111b6 f kernel32:KERNEL32.dll - 0001:000101bc _GetModuleHandleW@4 100111bc f kernel32:KERNEL32.dll - 0001:000101c2 _GetCurrentProcess@0 100111c2 f kernel32:KERNEL32.dll - 0001:000101c8 _TerminateProcess@8 100111c8 f kernel32:KERNEL32.dll - 0001:000101ce ___acrt_initialize 100111ce f MSVCRT:ucrt_stubs.obj - 0001:000101ce ___scrt_stub_for_acrt_initialize 100111ce f MSVCRT:ucrt_stubs.obj - 0001:000101ce ___vcrt_initialize 100111ce f MSVCRT:ucrt_stubs.obj - 0001:000101d1 ___vcrt_thread_attach 100111d1 f MSVCRT:ucrt_stubs.obj - 0001:000101d1 ___acrt_thread_attach 100111d1 f MSVCRT:ucrt_stubs.obj - 0001:000101d1 ___scrt_stub_for_acrt_thread_attach 100111d1 f MSVCRT:ucrt_stubs.obj - 0001:000101d4 ___scrt_stub_for_acrt_thread_detach 100111d4 f MSVCRT:ucrt_stubs.obj - 0001:000101d4 ___vcrt_thread_detach 100111d4 f MSVCRT:ucrt_stubs.obj - 0001:000101d4 ___acrt_thread_detach 100111d4 f MSVCRT:ucrt_stubs.obj - 0001:000101d7 ___vcrt_uninitialize 100111d7 f MSVCRT:ucrt_stubs.obj - 0001:000101d7 ___acrt_uninitialize 100111d7 f MSVCRT:ucrt_stubs.obj - 0001:000101d7 ___scrt_stub_for_acrt_uninitialize 100111d7 f MSVCRT:ucrt_stubs.obj - 0001:000101da ___acrt_uninitialize_critical 100111da f MSVCRT:ucrt_stubs.obj - 0001:000101da ___vcrt_uninitialize_critical 100111da f MSVCRT:ucrt_stubs.obj - 0001:000101da ___scrt_stub_for_acrt_uninitialize_critical 100111da f MSVCRT:ucrt_stubs.obj - 0001:000101dd __is_c_termination_complete 100111dd f MSVCRT:ucrt_stubs.obj - 0001:000101dd ___scrt_stub_for_is_c_termination_complete 100111dd f MSVCRT:ucrt_stubs.obj - 0001:000101e0 __alldiv 100111e0 f MSVCRT:lldiv.obj - 0001:00010290 __chkstk 10011290 f MSVCRT:chkstk.obj - 0001:00010290 __alloca_probe 10011290 f MSVCRT:chkstk.obj - 0001:000102be _memcpy 100112be f vcruntime:VCRUNTIME140.dll - 0002:00000000 __imp__ReadFile@20 10012000 kernel32:KERNEL32.dll - 0002:00000004 __imp__WriteFile@20 10012004 kernel32:KERNEL32.dll - 0002:00000008 __imp__CreateFile2@20 10012008 kernel32:KERNEL32.dll - 0002:0000000c __imp__MultiByteToWideChar@24 1001200c kernel32:KERNEL32.dll - 0002:00000010 __imp__GetLastError@0 10012010 kernel32:KERNEL32.dll - 0002:00000014 __imp__CloseHandle@4 10012014 kernel32:KERNEL32.dll - 0002:00000018 __imp__SetFilePointerEx@20 10012018 kernel32:KERNEL32.dll - 0002:0000001c __imp__GetCurrentProcessId@0 1001201c kernel32:KERNEL32.dll - 0002:00000020 __imp__GetCurrentThreadId@0 10012020 kernel32:KERNEL32.dll - 0002:00000024 __imp__GetSystemTimeAsFileTime@4 10012024 kernel32:KERNEL32.dll - 0002:00000028 __imp__DisableThreadLibraryCalls@4 10012028 kernel32:KERNEL32.dll - 0002:0000002c __imp__InitializeSListHead@4 1001202c kernel32:KERNEL32.dll - 0002:00000030 __imp__IsDebuggerPresent@0 10012030 kernel32:KERNEL32.dll - 0002:00000034 __imp__QueryPerformanceCounter@4 10012034 kernel32:KERNEL32.dll - 0002:00000038 __imp__TerminateProcess@8 10012038 kernel32:KERNEL32.dll - 0002:0000003c __imp__GetCurrentProcess@0 1001203c kernel32:KERNEL32.dll - 0002:00000040 __imp__GetModuleHandleW@4 10012040 kernel32:KERNEL32.dll - 0002:00000044 __imp__IsProcessorFeaturePresent@4 10012044 kernel32:KERNEL32.dll - 0002:00000048 __imp__GetStartupInfoW@4 10012048 kernel32:KERNEL32.dll - 0002:0000004c __imp__SetUnhandledExceptionFilter@4 1001204c kernel32:KERNEL32.dll - 0002:00000050 __imp__UnhandledExceptionFilter@4 10012050 kernel32:KERNEL32.dll - 0002:00000054 \177KERNEL32_NULL_THUNK_DATA 10012054 kernel32:KERNEL32.dll - 0002:00000058 __imp__memset 10012058 vcruntime:VCRUNTIME140.dll - 0002:0000005c __imp____std_type_info_destroy_list 1001205c vcruntime:VCRUNTIME140.dll - 0002:00000060 __imp____telemetry_main_return_trigger 10012060 vcruntime:VCRUNTIME140.dll - 0002:00000064 __imp____telemetry_main_invoke_trigger 10012064 vcruntime:VCRUNTIME140.dll - 0002:00000068 __imp__memchr 10012068 vcruntime:VCRUNTIME140.dll - 0002:0000006c __imp___except_handler4_common 1001206c vcruntime:VCRUNTIME140.dll - 0002:00000070 __imp__memcpy 10012070 vcruntime:VCRUNTIME140.dll - 0002:00000074 \177VCRUNTIME140_NULL_THUNK_DATA 10012074 vcruntime:VCRUNTIME140.dll - 0002:00000078 __imp__wcstombs 10012078 ucrt:api-ms-win-crt-convert-l1-1-0.dll - 0002:0000007c \177api-ms-win-crt-convert-l1-1-0_NULL_THUNK_DATA 1001207c ucrt:api-ms-win-crt-convert-l1-1-0.dll - 0002:00000080 __imp__malloc 10012080 ucrt:api-ms-win-crt-heap-l1-1-0.dll - 0002:00000084 __imp__free 10012084 ucrt:api-ms-win-crt-heap-l1-1-0.dll - 0002:00000088 \177api-ms-win-crt-heap-l1-1-0_NULL_THUNK_DATA 10012088 ucrt:api-ms-win-crt-heap-l1-1-0.dll - 0002:0000008c __imp__strerror 1001208c ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:00000090 __imp___errno 10012090 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:00000094 __imp__terminate 10012094 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:00000098 __imp___initterm 10012098 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:0000009c __imp___initterm_e 1001209c ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:000000a0 __imp___seh_filter_dll 100120a0 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:000000a4 __imp___initialize_narrow_environment 100120a4 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:000000a8 __imp___initialize_onexit_table 100120a8 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:000000ac __imp___register_onexit_function 100120ac ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:000000b0 __imp___execute_onexit_table 100120b0 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:000000b4 __imp___crt_atexit 100120b4 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:000000b8 __imp___crt_at_quick_exit 100120b8 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:000000bc __imp___cexit 100120bc ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:000000c0 \177api-ms-win-crt-runtime-l1-1-0_NULL_THUNK_DATA 100120c0 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:000000c4 __imp___open 100120c4 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000c8 __imp___wopen 100120c8 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000cc __imp___lseeki64 100120cc ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000d0 __imp__fopen 100120d0 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000d4 __imp__fread 100120d4 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000d8 __imp____stdio_common_vsprintf 100120d8 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000dc __imp__ferror 100120dc ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000e0 __imp__ftell 100120e0 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000e4 __imp___write 100120e4 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000e8 __imp___ftelli64 100120e8 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000ec __imp__fwrite 100120ec ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000f0 __imp___close 100120f0 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000f4 __imp___read 100120f4 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000f8 __imp__fseek 100120f8 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000000fc __imp__fclose 100120fc ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:00000100 __imp___fseeki64 10012100 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:00000104 \177api-ms-win-crt-stdio-l1-1-0_NULL_THUNK_DATA 10012104 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:00000108 __imp___time64 10012108 ucrt:api-ms-win-crt-time-l1-1-0.dll - 0002:0000010c \177api-ms-win-crt-time-l1-1-0_NULL_THUNK_DATA 1001210c ucrt:api-ms-win-crt-time-l1-1-0.dll - 0002:00000110 __imp__srand 10012110 ucrt:api-ms-win-crt-utility-l1-1-0.dll - 0002:00000114 __imp__rand 10012114 ucrt:api-ms-win-crt-utility-l1-1-0.dll - 0002:00000118 \177api-ms-win-crt-utility-l1-1-0_NULL_THUNK_DATA 10012118 ucrt:api-ms-win-crt-utility-l1-1-0.dll - 0002:0000011c ___guard_check_icall_fptr 1001211c MSVCRT:guard_support.obj - 0002:00000120 ___xc_a 10012120 MSVCRT:initializers.obj - 0002:00000124 ___xc_z 10012124 MSVCRT:initializers.obj - 0002:00000128 ___xi_a 10012128 MSVCRT:initializers.obj - 0002:0000012c ___xi_z 1001212c MSVCRT:initializers.obj - 0002:00000130 ___xp_a 10012130 MSVCRT:initializers.obj - 0002:00000134 ___xp_z 10012134 MSVCRT:initializers.obj - 0002:00000138 ___xt_a 10012138 MSVCRT:initializers.obj - 0002:0000013c ___xt_z 1001213c MSVCRT:initializers.obj - 0002:00000140 __pRawDllMain 10012140 MSVCRT:dll_dllmain.obj - 0002:00000140 __pDefaultRawDllMain 10012140 MSVCRT:dll_dllmain.obj - 0002:0000014c ??_C@_05IAIEPMAK@1?42?48?$AA@ 1001214c compress.obj - 0002:00003428 __length_code 10015428 trees.obj - 0002:00003528 __dist_code 10015528 trees.obj - 0002:00003e68 _unz_copyright 10015e68 unzip.obj - 0002:00003ebc _z_errmsg 10015ebc zutil.obj - 0002:00003ee4 ??_C@_02DKCKIIND@?$CFs?$AA@ 10015ee4 gzlib.obj - 0002:00003ee8 ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ 10015ee8 gzlib.obj - 0002:00003ef0 ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ 10015ef0 gzlib.obj - 0002:00003efe ??_C@_00CNPNBAHC@?$AA@ 10015efe gzlib.obj - 0002:00003f00 ??_C@_02LMMGGCAJ@?3?5?$AA@ 10015f00 gzlib.obj - 0002:00003f04 ??_C@_06DIJPEION@?$CFs?$CFs?$CFs?$AA@ 10015f04 gzlib.obj - 0002:00003f0c ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ 10015f0c gzread.obj - 0002:00003f24 ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ 10015f24 gzread.obj - 0002:00003f4c ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ 10015f4c gzread.obj - 0002:00003f64 ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ 10015f64 gzread.obj - 0002:00003f8c ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ 10015f8c gzread.obj - 0002:00003fac ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ 10015fac gzwrite.obj - 0002:00003fd4 ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ 10015fd4 infback.obj - 0002:00003fe8 ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ 10015fe8 infback.obj - 0002:00004008 ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ 10016008 infback.obj - 0002:0000402c ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ 1001602c infback.obj - 0002:00004048 ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ 10016048 infback.obj - 0002:00004064 ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ 10016064 infback.obj - 0002:0000408c ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ 1001608c infback.obj - 0002:000040a8 ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ 100160a8 infback.obj - 0002:000040c0 ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ 100160c0 infback.obj - 0002:000040dc ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ 100160dc infback.obj - 0002:000040f4 ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ 100160f4 infback.obj - 0002:00004114 ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ 10016114 inflate.obj - 0002:0000412c ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ 1001612c inflate.obj - 0002:00004148 ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ 10016148 inflate.obj - 0002:0000415c ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ 1001615c inflate.obj - 0002:00004178 ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ 10016178 inflate.obj - 0002:0000418c ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ 1001618c inflate.obj - 0002:000041a4 ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ 100161a4 inflate.obj - 0002:000041bc ??_C@_02JDPG@rb?$AA@ 100161bc ioapi.obj - 0002:000041c0 ??_C@_03HMFOOINA@r?$CLb?$AA@ 100161c0 ioapi.obj - 0002:000041c4 ??_C@_02GMLFBBN@wb?$AA@ 100161c4 ioapi.obj - 0002:000041c8 ??_C@_01JOAMLHOP@?9?$AA@ 100161c8 zip.obj - 0002:000041cc ??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ 100161cc zutil.obj - 0002:000041dc ??_C@_0L@FNAOCBOG@stream?5end?$AA@ 100161dc zutil.obj - 0002:000041e8 ??_C@_0L@KIJFAKBJ@file?5error?$AA@ 100161e8 zutil.obj - 0002:000041f4 ??_C@_0N@MKKNPMJD@stream?5error?$AA@ 100161f4 zutil.obj - 0002:00004204 ??_C@_0L@HAHMBNLP@data?5error?$AA@ 10016204 zutil.obj - 0002:00004210 ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ 10016210 zutil.obj - 0002:00004224 ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ 10016224 zutil.obj - 0002:00004234 ??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ 10016234 zutil.obj - 0002:000042c0 __load_config_used 100162c0 MSVCRT:loadcfg.obj - 0002:00004320 ___safe_se_handler_table 10016320 - 0002:000045f4 ___rtc_iaa 100165f4 MSVCRT:_initsect_.obj - 0002:000045f8 ___rtc_izz 100165f8 MSVCRT:_initsect_.obj - 0002:000045fc ___rtc_taa 100165fc MSVCRT:_initsect_.obj - 0002:00004600 ___rtc_tzz 10016600 MSVCRT:_initsect_.obj - 0002:000052d4 __IMPORT_DESCRIPTOR_KERNEL32 100172d4 kernel32:KERNEL32.dll - 0002:000052e8 __IMPORT_DESCRIPTOR_VCRUNTIME140 100172e8 vcruntime:VCRUNTIME140.dll - 0002:000052fc __IMPORT_DESCRIPTOR_api-ms-win-crt-stdio-l1-1-0 100172fc ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:00005310 __IMPORT_DESCRIPTOR_api-ms-win-crt-convert-l1-1-0 10017310 ucrt:api-ms-win-crt-convert-l1-1-0.dll - 0002:00005324 __IMPORT_DESCRIPTOR_api-ms-win-crt-heap-l1-1-0 10017324 ucrt:api-ms-win-crt-heap-l1-1-0.dll - 0002:00005338 __IMPORT_DESCRIPTOR_api-ms-win-crt-runtime-l1-1-0 10017338 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:0000534c __IMPORT_DESCRIPTOR_api-ms-win-crt-utility-l1-1-0 1001734c ucrt:api-ms-win-crt-utility-l1-1-0.dll - 0002:00005360 __IMPORT_DESCRIPTOR_api-ms-win-crt-time-l1-1-0 10017360 ucrt:api-ms-win-crt-time-l1-1-0.dll - 0002:00005374 __NULL_IMPORT_DESCRIPTOR 10017374 kernel32:KERNEL32.dll - 0003:00000000 ___scrt_native_dllmain_reason 10018000 MSVCRT:utility.obj - 0003:00000010 ___isa_enabled 10018010 MSVCRT:_cpu_disp_.obj - 0003:00000014 ___security_cookie_complement 10018014 MSVCRT:gs_cookie.obj - 0003:00000018 ___security_cookie 10018018 MSVCRT:gs_cookie.obj - 0003:0000001c ___scrt_ucrt_dll_is_in_use 1001801c MSVCRT:ucrt_stubs.obj - 0003:00000064 ___scrt_current_native_startup_state 10018064 MSVCRT:utility.obj - 0003:00000068 ___scrt_native_startup_lock 10018068 MSVCRT:utility.obj - 0003:00000088 ?__type_info_root_node@@3U__type_info_node@@A 10018088 MSVCRT:tncleanup.obj - 0003:00000090 ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA 10018090 MSVCRT:default_local_stdio_options.obj - 0003:00000098 ?_OptionsStorage@?1??__local_stdio_scanf_options@@9@4_KA 10018098 MSVCRT:default_local_stdio_options.obj - 0003:000000a0 ___scrt_debugger_hook_flag 100180a0 MSVCRT:utility_desktop.obj - 0003:000000a4 ___isa_available 100180a4 MSVCRT:_cpu_disp_.obj - 0003:000000a8 ___favor 100180a8 MSVCRT:_cpu_disp_.obj - 0003:000003d0 ___dyn_tls_init_callback 100183d0 - 0003:000003d8 ?_OptionsStorage@?1??__local_stdio_printf_options@@9@9 100183d8 - 0003:000003e0 ?_OptionsStorage@?1??__local_stdio_scanf_options@@9@9 100183e0 - - entry point at 0001:0000f3ea - - Static symbols - - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-convert-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-heap-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-heap-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 vcruntime:VCRUNTIME140.dll - 0000:fffe4000 .debug$S 10000000 vcruntime:VCRUNTIME140.dll - 0000:fffe4000 .debug$S 10000000 vcruntime:VCRUNTIME140.dll - 0000:fffe4000 .debug$S 10000000 vcruntime:VCRUNTIME140.dll - 0000:fffe4000 .debug$S 10000000 vcruntime:VCRUNTIME140.dll - 0000:fffe4000 .debug$S 10000000 vcruntime:VCRUNTIME140.dll - 0000:fffe4000 .debug$S 10000000 vcruntime:VCRUNTIME140.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-utility-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-utility-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-time-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0000:fffe4000 .debug$S 10000000 zlibwapi.exp - 0000:fffe4000 .debug$S 10000000 kernel32:KERNEL32.dll - 0001:00000280 _adler32_combine_ 10001280 f adler32.obj - 0001:00000490 _crc32_little 10001490 f crc32.obj - 0001:00000720 _crc32_big 10001720 f crc32.obj - 0001:00000a00 _gf2_matrix_times 10001a00 f crc32.obj - 0001:00000a20 _gf2_matrix_square 10001a20 f crc32.obj - 0001:00000a60 _crc32_combine_ 10001a60 f crc32.obj - 0001:00001380 _putShortMSB 10002380 f deflate.obj - 0001:000013b0 _flush_pending 100023b0 f deflate.obj - 0001:00001ef0 _read_buf 10002ef0 f deflate.obj - 0001:00001f70 _lm_init 10002f70 f deflate.obj - 0001:00002020 _longest_match 10003020 f deflate.obj - 0001:000021a0 _fill_window 100031a0 f deflate.obj - 0001:00002380 _deflate_stored 10003380 f deflate.obj - 0001:00002500 _deflate_fast 10003500 f deflate.obj - 0001:00002810 _deflate_slow 10003810 f deflate.obj - 0001:00002c10 _deflate_rle 10003c10 f deflate.obj - 0001:00002eb0 _deflate_huff 10003eb0 f deflate.obj - 0001:000030f0 _gz_reset 100040f0 f gzlib.obj - 0001:00003150 _gz_open 10004150 f gzlib.obj - 0001:000033cc $LN57 100043cc gzlib.obj - 0001:000033f8 $LN49 100043f8 gzlib.obj - 0001:00003a20 _gz_load 10004a20 f gzread.obj - 0001:00003aa0 _gz_avail 10004aa0 f gzread.obj - 0001:00003b20 _gz_look 10004b20 f gzread.obj - 0001:00003ca0 _gz_decomp 10004ca0 f gzread.obj - 0001:00003da0 _gz_fetch 10004da0 f gzread.obj - 0001:00003e20 _gz_skip 10004e20 f gzread.obj - 0001:00004340 _gz_init 10005340 f gzwrite.obj - 0001:00004430 _gz_comp 10005430 f gzwrite.obj - 0001:00004570 _gz_zero 10005570 f gzwrite.obj - 0001:00004bf0 _fixedtables 10005bf0 f infback.obj - 0001:000059c4 $LN507 100069c4 infback.obj - 0001:000059e0 $LN473 100069e0 infback.obj - 0001:000059f4 $LN508 100069f4 infback.obj - 0001:00006150 _fixedtables 10007150 f inflate.obj - 0001:00006170 _updatewindow 10007170 f inflate.obj - 0001:000078ac $LN935 100088ac inflate.obj - 0001:00007928 $LN936 10008928 inflate.obj - 0001:00007ae0 _syncsearch 10008ae0 f inflate.obj - 0001:000083a0 _fopen_file_func 100093a0 f ioapi.obj - 0001:000083f0 _fopen64_file_func 100093f0 f ioapi.obj - 0001:00008440 _fread_file_func 10009440 f ioapi.obj - 0001:00008460 _fwrite_file_func 10009460 f ioapi.obj - 0001:00008480 _ftell_file_func 10009480 f ioapi.obj - 0001:000084a0 _ftell64_file_func 100094a0 f ioapi.obj - 0001:000084c0 _fseek_file_func 100094c0 f ioapi.obj - 0001:00008510 _fseek64_file_func 10009510 f ioapi.obj - 0001:00008560 _fclose_file_func 10009560 f ioapi.obj - 0001:00008580 _ferror_file_func 10009580 f ioapi.obj - 0001:000085e0 _win32_translate_open_mode 100095e0 f iowin32.obj - 0001:00008650 _win32_build_iowin 10009650 f iowin32.obj - 0001:000088d0 _MySetFilePointerEx 100098d0 f iowin32.obj - 0001:00008bf0 _tr_static_init 10009bf0 f trees.obj - 0001:00008c60 _init_block 10009c60 f trees.obj - 0001:00008cf0 _pqdownheap 10009cf0 f trees.obj - 0001:00008dd0 _gen_bitlen 10009dd0 f trees.obj - 0001:00008fe0 _gen_codes 10009fe0 f trees.obj - 0001:00009050 _build_tree 1000a050 f trees.obj - 0001:00009260 _scan_tree 1000a260 f trees.obj - 0001:00009350 _send_tree 1000a350 f trees.obj - 0001:00009870 _build_bl_tree 1000a870 f trees.obj - 0001:00009950 _send_all_trees 1000a950 f trees.obj - 0001:00009f40 _compress_block 1000af40 f trees.obj - 0001:0000a340 _detect_data_type 1000b340 f trees.obj - 0001:0000a3b0 _bi_reverse 1000b3b0 f trees.obj - 0001:0000a3d0 _bi_flush 1000b3d0 f trees.obj - 0001:0000a450 _bi_windup 1000b450 f trees.obj - 0001:0000a4b0 _copy_block 1000b4b0 f trees.obj - 0001:0000a5e0 _unz64local_getByte 1000b5e0 f unzip.obj - 0001:0000a630 _unz64local_getShort 1000b630 f unzip.obj - 0001:0000a6a0 _unz64local_getLong 1000b6a0 f unzip.obj - 0001:0000a750 _unz64local_getLong64 1000b750 f unzip.obj - 0001:0000a8c0 _strcmpcasenosensitive_internal 1000b8c0 f unzip.obj - 0001:0000a960 _unz64local_SearchCentralDir 1000b960 f unzip.obj - 0001:0000ab10 _unz64local_SearchCentralDir64 1000bb10 f unzip.obj - 0001:0000ada0 _unzOpenInternal 1000bda0 f unzip.obj - 0001:0000b350 _unz64local_DosDateToTmuDate 1000c350 f unzip.obj - 0001:0000b3d0 _unz64local_GetCurrentFileInfoInternal 1000c3d0 f unzip.obj - 0001:0000be90 _unz64local_CheckCurrentFileCoherencyHeader 1000ce90 f unzip.obj - 0001:0000c950 _time 1000d950 f zip.obj - 0001:0000c960 _decrypt_byte 1000d960 f zip.obj - 0001:0000c980 _update_keys 1000d980 f zip.obj - 0001:0000c9d0 _init_keys 1000d9d0 f zip.obj - 0001:0000ca20 _crypthead 1000da20 f zip.obj - 0001:0000cb50 _allocate_new_datablock 1000db50 f zip.obj - 0001:0000cb80 _free_datablock 1000db80 f zip.obj - 0001:0000cbb0 _init_linkedlist 1000dbb0 f zip.obj - 0001:0000cbc0 _free_linkedlist 1000dbc0 f zip.obj - 0001:0000cbe0 _add_data_in_datablock 1000dbe0 f zip.obj - 0001:0000cc90 _zip64local_putValue 1000dc90 f zip.obj - 0001:0000cd10 _zip64local_putValue_inmemory 1000dd10 f zip.obj - 0001:0000cd50 _zip64local_TmzDateToDosDate 1000dd50 f zip.obj - 0001:0000cda0 _zip64local_getByte 1000dda0 f zip.obj - 0001:0000cdf0 _zip64local_getShort 1000ddf0 f zip.obj - 0001:0000ce60 _zip64local_getLong 1000de60 f zip.obj - 0001:0000cf10 _zip64local_getLong64 1000df10 f zip.obj - 0001:0000d080 _zip64local_SearchCentralDir 1000e080 f zip.obj - 0001:0000d230 _zip64local_SearchCentralDir64 1000e230 f zip.obj - 0001:0000e460 _zip64FlushWriteBuffer 1000f460 f zip.obj - 0001:0000f0cc ?dllmain_crt_dispatch@@YGHQAUHINSTANCE__@@KQAX@Z 100100cc f MSVCRT:dll_dllmain.obj - 0001:0000f11f ?dllmain_crt_process_attach@@YAHQAUHINSTANCE__@@QAX@Z 1001011f f MSVCRT:dll_dllmain.obj - 0001:0000f231 ?dllmain_crt_process_detach@@YAH_N@Z 10010231 f MSVCRT:dll_dllmain.obj - 0001:0000f2ae ?dllmain_dispatch@@YAHQAUHINSTANCE__@@KQAX@Z 100102ae f MSVCRT:dll_dllmain.obj - 0001:0000f3b7 ?dllmain_raw@@YGHQAUHINSTANCE__@@KQAX@Z 100103b7 f MSVCRT:dll_dllmain.obj - 0001:0000f44b ?find_pe_section@@YAPAU_IMAGE_SECTION_HEADER@@QAEI@Z 1001044b f MSVCRT:utility.obj - 0001:0000f48f ?is_potentially_valid_image_base@@YA_NQAX@Z 1001048f f MSVCRT:utility.obj - 0001:0000fb20 $$000000 10010b20 MSVCRT:_sehprolg4_.obj - 0001:000101e0 $$000000 100111e0 MSVCRT:lldiv.obj - 0001:00010290 $$000000 10011290 MSVCRT:chkstk.obj - 0002:00000144 _GS_ExceptionPointers 10012144 MSVCRT:gs_report.obj - 0002:00000158 _crc_table 10012158 crc32.obj - 0002:00002158 ?my_version@?1??deflateInit2_@@9@9 10014158 deflate.obj - 0002:00002160 _configuration_table 10014160 deflate.obj - 0002:000021d8 ?lenfix@?1??fixedtables@@9@9 100141d8 infback.obj - 0002:000029d8 ?distfix@?1??fixedtables@@9@9 100149d8 infback.obj - 0002:00002a58 ?order@?1??inflateBack@@9@9 10014a58 infback.obj - 0002:00002a80 ?lenfix@?1??fixedtables@@9@9 10014a80 inflate.obj - 0002:00003280 ?distfix@?1??fixedtables@@9@9 10015280 inflate.obj - 0002:00003300 ?order@?1??inflate@@9@9 10015300 inflate.obj - 0002:00003328 ?dext@?1??inflate_table@@9@9 10015328 inftrees.obj - 0002:00003368 ?lext@?1??inflate_table@@9@9 10015368 inftrees.obj - 0002:000033a8 ?lbase@?1??inflate_table@@9@9 100153a8 inftrees.obj - 0002:000033e8 ?dbase@?1??inflate_table@@9@9 100153e8 inftrees.obj - 0002:00003728 _static_dtree 10015728 trees.obj - 0002:000037a0 _extra_blbits 100157a0 trees.obj - 0002:000037f0 _extra_lbits 100157f0 trees.obj - 0002:00003868 _base_dist 10015868 trees.obj - 0002:000038e0 _base_length 100158e0 trees.obj - 0002:00003958 _extra_dbits 10015958 trees.obj - 0002:000039d0 _static_ltree 100159d0 trees.obj - 0002:00003e50 _bl_order 10015e50 trees.obj - 0002:00004608 __sehtable$?dllmain_crt_process_attach@@YAHQAUHINSTANCE__@@QAX@Z 10016608 MSVCRT:dll_dllmain.obj - 0002:00004628 __sehtable$?dllmain_crt_process_detach@@YAH_N@Z 10016628 MSVCRT:dll_dllmain.obj - 0002:00004648 __sehtable$?dllmain_dispatch@@YAHQAUHINSTANCE__@@KQAX@Z 10016648 MSVCRT:dll_dllmain.obj - 0002:00004668 __sehtable$___scrt_is_nonwritable_in_current_image 10016668 MSVCRT:utility.obj - 0002:00004690 .edata 10016690 zlibwapi.exp - 0002:000046b8 rgpv 100166b8 zlibwapi.exp - 0002:00004954 rgszName 10016954 zlibwapi.exp - 0002:00004b38 rgwOrd 10016b38 zlibwapi.exp - 0002:00004c2a szName 10016c2a zlibwapi.exp - 0002:00004c37 $N00001 10016c37 zlibwapi.exp - 0002:00004c3f $N00140 10016c3f zlibwapi.exp - 0002:00004c4f $N00039 10016c4f zlibwapi.exp - 0002:00004c59 $N00002 10016c59 zlibwapi.exp - 0002:00004c62 $N00046 10016c62 zlibwapi.exp - 0002:00004c70 $N00003 10016c70 zlibwapi.exp - 0002:00004c76 $N00142 10016c76 zlibwapi.exp - 0002:00004c84 $N00004 10016c84 zlibwapi.exp - 0002:00004c8c $N00047 10016c8c zlibwapi.exp - 0002:00004c99 $N00005 10016c99 zlibwapi.exp - 0002:00004ca5 $N00006 10016ca5 zlibwapi.exp - 0002:00004cb0 $N00007 10016cb0 zlibwapi.exp - 0002:00004cbe $N00008 10016cbe zlibwapi.exp - 0002:00004ccb $N00009 10016ccb zlibwapi.exp - 0002:00004cd9 $N00052 10016cd9 zlibwapi.exp - 0002:00004ce8 $N00051 10016ce8 zlibwapi.exp - 0002:00004cf5 $N00010 10016cf5 zlibwapi.exp - 0002:00004d02 $N00164 10016d02 zlibwapi.exp - 0002:00004d13 $N00011 10016d13 zlibwapi.exp - 0002:00004d28 $N00144 10016d28 zlibwapi.exp - 0002:00004d39 $N00145 10016d39 zlibwapi.exp - 0002:00004d45 $N00110 10016d45 zlibwapi.exp - 0002:00004d59 $N00111 10016d59 zlibwapi.exp - 0002:00004d6f $N00112 10016d6f zlibwapi.exp - 0002:00004d86 $N00113 10016d86 zlibwapi.exp - 0002:00004d9d $N00038 10016d9d zlibwapi.exp - 0002:00004dab $N00146 10016dab zlibwapi.exp - 0002:00004db4 $N00048 10016db4 zlibwapi.exp - 0002:00004dbf $N00012 10016dbf zlibwapi.exp - 0002:00004dc7 $N00147 10016dc7 zlibwapi.exp - 0002:00004dd1 $N00148 10016dd1 zlibwapi.exp - 0002:00004ddb $N00149 10016ddb zlibwapi.exp - 0002:00004de4 $N00013 10016de4 zlibwapi.exp - 0002:00004dec $N00034 10016dec zlibwapi.exp - 0002:00004df2 $N00014 10016df2 zlibwapi.exp - 0002:00004dfa $N00015 10016dfa zlibwapi.exp - 0002:00004e02 $N00030 10016e02 zlibwapi.exp - 0002:00004e09 $N00161 10016e09 zlibwapi.exp - 0002:00004e11 $N00041 10016e11 zlibwapi.exp - 0002:00004e18 $N00150 10016e18 zlibwapi.exp - 0002:00004e21 $N00016 10016e21 zlibwapi.exp - 0002:00004e28 $N00165 10016e28 zlibwapi.exp - 0002:00004e31 $N00028 10016e31 zlibwapi.exp - 0002:00004e3a $N00029 10016e3a zlibwapi.exp - 0002:00004e41 $N00040 10016e41 zlibwapi.exp - 0002:00004e48 $N00017 10016e48 zlibwapi.exp - 0002:00004e4f $N00032 10016e4f zlibwapi.exp - 0002:00004e58 $N00031 10016e58 zlibwapi.exp - 0002:00004e5f $N00035 10016e5f zlibwapi.exp - 0002:00004e6b $N00033 10016e6b zlibwapi.exp - 0002:00004e72 $N00049 10016e72 zlibwapi.exp - 0002:00004e7b $N00167 10016e7b zlibwapi.exp - 0002:00004e85 $N00018 10016e85 zlibwapi.exp - 0002:00004e8d $N00019 10016e8d zlibwapi.exp - 0002:00004e95 $N00044 10016e95 zlibwapi.exp - 0002:00004ea1 $N00045 10016ea1 zlibwapi.exp - 0002:00004eb0 $N00043 10016eb0 zlibwapi.exp - 0002:00004ec1 $N00042 10016ec1 zlibwapi.exp - 0002:00004ecd $N00020 10016ecd zlibwapi.exp - 0002:00004ed8 $N00166 10016ed8 zlibwapi.exp - 0002:00004eed $N00156 10016eed zlibwapi.exp - 0002:00004efe $N00021 10016efe zlibwapi.exp - 0002:00004f0c $N00022 10016f0c zlibwapi.exp - 0002:00004f19 $N00157 10016f19 zlibwapi.exp - 0002:00004f25 $N00158 10016f25 zlibwapi.exp - 0002:00004f32 $N00159 10016f32 zlibwapi.exp - 0002:00004f40 $N00023 10016f40 zlibwapi.exp - 0002:00004f4d $N00163 10016f4d zlibwapi.exp - 0002:00004f5e $N00024 10016f5e zlibwapi.exp - 0002:00004f73 $N00025 10016f73 zlibwapi.exp - 0002:00004f7f $N00037 10016f7f zlibwapi.exp - 0002:00004f90 $N00160 10016f90 zlibwapi.exp - 0002:00004fa1 $N00026 10016fa1 zlibwapi.exp - 0002:00004fac $N00062 10016fac zlibwapi.exp - 0002:00004fb5 $N00072 10016fb5 zlibwapi.exp - 0002:00004fc9 $N00124 10016fc9 zlibwapi.exp - 0002:00004fe1 $N00064 10016fe1 zlibwapi.exp - 0002:00004ff7 $N00125 10016ff7 zlibwapi.exp - 0002:00005015 $N00127 10017015 zlibwapi.exp - 0002:00005025 $N00100 10017025 zlibwapi.exp - 0002:00005033 $N00073 10017033 zlibwapi.exp - 0002:00005047 $N00122 10017047 zlibwapi.exp - 0002:0000505a $N00063 1001705a zlibwapi.exp - 0002:0000506b $N00076 1001706b zlibwapi.exp - 0002:00005081 $N00128 10017081 zlibwapi.exp - 0002:00005092 $N00101 10017092 zlibwapi.exp - 0002:000050a1 $N00065 100170a1 zlibwapi.exp - 0002:000050b2 $N00066 100170b2 zlibwapi.exp - 0002:000050c2 $N00075 100170c2 zlibwapi.exp - 0002:000050d0 $N00077 100170d0 zlibwapi.exp - 0002:000050d9 $N00121 100170d9 zlibwapi.exp - 0002:000050e5 $N00120 100170e5 zlibwapi.exp - 0002:000050ef $N00061 100170ef zlibwapi.exp - 0002:000050f7 $N00078 100170f7 zlibwapi.exp - 0002:0000510b $N00069 1001710b zlibwapi.exp - 0002:0000511f $N00067 1001711f zlibwapi.exp - 0002:00005132 $N00079 10017132 zlibwapi.exp - 0002:0000514d $N00068 1001714d zlibwapi.exp - 0002:00005160 $N00074 10017160 zlibwapi.exp - 0002:00005179 $N00071 10017179 zlibwapi.exp - 0002:00005180 $N00126 10017180 zlibwapi.exp - 0002:0000518a $N00070 1001718a zlibwapi.exp - 0002:00005192 $N00036 10017192 zlibwapi.exp - 0002:00005199 $N00084 10017199 zlibwapi.exp - 0002:000051a2 $N00083 100171a2 zlibwapi.exp - 0002:000051b4 $N00136 100171b4 zlibwapi.exp - 0002:000051cb $N00087 100171cb zlibwapi.exp - 0002:000051e0 $N00088 100171e0 zlibwapi.exp - 0002:000051e9 $N00131 100171e9 zlibwapi.exp - 0002:000051f5 $N00130 100171f5 zlibwapi.exp - 0002:000051ff $N00080 100171ff zlibwapi.exp - 0002:00005207 $N00086 10017207 zlibwapi.exp - 0002:0000521c $N00133 1001721c zlibwapi.exp - 0002:00005234 $N00089 10017234 zlibwapi.exp - 0002:00005249 $N00134 10017249 zlibwapi.exp - 0002:00005261 $N00135 10017261 zlibwapi.exp - 0002:00005279 $N00132 10017279 zlibwapi.exp - 0002:0000528f $N00081 1001728f zlibwapi.exp - 0002:000052a3 $N00082 100172a3 zlibwapi.exp - 0002:000052b7 $N00050 100172b7 zlibwapi.exp - 0002:000052c8 $N00027 100172c8 zlibwapi.exp - 0002:00005512 .idata$6 10017512 kernel32:KERNEL32.dll - 0002:000055b2 .idata$6 100175b2 vcruntime:VCRUNTIME140.dll - 0002:00005794 .idata$6 10017794 ucrt:api-ms-win-crt-stdio-l1-1-0.dll - 0002:000057b4 .idata$6 100177b4 ucrt:api-ms-win-crt-convert-l1-1-0.dll - 0002:000057d6 .idata$6 100177d6 ucrt:api-ms-win-crt-heap-l1-1-0.dll - 0002:000057f6 .idata$6 100177f6 ucrt:api-ms-win-crt-runtime-l1-1-0.dll - 0002:00005818 .idata$6 10017818 ucrt:api-ms-win-crt-utility-l1-1-0.dll - 0002:0000583a .idata$6 1001783a ucrt:api-ms-win-crt-time-l1-1-0.dll - 0003:00000020 _static_l_desc 10018020 trees.obj - 0003:00000034 _static_bl_desc 10018034 trees.obj - 0003:00000048 _static_d_desc 10018048 trees.obj - 0003:00000060 ?__proc_attached@@3HA 10018060 MSVCRT:dll_dllmain.obj - 0003:0000006c ?module_local_atexit_table@@3U_onexit_table_t@@A 1001806c MSVCRT:utility.obj - 0003:00000078 ?module_local_at_quick_exit_table@@3U_onexit_table_t@@A 10018078 MSVCRT:utility.obj - 0003:00000084 ?is_initialized_as_dll@@3_NA 10018084 MSVCRT:utility.obj - 0003:000000b0 _GS_ExceptionRecord 100180b0 MSVCRT:gs_report.obj - 0003:00000100 _GS_ContextRecord 10018100 MSVCRT:gs_report.obj - 0003:000003cc ?calls@?1??crypthead@@9@9 100183cc zip.obj - 0004:00000000 __guard_fids_?dllmain_crt_process_attach@@YAHQAUHINSTANCE__@@QAX@Z 10019000 MSVCRT:dll_dllmain.obj - 0004:00000008 __guard_fids_?dllmain_dispatch@@YAHQAUHINSTANCE__@@KQAX@Z 10019008 MSVCRT:dll_dllmain.obj - 0004:0000000c __guard_fids____scrt_set_unhandled_exception_filter 1001900c MSVCRT:utility_desktop.obj - 0004:00000010 __guard_fids___except_handler4 10019010 MSVCRT:_chandler4gs_.obj - 0004:00000014 __guard_fids__ 10019014 MSVCRT:guard_support.obj - 0004:00000018 __guard_fids___guard_icall_checks_enforced 10019018 MSVCRT:guard_support.obj - 0005:00000060 $R000000 1001a060 zlib.res diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.pdb b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.pdb deleted file mode 100644 index 1b761c6def..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibDllReleaseWithoutAsm/zlibwapi.pdb and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/adler32.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/adler32.obj deleted file mode 100644 index 28048bddb8..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/adler32.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/compress.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/compress.obj deleted file mode 100644 index 09ee24ce1b..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/compress.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/crc32.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/crc32.obj deleted file mode 100644 index e29cab3751..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/crc32.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/deflate.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/deflate.obj deleted file mode 100644 index 753e7a3b17..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/deflate.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzclose.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzclose.obj deleted file mode 100644 index 16f1e5671e..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzclose.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzlib.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzlib.obj deleted file mode 100644 index fe61c42d3a..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzlib.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzread.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzread.obj deleted file mode 100644 index 3de52c1f07..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzread.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzwrite.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzwrite.obj deleted file mode 100644 index e101adcd41..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/gzwrite.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/infback.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/infback.obj deleted file mode 100644 index aeac887736..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/infback.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inffast.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inffast.obj deleted file mode 100644 index a40ec6ef5f..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inffast.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inflate.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inflate.obj deleted file mode 100644 index 75fa823409..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inflate.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inftrees.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inftrees.obj deleted file mode 100644 index 6bb4e5657f..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/inftrees.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/ioapi.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/ioapi.obj deleted file mode 100644 index b2f7d0f915..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/ioapi.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/trees.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/trees.obj deleted file mode 100644 index ac4a582bcf..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/trees.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/uncompr.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/uncompr.obj deleted file mode 100644 index f8785d912d..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/uncompr.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/unzip.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/unzip.obj deleted file mode 100644 index 321b3c6ff9..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/unzip.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zip.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zip.obj deleted file mode 100644 index fa24aa117e..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zip.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlib.res b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlib.res deleted file mode 100644 index 9316316bcc..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlib.res and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.Build.CppClean.log b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.Build.CppClean.log deleted file mode 100644 index b05585d142..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.Build.CppClean.log +++ /dev/null @@ -1,30 +0,0 @@ -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\zlibstat.pdb -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zutil.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zip.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\unzip.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\uncompr.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\trees.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\ioapi.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\inftrees.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\inflate.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\inffast.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\infback.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\gzwrite.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\gzread.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\gzlib.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\gzclose.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\deflate.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\crc32.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\compress.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\adler32.obj -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\zlibstat.lib -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zlib.res -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zlibstat.tlog\cl.command.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zlibstat.tlog\cl.read.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zlibstat.tlog\cl.write.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zlibstat.tlog\lib-link-cvtres.read.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zlibstat.tlog\lib-link-cvtres.write.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zlibstat.tlog\lib.command.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zlibstat.tlog\rc.command.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zlibstat.tlog\rc.read.1.tlog -d:\downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\zlibstatreleasewithoutasm\tmp\zlibstat.tlog\rc.write.1.tlog diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.log b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.log deleted file mode 100644 index 86a2e30a4b..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.log +++ /dev/null @@ -1,20 +0,0 @@ - adler32.c - compress.c - crc32.c - deflate.c - gzclose.c - gzlib.c - gzread.c - gzwrite.c - infback.c - inffast.c - inflate.c - inftrees.c - ioapi.c - trees.c - uncompr.c - unzip.c - zip.c - zutil.c - Generating Code... - zlibstat.vcxproj -> d:\Downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\x86\ZlibStatReleaseWithoutAsm\zlibstat.lib diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.command.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.command.1.tlog deleted file mode 100644 index b0ebd1c83e..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.command.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.read.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.read.1.tlog deleted file mode 100644 index f687971e81..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.read.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.write.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.write.1.tlog deleted file mode 100644 index 1aebb19db8..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/CL.write.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/Lib-link-cvtres.read.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/Lib-link-cvtres.read.1.tlog deleted file mode 100644 index 534e06f08f..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/Lib-link-cvtres.read.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/Lib-link-cvtres.write.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/Lib-link-cvtres.write.1.tlog deleted file mode 100644 index 8f40ed4d2a..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/Lib-link-cvtres.write.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/lib.command.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/lib.command.1.tlog deleted file mode 100644 index 4e43961448..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/lib.command.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.command.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.command.1.tlog deleted file mode 100644 index 21e6f0f15e..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.command.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.read.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.read.1.tlog deleted file mode 100644 index 1d1629b28b..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.read.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.write.1.tlog b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.write.1.tlog deleted file mode 100644 index 5e477b9e82..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/rc.write.1.tlog and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/zlibstat.lastbuildstate b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/zlibstat.lastbuildstate deleted file mode 100644 index 2b818f9515..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zlibstat.tlog/zlibstat.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1 -ReleaseWithoutAsm|Win32|D:\Downloads\tgl-master\tgl-master\zlib\contrib\vstudio\vc11\| diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zutil.obj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zutil.obj deleted file mode 100644 index 482129e1fa..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/Tmp/zutil.obj and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib deleted file mode 100644 index 0cc7de9a07..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/zlibstat.pdb b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/zlibstat.pdb deleted file mode 100644 index ed0c0fb3c9..0000000000 Binary files a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/x86/ZlibStatReleaseWithoutAsm/zlibstat.pdb and /dev/null differ diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlib.rc b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlib.rc deleted file mode 100644 index 73f6476d60..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlib.rc +++ /dev/null @@ -1,32 +0,0 @@ -#include - -#define IDR_VERSION1 1 -IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE - FILEVERSION 1,2,8,0 - PRODUCTVERSION 1,2,8,0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 - FILEOS VOS_DOS_WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0 // not used -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - //language ID = U.S. English, char set = Windows, Multilingual - - BEGIN - VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" - VALUE "FileVersion", "1.2.8\0" - VALUE "InternalName", "zlib\0" - VALUE "OriginalFilename", "zlibwapi.dll\0" - VALUE "ProductName", "ZLib.DLL\0" - VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" - VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibstat.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibstat.vcxproj deleted file mode 100644 index 9864a4c289..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibstat.vcxproj +++ /dev/null @@ -1,465 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} - - - - StaticLibrary - false - v140 - - - StaticLibrary - false - v140 - - - StaticLibrary - false - v140 - Unicode - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - v140 - - - StaticLibrary - false - v140 - - - StaticLibrary - false - v140 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - CompileAsC - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)zlibstat.lib - true - - - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - - - - - - - - - - true - true - true - true - true - true - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.def b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.def deleted file mode 100644 index 88f37bf6e7..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.def +++ /dev/null @@ -1,143 +0,0 @@ -LIBRARY -; zlib data compression and ZIP file I/O library - -;VERSION 1.2.8 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - inflateCopy @42 - inflateBackInit_ @43 - inflateBack @44 - inflateBackEnd @45 - compressBound @46 - deflateBound @47 - gzclearerr @48 - gzungetc @49 - zlibCompileFlags @50 - deflatePrime @51 - deflatePending @52 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unzOpenCurrentFile3 @69 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - unzOpen2 @77 - unzOpenCurrentFile2 @78 - unzOpenCurrentFilePassword @79 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 - zipOpenNewFileInZip2 @86 - zipCloseFileInZipRaw @87 - zipOpen2 @88 - zipOpenNewFileInZip3 @89 - - unzGetFilePos @100 - unzGoToFilePos @101 - - fill_win32_filefunc @110 - -; zlibwapi v1.2.4 added: - fill_win32_filefunc64 @111 - fill_win32_filefunc64A @112 - fill_win32_filefunc64W @113 - - unzOpen64 @120 - unzOpen2_64 @121 - unzGetGlobalInfo64 @122 - unzGetCurrentFileInfo64 @124 - unzGetCurrentFileZStreamPos64 @125 - unztell64 @126 - unzGetFilePos64 @127 - unzGoToFilePos64 @128 - - zipOpen64 @130 - zipOpen2_64 @131 - zipOpenNewFileInZip64 @132 - zipOpenNewFileInZip2_64 @133 - zipOpenNewFileInZip3_64 @134 - zipOpenNewFileInZip4_64 @135 - zipCloseFileInZipRaw64 @136 - -; zlib1 v1.2.4 added: - adler32_combine @140 - crc32_combine @142 - deflateSetHeader @144 - deflateTune @145 - gzbuffer @146 - gzclose_r @147 - gzclose_w @148 - gzdirect @149 - gzoffset @150 - inflateGetHeader @156 - inflateMark @157 - inflatePrime @158 - inflateReset2 @159 - inflateUndermine @160 - -; zlib1 v1.2.6 added: - gzgetc_ @161 - inflateResetKeep @163 - deflateResetKeep @164 - -; zlib1 v1.2.7 added: - gzopen_w @165 - -; zlib1 v1.2.8 added: - inflateGetDictionary @166 - gzvprintf @167 diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.sln b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.sln deleted file mode 100644 index 9fcbafdd02..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.sln +++ /dev/null @@ -1,117 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Itanium = Debug|Itanium - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Itanium = Release|Itanium - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium - ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 - ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.vcxproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.vcxproj deleted file mode 100644 index 47e61d2a53..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc11/zlibvc.vcxproj +++ /dev/null @@ -1,689 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {8FD826F8-3739-44E6-8CC8-997122E53B8D} - 8.1 - - - - DynamicLibrary - false - true - v140 - - - DynamicLibrary - false - true - v140 - - - DynamicLibrary - false - v140 - Unicode - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - DynamicLibrary - false - true - v140 - - - DynamicLibrary - false - true - v140 - - - DynamicLibrary - false - v140 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - true - false - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - false - false - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - false - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - true - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - true - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - false - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - false - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - false - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - zlibwapi - zlibwapi - zlibwapi - zlibwapi - zlibwapi - zlibwapi - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - false - - - $(OutDir)zlibwapi.lib - - - cd ..\..\masmx86 -bld_ml32.bat - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - false - - - $(OutDir)zlibwapi.lib - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - false - - - $(OutDir)zlibwapi.lib - - - cd ..\..\masmx86 -bld_ml32.bat - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineX64 - - - cd ..\..\contrib\masmx64 -bld_ml64.bat - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineX64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineX64 - - - cd ..\..\masmx64 -bld_ml64.bat - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - - - - - - - - - - true - true - true - true - true - true - - - - - - - - - - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/miniunz.vcproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/miniunz.vcproj deleted file mode 100644 index 7da32b91ea..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/miniunz.vcproj +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/minizip.vcproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/minizip.vcproj deleted file mode 100644 index e57e07d90c..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/minizip.vcproj +++ /dev/null @@ -1,562 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/testzlib.vcproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/testzlib.vcproj deleted file mode 100644 index 9cb0bf877f..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/testzlib.vcproj +++ /dev/null @@ -1,852 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/testzlibdll.vcproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/testzlibdll.vcproj deleted file mode 100644 index b1ddde05f9..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/testzlibdll.vcproj +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlib.rc b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlib.rc deleted file mode 100644 index 73f6476d60..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlib.rc +++ /dev/null @@ -1,32 +0,0 @@ -#include - -#define IDR_VERSION1 1 -IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE - FILEVERSION 1,2,8,0 - PRODUCTVERSION 1,2,8,0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 - FILEOS VOS_DOS_WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0 // not used -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - //language ID = U.S. English, char set = Windows, Multilingual - - BEGIN - VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" - VALUE "FileVersion", "1.2.8\0" - VALUE "InternalName", "zlib\0" - VALUE "OriginalFilename", "zlibwapi.dll\0" - VALUE "ProductName", "ZLib.DLL\0" - VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" - VALUE "LegalCopyright", "(C) 1995-2013 Jean-loup Gailly & Mark Adler\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibstat.vcproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibstat.vcproj deleted file mode 100644 index 61c76c7c5b..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibstat.vcproj +++ /dev/null @@ -1,835 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.def b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.def deleted file mode 100644 index 6367046722..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.def +++ /dev/null @@ -1,143 +0,0 @@ -LIBRARY -; zlib data compression and ZIP file I/O library - -VERSION 1.2.8 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - inflateCopy @42 - inflateBackInit_ @43 - inflateBack @44 - inflateBackEnd @45 - compressBound @46 - deflateBound @47 - gzclearerr @48 - gzungetc @49 - zlibCompileFlags @50 - deflatePrime @51 - deflatePending @52 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unzOpenCurrentFile3 @69 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - unzOpen2 @77 - unzOpenCurrentFile2 @78 - unzOpenCurrentFilePassword @79 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 - zipOpenNewFileInZip2 @86 - zipCloseFileInZipRaw @87 - zipOpen2 @88 - zipOpenNewFileInZip3 @89 - - unzGetFilePos @100 - unzGoToFilePos @101 - - fill_win32_filefunc @110 - -; zlibwapi v1.2.4 added: - fill_win32_filefunc64 @111 - fill_win32_filefunc64A @112 - fill_win32_filefunc64W @113 - - unzOpen64 @120 - unzOpen2_64 @121 - unzGetGlobalInfo64 @122 - unzGetCurrentFileInfo64 @124 - unzGetCurrentFileZStreamPos64 @125 - unztell64 @126 - unzGetFilePos64 @127 - unzGoToFilePos64 @128 - - zipOpen64 @130 - zipOpen2_64 @131 - zipOpenNewFileInZip64 @132 - zipOpenNewFileInZip2_64 @133 - zipOpenNewFileInZip3_64 @134 - zipOpenNewFileInZip4_64 @135 - zipCloseFileInZipRaw64 @136 - -; zlib1 v1.2.4 added: - adler32_combine @140 - crc32_combine @142 - deflateSetHeader @144 - deflateTune @145 - gzbuffer @146 - gzclose_r @147 - gzclose_w @148 - gzdirect @149 - gzoffset @150 - inflateGetHeader @156 - inflateMark @157 - inflatePrime @158 - inflateReset2 @159 - inflateUndermine @160 - -; zlib1 v1.2.6 added: - gzgetc_ @161 - inflateResetKeep @163 - deflateResetKeep @164 - -; zlib1 v1.2.7 added: - gzopen_w @165 - -; zlib1 v1.2.8 added: - inflateGetDictionary @166 - gzvprintf @167 diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.sln b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.sln deleted file mode 100644 index b4829671f6..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.sln +++ /dev/null @@ -1,144 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestZlibDll", "testzlibdll.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" - ProjectSection(ProjectDependencies) = postProject - {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" - ProjectSection(ProjectDependencies) = postProject - {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" - ProjectSection(ProjectDependencies) = postProject - {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Itanium = Debug|Itanium - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Itanium = Release|Itanium - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium - ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 - ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.Build.0 = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.Build.0 = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.Build.0 = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.vcproj b/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.vcproj deleted file mode 100644 index c9a89471e7..0000000000 --- a/protocols/Telegram/tgl/zlib/contrib/vstudio/vc9/zlibvc.vcproj +++ /dev/null @@ -1,1156 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- cgit v1.2.3