; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.24215.1 

include listing.inc

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
PUBLIC	crc32
PUBLIC	crc32_z
PUBLIC	get_crc_table
;	COMDAT pdata
pdata	SEGMENT
$pdata$crc32_combine_ DD imagerel crc32_combine_
	DD	imagerel crc32_combine_+224
	DD	imagerel $unwind$crc32_combine_
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$gf2_matrix_square DD imagerel gf2_matrix_square
	DD	imagerel gf2_matrix_square+62
	DD	imagerel $unwind$gf2_matrix_square
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$crc32_big DD imagerel crc32_big
	DD	imagerel crc32_big+116
	DD	imagerel $unwind$crc32_big
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$0$crc32_big DD imagerel crc32_big+116
	DD	imagerel crc32_big+712
	DD	imagerel $chain$0$crc32_big
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$1$crc32_big DD imagerel crc32_big+712
	DD	imagerel crc32_big+893
	DD	imagerel $chain$1$crc32_big
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$crc32_little DD imagerel crc32_little
	DD	imagerel crc32_little+69
	DD	imagerel $unwind$crc32_little
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$0$crc32_little DD imagerel crc32_little+69
	DD	imagerel crc32_little+633
	DD	imagerel $chain$0$crc32_little
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$1$crc32_little DD imagerel crc32_little+633
	DD	imagerel crc32_little+774
	DD	imagerel $chain$1$crc32_little
;	COMDAT xdata
xdata	SEGMENT
$chain$1$crc32_little DD 021H
	DD	imagerel crc32_little
	DD	imagerel crc32_little+69
	DD	imagerel $unwind$crc32_little
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$chain$0$crc32_little DD 020521H
	DD	023405H
	DD	imagerel crc32_little
	DD	imagerel crc32_little+69
	DD	imagerel $unwind$crc32_little
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$crc32_little DD 010201H
	DD	07002H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$chain$1$crc32_big DD 021H
	DD	imagerel crc32_big
	DD	imagerel crc32_big+116
	DD	imagerel $unwind$crc32_big
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$chain$0$crc32_big DD 020521H
	DD	023405H
	DD	imagerel crc32_big
	DD	imagerel crc32_big+116
	DD	imagerel $unwind$crc32_big
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$crc32_big DD 010201H
	DD	07002H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$gf2_matrix_square DD 010401H
	DD	04204H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$crc32_combine_ DD 071201H
	DD	0276412H
	DD	0263412H
	DD	0240112H
	DD	0700bH
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\crc32.c
;	COMDAT get_crc_table
_TEXT	SEGMENT
get_crc_table PROC					; COMDAT

; 190  : #ifdef DYNAMIC_CRC_TABLE
; 191  :     if (crc_table_empty)
; 192  :         make_crc_table();
; 193  : #endif /* DYNAMIC_CRC_TABLE */
; 194  :     return (const z_crc_t FAR *)crc_table;

  00000	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:crc_table

; 195  : }

  00007	c3		 ret	 0
get_crc_table ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\crc32.c
;	COMDAT crc32_z
_TEXT	SEGMENT
crc$ = 8
buf$ = 16
len$ = 24
crc32_z	PROC						; COMDAT

; 207  :     if (buf == Z_NULL) return 0UL;

  00000	48 85 d2	 test	 rdx, rdx
  00003	75 03		 jne	 SHORT $LN7@crc32_z
  00005	33 c0		 xor	 eax, eax

; 221  :         else
; 222  :             return crc32_big(crc, buf, len);
; 223  :     }
; 224  : #endif /* BYFOUR */
; 225  :     crc = crc ^ 0xffffffffUL;
; 226  :     while (len >= 8) {
; 227  :         DO8;
; 228  :         len -= 8;
; 229  :     }
; 230  :     if (len) do {
; 231  :         DO1;
; 232  :     } while (--len);
; 233  :     return crc ^ 0xffffffffUL;
; 234  : }

  00007	c3		 ret	 0
$LN7@crc32_z:

