7a7ec0:	8b 44 24 5c          	mov    0x5c(%esp),%eax
7a7ec4:	33 44 24 64          	xor    0x64(%esp),%eax
7a7ec8:	23 44 24 50          	and    0x50(%esp),%eax
7a7ecc:	33 44 24 64          	xor    0x64(%esp),%eax
7a7ed0:	c1 c9 06             	ror    $0x6,%ecx
7a7ed3:	05 d5 5e 1c ab       	add    $0xab1c5ed5,%eax
7a7ed8:	03 4c 24 58          	add    0x58(%esp),%ecx
7a7edc:	03 c2                	add    %edx,%eax
7a7ede:	03 c1                	add    %ecx,%eax
7a7ee0:	8b d6                	mov    %esi,%edx
7a7ee2:	c1 ca 09             	ror    $0x9,%edx
7a7ee5:	33 d6                	xor    %esi,%edx
7a7ee7:	c1 ca 0b             	ror    $0xb,%edx
7a7eea:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
7a7eed:	33 d6                	xor    %esi,%edx
7a7eef:	89 4c 24 48          	mov    %ecx,0x48(%esp)
7a7ef3:	8b fd                	mov    %ebp,%edi
7a7ef5:	8b cd                	mov    %ebp,%ecx
7a7ef7:	c1 ca 02             	ror    $0x2,%edx
7a7efa:	33 cb                	xor    %ebx,%ecx
7a7efc:	23 fb                	and    %ebx,%edi
7a7efe:	23 ce                	and    %esi,%ecx
7a7f00:	03 c8                	add    %eax,%ecx
7a7f02:	8b 44 24 74          	mov    0x74(%esp),%eax
7a7f06:	03 ca                	add    %edx,%ecx
7a7f08:	03 f9                	add    %ecx,%edi
7a7f0a:	8b 48 20             	mov    0x20(%eax),%ecx
7a7f0d:	8b d1                	mov    %ecx,%edx
7a7f0f:	8b c1                	mov    %ecx,%eax
7a7f11:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
7a7f17:	c1 e8 10             	shr    $0x10,%eax
7a7f1a:	0b d0                	or     %eax,%edx
7a7f1c:	8b c1                	mov    %ecx,%eax
7a7f1e:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
7a7f24:	c1 e0 10             	shl    $0x10,%eax
7a7f27:	0b c1                	or     %ecx,%eax
7a7f29:	c1 ea 08             	shr    $0x8,%edx
7a7f2c:	c1 e0 08             	shl    $0x8,%eax
7a7f2f:	0b d0                	or     %eax,%edx
7a7f31:	8b 44 24 48          	mov    0x48(%esp),%eax
7a7f35:	8b c8                	mov    %eax,%ecx
7a7f37:	89 54 24 4c          	mov    %edx,0x4c(%esp)
7a7f3b:	c1 c9 0e             	ror    $0xe,%ecx
7a7f3e:	33 c8                	xor    %eax,%ecx
7a7f40:	c1 c9 05             	ror    $0x5,%ecx
7a7f43:	33 c8                	xor    %eax,%ecx
7a7f45:	8b 44 24 50          	mov    0x50(%esp),%eax
7a7f49:	33 44 24 5c          	xor    0x5c(%esp),%eax
7a7f4d:	23 44 24 48          	and    0x48(%esp),%eax
7a7f51:	33 44 24 5c          	xor    0x5c(%esp),%eax
7a7f55:	c1 c9 06             	ror    $0x6,%ecx
7a7f58:	05 98 aa 07 d8       	add    $0xd807aa98,%eax
7a7f5d:	03 4c 24 64          	add    0x64(%esp),%ecx
7a7f61:	03 c2                	add    %edx,%eax
7a7f63:	03 c1                	add    %ecx,%eax
7a7f65:	8b d7                	mov    %edi,%edx
7a7f67:	c1 ca 09             	ror    $0x9,%edx
7a7f6a:	33 d7                	xor    %edi,%edx
7a7f6c:	c1 ca 0b             	ror    $0xb,%edx
7a7f6f:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
7a7f72:	33 d7                	xor    %edi,%edx
7a7f74:	89 4c 24 64          	mov    %ecx,0x64(%esp)
7a7f78:	8b de                	mov    %esi,%ebx
7a7f7a:	c1 ca 02             	ror    $0x2,%edx
7a7f7d:	8b ce                	mov    %esi,%ecx
7a7f7f:	33 cd                	xor    %ebp,%ecx
7a7f81:	23 dd                	and    %ebp,%ebx
7a7f83:	23 cf                	and    %edi,%ecx
7a7f85:	03 c8                	add    %eax,%ecx
7a7f87:	8b 44 24 74          	mov    0x74(%esp),%eax
7a7f8b:	03 ca                	add    %edx,%ecx
7a7f8d:	03 d9                	add    %ecx,%ebx
7a7f8f:	8b 48 24             	mov    0x24(%eax),%ecx
7a7f92:	8b d1                	mov    %ecx,%edx
7a7f94:	8b c1                	mov    %ecx,%eax
7a7f96:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
7a7f9c:	c1 e8 10             	shr    $0x10,%eax
7a7f9f:	0b d0                	or     %eax,%edx
7a7fa1:	8b c1                	mov    %ecx,%eax
7a7fa3:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
7a7fa9:	c1 e0 10             	shl    $0x10,%eax
7a7fac:	0b c1                	or     %ecx,%eax
7a7fae:	c1 ea 08             	shr    $0x8,%edx
7a7fb1:	c1 e0 08             	shl    $0x8,%eax
7a7fb4:	0b d0                	or     %eax,%edx
7a7fb6:	8b 44 24 64          	mov    0x64(%esp),%eax
7a7fba:	8b c8                	mov    %eax,%ecx
7a7fbc:	89 54 24 34          	mov    %edx,0x34(%esp)
7a7fc0:	c1 c9 0e             	ror    $0xe,%ecx
7a7fc3:	33 c8                	xor    %eax,%ecx
7a7fc5:	c1 c9 05             	ror    $0x5,%ecx
7a7fc8:	33 c8                	xor    %eax,%ecx
7a7fca:	8b 44 24 48          	mov    0x48(%esp),%eax
7a7fce:	33 44 24 50          	xor    0x50(%esp),%eax
7a7fd2:	23 44 24 64          	and    0x64(%esp),%eax
7a7fd6:	33 44 24 50          	xor    0x50(%esp),%eax
7a7fda:	c1 c9 06             	ror    $0x6,%ecx
7a7fdd:	03 ca                	add    %edx,%ecx
7a7fdf:	8b d3                	mov    %ebx,%edx
7a7fe1:	03 c1                	add    %ecx,%eax
7a7fe3:	c1 ca 09             	ror    $0x9,%edx
7a7fe6:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
7a7fea:	33 d3                	xor    %ebx,%edx
7a7fec:	81 c1 01 5b 83 12    	add    $0x12835b01,%ecx
7a7ff2:	c1 ca 0b             	ror    $0xb,%edx
7a7ff5:	03 c1                	add    %ecx,%eax
7a7ff7:	03 e8                	add    %eax,%ebp
7a7ff9:	33 d3                	xor    %ebx,%edx
7a7ffb:	89 6c 24 28          	mov    %ebp,0x28(%esp)
7a7fff:	c1 ca 02             	ror    $0x2,%edx
7a8002:	8b cf                	mov    %edi,%ecx
7a8004:	33 ce                	xor    %esi,%ecx
7a8006:	23 cb                	and    %ebx,%ecx
7a8008:	03 c8                	add    %eax,%ecx
7a800a:	8b c7                	mov    %edi,%eax
7a800c:	03 ca                	add    %edx,%ecx
7a800e:	23 c6                	and    %esi,%eax
7a8010:	03 c1                	add    %ecx,%eax
7a8012:	89 44 24 20          	mov    %eax,0x20(%esp)
7a8016:	8b 44 24 74          	mov    0x74(%esp),%eax
7a801a:	8b 48 28             	mov    0x28(%eax),%ecx
7a801d:	8b d1                	mov    %ecx,%edx
7a801f:	8b c1                	mov    %ecx,%eax
7a8021:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
7a8027:	c1 e8 10             	shr    $0x10,%eax
7a802a:	0b d0                	or     %eax,%edx
7a802c:	8b c1                	mov    %ecx,%eax
7a802e:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
7a8034:	c1 e0 10             	shl    $0x10,%eax
7a8037:	0b c1                	or     %ecx,%eax
7a8039:	c1 ea 08             	shr    $0x8,%edx
7a803c:	c1 e0 08             	shl    $0x8,%eax
7a803f:	8b cd                	mov    %ebp,%ecx
7a8041:	0b d0                	or     %eax,%edx
7a8043:	c1 c9 0e             	ror    $0xe,%ecx
7a8046:	8b 44 24 64          	mov    0x64(%esp),%eax
7a804a:	33 cd                	xor    %ebp,%ecx
7a804c:	c1 c9 05             	ror    $0x5,%ecx
7a804f:	33 cd                	xor    %ebp,%ecx
7a8051:	89 54 24 58          	mov    %edx,0x58(%esp)
7a8055:	8b 6c 24 48          	mov    0x48(%esp),%ebp
7a8059:	81 c2 be 85 31 24    	add    $0x243185be,%edx
7a805f:	33 c5                	xor    %ebp,%eax
7a8061:	c1 c9 06             	ror    $0x6,%ecx
7a8064:	23 44 24 28          	and    0x28(%esp),%eax
7a8068:	03 4c 24 50          	add    0x50(%esp),%ecx
7a806c:	33 c5                	xor    %ebp,%eax
7a806e:	03 c1                	add    %ecx,%eax
7a8070:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7a8074:	03 c2                	add    %edx,%eax
7a8076:	8b d1                	mov    %ecx,%edx
7a8078:	c1 ca 09             	ror    $0x9,%edx
7a807b:	03 f0                	add    %eax,%esi
7a807d:	33 d1                	xor    %ecx,%edx
7a807f:	89 74 24 48          	mov    %esi,0x48(%esp)
7a8083:	c1 ca 0b             	ror    $0xb,%edx
7a8086:	33 d1                	xor    %ecx,%edx
7a8088:	8b cb                	mov    %ebx,%ecx
7a808a:	33 cf                	xor    %edi,%ecx
7a808c:	c1 ca 02             	ror    $0x2,%edx
7a808f:	23 4c 24 20          	and    0x20(%esp),%ecx
7a8093:	03 c8                	add    %eax,%ecx
7a8095:	8b c3                	mov    %ebx,%eax
7a8097:	03 ca                	add    %edx,%ecx
7a8099:	23 c7                	and    %edi,%eax
7a809b:	03 c1                	add    %ecx,%eax
7a809d:	89 44 24 18          	mov    %eax,0x18(%esp)
7a80a1:	8b 44 24 74          	mov    0x74(%esp),%eax
7a80a5:	8b 48 2c             	mov    0x2c(%eax),%ecx
7a80a8:	8b d1                	mov    %ecx,%edx
7a80aa:	8b c1                	mov    %ecx,%eax
7a80ac:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
7a80b2:	c1 e8 10             	shr    $0x10,%eax
7a80b5:	0b d0                	or     %eax,%edx
7a80b7:	8b c1                	mov    %ecx,%eax
7a80b9:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
7a80bf:	c1 e0 10             	shl    $0x10,%eax
7a80c2:	0b c1                	or     %ecx,%eax
7a80c4:	c1 ea 08             	shr    $0x8,%edx
7a80c7:	8b ce                	mov    %esi,%ecx
7a80c9:	c1 e0 08             	shl    $0x8,%eax
7a80cc:	c1 c9 0e             	ror    $0xe,%ecx
7a80cf:	0b d0                	or     %eax,%edx
7a80d1:	8b 44 24 28          	mov    0x28(%esp),%eax
7a80d5:	33 ce                	xor    %esi,%ecx
7a80d7:	c1 c9 05             	ror    $0x5,%ecx
7a80da:	33 ce                	xor    %esi,%ecx
7a80dc:	89 54 24 40          	mov    %edx,0x40(%esp)
7a80e0:	c1 c9 06             	ror    $0x6,%ecx
7a80e3:	33 44 24 64          	xor    0x64(%esp),%eax
7a80e7:	23 c6                	and    %esi,%eax
7a80e9:	03 cd                	add    %ebp,%ecx
7a80eb:	33 44 24 64          	xor    0x64(%esp),%eax
7a80ef:	03 c1                	add    %ecx,%eax
7a80f1:	8b 74 24 20          	mov    0x20(%esp),%esi
7a80f5:	8b ca                	mov    %edx,%ecx
7a80f7:	81 c1 c3 7d 0c 55    	add    $0x550c7dc3,%ecx
7a80fd:	03 c8                	add    %eax,%ecx
7a80ff:	8b c6                	mov    %esi,%eax
7a8101:	33 c3                	xor    %ebx,%eax
7a8103:	23 f3                	and    %ebx,%esi
7a8105:	8d 2c 0f             	lea    (%edi,%ecx,1),%ebp
7a8108:	8b 7c 24 18          	mov    0x18(%esp),%edi
7a810c:	23 c7                	and    %edi,%eax
7a810e:	89 6c 24 50          	mov    %ebp,0x50(%esp)
7a8112:	03 c1                	add    %ecx,%eax
7a8114:	8b d7                	mov    %edi,%edx
7a8116:	c1 ca 09             	ror    $0x9,%edx
7a8119:	33 d7                	xor    %edi,%edx
7a811b:	c1 ca 0b             	ror    $0xb,%edx
7a811e:	33 d7                	xor    %edi,%edx
7a8120:	8b 7c 24 48          	mov    0x48(%esp),%edi
7a8124:	c1 ca 02             	ror    $0x2,%edx
7a8127:	03 c2                	add    %edx,%eax
7a8129:	03 f0                	add    %eax,%esi
7a812b:	8b 44 24 74          	mov    0x74(%esp),%eax
7a812f:	8b 48 30             	mov    0x30(%eax),%ecx
7a8132:	8b d1                	mov    %ecx,%edx
7a8134:	8b c1                	mov    %ecx,%eax
7a8136:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
7a813c:	c1 e8 10             	shr    $0x10,%eax
7a813f:	0b d0                	or     %eax,%edx
7a8141:	8b c1                	mov    %ecx,%eax
7a8143:	c1 e0 10             	shl    $0x10,%eax
7a8146:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
7a814c:	0b c1                	or     %ecx,%eax
7a814e:	c1 ea 08             	shr    $0x8,%edx
7a8151:	c1 e0 08             	shl    $0x8,%eax
7a8154:	8b cd                	mov    %ebp,%ecx
7a8156:	0b d0                	or     %eax,%edx
7a8158:	c1 c9 0e             	ror    $0xe,%ecx
7a815b:	33 cd                	xor    %ebp,%ecx
7a815d:	89 54 24 5c          	mov    %edx,0x5c(%esp)
7a8161:	c1 c9 05             	ror    $0x5,%ecx
7a8164:	81 c2 74 5d be 72    	add    $0x72be5d74,%edx
7a816a:	33 cd                	xor    %ebp,%ecx
7a816c:	8b 6c 24 28          	mov    0x28(%esp),%ebp
7a8170:	c1 c9 06             	ror    $0x6,%ecx
7a8173:	8b c5                	mov    %ebp,%eax
7a8175:	03 4c 24 64          	add    0x64(%esp),%ecx
7a8179:	33 c7                	xor    %edi,%eax
7a817b:	23 44 24 50          	and    0x50(%esp),%eax
7a817f:	33 c5                	xor    %ebp,%eax
7a8181:	03 c1                	add    %ecx,%eax
7a8183:	03 c2                	add    %edx,%eax
7a8185:	8b d6                	mov    %esi,%edx
7a8187:	c1 ca 09             	ror    $0x9,%edx
7a818a:	33 d6                	xor    %esi,%edx
7a818c:	c1 ca 0b             	ror    $0xb,%edx
7a818f:	8d 0c 03             	lea    (%ebx,%eax,1),%ecx
7a8192:	33 d6                	xor    %esi,%edx
7a8194:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
7a8198:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7a819c:	33 4c 24 20          	xor    0x20(%esp),%ecx
7a81a0:	23 ce                	and    %esi,%ecx
7a81a2:	c1 ca 02             	ror    $0x2,%edx
7a81a5:	03 c8                	add    %eax,%ecx
7a81a7:	8b 44 24 18          	mov    0x18(%esp),%eax
7a81ab:	23 44 24 20          	and    0x20(%esp),%eax
7a81af:	03 ca                	add    %edx,%ecx
7a81b1:	03 c1                	add    %ecx,%eax
7a81b3:	89 44 24 10          	mov    %eax,0x10(%esp)
7a81b7:	8b 44 24 74          	mov    0x74(%esp),%eax
7a81bb:	8b 48 34             	mov    0x34(%eax),%ecx
7a81be:	8b d1                	mov    %ecx,%edx
7a81c0:	8b c1                	mov    %ecx,%eax
7a81c2:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
7a81c8:	c1 e8 10             	shr    $0x10,%eax
7a81cb:	0b d0                	or     %eax,%edx
7a81cd:	8b c1                	mov    %ecx,%eax
7a81cf:	c1 ea 08             	shr    $0x8,%edx
7a81d2:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
7a81d8:	c1 e0 10             	shl    $0x10,%eax
7a81db:	0b c1                	or     %ecx,%eax
7a81dd:	8b 5c 24 50          	mov    0x50(%esp),%ebx
7a81e1:	c1 e0 08             	shl    $0x8,%eax
7a81e4:	81 c5 fe b1 de 80    	add    $0x80deb1fe,%ebp
7a81ea:	0b d0                	or     %eax,%edx
7a81ec:	8b c3                	mov    %ebx,%eax
7a81ee:	89 54 24 48          	mov    %edx,0x48(%esp)
7a81f2:	33 c7                	xor    %edi,%eax
7a81f4:	8b 54 24 1c          	mov    0x1c(%esp),%edx
7a81f8:	23 c2                	and    %edx,%eax
7a81fa:	8b ca                	mov    %edx,%ecx
7a81fc:	33 c7                	xor    %edi,%eax
7a81fe:	c1 c9 0e             	ror    $0xe,%ecx
7a8201:	03 c5                	add    %ebp,%eax
7a8203:	33 ca                	xor    %edx,%ecx
7a8205:	8b 6c 24 74          	mov    0x74(%esp),%ebp
7a8209:	c1 c9 05             	ror    $0x5,%ecx
7a820c:	33 ca                	xor    %edx,%ecx
7a820e:	c1 c9 06             	ror    $0x6,%ecx
7a8211:	03 4c 24 48          	add    0x48(%esp),%ecx
7a8215:	03 c1                	add    %ecx,%eax
7a8217:	8b 4c 24 10          	mov    0x10(%esp),%ecx
7a821b:	01 44 24 20          	add    %eax,0x20(%esp)
7a821f:	8b d1                	mov    %ecx,%edx
7a8221:	c1 ca 09             	ror    $0x9,%edx
7a8224:	33 d1                	xor    %ecx,%edx
7a8226:	c1 ca 0b             	ror    $0xb,%edx
7a8229:	33 d1                	xor    %ecx,%edx
7a822b:	8b ce                	mov    %esi,%ecx
7a822d:	33 4c 24 18          	xor    0x18(%esp),%ecx
7a8231:	23 4c 24 10          	and    0x10(%esp),%ecx
7a8235:	03 c8                	add    %eax,%ecx
7a8237:	c1 ca 02             	ror    $0x2,%edx
7a823a:	03 ca                	add    %edx,%ecx
7a823c:	8b c6                	mov    %esi,%eax
7a823e:	23 44 24 18          	and    0x18(%esp),%eax
7a8242:	03 c1                	add    %ecx,%eax
7a8244:	8b 4d 38             	mov    0x38(%ebp),%ecx
7a8247:	89 44 24 14          	mov    %eax,0x14(%esp)
7a824b:	8b d1                	mov    %ecx,%edx
7a824d:	8b c1                	mov    %ecx,%eax
7a824f:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
7a8255:	c1 e8 10             	shr    $0x10,%eax
7a8258:	0b d0                	or     %eax,%edx
7a825a:	8b c1                	mov    %ecx,%eax
7a825c:	81 e1 00 ff 00 00    	and    $0xff00,%ecx
7a8262:	c1 e0 10             	shl    $0x10,%eax
7a8265:	0b c1                	or     %ecx,%eax
7a8267:	c1 ea 08             	shr    $0x8,%edx
7a826a:	c1 e0 08             	shl    $0x8,%eax
7a826d:	0b d0                	or     %eax,%edx
7a826f:	8b c3                	mov    %ebx,%eax
7a8271:	33 44 24 1c          	xor    0x1c(%esp),%eax
7a8275:	89 54 24 64          	mov    %edx,0x64(%esp)
7a8279:	8b 54 24 20          	mov    0x20(%esp),%edx
7a827d:	8b ca                	mov    %edx,%ecx
7a827f:	c1 c9 0e             	ror    $0xe,%ecx
7a8282:	23 c2                	and    %edx,%eax
7a8284:	33 ca                	xor    %edx,%ecx
7a8286:	33 c3                	xor    %ebx,%eax
7a8288:	c1 c9 05             	ror    $0x5,%ecx
7a828b:	05 a7 06 dc 9b       	add    $0x9bdc06a7,%eax
7a8290:	03 44 24 64          	add    0x64(%esp),%eax
7a8294:	33 ca                	xor    %edx,%ecx
7a8296:	c1 c9 06             	ror    $0x6,%ecx
7a8299:	03 cf                	add    %edi,%ecx
7a829b:	8b 7c 24 18          	mov    0x18(%esp),%edi
7a829f:	03 c1                	add    %ecx,%eax
7a82a1:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7a82a5:	8b d1                	mov    %ecx,%edx
7a82a7:	03 f8                	add    %eax,%edi
7a82a9:	c1 ca 09             	ror    $0x9,%edx
7a82ac:	33 d1                	xor    %ecx,%edx
7a82ae:	89 7c 24 18          	mov    %edi,0x18(%esp)
7a82b2:	c1 ca 0b             	ror    $0xb,%edx
7a82b5:	33 d1                	xor    %ecx,%edx
7a82b7:	8b 4c 24 10          	mov    0x10(%esp),%ecx