40ca58:	5e                   	pop    %esi
40ca59:	5b                   	pop    %ebx
40ca5a:	8b e5                	mov    %ebp,%esp
40ca5c:	5d                   	pop    %ebp
40ca5d:	c3                   	ret
40ca5e:	8b c0                	mov    %eax,%eax
40ca60:	55                   	push   %ebp
40ca61:	8b ec                	mov    %esp,%ebp
40ca63:	83 c4 f0             	add    $0xfffffff0,%esp
40ca66:	53                   	push   %ebx
40ca67:	33 d2                	xor    %edx,%edx
40ca69:	89 55 f0             	mov    %edx,-0x10(%ebp)
40ca6c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ca6f:	33 c0                	xor    %eax,%eax
40ca71:	55                   	push   %ebp
40ca72:	68 1b cb 40 00       	push   $0x40cb1b
40ca77:	64 ff 30             	push   %fs:(%eax)
40ca7a:	64 89 20             	mov    %esp,%fs:(%eax)
40ca7d:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ca80:	e8 77 fd ff ff       	call   0x40c7fc
40ca85:	25 ff 00 00 00       	and    $0xff,%eax
40ca8a:	8b d0                	mov    %eax,%edx
40ca8c:	83 c2 fd             	add    $0xfffffffd,%edx
40ca8f:	83 ea 08             	sub    $0x8,%edx
40ca92:	72 08                	jb     0x40ca9c
40ca94:	74 1d                	je     0x40cab3
40ca96:	4a                   	dec    %edx
40ca97:	83 ea 0a             	sub    $0xa,%edx
40ca9a:	73 22                	jae    0x40cabe
40ca9c:	8d 04 c5 40 d2 48 00 	lea    0x48d240(,%eax,8),%eax
40caa3:	8b 48 04             	mov    0x4(%eax),%ecx
40caa6:	8b 00                	mov    (%eax),%eax
40caa8:	b2 01                	mov    $0x1,%dl
40caaa:	e8 89 f9 ff ff       	call   0x40c438
40caaf:	8b d8                	mov    %eax,%ebx
40cab1:	eb 3b                	jmp    0x40caee
40cab3:	55                   	push   %ebp
40cab4:	e8 db fd ff ff       	call   0x40c894
40cab9:	59                   	pop    %ecx
40caba:	8b d8                	mov    %eax,%ebx
40cabc:	eb 30                	jmp    0x40caee
40cabe:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cac1:	8b 00                	mov    (%eax),%eax
40cac3:	89 45 f4             	mov    %eax,-0xc(%ebp)
40cac6:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
40caca:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cacd:	50                   	push   %eax
40cace:	6a 00                	push   $0x0
40cad0:	8d 55 f0             	lea    -0x10(%ebp),%edx
40cad3:	a1 60 af 49 00       	mov    0x49af60,%eax
40cad8:	e8 5b 97 ff ff       	call   0x406238
40cadd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40cae0:	b2 01                	mov    $0x1,%dl
40cae2:	a1 e8 78 40 00       	mov    0x4078e8,%eax
40cae7:	e8 88 f9 ff ff       	call   0x40c474
40caec:	8b d8                	mov    %eax,%ebx
40caee:	8b c3                	mov    %ebx,%eax
40caf0:	8b 15 90 78 40 00    	mov    0x407890,%edx
40caf6:	e8 7d 6a ff ff       	call   0x403578
40cafb:	84 c0                	test   %al,%al
40cafd:	74 06                	je     0x40cb05
40caff:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cb02:	89 43 0c             	mov    %eax,0xc(%ebx)
40cb05:	33 c0                	xor    %eax,%eax
40cb07:	5a                   	pop    %edx
40cb08:	59                   	pop    %ecx
40cb09:	59                   	pop    %ecx
40cb0a:	64 89 10             	mov    %edx,%fs:(%eax)
40cb0d:	68 22 cb 40 00       	push   $0x40cb22
40cb12:	8d 45 f0             	lea    -0x10(%ebp),%eax
40cb15:	e8 4a 76 ff ff       	call   0x404164
40cb1a:	c3                   	ret
40cb1b:	e9 48 70 ff ff       	jmp    0x403b68
40cb20:	eb f0                	jmp    0x40cb12
40cb22:	8b c3                	mov    %ebx,%eax
40cb24:	5b                   	pop    %ebx
40cb25:	8b e5                	mov    %ebp,%esp
40cb27:	5d                   	pop    %ebp
40cb28:	c3                   	ret
40cb29:	8d 40 00             	lea    0x0(%eax),%eax
40cb2c:	e8 1b f8 ff ff       	call   0x40c34c
40cb31:	b8 01 00 00 00       	mov    $0x1,%eax
40cb36:	e8 11 76 ff ff       	call   0x40414c
40cb3b:	c3                   	ret
40cb3c:	8b 0d 3c b0 49 00    	mov    0x49b03c,%ecx
40cb42:	b2 01                	mov    $0x1,%dl
40cb44:	a1 dc 77 40 00       	mov    0x4077dc,%eax
40cb49:	e8 a6 f9 ff ff       	call   0x40c4f4
40cb4e:	a3 98 c7 49 00       	mov    %eax,0x49c798
40cb53:	8b 0d bc b2 49 00    	mov    0x49b2bc,%ecx
40cb59:	b2 01                	mov    $0x1,%dl
40cb5b:	a1 64 7c 40 00       	mov    0x407c64,%eax
40cb60:	e8 8f f9 ff ff       	call   0x40c4f4
40cb65:	a3 9c c7 49 00       	mov    %eax,0x49c79c
40cb6a:	a1 78 af 49 00       	mov    0x49af78,%eax
40cb6f:	c7 00 b8 c6 40 00    	movl   $0x40c6b8,(%eax)
40cb75:	a1 f8 b0 49 00       	mov    0x49b0f8,%eax
40cb7a:	c7 00 2c cb 40 00    	movl   $0x40cb2c,(%eax)
40cb80:	a1 1c b0 49 00       	mov    0x49b01c,%eax
40cb85:	8b 15 a0 76 40 00    	mov    0x4076a0,%edx
40cb8b:	89 10                	mov    %edx,(%eax)
40cb8d:	a1 c8 b0 49 00       	mov    0x49b0c8,%eax
40cb92:	c7 00 7c c8 40 00    	movl   $0x40c87c,(%eax)
40cb98:	a1 08 b1 49 00       	mov    0x49b108,%eax
40cb9d:	c7 00 60 ca 40 00    	movl   $0x40ca60,(%eax)
40cba3:	b8 c8 c7 40 00       	mov    $0x40c7c8,%eax
40cba8:	8b 15 00 b3 49 00    	mov    0x49b300,%edx
40cbae:	89 02                	mov    %eax,(%edx)
40cbb0:	b8 e4 c7 40 00       	mov    $0x40c7e4,%eax
40cbb5:	8b 15 58 af 49 00    	mov    0x49af58,%edx
40cbbb:	89 02                	mov    %eax,(%edx)
40cbbd:	c3                   	ret
40cbbe:	8b c0                	mov    %eax,%eax
40cbc0:	83 3d 98 c7 49 00 00 	cmpl   $0x0,0x49c798
40cbc7:	74 1a                	je     0x40cbe3
40cbc9:	a1 98 c7 49 00       	mov    0x49c798,%eax
40cbce:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40cbd2:	a1 98 c7 49 00       	mov    0x49c798,%eax
40cbd7:	8b 10                	mov    (%eax),%edx
40cbd9:	ff 52 f8             	call   *-0x8(%edx)
40cbdc:	33 c0                	xor    %eax,%eax
40cbde:	a3 98 c7 49 00       	mov    %eax,0x49c798
40cbe3:	83 3d 9c c7 49 00 00 	cmpl   $0x0,0x49c79c
40cbea:	74 1a                	je     0x40cc06
40cbec:	a1 9c c7 49 00       	mov    0x49c79c,%eax
40cbf1:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
40cbf5:	a1 9c c7 49 00       	mov    0x49c79c,%eax
40cbfa:	e8 ed 67 ff ff       	call   0x4033ec
40cbff:	33 c0                	xor    %eax,%eax
40cc01:	a3 9c c7 49 00       	mov    %eax,0x49c79c
40cc06:	a1 78 af 49 00       	mov    0x49af78,%eax
40cc0b:	33 d2                	xor    %edx,%edx
40cc0d:	89 10                	mov    %edx,(%eax)
40cc0f:	a1 f8 b0 49 00       	mov    0x49b0f8,%eax
40cc14:	33 d2                	xor    %edx,%edx
40cc16:	89 10                	mov    %edx,(%eax)
40cc18:	a1 1c b0 49 00       	mov    0x49b01c,%eax
40cc1d:	33 d2                	xor    %edx,%edx
40cc1f:	89 10                	mov    %edx,(%eax)
40cc21:	a1 c8 b0 49 00       	mov    0x49b0c8,%eax
40cc26:	33 d2                	xor    %edx,%edx
40cc28:	89 10                	mov    %edx,(%eax)
40cc2a:	a1 08 b1 49 00       	mov    0x49b108,%eax
40cc2f:	33 d2                	xor    %edx,%edx
40cc31:	89 10                	mov    %edx,(%eax)
40cc33:	a1 00 b3 49 00       	mov    0x49b300,%eax
40cc38:	33 d2                	xor    %edx,%edx
40cc3a:	89 10                	mov    %edx,(%eax)
40cc3c:	c3                   	ret
40cc3d:	8d 40 00             	lea    0x0(%eax),%eax
40cc40:	81 c4 6c ff ff ff    	add    $0xffffff6c,%esp
40cc46:	c7 04 24 94 00 00 00 	movl   $0x94,(%esp)
40cc4d:	54                   	push   %esp
40cc4e:	e8 fd 9b ff ff       	call   0x406850
40cc53:	85 c0                	test   %eax,%eax
40cc55:	74 50                	je     0x40cca7
40cc57:	8b 44 24 10          	mov    0x10(%esp),%eax
40cc5b:	a3 c4 d0 48 00       	mov    %eax,0x48d0c4
40cc60:	8b 44 24 04          	mov    0x4(%esp),%eax
40cc64:	a3 c8 d0 48 00       	mov    %eax,0x48d0c8
40cc69:	8b 44 24 08          	mov    0x8(%esp),%eax
40cc6d:	a3 cc d0 48 00       	mov    %eax,0x48d0cc
40cc72:	83 3d c4 d0 48 00 01 	cmpl   $0x1,0x48d0c4
40cc79:	75 10                	jne    0x40cc8b
40cc7b:	8b 44 24 0c          	mov    0xc(%esp),%eax
40cc7f:	25 ff ff 00 00       	and    $0xffff,%eax
40cc84:	a3 d0 d0 48 00       	mov    %eax,0x48d0d0
40cc89:	eb 09                	jmp    0x40cc94
40cc8b:	8b 44 24 0c          	mov    0xc(%esp),%eax
40cc8f:	a3 d0 d0 48 00       	mov    %eax,0x48d0d0
40cc94:	b8 d4 d0 48 00       	mov    $0x48d0d4,%eax
40cc99:	8d 54 24 14          	lea    0x14(%esp),%edx
40cc9d:	b9 80 00 00 00       	mov    $0x80,%ecx
40cca2:	e8 2d 77 ff ff       	call   0x4043d4
40cca7:	81 c4 94 00 00 00    	add    $0x94,%esp
40ccad:	c3                   	ret
40ccae:	8b c0                	mov    %eax,%eax
40ccb0:	3b 05 c8 d0 48 00    	cmp    0x48d0c8,%eax
40ccb6:	7c 13                	jl     0x40cccb
40ccb8:	3b 05 c8 d0 48 00    	cmp    0x48d0c8,%eax
40ccbe:	75 08                	jne    0x40ccc8
40ccc0:	3b 15 cc d0 48 00    	cmp    0x48d0cc,%edx
40ccc6:	7e 03                	jle    0x40cccb
40ccc8:	33 c0                	xor    %eax,%eax
40ccca:	c3                   	ret
40cccb:	b0 01                	mov    $0x1,%al
40cccd:	c3                   	ret
40ccce:	8b c0                	mov    %eax,%eax
40ccd0:	55                   	push   %ebp
40ccd1:	8b ec                	mov    %esp,%ebp
40ccd3:	83 c4 e8             	add    $0xffffffe8,%esp
40ccd6:	53                   	push   %ebx
40ccd7:	33 d2                	xor    %edx,%edx
40ccd9:	89 55 f8             	mov    %edx,-0x8(%ebp)
40ccdc:	8b d8                	mov    %eax,%ebx
40ccde:	33 c0                	xor    %eax,%eax
40cce0:	55                   	push   %ebp
40cce1:	68 a6 cd 40 00       	push   $0x40cda6
40cce6:	64 ff 30             	push   %fs:(%eax)
40cce9:	64 89 20             	mov    %esp,%fs:(%eax)
40ccec:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40ccf3:	8d 45 f8             	lea    -0x8(%ebp),%eax
40ccf6:	8b d3                	mov    %ebx,%edx
40ccf8:	e8 ff 74 ff ff       	call   0x4041fc
40ccfd:	8d 45 f8             	lea    -0x8(%ebp),%eax
40cd00:	e8 6f 79 ff ff       	call   0x404674
40cd05:	8d 45 f4             	lea    -0xc(%ebp),%eax
40cd08:	50                   	push   %eax
40cd09:	8b 45 f8             	mov    -0x8(%ebp),%eax
40cd0c:	e8 13 79 ff ff       	call   0x404624
40cd11:	50                   	push   %eax
40cd12:	e8 69 9c ff ff       	call   0x406980
40cd17:	8b d8                	mov    %eax,%ebx
40cd19:	85 db                	test   %ebx,%ebx
40cd1b:	74 73                	je     0x40cd90
40cd1d:	8b c3                	mov    %ebx,%eax
40cd1f:	e8 54 5a ff ff       	call   0x402778
40cd24:	89 45 f0             	mov    %eax,-0x10(%ebp)
40cd27:	33 c0                	xor    %eax,%eax
40cd29:	55                   	push   %ebp
40cd2a:	68 89 cd 40 00       	push   $0x40cd89
40cd2f:	64 ff 30             	push   %fs:(%eax)
40cd32:	64 89 20             	mov    %esp,%fs:(%eax)
40cd35:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cd38:	50                   	push   %eax
40cd39:	53                   	push   %ebx
40cd3a:	8b 45 f4             	mov    -0xc(%ebp),%eax
40cd3d:	50                   	push   %eax
40cd3e:	8b 45 f8             	mov    -0x8(%ebp),%eax
40cd41:	e8 de 78 ff ff       	call   0x404624
40cd46:	50                   	push   %eax
40cd47:	e8 2c 9c ff ff       	call   0x406978
40cd4c:	85 c0                	test   %eax,%eax
40cd4e:	74 23                	je     0x40cd73
40cd50:	8d 45 e8             	lea    -0x18(%ebp),%eax
40cd53:	50                   	push   %eax
40cd54:	8d 45 ec             	lea    -0x14(%ebp),%eax
40cd57:	50                   	push   %eax
40cd58:	68 b8 cd 40 00       	push   $0x40cdb8
40cd5d:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cd60:	50                   	push   %eax
40cd61:	e8 22 9c ff ff       	call   0x406988
40cd66:	85 c0                	test   %eax,%eax
40cd68:	74 09                	je     0x40cd73
40cd6a:	8b 45 ec             	mov    -0x14(%ebp),%eax
40cd6d:	8b 40 08             	mov    0x8(%eax),%eax
40cd70:	89 45 fc             	mov    %eax,-0x4(%ebp)
40cd73:	33 c0                	xor    %eax,%eax
40cd75:	5a                   	pop    %edx
40cd76:	59                   	pop    %ecx
40cd77:	59                   	pop    %ecx
40cd78:	64 89 10             	mov    %edx,%fs:(%eax)
40cd7b:	68 90 cd 40 00       	push   $0x40cd90
40cd80:	8b 45 f0             	mov    -0x10(%ebp),%eax
40cd83:	e8 10 5a ff ff       	call   0x402798
40cd88:	c3                   	ret
40cd89:	e9 da 6d ff ff       	jmp    0x403b68
40cd8e:	eb f0                	jmp    0x40cd80
40cd90:	33 c0                	xor    %eax,%eax
40cd92:	5a                   	pop    %edx
40cd93:	59                   	pop    %ecx
40cd94:	59                   	pop    %ecx
40cd95:	64 89 10             	mov    %edx,%fs:(%eax)
40cd98:	68 ad cd 40 00       	push   $0x40cdad
40cd9d:	8d 45 f8             	lea    -0x8(%ebp),%eax
40cda0:	e8 bf 73 ff ff       	call   0x404164
40cda5:	c3                   	ret
40cda6:	e9 bd 6d ff ff       	jmp    0x403b68
40cdab:	eb f0                	jmp    0x40cd9d
40cdad:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cdb0:	5b                   	pop    %ebx
40cdb1:	8b e5                	mov    %ebp,%esp
40cdb3:	5d                   	pop    %ebp
40cdb4:	c3                   	ret
40cdb5:	00 00                	add    %al,(%eax)
40cdb7:	00 5c 00 00          	add    %bl,0x0(%eax,%eax,1)
40cdbb:	00 56 57             	add    %dl,0x57(%esi)
40cdbe:	8b fa                	mov    %edx,%edi
40cdc0:	33 d2                	xor    %edx,%edx
40cdc2:	85 c0                	test   %eax,%eax
40cdc4:	74 66                	je     0x40ce2c
40cdc6:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
40cdca:	74 60                	je     0x40ce2c
40cdcc:	85 ff                	test   %edi,%edi
40cdce:	75 14                	jne    0x40cde4
40cdd0:	8a 00                	mov    (%eax),%al
40cdd2:	25 ff 00 00 00       	and    $0xff,%eax
40cdd7:	0f a3 05 0c d1 48 00 	bt     %eax,0x48d10c
40cdde:	73 4c                	jae    0x40ce2c
40cde0:	b2 01                	mov    $0x1,%dl
40cde2:	eb 48                	jmp    0x40ce2c
40cde4:	8b f7                	mov    %edi,%esi
40cde6:	4e                   	dec    %esi
40cde7:	eb 01                	jmp    0x40cdea
40cde9:	4e                   	dec    %esi
40cdea:	85 f6                	test   %esi,%esi
40cdec:	7c 12                	jl     0x40ce00
40cdee:	8a 0c 30             	mov    (%eax,%esi,1),%cl
40cdf1:	81 e1 ff 00 00 00    	and    $0xff,%ecx
40cdf7:	0f a3 0d 0c d1 48 00 	bt     %ecx,0x48d10c
40cdfe:	72 e9                	jb     0x40cde9
40ce00:	8b cf                	mov    %edi,%ecx
40ce02:	2b ce                	sub    %esi,%ecx
40ce04:	81 e1 01 00 00 80    	and    $0x80000001,%ecx
40ce0a:	79 05                	jns    0x40ce11
40ce0c:	49                   	dec    %ecx
40ce0d:	83 c9 fe             	or     $0xfffffffe,%ecx
40ce10:	41                   	inc    %ecx
40ce11:	85 c9                	test   %ecx,%ecx
40ce13:	75 04                	jne    0x40ce19
40ce15:	b2 02                	mov    $0x2,%dl
40ce17:	eb 13                	jmp    0x40ce2c
40ce19:	8a 04 38             	mov    (%eax,%edi,1),%al
40ce1c:	25 ff 00 00 00       	and    $0xff,%eax
40ce21:	0f a3 05 0c d1 48 00 	bt     %eax,0x48d10c
40ce28:	73 02                	jae    0x40ce2c
40ce2a:	b2 01                	mov    $0x1,%dl
40ce2c:	8b c2                	mov    %edx,%eax
40ce2e:	5f                   	pop    %edi
40ce2f:	5e                   	pop    %esi
40ce30:	c3                   	ret
40ce31:	8d 40 00             	lea    0x0(%eax),%eax
40ce34:	53                   	push   %ebx
40ce35:	56                   	push   %esi
40ce36:	8b f2                	mov    %edx,%esi
40ce38:	8b d8                	mov    %eax,%ebx
40ce3a:	33 c0                	xor    %eax,%eax
40ce3c:	80 3d 50 c7 49 00 00 	cmpb   $0x0,0x49c750
40ce43:	74 0f                	je     0x40ce54
40ce45:	8b c3                	mov    %ebx,%eax
40ce47:	e8 d8 77 ff ff       	call   0x404624
40ce4c:	8b d6                	mov    %esi,%edx
40ce4e:	4a                   	dec    %edx
40ce4f:	e8 68 ff ff ff       	call   0x40cdbc
40ce54:	5e                   	pop    %esi
40ce55:	5b                   	pop    %ebx
40ce56:	c3                   	ret
40ce57:	90                   	nop
40ce58:	33 c9                	xor    %ecx,%ecx
40ce5a:	80 3d 50 c7 49 00 00 	cmpb   $0x0,0x49c750
40ce61:	74 07                	je     0x40ce6a
40ce63:	e8 54 ff ff ff       	call   0x40cdbc
40ce68:	8b c8                	mov    %eax,%ecx
40ce6a:	8b c1                	mov    %ecx,%eax
40ce6c:	c3                   	ret
40ce6d:	8d 40 00             	lea    0x0(%eax),%eax
40ce70:	53                   	push   %ebx
40ce71:	56                   	push   %esi
40ce72:	8b f2                	mov    %edx,%esi
40ce74:	8b d8                	mov    %eax,%ebx