; 208  : 
; 209  : #ifdef DYNAMIC_CRC_TABLE
; 210  :     if (crc_table_empty)
; 211  :         make_crc_table();
; 212  : #endif /* DYNAMIC_CRC_TABLE */
; 213  : 
; 214  : #ifdef BYFOUR
; 215  :     if (sizeof(void *) == sizeof(ptrdiff_t)) {
; 216  :         z_crc_t endian;
; 217  : 
; 218  :         endian = 1;
; 219  :         if (*((unsigned char *)(&endian)))
; 220  :             return crc32_little(crc, buf, len);

  00008	e9 00 00 00 00	 jmp	 crc32_little
crc32_z	ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\crc32.c
;	COMDAT crc32
_TEXT	SEGMENT
crc$ = 8
buf$ = 16
len$ = 24
crc32	PROC						; COMDAT

; 242  :     return crc32_z(crc, buf, len);

  00000	45 8b c0	 mov	 r8d, r8d
  00003	e9 00 00 00 00	 jmp	 crc32_z
crc32	ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\crc32.c
;	COMDAT crc32_little
_TEXT	SEGMENT
crc$ = 16
buf$ = 24
len$ = 32
crc32_little PROC					; COMDAT

; 270  : {

  00000	40 57		 push	 rdi

; 271  :     register z_crc_t c;
; 272  :     register const z_crc_t FAR *buf4;
; 273  : 
; 274  :     c = (z_crc_t)crc;
; 275  :     c = ~c;
; 276  :     while (len && ((ptrdiff_t)buf & 3)) {

  00002	48 8d 3d 00 00
	00 00		 lea	 rdi, OFFSET FLAT:crc_table
  00009	4d 8b d8	 mov	 r11, r8
  0000c	4c 8b d2	 mov	 r10, rdx
  0000f	f7 d1		 not	 ecx
  00011	4d 85 c0	 test	 r8, r8
  00014	74 25		 je	 SHORT $LN28@crc32_litt
$LL2@crc32_litt:
  00016	41 f6 c2 03	 test	 r10b, 3
  0001a	74 1f		 je	 SHORT $LN28@crc32_litt

; 277  :         c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);

  0001c	41 0f b6 12	 movzx	 edx, BYTE PTR [r10]
  00020	8b c1		 mov	 eax, ecx
  00022	48 33 d0	 xor	 rdx, rax
  00025	49 ff c2	 inc	 r10
  00028	c1 e8 08	 shr	 eax, 8
  0002b	44 0f b6 c2	 movzx	 r8d, dl
  0002f	42 8b 0c 87	 mov	 ecx, DWORD PTR [rdi+r8*4]
  00033	33 c8		 xor	 ecx, eax

; 278  :         len--;

  00035	49 83 eb 01	 sub	 r11, 1
  00039	75 db		 jne	 SHORT $LL2@crc32_litt
$LN28@crc32_litt:

; 282  :     while (len >= 32) {

  0003b	49 83 fb 20	 cmp	 r11, 32			; 00000020H
  0003f	0f 82 34 02 00
	00		 jb	 $LN15@crc32_litt

; 279  :     }
; 280  : 
; 281  :     buf4 = (const z_crc_t FAR *)(const void FAR *)buf;

  00045	48 89 5c 24 10	 mov	 QWORD PTR [rsp+16], rbx
  0004a	49 8b db	 mov	 rbx, r11
  0004d	48 c1 eb 05	 shr	 rbx, 5

; 282  :     while (len >= 32) {

  00051	48 6b c3 e0	 imul	 rax, rbx, -32		; ffffffffffffffe0H
  00055	4c 03 d8	 add	 r11, rax
  00058	0f 1f 84 00 00
	00 00 00	 npad	 8
$LL4@crc32_litt:

; 283  :         DOLIT32;

  00060	41 33 0a	 xor	 ecx, DWORD PTR [r10]
  00063	44 8b c9	 mov	 r9d, ecx
  00066	8b c1		 mov	 eax, ecx
  00068	48 c1 e8 10	 shr	 rax, 16
  0006c	0f b6 d0	 movzx	 edx, al
  0006f	8b c1		 mov	 eax, ecx
  00071	48 c1 e8 08	 shr	 rax, 8
  00075	0f b6 c8	 movzx	 ecx, al
  00078	41 8b c1	 mov	 eax, r9d
  0007b	44 8b 84 97 00
	04 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+1024]
  00083	48 c1 e8 18	 shr	 rax, 24
  00087	44 33 84 8f 00
	08 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+2048]
  0008f	44 33 04 87	 xor	 r8d, DWORD PTR [rdi+rax*4]
  00093	41 0f b6 c1	 movzx	 eax, r9b
  00097	44 33 84 87 00
	0c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+3072]
  0009f	45 33 42 04	 xor	 r8d, DWORD PTR [r10+4]
  000a3	45 8b c8	 mov	 r9d, r8d
  000a6	41 8b c0	 mov	 eax, r8d
  000a9	48 c1 e8 10	 shr	 rax, 16
  000ad	0f b6 d0	 movzx	 edx, al
  000b0	41 8b c0	 mov	 eax, r8d
  000b3	48 c1 e8 08	 shr	 rax, 8
  000b7	0f b6 c8	 movzx	 ecx, al
  000ba	41 8b c1	 mov	 eax, r9d
  000bd	44 8b 84 97 00
	04 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+1024]
  000c5	48 c1 e8 18	 shr	 rax, 24
  000c9	44 33 84 8f 00
	08 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+2048]
  000d1	44 33 04 87	 xor	 r8d, DWORD PTR [rdi+rax*4]
  000d5	41 0f b6 c1	 movzx	 eax, r9b
  000d9	44 33 84 87 00
	0c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+3072]
  000e1	45 33 42 08	 xor	 r8d, DWORD PTR [r10+8]
  000e5	45 8b c8	 mov	 r9d, r8d
  000e8	41 8b c0	 mov	 eax, r8d
  000eb	48 c1 e8 10	 shr	 rax, 16
  000ef	0f b6 d0	 movzx	 edx, al
  000f2	41 8b c0	 mov	 eax, r8d
  000f5	48 c1 e8 08	 shr	 rax, 8
  000f9	0f b6 c8	 movzx	 ecx, al
  000fc	41 8b c1	 mov	 eax, r9d
  000ff	44 8b 84 97 00
	04 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+1024]
  00107	48 c1 e8 18	 shr	 rax, 24
  0010b	44 33 84 8f 00
	08 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+2048]
  00113	44 33 04 87	 xor	 r8d, DWORD PTR [rdi+rax*4]
  00117	41 0f b6 c1	 movzx	 eax, r9b
  0011b	44 33 84 87 00
	0c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+3072]
  00123	45 33 42 0c	 xor	 r8d, DWORD PTR [r10+12]
  00127	45 8b c8	 mov	 r9d, r8d
  0012a	41 8b c0	 mov	 eax, r8d
  0012d	48 c1 e8 10	 shr	 rax, 16
  00131	0f b6 d0	 movzx	 edx, al
  00134	41 8b c0	 mov	 eax, r8d
  00137	48 c1 e8 08	 shr	 rax, 8
  0013b	0f b6 c8	 movzx	 ecx, al
  0013e	41 8b c1	 mov	 eax, r9d
  00141	44 8b 84 97 00
	04 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+1024]
  00149	48 c1 e8 18	 shr	 rax, 24
  0014d	44 33 84 8f 00
	08 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+2048]
  00155	44 33 04 87	 xor	 r8d, DWORD PTR [rdi+rax*4]
  00159	41 0f b6 c1	 movzx	 eax, r9b
  0015d	44 33 84 87 00
	0c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+3072]
  00165	45 33 42 10	 xor	 r8d, DWORD PTR [r10+16]
  00169	45 8b c8	 mov	 r9d, r8d
  0016c	41 8b c0	 mov	 eax, r8d
  0016f	48 c1 e8 10	 shr	 rax, 16
  00173	0f b6 d0	 movzx	 edx, al
  00176	41 8b c0	 mov	 eax, r8d
  00179	48 c1 e8 08	 shr	 rax, 8
  0017d	0f b6 c8	 movzx	 ecx, al
  00180	41 8b c1	 mov	 eax, r9d
  00183	44 8b 84 97 00
	04 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+1024]
  0018b	48 c1 e8 18	 shr	 rax, 24
  0018f	44 33 84 8f 00
	08 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+2048]
  00197	44 33 04 87	 xor	 r8d, DWORD PTR [rdi+rax*4]
  0019b	41 0f b6 c1	 movzx	 eax, r9b
  0019f	44 33 84 87 00
	0c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+3072]
  001a7	45 33 42 14	 xor	 r8d, DWORD PTR [r10+20]
  001ab	41 8b c0	 mov	 eax, r8d
  001ae	48 c1 e8 10	 shr	 rax, 16
  001b2	0f b6 d0	 movzx	 edx, al
  001b5	41 8b c0	 mov	 eax, r8d
  001b8	45 8b c8	 mov	 r9d, r8d
  001bb	44 8b 84 97 00
	04 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+1024]
  001c3	48 c1 e8 08	 shr	 rax, 8
  001c7	0f b6 c8	 movzx	 ecx, al
  001ca	41 8b c1	 mov	 eax, r9d
  001cd	48 c1 e8 18	 shr	 rax, 24
  001d1	44 33 84 8f 00
	08 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+2048]
  001d9	44 33 04 87	 xor	 r8d, DWORD PTR [rdi+rax*4]
  001dd	41 0f b6 c1	 movzx	 eax, r9b
  001e1	44 33 84 87 00
	0c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+3072]
  001e9	45 33 42 18	 xor	 r8d, DWORD PTR [r10+24]
  001ed	45 8b c8	 mov	 r9d, r8d
  001f0	41 8b c0	 mov	 eax, r8d
  001f3	48 c1 e8 10	 shr	 rax, 16
  001f7	0f b6 d0	 movzx	 edx, al
  001fa	41 8b c0	 mov	 eax, r8d
  001fd	48 c1 e8 08	 shr	 rax, 8
  00201	0f b6 c8	 movzx	 ecx, al
  00204	41 8b c1	 mov	 eax, r9d
  00207	44 8b 84 97 00
	04 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+1024]
  0020f	48 c1 e8 18	 shr	 rax, 24
  00213	44 33 84 8f 00
	08 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+2048]
  0021b	44 33 04 87	 xor	 r8d, DWORD PTR [rdi+rax*4]
  0021f	41 0f b6 c1	 movzx	 eax, r9b
  00223	44 33 84 87 00
	0c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+3072]
  0022b	45 33 42 1c	 xor	 r8d, DWORD PTR [r10+28]
  0022f	49 83 c2 20	 add	 r10, 32			; 00000020H
  00233	41 8b c0	 mov	 eax, r8d
  00236	48 c1 e8 10	 shr	 rax, 16
  0023a	0f b6 c8	 movzx	 ecx, al
  0023d	41 8b c0	 mov	 eax, r8d
  00240	48 c1 e8 08	 shr	 rax, 8
  00244	0f b6 d0	 movzx	 edx, al
  00247	8b 8c 8f 00 04
	00 00		 mov	 ecx, DWORD PTR [rdi+rcx*4+1024]
  0024e	41 8b c0	 mov	 eax, r8d
  00251	48 c1 e8 18	 shr	 rax, 24
  00255	33 8c 97 00 08
	00 00		 xor	 ecx, DWORD PTR [rdi+rdx*4+2048]
  0025c	33 0c 87	 xor	 ecx, DWORD PTR [rdi+rax*4]
  0025f	41 0f b6 c0	 movzx	 eax, r8b
  00263	33 8c 87 00 0c
	00 00		 xor	 ecx, DWORD PTR [rdi+rax*4+3072]
  0026a	48 83 eb 01	 sub	 rbx, 1
  0026e	0f 85 ec fd ff
	ff		 jne	 $LL4@crc32_litt
  00274	48 8b 5c 24 10	 mov	 rbx, QWORD PTR [rsp+16]
