42a694:	8b 8b c8 00 00 00    	mov    0xc8(%ebx),%ecx
42a69a:	8b 44 d0 04          	mov    0x4(%eax,%edx,8),%eax
42a69e:	ff 76 0c             	push   0xc(%esi)
42a6a1:	8b 11                	mov    (%ecx),%edx
42a6a3:	ff 30                	push   (%eax)
42a6a5:	51                   	push   %ecx
42a6a6:	ff 92 b8 00 00 00    	call   *0xb8(%edx)
42a6ac:	50                   	push   %eax
42a6ad:	6a 01                	push   $0x1
42a6af:	ff 75 14             	push   0x14(%ebp)
42a6b2:	8d 83 b8 00 00 00    	lea    0xb8(%ebx),%eax
42a6b8:	50                   	push   %eax
42a6b9:	e8 84 2e fe ff       	call   0x40d542
42a6be:	8b f0                	mov    %eax,%esi
42a6c0:	85 f6                	test   %esi,%esi
42a6c2:	78 49                	js     0x42a70d
42a6c4:	8b 55 08             	mov    0x8(%ebp),%edx
42a6c7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42a6ca:	42                   	inc    %edx
42a6cb:	89 55 08             	mov    %edx,0x8(%ebp)
42a6ce:	3b 51 2c             	cmp    0x2c(%ecx),%edx
42a6d1:	72 bb                	jb     0x42a68e
42a6d3:	8d 83 88 00 00 00    	lea    0x88(%ebx),%eax
42a6d9:	ff 75 20             	push   0x20(%ebp)
42a6dc:	ff 75 10             	push   0x10(%ebp)
42a6df:	68 5b b1 42 00       	push   $0x42b15b
42a6e4:	ff 75 14             	push   0x14(%ebp)
42a6e7:	50                   	push   %eax
42a6e8:	51                   	push   %ecx
42a6e9:	ff b3 f0 00 00 00    	push   0xf0(%ebx)
42a6ef:	39 79 18             	cmp    %edi,0x18(%ecx)
42a6f2:	74 30                	je     0x42a724
42a6f4:	ff b3 b0 04 00 00    	push   0x4b0(%ebx)
42a6fa:	e8 66 2f ff ff       	call   0x41d665
42a6ff:	8b f8                	mov    %eax,%edi
42a701:	85 ff                	test   %edi,%edi
42a703:	79 31                	jns    0x42a736
42a705:	68 84 f3 45 00       	push   $0x45f384
42a70a:	57                   	push   %edi
42a70b:	eb 77                	jmp    0x42a784
42a70d:	56                   	push   %esi
42a70e:	68 ad 07 00 00       	push   $0x7ad
42a713:	68 74 e9 45 00       	push   $0x45e974
42a718:	e8 b6 90 fd ff       	call   0x4037d3
42a71d:	68 64 f3 45 00       	push   $0x45f364
42a722:	eb 5f                	jmp    0x42a783
42a724:	e8 90 b7 ff ff       	call   0x425eb9
42a729:	8b f8                	mov    %eax,%edi
42a72b:	85 ff                	test   %edi,%edi
42a72d:	79 07                	jns    0x42a736
42a72f:	68 b4 f3 45 00       	push   $0x45f3b4
42a734:	eb d4                	jmp    0x42a70a
42a736:	8b 4d 10             	mov    0x10(%ebp),%ecx
42a739:	83 c8 ff             	or     $0xffffffff,%eax
42a73c:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
42a740:	6a 01                	push   $0x1
42a742:	5a                   	pop    %edx
42a743:	0f 45 d0             	cmovne %eax,%edx
42a746:	8b 41 14             	mov    0x14(%ecx),%eax
42a749:	01 51 0c             	add    %edx,0xc(%ecx)
42a74c:	01 10                	add    %edx,(%eax)
42a74e:	8b 41 14             	mov    0x14(%ecx),%eax
42a751:	ff 30                	push   (%eax)
42a753:	8d 83 b8 00 00 00    	lea    0xb8(%ebx),%eax
42a759:	ff b3 44 04 00 00    	push   0x444(%ebx)
42a75f:	ff 75 14             	push   0x14(%ebp)
42a762:	50                   	push   %eax
42a763:	e8 5b 0b 00 00       	call   0x42b2c3
42a768:	8b f0                	mov    %eax,%esi
42a76a:	85 f6                	test   %esi,%esi
42a76c:	79 1d                	jns    0x42a78b
42a76e:	56                   	push   %esi
42a76f:	68 c0 07 00 00       	push   $0x7c0
42a774:	68 74 e9 45 00       	push   $0x45e974
42a779:	e8 55 90 fd ff       	call   0x4037d3
42a77e:	68 e0 f3 45 00       	push   $0x45f3e0
42a783:	56                   	push   %esi
42a784:	e8 a6 59 01 00       	call   0x44012f
42a789:	59                   	pop    %ecx
42a78a:	59                   	pop    %ecx
42a78b:	ff 75 1c             	push   0x1c(%ebp)
42a78e:	8b 45 0c             	mov    0xc(%ebp),%eax
42a791:	ff 75 18             	push   0x18(%ebp)
42a794:	ff 75 20             	push   0x20(%ebp)
42a797:	ff 75 14             	push   0x14(%ebp)
42a79a:	57                   	push   %edi
42a79b:	56                   	push   %esi
42a79c:	ff 70 08             	push   0x8(%eax)
42a79f:	8d 83 88 00 00 00    	lea    0x88(%ebx),%eax
42a7a5:	50                   	push   %eax
42a7a6:	8d 83 b8 00 00 00    	lea    0xb8(%ebx),%eax
42a7ac:	50                   	push   %eax
42a7ad:	e8 f1 01 00 00       	call   0x42a9a3
42a7b2:	5f                   	pop    %edi
42a7b3:	5e                   	pop    %esi
42a7b4:	5b                   	pop    %ebx
42a7b5:	5d                   	pop    %ebp
42a7b6:	c2 1c 00             	ret    $0x1c
42a7b9:	55                   	push   %ebp
42a7ba:	8b ec                	mov    %esp,%ebp
42a7bc:	83 ec 10             	sub    $0x10,%esp
42a7bf:	33 c0                	xor    %eax,%eax
42a7c1:	53                   	push   %ebx
42a7c2:	56                   	push   %esi
42a7c3:	57                   	push   %edi
42a7c4:	8d 7d f0             	lea    -0x10(%ebp),%edi
42a7c7:	33 db                	xor    %ebx,%ebx
42a7c9:	ab                   	stos   %eax,%es:(%edi)
42a7ca:	ab                   	stos   %eax,%es:(%edi)
42a7cb:	ab                   	stos   %eax,%es:(%edi)
42a7cc:	ab                   	stos   %eax,%es:(%edi)
42a7cd:	8b 45 0c             	mov    0xc(%ebp),%eax
42a7d0:	8b 7d 14             	mov    0x14(%ebp),%edi
42a7d3:	8b 48 08             	mov    0x8(%eax),%ecx
42a7d6:	39 59 78             	cmp    %ebx,0x78(%ecx)
42a7d9:	7d 1b                	jge    0x42a7f6
42a7db:	ff 71 78             	push   0x78(%ecx)
42a7de:	ff 31                	push   (%ecx)
42a7e0:	68 35 01 00 a0       	push   $0xa0000135
42a7e5:	6a 02                	push   $0x2
42a7e7:	e8 23 ad fd ff       	call   0x40550f
42a7ec:	83 c4 10             	add    $0x10,%esp
42a7ef:	8b f3                	mov    %ebx,%esi
42a7f1:	e9 7c 01 00 00       	jmp    0x42a972
42a7f6:	8b 45 10             	mov    0x10(%ebp),%eax
42a7f9:	8b 75 08             	mov    0x8(%ebp),%esi
42a7fc:	89 48 08             	mov    %ecx,0x8(%eax)
42a7ff:	33 c0                	xor    %eax,%eax
42a801:	8b 8e c8 00 00 00    	mov    0xc8(%esi),%ecx
42a807:	85 ff                	test   %edi,%edi
42a809:	0f 94 c0             	sete   %al
42a80c:	50                   	push   %eax
42a80d:	8b 45 0c             	mov    0xc(%ebp),%eax
42a810:	8b 11                	mov    (%ecx),%edx
42a812:	8b 40 08             	mov    0x8(%eax),%eax
42a815:	ff 30                	push   (%eax)
42a817:	51                   	push   %ecx
42a818:	ff 92 b4 00 00 00    	call   *0xb4(%edx)
42a81e:	50                   	push   %eax
42a81f:	6a 01                	push   $0x1
42a821:	8d 8e b8 00 00 00    	lea    0xb8(%esi),%ecx
42a827:	57                   	push   %edi
42a828:	51                   	push   %ecx
42a829:	89 4d 14             	mov    %ecx,0x14(%ebp)
42a82c:	e8 11 2d fe ff       	call   0x40d542
42a831:	8b f0                	mov    %eax,%esi
42a833:	85 f6                	test   %esi,%esi
42a835:	79 1a                	jns    0x42a851
42a837:	56                   	push   %esi
42a838:	68 e3 07 00 00       	push   $0x7e3
42a83d:	68 74 e9 45 00       	push   $0x45e974
42a842:	e8 8c 8f fd ff       	call   0x4037d3
42a847:	68 0c f4 45 00       	push   $0x45f40c
42a84c:	e9 19 01 00 00       	jmp    0x42a96a
42a851:	ff 75 10             	push   0x10(%ebp)
42a854:	33 f6                	xor    %esi,%esi
42a856:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
42a85d:	46                   	inc    %esi
42a85e:	8b c7                	mov    %edi,%eax
42a860:	f7 d8                	neg    %eax
42a862:	89 75 f4             	mov    %esi,-0xc(%ebp)
42a865:	1b c0                	sbb    %eax,%eax
42a867:	83 e0 64             	and    $0x64,%eax
42a86a:	89 45 f8             	mov    %eax,-0x8(%ebp)
42a86d:	8d 45 f0             	lea    -0x10(%ebp),%eax
42a870:	50                   	push   %eax
42a871:	e8 89 03 00 00       	call   0x42abff
42a876:	50                   	push   %eax
42a877:	56                   	push   %esi
42a878:	57                   	push   %edi
42a879:	ff 75 14             	push   0x14(%ebp)
42a87c:	e8 c1 2c fe ff       	call   0x40d542
42a881:	8b f0                	mov    %eax,%esi
42a883:	85 f6                	test   %esi,%esi
42a885:	79 1a                	jns    0x42a8a1
42a887:	56                   	push   %esi
42a888:	68 ea 07 00 00       	push   $0x7ea
42a88d:	68 74 e9 45 00       	push   $0x45e974
42a892:	e8 3c 8f fd ff       	call   0x4037d3
42a897:	68 34 f4 45 00       	push   $0x45f434
42a89c:	e9 c9 00 00 00       	jmp    0x42a96a
42a8a1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42a8a4:	8b 41 08             	mov    0x8(%ecx),%eax
42a8a7:	39 58 14             	cmp    %ebx,0x14(%eax)
42a8aa:	74 2f                	je     0x42a8db
42a8ac:	ff 75 24             	push   0x24(%ebp)
42a8af:	8b 45 08             	mov    0x8(%ebp),%eax
42a8b2:	ff 75 10             	push   0x10(%ebp)
42a8b5:	68 ff ab 42 00       	push   $0x42abff
42a8ba:	ff 75 18             	push   0x18(%ebp)
42a8bd:	57                   	push   %edi
42a8be:	51                   	push   %ecx
42a8bf:	ff b0 b0 04 00 00    	push   0x4b0(%eax)
42a8c5:	e8 8e 2f ff ff       	call   0x41d858
42a8ca:	8b d8                	mov    %eax,%ebx
42a8cc:	85 db                	test   %ebx,%ebx
42a8ce:	79 10                	jns    0x42a8e0
42a8d0:	68 50 f4 45 00       	push   $0x45f450
42a8d5:	53                   	push   %ebx
42a8d6:	e9 90 00 00 00       	jmp    0x42a96b
42a8db:	bb ff ff 00 80       	mov    $0x8000ffff,%ebx
42a8e0:	33 f6                	xor    %esi,%esi
42a8e2:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
42a8e9:	6a 64                	push   $0x64
42a8eb:	33 c9                	xor    %ecx,%ecx
42a8ed:	46                   	inc    %esi
42a8ee:	58                   	pop    %eax
42a8ef:	ff 75 10             	push   0x10(%ebp)
42a8f2:	85 ff                	test   %edi,%edi
42a8f4:	89 75 f4             	mov    %esi,-0xc(%ebp)
42a8f7:	0f 45 c1             	cmovne %ecx,%eax
42a8fa:	89 45 f8             	mov    %eax,-0x8(%ebp)
42a8fd:	8d 45 f0             	lea    -0x10(%ebp),%eax
42a900:	50                   	push   %eax
42a901:	e8 f9 02 00 00       	call   0x42abff
42a906:	50                   	push   %eax
42a907:	56                   	push   %esi
42a908:	57                   	push   %edi
42a909:	ff 75 14             	push   0x14(%ebp)
42a90c:	e8 31 2c fe ff       	call   0x40d542
42a911:	8b f0                	mov    %eax,%esi
42a913:	85 f6                	test   %esi,%esi
42a915:	79 0b                	jns    0x42a922
42a917:	56                   	push   %esi
42a918:	68 fd 07 00 00       	push   $0x7fd
42a91d:	e9 6b ff ff ff       	jmp    0x42a88d
42a922:	8b 4d 10             	mov    0x10(%ebp),%ecx
42a925:	83 c8 ff             	or     $0xffffffff,%eax
42a928:	6a 01                	push   $0x1
42a92a:	5a                   	pop    %edx
42a92b:	85 ff                	test   %edi,%edi
42a92d:	0f 45 d0             	cmovne %eax,%edx
42a930:	8b 41 14             	mov    0x14(%ecx),%eax
42a933:	01 51 0c             	add    %edx,0xc(%ecx)
42a936:	01 10                	add    %edx,(%eax)
42a938:	8b 41 14             	mov    0x14(%ecx),%eax
42a93b:	ff 30                	push   (%eax)
42a93d:	8b 45 08             	mov    0x8(%ebp),%eax
42a940:	ff b0 44 04 00 00    	push   0x444(%eax)
42a946:	57                   	push   %edi
42a947:	ff 75 14             	push   0x14(%ebp)
42a94a:	e8 74 09 00 00       	call   0x42b2c3
42a94f:	8b f0                	mov    %eax,%esi
42a951:	85 f6                	test   %esi,%esi
42a953:	79 1d                	jns    0x42a972
42a955:	56                   	push   %esi
42a956:	68 03 08 00 00       	push   $0x803
42a95b:	68 74 e9 45 00       	push   $0x45e974
42a960:	e8 6e 8e fd ff       	call   0x4037d3
42a965:	68 80 f4 45 00       	push   $0x45f480
42a96a:	56                   	push   %esi
42a96b:	e8 bf 57 01 00       	call   0x44012f
42a970:	59                   	pop    %ecx
42a971:	59                   	pop    %ecx
42a972:	ff 75 20             	push   0x20(%ebp)
42a975:	8b 45 0c             	mov    0xc(%ebp),%eax
42a978:	ff 75 1c             	push   0x1c(%ebp)
42a97b:	8b 4d 08             	mov    0x8(%ebp),%ecx
42a97e:	ff 75 24             	push   0x24(%ebp)
42a981:	57                   	push   %edi
42a982:	53                   	push   %ebx
42a983:	56                   	push   %esi
42a984:	ff 70 08             	push   0x8(%eax)
42a987:	8d 81 88 00 00 00    	lea    0x88(%ecx),%eax
42a98d:	50                   	push   %eax
42a98e:	8d 81 b8 00 00 00    	lea    0xb8(%ecx),%eax
42a994:	50                   	push   %eax
42a995:	e8 09 00 00 00       	call   0x42a9a3
42a99a:	5f                   	pop    %edi
42a99b:	5e                   	pop    %esi
42a99c:	5b                   	pop    %ebx
42a99d:	8b e5                	mov    %ebp,%esp
42a99f:	5d                   	pop    %ebp
42a9a0:	c2 20 00             	ret    $0x20
42a9a3:	55                   	push   %ebp
42a9a4:	8b ec                	mov    %esp,%ebp
42a9a6:	8b 45 14             	mov    0x14(%ebp),%eax
42a9a9:	85 c0                	test   %eax,%eax
42a9ab:	53                   	push   %ebx
42a9ac:	8b 5d 18             	mov    0x18(%ebp),%ebx
42a9af:	56                   	push   %esi
42a9b0:	8b f3                	mov    %ebx,%esi
42a9b2:	57                   	push   %edi
42a9b3:	8b 7d 10             	mov    0x10(%ebp),%edi
42a9b6:	0f 48 f0             	cmovs  %eax,%esi
42a9b9:	78 0f                	js     0x42a9ca
42a9bb:	85 db                	test   %ebx,%ebx
42a9bd:	79 0b                	jns    0x42a9ca
42a9bf:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
42a9c3:	75 05                	jne    0x42a9ca
42a9c5:	6a 05                	push   $0x5
42a9c7:	5a                   	pop    %edx
42a9c8:	eb 02                	jmp    0x42a9cc
42a9ca:	33 d2                	xor    %edx,%edx
42a9cc:	8b 45 08             	mov    0x8(%ebp),%eax
42a9cf:	52                   	push   %edx
42a9d0:	8b 55 20             	mov    0x20(%ebp),%edx
42a9d3:	8b 40 10             	mov    0x10(%eax),%eax
42a9d6:	ff 32                	push   (%edx)
42a9d8:	8b 08                	mov    (%eax),%ecx
42a9da:	56                   	push   %esi
42a9db:	ff 37                	push   (%edi)
42a9dd:	50                   	push   %eax
42a9de:	ff 91 c8 00 00 00    	call   *0xc8(%ecx)
42a9e4:	8b 55 20             	mov    0x20(%ebp),%edx
42a9e7:	89 45 18             	mov    %eax,0x18(%ebp)
42a9ea:	83 f8 66             	cmp    $0x66,%eax
42a9ed:	75 06                	jne    0x42a9f5
42a9ef:	c7 02 02 00 00 00    	movl   $0x2,(%edx)
42a9f5:	85 db                	test   %ebx,%ebx
42a9f7:	79 0a                	jns    0x42aa03
42a9f9:	83 f8 04             	cmp    $0x4,%eax
42a9fc:	75 05                	jne    0x42aa03
42a9fe:	33 c9                	xor    %ecx,%ecx
42aa00:	41                   	inc    %ecx
42aa01:	eb 02                	jmp    0x42aa05
42aa03:	33 c9                	xor    %ecx,%ecx
42aa05:	8b 7d 24             	mov    0x24(%ebp),%edi
42aa08:	89 0f                	mov    %ecx,(%edi)
42aa0a:	33 c9                	xor    %ecx,%ecx
42aa0c:	8b 7d 10             	mov    0x10(%ebp),%edi
42aa0f:	83 f8 67             	cmp    $0x67,%eax
42aa12:	8b 45 28             	mov    0x28(%ebp),%eax
42aa15:	0f 94 c1             	sete   %cl
42aa18:	89 08                	mov    %ecx,(%eax)
42aa1a:	83 3a 02             	cmpl   $0x2,(%edx)
42aa1d:	75 14                	jne    0x42aa33
42aa1f:	6a 01                	push   $0x1
42aa21:	ff 37                	push   (%edi)
42aa23:	68 6c c2 44 00       	push   $0x44c26c
42aa28:	ff 75 0c             	push   0xc(%ebp)
42aa2b:	e8 67 d7 fd ff       	call   0x408197
42aa30:	8b 55 20             	mov    0x20(%ebp),%edx
42aa33:	8b 45 24             	mov    0x24(%ebp),%eax
42aa36:	83 38 00             	cmpl   $0x0,(%eax)
42aa39:	74 0a                	je     0x42aa45
42aa3b:	53                   	push   %ebx
42aa3c:	ff 37                	push   (%edi)
42aa3e:	68 5c 01 00 a0       	push   $0xa000015c
42aa43:	eb 1e                	jmp    0x42aa63
42aa45:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
42aa49:	7c 26                	jl     0x42aa71
42aa4b:	85 db                	test   %ebx,%ebx
42aa4d:	79 22                	jns    0x42aa71
42aa4f:	83 7d 18 05          	cmpl   $0x5,0x18(%ebp)
42aa53:	75 1c                	jne    0x42aa71
42aa55:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
42aa59:	75 16                	jne    0x42aa71
42aa5b:	53                   	push   %ebx
42aa5c:	ff 37                	push   (%edi)