426683:	57                   	push   %edi
426684:	0f 84 83 00 00 00    	je     0x42670d
42668a:	8b 46 08             	mov    0x8(%esi),%eax
42668d:	8b 3e                	mov    (%esi),%edi
42668f:	8d 48 02             	lea    0x2(%eax),%ecx
426692:	89 0e                	mov    %ecx,(%esi)
426694:	8b 4e 18             	mov    0x18(%esi),%ecx
426697:	2b f8                	sub    %eax,%edi
426699:	2b cb                	sub    %ebx,%ecx
42669b:	89 4e 04             	mov    %ecx,0x4(%esi)
42669e:	85 ff                	test   %edi,%edi
4266a0:	7e 1d                	jle    0x4266bf
4266a2:	57                   	push   %edi
4266a3:	50                   	push   %eax
4266a4:	ff 75 0c             	push   0xc(%ebp)
4266a7:	e8 82 e1 ff ff       	call   0x42482e
4266ac:	83 c4 0c             	add    $0xc,%esp
4266af:	89 45 fc             	mov    %eax,-0x4(%ebp)
4266b2:	eb 4e                	jmp    0x426702
4266b4:	83 c8 20             	or     $0x20,%eax
4266b7:	89 46 0c             	mov    %eax,0xc(%esi)
4266ba:	e9 3d ff ff ff       	jmp    0x4265fc
4266bf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4266c2:	83 f9 ff             	cmp    $0xffffffff,%ecx
4266c5:	74 1b                	je     0x4266e2
4266c7:	83 f9 fe             	cmp    $0xfffffffe,%ecx
4266ca:	74 16                	je     0x4266e2
4266cc:	8b c1                	mov    %ecx,%eax
4266ce:	83 e0 1f             	and    $0x1f,%eax
4266d1:	8b d1                	mov    %ecx,%edx
4266d3:	c1 fa 05             	sar    $0x5,%edx
4266d6:	c1 e0 06             	shl    $0x6,%eax
4266d9:	03 04 95 a0 f7 44 00 	add    0x44f7a0(,%edx,4),%eax
4266e0:	eb 05                	jmp    0x4266e7
4266e2:	b8 c8 fe 42 00       	mov    $0x42fec8,%eax
4266e7:	f6 40 04 20          	testb  $0x20,0x4(%eax)
4266eb:	74 15                	je     0x426702
4266ed:	53                   	push   %ebx
4266ee:	6a 00                	push   $0x0
4266f0:	6a 00                	push   $0x0
4266f2:	51                   	push   %ecx
4266f3:	e8 ea d8 ff ff       	call   0x423fe2
4266f8:	23 c2                	and    %edx,%eax
4266fa:	83 c4 10             	add    $0x10,%esp
4266fd:	83 f8 ff             	cmp    $0xffffffff,%eax
426700:	74 2d                	je     0x42672f
426702:	8b 46 08             	mov    0x8(%esi),%eax
426705:	8b 5d 08             	mov    0x8(%ebp),%ebx
426708:	66 89 18             	mov    %bx,(%eax)
42670b:	eb 1d                	jmp    0x42672a
42670d:	6a 02                	push   $0x2
42670f:	8d 45 fc             	lea    -0x4(%ebp),%eax
426712:	50                   	push   %eax
426713:	ff 75 0c             	push   0xc(%ebp)
426716:	8b fb                	mov    %ebx,%edi
426718:	8b 5d 08             	mov    0x8(%ebp),%ebx
42671b:	66 89 5d fc          	mov    %bx,-0x4(%ebp)
42671f:	e8 0a e1 ff ff       	call   0x42482e
426724:	83 c4 0c             	add    $0xc,%esp
426727:	89 45 fc             	mov    %eax,-0x4(%ebp)
42672a:	39 7d fc             	cmp    %edi,-0x4(%ebp)
42672d:	74 0b                	je     0x42673a
42672f:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
426733:	b8 ff ff 00 00       	mov    $0xffff,%eax
426738:	eb 07                	jmp    0x426741
42673a:	8b c3                	mov    %ebx,%eax
42673c:	25 ff ff 00 00       	and    $0xffff,%eax
426741:	5f                   	pop    %edi
426742:	5b                   	pop    %ebx
426743:	5e                   	pop    %esi
426744:	c9                   	leave
426745:	c3                   	ret
426746:	8b ff                	mov    %edi,%edi
426748:	55                   	push   %ebp
426749:	8b ec                	mov    %esp,%ebp
42674b:	83 ec 10             	sub    $0x10,%esp
42674e:	53                   	push   %ebx
42674f:	56                   	push   %esi
426750:	8b 75 0c             	mov    0xc(%ebp),%esi
426753:	33 db                	xor    %ebx,%ebx
426755:	57                   	push   %edi
426756:	8b 7d 10             	mov    0x10(%ebp),%edi
426759:	3b f3                	cmp    %ebx,%esi
42675b:	75 14                	jne    0x426771
42675d:	3b fb                	cmp    %ebx,%edi
42675f:	76 10                	jbe    0x426771
426761:	8b 45 08             	mov    0x8(%ebp),%eax
426764:	3b c3                	cmp    %ebx,%eax
426766:	74 02                	je     0x42676a
426768:	89 18                	mov    %ebx,(%eax)
42676a:	33 c0                	xor    %eax,%eax
42676c:	e9 83 00 00 00       	jmp    0x4267f4
426771:	8b 45 08             	mov    0x8(%ebp),%eax
426774:	3b c3                	cmp    %ebx,%eax
426776:	74 03                	je     0x42677b
426778:	83 08 ff             	orl    $0xffffffff,(%eax)
42677b:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
426781:	76 1b                	jbe    0x42679e
426783:	e8 16 81 ff ff       	call   0x41e89e
426788:	6a 16                	push   $0x16
42678a:	5e                   	pop    %esi
42678b:	53                   	push   %ebx
42678c:	53                   	push   %ebx
42678d:	53                   	push   %ebx
42678e:	53                   	push   %ebx
42678f:	53                   	push   %ebx
426790:	89 30                	mov    %esi,(%eax)
426792:	e8 5c 94 ff ff       	call   0x41fbf3
426797:	83 c4 14             	add    $0x14,%esp
42679a:	8b c6                	mov    %esi,%eax
42679c:	eb 56                	jmp    0x4267f4
42679e:	ff 75 18             	push   0x18(%ebp)
4267a1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4267a4:	e8 3f 63 ff ff       	call   0x41cae8
4267a9:	8b 45 f0             	mov    -0x10(%ebp),%eax
4267ac:	39 58 14             	cmp    %ebx,0x14(%eax)
4267af:	0f 85 9c 00 00 00    	jne    0x426851
4267b5:	66 8b 45 14          	mov    0x14(%ebp),%ax
4267b9:	b9 ff 00 00 00       	mov    $0xff,%ecx
4267be:	66 3b c1             	cmp    %cx,%ax
4267c1:	76 36                	jbe    0x4267f9
4267c3:	3b f3                	cmp    %ebx,%esi
4267c5:	74 0f                	je     0x4267d6
4267c7:	3b fb                	cmp    %ebx,%edi
4267c9:	76 0b                	jbe    0x4267d6
4267cb:	57                   	push   %edi
4267cc:	53                   	push   %ebx
4267cd:	56                   	push   %esi
4267ce:	e8 2d 3a ff ff       	call   0x41a200
4267d3:	83 c4 0c             	add    $0xc,%esp
4267d6:	e8 c3 80 ff ff       	call   0x41e89e
4267db:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4267e1:	e8 b8 80 ff ff       	call   0x41e89e
4267e6:	8b 00                	mov    (%eax),%eax
4267e8:	38 5d fc             	cmp    %bl,-0x4(%ebp)
4267eb:	74 07                	je     0x4267f4
4267ed:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4267f0:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4267f4:	5f                   	pop    %edi
4267f5:	5e                   	pop    %esi
4267f6:	5b                   	pop    %ebx
4267f7:	c9                   	leave
4267f8:	c3                   	ret
4267f9:	3b f3                	cmp    %ebx,%esi
4267fb:	74 32                	je     0x42682f
4267fd:	3b fb                	cmp    %ebx,%edi
4267ff:	77 2c                	ja     0x42682d
426801:	e8 98 80 ff ff       	call   0x41e89e
426806:	6a 22                	push   $0x22
426808:	5e                   	pop    %esi
426809:	53                   	push   %ebx
42680a:	53                   	push   %ebx
42680b:	53                   	push   %ebx
42680c:	53                   	push   %ebx
42680d:	53                   	push   %ebx
42680e:	89 30                	mov    %esi,(%eax)
426810:	e8 de 93 ff ff       	call   0x41fbf3
426815:	83 c4 14             	add    $0x14,%esp
426818:	38 5d fc             	cmp    %bl,-0x4(%ebp)
42681b:	0f 84 79 ff ff ff    	je     0x42679a
426821:	8b 45 f8             	mov    -0x8(%ebp),%eax
426824:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
426828:	e9 6d ff ff ff       	jmp    0x42679a
42682d:	88 06                	mov    %al,(%esi)
42682f:	8b 45 08             	mov    0x8(%ebp),%eax
426832:	3b c3                	cmp    %ebx,%eax
426834:	74 06                	je     0x42683c
426836:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
42683c:	38 5d fc             	cmp    %bl,-0x4(%ebp)
42683f:	0f 84 25 ff ff ff    	je     0x42676a
426845:	8b 45 f8             	mov    -0x8(%ebp),%eax
426848:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
42684c:	e9 19 ff ff ff       	jmp    0x42676a
426851:	8d 4d 0c             	lea    0xc(%ebp),%ecx
426854:	51                   	push   %ecx
426855:	53                   	push   %ebx
426856:	57                   	push   %edi
426857:	56                   	push   %esi
426858:	6a 01                	push   $0x1
42685a:	8d 4d 14             	lea    0x14(%ebp),%ecx
42685d:	51                   	push   %ecx
42685e:	53                   	push   %ebx
42685f:	89 5d 0c             	mov    %ebx,0xc(%ebp)
426862:	ff 70 04             	push   0x4(%eax)
426865:	ff 15 20 a1 42 00    	call   *0x42a120
42686b:	3b c3                	cmp    %ebx,%eax
42686d:	74 14                	je     0x426883
42686f:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
426872:	0f 85 5e ff ff ff    	jne    0x4267d6
426878:	8b 4d 08             	mov    0x8(%ebp),%ecx
42687b:	3b cb                	cmp    %ebx,%ecx
42687d:	74 bd                	je     0x42683c
42687f:	89 01                	mov    %eax,(%ecx)
426881:	eb b9                	jmp    0x42683c
426883:	ff 15 24 a2 42 00    	call   *0x42a224
426889:	83 f8 7a             	cmp    $0x7a,%eax
42688c:	0f 85 44 ff ff ff    	jne    0x4267d6
426892:	3b f3                	cmp    %ebx,%esi
426894:	0f 84 67 ff ff ff    	je     0x426801
42689a:	3b fb                	cmp    %ebx,%edi
42689c:	0f 86 5f ff ff ff    	jbe    0x426801
4268a2:	57                   	push   %edi
4268a3:	53                   	push   %ebx
4268a4:	56                   	push   %esi
4268a5:	e8 56 39 ff ff       	call   0x41a200
4268aa:	83 c4 0c             	add    $0xc,%esp
4268ad:	e9 4f ff ff ff       	jmp    0x426801
4268b2:	8b ff                	mov    %edi,%edi
4268b4:	55                   	push   %ebp
4268b5:	8b ec                	mov    %esp,%ebp
4268b7:	6a 00                	push   $0x0
4268b9:	ff 75 14             	push   0x14(%ebp)
4268bc:	ff 75 10             	push   0x10(%ebp)
4268bf:	ff 75 0c             	push   0xc(%ebp)
4268c2:	ff 75 08             	push   0x8(%ebp)
4268c5:	e8 7c fe ff ff       	call   0x426746
4268ca:	83 c4 14             	add    $0x14,%esp
4268cd:	5d                   	pop    %ebp
4268ce:	c3                   	ret
4268cf:	8b ff                	mov    %edi,%edi
4268d1:	55                   	push   %ebp
4268d2:	8b ec                	mov    %esp,%ebp
4268d4:	83 ec 14             	sub    $0x14,%esp
4268d7:	56                   	push   %esi
4268d8:	57                   	push   %edi
4268d9:	ff 75 08             	push   0x8(%ebp)
4268dc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4268df:	e8 04 62 ff ff       	call   0x41cae8
4268e4:	8b 45 10             	mov    0x10(%ebp),%eax
4268e7:	8b 75 0c             	mov    0xc(%ebp),%esi
4268ea:	33 ff                	xor    %edi,%edi
4268ec:	3b c7                	cmp    %edi,%eax
4268ee:	74 02                	je     0x4268f2
4268f0:	89 30                	mov    %esi,(%eax)
4268f2:	3b f7                	cmp    %edi,%esi
4268f4:	75 2c                	jne    0x426922
4268f6:	e8 a3 7f ff ff       	call   0x41e89e
4268fb:	57                   	push   %edi
4268fc:	57                   	push   %edi
4268fd:	57                   	push   %edi
4268fe:	57                   	push   %edi
4268ff:	57                   	push   %edi
426900:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
426906:	e8 e8 92 ff ff       	call   0x41fbf3
42690b:	83 c4 14             	add    $0x14,%esp
42690e:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
426912:	74 07                	je     0x42691b
426914:	8b 45 f4             	mov    -0xc(%ebp),%eax
426917:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
42691b:	33 c0                	xor    %eax,%eax
42691d:	e9 d8 01 00 00       	jmp    0x426afa
426922:	39 7d 14             	cmp    %edi,0x14(%ebp)
426925:	74 0c                	je     0x426933
426927:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
42692b:	7c c9                	jl     0x4268f6
42692d:	83 7d 14 24          	cmpl   $0x24,0x14(%ebp)
426931:	7f c3                	jg     0x4268f6
426933:	8b 4d ec             	mov    -0x14(%ebp),%ecx
426936:	53                   	push   %ebx
426937:	8a 1e                	mov    (%esi),%bl
426939:	89 7d fc             	mov    %edi,-0x4(%ebp)
42693c:	8d 7e 01             	lea    0x1(%esi),%edi
42693f:	83 b9 ac 00 00 00 01 	cmpl   $0x1,0xac(%ecx)
426946:	7e 17                	jle    0x42695f
426948:	8d 45 ec             	lea    -0x14(%ebp),%eax
42694b:	50                   	push   %eax
42694c:	0f b6 c3             	movzbl %bl,%eax
42694f:	6a 08                	push   $0x8
426951:	50                   	push   %eax
426952:	e8 6d b9 ff ff       	call   0x4222c4
426957:	8b 4d ec             	mov    -0x14(%ebp),%ecx
42695a:	83 c4 0c             	add    $0xc,%esp
42695d:	eb 10                	jmp    0x42696f
42695f:	8b 91 c8 00 00 00    	mov    0xc8(%ecx),%edx
426965:	0f b6 c3             	movzbl %bl,%eax
426968:	0f b7 04 42          	movzwl (%edx,%eax,2),%eax
42696c:	83 e0 08             	and    $0x8,%eax
42696f:	85 c0                	test   %eax,%eax
426971:	74 05                	je     0x426978
426973:	8a 1f                	mov    (%edi),%bl
426975:	47                   	inc    %edi
426976:	eb c7                	jmp    0x42693f
426978:	80 fb 2d             	cmp    $0x2d,%bl
42697b:	75 06                	jne    0x426983
42697d:	83 4d 18 02          	orl    $0x2,0x18(%ebp)
426981:	eb 05                	jmp    0x426988
426983:	80 fb 2b             	cmp    $0x2b,%bl
426986:	75 03                	jne    0x42698b
426988:	8a 1f                	mov    (%edi),%bl
42698a:	47                   	inc    %edi
42698b:	8b 45 14             	mov    0x14(%ebp),%eax
42698e:	85 c0                	test   %eax,%eax
426990:	0f 8c 4b 01 00 00    	jl     0x426ae1
426996:	83 f8 01             	cmp    $0x1,%eax
426999:	0f 84 42 01 00 00    	je     0x426ae1
42699f:	83 f8 24             	cmp    $0x24,%eax
4269a2:	0f 8f 39 01 00 00    	jg     0x426ae1
4269a8:	85 c0                	test   %eax,%eax
4269aa:	75 2a                	jne    0x4269d6
4269ac:	80 fb 30             	cmp    $0x30,%bl
4269af:	74 09                	je     0x4269ba
4269b1:	c7 45 14 0a 00 00 00 	movl   $0xa,0x14(%ebp)
4269b8:	eb 34                	jmp    0x4269ee
4269ba:	8a 07                	mov    (%edi),%al
4269bc:	3c 78                	cmp    $0x78,%al
4269be:	74 0d                	je     0x4269cd
4269c0:	3c 58                	cmp    $0x58,%al
4269c2:	74 09                	je     0x4269cd
4269c4:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
4269cb:	eb 21                	jmp    0x4269ee
4269cd:	c7 45 14 10 00 00 00 	movl   $0x10,0x14(%ebp)
4269d4:	eb 0a                	jmp    0x4269e0
4269d6:	83 f8 10             	cmp    $0x10,%eax
4269d9:	75 13                	jne    0x4269ee
4269db:	80 fb 30             	cmp    $0x30,%bl
4269de:	75 0e                	jne    0x4269ee
4269e0:	8a 07                	mov    (%edi),%al
4269e2:	3c 78                	cmp    $0x78,%al
4269e4:	74 04                	je     0x4269ea
4269e6:	3c 58                	cmp    $0x58,%al
4269e8:	75 04                	jne    0x4269ee
4269ea:	47                   	inc    %edi
4269eb:	8a 1f                	mov    (%edi),%bl
4269ed:	47                   	inc    %edi
4269ee:	8b b1 c8 00 00 00    	mov    0xc8(%ecx),%esi
4269f4:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
4269f9:	33 d2                	xor    %edx,%edx
4269fb:	f7 75 14             	divl   0x14(%ebp)
4269fe:	0f b6 cb             	movzbl %bl,%ecx
426a01:	0f b7 0c 4e          	movzwl (%esi,%ecx,2),%ecx
426a05:	f6 c1 04             	test   $0x4,%cl
426a08:	74 08                	je     0x426a12
426a0a:	0f be cb             	movsbl %bl,%ecx
426a0d:	83 e9 30             	sub    $0x30,%ecx
426a10:	eb 1b                	jmp    0x426a2d
426a12:	f7 c1 03 01 00 00    	test   $0x103,%ecx
426a18:	74 31                	je     0x426a4b
426a1a:	8a cb                	mov    %bl,%cl
426a1c:	80 e9 61             	sub    $0x61,%cl
426a1f:	80 f9 19             	cmp    $0x19,%cl
426a22:	0f be cb             	movsbl %bl,%ecx
426a25:	77 03                	ja     0x426a2a
426a27:	83 e9 20             	sub    $0x20,%ecx
426a2a:	83 c1 c9             	add    $0xffffffc9,%ecx
426a2d:	3b 4d 14             	cmp    0x14(%ebp),%ecx
426a30:	73 19                	jae    0x426a4b
426a32:	83 4d 18 08          	orl    $0x8,0x18(%ebp)
426a36:	39 45 fc             	cmp    %eax,-0x4(%ebp)
426a39:	72 27                	jb     0x426a62
426a3b:	75 04                	jne    0x426a41