$LN15@crc32_litt:

; 284  :         len -= 32;
; 285  :     }
; 286  :     while (len >= 4) {

  00279	49 83 fb 04	 cmp	 r11, 4
  0027d	72 57		 jb	 SHORT $LN7@crc32_litt
  0027f	4d 8b cb	 mov	 r9, r11
  00282	49 c1 e9 02	 shr	 r9, 2
  00286	49 6b c1 fc	 imul	 rax, r9, -4
  0028a	4c 03 d8	 add	 r11, rax
  0028d	0f 1f 00	 npad	 3
$LL6@crc32_litt:

; 287  :         DOLIT4;

  00290	41 33 0a	 xor	 ecx, DWORD PTR [r10]
  00293	49 83 c2 04	 add	 r10, 4
  00297	44 8b c1	 mov	 r8d, ecx
  0029a	8b c1		 mov	 eax, ecx
  0029c	48 c1 e8 10	 shr	 rax, 16
  002a0	0f b6 c8	 movzx	 ecx, al
  002a3	41 8b c0	 mov	 eax, r8d
  002a6	48 c1 e8 08	 shr	 rax, 8
  002aa	0f b6 d0	 movzx	 edx, al
  002ad	41 8b c0	 mov	 eax, r8d
  002b0	48 c1 e8 18	 shr	 rax, 24
  002b4	8b 8c 8f 00 04
	00 00		 mov	 ecx, DWORD PTR [rdi+rcx*4+1024]
  002bb	33 8c 97 00 08
	00 00		 xor	 ecx, DWORD PTR [rdi+rdx*4+2048]
  002c2	33 0c 87	 xor	 ecx, DWORD PTR [rdi+rax*4]
  002c5	41 0f b6 c0	 movzx	 eax, r8b
  002c9	33 8c 87 00 0c
	00 00		 xor	 ecx, DWORD PTR [rdi+rax*4+3072]
  002d0	49 83 e9 01	 sub	 r9, 1
  002d4	75 ba		 jne	 SHORT $LL6@crc32_litt
$LN7@crc32_litt:

; 288  :         len -= 4;
; 289  :     }
; 290  :     buf = (const unsigned char FAR *)buf4;
; 291  : 
; 292  :     if (len) do {

  002d6	4d 85 db	 test	 r11, r11
  002d9	74 25		 je	 SHORT $LN9@crc32_litt
  002db	0f 1f 44 00 00	 npad	 5
$LL10@crc32_litt:

; 293  :         c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);

  002e0	41 0f b6 12	 movzx	 edx, BYTE PTR [r10]
  002e4	4d 8d 52 01	 lea	 r10, QWORD PTR [r10+1]
  002e8	8b c1		 mov	 eax, ecx
  002ea	48 33 d0	 xor	 rdx, rax
  002ed	c1 e8 08	 shr	 eax, 8
  002f0	44 0f b6 c2	 movzx	 r8d, dl
  002f4	42 8b 0c 87	 mov	 ecx, DWORD PTR [rdi+r8*4]
  002f8	33 c8		 xor	 ecx, eax

