40feba:	a1 24 0d 44 00       	mov    0x440d24,%eax
40febf:	c6 05 f2 0c 44 00 01 	movb   $0x1,0x440cf2
40fec6:	3b c3                	cmp    %ebx,%eax
40fec8:	74 06                	je     0x40fed0
40feca:	50                   	push   %eax
40fecb:	e8 04 d8 ff ff       	call   0x40d6d4
40fed0:	a1 20 0d 44 00       	mov    0x440d20,%eax
40fed5:	3b c3                	cmp    %ebx,%eax
40fed7:	74 07                	je     0x40fee0
40fed9:	50                   	push   %eax
40feda:	ff 15 c0 a0 42 00    	call   *0x42a0c0
40fee0:	ff 15 58 a3 42 00    	call   *0x42a358
40fee6:	a1 1c 0d 44 00       	mov    0x440d1c,%eax
40feeb:	5f                   	pop    %edi
40feec:	5e                   	pop    %esi
40feed:	3b c3                	cmp    %ebx,%eax
40feef:	5b                   	pop    %ebx
40fef0:	77 05                	ja     0x40fef7
40fef2:	a1 74 2a 43 00       	mov    0x432a74,%eax
40fef7:	c9                   	leave
40fef8:	c2 10 00             	ret    $0x10
40fefb:	55                   	push   %ebp
40fefc:	8b ec                	mov    %esp,%ebp
40fefe:	83 ec 20             	sub    $0x20,%esp
40ff01:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
40ff05:	53                   	push   %ebx
40ff06:	56                   	push   %esi
40ff07:	57                   	push   %edi
40ff08:	74 13                	je     0x40ff1d
40ff0a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40ff0d:	6a 40                	push   $0x40
40ff0f:	ff 75 10             	push   0x10(%ebp)
40ff12:	53                   	push   %ebx
40ff13:	e8 58 bd 00 00       	call   0x41bc70
40ff18:	83 c4 0c             	add    $0xc,%esp
40ff1b:	eb 03                	jmp    0x40ff20
40ff1d:	8b 5d 10             	mov    0x10(%ebp),%ebx
40ff20:	80 3d 38 ea 44 00 00 	cmpb   $0x0,0x44ea38
40ff27:	75 4c                	jne    0x40ff75
40ff29:	33 c9                	xor    %ecx,%ecx
40ff2b:	be fc e3 44 00       	mov    $0x44e3fc,%esi
40ff30:	8d 41 01             	lea    0x1(%ecx),%eax
40ff33:	99                   	cltd
40ff34:	6a 05                	push   $0x5
40ff36:	5f                   	pop    %edi
40ff37:	f7 ff                	idiv   %edi
40ff39:	8d 41 02             	lea    0x2(%ecx),%eax
40ff3c:	89 4e fc             	mov    %ecx,-0x4(%esi)
40ff3f:	89 16                	mov    %edx,(%esi)
40ff41:	99                   	cltd
40ff42:	f7 ff                	idiv   %edi
40ff44:	8d 41 03             	lea    0x3(%ecx),%eax
40ff47:	83 c6 14             	add    $0x14,%esi
40ff4a:	89 56 f0             	mov    %edx,-0x10(%esi)
40ff4d:	99                   	cltd
40ff4e:	f7 ff                	idiv   %edi
40ff50:	8d 41 04             	lea    0x4(%ecx),%eax
40ff53:	89 56 f4             	mov    %edx,-0xc(%esi)
40ff56:	99                   	cltd
40ff57:	f7 ff                	idiv   %edi
40ff59:	89 56 f8             	mov    %edx,-0x8(%esi)
40ff5c:	85 c9                	test   %ecx,%ecx
40ff5e:	74 03                	je     0x40ff63
40ff60:	49                   	dec    %ecx
40ff61:	eb 03                	jmp    0x40ff66
40ff63:	6a 04                	push   $0x4
40ff65:	59                   	pop    %ecx
40ff66:	81 fe 3c ea 44 00    	cmp    $0x44ea3c,%esi
40ff6c:	7c c2                	jl     0x40ff30
40ff6e:	c6 05 38 ea 44 00 01 	movb   $0x1,0x44ea38
40ff75:	8b 75 08             	mov    0x8(%ebp),%esi
40ff78:	6a 05                	push   $0x5
40ff7a:	59                   	pop    %ecx
40ff7b:	8d 7d e0             	lea    -0x20(%ebp),%edi
40ff7e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40ff80:	b8 04 e4 44 00       	mov    $0x44e404,%eax
40ff85:	89 5d 14             	mov    %ebx,0x14(%ebp)
40ff88:	8b 75 14             	mov    0x14(%ebp),%esi
40ff8b:	8b 16                	mov    (%esi),%edx
40ff8d:	8b ca                	mov    %edx,%ecx
40ff8f:	c1 c9 08             	ror    $0x8,%ecx
40ff92:	81 e1 00 ff 00 ff    	and    $0xff00ff00,%ecx
40ff98:	c1 c2 08             	rol    $0x8,%edx
40ff9b:	81 e2 ff 00 ff 00    	and    $0xff00ff,%edx
40ffa1:	0b ca                	or     %edx,%ecx
40ffa3:	89 0e                	mov    %ecx,(%esi)
40ffa5:	8b 70 f8             	mov    -0x8(%eax),%esi
40ffa8:	8b 10                	mov    (%eax),%edx
40ffaa:	8b 54 95 e0          	mov    -0x20(%ebp,%edx,4),%edx
40ffae:	8b 78 fc             	mov    -0x4(%eax),%edi
40ffb1:	8b 7c bd e0          	mov    -0x20(%ebp,%edi,4),%edi
40ffb5:	83 45 14 04          	addl   $0x4,0x14(%ebp)
40ffb9:	8d 74 b5 e0          	lea    -0x20(%ebp,%esi,4),%esi
40ffbd:	89 75 10             	mov    %esi,0x10(%ebp)
40ffc0:	8b 70 04             	mov    0x4(%eax),%esi
40ffc3:	8d 74 b5 e0          	lea    -0x20(%ebp,%esi,4),%esi
40ffc7:	33 fa                	xor    %edx,%edi
40ffc9:	89 75 fc             	mov    %esi,-0x4(%ebp)
40ffcc:	8b 70 f4             	mov    -0xc(%eax),%esi
40ffcf:	8b 74 b5 e0          	mov    -0x20(%ebp,%esi,4),%esi
40ffd3:	89 55 0c             	mov    %edx,0xc(%ebp)
40ffd6:	8b 55 10             	mov    0x10(%ebp),%edx
40ffd9:	23 3a                	and    (%edx),%edi
40ffdb:	c1 c6 05             	rol    $0x5,%esi
40ffde:	33 7d 0c             	xor    0xc(%ebp),%edi
40ffe1:	03 f1                	add    %ecx,%esi
40ffe3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ffe6:	8d 94 37 99 79 82 5a 	lea    0x5a827999(%edi,%esi,1),%edx
40ffed:	01 11                	add    %edx,(%ecx)
40ffef:	8b 4d 10             	mov    0x10(%ebp),%ecx
40fff2:	c1 09 02             	rorl   $0x2,(%ecx)
40fff5:	83 c0 14             	add    $0x14,%eax
40fff8:	ba 44 e5 44 00       	mov    $0x44e544,%edx
40fffd:	3b c2                	cmp    %edx,%eax
40ffff:	7c 87                	jl     0x40ff88
410001:	c7 45 14 10 00 00 00 	movl   $0x10,0x14(%ebp)
410008:	8b 45 14             	mov    0x14(%ebp),%eax
41000b:	8d 48 fd             	lea    -0x3(%eax),%ecx
41000e:	83 e0 0f             	and    $0xf,%eax
410011:	8d 34 83             	lea    (%ebx,%eax,4),%esi
410014:	8d 41 fb             	lea    -0x5(%ecx),%eax
410017:	83 e0 0f             	and    $0xf,%eax
41001a:	8b 04 83             	mov    (%ebx,%eax,4),%eax
41001d:	8d 79 05             	lea    0x5(%ecx),%edi
410020:	83 e7 0f             	and    $0xf,%edi
410023:	33 04 bb             	xor    (%ebx,%edi,4),%eax
410026:	83 e1 0f             	and    $0xf,%ecx
410029:	33 04 8b             	xor    (%ebx,%ecx,4),%eax
41002c:	33 06                	xor    (%esi),%eax
41002e:	d1 c0                	rol    $1,%eax
410030:	89 06                	mov    %eax,(%esi)
410032:	8b 72 f8             	mov    -0x8(%edx),%esi
410035:	8b 0a                	mov    (%edx),%ecx
410037:	8b 4c 8d e0          	mov    -0x20(%ebp,%ecx,4),%ecx
41003b:	8b 7a fc             	mov    -0x4(%edx),%edi
41003e:	8b 7c bd e0          	mov    -0x20(%ebp,%edi,4),%edi
410042:	8d 74 b5 e0          	lea    -0x20(%ebp,%esi,4),%esi
410046:	89 75 10             	mov    %esi,0x10(%ebp)
410049:	8b 72 04             	mov    0x4(%edx),%esi
41004c:	8d 74 b5 e0          	lea    -0x20(%ebp,%esi,4),%esi
410050:	33 f9                	xor    %ecx,%edi
410052:	89 75 fc             	mov    %esi,-0x4(%ebp)
410055:	8b 72 f4             	mov    -0xc(%edx),%esi
410058:	8b 74 b5 e0          	mov    -0x20(%ebp,%esi,4),%esi
41005c:	89 4d 0c             	mov    %ecx,0xc(%ebp)
41005f:	8b 4d 10             	mov    0x10(%ebp),%ecx
410062:	23 39                	and    (%ecx),%edi
410064:	c1 c6 05             	rol    $0x5,%esi
410067:	33 7d 0c             	xor    0xc(%ebp),%edi
41006a:	03 f0                	add    %eax,%esi
41006c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41006f:	8d 8c 37 99 79 82 5a 	lea    0x5a827999(%edi,%esi,1),%ecx
410076:	01 08                	add    %ecx,(%eax)
410078:	8b 45 10             	mov    0x10(%ebp),%eax
41007b:	c1 08 02             	rorl   $0x2,(%eax)
41007e:	ff 45 14             	incl   0x14(%ebp)
410081:	83 c2 14             	add    $0x14,%edx
410084:	b8 94 e5 44 00       	mov    $0x44e594,%eax
410089:	3b d0                	cmp    %eax,%edx
41008b:	0f 8c 77 ff ff ff    	jl     0x410008
410091:	c7 45 14 14 00 00 00 	movl   $0x14,0x14(%ebp)
410098:	8b d0                	mov    %eax,%edx
41009a:	8b 45 14             	mov    0x14(%ebp),%eax
41009d:	8d 48 fd             	lea    -0x3(%eax),%ecx
4100a0:	83 e0 0f             	and    $0xf,%eax
4100a3:	8d 34 83             	lea    (%ebx,%eax,4),%esi
4100a6:	8d 41 fb             	lea    -0x5(%ecx),%eax
4100a9:	8d 79 05             	lea    0x5(%ecx),%edi
4100ac:	83 e0 0f             	and    $0xf,%eax
4100af:	8b 04 83             	mov    (%ebx,%eax,4),%eax
4100b2:	83 e1 0f             	and    $0xf,%ecx
4100b5:	83 e7 0f             	and    $0xf,%edi
4100b8:	33 04 bb             	xor    (%ebx,%edi,4),%eax
4100bb:	33 04 8b             	xor    (%ebx,%ecx,4),%eax
4100be:	33 06                	xor    (%esi),%eax
4100c0:	d1 c0                	rol    $1,%eax
4100c2:	89 06                	mov    %eax,(%esi)
4100c4:	8b 4a f8             	mov    -0x8(%edx),%ecx
4100c7:	8b 3a                	mov    (%edx),%edi
4100c9:	8d 4c 8d e0          	lea    -0x20(%ebp,%ecx,4),%ecx
4100cd:	89 4d 10             	mov    %ecx,0x10(%ebp)
4100d0:	8b 4a 04             	mov    0x4(%edx),%ecx
4100d3:	8d 4c 8d e0          	lea    -0x20(%ebp,%ecx,4),%ecx
4100d7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4100da:	8b 4a f4             	mov    -0xc(%edx),%ecx
4100dd:	8b 74 8d e0          	mov    -0x20(%ebp,%ecx,4),%esi
4100e1:	8b 4a fc             	mov    -0x4(%edx),%ecx
4100e4:	8b 4c 8d e0          	mov    -0x20(%ebp,%ecx,4),%ecx
4100e8:	33 4c bd e0          	xor    -0x20(%ebp,%edi,4),%ecx
4100ec:	c1 c6 05             	rol    $0x5,%esi
4100ef:	8b f9                	mov    %ecx,%edi
4100f1:	8b 4d 10             	mov    0x10(%ebp),%ecx
4100f4:	33 39                	xor    (%ecx),%edi
4100f6:	03 f0                	add    %eax,%esi
4100f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4100fb:	8d b4 37 a1 eb d9 6e 	lea    0x6ed9eba1(%edi,%esi,1),%esi
410102:	01 30                	add    %esi,(%eax)
410104:	c1 09 02             	rorl   $0x2,(%ecx)
410107:	ff 45 14             	incl   0x14(%ebp)
41010a:	83 c2 14             	add    $0x14,%edx
41010d:	81 fa 24 e7 44 00    	cmp    $0x44e724,%edx
410113:	7c 85                	jl     0x41009a
410115:	b9 20 e7 44 00       	mov    $0x44e720,%ecx
41011a:	c7 45 14 28 00 00 00 	movl   $0x28,0x14(%ebp)
410121:	89 4d 10             	mov    %ecx,0x10(%ebp)
410124:	8b 45 14             	mov    0x14(%ebp),%eax
410127:	8d 50 fd             	lea    -0x3(%eax),%edx
41012a:	83 e0 0f             	and    $0xf,%eax
41012d:	8d 34 83             	lea    (%ebx,%eax,4),%esi
410130:	8d 42 fb             	lea    -0x5(%edx),%eax
410133:	83 e0 0f             	and    $0xf,%eax
410136:	8b 04 83             	mov    (%ebx,%eax,4),%eax
410139:	8d 7a 05             	lea    0x5(%edx),%edi
41013c:	83 e7 0f             	and    $0xf,%edi
41013f:	33 04 bb             	xor    (%ebx,%edi,4),%eax
410142:	83 e2 0f             	and    $0xf,%edx
410145:	33 04 93             	xor    (%ebx,%edx,4),%eax
410148:	33 06                	xor    (%esi),%eax
41014a:	d1 c0                	rol    $1,%eax
41014c:	89 06                	mov    %eax,(%esi)
41014e:	8b 51 fc             	mov    -0x4(%ecx),%edx
410151:	8b 79 08             	mov    0x8(%ecx),%edi
410154:	8b 31                	mov    (%ecx),%esi
410156:	8b 74 b5 e0          	mov    -0x20(%ebp,%esi,4),%esi
41015a:	8d 54 95 e0          	lea    -0x20(%ebp,%edx,4),%edx
41015e:	8d 7c bd e0          	lea    -0x20(%ebp,%edi,4),%edi
410162:	89 55 f4             	mov    %edx,-0xc(%ebp)
410165:	8b 12                	mov    (%edx),%edx
410167:	89 7d f8             	mov    %edi,-0x8(%ebp)
41016a:	8b 79 f8             	mov    -0x8(%ecx),%edi
41016d:	8b 49 04             	mov    0x4(%ecx),%ecx
410170:	8b 4c 8d e0          	mov    -0x20(%ebp,%ecx,4),%ecx
410174:	8b 7c bd e0          	mov    -0x20(%ebp,%edi,4),%edi
410178:	89 55 0c             	mov    %edx,0xc(%ebp)
41017b:	0b d6                	or     %esi,%edx
41017d:	23 ca                	and    %edx,%ecx
41017f:	8b d1                	mov    %ecx,%edx
410181:	8b 4d 0c             	mov    0xc(%ebp),%ecx
410184:	23 ce                	and    %esi,%ecx
410186:	0b d1                	or     %ecx,%edx
410188:	c1 c7 05             	rol    $0x5,%edi
41018b:	03 f8                	add    %eax,%edi
41018d:	8b 45 f8             	mov    -0x8(%ebp),%eax
410190:	8d 8c 3a dc bc 1b 8f 	lea    -0x70e44324(%edx,%edi,1),%ecx
410197:	01 08                	add    %ecx,(%eax)
410199:	8b 4d 10             	mov    0x10(%ebp),%ecx
41019c:	8b 45 f4             	mov    -0xc(%ebp),%eax
41019f:	c1 08 02             	rorl   $0x2,(%eax)
4101a2:	ff 45 14             	incl   0x14(%ebp)
4101a5:	83 c1 14             	add    $0x14,%ecx
4101a8:	81 f9 b0 e8 44 00    	cmp    $0x44e8b0,%ecx
4101ae:	89 4d 10             	mov    %ecx,0x10(%ebp)
4101b1:	0f 8c 6d ff ff ff    	jl     0x410124
4101b7:	c7 45 14 3c 00 00 00 	movl   $0x3c,0x14(%ebp)
4101be:	ba b4 e8 44 00       	mov    $0x44e8b4,%edx
4101c3:	8b 45 14             	mov    0x14(%ebp),%eax
4101c6:	8d 48 fd             	lea    -0x3(%eax),%ecx
4101c9:	83 e0 0f             	and    $0xf,%eax
4101cc:	8d 34 83             	lea    (%ebx,%eax,4),%esi
4101cf:	8d 41 fb             	lea    -0x5(%ecx),%eax
4101d2:	8d 79 05             	lea    0x5(%ecx),%edi
4101d5:	83 e0 0f             	and    $0xf,%eax
4101d8:	8b 04 83             	mov    (%ebx,%eax,4),%eax
4101db:	83 e1 0f             	and    $0xf,%ecx
4101de:	83 e7 0f             	and    $0xf,%edi
4101e1:	33 04 bb             	xor    (%ebx,%edi,4),%eax
4101e4:	33 04 8b             	xor    (%ebx,%ecx,4),%eax
4101e7:	33 06                	xor    (%esi),%eax
4101e9:	d1 c0                	rol    $1,%eax
4101eb:	89 06                	mov    %eax,(%esi)
4101ed:	8b 4a f8             	mov    -0x8(%edx),%ecx
4101f0:	8b 3a                	mov    (%edx),%edi
4101f2:	8d 4c 8d e0          	lea    -0x20(%ebp,%ecx,4),%ecx
4101f6:	89 4d 10             	mov    %ecx,0x10(%ebp)
4101f9:	8b 4a 04             	mov    0x4(%edx),%ecx
4101fc:	8d 4c 8d e0          	lea    -0x20(%ebp,%ecx,4),%ecx
410200:	89 4d f4             	mov    %ecx,-0xc(%ebp)
410203:	8b 4a f4             	mov    -0xc(%edx),%ecx
410206:	8b 74 8d e0          	mov    -0x20(%ebp,%ecx,4),%esi
41020a:	8b 4a fc             	mov    -0x4(%edx),%ecx
41020d:	8b 4c 8d e0          	mov    -0x20(%ebp,%ecx,4),%ecx
410211:	33 4c bd e0          	xor    -0x20(%ebp,%edi,4),%ecx
410215:	c1 c6 05             	rol    $0x5,%esi
410218:	8b f9                	mov    %ecx,%edi
41021a:	8b 4d 10             	mov    0x10(%ebp),%ecx
41021d:	33 39                	xor    (%ecx),%edi
41021f:	03 f0                	add    %eax,%esi
410221:	8b 45 f4             	mov    -0xc(%ebp),%eax
410224:	8d b4 37 d6 c1 62 ca 	lea    -0x359d3e2a(%edi,%esi,1),%esi
41022b:	01 30                	add    %esi,(%eax)
41022d:	c1 09 02             	rorl   $0x2,(%ecx)
410230:	ff 45 14             	incl   0x14(%ebp)
410233:	83 c2 14             	add    $0x14,%edx
410236:	81 fa 44 ea 44 00    	cmp    $0x44ea44,%edx
41023c:	7c 85                	jl     0x4101c3
41023e:	8b 45 08             	mov    0x8(%ebp),%eax
410241:	8d 4d e0             	lea    -0x20(%ebp),%ecx
410244:	6a 05                	push   $0x5
410246:	2b c8                	sub    %eax,%ecx
410248:	5a                   	pop    %edx
410249:	8b 34 01             	mov    (%ecx,%eax,1),%esi
41024c:	01 30                	add    %esi,(%eax)
41024e:	83 c0 04             	add    $0x4,%eax
410251:	4a                   	dec    %edx
410252:	75 f5                	jne    0x410249
410254:	5f                   	pop    %edi
410255:	5e                   	pop    %esi
410256:	5b                   	pop    %ebx
410257:	c9                   	leave
410258:	c2 10 00             	ret    $0x10
41025b:	8b 44 24 04          	mov    0x4(%esp),%eax
41025f:	83 60 18 00          	andl   $0x0,0x18(%eax)
410263:	83 60 14 00          	andl   $0x0,0x14(%eax)
410267:	c7 00 01 23 45 67    	movl   $0x67452301,(%eax)
41026d:	c7 40 04 89 ab cd ef 	movl   $0xefcdab89,0x4(%eax)
410274:	c7 40 08 fe dc ba 98 	movl   $0x98badcfe,0x8(%eax)
41027b:	c7 40 0c 76 54 32 10 	movl   $0x10325476,0xc(%eax)
410282:	c7 40 10 f0 e1 d2 c3 	movl   $0xc3d2e1f0,0x10(%eax)
410289:	c2 04 00             	ret    $0x4
41028c:	55                   	push   %ebp
41028d:	8b ec                	mov    %esp,%ebp
41028f:	53                   	push   %ebx
410290:	8b 5d 10             	mov    0x10(%ebp),%ebx
410293:	56                   	push   %esi
410294:	8b 75 08             	mov    0x8(%ebp),%esi
410297:	8b 56 14             	mov    0x14(%esi),%edx
41029a:	8b cb                	mov    %ebx,%ecx
41029c:	8b c2                	mov    %edx,%eax
41029e:	c1 e1 03             	shl    $0x3,%ecx
4102a1:	c1 e8 03             	shr    $0x3,%eax
4102a4:	03 d1                	add    %ecx,%edx
4102a6:	83 e0 3f             	and    $0x3f,%eax
4102a9:	57                   	push   %edi
4102aa:	89 56 14             	mov    %edx,0x14(%esi)
4102ad:	3b d1                	cmp    %ecx,%edx
4102af:	73 03                	jae    0x4102b4
4102b1:	ff 46 18             	incl   0x18(%esi)
4102b4:	8b cb                	mov    %ebx,%ecx
4102b6:	c1 e9 1d             	shr    $0x1d,%ecx
4102b9:	01 4e 18             	add    %ecx,0x18(%esi)
4102bc:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
4102bf:	83 f9 3f             	cmp    $0x3f,%ecx
4102c2:	76 59                	jbe    0x41031d
4102c4:	6a 40                	push   $0x40
4102c6:	5f                   	pop    %edi
4102c7:	2b f8                	sub    %eax,%edi
4102c9:	57                   	push   %edi
4102ca:	ff 75 0c             	push   0xc(%ebp)
4102cd:	8d 44 30 1c          	lea    0x1c(%eax,%esi,1),%eax
4102d1:	50                   	push   %eax