42c826:	73 25                	jae    0x42c84d
42c828:	0f b7 01             	movzwl (%ecx),%eax
42c82b:	83 c1 02             	add    $0x2,%ecx
42c82e:	83 f8 0a             	cmp    $0xa,%eax
42c831:	75 0d                	jne    0x42c840
42c833:	83 43 08 02          	addl   $0x2,0x8(%ebx)
42c837:	6a 0d                	push   $0xd
42c839:	5f                   	pop    %edi
42c83a:	66 89 3e             	mov    %di,(%esi)
42c83d:	83 c6 02             	add    $0x2,%esi
42c840:	66 89 06             	mov    %ax,(%esi)
42c843:	83 c6 02             	add    $0x2,%esi
42c846:	8d 45 fa             	lea    -0x6(%ebp),%eax
42c849:	3b f0                	cmp    %eax,%esi
42c84b:	72 d7                	jb     0x42c824
42c84d:	8b bd f8 eb ff ff    	mov    -0x1408(%ebp),%edi
42c853:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
42c859:	2b f0                	sub    %eax,%esi
42c85b:	89 4d 10             	mov    %ecx,0x10(%ebp)
42c85e:	6a 00                	push   $0x0
42c860:	8d 85 f4 eb ff ff    	lea    -0x140c(%ebp),%eax
42c866:	83 e6 fe             	and    $0xfffffffe,%esi
42c869:	50                   	push   %eax
42c86a:	56                   	push   %esi
42c86b:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
42c871:	50                   	push   %eax
42c872:	57                   	push   %edi
42c873:	ff 15 a4 e0 43 00    	call   *0x43e0a4
42c879:	85 c0                	test   %eax,%eax
42c87b:	74 1c                	je     0x42c899
42c87d:	8b 85 f4 eb ff ff    	mov    -0x140c(%ebp),%eax
42c883:	01 43 04             	add    %eax,0x4(%ebx)
42c886:	3b c6                	cmp    %esi,%eax
42c888:	72 17                	jb     0x42c8a1
42c88a:	8b 4d 10             	mov    0x10(%ebp),%ecx
42c88d:	8b 95 f0 eb ff ff    	mov    -0x1410(%ebp),%edx
42c893:	3b ca                	cmp    %edx,%ecx
42c895:	72 87                	jb     0x42c81e
42c897:	eb 08                	jmp    0x42c8a1
42c899:	ff 15 6c e0 43 00    	call   *0x43e06c
42c89f:	89 03                	mov    %eax,(%ebx)
42c8a1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42c8a4:	8b c3                	mov    %ebx,%eax
42c8a6:	5f                   	pop    %edi
42c8a7:	5e                   	pop    %esi
42c8a8:	33 cd                	xor    %ebp,%ecx
42c8aa:	5b                   	pop    %ebx
42c8ab:	e8 fa d2 fe ff       	call   0x419baa
42c8b0:	c9                   	leave
42c8b1:	c3                   	ret
42c8b2:	8b ff                	mov    %edi,%edi
42c8b4:	55                   	push   %ebp
42c8b5:	8b ec                	mov    %esp,%ebp
42c8b7:	b8 18 14 00 00       	mov    $0x1418,%eax
42c8bc:	e8 af e0 fe ff       	call   0x41a970
42c8c1:	a1 14 50 45 00       	mov    0x455014,%eax
42c8c6:	33 c5                	xor    %ebp,%eax
42c8c8:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c8cb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42c8ce:	8b c1                	mov    %ecx,%eax
42c8d0:	8b 55 10             	mov    0x10(%ebp),%edx
42c8d3:	83 e1 3f             	and    $0x3f,%ecx
42c8d6:	c1 f8 06             	sar    $0x6,%eax
42c8d9:	6b c9 38             	imul   $0x38,%ecx,%ecx
42c8dc:	53                   	push   %ebx
42c8dd:	56                   	push   %esi
42c8de:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
42c8e5:	8b 75 08             	mov    0x8(%ebp),%esi
42c8e8:	57                   	push   %edi
42c8e9:	8b fe                	mov    %esi,%edi
42c8eb:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
42c8ef:	8b 4d 14             	mov    0x14(%ebp),%ecx
42c8f2:	89 85 f0 eb ff ff    	mov    %eax,-0x1410(%ebp)
42c8f8:	03 ca                	add    %edx,%ecx
42c8fa:	33 c0                	xor    %eax,%eax
42c8fc:	89 8d f4 eb ff ff    	mov    %ecx,-0x140c(%ebp)
42c902:	ab                   	stos   %eax,%es:(%edi)
42c903:	ab                   	stos   %eax,%es:(%edi)
42c904:	ab                   	stos   %eax,%es:(%edi)
42c905:	8b fa                	mov    %edx,%edi
42c907:	3b d1                	cmp    %ecx,%edx
42c909:	0f 83 c4 00 00 00    	jae    0x42c9d3
42c90f:	8b b5 f4 eb ff ff    	mov    -0x140c(%ebp),%esi
42c915:	8d 85 50 f9 ff ff    	lea    -0x6b0(%ebp),%eax
42c91b:	3b fe                	cmp    %esi,%edi
42c91d:	73 21                	jae    0x42c940
42c91f:	0f b7 0f             	movzwl (%edi),%ecx
42c922:	83 c7 02             	add    $0x2,%edi
42c925:	83 f9 0a             	cmp    $0xa,%ecx
42c928:	75 09                	jne    0x42c933
42c92a:	6a 0d                	push   $0xd
42c92c:	5a                   	pop    %edx
42c92d:	66 89 10             	mov    %dx,(%eax)
42c930:	83 c0 02             	add    $0x2,%eax
42c933:	66 89 08             	mov    %cx,(%eax)
42c936:	83 c0 02             	add    $0x2,%eax
42c939:	8d 4d f8             	lea    -0x8(%ebp),%ecx
42c93c:	3b c1                	cmp    %ecx,%eax
42c93e:	72 db                	jb     0x42c91b
42c940:	6a 00                	push   $0x0
42c942:	6a 00                	push   $0x0
42c944:	68 55 0d 00 00       	push   $0xd55
42c949:	8d 8d f8 eb ff ff    	lea    -0x1408(%ebp),%ecx
42c94f:	51                   	push   %ecx
42c950:	8d 8d 50 f9 ff ff    	lea    -0x6b0(%ebp),%ecx
42c956:	2b c1                	sub    %ecx,%eax
42c958:	d1 f8                	sar    $1,%eax
42c95a:	50                   	push   %eax
42c95b:	8b c1                	mov    %ecx,%eax
42c95d:	50                   	push   %eax
42c95e:	6a 00                	push   $0x0
42c960:	68 e9 fd 00 00       	push   $0xfde9
42c965:	e8 60 54 00 00       	call   0x431dca
42c96a:	8b 75 08             	mov    0x8(%ebp),%esi
42c96d:	83 c4 20             	add    $0x20,%esp
42c970:	89 85 e8 eb ff ff    	mov    %eax,-0x1418(%ebp)
42c976:	85 c0                	test   %eax,%eax
42c978:	74 51                	je     0x42c9cb
42c97a:	33 db                	xor    %ebx,%ebx
42c97c:	85 c0                	test   %eax,%eax
42c97e:	74 35                	je     0x42c9b5
42c980:	6a 00                	push   $0x0
42c982:	8d 8d ec eb ff ff    	lea    -0x1414(%ebp),%ecx
42c988:	2b c3                	sub    %ebx,%eax
42c98a:	51                   	push   %ecx
42c98b:	50                   	push   %eax
42c98c:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
42c992:	03 c3                	add    %ebx,%eax
42c994:	50                   	push   %eax
42c995:	ff b5 f0 eb ff ff    	push   -0x1410(%ebp)
42c99b:	ff 15 a4 e0 43 00    	call   *0x43e0a4
42c9a1:	85 c0                	test   %eax,%eax
42c9a3:	74 26                	je     0x42c9cb
42c9a5:	03 9d ec eb ff ff    	add    -0x1414(%ebp),%ebx
42c9ab:	8b 85 e8 eb ff ff    	mov    -0x1418(%ebp),%eax
42c9b1:	3b d8                	cmp    %eax,%ebx
42c9b3:	72 cb                	jb     0x42c980
42c9b5:	8b c7                	mov    %edi,%eax
42c9b7:	2b 45 10             	sub    0x10(%ebp),%eax
42c9ba:	89 46 04             	mov    %eax,0x4(%esi)
42c9bd:	3b bd f4 eb ff ff    	cmp    -0x140c(%ebp),%edi
42c9c3:	0f 82 46 ff ff ff    	jb     0x42c90f
42c9c9:	eb 08                	jmp    0x42c9d3
42c9cb:	ff 15 6c e0 43 00    	call   *0x43e06c
42c9d1:	89 06                	mov    %eax,(%esi)
42c9d3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42c9d6:	8b c6                	mov    %esi,%eax
42c9d8:	5f                   	pop    %edi
42c9d9:	5e                   	pop    %esi
42c9da:	33 cd                	xor    %ebp,%ecx
42c9dc:	5b                   	pop    %ebx
42c9dd:	e8 c8 d1 fe ff       	call   0x419baa
42c9e2:	c9                   	leave
42c9e3:	c3                   	ret
42c9e4:	8b ff                	mov    %edi,%edi
42c9e6:	55                   	push   %ebp
42c9e7:	8b ec                	mov    %esp,%ebp
42c9e9:	83 ec 28             	sub    $0x28,%esp
42c9ec:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42c9ef:	56                   	push   %esi
42c9f0:	6a 00                	push   $0x0
42c9f2:	e8 d9 2a ff ff       	call   0x41f4d0
42c9f7:	8d 45 d8             	lea    -0x28(%ebp),%eax
42c9fa:	50                   	push   %eax
42c9fb:	ff 75 10             	push   0x10(%ebp)
42c9fe:	ff 75 0c             	push   0xc(%ebp)
42ca01:	ff 75 08             	push   0x8(%ebp)
42ca04:	e8 12 00 00 00       	call   0x42ca1b
42ca09:	83 c4 10             	add    $0x10,%esp
42ca0c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42ca0f:	8b f0                	mov    %eax,%esi
42ca11:	e8 1a 2b ff ff       	call   0x41f530
42ca16:	8b c6                	mov    %esi,%eax
42ca18:	5e                   	pop    %esi
42ca19:	c9                   	leave
42ca1a:	c3                   	ret
42ca1b:	6a 14                	push   $0x14
42ca1d:	68 90 32 45 00       	push   $0x453290
42ca22:	e8 e9 de fe ff       	call   0x41a910
42ca27:	8b 7d 08             	mov    0x8(%ebp),%edi
42ca2a:	83 ff fe             	cmp    $0xfffffffe,%edi
42ca2d:	75 1e                	jne    0x42ca4d
42ca2f:	8b 45 14             	mov    0x14(%ebp),%eax
42ca32:	c6 40 24 01          	movb   $0x1,0x24(%eax)
42ca36:	83 60 20 00          	andl   $0x0,0x20(%eax)
42ca3a:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42ca3e:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
42ca45:	83 c8 ff             	or     $0xffffffff,%eax
42ca48:	e9 c1 00 00 00       	jmp    0x42cb0e
42ca4d:	85 ff                	test   %edi,%edi
42ca4f:	78 0f                	js     0x42ca60
42ca51:	3b 3d c0 6f 45 00    	cmp    0x456fc0,%edi
42ca57:	73 07                	jae    0x42ca60
42ca59:	33 c0                	xor    %eax,%eax
42ca5b:	40                   	inc    %eax
42ca5c:	33 f6                	xor    %esi,%esi
42ca5e:	eb 04                	jmp    0x42ca64
42ca60:	33 f6                	xor    %esi,%esi
42ca62:	8b c6                	mov    %esi,%eax
42ca64:	85 c0                	test   %eax,%eax
42ca66:	75 25                	jne    0x42ca8d
42ca68:	8b 45 14             	mov    0x14(%ebp),%eax
42ca6b:	c6 40 24 01          	movb   $0x1,0x24(%eax)
42ca6f:	89 70 20             	mov    %esi,0x20(%eax)
42ca72:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42ca76:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
42ca7d:	50                   	push   %eax
42ca7e:	56                   	push   %esi
42ca7f:	56                   	push   %esi
42ca80:	56                   	push   %esi
42ca81:	56                   	push   %esi
42ca82:	56                   	push   %esi
42ca83:	e8 7e 2e ff ff       	call   0x41f906
42ca88:	83 c4 18             	add    $0x18,%esp
42ca8b:	eb b8                	jmp    0x42ca45
42ca8d:	8b cf                	mov    %edi,%ecx
42ca8f:	c1 f9 06             	sar    $0x6,%ecx
42ca92:	89 4d e0             	mov    %ecx,-0x20(%ebp)
42ca95:	8b c7                	mov    %edi,%eax
42ca97:	83 e0 3f             	and    $0x3f,%eax
42ca9a:	6b d0 38             	imul   $0x38,%eax,%edx
42ca9d:	89 55 dc             	mov    %edx,-0x24(%ebp)
42caa0:	8b 04 8d c0 6d 45 00 	mov    0x456dc0(,%ecx,4),%eax
42caa7:	f6 44 10 28 01       	testb  $0x1,0x28(%eax,%edx,1)
42caac:	74 ba                	je     0x42ca68
42caae:	57                   	push   %edi
42caaf:	e8 31 66 00 00       	call   0x4330e5
42cab4:	59                   	pop    %ecx
42cab5:	83 cb ff             	or     $0xffffffff,%ebx
42cab8:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
42cabb:	89 75 fc             	mov    %esi,-0x4(%ebp)
42cabe:	8b 45 e0             	mov    -0x20(%ebp),%eax
42cac1:	8b 04 85 c0 6d 45 00 	mov    0x456dc0(,%eax,4),%eax
42cac8:	8b 4d dc             	mov    -0x24(%ebp),%ecx
42cacb:	f6 44 01 28 01       	testb  $0x1,0x28(%ecx,%eax,1)
42cad0:	75 17                	jne    0x42cae9
42cad2:	8b 45 14             	mov    0x14(%ebp),%eax
42cad5:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42cad9:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
42cae0:	c6 40 24 01          	movb   $0x1,0x24(%eax)
42cae4:	89 70 20             	mov    %esi,0x20(%eax)
42cae7:	eb 17                	jmp    0x42cb00
42cae9:	ff 75 14             	push   0x14(%ebp)
42caec:	ff 75 10             	push   0x10(%ebp)
42caef:	ff 75 0c             	push   0xc(%ebp)
42caf2:	57                   	push   %edi
42caf3:	e8 34 00 00 00       	call   0x42cb2c
42caf8:	83 c4 10             	add    $0x10,%esp
42cafb:	8b d8                	mov    %eax,%ebx
42cafd:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
42cb00:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42cb07:	e8 18 00 00 00       	call   0x42cb24
42cb0c:	8b c3                	mov    %ebx,%eax
42cb0e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42cb11:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42cb18:	59                   	pop    %ecx
42cb19:	5f                   	pop    %edi
42cb1a:	5e                   	pop    %esi
42cb1b:	5b                   	pop    %ebx
42cb1c:	c9                   	leave
42cb1d:	c3                   	ret
42cb1e:	8b 7d 08             	mov    0x8(%ebp),%edi
42cb21:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
42cb24:	57                   	push   %edi
42cb25:	e8 70 66 00 00       	call   0x43319a
42cb2a:	59                   	pop    %ecx
42cb2b:	c3                   	ret
42cb2c:	8b ff                	mov    %edi,%edi
42cb2e:	55                   	push   %ebp
42cb2f:	8b ec                	mov    %esp,%ebp
42cb31:	83 ec 30             	sub    $0x30,%esp
42cb34:	8b 55 10             	mov    0x10(%ebp),%edx
42cb37:	8b 4d 08             	mov    0x8(%ebp),%ecx
42cb3a:	8b 45 0c             	mov    0xc(%ebp),%eax
42cb3d:	89 4d f0             	mov    %ecx,-0x10(%ebp)
42cb40:	89 45 f8             	mov    %eax,-0x8(%ebp)
42cb43:	89 55 f4             	mov    %edx,-0xc(%ebp)
42cb46:	53                   	push   %ebx
42cb47:	8b 5d 14             	mov    0x14(%ebp),%ebx
42cb4a:	56                   	push   %esi
42cb4b:	57                   	push   %edi
42cb4c:	85 d2                	test   %edx,%edx
42cb4e:	0f 84 ed 01 00 00    	je     0x42cd41
42cb54:	85 c0                	test   %eax,%eax
42cb56:	75 2a                	jne    0x42cb82
42cb58:	33 c0                	xor    %eax,%eax
42cb5a:	c6 43 24 01          	movb   $0x1,0x24(%ebx)
42cb5e:	53                   	push   %ebx
42cb5f:	50                   	push   %eax
42cb60:	50                   	push   %eax
42cb61:	50                   	push   %eax
42cb62:	89 43 20             	mov    %eax,0x20(%ebx)
42cb65:	50                   	push   %eax
42cb66:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
42cb6a:	50                   	push   %eax
42cb6b:	c7 43 18 16 00 00 00 	movl   $0x16,0x18(%ebx)
42cb72:	e8 8f 2d ff ff       	call   0x41f906
42cb77:	83 c4 18             	add    $0x18,%esp
42cb7a:	83 c8 ff             	or     $0xffffffff,%eax
42cb7d:	e9 c1 01 00 00       	jmp    0x42cd43
42cb82:	8b c1                	mov    %ecx,%eax
42cb84:	8b f1                	mov    %ecx,%esi
42cb86:	83 e0 3f             	and    $0x3f,%eax
42cb89:	c1 fe 06             	sar    $0x6,%esi
42cb8c:	6b f8 38             	imul   $0x38,%eax,%edi
42cb8f:	89 75 ec             	mov    %esi,-0x14(%ebp)
42cb92:	8b 04 b5 c0 6d 45 00 	mov    0x456dc0(,%esi,4),%eax
42cb99:	89 7d e8             	mov    %edi,-0x18(%ebp)
42cb9c:	8a 44 07 29          	mov    0x29(%edi,%eax,1),%al
42cba0:	88 45 ff             	mov    %al,-0x1(%ebp)
42cba3:	3c 02                	cmp    $0x2,%al
42cba5:	74 04                	je     0x42cbab
42cba7:	3c 01                	cmp    $0x1,%al
42cba9:	75 08                	jne    0x42cbb3
42cbab:	8b c2                	mov    %edx,%eax
42cbad:	f7 d0                	not    %eax
42cbaf:	a8 01                	test   $0x1,%al
42cbb1:	74 a5                	je     0x42cb58
42cbb3:	8b 55 ec             	mov    -0x14(%ebp),%edx
42cbb6:	33 f6                	xor    %esi,%esi
42cbb8:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42cbbf:	f6 44 07 28 20       	testb  $0x20,0x28(%edi,%eax,1)
42cbc4:	74 11                	je     0x42cbd7
42cbc6:	53                   	push   %ebx
42cbc7:	6a 02                	push   $0x2
42cbc9:	56                   	push   %esi
42cbca:	56                   	push   %esi
42cbcb:	51                   	push   %ecx
42cbcc:	e8 7f 19 00 00       	call   0x42e550
42cbd1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42cbd4:	83 c4 14             	add    $0x14,%esp
42cbd7:	53                   	push   %ebx
42cbd8:	8b fe                	mov    %esi,%edi
42cbda:	51                   	push   %ecx
42cbdb:	89 7d dc             	mov    %edi,-0x24(%ebp)
42cbde:	e8 8e fa ff ff       	call   0x42c671
42cbe3:	59                   	pop    %ecx
42cbe4:	59                   	pop    %ecx
42cbe5:	84 c0                	test   %al,%al
42cbe7:	74 47                	je     0x42cc30
42cbe9:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
42cbed:	2b c6                	sub    %esi,%eax
42cbef:	74 27                	je     0x42cc18
42cbf1:	83 e8 01             	sub    $0x1,%eax
42cbf4:	74 09                	je     0x42cbff
42cbf6:	83 e8 01             	sub    $0x1,%eax
42cbf9:	0f 85 da 00 00 00    	jne    0x42ccd9
42cbff:	ff 75 f4             	push   -0xc(%ebp)
42cc02:	8d 45 d0             	lea    -0x30(%ebp),%eax
42cc05:	ff 75 f8             	push   -0x8(%ebp)