46e5b7:	89 48 04             	mov    %ecx,0x4(%eax)
46e5ba:	89 78 08             	mov    %edi,0x8(%eax)
46e5bd:	89 06                	mov    %eax,(%esi)
46e5bf:	eb 07                	jmp    0x46e5c8
46e5c1:	83 26 00             	andl   $0x0,(%esi)
46e5c4:	c6 46 04 03          	movb   $0x3,0x4(%esi)
46e5c8:	5f                   	pop    %edi
46e5c9:	5e                   	pop    %esi
46e5ca:	5d                   	pop    %ebp
46e5cb:	c2 04 00             	ret    $0x4
46e5ce:	55                   	push   %ebp
46e5cf:	8b ec                	mov    %esp,%ebp
46e5d1:	53                   	push   %ebx
46e5d2:	8b 5d 08             	mov    0x8(%ebp),%ebx
46e5d5:	56                   	push   %esi
46e5d6:	8b f1                	mov    %ecx,%esi
46e5d8:	57                   	push   %edi
46e5d9:	85 db                	test   %ebx,%ebx
46e5db:	74 51                	je     0x46e62e
46e5dd:	8b 7d 0c             	mov    0xc(%ebp),%edi
46e5e0:	85 ff                	test   %edi,%edi
46e5e2:	7e 4a                	jle    0x46e62e
46e5e4:	8b c7                	mov    %edi,%eax
46e5e6:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
46e5eb:	83 e8 01             	sub    $0x1,%eax
46e5ee:	74 19                	je     0x46e609
46e5f0:	6a 0c                	push   $0xc
46e5f2:	e8 3c 38 00 00       	call   0x471e33
46e5f7:	85 c0                	test   %eax,%eax
46e5f9:	74 28                	je     0x46e623
46e5fb:	c7 00 6c 16 4a 00    	movl   $0x4a166c,(%eax)
46e601:	89 58 04             	mov    %ebx,0x4(%eax)
46e604:	89 78 08             	mov    %edi,0x8(%eax)
46e607:	eb 16                	jmp    0x46e61f
46e609:	6a 08                	push   $0x8
46e60b:	e8 23 38 00 00       	call   0x471e33
46e610:	85 c0                	test   %eax,%eax
46e612:	74 0f                	je     0x46e623
46e614:	8a 0b                	mov    (%ebx),%cl
46e616:	c7 00 58 16 4a 00    	movl   $0x4a1658,(%eax)
46e61c:	88 48 04             	mov    %cl,0x4(%eax)
46e61f:	89 06                	mov    %eax,(%esi)
46e621:	eb 0f                	jmp    0x46e632
46e623:	8b c6                	mov    %esi,%eax
46e625:	83 20 00             	andl   $0x0,(%eax)
46e628:	c6 46 04 03          	movb   $0x3,0x4(%esi)
46e62c:	eb 04                	jmp    0x46e632
46e62e:	c6 46 04 02          	movb   $0x2,0x4(%esi)
46e632:	5f                   	pop    %edi
46e633:	5e                   	pop    %esi
46e634:	5b                   	pop    %ebx
46e635:	5d                   	pop    %ebp
46e636:	c2 08 00             	ret    $0x8
46e639:	55                   	push   %ebp
46e63a:	8b ec                	mov    %esp,%ebp
46e63c:	51                   	push   %ecx
46e63d:	53                   	push   %ebx
46e63e:	8b 5d 08             	mov    0x8(%ebp),%ebx
46e641:	56                   	push   %esi
46e642:	8b f1                	mov    %ecx,%esi
46e644:	85 db                	test   %ebx,%ebx
46e646:	74 58                	je     0x46e6a0
46e648:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46e64c:	7e 52                	jle    0x46e6a0
46e64e:	8b 45 0c             	mov    0xc(%ebp),%eax
46e651:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
46e656:	83 e8 01             	sub    $0x1,%eax
46e659:	74 2d                	je     0x46e688
46e65b:	6a 0c                	push   $0xc
46e65d:	e8 d1 37 00 00       	call   0x471e33
46e662:	85 c0                	test   %eax,%eax
46e664:	74 14                	je     0x46e67a
46e666:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46e66a:	8b c8                	mov    %eax,%ecx
46e66c:	ff 75 fc             	push   -0x4(%ebp)
46e66f:	ff 75 0c             	push   0xc(%ebp)
46e672:	53                   	push   %ebx
46e673:	e8 d5 fe ff ff       	call   0x46e54d
46e678:	eb 02                	jmp    0x46e67c
46e67a:	33 c0                	xor    %eax,%eax
46e67c:	89 06                	mov    %eax,(%esi)
46e67e:	85 c0                	test   %eax,%eax
46e680:	75 22                	jne    0x46e6a4
46e682:	c6 46 04 03          	movb   $0x3,0x4(%esi)
46e686:	eb 1c                	jmp    0x46e6a4
46e688:	6a 08                	push   $0x8
46e68a:	e8 a4 37 00 00       	call   0x471e33
46e68f:	85 c0                	test   %eax,%eax
46e691:	74 e7                	je     0x46e67a
46e693:	8a 0b                	mov    (%ebx),%cl
46e695:	c7 00 58 16 4a 00    	movl   $0x4a1658,(%eax)
46e69b:	88 48 04             	mov    %cl,0x4(%eax)
46e69e:	eb dc                	jmp    0x46e67c
46e6a0:	c6 46 04 02          	movb   $0x2,0x4(%esi)
46e6a4:	5e                   	pop    %esi
46e6a5:	5b                   	pop    %ebx
46e6a6:	c9                   	leave
46e6a7:	c2 08 00             	ret    $0x8
46e6aa:	55                   	push   %ebp
46e6ab:	8b ec                	mov    %esp,%ebp
46e6ad:	51                   	push   %ecx
46e6ae:	51                   	push   %ecx
46e6af:	d9 45 0c             	flds   0xc(%ebp)
46e6b2:	53                   	push   %ebx
46e6b3:	56                   	push   %esi
46e6b4:	57                   	push   %edi
46e6b5:	51                   	push   %ecx
46e6b6:	51                   	push   %ecx
46e6b7:	dd 55 f8             	fstl   -0x8(%ebp)
46e6ba:	dd 1c 24             	fstpl  (%esp)
46e6bd:	bb 88 12 4a 00       	mov    $0x4a1288,%ebx
46e6c2:	53                   	push   %ebx
46e6c3:	6a 00                	push   $0x0
46e6c5:	6a 00                	push   $0x0
46e6c7:	e8 2c 66 00 00       	call   0x474cf8
46e6cc:	83 c4 14             	add    $0x14,%esp
46e6cf:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
46e6d4:	8d 70 01             	lea    0x1(%eax),%esi
46e6d7:	56                   	push   %esi
46e6d8:	e8 56 37 00 00       	call   0x471e33
46e6dd:	dd 45 f8             	fldl   -0x8(%ebp)
46e6e0:	8b f8                	mov    %eax,%edi
46e6e2:	51                   	push   %ecx
46e6e3:	51                   	push   %ecx
46e6e4:	dd 1c 24             	fstpl  (%esp)
46e6e7:	53                   	push   %ebx
46e6e8:	56                   	push   %esi
46e6e9:	57                   	push   %edi
46e6ea:	e8 01 7c fa ff       	call   0x4162f0
46e6ef:	8b 4d 08             	mov    0x8(%ebp),%ecx
46e6f2:	83 c4 14             	add    $0x14,%esp
46e6f5:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46e6f9:	ff 75 fc             	push   -0x4(%ebp)
46e6fc:	57                   	push   %edi
46e6fd:	e8 18 fe ff ff       	call   0x46e51a
46e702:	8b 45 08             	mov    0x8(%ebp),%eax
46e705:	5f                   	pop    %edi
46e706:	5e                   	pop    %esi
46e707:	5b                   	pop    %ebx
46e708:	c9                   	leave
46e709:	c3                   	ret
46e70a:	55                   	push   %ebp
46e70b:	8b ec                	mov    %esp,%ebp
46e70d:	51                   	push   %ecx
46e70e:	dd 45 0c             	fldl   0xc(%ebp)
46e711:	53                   	push   %ebx
46e712:	56                   	push   %esi
46e713:	57                   	push   %edi
46e714:	51                   	push   %ecx
46e715:	51                   	push   %ecx
46e716:	dd 1c 24             	fstpl  (%esp)
46e719:	bb 88 12 4a 00       	mov    $0x4a1288,%ebx
46e71e:	53                   	push   %ebx
46e71f:	6a 00                	push   $0x0
46e721:	6a 00                	push   $0x0
46e723:	e8 d0 65 00 00       	call   0x474cf8
46e728:	83 c4 14             	add    $0x14,%esp
46e72b:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
46e730:	8d 70 01             	lea    0x1(%eax),%esi
46e733:	56                   	push   %esi
46e734:	e8 fa 36 00 00       	call   0x471e33
46e739:	dd 45 0c             	fldl   0xc(%ebp)
46e73c:	8b f8                	mov    %eax,%edi
46e73e:	51                   	push   %ecx
46e73f:	51                   	push   %ecx
46e740:	dd 1c 24             	fstpl  (%esp)
46e743:	53                   	push   %ebx
46e744:	56                   	push   %esi
46e745:	57                   	push   %edi
46e746:	e8 a5 7b fa ff       	call   0x4162f0
46e74b:	8b 4d 08             	mov    0x8(%ebp),%ecx
46e74e:	83 c4 14             	add    $0x14,%esp
46e751:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46e755:	ff 75 fc             	push   -0x4(%ebp)
46e758:	57                   	push   %edi
46e759:	e8 bc fd ff ff       	call   0x46e51a
46e75e:	8b 45 08             	mov    0x8(%ebp),%eax
46e761:	5f                   	pop    %edi
46e762:	5e                   	pop    %esi
46e763:	5b                   	pop    %ebx
46e764:	c9                   	leave
46e765:	c3                   	ret
46e766:	55                   	push   %ebp
46e767:	8b ec                	mov    %esp,%ebp
46e769:	53                   	push   %ebx
46e76a:	56                   	push   %esi
46e76b:	8b f1                	mov    %ecx,%esi
46e76d:	57                   	push   %edi
46e76e:	8b 7d 08             	mov    0x8(%ebp),%edi
46e771:	83 26 00             	andl   $0x0,(%esi)
46e774:	83 66 04 00          	andl   $0x0,0x4(%esi)
46e778:	8b 0f                	mov    (%edi),%ecx
46e77a:	8a 01                	mov    (%ecx),%al
46e77c:	84 c0                	test   %al,%al
46e77e:	74 59                	je     0x46e7d9
46e780:	33 db                	xor    %ebx,%ebx
46e782:	8b d1                	mov    %ecx,%edx
46e784:	3a 45 0c             	cmp    0xc(%ebp),%al
46e787:	74 22                	je     0x46e7ab
46e789:	0f b6 c0             	movzbl %al,%eax
46e78c:	80 b8 b8 16 4a 00 00 	cmpb   $0x0,0x4a16b8(%eax)
46e793:	75 0c                	jne    0x46e7a1
46e795:	f7 05 94 83 4c 00 00 	testl  $0x10000,0x4c8394
46e79c:	00 01 00
46e79f:	74 2c                	je     0x46e7cd
46e7a1:	43                   	inc    %ebx
46e7a2:	42                   	inc    %edx
46e7a3:	89 17                	mov    %edx,(%edi)
46e7a5:	8a 02                	mov    (%edx),%al
46e7a7:	84 c0                	test   %al,%al
46e7a9:	75 d9                	jne    0x46e784
46e7ab:	53                   	push   %ebx
46e7ac:	51                   	push   %ecx
46e7ad:	8b ce                	mov    %esi,%ecx
46e7af:	e8 1a fe ff ff       	call   0x46e5ce
46e7b4:	8b 07                	mov    (%edi),%eax
46e7b6:	8a 08                	mov    (%eax),%cl
46e7b8:	84 c9                	test   %cl,%cl
46e7ba:	74 17                	je     0x46e7d3
46e7bc:	40                   	inc    %eax
46e7bd:	89 07                	mov    %eax,(%edi)
46e7bf:	3a 4d 0c             	cmp    0xc(%ebp),%cl
46e7c2:	74 19                	je     0x46e7dd
46e7c4:	83 26 00             	andl   $0x0,(%esi)
46e7c7:	c6 46 04 03          	movb   $0x3,0x4(%esi)
46e7cb:	eb 10                	jmp    0x46e7dd
46e7cd:	c6 46 04 02          	movb   $0x2,0x4(%esi)
46e7d1:	eb 0a                	jmp    0x46e7dd
46e7d3:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
46e7d7:	75 04                	jne    0x46e7dd
46e7d9:	c6 46 04 01          	movb   $0x1,0x4(%esi)
46e7dd:	5f                   	pop    %edi
46e7de:	8b c6                	mov    %esi,%eax
46e7e0:	5e                   	pop    %esi
46e7e1:	5b                   	pop    %ebx
46e7e2:	5d                   	pop    %ebp
46e7e3:	c2 08 00             	ret    $0x8
46e7e6:	55                   	push   %ebp
46e7e7:	8b ec                	mov    %esp,%ebp
46e7e9:	8b 45 08             	mov    0x8(%ebp),%eax
46e7ec:	56                   	push   %esi
46e7ed:	8b f1                	mov    %ecx,%esi
46e7ef:	83 26 00             	andl   $0x0,(%esi)
46e7f2:	83 66 04 00          	andl   $0x0,0x4(%esi)
46e7f6:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
46e7fa:	7e 0a                	jle    0x46e806
46e7fc:	ff 70 04             	push   0x4(%eax)
46e7ff:	ff 30                	push   (%eax)
46e801:	e8 c8 fd ff ff       	call   0x46e5ce
46e806:	8b c6                	mov    %esi,%eax
46e808:	5e                   	pop    %esi
46e809:	5d                   	pop    %ebp
46e80a:	c2 04 00             	ret    $0x4
46e80d:	55                   	push   %ebp
46e80e:	8b ec                	mov    %esp,%ebp
46e810:	53                   	push   %ebx
46e811:	56                   	push   %esi
46e812:	8b f1                	mov    %ecx,%esi
46e814:	33 db                	xor    %ebx,%ebx
46e816:	89 5e 04             	mov    %ebx,0x4(%esi)
46e819:	39 5d 08             	cmp    %ebx,0x8(%ebp)
46e81c:	74 29                	je     0x46e847
46e81e:	6a 08                	push   $0x8
46e820:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
46e825:	e8 09 36 00 00       	call   0x471e33
46e82a:	85 c0                	test   %eax,%eax
46e82c:	74 0c                	je     0x46e83a
46e82e:	ff 75 08             	push   0x8(%ebp)
46e831:	8b c8                	mov    %eax,%ecx
46e833:	e8 b8 01 00 00       	call   0x46e9f0
46e838:	8b d8                	mov    %eax,%ebx
46e83a:	85 db                	test   %ebx,%ebx
46e83c:	8b ce                	mov    %esi,%ecx
46e83e:	0f 95 c0             	setne  %al
46e841:	fe c8                	dec    %al
46e843:	24 03                	and    $0x3,%al
46e845:	eb 02                	jmp    0x46e849
46e847:	8a c3                	mov    %bl,%al
46e849:	89 19                	mov    %ebx,(%ecx)
46e84b:	88 46 04             	mov    %al,0x4(%esi)
46e84e:	8b c6                	mov    %esi,%eax
46e850:	5e                   	pop    %esi
46e851:	5b                   	pop    %ebx
46e852:	5d                   	pop    %ebp
46e853:	c2 04 00             	ret    $0x4
46e856:	55                   	push   %ebp
46e857:	8b ec                	mov    %esp,%ebp
46e859:	8b 45 08             	mov    0x8(%ebp),%eax
46e85c:	56                   	push   %esi
46e85d:	8b f1                	mov    %ecx,%esi
46e85f:	83 66 04 00          	andl   $0x0,0x4(%esi)
46e863:	83 f8 02             	cmp    $0x2,%eax
46e866:	74 09                	je     0x46e871
46e868:	83 f8 03             	cmp    $0x3,%eax
46e86b:	74 04                	je     0x46e871
46e86d:	33 c9                	xor    %ecx,%ecx
46e86f:	eb 02                	jmp    0x46e873
46e871:	8b c8                	mov    %eax,%ecx
46e873:	83 26 00             	andl   $0x0,(%esi)
46e876:	88 4e 04             	mov    %cl,0x4(%esi)
46e879:	83 f8 01             	cmp    $0x1,%eax
46e87c:	75 11                	jne    0x46e88f
46e87e:	50                   	push   %eax
46e87f:	e8 45 62 00 00       	call   0x474ac9
46e884:	89 06                	mov    %eax,(%esi)
46e886:	59                   	pop    %ecx
46e887:	85 c0                	test   %eax,%eax
46e889:	75 04                	jne    0x46e88f
46e88b:	c6 46 04 03          	movb   $0x3,0x4(%esi)
46e88f:	8b c6                	mov    %esi,%eax
46e891:	5e                   	pop    %esi
46e892:	5d                   	pop    %ebp
46e893:	c2 04 00             	ret    $0x4
46e896:	55                   	push   %ebp
46e897:	8b ec                	mov    %esp,%ebp
46e899:	83 ec 24             	sub    $0x24,%esp
46e89c:	a1 14 40 4c 00       	mov    0x4c4014,%eax
46e8a1:	33 c5                	xor    %ebp,%eax
46e8a3:	89 45 fc             	mov    %eax,-0x4(%ebp)
46e8a6:	8b c1                	mov    %ecx,%eax
46e8a8:	33 c9                	xor    %ecx,%ecx
46e8aa:	53                   	push   %ebx
46e8ab:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46e8ae:	89 45 dc             	mov    %eax,-0x24(%ebp)
46e8b1:	89 08                	mov    %ecx,(%eax)
46e8b3:	89 48 04             	mov    %ecx,0x4(%eax)
46e8b6:	88 4d f9             	mov    %cl,-0x7(%ebp)
46e8b9:	88 4d e3             	mov    %cl,-0x1d(%ebp)
46e8bc:	56                   	push   %esi
46e8bd:	8d 75 f9             	lea    -0x7(%ebp),%esi
46e8c0:	57                   	push   %edi
46e8c1:	8b 7d 08             	mov    0x8(%ebp),%edi
46e8c4:	3b d9                	cmp    %ecx,%ebx
46e8c6:	7f 10                	jg     0x46e8d8
46e8c8:	7c 04                	jl     0x46e8ce
46e8ca:	3b f9                	cmp    %ecx,%edi
46e8cc:	73 0a                	jae    0x46e8d8
46e8ce:	f7 df                	neg    %edi
46e8d0:	c6 45 e3 01          	movb   $0x1,-0x1d(%ebp)
46e8d4:	13 d9                	adc    %ecx,%ebx
46e8d6:	f7 db                	neg    %ebx
46e8d8:	51                   	push   %ecx
46e8d9:	6a 0a                	push   $0xa
46e8db:	53                   	push   %ebx
46e8dc:	57                   	push   %edi
46e8dd:	4e                   	dec    %esi
46e8de:	e8 ed 70 02 00       	call   0x4959d0
46e8e3:	6a 00                	push   $0x0
46e8e5:	6a 0a                	push   $0xa
46e8e7:	53                   	push   %ebx