408964:	eb ad                	jmp    0x408913
408966:	8b 75 e4             	mov    -0x1c(%ebp),%esi
408969:	6a 05                	push   $0x5
40896b:	e8 a4 ee ff ff       	call   0x407814
408970:	59                   	pop    %ecx
408971:	c3                   	ret
408972:	8b c6                	mov    %esi,%eax
408974:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408977:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40897e:	59                   	pop    %ecx
40897f:	5f                   	pop    %edi
408980:	5e                   	pop    %esi
408981:	5b                   	pop    %ebx
408982:	c9                   	leave
408983:	c3                   	ret
408984:	e8 15 e6 ff ff       	call   0x406f9e
408989:	cc                   	int3
40898a:	80 3d 54 70 41 00 00 	cmpb   $0x0,0x417054
408991:	75 3c                	jne    0x4089cf
408993:	c7 05 4c 70 41 00 28 	movl   $0x416128,0x41704c
40899a:	61 41 00
40899d:	c7 05 48 70 41 00 50 	movl   $0x416450,0x417048
4089a4:	64 41 00
4089a7:	c7 05 44 70 41 00 48 	movl   $0x416348,0x417044
4089ae:	63 41 00
4089b1:	e8 a5 eb ff ff       	call   0x40755b
4089b6:	68 4c 70 41 00       	push   $0x41704c
4089bb:	50                   	push   %eax
4089bc:	6a 01                	push   $0x1
4089be:	6a fd                	push   $0xfffffffd
4089c0:	e8 d0 fd ff ff       	call   0x408795
4089c5:	83 c4 10             	add    $0x10,%esp
4089c8:	c6 05 54 70 41 00 01 	movb   $0x1,0x417054
4089cf:	b0 01                	mov    $0x1,%al
4089d1:	c3                   	ret
4089d2:	e8 c9 ea ff ff       	call   0x4074a0
4089d7:	68 4c 70 41 00       	push   $0x41704c
4089dc:	50                   	push   %eax
4089dd:	e8 08 ff ff ff       	call   0x4088ea
4089e2:	59                   	pop    %ecx
4089e3:	59                   	pop    %ecx
4089e4:	c3                   	ret
4089e5:	8b ff                	mov    %edi,%edi
4089e7:	55                   	push   %ebp
4089e8:	8b ec                	mov    %esp,%ebp
4089ea:	83 ec 24             	sub    $0x24,%esp
4089ed:	a1 14 60 41 00       	mov    0x416014,%eax
4089f2:	33 c5                	xor    %ebp,%eax
4089f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4089f7:	53                   	push   %ebx
4089f8:	56                   	push   %esi
4089f9:	8b 75 0c             	mov    0xc(%ebp),%esi
4089fc:	57                   	push   %edi
4089fd:	ff 75 08             	push   0x8(%ebp)
408a00:	e8 17 fb ff ff       	call   0x40851c
408a05:	8b d8                	mov    %eax,%ebx
408a07:	89 5d e0             	mov    %ebx,-0x20(%ebp)
408a0a:	59                   	pop    %ecx
408a0b:	85 db                	test   %ebx,%ebx
408a0d:	0f 84 bf 01 00 00    	je     0x408bd2
408a13:	33 ff                	xor    %edi,%edi
408a15:	8b cf                	mov    %edi,%ecx
408a17:	8b c7                	mov    %edi,%eax
408a19:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
408a1c:	39 98 58 65 41 00    	cmp    %ebx,0x416558(%eax)
408a22:	0f 84 f6 00 00 00    	je     0x408b1e
408a28:	41                   	inc    %ecx
408a29:	83 c0 30             	add    $0x30,%eax
408a2c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
408a2f:	3d f0 00 00 00       	cmp    $0xf0,%eax
408a34:	72 e6                	jb     0x408a1c
408a36:	81 fb e8 fd 00 00    	cmp    $0xfde8,%ebx
408a3c:	0f 84 d4 00 00 00    	je     0x408b16
408a42:	0f b7 c3             	movzwl %bx,%eax
408a45:	50                   	push   %eax
408a46:	ff 15 b4 f0 40 00    	call   *0x40f0b4
408a4c:	85 c0                	test   %eax,%eax
408a4e:	0f 84 c2 00 00 00    	je     0x408b16
408a54:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
408a59:	3b d8                	cmp    %eax,%ebx
408a5b:	75 20                	jne    0x408a7d
408a5d:	89 46 04             	mov    %eax,0x4(%esi)
408a60:	89 be 1c 02 00 00    	mov    %edi,0x21c(%esi)
408a66:	89 7e 18             	mov    %edi,0x18(%esi)
408a69:	66 89 7e 1c          	mov    %di,0x1c(%esi)
408a6d:	89 7e 08             	mov    %edi,0x8(%esi)
408a70:	33 c0                	xor    %eax,%eax
408a72:	8d 7e 0c             	lea    0xc(%esi),%edi
408a75:	ab                   	stos   %eax,%es:(%edi)
408a76:	ab                   	stos   %eax,%es:(%edi)
408a77:	ab                   	stos   %eax,%es:(%edi)
408a78:	e9 4d 01 00 00       	jmp    0x408bca
408a7d:	8d 45 e8             	lea    -0x18(%ebp),%eax
408a80:	50                   	push   %eax
408a81:	53                   	push   %ebx
408a82:	ff 15 c0 f0 40 00    	call   *0x40f0c0
408a88:	85 c0                	test   %eax,%eax
408a8a:	74 7e                	je     0x408b0a
408a8c:	68 01 01 00 00       	push   $0x101
408a91:	8d 46 18             	lea    0x18(%esi),%eax
408a94:	57                   	push   %edi
408a95:	50                   	push   %eax
408a96:	e8 45 b5 ff ff       	call   0x403fe0
408a9b:	83 c4 0c             	add    $0xc,%esp
408a9e:	89 5e 04             	mov    %ebx,0x4(%esi)
408aa1:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
408aa5:	89 be 1c 02 00 00    	mov    %edi,0x21c(%esi)
408aab:	75 c0                	jne    0x408a6d
408aad:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
408ab1:	8d 45 ee             	lea    -0x12(%ebp),%eax
408ab4:	74 2a                	je     0x408ae0
408ab6:	8a 48 01             	mov    0x1(%eax),%cl
408ab9:	84 c9                	test   %cl,%cl
408abb:	74 23                	je     0x408ae0
408abd:	0f b6 38             	movzbl (%eax),%edi
408ac0:	0f b6 c9             	movzbl %cl,%ecx
408ac3:	3b f9                	cmp    %ecx,%edi
408ac5:	77 11                	ja     0x408ad8
408ac7:	8d 56 19             	lea    0x19(%esi),%edx
408aca:	2b cf                	sub    %edi,%ecx
408acc:	03 d7                	add    %edi,%edx
408ace:	41                   	inc    %ecx
408acf:	80 0a 04             	orb    $0x4,(%edx)
408ad2:	42                   	inc    %edx
408ad3:	83 e9 01             	sub    $0x1,%ecx
408ad6:	75 f7                	jne    0x408acf
408ad8:	83 c0 02             	add    $0x2,%eax
408adb:	80 38 00             	cmpb   $0x0,(%eax)
408ade:	75 d6                	jne    0x408ab6
408ae0:	8d 46 1a             	lea    0x1a(%esi),%eax
408ae3:	b9 fe 00 00 00       	mov    $0xfe,%ecx
408ae8:	80 08 08             	orb    $0x8,(%eax)
408aeb:	40                   	inc    %eax
408aec:	83 e9 01             	sub    $0x1,%ecx
408aef:	75 f7                	jne    0x408ae8
408af1:	ff 76 04             	push   0x4(%esi)
408af4:	e8 e5 f9 ff ff       	call   0x4084de
408af9:	33 ff                	xor    %edi,%edi
408afb:	89 86 1c 02 00 00    	mov    %eax,0x21c(%esi)
408b01:	83 c4 04             	add    $0x4,%esp
408b04:	47                   	inc    %edi
408b05:	e9 63 ff ff ff       	jmp    0x408a6d
408b0a:	39 3d 50 70 41 00    	cmp    %edi,0x417050
408b10:	0f 85 bc 00 00 00    	jne    0x408bd2
408b16:	83 c8 ff             	or     $0xffffffff,%eax
408b19:	e9 bd 00 00 00       	jmp    0x408bdb
408b1e:	68 01 01 00 00       	push   $0x101
408b23:	8d 46 18             	lea    0x18(%esi),%eax
408b26:	57                   	push   %edi
408b27:	50                   	push   %eax
408b28:	e8 b3 b4 ff ff       	call   0x403fe0
408b2d:	83 c4 0c             	add    $0xc,%esp
408b30:	6b 45 e4 30          	imul   $0x30,-0x1c(%ebp),%eax
408b34:	89 45 dc             	mov    %eax,-0x24(%ebp)
408b37:	8d 80 68 65 41 00    	lea    0x416568(%eax),%eax
408b3d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
408b40:	80 38 00             	cmpb   $0x0,(%eax)
408b43:	8b c8                	mov    %eax,%ecx
408b45:	74 3b                	je     0x408b82
408b47:	8a 41 01             	mov    0x1(%ecx),%al
408b4a:	84 c0                	test   %al,%al
408b4c:	74 31                	je     0x408b7f
408b4e:	0f b6 11             	movzbl (%ecx),%edx
408b51:	0f b6 c0             	movzbl %al,%eax
408b54:	3b d0                	cmp    %eax,%edx
408b56:	77 1f                	ja     0x408b77
408b58:	8d 5e 19             	lea    0x19(%esi),%ebx
408b5b:	03 da                	add    %edx,%ebx
408b5d:	81 fa 00 01 00 00    	cmp    $0x100,%edx
408b63:	73 12                	jae    0x408b77
408b65:	8a 87 50 65 41 00    	mov    0x416550(%edi),%al
408b6b:	08 03                	or     %al,(%ebx)
408b6d:	42                   	inc    %edx
408b6e:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
408b72:	43                   	inc    %ebx
408b73:	3b d0                	cmp    %eax,%edx
408b75:	76 e6                	jbe    0x408b5d
408b77:	83 c1 02             	add    $0x2,%ecx
408b7a:	80 39 00             	cmpb   $0x0,(%ecx)
408b7d:	75 c8                	jne    0x408b47
408b7f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
408b82:	47                   	inc    %edi
408b83:	83 c0 08             	add    $0x8,%eax
408b86:	89 45 e4             	mov    %eax,-0x1c(%ebp)
408b89:	83 ff 04             	cmp    $0x4,%edi
408b8c:	72 b2                	jb     0x408b40
408b8e:	8b 5d e0             	mov    -0x20(%ebp),%ebx
408b91:	53                   	push   %ebx
408b92:	89 5e 04             	mov    %ebx,0x4(%esi)
408b95:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
408b9c:	e8 3d f9 ff ff       	call   0x4084de
408ba1:	83 c4 04             	add    $0x4,%esp
408ba4:	89 86 1c 02 00 00    	mov    %eax,0x21c(%esi)
408baa:	8b 45 dc             	mov    -0x24(%ebp),%eax
408bad:	8d 4e 0c             	lea    0xc(%esi),%ecx
408bb0:	6a 06                	push   $0x6
408bb2:	8d 90 5c 65 41 00    	lea    0x41655c(%eax),%edx
408bb8:	5f                   	pop    %edi
408bb9:	66 8b 02             	mov    (%edx),%ax
408bbc:	8d 52 02             	lea    0x2(%edx),%edx
408bbf:	66 89 01             	mov    %ax,(%ecx)
408bc2:	8d 49 02             	lea    0x2(%ecx),%ecx
408bc5:	83 ef 01             	sub    $0x1,%edi
408bc8:	75 ef                	jne    0x408bb9
408bca:	56                   	push   %esi
408bcb:	e8 20 fa ff ff       	call   0x4085f0
408bd0:	eb 06                	jmp    0x408bd8
408bd2:	56                   	push   %esi
408bd3:	e8 b5 f9 ff ff       	call   0x40858d
408bd8:	33 c0                	xor    %eax,%eax
408bda:	59                   	pop    %ecx
408bdb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408bde:	5f                   	pop    %edi
408bdf:	5e                   	pop    %esi
408be0:	33 cd                	xor    %ebp,%ecx
408be2:	5b                   	pop    %ebx
408be3:	e8 4d aa ff ff       	call   0x403635
408be8:	c9                   	leave
408be9:	c3                   	ret
408bea:	8b ff                	mov    %edi,%edi
408bec:	55                   	push   %ebp
408bed:	8b ec                	mov    %esp,%ebp
408bef:	56                   	push   %esi
408bf0:	8b 75 14             	mov    0x14(%ebp),%esi
408bf3:	85 f6                	test   %esi,%esi
408bf5:	75 04                	jne    0x408bfb
408bf7:	33 c0                	xor    %eax,%eax
408bf9:	eb 6d                	jmp    0x408c68
408bfb:	8b 45 08             	mov    0x8(%ebp),%eax
408bfe:	85 c0                	test   %eax,%eax
408c00:	75 13                	jne    0x408c15
408c02:	e8 49 ed ff ff       	call   0x407950
408c07:	6a 16                	push   $0x16
408c09:	5e                   	pop    %esi
408c0a:	89 30                	mov    %esi,(%eax)
408c0c:	e8 0b d1 ff ff       	call   0x405d1c
408c11:	8b c6                	mov    %esi,%eax
408c13:	eb 53                	jmp    0x408c68
408c15:	57                   	push   %edi
408c16:	8b 7d 10             	mov    0x10(%ebp),%edi
408c19:	85 ff                	test   %edi,%edi
408c1b:	74 14                	je     0x408c31
408c1d:	39 75 0c             	cmp    %esi,0xc(%ebp)
408c20:	72 0f                	jb     0x408c31
408c22:	56                   	push   %esi
408c23:	57                   	push   %edi
408c24:	50                   	push   %eax
408c25:	e8 26 c8 ff ff       	call   0x405450
408c2a:	83 c4 0c             	add    $0xc,%esp
408c2d:	33 c0                	xor    %eax,%eax
408c2f:	eb 36                	jmp    0x408c67
408c31:	ff 75 0c             	push   0xc(%ebp)
408c34:	6a 00                	push   $0x0
408c36:	50                   	push   %eax
408c37:	e8 a4 b3 ff ff       	call   0x403fe0
408c3c:	83 c4 0c             	add    $0xc,%esp
408c3f:	85 ff                	test   %edi,%edi
408c41:	75 09                	jne    0x408c4c
408c43:	e8 08 ed ff ff       	call   0x407950
408c48:	6a 16                	push   $0x16
408c4a:	eb 0c                	jmp    0x408c58
408c4c:	39 75 0c             	cmp    %esi,0xc(%ebp)
408c4f:	73 13                	jae    0x408c64
408c51:	e8 fa ec ff ff       	call   0x407950
408c56:	6a 22                	push   $0x22
408c58:	5e                   	pop    %esi
408c59:	89 30                	mov    %esi,(%eax)
408c5b:	e8 bc d0 ff ff       	call   0x405d1c
408c60:	8b c6                	mov    %esi,%eax
408c62:	eb 03                	jmp    0x408c67
408c64:	6a 16                	push   $0x16
408c66:	58                   	pop    %eax
408c67:	5f                   	pop    %edi
408c68:	5e                   	pop    %esi
408c69:	5d                   	pop    %ebp
408c6a:	c3                   	ret
408c6b:	8b ff                	mov    %edi,%edi
408c6d:	55                   	push   %ebp
408c6e:	8b ec                	mov    %esp,%ebp
408c70:	83 ec 10             	sub    $0x10,%esp
408c73:	ff 75 08             	push   0x8(%ebp)
408c76:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408c79:	e8 a2 f3 ff ff       	call   0x408020
408c7e:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
408c82:	8b 45 f8             	mov    -0x8(%ebp),%eax
408c85:	8a 4d 14             	mov    0x14(%ebp),%cl
408c88:	84 4c 10 19          	test   %cl,0x19(%eax,%edx,1)
408c8c:	75 18                	jne    0x408ca6
408c8e:	8b 4d 10             	mov    0x10(%ebp),%ecx
408c91:	85 c9                	test   %ecx,%ecx
408c93:	74 0d                	je     0x408ca2
408c95:	8b 45 f4             	mov    -0xc(%ebp),%eax
408c98:	8b 00                	mov    (%eax),%eax
408c9a:	0f b7 04 50          	movzwl (%eax,%edx,2),%eax
408c9e:	85 c1                	test   %eax,%ecx
408ca0:	75 04                	jne    0x408ca6
408ca2:	33 c0                	xor    %eax,%eax
408ca4:	eb 03                	jmp    0x408ca9
408ca6:	33 c0                	xor    %eax,%eax
408ca8:	40                   	inc    %eax
408ca9:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
408cad:	74 0a                	je     0x408cb9
408caf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408cb2:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
408cb9:	c9                   	leave
408cba:	c3                   	ret
408cbb:	8b ff                	mov    %edi,%edi
408cbd:	55                   	push   %ebp
408cbe:	8b ec                	mov    %esp,%ebp
408cc0:	6a 04                	push   $0x4
408cc2:	6a 00                	push   $0x0
408cc4:	ff 75 08             	push   0x8(%ebp)
408cc7:	6a 00                	push   $0x0
408cc9:	e8 9d ff ff ff       	call   0x408c6b
408cce:	83 c4 10             	add    $0x10,%esp
408cd1:	5d                   	pop    %ebp
408cd2:	c3                   	ret
408cd3:	ff 15 c4 f0 40 00    	call   *0x40f0c4
408cd9:	a3 68 70 41 00       	mov    %eax,0x417068
408cde:	ff 15 08 f0 40 00    	call   *0x40f008
408ce4:	a3 6c 70 41 00       	mov    %eax,0x41706c
408ce9:	b0 01                	mov    $0x1,%al
408ceb:	c3                   	ret
408cec:	8b ff                	mov    %edi,%edi
408cee:	55                   	push   %ebp
408cef:	8b ec                	mov    %esp,%ebp
408cf1:	8b 45 08             	mov    0x8(%ebp),%eax
408cf4:	b9 ac de 00 00       	mov    $0xdeac,%ecx
408cf9:	3b c1                	cmp    %ecx,%eax
408cfb:	77 46                	ja     0x408d43
408cfd:	74 26                	je     0x408d25
408cff:	b9 33 c4 00 00       	mov    $0xc433,%ecx
408d04:	3b c1                	cmp    %ecx,%eax
408d06:	77 21                	ja     0x408d29
408d08:	74 1b                	je     0x408d25
408d0a:	83 e8 2a             	sub    $0x2a,%eax
408d0d:	74 16                	je     0x408d25
408d0f:	2d 02 c4 00 00       	sub    $0xc402,%eax
408d14:	74 0f                	je     0x408d25
408d16:	83 e8 01             	sub    $0x1,%eax
408d19:	74 0a                	je     0x408d25
408d1b:	83 e8 01             	sub    $0x1,%eax
408d1e:	74 05                	je     0x408d25
408d20:	83 e8 03             	sub    $0x3,%eax
408d23:	75 52                	jne    0x408d77
408d25:	33 c0                	xor    %eax,%eax
408d27:	5d                   	pop    %ebp
408d28:	c3                   	ret
408d29:	2d 35 c4 00 00       	sub    $0xc435,%eax
408d2e:	74 f5                	je     0x408d25