421664:	55                   	push   %ebp
421665:	8b ec                	mov    %esp,%ebp
421667:	56                   	push   %esi
421668:	8b 75 14             	mov    0x14(%ebp),%esi
42166b:	85 f6                	test   %esi,%esi
42166d:	75 04                	jne    0x421673
42166f:	33 c0                	xor    %eax,%eax
421671:	eb 6d                	jmp    0x4216e0
421673:	8b 45 08             	mov    0x8(%ebp),%eax
421676:	85 c0                	test   %eax,%eax
421678:	75 13                	jne    0x42168d
42167a:	e8 b7 27 01 00       	call   0x433e36
42167f:	6a 16                	push   $0x16
421681:	5e                   	pop    %esi
421682:	89 30                	mov    %esi,(%eax)
421684:	e8 f1 26 01 00       	call   0x433d7a
421689:	8b c6                	mov    %esi,%eax
42168b:	eb 53                	jmp    0x4216e0
42168d:	57                   	push   %edi
42168e:	8b 7d 10             	mov    0x10(%ebp),%edi
421691:	85 ff                	test   %edi,%edi
421693:	74 14                	je     0x4216a9
421695:	39 75 0c             	cmp    %esi,0xc(%ebp)
421698:	72 0f                	jb     0x4216a9
42169a:	56                   	push   %esi
42169b:	57                   	push   %edi
42169c:	50                   	push   %eax
42169d:	e8 4e da 00 00       	call   0x42f0f0
4216a2:	83 c4 0c             	add    $0xc,%esp
4216a5:	33 c0                	xor    %eax,%eax
4216a7:	eb 36                	jmp    0x4216df
4216a9:	ff 75 0c             	push   0xc(%ebp)
4216ac:	6a 00                	push   $0x0
4216ae:	50                   	push   %eax
4216af:	e8 bc df 00 00       	call   0x42f670
4216b4:	83 c4 0c             	add    $0xc,%esp
4216b7:	85 ff                	test   %edi,%edi
4216b9:	75 09                	jne    0x4216c4
4216bb:	e8 76 27 01 00       	call   0x433e36
4216c0:	6a 16                	push   $0x16
4216c2:	eb 0c                	jmp    0x4216d0
4216c4:	39 75 0c             	cmp    %esi,0xc(%ebp)
4216c7:	73 13                	jae    0x4216dc
4216c9:	e8 68 27 01 00       	call   0x433e36
4216ce:	6a 22                	push   $0x22
4216d0:	5e                   	pop    %esi
4216d1:	89 30                	mov    %esi,(%eax)
4216d3:	e8 a2 26 01 00       	call   0x433d7a
4216d8:	8b c6                	mov    %esi,%eax
4216da:	eb 03                	jmp    0x4216df
4216dc:	6a 16                	push   $0x16
4216de:	58                   	pop    %eax
4216df:	5f                   	pop    %edi
4216e0:	5e                   	pop    %esi
4216e1:	5d                   	pop    %ebp
4216e2:	c3                   	ret
4216e3:	55                   	push   %ebp
4216e4:	8b ec                	mov    %esp,%ebp
4216e6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4216e9:	33 d2                	xor    %edx,%edx
4216eb:	53                   	push   %ebx
4216ec:	56                   	push   %esi
4216ed:	8b 75 08             	mov    0x8(%ebp),%esi
4216f0:	8b c2                	mov    %edx,%eax
4216f2:	57                   	push   %edi
4216f3:	8b fa                	mov    %edx,%edi
4216f5:	8b 9e b8 00 00 00    	mov    0xb8(%esi),%ebx
4216fb:	85 db                	test   %ebx,%ebx
4216fd:	74 24                	je     0x421723
4216ff:	8b b6 b4 00 00 00    	mov    0xb4(%esi),%esi
421705:	39 56 08             	cmp    %edx,0x8(%esi)
421708:	74 04                	je     0x42170e
42170a:	8b 06                	mov    (%esi),%eax
42170c:	eb 05                	jmp    0x421713
42170e:	3b 4e 04             	cmp    0x4(%esi),%ecx
421711:	74 0a                	je     0x42171d
421713:	47                   	inc    %edi
421714:	83 c6 0c             	add    $0xc,%esi
421717:	3b fb                	cmp    %ebx,%edi
421719:	72 ea                	jb     0x421705
42171b:	eb 02                	jmp    0x42171f
42171d:	8b 06                	mov    (%esi),%eax
42171f:	85 c0                	test   %eax,%eax
421721:	75 44                	jne    0x421767
421723:	85 c9                	test   %ecx,%ecx
421725:	75 05                	jne    0x42172c
421727:	33 c0                	xor    %eax,%eax
421729:	40                   	inc    %eax
42172a:	eb 3b                	jmp    0x421767
42172c:	81 f9 c2 0b 00 00    	cmp    $0xbc2,%ecx
421732:	74 30                	je     0x421764
421734:	81 f9 c2 0b 07 80    	cmp    $0x80070bc2,%ecx
42173a:	74 28                	je     0x421764
42173c:	81 f9 c3 0b 00 00    	cmp    $0xbc3,%ecx
421742:	74 20                	je     0x421764
421744:	81 f9 c3 0b 07 80    	cmp    $0x80070bc3,%ecx
42174a:	74 18                	je     0x421764
42174c:	81 f9 69 06 00 00    	cmp    $0x669,%ecx
421752:	74 0c                	je     0x421760
421754:	81 f9 69 06 07 80    	cmp    $0x80070669,%ecx
42175a:	74 04                	je     0x421760
42175c:	6a 02                	push   $0x2
42175e:	eb 06                	jmp    0x421766
421760:	6a 04                	push   $0x4
421762:	eb 02                	jmp    0x421766
421764:	6a 03                	push   $0x3
421766:	58                   	pop    %eax
421767:	5f                   	pop    %edi
421768:	5e                   	pop    %esi
421769:	5b                   	pop    %ebx
42176a:	83 e8 01             	sub    $0x1,%eax
42176d:	74 4a                	je     0x4217b9
42176f:	83 e8 01             	sub    $0x1,%eax
421772:	74 27                	je     0x42179b
421774:	83 e8 01             	sub    $0x1,%eax
421777:	74 17                	je     0x421790
421779:	83 e8 01             	sub    $0x1,%eax
42177c:	74 07                	je     0x421785
42177e:	ba ff ff 00 80       	mov    $0x8000ffff,%edx
421783:	eb 39                	jmp    0x4217be
421785:	8b 45 10             	mov    0x10(%ebp),%eax
421788:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
42178e:	eb 2e                	jmp    0x4217be
421790:	8b 45 10             	mov    0x10(%ebp),%eax
421793:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
421799:	eb 23                	jmp    0x4217be
42179b:	8b 45 10             	mov    0x10(%ebp),%eax
42179e:	89 10                	mov    %edx,(%eax)
4217a0:	0f b7 d1             	movzwl %cx,%edx
4217a3:	81 ca 00 00 07 80    	or     $0x80070000,%edx
4217a9:	85 c9                	test   %ecx,%ecx
4217ab:	0f 4e d1             	cmovle %ecx,%edx
4217ae:	85 d2                	test   %edx,%edx
4217b0:	78 0c                	js     0x4217be
4217b2:	ba 05 40 00 80       	mov    $0x80004005,%edx
4217b7:	eb 05                	jmp    0x4217be
4217b9:	8b 4d 10             	mov    0x10(%ebp),%ecx
4217bc:	89 11                	mov    %edx,(%ecx)
4217be:	8b c2                	mov    %edx,%eax
4217c0:	5d                   	pop    %ebp
4217c1:	c2 0c 00             	ret    $0xc
4217c4:	55                   	push   %ebp
4217c5:	8b ec                	mov    %esp,%ebp
4217c7:	83 ec 0c             	sub    $0xc,%esp
4217ca:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4217ce:	8d 45 f4             	lea    -0xc(%ebp),%eax
4217d1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4217d5:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4217d9:	56                   	push   %esi
4217da:	50                   	push   %eax
4217db:	68 c4 b4 45 00       	push   $0x45b4c4
4217e0:	ff 75 08             	push   0x8(%ebp)
4217e3:	e8 1b 20 02 00       	call   0x443803
4217e8:	8b f0                	mov    %eax,%esi
4217ea:	85 f6                	test   %esi,%esi
4217ec:	79 12                	jns    0x421800
4217ee:	68 dc b4 45 00       	push   $0x45b4dc
4217f3:	56                   	push   %esi
4217f4:	e8 36 e9 01 00       	call   0x44012f
4217f9:	59                   	pop    %ecx
4217fa:	59                   	pop    %ecx
4217fb:	e9 22 01 00 00       	jmp    0x421922
421800:	8b 45 f4             	mov    -0xc(%ebp),%eax
421803:	8d 55 f8             	lea    -0x8(%ebp),%edx
421806:	52                   	push   %edx
421807:	50                   	push   %eax
421808:	8b 08                	mov    (%eax),%ecx
42180a:	ff 51 20             	call   *0x20(%ecx)
42180d:	8b f0                	mov    %eax,%esi
42180f:	85 f6                	test   %esi,%esi
421811:	79 07                	jns    0x42181a
421813:	68 0c b5 45 00       	push   $0x45b50c
421818:	eb d9                	jmp    0x4217f3
42181a:	8b 45 f8             	mov    -0x8(%ebp),%eax
42181d:	53                   	push   %ebx
42181e:	57                   	push   %edi
42181f:	85 c0                	test   %eax,%eax
421821:	0f 84 f7 00 00 00    	je     0x42191e
421827:	6a 01                	push   $0x1
421829:	c1 e0 04             	shl    $0x4,%eax
42182c:	50                   	push   %eax
42182d:	e8 a2 20 fe ff       	call   0x4038d4
421832:	8b 4d 0c             	mov    0xc(%ebp),%ecx
421835:	89 81 bc 00 00 00    	mov    %eax,0xbc(%ecx)
42183b:	85 c0                	test   %eax,%eax
42183d:	75 1f                	jne    0x42185e
42183f:	be 0e 00 07 80       	mov    $0x8007000e,%esi
421844:	56                   	push   %esi
421845:	68 cb 02 00 00       	push   $0x2cb
42184a:	68 20 af 45 00       	push   $0x45af20
42184f:	e8 7f 1f fe ff       	call   0x4037d3
421854:	68 38 b5 45 00       	push   $0x45b538
421859:	e9 08 01 00 00       	jmp    0x421966
42185e:	8b 45 f8             	mov    -0x8(%ebp),%eax
421861:	33 db                	xor    %ebx,%ebx
421863:	89 81 c0 00 00 00    	mov    %eax,0xc0(%ecx)
421869:	85 c0                	test   %eax,%eax
42186b:	0f 84 ad 00 00 00    	je     0x42191e
421871:	33 c0                	xor    %eax,%eax
421873:	89 45 08             	mov    %eax,0x8(%ebp)
421876:	8b b9 bc 00 00 00    	mov    0xbc(%ecx),%edi
42187c:	03 f8                	add    %eax,%edi
42187e:	8d 45 fc             	lea    -0x4(%ebp),%eax
421881:	6a 00                	push   $0x0
421883:	50                   	push   %eax
421884:	ff 75 f4             	push   -0xc(%ebp)
421887:	e8 d4 1e 02 00       	call   0x443760
42188c:	8b f0                	mov    %eax,%esi
42188e:	85 f6                	test   %esi,%esi
421890:	0f 88 cb 00 00 00    	js     0x421961
421896:	57                   	push   %edi
421897:	68 a8 b5 45 00       	push   $0x45b5a8
42189c:	ff 75 fc             	push   -0x4(%ebp)
42189f:	e8 23 19 02 00       	call   0x4431c7
4218a4:	8b f0                	mov    %eax,%esi
4218a6:	85 f6                	test   %esi,%esi
4218a8:	0f 88 ac 00 00 00    	js     0x42195a
4218ae:	8d 47 04             	lea    0x4(%edi),%eax
4218b1:	50                   	push   %eax
4218b2:	68 e8 b5 45 00       	push   $0x45b5e8
4218b7:	ff 75 fc             	push   -0x4(%ebp)
4218ba:	e8 08 19 02 00       	call   0x4431c7
4218bf:	8b f0                	mov    %eax,%esi
4218c1:	85 f6                	test   %esi,%esi
4218c3:	0f 88 8a 00 00 00    	js     0x421953
4218c9:	8d 47 08             	lea    0x8(%edi),%eax
4218cc:	50                   	push   %eax
4218cd:	68 30 b6 45 00       	push   $0x45b630
4218d2:	ff 75 fc             	push   -0x4(%ebp)
4218d5:	e8 ed 18 02 00       	call   0x4431c7
4218da:	8b f0                	mov    %eax,%esi
4218dc:	85 f6                	test   %esi,%esi
4218de:	78 6c                	js     0x42194c
4218e0:	8d 47 0c             	lea    0xc(%edi),%eax
4218e3:	50                   	push   %eax
4218e4:	68 0c dc 44 00       	push   $0x44dc0c
4218e9:	ff 75 fc             	push   -0x4(%ebp)
4218ec:	e8 d6 18 02 00       	call   0x4431c7
4218f1:	8b f0                	mov    %eax,%esi
4218f3:	85 f6                	test   %esi,%esi
4218f5:	78 4e                	js     0x421945
4218f7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4218fa:	85 c9                	test   %ecx,%ecx
4218fc:	74 0a                	je     0x421908
4218fe:	8b 01                	mov    (%ecx),%eax
421900:	51                   	push   %ecx
421901:	ff 50 08             	call   *0x8(%eax)
421904:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
421908:	8b 45 08             	mov    0x8(%ebp),%eax
42190b:	43                   	inc    %ebx
42190c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42190f:	83 c0 10             	add    $0x10,%eax
421912:	89 45 08             	mov    %eax,0x8(%ebp)
421915:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
421918:	0f 82 58 ff ff ff    	jb     0x421876
42191e:	33 f6                	xor    %esi,%esi
421920:	5f                   	pop    %edi
421921:	5b                   	pop    %ebx
421922:	8b 4d f4             	mov    -0xc(%ebp),%ecx
421925:	85 c9                	test   %ecx,%ecx
421927:	74 06                	je     0x42192f
421929:	8b 01                	mov    (%ecx),%eax
42192b:	51                   	push   %ecx
42192c:	ff 50 08             	call   *0x8(%eax)
42192f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
421932:	85 c9                	test   %ecx,%ecx
421934:	74 06                	je     0x42193c
421936:	8b 01                	mov    (%ecx),%eax
421938:	51                   	push   %ecx
421939:	ff 50 08             	call   *0x8(%eax)
42193c:	8b c6                	mov    %esi,%eax
42193e:	5e                   	pop    %esi
42193f:	8b e5                	mov    %ebp,%esp
421941:	5d                   	pop    %ebp
421942:	c2 08 00             	ret    $0x8
421945:	68 1c e2 44 00       	push   $0x44e21c
42194a:	eb 1a                	jmp    0x421966
42194c:	68 50 b6 45 00       	push   $0x45b650
421951:	eb 13                	jmp    0x421966
421953:	68 0c b6 45 00       	push   $0x45b60c
421958:	eb 0c                	jmp    0x421966
42195a:	68 c8 b5 45 00       	push   $0x45b5c8
42195f:	eb 05                	jmp    0x421966
421961:	68 78 b5 45 00       	push   $0x45b578
421966:	56                   	push   %esi
421967:	e8 c3 e7 01 00       	call   0x44012f
42196c:	59                   	pop    %ecx
42196d:	59                   	pop    %ecx
42196e:	eb b0                	jmp    0x421920
421970:	55                   	push   %ebp
421971:	8b ec                	mov    %esp,%ebp
421973:	83 ec 14             	sub    $0x14,%esp
421976:	56                   	push   %esi
421977:	57                   	push   %edi
421978:	8d 45 f0             	lea    -0x10(%ebp),%eax
42197b:	33 ff                	xor    %edi,%edi
42197d:	50                   	push   %eax
42197e:	68 7c b3 45 00       	push   $0x45b37c
421983:	ff 75 08             	push   0x8(%ebp)
421986:	89 7d f0             	mov    %edi,-0x10(%ebp)
421989:	89 7d f8             	mov    %edi,-0x8(%ebp)
42198c:	89 7d f4             	mov    %edi,-0xc(%ebp)
42198f:	89 7d fc             	mov    %edi,-0x4(%ebp)
421992:	e8 6c 1e 02 00       	call   0x443803
421997:	8b f0                	mov    %eax,%esi
421999:	85 f6                	test   %esi,%esi
42199b:	79 12                	jns    0x4219af
42199d:	68 90 b3 45 00       	push   $0x45b390
4219a2:	56                   	push   %esi
4219a3:	e8 87 e7 01 00       	call   0x44012f
4219a8:	59                   	pop    %ecx
4219a9:	59                   	pop    %ecx
4219aa:	e9 e0 01 00 00       	jmp    0x421b8f
4219af:	8b 45 f0             	mov    -0x10(%ebp),%eax
4219b2:	8d 55 f4             	lea    -0xc(%ebp),%edx
4219b5:	52                   	push   %edx
4219b6:	50                   	push   %eax
4219b7:	8b 08                	mov    (%eax),%ecx
4219b9:	ff 51 20             	call   *0x20(%ecx)
4219bc:	8b f0                	mov    %eax,%esi
4219be:	85 f6                	test   %esi,%esi
4219c0:	79 07                	jns    0x4219c9
4219c2:	68 b4 b3 45 00       	push   $0x45b3b4
4219c7:	eb d9                	jmp    0x4219a2
4219c9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4219cc:	53                   	push   %ebx
4219cd:	85 c0                	test   %eax,%eax
4219cf:	0f 84 b7 01 00 00    	je     0x421b8c
4219d5:	6b c0 0c             	imul   $0xc,%eax,%eax
4219d8:	6a 01                	push   $0x1
4219da:	50                   	push   %eax
4219db:	e8 f4 1e fe ff       	call   0x4038d4
4219e0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4219e3:	89 81 b4 00 00 00    	mov    %eax,0xb4(%ecx)
4219e9:	85 c0                	test   %eax,%eax
4219eb:	75 1f                	jne    0x421a0c
4219ed:	be 0e 00 07 80       	mov    $0x8007000e,%esi
4219f2:	56                   	push   %esi
4219f3:	68 72 02 00 00       	push   $0x272
4219f8:	68 20 af 45 00       	push   $0x45af20
4219fd:	e8 d1 1d fe ff       	call   0x4037d3
421a02:	68 d8 b3 45 00       	push   $0x45b3d8
421a07:	e9 76 01 00 00       	jmp    0x421b82
421a0c:	8b 45 f4             	mov    -0xc(%ebp),%eax
421a0f:	89 81 b8 00 00 00    	mov    %eax,0xb8(%ecx)
421a15:	89 7d 08             	mov    %edi,0x8(%ebp)
421a18:	85 c0                	test   %eax,%eax
421a1a:	0f 84 6c 01 00 00    	je     0x421b8c
421a20:	8b 1d 28 b1 44 00    	mov    0x44b128,%ebx
421a26:	8b d7                	mov    %edi,%edx