42463d:	32 c0                	xor    %al,%al
42463f:	eb 02                	jmp    0x424643
424641:	b0 01                	mov    $0x1,%al
424643:	5d                   	pop    %ebp
424644:	c2 04 00             	ret    $0x4
424647:	8b ff                	mov    %edi,%edi
424649:	55                   	push   %ebp
42464a:	8b ec                	mov    %esp,%ebp
42464c:	53                   	push   %ebx
42464d:	57                   	push   %edi
42464e:	8b 7d 0c             	mov    0xc(%ebp),%edi
424651:	8b d9                	mov    %ecx,%ebx
424653:	85 ff                	test   %edi,%edi
424655:	74 51                	je     0x4246a8
424657:	8b 03                	mov    (%ebx),%eax
424659:	56                   	push   %esi
42465a:	8b 70 04             	mov    0x4(%eax),%esi
42465d:	39 70 08             	cmp    %esi,0x8(%eax)
424660:	75 0b                	jne    0x42466d
424662:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
424666:	8b 45 10             	mov    0x10(%ebp),%eax
424669:	74 35                	je     0x4246a0
42466b:	eb 2b                	jmp    0x424698
42466d:	2b 70 08             	sub    0x8(%eax),%esi
424670:	3b f7                	cmp    %edi,%esi
424672:	72 02                	jb     0x424676
424674:	8b f7                	mov    %edi,%esi
424676:	56                   	push   %esi
424677:	ff 75 08             	push   0x8(%ebp)
42467a:	ff 30                	push   (%eax)
42467c:	e8 cf 8d ff ff       	call   0x41d450
424681:	8b 03                	mov    (%ebx),%eax
424683:	83 c4 0c             	add    $0xc,%esp
424686:	01 30                	add    %esi,(%eax)
424688:	8b 03                	mov    (%ebx),%eax
42468a:	01 70 08             	add    %esi,0x8(%eax)
42468d:	8b 03                	mov    (%ebx),%eax
42468f:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
424693:	8b 45 10             	mov    0x10(%ebp),%eax
424696:	74 04                	je     0x42469c
424698:	01 38                	add    %edi,(%eax)
42469a:	eb 0b                	jmp    0x4246a7
42469c:	3b f7                	cmp    %edi,%esi
42469e:	74 05                	je     0x4246a5
4246a0:	83 08 ff             	orl    $0xffffffff,(%eax)
4246a3:	eb 02                	jmp    0x4246a7
4246a5:	01 30                	add    %esi,(%eax)
4246a7:	5e                   	pop    %esi
4246a8:	5f                   	pop    %edi
4246a9:	5b                   	pop    %ebx
4246aa:	5d                   	pop    %ebp
4246ab:	c2 10 00             	ret    $0x10
4246ae:	8b ff                	mov    %edi,%edi
4246b0:	55                   	push   %ebp
4246b1:	8b ec                	mov    %esp,%ebp
4246b3:	51                   	push   %ecx
4246b4:	53                   	push   %ebx
4246b5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4246b8:	8b c1                	mov    %ecx,%eax
4246ba:	89 45 fc             	mov    %eax,-0x4(%ebp)
4246bd:	85 db                	test   %ebx,%ebx
4246bf:	74 59                	je     0x42471a
4246c1:	8b 00                	mov    (%eax),%eax
4246c3:	57                   	push   %edi
4246c4:	8b 78 04             	mov    0x4(%eax),%edi
4246c7:	39 78 08             	cmp    %edi,0x8(%eax)
4246ca:	75 0b                	jne    0x4246d7
4246cc:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
4246d0:	8b 45 10             	mov    0x10(%ebp),%eax
4246d3:	74 3d                	je     0x424712
4246d5:	eb 33                	jmp    0x42470a
4246d7:	2b 78 08             	sub    0x8(%eax),%edi
4246da:	3b fb                	cmp    %ebx,%edi
4246dc:	72 02                	jb     0x4246e0
4246de:	8b fb                	mov    %ebx,%edi
4246e0:	56                   	push   %esi
4246e1:	8d 34 3f             	lea    (%edi,%edi,1),%esi
4246e4:	56                   	push   %esi
4246e5:	ff 75 08             	push   0x8(%ebp)
4246e8:	ff 30                	push   (%eax)
4246ea:	e8 61 8d ff ff       	call   0x41d450
4246ef:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4246f2:	83 c4 0c             	add    $0xc,%esp
4246f5:	8b 01                	mov    (%ecx),%eax
4246f7:	01 30                	add    %esi,(%eax)
4246f9:	8b 01                	mov    (%ecx),%eax
4246fb:	5e                   	pop    %esi
4246fc:	01 78 08             	add    %edi,0x8(%eax)
4246ff:	8b 01                	mov    (%ecx),%eax
424701:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
424705:	8b 45 10             	mov    0x10(%ebp),%eax
424708:	74 04                	je     0x42470e
42470a:	01 18                	add    %ebx,(%eax)
42470c:	eb 0b                	jmp    0x424719
42470e:	3b fb                	cmp    %ebx,%edi
424710:	74 05                	je     0x424717
424712:	83 08 ff             	orl    $0xffffffff,(%eax)
424715:	eb 02                	jmp    0x424719
424717:	01 38                	add    %edi,(%eax)
424719:	5f                   	pop    %edi
42471a:	5b                   	pop    %ebx
42471b:	c9                   	leave
42471c:	c2 10 00             	ret    $0x10
42471f:	8b ff                	mov    %edi,%edi
424721:	55                   	push   %ebp
424722:	8b ec                	mov    %esp,%ebp
424724:	8b 4d 0c             	mov    0xc(%ebp),%ecx
424727:	8d 41 01             	lea    0x1(%ecx),%eax
42472a:	3d 00 01 00 00       	cmp    $0x100,%eax
42472f:	77 0c                	ja     0x42473d
424731:	8b 45 08             	mov    0x8(%ebp),%eax
424734:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
424738:	23 45 10             	and    0x10(%ebp),%eax
42473b:	5d                   	pop    %ebp
42473c:	c3                   	ret
42473d:	33 c0                	xor    %eax,%eax
42473f:	5d                   	pop    %ebp
424740:	c3                   	ret
424741:	8b ff                	mov    %edi,%edi
424743:	55                   	push   %ebp
424744:	8b ec                	mov    %esp,%ebp
424746:	83 ec 28             	sub    $0x28,%esp
424749:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42474c:	56                   	push   %esi
42474d:	ff 75 20             	push   0x20(%ebp)
424750:	e8 0e c0 ff ff       	call   0x420763
424755:	ff 75 24             	push   0x24(%ebp)
424758:	8d 45 d8             	lea    -0x28(%ebp),%eax
42475b:	50                   	push   %eax
42475c:	ff 75 1c             	push   0x1c(%ebp)
42475f:	ff 75 18             	push   0x18(%ebp)
424762:	ff 75 14             	push   0x14(%ebp)
424765:	ff 75 10             	push   0x10(%ebp)
424768:	ff 75 0c             	push   0xc(%ebp)
42476b:	ff 75 08             	push   0x8(%ebp)
42476e:	e8 68 c3 ff ff       	call   0x420adb
424773:	83 c4 20             	add    $0x20,%esp
424776:	8d 4d d8             	lea    -0x28(%ebp),%ecx
424779:	8b f0                	mov    %eax,%esi
42477b:	e8 2b c0 ff ff       	call   0x4207ab
424780:	8b c6                	mov    %esi,%eax
424782:	5e                   	pop    %esi
424783:	c9                   	leave
424784:	c3                   	ret
424785:	8b ff                	mov    %edi,%edi
424787:	55                   	push   %ebp
424788:	8b ec                	mov    %esp,%ebp
42478a:	83 ec 28             	sub    $0x28,%esp
42478d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
424790:	56                   	push   %esi
424791:	ff 75 20             	push   0x20(%ebp)
424794:	e8 ca bf ff ff       	call   0x420763
424799:	ff 75 24             	push   0x24(%ebp)
42479c:	8d 45 d8             	lea    -0x28(%ebp),%eax
42479f:	50                   	push   %eax
4247a0:	ff 75 1c             	push   0x1c(%ebp)
4247a3:	ff 75 18             	push   0x18(%ebp)
4247a6:	ff 75 14             	push   0x14(%ebp)
4247a9:	ff 75 10             	push   0x10(%ebp)
4247ac:	ff 75 0c             	push   0xc(%ebp)
4247af:	ff 75 08             	push   0x8(%ebp)
4247b2:	e8 25 c4 ff ff       	call   0x420bdc
4247b7:	83 c4 20             	add    $0x20,%esp
4247ba:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4247bd:	8b f0                	mov    %eax,%esi
4247bf:	e8 e7 bf ff ff       	call   0x4207ab
4247c4:	8b c6                	mov    %esi,%eax
4247c6:	5e                   	pop    %esi
4247c7:	c9                   	leave
4247c8:	c3                   	ret
4247c9:	8b ff                	mov    %edi,%edi
4247cb:	55                   	push   %ebp
4247cc:	8b ec                	mov    %esp,%ebp
4247ce:	83 ec 28             	sub    $0x28,%esp
4247d1:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4247d4:	56                   	push   %esi
4247d5:	ff 75 1c             	push   0x1c(%ebp)
4247d8:	e8 86 bf ff ff       	call   0x420763
4247dd:	ff 75 20             	push   0x20(%ebp)
4247e0:	8d 45 d8             	lea    -0x28(%ebp),%eax
4247e3:	50                   	push   %eax
4247e4:	ff 75 18             	push   0x18(%ebp)
4247e7:	ff 75 14             	push   0x14(%ebp)
4247ea:	ff 75 10             	push   0x10(%ebp)
4247ed:	ff 75 0c             	push   0xc(%ebp)
4247f0:	ff 75 08             	push   0x8(%ebp)
4247f3:	e8 ed c7 ff ff       	call   0x420fe5
4247f8:	83 c4 1c             	add    $0x1c,%esp
4247fb:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4247fe:	8b f0                	mov    %eax,%esi
424800:	e8 a6 bf ff ff       	call   0x4207ab
424805:	8b c6                	mov    %esi,%eax
424807:	5e                   	pop    %esi
424808:	c9                   	leave
424809:	c3                   	ret
42480a:	8b ff                	mov    %edi,%edi
42480c:	55                   	push   %ebp
42480d:	8b ec                	mov    %esp,%ebp
42480f:	83 ec 28             	sub    $0x28,%esp
424812:	8d 4d d8             	lea    -0x28(%ebp),%ecx
424815:	56                   	push   %esi
424816:	ff 75 1c             	push   0x1c(%ebp)
424819:	e8 45 bf ff ff       	call   0x420763
42481e:	ff 75 20             	push   0x20(%ebp)
424821:	8d 45 d8             	lea    -0x28(%ebp),%eax
424824:	50                   	push   %eax
424825:	ff 75 18             	push   0x18(%ebp)
424828:	ff 75 14             	push   0x14(%ebp)
42482b:	ff 75 10             	push   0x10(%ebp)
42482e:	ff 75 0c             	push   0xc(%ebp)
424831:	ff 75 08             	push   0x8(%ebp)
424834:	e8 4b c8 ff ff       	call   0x421084
424839:	83 c4 1c             	add    $0x1c,%esp
42483c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42483f:	8b f0                	mov    %eax,%esi
424841:	e8 65 bf ff ff       	call   0x4207ab
424846:	8b c6                	mov    %esi,%eax
424848:	5e                   	pop    %esi
424849:	c9                   	leave
42484a:	c3                   	ret
42484b:	8b ff                	mov    %edi,%edi
42484d:	55                   	push   %ebp
42484e:	8b ec                	mov    %esp,%ebp
424850:	83 ec 14             	sub    $0x14,%esp
424853:	56                   	push   %esi
424854:	8b 75 08             	mov    0x8(%ebp),%esi
424857:	85 f6                	test   %esi,%esi
424859:	75 13                	jne    0x42486e
42485b:	e8 e0 1d 00 00       	call   0x426640
424860:	6a 16                	push   $0x16
424862:	5e                   	pop    %esi
424863:	89 30                	mov    %esi,(%eax)
424865:	e8 05 c2 ff ff       	call   0x420a6f
42486a:	8b c6                	mov    %esi,%eax
42486c:	eb 53                	jmp    0x4248c1
42486e:	57                   	push   %edi
42486f:	6a 09                	push   $0x9
424871:	83 c8 ff             	or     $0xffffffff,%eax
424874:	8b fe                	mov    %esi,%edi
424876:	59                   	pop    %ecx
424877:	f3 ab                	rep stos %eax,%es:(%edi)
424879:	8b 7d 0c             	mov    0xc(%ebp),%edi
42487c:	85 ff                	test   %edi,%edi
42487e:	75 13                	jne    0x424893
424880:	e8 bb 1d 00 00       	call   0x426640
424885:	6a 16                	push   $0x16
424887:	5e                   	pop    %esi
424888:	89 30                	mov    %esi,(%eax)
42488a:	e8 e0 c1 ff ff       	call   0x420a6f
42488f:	8b c6                	mov    %esi,%eax
424891:	eb 2d                	jmp    0x4248c0
424893:	53                   	push   %ebx
424894:	33 db                	xor    %ebx,%ebx
424896:	39 5f 04             	cmp    %ebx,0x4(%edi)
424899:	7f 06                	jg     0x4248a1
42489b:	7c 16                	jl     0x4248b3
42489d:	39 1f                	cmp    %ebx,(%edi)
42489f:	72 12                	jb     0x4248b3
4248a1:	6a 07                	push   $0x7
4248a3:	58                   	pop    %eax
4248a4:	39 47 04             	cmp    %eax,0x4(%edi)
4248a7:	7c 1b                	jl     0x4248c4
4248a9:	7f 08                	jg     0x4248b3
4248ab:	81 3f ff 2a 58 93    	cmpl   $0x93582aff,(%edi)
4248b1:	76 11                	jbe    0x4248c4
4248b3:	e8 88 1d 00 00       	call   0x426640
4248b8:	6a 16                	push   $0x16
4248ba:	5e                   	pop    %esi
4248bb:	89 30                	mov    %esi,(%eax)
4248bd:	8b c6                	mov    %esi,%eax
4248bf:	5b                   	pop    %ebx
4248c0:	5f                   	pop    %edi
4248c1:	5e                   	pop    %esi
4248c2:	c9                   	leave
4248c3:	c3                   	ret
4248c4:	e8 fc 96 00 00       	call   0x42dfc5
4248c9:	8d 45 f8             	lea    -0x8(%ebp),%eax
4248cc:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4248cf:	50                   	push   %eax
4248d0:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4248d3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4248d6:	e8 68 8d 00 00       	call   0x42d643
4248db:	59                   	pop    %ecx
4248dc:	85 c0                	test   %eax,%eax
4248de:	0f 85 ed 01 00 00    	jne    0x424ad1
4248e4:	8d 45 f4             	lea    -0xc(%ebp),%eax
4248e7:	50                   	push   %eax
4248e8:	e8 82 8d 00 00       	call   0x42d66f
4248ed:	59                   	pop    %ecx
4248ee:	85 c0                	test   %eax,%eax
4248f0:	0f 85 db 01 00 00    	jne    0x424ad1
4248f6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4248f9:	50                   	push   %eax
4248fa:	e8 9c 8d 00 00       	call   0x42d69b
4248ff:	59                   	pop    %ecx
424900:	85 c0                	test   %eax,%eax
424902:	0f 85 c9 01 00 00    	jne    0x424ad1
424908:	8b 0f                	mov    (%edi),%ecx
42490a:	8b d1                	mov    %ecx,%edx
42490c:	8b 5f 04             	mov    0x4(%edi),%ebx
42490f:	81 c2 7f 0b fc ff    	add    $0xfffc0b7f,%edx
424915:	8b c3                	mov    %ebx,%eax
424917:	83 d0 ff             	adc    $0xffffffff,%eax
42491a:	83 f8 07             	cmp    $0x7,%eax
42491d:	77 6e                	ja     0x42498d
42491f:	72 08                	jb     0x424929
424921:	81 fa fd 41 50 93    	cmp    $0x935041fd,%edx
424927:	77 64                	ja     0x42498d
424929:	8b 45 fc             	mov    -0x4(%ebp),%eax
42492c:	99                   	cltd
42492d:	2b c8                	sub    %eax,%ecx
42492f:	8d 45 ec             	lea    -0x14(%ebp),%eax
424932:	50                   	push   %eax
424933:	1b da                	sbb    %edx,%ebx
424935:	89 4d ec             	mov    %ecx,-0x14(%ebp)
424938:	56                   	push   %esi
424939:	89 5d f0             	mov    %ebx,-0x10(%ebp)
42493c:	e8 25 3b 00 00       	call   0x428466
424941:	59                   	pop    %ecx
424942:	59                   	pop    %ecx
424943:	85 c0                	test   %eax,%eax
424945:	0f 85 74 ff ff ff    	jne    0x4248bf
42494b:	39 45 f8             	cmp    %eax,-0x8(%ebp)
42494e:	0f 84 76 01 00 00    	je     0x424aca
424954:	56                   	push   %esi
424955:	e8 c8 96 00 00       	call   0x42e022
42495a:	59                   	pop    %ecx
42495b:	85 c0                	test   %eax,%eax
42495d:	0f 84 67 01 00 00    	je     0x424aca
424963:	8b 45 f4             	mov    -0xc(%ebp),%eax
424966:	99                   	cltd
424967:	29 45 ec             	sub    %eax,-0x14(%ebp)
42496a:	8d 45 ec             	lea    -0x14(%ebp),%eax
42496d:	50                   	push   %eax
42496e:	19 55 f0             	sbb    %edx,-0x10(%ebp)
424971:	56                   	push   %esi
424972:	e8 ef 3a 00 00       	call   0x428466
424977:	59                   	pop    %ecx
424978:	59                   	pop    %ecx
424979:	85 c0                	test   %eax,%eax
42497b:	0f 85 3e ff ff ff    	jne    0x4248bf
424981:	c7 46 20 01 00 00 00 	movl   $0x1,0x20(%esi)
424988:	e9 3d 01 00 00       	jmp    0x424aca
42498d:	57                   	push   %edi
42498e:	56                   	push   %esi
42498f:	e8 d2 3a 00 00       	call   0x428466
424994:	59                   	pop    %ecx
424995:	59                   	pop    %ecx
424996:	85 c0                	test   %eax,%eax
424998:	0f 85 21 ff ff ff    	jne    0x4248bf