; 294  :     } while (--len);

  002fa	49 83 eb 01	 sub	 r11, 1
  002fe	75 e0		 jne	 SHORT $LL10@crc32_litt
$LN9@crc32_litt:

; 295  :     c = ~c;

  00300	f7 d1		 not	 ecx

; 296  :     return (unsigned long)c;

  00302	8b c1		 mov	 eax, ecx

; 297  : }

  00304	5f		 pop	 rdi
  00305	c3		 ret	 0
crc32_little ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\crc32.c
;	COMDAT crc32_big
_TEXT	SEGMENT
crc$ = 16
buf$ = 24
len$ = 32
crc32_big PROC						; COMDAT

; 310  : {

  00000	40 57		 push	 rdi

; 311  :     register z_crc_t c;
; 312  :     register const z_crc_t FAR *buf4;
; 313  : 
; 314  :     c = ZSWAP32((z_crc_t)crc);

  00002	8b c1		 mov	 eax, ecx

; 315  :     c = ~c;
; 316  :     while (len && ((ptrdiff_t)buf & 3)) {

  00004	48 8d 3d 00 00
	00 00		 lea	 rdi, OFFSET FLAT:crc_table
  0000b	25 00 ff 00 00	 and	 eax, 65280		; 0000ff00H
  00010	44 8b c9	 mov	 r9d, ecx
  00013	41 c1 e1 10	 shl	 r9d, 16
  00017	4d 8b d8	 mov	 r11, r8
  0001a	41 03 c1	 add	 eax, r9d
  0001d	4c 8b d2	 mov	 r10, rdx
  00020	c1 e0 08	 shl	 eax, 8
  00023	44 8b c9	 mov	 r9d, ecx
  00026	41 c1 e9 08	 shr	 r9d, 8
  0002a	41 81 e1 00 ff
	00 00		 and	 r9d, 65280		; 0000ff00H
  00031	c1 e9 18	 shr	 ecx, 24
  00034	41 03 c1	 add	 eax, r9d
  00037	03 c1		 add	 eax, ecx
  00039	f7 d0		 not	 eax
  0003b	4d 85 c0	 test	 r8, r8
  0003e	74 2a		 je	 SHORT $LN28@crc32_big
$LL2@crc32_big:
  00040	41 f6 c2 03	 test	 r10b, 3
  00044	74 24		 je	 SHORT $LN28@crc32_big

; 317  :         c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);

  00046	41 0f b6 0a	 movzx	 ecx, BYTE PTR [r10]
  0004a	49 ff c2	 inc	 r10
  0004d	8b d0		 mov	 edx, eax
  0004f	48 c1 ea 18	 shr	 rdx, 24
  00053	48 33 d1	 xor	 rdx, rcx
  00056	8b c8		 mov	 ecx, eax
  00058	c1 e1 08	 shl	 ecx, 8
  0005b	8b 84 97 00 10
	00 00		 mov	 eax, DWORD PTR [rdi+rdx*4+4096]
  00062	33 c1		 xor	 eax, ecx

; 318  :         len--;

  00064	49 83 eb 01	 sub	 r11, 1
  00068	75 d6		 jne	 SHORT $LL2@crc32_big
$LN28@crc32_big:

; 322  :     while (len >= 32) {

  0006a	49 83 fb 20	 cmp	 r11, 32			; 00000020H
  0006e	0f 82 54 02 00
	00		 jb	 $LN15@crc32_big

; 319  :     }
; 320  : 
; 321  :     buf4 = (const z_crc_t FAR *)(const void FAR *)buf;

  00074	48 89 5c 24 10	 mov	 QWORD PTR [rsp+16], rbx
  00079	49 8b db	 mov	 rbx, r11
  0007c	48 c1 eb 05	 shr	 rbx, 5

; 322  :     while (len >= 32) {

  00080	48 6b cb e0	 imul	 rcx, rbx, -32		; ffffffffffffffe0H
  00084	4c 03 d9	 add	 r11, rcx
  00087	66 0f 1f 84 00
	00 00 00 00	 npad	 9
$LL4@crc32_big:

; 323  :         DOBIG32;

  00090	41 33 02	 xor	 eax, DWORD PTR [r10]
  00093	44 8b c8	 mov	 r9d, eax
  00096	48 c1 e8 10	 shr	 rax, 16
  0009a	0f b6 d0	 movzx	 edx, al
  0009d	41 8b c1	 mov	 eax, r9d
  000a0	48 c1 e8 08	 shr	 rax, 8
  000a4	0f b6 c8	 movzx	 ecx, al
  000a7	41 8b c1	 mov	 eax, r9d
  000aa	48 c1 e8 18	 shr	 rax, 24
  000ae	44 8b 84 97 00
	18 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+6144]
  000b6	44 33 84 8f 00
	14 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+5120]
  000be	44 33 84 87 00
	1c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+7168]
  000c6	41 0f b6 c1	 movzx	 eax, r9b
  000ca	44 33 84 87 00
	10 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+4096]
  000d2	45 33 42 04	 xor	 r8d, DWORD PTR [r10+4]
  000d6	45 8b c8	 mov	 r9d, r8d
  000d9	41 8b c0	 mov	 eax, r8d
  000dc	48 c1 e8 10	 shr	 rax, 16
  000e0	0f b6 d0	 movzx	 edx, al
  000e3	41 8b c0	 mov	 eax, r8d
  000e6	48 c1 e8 08	 shr	 rax, 8
  000ea	0f b6 c8	 movzx	 ecx, al
  000ed	41 8b c1	 mov	 eax, r9d
  000f0	44 8b 84 97 00
	18 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+6144]
  000f8	48 c1 e8 18	 shr	 rax, 24
  000fc	44 33 84 8f 00
	14 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+5120]
  00104	44 33 84 87 00
	1c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+7168]
  0010c	41 0f b6 c1	 movzx	 eax, r9b
  00110	44 33 84 87 00
	10 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+4096]
  00118	45 33 42 08	 xor	 r8d, DWORD PTR [r10+8]
  0011c	45 8b c8	 mov	 r9d, r8d
  0011f	41 8b c0	 mov	 eax, r8d
  00122	48 c1 e8 10	 shr	 rax, 16
  00126	0f b6 d0	 movzx	 edx, al
  00129	41 8b c0	 mov	 eax, r8d
  0012c	48 c1 e8 08	 shr	 rax, 8
  00130	0f b6 c8	 movzx	 ecx, al
  00133	41 8b c1	 mov	 eax, r9d
  00136	44 8b 84 97 00
	18 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+6144]
  0013e	48 c1 e8 18	 shr	 rax, 24
  00142	44 33 84 8f 00
	14 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+5120]
  0014a	44 33 84 87 00
	1c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+7168]
  00152	41 0f b6 c1	 movzx	 eax, r9b
  00156	44 33 84 87 00
	10 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+4096]
  0015e	45 33 42 0c	 xor	 r8d, DWORD PTR [r10+12]
  00162	45 8b c8	 mov	 r9d, r8d
  00165	41 8b c0	 mov	 eax, r8d
  00168	48 c1 e8 10	 shr	 rax, 16
  0016c	0f b6 d0	 movzx	 edx, al
  0016f	41 8b c0	 mov	 eax, r8d
  00172	48 c1 e8 08	 shr	 rax, 8
  00176	0f b6 c8	 movzx	 ecx, al
  00179	41 8b c1	 mov	 eax, r9d
  0017c	44 8b 84 97 00
	18 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+6144]
  00184	48 c1 e8 18	 shr	 rax, 24
  00188	44 33 84 8f 00
	14 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+5120]
  00190	44 33 84 87 00
	1c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+7168]
  00198	41 0f b6 c1	 movzx	 eax, r9b
  0019c	44 33 84 87 00
	10 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+4096]
  001a4	45 33 42 10	 xor	 r8d, DWORD PTR [r10+16]
  001a8	45 8b c8	 mov	 r9d, r8d
  001ab	41 8b c0	 mov	 eax, r8d
  001ae	48 c1 e8 10	 shr	 rax, 16
  001b2	0f b6 d0	 movzx	 edx, al
  001b5	41 8b c0	 mov	 eax, r8d
  001b8	48 c1 e8 08	 shr	 rax, 8
  001bc	0f b6 c8	 movzx	 ecx, al
  001bf	41 8b c1	 mov	 eax, r9d
  001c2	44 8b 84 97 00
	18 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+6144]
  001ca	48 c1 e8 18	 shr	 rax, 24
  001ce	44 33 84 8f 00
	14 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+5120]
  001d6	44 33 84 87 00
	1c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+7168]
  001de	41 0f b6 c1	 movzx	 eax, r9b
  001e2	44 33 84 87 00
	10 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+4096]
  001ea	45 33 42 14	 xor	 r8d, DWORD PTR [r10+20]
  001ee	41 8b c0	 mov	 eax, r8d
  001f1	48 c1 e8 10	 shr	 rax, 16
  001f5	0f b6 d0	 movzx	 edx, al
  001f8	41 8b c0	 mov	 eax, r8d
  001fb	48 c1 e8 08	 shr	 rax, 8
  001ff	45 8b c8	 mov	 r9d, r8d
  00202	44 8b 84 97 00
	18 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+6144]
  0020a	0f b6 c8	 movzx	 ecx, al
  0020d	41 8b c1	 mov	 eax, r9d
  00210	48 c1 e8 18	 shr	 rax, 24
  00214	44 33 84 8f 00
	14 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+5120]
  0021c	44 33 84 87 00
	1c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+7168]
  00224	41 0f b6 c1	 movzx	 eax, r9b
  00228	44 33 84 87 00
	10 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+4096]
  00230	45 33 42 18	 xor	 r8d, DWORD PTR [r10+24]
  00234	45 8b c8	 mov	 r9d, r8d
  00237	41 8b c0	 mov	 eax, r8d
  0023a	48 c1 e8 10	 shr	 rax, 16
  0023e	0f b6 d0	 movzx	 edx, al
  00241	41 8b c0	 mov	 eax, r8d
  00244	48 c1 e8 08	 shr	 rax, 8
  00248	0f b6 c8	 movzx	 ecx, al
  0024b	41 8b c1	 mov	 eax, r9d
  0024e	44 8b 84 97 00
	18 00 00	 mov	 r8d, DWORD PTR [rdi+rdx*4+6144]
  00256	48 c1 e8 18	 shr	 rax, 24
  0025a	44 33 84 8f 00
	14 00 00	 xor	 r8d, DWORD PTR [rdi+rcx*4+5120]
  00262	44 33 84 87 00
	1c 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+7168]
  0026a	41 0f b6 c1	 movzx	 eax, r9b
  0026e	44 33 84 87 00
	10 00 00	 xor	 r8d, DWORD PTR [rdi+rax*4+4096]
  00276	45 33 42 1c	 xor	 r8d, DWORD PTR [r10+28]
  0027a	49 83 c2 20	 add	 r10, 32			; 00000020H
  0027e	41 8b c0	 mov	 eax, r8d
  00281	48 c1 e8 10	 shr	 rax, 16
  00285	0f b6 d0	 movzx	 edx, al
  00288	41 8b c0	 mov	 eax, r8d
  0028b	48 c1 e8 08	 shr	 rax, 8
  0028f	0f b6 c8	 movzx	 ecx, al
  00292	8b 84 97 00 18
	00 00		 mov	 eax, DWORD PTR [rdi+rdx*4+6144]
  00299	33 84 8f 00 14
	00 00		 xor	 eax, DWORD PTR [rdi+rcx*4+5120]
  002a0	41 8b c8	 mov	 ecx, r8d
  002a3	48 c1 e9 18	 shr	 rcx, 24
  002a7	33 84 8f 00 1c
	00 00		 xor	 eax, DWORD PTR [rdi+rcx*4+7168]
  002ae	41 0f b6 c8	 movzx	 ecx, r8b
  002b2	33 84 8f 00 10
	00 00		 xor	 eax, DWORD PTR [rdi+rcx*4+4096]
  002b9	48 83 eb 01	 sub	 rbx, 1
  002bd	0f 85 cd fd ff
	ff		 jne	 $LL4@crc32_big
  002c3	48 8b 5c 24 10	 mov	 rbx, QWORD PTR [rsp+16]
