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)
42aa5e:	68 5e 01 00 a0       	push   $0xa000015e
42aa63:	6a 02                	push   $0x2
42aa65:	e8 a5 aa fd ff       	call   0x40550f
42aa6a:	83 c4 10             	add    $0x10,%esp
42aa6d:	33 f6                	xor    %esi,%esi
42aa6f:	eb 23                	jmp    0x42aa94
42aa71:	ff 32                	push   (%edx)
42aa73:	e8 ac 97 fe ff       	call   0x414224
42aa78:	50                   	push   %eax
42aa79:	56                   	push   %esi
42aa7a:	ff 37                	push   (%edi)
42aa7c:	ff 75 1c             	push   0x1c(%ebp)
42aa7f:	e8 1e 98 fe ff       	call   0x4142a2
42aa84:	50                   	push   %eax
42aa85:	68 3f 01 00 20       	push   $0x2000013f
42aa8a:	6a 02                	push   $0x2
42aa8c:	e8 7e aa fd ff       	call   0x40550f
42aa91:	83 c4 18             	add    $0x18,%esp
42aa94:	5f                   	pop    %edi
42aa95:	8b c6                	mov    %esi,%eax
42aa97:	5e                   	pop    %esi
42aa98:	5b                   	pop    %ebx
42aa99:	5d                   	pop    %ebp
42aa9a:	c2 24 00             	ret    $0x24
42aa9d:	55                   	push   %ebp
42aa9e:	8b ec                	mov    %esp,%ebp
42aaa0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42aaa3:	56                   	push   %esi
42aaa4:	51                   	push   %ecx
42aaa5:	8b 41 08             	mov    0x8(%ecx),%eax
42aaa8:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
42aaac:	74 1b                	je     0x42aac9
42aaae:	8b 45 08             	mov    0x8(%ebp),%eax
42aab1:	ff b0 b0 04 00 00    	push   0x4b0(%eax)
42aab7:	e8 78 2f ff ff       	call   0x41da34
42aabc:	8b f0                	mov    %eax,%esi
42aabe:	85 f6                	test   %esi,%esi
42aac0:	79 1f                	jns    0x42aae1
42aac2:	68 b0 f4 45 00       	push   $0x45f4b0
42aac7:	eb 10                	jmp    0x42aad9
42aac9:	e8 c2 d1 ff ff       	call   0x427c90
42aace:	8b f0                	mov    %eax,%esi
42aad0:	85 f6                	test   %esi,%esi
42aad2:	79 0d                	jns    0x42aae1
42aad4:	68 f0 f4 45 00       	push   $0x45f4f0
42aad9:	56                   	push   %esi
42aada:	e8 50 56 01 00       	call   0x44012f
42aadf:	59                   	pop    %ecx
42aae0:	59                   	pop    %ecx
42aae1:	8b c6                	mov    %esi,%eax
42aae3:	5e                   	pop    %esi
42aae4:	5d                   	pop    %ebp
42aae5:	c2 0c 00             	ret    $0xc
42aae8:	55                   	push   %ebp
42aae9:	8b ec                	mov    %esp,%ebp
42aaeb:	83 ec 5c             	sub    $0x5c,%esp
42aaee:	56                   	push   %esi
42aaef:	57                   	push   %edi
42aaf0:	6a 58                	push   $0x58
42aaf2:	8d 45 a4             	lea    -0x5c(%ebp),%eax
42aaf5:	6a 00                	push   $0x0
42aaf7:	50                   	push   %eax
42aaf8:	e8 73 4b 00 00       	call   0x42f670
42aafd:	8b 7d 0c             	mov    0xc(%ebp),%edi
42ab00:	83 c4 0c             	add    $0xc,%esp
42ab03:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42ab07:	83 c9 ff             	or     $0xffffffff,%ecx
42ab0a:	8b 45 08             	mov    0x8(%ebp),%eax
42ab0d:	ff 75 10             	push   0x10(%ebp)
42ab10:	83 7f 48 00          	cmpl   $0x0,0x48(%edi)
42ab14:	0f 44 c1             	cmove  %ecx,%eax
42ab17:	50                   	push   %eax
42ab18:	57                   	push   %edi
42ab19:	8d 45 a4             	lea    -0x5c(%ebp),%eax
42ab1c:	50                   	push   %eax
42ab1d:	e8 07 16 fe ff       	call   0x40c129
42ab22:	8b f0                	mov    %eax,%esi
42ab24:	85 f6                	test   %esi,%esi
42ab26:	79 12                	jns    0x42ab3a
42ab28:	ff 37                	push   (%edi)
42ab2a:	68 f0 eb 45 00       	push   $0x45ebf0
42ab2f:	56                   	push   %esi
42ab30:	e8 fa 55 01 00       	call   0x44012f
42ab35:	83 c4 0c             	add    $0xc,%esp
42ab38:	eb 71                	jmp    0x42abab
42ab3a:	53                   	push   %ebx
42ab3b:	eb 3e                	jmp    0x42ab7b
42ab3d:	33 db                	xor    %ebx,%ebx
42ab3f:	39 5d 18             	cmp    %ebx,0x18(%ebp)
42ab42:	76 28                	jbe    0x42ab6c
42ab44:	8b 75 14             	mov    0x14(%ebp),%esi
42ab47:	8b 46 04             	mov    0x4(%esi),%eax
42ab4a:	6a ff                	push   $0xffffffff
42ab4c:	ff 70 38             	push   0x38(%eax)
42ab4f:	6a ff                	push   $0xffffffff
42ab51:	ff 75 fc             	push   -0x4(%ebp)
42ab54:	6a 00                	push   $0x0
42ab56:	6a 7f                	push   $0x7f
42ab58:	ff 15 28 b1 44 00    	call   *0x44b128
42ab5e:	83 f8 02             	cmp    $0x2,%eax
42ab61:	74 69                	je     0x42abcc
42ab63:	43                   	inc    %ebx
42ab64:	83 c6 0c             	add    $0xc,%esi
42ab67:	3b 5d 18             	cmp    0x18(%ebp),%ebx
42ab6a:	72 db                	jb     0x42ab47
42ab6c:	8d 45 a4             	lea    -0x5c(%ebp),%eax
42ab6f:	50                   	push   %eax
42ab70:	e8 cf 17 fe ff       	call   0x40c344
42ab75:	8b f0                	mov    %eax,%esi
42ab77:	85 f6                	test   %esi,%esi
42ab79:	78 6f                	js     0x42abea
42ab7b:	8d 45 fc             	lea    -0x4(%ebp),%eax
42ab7e:	50                   	push   %eax
42ab7f:	8d 45 a4             	lea    -0x5c(%ebp),%eax
42ab82:	50                   	push   %eax
42ab83:	e8 80 15 fe ff       	call   0x40c108
42ab88:	85 c0                	test   %eax,%eax
42ab8a:	74 b1                	je     0x42ab3d
42ab8c:	33 f6                	xor    %esi,%esi
42ab8e:	3d 03 01 07 80       	cmp    $0x80070103,%eax
42ab93:	0f 45 f0             	cmovne %eax,%esi
42ab96:	85 f6                	test   %esi,%esi
42ab98:	79 10                	jns    0x42abaa
42ab9a:	ff 37                	push   (%edi)
42ab9c:	68 8c ec 45 00       	push   $0x45ec8c
42aba1:	56                   	push   %esi
42aba2:	e8 88 55 01 00       	call   0x44012f
42aba7:	83 c4 0c             	add    $0xc,%esp
42abaa:	5b                   	pop    %ebx
42abab:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
42abaf:	74 08                	je     0x42abb9
42abb1:	ff 75 fc             	push   -0x4(%ebp)
42abb4:	e8 36 a9 01 00       	call   0x4454ef
42abb9:	8d 45 a4             	lea    -0x5c(%ebp),%eax
42abbc:	50                   	push   %eax
42abbd:	e8 93 14 fe ff       	call   0x40c055
42abc2:	5f                   	pop    %edi
42abc3:	8b c6                	mov    %esi,%eax
42abc5:	5e                   	pop    %esi
42abc6:	8b e5                	mov    %ebp,%esp
42abc8:	5d                   	pop    %ebp
42abc9:	c2 14 00             	ret    $0x14
42abcc:	ff 76 08             	push   0x8(%esi)
42abcf:	8d 45 a4             	lea    -0x5c(%ebp),%eax
42abd2:	50                   	push   %eax
42abd3:	e8 ae 17 fe ff       	call   0x40c386
42abd8:	8b f0                	mov    %eax,%esi
42abda:	85 f6                	test   %esi,%esi
42abdc:	79 9d                	jns    0x42ab7b
42abde:	ff 37                	push   (%edi)
42abe0:	ff 75 fc             	push   -0x4(%ebp)
42abe3:	68 10 ec 45 00       	push   $0x45ec10
42abe8:	eb 0a                	jmp    0x42abf4
42abea:	ff 37                	push   (%edi)
42abec:	ff 75 fc             	push   -0x4(%ebp)
42abef:	68 48 ec 45 00       	push   $0x45ec48
42abf4:	56                   	push   %esi
42abf5:	e8 35 55 01 00       	call   0x44012f
42abfa:	83 c4 10             	add    $0x10,%esp
42abfd:	eb ab                	jmp    0x42abaa
42abff:	55                   	push   %ebp
42ac00:	8b ec                	mov    %esp,%ebp
42ac02:	53                   	push   %ebx
42ac03:	56                   	push   %esi
42ac04:	8b 75 0c             	mov    0xc(%ebp),%esi
42ac07:	33 db                	xor    %ebx,%ebx
42ac09:	57                   	push   %edi
42ac0a:	8b 7d 08             	mov    0x8(%ebp),%edi
42ac0d:	8b 07                	mov    (%edi),%eax
42ac0f:	83 e8 01             	sub    $0x1,%eax
42ac12:	74 51                	je     0x42ac65
42ac14:	83 e8 01             	sub    $0x1,%eax
42ac17:	74 20                	je     0x42ac39
42ac19:	83 e8 01             	sub    $0x1,%eax
42ac1c:	75 67                	jne    0x42ac85