42a740:	74 08                	je     0x42a74a
42a742:	83 e8 01             	sub    $0x1,%eax
42a745:	89 45 fc             	mov    %eax,-0x4(%ebp)
42a748:	75 e6                	jne    0x42a730
42a74a:	85 c0                	test   %eax,%eax
42a74c:	75 02                	jne    0x42a750
42a74e:	88 02                	mov    %al,(%edx)
42a750:	85 ff                	test   %edi,%edi
42a752:	75 b1                	jne    0x42a705
42a754:	83 fe ff             	cmp    $0xffffffff,%esi
42a757:	75 0d                	jne    0x42a766
42a759:	8b 45 0c             	mov    0xc(%ebp),%eax
42a75c:	6a 50                	push   $0x50
42a75e:	c6 44 01 ff 00       	movb   $0x0,-0x1(%ecx,%eax,1)
42a763:	58                   	pop    %eax
42a764:	eb 88                	jmp    0x42a6ee
42a766:	c6 01 00             	movb   $0x0,(%ecx)
42a769:	e8 03 1f ff ff       	call   0x41c671
42a76e:	6a 22                	push   $0x22
42a770:	e9 6f ff ff ff       	jmp    0x42a6e4
42a775:	8b ff                	mov    %edi,%edi
42a777:	55                   	push   %ebp
42a778:	8b ec                	mov    %esp,%ebp
42a77a:	5d                   	pop    %ebp
42a77b:	e9 3e ff ff ff       	jmp    0x42a6be
42a780:	55                   	push   %ebp
42a781:	8b ec                	mov    %esp,%ebp
42a783:	56                   	push   %esi
42a784:	33 c0                	xor    %eax,%eax
42a786:	50                   	push   %eax
42a787:	50                   	push   %eax
42a788:	50                   	push   %eax
42a789:	50                   	push   %eax
42a78a:	50                   	push   %eax
42a78b:	50                   	push   %eax
42a78c:	50                   	push   %eax
42a78d:	50                   	push   %eax
42a78e:	8b 55 0c             	mov    0xc(%ebp),%edx
42a791:	8d 49 00             	lea    0x0(%ecx),%ecx
42a794:	8a 02                	mov    (%edx),%al
42a796:	0a c0                	or     %al,%al
42a798:	74 09                	je     0x42a7a3
42a79a:	83 c2 01             	add    $0x1,%edx
42a79d:	0f ab 04 24          	bts    %eax,(%esp)
42a7a1:	eb f1                	jmp    0x42a794
42a7a3:	8b 75 08             	mov    0x8(%ebp),%esi
42a7a6:	8b ff                	mov    %edi,%edi
42a7a8:	8a 06                	mov    (%esi),%al
42a7aa:	0a c0                	or     %al,%al
42a7ac:	74 0c                	je     0x42a7ba
42a7ae:	83 c6 01             	add    $0x1,%esi
42a7b1:	0f a3 04 24          	bt     %eax,(%esp)
42a7b5:	73 f1                	jae    0x42a7a8
42a7b7:	8d 46 ff             	lea    -0x1(%esi),%eax
42a7ba:	83 c4 20             	add    $0x20,%esp
42a7bd:	5e                   	pop    %esi
42a7be:	c9                   	leave
42a7bf:	c3                   	ret
42a7c0:	8b ff                	mov    %edi,%edi
42a7c2:	55                   	push   %ebp
42a7c3:	8b ec                	mov    %esp,%ebp
42a7c5:	6a 00                	push   $0x0
42a7c7:	ff 75 0c             	push   0xc(%ebp)
42a7ca:	ff 75 08             	push   0x8(%ebp)
42a7cd:	e8 05 00 00 00       	call   0x42a7d7
42a7d2:	83 c4 0c             	add    $0xc,%esp
42a7d5:	5d                   	pop    %ebp
42a7d6:	c3                   	ret
42a7d7:	8b ff                	mov    %edi,%edi
42a7d9:	55                   	push   %ebp
42a7da:	8b ec                	mov    %esp,%ebp
42a7dc:	83 ec 10             	sub    $0x10,%esp
42a7df:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42a7e3:	75 14                	jne    0x42a7f9
42a7e5:	e8 87 1e ff ff       	call   0x41c671
42a7ea:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42a7f0:	e8 f9 2b fe ff       	call   0x40d3ee
42a7f5:	33 c0                	xor    %eax,%eax
42a7f7:	c9                   	leave
42a7f8:	c3                   	ret
42a7f9:	56                   	push   %esi
42a7fa:	8b 75 0c             	mov    0xc(%ebp),%esi
42a7fd:	85 f6                	test   %esi,%esi
42a7ff:	75 12                	jne    0x42a813
42a801:	e8 6b 1e ff ff       	call   0x41c671
42a806:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42a80c:	e8 dd 2b fe ff       	call   0x40d3ee
42a811:	eb 05                	jmp    0x42a818
42a813:	39 75 08             	cmp    %esi,0x8(%ebp)
42a816:	72 04                	jb     0x42a81c
42a818:	33 c0                	xor    %eax,%eax
42a81a:	eb 45                	jmp    0x42a861
42a81c:	ff 75 10             	push   0x10(%ebp)
42a81f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42a822:	e8 cd 89 fe ff       	call   0x4131f4
42a827:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42a82a:	8d 56 ff             	lea    -0x1(%esi),%edx
42a82d:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
42a831:	74 1c                	je     0x42a84f
42a833:	4a                   	dec    %edx
42a834:	39 55 08             	cmp    %edx,0x8(%ebp)
42a837:	77 0a                	ja     0x42a843
42a839:	0f b6 02             	movzbl (%edx),%eax
42a83c:	f6 44 08 19 04       	testb  $0x4,0x19(%eax,%ecx,1)
42a841:	75 f0                	jne    0x42a833
42a843:	8b c6                	mov    %esi,%eax
42a845:	2b c2                	sub    %edx,%eax
42a847:	8b d6                	mov    %esi,%edx
42a849:	83 e0 01             	and    $0x1,%eax
42a84c:	2b d0                	sub    %eax,%edx
42a84e:	4a                   	dec    %edx
42a84f:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
42a853:	74 0a                	je     0x42a85f
42a855:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42a858:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
42a85f:	8b c2                	mov    %edx,%eax
42a861:	5e                   	pop    %esi
42a862:	c9                   	leave
42a863:	c3                   	ret
42a864:	e8 10 82 ff ff       	call   0x422a79
42a869:	33 c9                	xor    %ecx,%ecx
42a86b:	84 c0                	test   %al,%al
42a86d:	0f 94 c1             	sete   %cl
42a870:	8b c1                	mov    %ecx,%eax
42a872:	c3                   	ret
42a873:	8b ff                	mov    %edi,%edi
42a875:	55                   	push   %ebp
42a876:	8b ec                	mov    %esp,%ebp
42a878:	83 3d b8 f7 43 00 00 	cmpl   $0x0,0x43f7b8
42a87f:	56                   	push   %esi
42a880:	75 48                	jne    0x42a8ca
42a882:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42a886:	75 17                	jne    0x42a89f
42a888:	e8 e4 1d ff ff       	call   0x41c671
42a88d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42a893:	e8 56 2b fe ff       	call   0x40d3ee
42a898:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
42a89d:	eb 3e                	jmp    0x42a8dd
42a89f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
42a8a3:	74 e3                	je     0x42a888
42a8a5:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
42a8aa:	39 75 10             	cmp    %esi,0x10(%ebp)
42a8ad:	76 14                	jbe    0x42a8c3
42a8af:	e8 bd 1d ff ff       	call   0x41c671
42a8b4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42a8ba:	e8 2f 2b fe ff       	call   0x40d3ee
42a8bf:	8b c6                	mov    %esi,%eax
42a8c1:	eb 1a                	jmp    0x42a8dd
42a8c3:	5e                   	pop    %esi
42a8c4:	5d                   	pop    %ebp
42a8c5:	e9 38 dc ff ff       	jmp    0x428502
42a8ca:	6a 00                	push   $0x0
42a8cc:	ff 75 10             	push   0x10(%ebp)
42a8cf:	ff 75 0c             	push   0xc(%ebp)
42a8d2:	ff 75 08             	push   0x8(%ebp)
42a8d5:	e8 06 00 00 00       	call   0x42a8e0
42a8da:	83 c4 10             	add    $0x10,%esp
42a8dd:	5e                   	pop    %esi
42a8de:	5d                   	pop    %ebp
42a8df:	c3                   	ret
42a8e0:	8b ff                	mov    %edi,%edi
42a8e2:	55                   	push   %ebp
42a8e3:	8b ec                	mov    %esp,%ebp
42a8e5:	83 ec 10             	sub    $0x10,%esp
42a8e8:	57                   	push   %edi
42a8e9:	8b 7d 10             	mov    0x10(%ebp),%edi
42a8ec:	85 ff                	test   %edi,%edi
42a8ee:	75 07                	jne    0x42a8f7
42a8f0:	33 c0                	xor    %eax,%eax
42a8f2:	e9 a6 00 00 00       	jmp    0x42a99d
42a8f7:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42a8fb:	75 1a                	jne    0x42a917
42a8fd:	e8 6f 1d ff ff       	call   0x41c671
42a902:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42a908:	e8 e1 2a fe ff       	call   0x40d3ee
42a90d:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
42a912:	e9 86 00 00 00       	jmp    0x42a99d
42a917:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
42a91b:	74 e0                	je     0x42a8fd
42a91d:	56                   	push   %esi
42a91e:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
42a923:	3b fe                	cmp    %esi,%edi
42a925:	76 12                	jbe    0x42a939
42a927:	e8 45 1d ff ff       	call   0x41c671
42a92c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42a932:	e8 b7 2a fe ff       	call   0x40d3ee
42a937:	eb 61                	jmp    0x42a99a
42a939:	ff 75 14             	push   0x14(%ebp)
42a93c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42a93f:	e8 b0 88 fe ff       	call   0x4131f4
42a944:	8b 45 f4             	mov    -0xc(%ebp),%eax
42a947:	57                   	push   %edi
42a948:	ff 75 0c             	push   0xc(%ebp)
42a94b:	8b 80 a4 00 00 00    	mov    0xa4(%eax),%eax
42a951:	85 c0                	test   %eax,%eax
42a953:	75 0f                	jne    0x42a964
42a955:	ff 75 08             	push   0x8(%ebp)
42a958:	e8 a5 db ff ff       	call   0x428502
42a95d:	83 c4 0c             	add    $0xc,%esp
42a960:	8b f0                	mov    %eax,%esi
42a962:	eb 26                	jmp    0x42a98a
42a964:	57                   	push   %edi
42a965:	ff 75 08             	push   0x8(%ebp)
42a968:	68 01 10 00 00       	push   $0x1001
42a96d:	50                   	push   %eax
42a96e:	e8 4b 0e 00 00       	call   0x42b7be
42a973:	83 c4 18             	add    $0x18,%esp
42a976:	85 c0                	test   %eax,%eax
42a978:	75 0d                	jne    0x42a987
42a97a:	e8 f2 1c ff ff       	call   0x41c671
42a97f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42a985:	eb 03                	jmp    0x42a98a
42a987:	8d 70 fe             	lea    -0x2(%eax),%esi
42a98a:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
42a98e:	74 0a                	je     0x42a99a
42a990:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42a993:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
42a99a:	8b c6                	mov    %esi,%eax
42a99c:	5e                   	pop    %esi
42a99d:	5f                   	pop    %edi
42a99e:	c9                   	leave
42a99f:	c3                   	ret
42a9a0:	8b ff                	mov    %edi,%edi
42a9a2:	55                   	push   %ebp
42a9a3:	8b ec                	mov    %esp,%ebp
42a9a5:	83 ec 18             	sub    $0x18,%esp
42a9a8:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
42a9ad:	33 c5                	xor    %ebp,%eax
42a9af:	89 45 fc             	mov    %eax,-0x4(%ebp)
42a9b2:	53                   	push   %ebx
42a9b3:	56                   	push   %esi
42a9b4:	57                   	push   %edi
42a9b5:	ff 75 08             	push   0x8(%ebp)
42a9b8:	8d 4d e8             	lea    -0x18(%ebp),%ecx
42a9bb:	e8 34 88 fe ff       	call   0x4131f4
42a9c0:	8b 45 ec             	mov    -0x14(%ebp),%eax
42a9c3:	33 ff                	xor    %edi,%edi
42a9c5:	57                   	push   %edi
42a9c6:	57                   	push   %edi
42a9c7:	ff 75 10             	push   0x10(%ebp)
42a9ca:	8b 40 08             	mov    0x8(%eax),%eax
42a9cd:	ff 75 0c             	push   0xc(%ebp)
42a9d0:	89 45 f8             	mov    %eax,-0x8(%ebp)
42a9d3:	e8 75 3b ff ff       	call   0x41e54d
42a9d8:	8b d8                	mov    %eax,%ebx
42a9da:	85 db                	test   %ebx,%ebx
42a9dc:	74 7d                	je     0x42aa5b
42a9de:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
42a9e1:	8d 48 08             	lea    0x8(%eax),%ecx
42a9e4:	3b c1                	cmp    %ecx,%eax
42a9e6:	1b c0                	sbb    %eax,%eax
42a9e8:	23 c1                	and    %ecx,%eax
42a9ea:	74 66                	je     0x42aa52
42a9ec:	3d 00 04 00 00       	cmp    $0x400,%eax
42a9f1:	77 13                	ja     0x42aa06
42a9f3:	e8 18 34 00 00       	call   0x42de10
42a9f8:	8b f4                	mov    %esp,%esi
42a9fa:	85 f6                	test   %esi,%esi
42a9fc:	74 56                	je     0x42aa54
42a9fe:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
42aa04:	eb 13                	jmp    0x42aa19
42aa06:	50                   	push   %eax
42aa07:	e8 24 c2 fd ff       	call   0x406c30
42aa0c:	8b f0                	mov    %eax,%esi
42aa0e:	59                   	pop    %ecx
42aa0f:	85 f6                	test   %esi,%esi
42aa11:	74 41                	je     0x42aa54
42aa13:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
42aa19:	83 c6 08             	add    $0x8,%esi
42aa1c:	85 f6                	test   %esi,%esi
42aa1e:	74 34                	je     0x42aa54
42aa20:	53                   	push   %ebx
42aa21:	56                   	push   %esi
42aa22:	ff 75 10             	push   0x10(%ebp)
42aa25:	ff 75 0c             	push   0xc(%ebp)
42aa28:	e8 20 3b ff ff       	call   0x41e54d
42aa2d:	85 c0                	test   %eax,%eax
42aa2f:	74 23                	je     0x42aa54
42aa31:	8b 45 18             	mov    0x18(%ebp),%eax
42aa34:	57                   	push   %edi
42aa35:	57                   	push   %edi
42aa36:	50                   	push   %eax
42aa37:	f7 d8                	neg    %eax
42aa39:	1b c0                	sbb    %eax,%eax
42aa3b:	23 45 14             	and    0x14(%ebp),%eax
42aa3e:	50                   	push   %eax
42aa3f:	6a ff                	push   $0xffffffff
42aa41:	56                   	push   %esi
42aa42:	57                   	push   %edi
42aa43:	ff 75 f8             	push   -0x8(%ebp)
42aa46:	e8 9f 83 ff ff       	call   0x422dea
42aa4b:	83 c4 20             	add    $0x20,%esp
42aa4e:	8b f8                	mov    %eax,%edi
42aa50:	eb 02                	jmp    0x42aa54
42aa52:	8b f7                	mov    %edi,%esi
42aa54:	56                   	push   %esi
42aa55:	e8 9e 89 fe ff       	call   0x4133f8
42aa5a:	59                   	pop    %ecx
42aa5b:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
42aa5f:	74 0a                	je     0x42aa6b
42aa61:	8b 45 e8             	mov    -0x18(%ebp),%eax
42aa64:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
42aa6b:	8b c7                	mov    %edi,%eax
42aa6d:	8d 65 dc             	lea    -0x24(%ebp),%esp
42aa70:	5f                   	pop    %edi
42aa71:	5e                   	pop    %esi
42aa72:	5b                   	pop    %ebx
42aa73:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42aa76:	33 cd                	xor    %ebp,%ecx
42aa78:	e8 2a f2 fd ff       	call   0x409ca7
42aa7d:	c9                   	leave
42aa7e:	c3                   	ret
42aa7f:	8b ff                	mov    %edi,%edi
42aa81:	55                   	push   %ebp
42aa82:	8b ec                	mov    %esp,%ebp
42aa84:	81 ec 90 00 00 00    	sub    $0x90,%esp
42aa8a:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
42aa8f:	33 c5                	xor    %ebp,%eax
42aa91:	89 45 fc             	mov    %eax,-0x4(%ebp)
42aa94:	8b 45 0c             	mov    0xc(%ebp),%eax
42aa97:	8b 4d 08             	mov    0x8(%ebp),%ecx
42aa9a:	53                   	push   %ebx
42aa9b:	8b 5d 18             	mov    0x18(%ebp),%ebx
42aa9e:	56                   	push   %esi
42aa9f:	8b 75 10             	mov    0x10(%ebp),%esi
42aaa2:	57                   	push   %edi
42aaa3:	33 ff                	xor    %edi,%edi
42aaa5:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
42aaab:	89 b5 78 ff ff ff    	mov    %esi,-0x88(%ebp)
42aab1:	89 3b                	mov    %edi,(%ebx)
42aab3:	83 f8 01             	cmp    $0x1,%eax
42aab6:	0f 85 e2 00 00 00    	jne    0x42ab9e
42aabc:	68 80 00 00 00       	push   $0x80
42aac1:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
42aac7:	50                   	push   %eax
42aac8:	ff 75 14             	push   0x14(%ebp)
42aacb:	56                   	push   %esi
42aacc:	51                   	push   %ecx
42aacd:	e8 ce fe ff ff       	call   0x42a9a0
42aad2:	83 c4 14             	add    $0x14,%esp
42aad5:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
42aadb:	85 c0                	test   %eax,%eax
42aadd:	74 46                	je     0x42ab25
42aadf:	6a 01                	push   $0x1
42aae1:	50                   	push   %eax
42aae2:	e8 c9 c0 fd ff       	call   0x406bb0
42aae7:	57                   	push   %edi
42aae8:	89 03                	mov    %eax,(%ebx)
42aaea:	e8 21 c1 fd ff       	call   0x406c10
42aaef:	83 c4 0c             	add    $0xc,%esp