$LN15@crc32_big:

; 324  :         len -= 32;
; 325  :     }
; 326  :     while (len >= 4) {

  002c8	49 83 fb 04	 cmp	 r11, 4
  002cc	72 5a		 jb	 SHORT $LN7@crc32_big
  002ce	4d 8b cb	 mov	 r9, r11
  002d1	49 c1 e9 02	 shr	 r9, 2
  002d5	49 6b c9 fc	 imul	 rcx, r9, -4
  002d9	4c 03 d9	 add	 r11, rcx
  002dc	0f 1f 40 00	 npad	 4
$LL6@crc32_big:

; 327  :         DOBIG4;

  002e0	41 33 02	 xor	 eax, DWORD PTR [r10]
  002e3	49 83 c2 04	 add	 r10, 4
  002e7	44 8b c0	 mov	 r8d, eax
  002ea	48 c1 e8 10	 shr	 rax, 16
  002ee	0f b6 d0	 movzx	 edx, al
  002f1	41 8b c0	 mov	 eax, r8d
  002f4	48 c1 e8 08	 shr	 rax, 8
  002f8	0f b6 c8	 movzx	 ecx, al
  002fb	8b 84 97 00 18
	00 00		 mov	 eax, DWORD PTR [rdi+rdx*4+6144]
  00302	33 84 8f 00 14
	00 00		 xor	 eax, DWORD PTR [rdi+rcx*4+5120]
  00309	41 8b c8	 mov	 ecx, r8d
  0030c	48 c1 e9 18	 shr	 rcx, 24
  00310	33 84 8f 00 1c
	00 00		 xor	 eax, DWORD PTR [rdi+rcx*4+7168]
  00317	41 0f b6 c8	 movzx	 ecx, r8b
  0031b	33 84 8f 00 10
	00 00		 xor	 eax, DWORD PTR [rdi+rcx*4+4096]
  00322	49 83 e9 01	 sub	 r9, 1
  00326	75 b8		 jne	 SHORT $LL6@crc32_big
$LN7@crc32_big:

; 328  :         len -= 4;
; 329  :     }
; 330  :     buf = (const unsigned char FAR *)buf4;
; 331  : 
; 332  :     if (len) do {

  00328	4d 85 db	 test	 r11, r11
  0032b	74 28		 je	 SHORT $LN9@crc32_big
  0032d	0f 1f 00	 npad	 3
$LL10@crc32_big:

; 333  :         c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);

  00330	41 0f b6 0a	 movzx	 ecx, BYTE PTR [r10]
  00334	4d 8d 52 01	 lea	 r10, QWORD PTR [r10+1]
  00338	8b d0		 mov	 edx, eax
  0033a	48 c1 ea 18	 shr	 rdx, 24
  0033e	48 33 d1	 xor	 rdx, rcx
  00341	8b c8		 mov	 ecx, eax
  00343	c1 e1 08	 shl	 ecx, 8
  00346	8b 84 97 00 10
	00 00		 mov	 eax, DWORD PTR [rdi+rdx*4+4096]
  0034d	33 c1		 xor	 eax, ecx

