42c5f7:	51                   	push   %ecx
42c5f8:	51                   	push   %ecx
42c5f9:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
42c5fe:	33 c5                	xor    %ebp,%eax
42c600:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c603:	53                   	push   %ebx
42c604:	56                   	push   %esi
42c605:	8b 75 18             	mov    0x18(%ebp),%esi
42c608:	57                   	push   %edi
42c609:	85 f6                	test   %esi,%esi
42c60b:	7e 21                	jle    0x42c62e
42c60d:	8b 45 14             	mov    0x14(%ebp),%eax
42c610:	8b ce                	mov    %esi,%ecx
42c612:	49                   	dec    %ecx
42c613:	80 38 00             	cmpb   $0x0,(%eax)
42c616:	74 08                	je     0x42c620
42c618:	40                   	inc    %eax
42c619:	85 c9                	test   %ecx,%ecx
42c61b:	75 f5                	jne    0x42c612
42c61d:	83 c9 ff             	or     $0xffffffff,%ecx
42c620:	8b c6                	mov    %esi,%eax
42c622:	2b c1                	sub    %ecx,%eax
42c624:	48                   	dec    %eax
42c625:	3b c6                	cmp    %esi,%eax
42c627:	8d 70 01             	lea    0x1(%eax),%esi
42c62a:	7c 02                	jl     0x42c62e
42c62c:	8b f0                	mov    %eax,%esi
42c62e:	8b 4d 24             	mov    0x24(%ebp),%ecx
42c631:	33 ff                	xor    %edi,%edi
42c633:	85 c9                	test   %ecx,%ecx
42c635:	75 0d                	jne    0x42c644
42c637:	8b 45 08             	mov    0x8(%ebp),%eax
42c63a:	8b 00                	mov    (%eax),%eax
42c63c:	8b 40 04             	mov    0x4(%eax),%eax
42c63f:	89 45 24             	mov    %eax,0x24(%ebp)
42c642:	8b c8                	mov    %eax,%ecx
42c644:	33 c0                	xor    %eax,%eax
42c646:	39 45 28             	cmp    %eax,0x28(%ebp)
42c649:	6a 00                	push   $0x0
42c64b:	0f 95 c0             	setne  %al
42c64e:	6a 00                	push   $0x0
42c650:	56                   	push   %esi
42c651:	ff 75 14             	push   0x14(%ebp)
42c654:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
42c65b:	50                   	push   %eax
42c65c:	51                   	push   %ecx
42c65d:	ff 15 78 d1 48 00    	call   *0x48d178
42c663:	8b c8                	mov    %eax,%ecx
42c665:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42c668:	85 c9                	test   %ecx,%ecx
42c66a:	75 07                	jne    0x42c673
42c66c:	33 c0                	xor    %eax,%eax
42c66e:	e9 58 01 00 00       	jmp    0x42c7cb
42c673:	7e 4b                	jle    0x42c6c0
42c675:	6a e0                	push   $0xffffffe0
42c677:	33 d2                	xor    %edx,%edx
42c679:	58                   	pop    %eax
42c67a:	f7 f1                	div    %ecx
42c67c:	83 f8 02             	cmp    $0x2,%eax
42c67f:	72 3f                	jb     0x42c6c0
42c681:	8d 0c 4d 08 00 00 00 	lea    0x8(,%ecx,2),%ecx
42c688:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
42c68e:	77 15                	ja     0x42c6a5
42c690:	8b c1                	mov    %ecx,%eax
42c692:	e8 69 63 00 00       	call   0x432a00
42c697:	8b dc                	mov    %esp,%ebx
42c699:	85 db                	test   %ebx,%ebx
42c69b:	74 1e                	je     0x42c6bb
42c69d:	c7 03 cc cc 00 00    	movl   $0xcccc,(%ebx)
42c6a3:	eb 13                	jmp    0x42c6b8
42c6a5:	51                   	push   %ecx
42c6a6:	e8 b1 72 ff ff       	call   0x42395c
42c6ab:	8b d8                	mov    %eax,%ebx
42c6ad:	59                   	pop    %ecx
42c6ae:	85 db                	test   %ebx,%ebx
42c6b0:	74 09                	je     0x42c6bb
42c6b2:	c7 03 dd dd 00 00    	movl   $0xdddd,(%ebx)
42c6b8:	83 c3 08             	add    $0x8,%ebx
42c6bb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42c6be:	eb 02                	jmp    0x42c6c2
42c6c0:	33 db                	xor    %ebx,%ebx
42c6c2:	85 db                	test   %ebx,%ebx
42c6c4:	74 a6                	je     0x42c66c
42c6c6:	51                   	push   %ecx
42c6c7:	53                   	push   %ebx
42c6c8:	56                   	push   %esi
42c6c9:	ff 75 14             	push   0x14(%ebp)
42c6cc:	6a 01                	push   $0x1
42c6ce:	ff 75 24             	push   0x24(%ebp)
42c6d1:	ff 15 78 d1 48 00    	call   *0x48d178
42c6d7:	85 c0                	test   %eax,%eax
42c6d9:	0f 84 e3 00 00 00    	je     0x42c7c2
42c6df:	8b 75 f8             	mov    -0x8(%ebp),%esi
42c6e2:	6a 00                	push   $0x0
42c6e4:	6a 00                	push   $0x0
42c6e6:	56                   	push   %esi
42c6e7:	53                   	push   %ebx
42c6e8:	ff 75 10             	push   0x10(%ebp)
42c6eb:	ff 75 0c             	push   0xc(%ebp)
42c6ee:	e8 4d 62 00 00       	call   0x432940
42c6f3:	8b f8                	mov    %eax,%edi
42c6f5:	83 c4 18             	add    $0x18,%esp
42c6f8:	85 ff                	test   %edi,%edi
42c6fa:	0f 84 c2 00 00 00    	je     0x42c7c2
42c700:	b9 00 04 00 00       	mov    $0x400,%ecx
42c705:	85 4d 10             	test   %ecx,0x10(%ebp)
42c708:	74 2c                	je     0x42c736
42c70a:	8b 4d 20             	mov    0x20(%ebp),%ecx
42c70d:	85 c9                	test   %ecx,%ecx
42c70f:	0f 84 ad 00 00 00    	je     0x42c7c2
42c715:	3b f9                	cmp    %ecx,%edi
42c717:	0f 8f a5 00 00 00    	jg     0x42c7c2
42c71d:	51                   	push   %ecx
42c71e:	ff 75 1c             	push   0x1c(%ebp)
42c721:	56                   	push   %esi
42c722:	53                   	push   %ebx
42c723:	ff 75 10             	push   0x10(%ebp)
42c726:	ff 75 0c             	push   0xc(%ebp)
42c729:	e8 12 62 00 00       	call   0x432940
42c72e:	83 c4 18             	add    $0x18,%esp
42c731:	e9 8c 00 00 00       	jmp    0x42c7c2
42c736:	85 ff                	test   %edi,%edi
42c738:	7e 42                	jle    0x42c77c
42c73a:	6a e0                	push   $0xffffffe0
42c73c:	33 d2                	xor    %edx,%edx
42c73e:	58                   	pop    %eax
42c73f:	f7 f7                	div    %edi
42c741:	83 f8 02             	cmp    $0x2,%eax
42c744:	72 36                	jb     0x42c77c
42c746:	8d 04 7d 08 00 00 00 	lea    0x8(,%edi,2),%eax
42c74d:	3b c1                	cmp    %ecx,%eax
42c74f:	77 13                	ja     0x42c764
42c751:	e8 aa 62 00 00       	call   0x432a00
42c756:	8b f4                	mov    %esp,%esi
42c758:	85 f6                	test   %esi,%esi
42c75a:	74 66                	je     0x42c7c2
42c75c:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
42c762:	eb 13                	jmp    0x42c777
42c764:	50                   	push   %eax
42c765:	e8 f2 71 ff ff       	call   0x42395c
42c76a:	8b f0                	mov    %eax,%esi
42c76c:	59                   	pop    %ecx
42c76d:	85 f6                	test   %esi,%esi
42c76f:	74 51                	je     0x42c7c2
42c771:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
42c777:	83 c6 08             	add    $0x8,%esi
42c77a:	eb 02                	jmp    0x42c77e
42c77c:	33 f6                	xor    %esi,%esi
42c77e:	85 f6                	test   %esi,%esi
42c780:	74 40                	je     0x42c7c2
42c782:	57                   	push   %edi
42c783:	56                   	push   %esi
42c784:	ff 75 f8             	push   -0x8(%ebp)
42c787:	53                   	push   %ebx
42c788:	ff 75 10             	push   0x10(%ebp)
42c78b:	ff 75 0c             	push   0xc(%ebp)
42c78e:	e8 ad 61 00 00       	call   0x432940
42c793:	83 c4 18             	add    $0x18,%esp
42c796:	85 c0                	test   %eax,%eax
42c798:	74 21                	je     0x42c7bb
42c79a:	33 c0                	xor    %eax,%eax
42c79c:	50                   	push   %eax
42c79d:	50                   	push   %eax
42c79e:	39 45 20             	cmp    %eax,0x20(%ebp)
42c7a1:	75 04                	jne    0x42c7a7
42c7a3:	50                   	push   %eax
42c7a4:	50                   	push   %eax
42c7a5:	eb 06                	jmp    0x42c7ad
42c7a7:	ff 75 20             	push   0x20(%ebp)
42c7aa:	ff 75 1c             	push   0x1c(%ebp)
42c7ad:	57                   	push   %edi
42c7ae:	56                   	push   %esi
42c7af:	50                   	push   %eax
42c7b0:	ff 75 24             	push   0x24(%ebp)
42c7b3:	ff 15 9c d1 48 00    	call   *0x48d19c
42c7b9:	8b f8                	mov    %eax,%edi
42c7bb:	56                   	push   %esi
42c7bc:	e8 01 96 ff ff       	call   0x425dc2
42c7c1:	59                   	pop    %ecx
42c7c2:	53                   	push   %ebx
42c7c3:	e8 fa 95 ff ff       	call   0x425dc2
42c7c8:	59                   	pop    %ecx
42c7c9:	8b c7                	mov    %edi,%eax
42c7cb:	8d 65 ec             	lea    -0x14(%ebp),%esp
42c7ce:	5f                   	pop    %edi
42c7cf:	5e                   	pop    %esi
42c7d0:	5b                   	pop    %ebx
42c7d1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42c7d4:	33 cd                	xor    %ebp,%ecx
42c7d6:	e8 31 df ff ff       	call   0x42a70c
42c7db:	c9                   	leave
42c7dc:	c3                   	ret
42c7dd:	55                   	push   %ebp
42c7de:	8b ec                	mov    %esp,%ebp
42c7e0:	83 ec 10             	sub    $0x10,%esp
42c7e3:	ff 75 08             	push   0x8(%ebp)
42c7e6:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42c7e9:	e8 31 47 ff ff       	call   0x420f1f
42c7ee:	ff 75 28             	push   0x28(%ebp)
42c7f1:	8d 45 f0             	lea    -0x10(%ebp),%eax
42c7f4:	ff 75 24             	push   0x24(%ebp)
42c7f7:	ff 75 20             	push   0x20(%ebp)
42c7fa:	ff 75 1c             	push   0x1c(%ebp)
42c7fd:	ff 75 18             	push   0x18(%ebp)
42c800:	ff 75 14             	push   0x14(%ebp)
42c803:	ff 75 10             	push   0x10(%ebp)
42c806:	ff 75 0c             	push   0xc(%ebp)
42c809:	50                   	push   %eax
42c80a:	e8 e5 fd ff ff       	call   0x42c5f4
42c80f:	83 c4 24             	add    $0x24,%esp
42c812:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
42c816:	74 07                	je     0x42c81f
42c818:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42c81b:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
42c81f:	c9                   	leave
42c820:	c3                   	ret
42c821:	55                   	push   %ebp
42c822:	8b ec                	mov    %esp,%ebp
42c824:	dd 45 08             	fldl   0x8(%ebp)
42c827:	57                   	push   %edi
42c828:	d9 ee                	fldz
42c82a:	dd e1                	fucom  %st(1)
42c82c:	df e0                	fnstsw %ax
42c82e:	f6 c4 44             	test   $0x44,%ah
42c831:	7a 09                	jp     0x42c83c
42c833:	dd d9                	fstp   %st(1)
42c835:	33 ff                	xor    %edi,%edi
42c837:	e9 af 00 00 00       	jmp    0x42c8eb
42c83c:	56                   	push   %esi
42c83d:	66 8b 75 0e          	mov    0xe(%ebp),%si
42c841:	0f b7 c6             	movzwl %si,%eax
42c844:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
42c849:	75 7c                	jne    0x42c8c7
42c84b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42c84e:	8b 55 08             	mov    0x8(%ebp),%edx
42c851:	f7 c1 ff ff 0f 00    	test   $0xfffff,%ecx
42c857:	75 04                	jne    0x42c85d
42c859:	85 d2                	test   %edx,%edx
42c85b:	74 6a                	je     0x42c8c7
42c85d:	de d9                	fcompp
42c85f:	bf 03 fc ff ff       	mov    $0xfffffc03,%edi
42c864:	df e0                	fnstsw %ax
42c866:	f6 c4 41             	test   $0x41,%ah
42c869:	75 05                	jne    0x42c870
42c86b:	33 c0                	xor    %eax,%eax
42c86d:	40                   	inc    %eax
42c86e:	eb 02                	jmp    0x42c872
42c870:	33 c0                	xor    %eax,%eax
42c872:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
42c876:	75 1f                	jne    0x42c897
42c878:	03 c9                	add    %ecx,%ecx
42c87a:	89 4d 0c             	mov    %ecx,0xc(%ebp)
42c87d:	85 d2                	test   %edx,%edx
42c87f:	79 06                	jns    0x42c887
42c881:	83 c9 01             	or     $0x1,%ecx
42c884:	89 4d 0c             	mov    %ecx,0xc(%ebp)
42c887:	03 d2                	add    %edx,%edx
42c889:	4f                   	dec    %edi
42c88a:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
42c88e:	74 e8                	je     0x42c878
42c890:	66 8b 75 0e          	mov    0xe(%ebp),%si
42c894:	89 55 08             	mov    %edx,0x8(%ebp)
42c897:	b9 ef ff 00 00       	mov    $0xffef,%ecx
42c89c:	66 23 f1             	and    %cx,%si
42c89f:	66 89 75 0e          	mov    %si,0xe(%ebp)
42c8a3:	85 c0                	test   %eax,%eax
42c8a5:	74 0c                	je     0x42c8b3
42c8a7:	b8 00 80 00 00       	mov    $0x8000,%eax
42c8ac:	66 0b f0             	or     %ax,%si
42c8af:	66 89 75 0e          	mov    %si,0xe(%ebp)
42c8b3:	dd 45 08             	fldl   0x8(%ebp)
42c8b6:	6a 00                	push   $0x0
42c8b8:	51                   	push   %ecx
42c8b9:	51                   	push   %ecx
42c8ba:	dd 1c 24             	fstpl  (%esp)
42c8bd:	e8 31 00 00 00       	call   0x42c8f3
42c8c2:	83 c4 0c             	add    $0xc,%esp
42c8c5:	eb 23                	jmp    0x42c8ea
42c8c7:	6a 00                	push   $0x0
42c8c9:	dd d8                	fstp   %st(0)
42c8cb:	51                   	push   %ecx
42c8cc:	51                   	push   %ecx
42c8cd:	dd 1c 24             	fstpl  (%esp)
42c8d0:	e8 1e 00 00 00       	call   0x42c8f3
42c8d5:	0f b7 fe             	movzwl %si,%edi
42c8d8:	c1 ef 04             	shr    $0x4,%edi
42c8db:	81 e7 ff 07 00 00    	and    $0x7ff,%edi
42c8e1:	83 c4 0c             	add    $0xc,%esp
42c8e4:	81 ef fe 03 00 00    	sub    $0x3fe,%edi
42c8ea:	5e                   	pop    %esi
42c8eb:	8b 45 10             	mov    0x10(%ebp),%eax
42c8ee:	89 38                	mov    %edi,(%eax)
42c8f0:	5f                   	pop    %edi
42c8f1:	5d                   	pop    %ebp
42c8f2:	c3                   	ret
42c8f3:	55                   	push   %ebp
42c8f4:	8b ec                	mov    %esp,%ebp
42c8f6:	51                   	push   %ecx
42c8f7:	51                   	push   %ecx
42c8f8:	8b 4d 10             	mov    0x10(%ebp),%ecx
42c8fb:	dd 45 08             	fldl   0x8(%ebp)
42c8fe:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
42c902:	dd 5d f8             	fstpl  -0x8(%ebp)
42c905:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
42c90b:	c1 e1 04             	shl    $0x4,%ecx
42c90e:	25 0f 80 00 00       	and    $0x800f,%eax
42c913:	0b c8                	or     %eax,%ecx
42c915:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
42c919:	dd 45 f8             	fldl   -0x8(%ebp)
42c91c:	c9                   	leave
42c91d:	c3                   	ret
42c91e:	55                   	push   %ebp
42c91f:	8b ec                	mov    %esp,%ebp
42c921:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
42c928:	8b 45 08             	mov    0x8(%ebp),%eax
42c92b:	75 07                	jne    0x42c934
42c92d:	85 c0                	test   %eax,%eax
42c92f:	75 15                	jne    0x42c946
42c931:	40                   	inc    %eax
42c932:	5d                   	pop    %ebp
42c933:	c3                   	ret
42c934:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
42c93b:	75 09                	jne    0x42c946
42c93d:	85 c0                	test   %eax,%eax
42c93f:	75 05                	jne    0x42c946
42c941:	6a 02                	push   $0x2
42c943:	58                   	pop    %eax
42c944:	5d                   	pop    %ebp
42c945:	c3                   	ret
42c946:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
42c94a:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
42c94f:	66 23 ca             	and    %dx,%cx
42c952:	66 3b ca             	cmp    %dx,%cx
42c955:	75 04                	jne    0x42c95b
42c957:	6a 03                	push   $0x3
42c959:	eb e8                	jmp    0x42c943
42c95b:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
42c960:	66 3b ca             	cmp    %dx,%cx
42c963:	75 11                	jne    0x42c976
42c965:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
42c96c:	75 04                	jne    0x42c972
42c96e:	85 c0                	test   %eax,%eax
42c970:	74 04                	je     0x42c976
42c972:	6a 04                	push   $0x4
42c974:	eb cd                	jmp    0x42c943
42c976:	33 c0                	xor    %eax,%eax
42c978:	5d                   	pop    %ebp
42c979:	c3                   	ret
42c97a:	55                   	push   %ebp
42c97b:	8b ec                	mov    %esp,%ebp