; 334  :     } while (--len);

  0034f	49 83 eb 01	 sub	 r11, 1
  00353	75 db		 jne	 SHORT $LL10@crc32_big
$LN9@crc32_big:

; 335  :     c = ~c;

  00355	f7 d0		 not	 eax

; 336  :     return (unsigned long)(ZSWAP32(c));

  00357	8b d0		 mov	 edx, eax
  00359	8b c8		 mov	 ecx, eax
  0035b	c1 e1 10	 shl	 ecx, 16
  0035e	81 e2 00 ff 00
	00		 and	 edx, 65280		; 0000ff00H
  00364	03 d1		 add	 edx, ecx
  00366	8b c8		 mov	 ecx, eax
  00368	c1 e9 08	 shr	 ecx, 8
  0036b	81 e1 00 ff 00
	00		 and	 ecx, 65280		; 0000ff00H
  00371	c1 e2 08	 shl	 edx, 8
  00374	03 d1		 add	 edx, ecx
  00376	c1 e8 18	 shr	 eax, 24
  00379	03 c2		 add	 eax, edx

; 337  : }

  0037b	5f		 pop	 rdi
  0037c	c3		 ret	 0
crc32_big ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\crc32.c
;	COMDAT gf2_matrix_times
_TEXT	SEGMENT
mat$ = 8
vec$ = 16
gf2_matrix_times PROC					; COMDAT

; 348  :     unsigned long sum;
; 349  : 
; 350  :     sum = 0;

  00000	33 c0		 xor	 eax, eax

; 351  :     while (vec) {

  00002	85 d2		 test	 edx, edx
  00004	74 0f		 je	 SHORT $LN10@gf2_matrix
$LL2@gf2_matrix:

; 352  :         if (vec & 1)

  00006	f6 c2 01	 test	 dl, 1
  00009	74 02		 je	 SHORT $LN4@gf2_matrix

; 353  :             sum ^= *mat;

  0000b	33 01		 xor	 eax, DWORD PTR [rcx]
$LN4@gf2_matrix:

; 354  :         vec >>= 1;
; 355  :         mat++;

  0000d	48 83 c1 04	 add	 rcx, 4
  00011	d1 ea		 shr	 edx, 1
  00013	75 f1		 jne	 SHORT $LL2@gf2_matrix
$LN10@gf2_matrix:

; 356  :     }
; 357  :     return sum;
; 358  : }

  00015	c3		 ret	 0
gf2_matrix_times ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\crc32.c
;	COMDAT gf2_matrix_square
_TEXT	SEGMENT
square$ = 48
mat$ = 56
gf2_matrix_square PROC					; COMDAT

; 364  : {

  00000	48 83 ec 28	 sub	 rsp, 40			; 00000028H

; 365  :     int n;
; 366  : 
; 367  :     for (n = 0; n < GF2_DIM; n++)

  00004	4c 8b d2	 mov	 r10, rdx
  00007	4c 8b da	 mov	 r11, rdx
  0000a	4c 2b d1	 sub	 r10, rcx
  0000d	4c 8b c1	 mov	 r8, rcx
  00010	41 b9 20 00 00
	00		 mov	 r9d, 32			; 00000020H
  00016	66 66 0f 1f 84
	00 00 00 00 00	 npad	 10
$LL4@gf2_matrix:

; 368  :         square[n] = gf2_matrix_times(mat, mat[n]);

  00020	43 8b 14 02	 mov	 edx, DWORD PTR [r10+r8]
  00024	49 8b cb	 mov	 rcx, r11
  00027	e8 00 00 00 00	 call	 gf2_matrix_times
  0002c	41 89 00	 mov	 DWORD PTR [r8], eax
  0002f	4d 8d 40 04	 lea	 r8, QWORD PTR [r8+4]
  00033	49 83 e9 01	 sub	 r9, 1
  00037	75 e7		 jne	 SHORT $LL4@gf2_matrix

; 369  : }

  00039	48 83 c4 28	 add	 rsp, 40			; 00000028H
  0003d	c3		 ret	 0
gf2_matrix_square ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\crc32.c
;	COMDAT crc32_combine_
_TEXT	SEGMENT
odd$ = 32
even$ = 160
crc1$ = 304
crc2$ = 312
len2$ = 320
crc32_combine_ PROC					; COMDAT

; 376  : {

  00000	48 89 5c 24 08	 mov	 QWORD PTR [rsp+8], rbx
  00005	48 89 74 24 10	 mov	 QWORD PTR [rsp+16], rsi
  0000a	57		 push	 rdi
  0000b	48 81 ec 20 01
	00 00		 sub	 rsp, 288		; 00000120H
  00012	49 8b d8	 mov	 rbx, r8
  00015	8b f2		 mov	 esi, edx
  00017	8b f9		 mov	 edi, ecx

; 377  :     int n;
; 378  :     unsigned long row;
; 379  :     unsigned long even[GF2_DIM];    /* even-power-of-two zeros operator */
; 380  :     unsigned long odd[GF2_DIM];     /* odd-power-of-two zeros operator */
; 381  : 
; 382  :     /* degenerate case (also disallow negative lengths) */
; 383  :     if (len2 <= 0)

  00019	4d 85 c0	 test	 r8, r8
  0001c	0f 8e a7 00 00
	00		 jle	 $LN23@crc32_comb

; 384  :         return crc1;
; 385  : 
; 386  :     /* put operator for one zero bit in odd */
; 387  :     odd[0] = 0xedb88320UL;          /* CRC-32 polynomial */
; 388  :     row = 1;

  00022	b9 01 00 00 00	 mov	 ecx, 1
  00027	c7 44 24 20 20
	83 b8 ed	 mov	 DWORD PTR odd$[rsp], -306674912 ; edb88320H

; 389  :     for (n = 1; n < GF2_DIM; n++) {

  0002f	8b c1		 mov	 eax, ecx
$LL17@crc32_comb:

; 390  :         odd[n] = row;

  00031	89 4c 84 20	 mov	 DWORD PTR odd$[rsp+rax*4], ecx

; 391  :         row <<= 1;

  00035	03 c9		 add	 ecx, ecx
  00037	48 ff c0	 inc	 rax
  0003a	48 83 f8 20	 cmp	 rax, 32			; 00000020H
  0003e	7c f1		 jl	 SHORT $LL17@crc32_comb

; 392  :     }
; 393  : 
; 394  :     /* put operator for two zero bits in even */
; 395  :     gf2_matrix_square(even, odd);

  00040	48 8d 54 24 20	 lea	 rdx, QWORD PTR odd$[rsp]
  00045	48 8d 8c 24 a0
	00 00 00	 lea	 rcx, QWORD PTR even$[rsp]
  0004d	e8 00 00 00 00	 call	 gf2_matrix_square

; 396  : 
; 397  :     /* put operator for four zero bits in odd */
; 398  :     gf2_matrix_square(odd, even);

  00052	48 8d 94 24 a0
	00 00 00	 lea	 rdx, QWORD PTR even$[rsp]
  0005a	48 8d 4c 24 20	 lea	 rcx, QWORD PTR odd$[rsp]
  0005f	e8 00 00 00 00	 call	 gf2_matrix_square
  00064	0f 1f 40 00 0f
	1f 84 00 00 00
	00 00		 npad	 12
$LL7@crc32_comb:

; 399  : 
; 400  :     /* apply len2 zeros to crc1 (first square will put the operator for one
; 401  :        zero byte, eight zero bits, in even) */
; 402  :     do {
; 403  :         /* apply zeros operator for this bit of len2 */
; 404  :         gf2_matrix_square(even, odd);

  00070	48 8d 54 24 20	 lea	 rdx, QWORD PTR odd$[rsp]
  00075	48 8d 8c 24 a0
	00 00 00	 lea	 rcx, QWORD PTR even$[rsp]
  0007d	e8 00 00 00 00	 call	 gf2_matrix_square

; 405  :         if (len2 & 1)

  00082	f6 c3 01	 test	 bl, 1
  00085	74 11		 je	 SHORT $LN9@crc32_comb

; 406  :             crc1 = gf2_matrix_times(even, crc1);

  00087	8b d7		 mov	 edx, edi
  00089	48 8d 8c 24 a0
	00 00 00	 lea	 rcx, QWORD PTR even$[rsp]
  00091	e8 00 00 00 00	 call	 gf2_matrix_times
  00096	8b f8		 mov	 edi, eax
$LN9@crc32_comb:

; 407  :         len2 >>= 1;

  00098	48 d1 fb	 sar	 rbx, 1

; 408  : 
; 409  :         /* if no more bits set, then done */
; 410  :         if (len2 == 0)

  0009b	74 2a		 je	 SHORT $LN6@crc32_comb

; 411  :             break;
; 412  : 
; 413  :         /* another iteration of the loop with odd and even swapped */
; 414  :         gf2_matrix_square(odd, even);

  0009d	48 8d 94 24 a0
	00 00 00	 lea	 rdx, QWORD PTR even$[rsp]
  000a5	48 8d 4c 24 20	 lea	 rcx, QWORD PTR odd$[rsp]
  000aa	e8 00 00 00 00	 call	 gf2_matrix_square

; 415  :         if (len2 & 1)

  000af	f6 c3 01	 test	 bl, 1
  000b2	74 0e		 je	 SHORT $LN11@crc32_comb

; 416  :             crc1 = gf2_matrix_times(odd, crc1);

  000b4	8b d7		 mov	 edx, edi
  000b6	48 8d 4c 24 20	 lea	 rcx, QWORD PTR odd$[rsp]
  000bb	e8 00 00 00 00	 call	 gf2_matrix_times
  000c0	8b f8		 mov	 edi, eax
$LN11@crc32_comb:

; 417  :         len2 >>= 1;

  000c2	48 d1 fb	 sar	 rbx, 1

; 418  : 
; 419  :         /* if no more bits set, then done */
; 420  :     } while (len2 != 0);

  000c5	75 a9		 jne	 SHORT $LL7@crc32_comb
$LN6@crc32_comb:

; 421  : 
; 422  :     /* return combined crc */
; 423  :     crc1 ^= crc2;

  000c7	33 fe		 xor	 edi, esi
$LN23@crc32_comb:

; 424  :     return crc1;
; 425  : }

  000c9	4c 8d 9c 24 20
	01 00 00	 lea	 r11, QWORD PTR [rsp+288]
  000d1	8b c7		 mov	 eax, edi
  000d3	49 8b 5b 10	 mov	 rbx, QWORD PTR [r11+16]
  000d7	49 8b 73 18	 mov	 rsi, QWORD PTR [r11+24]
  000db	49 8b e3	 mov	 rsp, r11
  000de	5f		 pop	 rdi
  000df	c3		 ret	 0
crc32_combine_ ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\crc32.c
;	COMDAT crc32_combine
_TEXT	SEGMENT
crc1$ = 8
crc2$ = 16
len2$ = 24
crc32_combine PROC					; COMDAT

; 433  :     return crc32_combine_(crc1, crc2, len2);

  00000	4d 63 c0	 movsxd	 r8, r8d
  00003	e9 00 00 00 00	 jmp	 crc32_combine_
crc32_combine ENDP
_TEXT	ENDS
END
