4a96a8:	33 c9                	xor    %ecx,%ecx
4a96aa:	53                   	push   %ebx
4a96ab:	8a 00                	mov    (%eax),%al
4a96ad:	84 c0                	test   %al,%al
4a96af:	0f 95 c1             	setne  %cl
4a96b2:	51                   	push   %ecx
4a96b3:	e8 08 74 fa ff       	call   0x450ac0
4a96b8:	8b 0e                	mov    (%esi),%ecx
4a96ba:	83 c4 08             	add    $0x8,%esp
4a96bd:	ff 45 c8             	incl   -0x38(%ebp)
4a96c0:	8b d8                	mov    %eax,%ebx
4a96c2:	e8 e9 48 fb ff       	call   0x45dfb0
4a96c7:	39 45 c8             	cmp    %eax,-0x38(%ebp)
4a96ca:	7c c4                	jl     0x4a9690
4a96cc:	e9 d5 0a 00 00       	jmp    0x4aa1a6
4a96d1:	8b 0e                	mov    (%esi),%ecx
4a96d3:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
4a96da:	e8 d1 48 fb ff       	call   0x45dfb0
4a96df:	85 c0                	test   %eax,%eax
4a96e1:	0f 8e bf 0a 00 00    	jle    0x4aa1a6
4a96e7:	3b 1f                	cmp    (%edi),%ebx
4a96e9:	72 0a                	jb     0x4a96f5
4a96eb:	53                   	push   %ebx
4a96ec:	8b cf                	mov    %edi,%ecx
4a96ee:	e8 7d fe fa ff       	call   0x459570
4a96f3:	8b d8                	mov    %eax,%ebx
4a96f5:	ff 75 c8             	push   -0x38(%ebp)
4a96f8:	8b 0e                	mov    (%esi),%ecx
4a96fa:	e8 b1 3b fb ff       	call   0x45d2b0
4a96ff:	53                   	push   %ebx
4a9700:	8b 00                	mov    (%eax),%eax
4a9702:	99                   	cltd
4a9703:	52                   	push   %edx
4a9704:	50                   	push   %eax
4a9705:	e8 c6 84 fa ff       	call   0x451bd0
4a970a:	8b 0e                	mov    (%esi),%ecx
4a970c:	83 c4 0c             	add    $0xc,%esp
4a970f:	ff 45 c8             	incl   -0x38(%ebp)
4a9712:	8b d8                	mov    %eax,%ebx
4a9714:	e8 97 48 fb ff       	call   0x45dfb0
4a9719:	39 45 c8             	cmp    %eax,-0x38(%ebp)
4a971c:	7c c9                	jl     0x4a96e7
4a971e:	e9 83 0a 00 00       	jmp    0x4aa1a6
4a9723:	68 aa 07 00 00       	push   $0x7aa
4a9728:	68 48 b1 60 00       	push   $0x60b148
4a972d:	6a 03                	push   $0x3
4a972f:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4a9732:	e8 a9 bb fc ff       	call   0x4752e0
4a9737:	68 fc b1 60 00       	push   $0x60b1fc
4a973c:	8b c8                	mov    %eax,%ecx
4a973e:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4a9745:	e8 a6 c1 fc ff       	call   0x4758f0
4a974a:	50                   	push   %eax
4a974b:	8d 4d b3             	lea    -0x4d(%ebp),%ecx
4a974e:	e8 2d bf fc ff       	call   0x475680
4a9753:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4a9756:	e8 b5 be fc ff       	call   0x475610
4a975b:	e9 46 0a 00 00       	jmp    0x4aa1a6
4a9760:	0f b6 46 08          	movzbl 0x8(%esi),%eax
4a9764:	48                   	dec    %eax
4a9765:	83 f8 11             	cmp    $0x11,%eax
4a9768:	0f 87 38 0a 00 00    	ja     0x4aa1a6
4a976e:	ff 24 85 10 a2 4a 00 	jmp    *0x4aa210(,%eax,4)
4a9775:	8b 0e                	mov    (%esi),%ecx
4a9777:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
4a977e:	e8 2d 48 fb ff       	call   0x45dfb0
4a9783:	85 c0                	test   %eax,%eax
4a9785:	0f 8e 1b 0a 00 00    	jle    0x4aa1a6
4a978b:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4a978e:	c1 e0 03             	shl    $0x3,%eax
4a9791:	89 45 c0             	mov    %eax,-0x40(%ebp)
4a9794:	3b 1f                	cmp    (%edi),%ebx
4a9796:	72 0a                	jb     0x4a97a2
4a9798:	53                   	push   %ebx
4a9799:	8b cf                	mov    %edi,%ecx
4a979b:	e8 d0 fd fa ff       	call   0x459570
4a97a0:	8b d8                	mov    %eax,%ebx
4a97a2:	ff 75 c8             	push   -0x38(%ebp)
4a97a5:	8b 0e                	mov    (%esi),%ecx
4a97a7:	e8 04 3b fb ff       	call   0x45d2b0
4a97ac:	53                   	push   %ebx
4a97ad:	ff 75 c0             	push   -0x40(%ebp)
4a97b0:	8b 30                	mov    (%eax),%esi
4a97b2:	e8 09 73 fa ff       	call   0x450ac0
4a97b7:	50                   	push   %eax
4a97b8:	8b c6                	mov    %esi,%eax
4a97ba:	99                   	cltd
4a97bb:	52                   	push   %edx
4a97bc:	50                   	push   %eax
4a97bd:	e8 0e 84 fa ff       	call   0x451bd0
4a97c2:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4a97c5:	83 c4 14             	add    $0x14,%esp
4a97c8:	ff 45 c8             	incl   -0x38(%ebp)
4a97cb:	8b d8                	mov    %eax,%ebx
4a97cd:	8b 0e                	mov    (%esi),%ecx
4a97cf:	e8 dc 47 fb ff       	call   0x45dfb0
4a97d4:	39 45 c8             	cmp    %eax,-0x38(%ebp)
4a97d7:	7c bb                	jl     0x4a9794
4a97d9:	e9 c8 09 00 00       	jmp    0x4aa1a6
4a97de:	8b 0e                	mov    (%esi),%ecx
4a97e0:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
4a97e7:	e8 c4 47 fb ff       	call   0x45dfb0
4a97ec:	85 c0                	test   %eax,%eax
4a97ee:	0f 8e b2 09 00 00    	jle    0x4aa1a6
4a97f4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4a97f7:	c1 e0 03             	shl    $0x3,%eax
4a97fa:	89 45 c0             	mov    %eax,-0x40(%ebp)
4a97fd:	0f 1f 00             	nopl   (%eax)
4a9800:	3b 1f                	cmp    (%edi),%ebx
4a9802:	72 0a                	jb     0x4a980e
4a9804:	53                   	push   %ebx
4a9805:	8b cf                	mov    %edi,%ecx
4a9807:	e8 64 fd fa ff       	call   0x459570
4a980c:	8b d8                	mov    %eax,%ebx
4a980e:	ff 75 bc             	push   -0x44(%ebp)
4a9811:	8b 0e                	mov    (%esi),%ecx
4a9813:	e8 a8 3a fb ff       	call   0x45d2c0
4a9818:	53                   	push   %ebx
4a9819:	ff 75 c0             	push   -0x40(%ebp)
4a981c:	8b 38                	mov    (%eax),%edi
4a981e:	8b 70 04             	mov    0x4(%eax),%esi
4a9821:	e8 9a 72 fa ff       	call   0x450ac0
4a9826:	50                   	push   %eax
4a9827:	56                   	push   %esi
4a9828:	57                   	push   %edi
4a9829:	e8 a2 83 fa ff       	call   0x451bd0
4a982e:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4a9831:	83 c4 14             	add    $0x14,%esp
4a9834:	8b 7d bc             	mov    -0x44(%ebp),%edi
4a9837:	8b d8                	mov    %eax,%ebx
4a9839:	47                   	inc    %edi
4a983a:	89 7d bc             	mov    %edi,-0x44(%ebp)
4a983d:	8b 0e                	mov    (%esi),%ecx
4a983f:	e8 6c 47 fb ff       	call   0x45dfb0
4a9844:	3b f8                	cmp    %eax,%edi
4a9846:	8b 7d c8             	mov    -0x38(%ebp),%edi
4a9849:	7c b5                	jl     0x4a9800
4a984b:	e9 56 09 00 00       	jmp    0x4aa1a6
4a9850:	8b 0e                	mov    (%esi),%ecx
4a9852:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
4a9859:	e8 52 47 fb ff       	call   0x45dfb0
4a985e:	85 c0                	test   %eax,%eax
4a9860:	0f 8e 40 09 00 00    	jle    0x4aa1a6
4a9866:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4a9869:	c1 e0 03             	shl    $0x3,%eax
4a986c:	89 45 c0             	mov    %eax,-0x40(%ebp)
4a986f:	90                   	nop
4a9870:	3b 1f                	cmp    (%edi),%ebx
4a9872:	72 0a                	jb     0x4a987e
4a9874:	53                   	push   %ebx
4a9875:	8b cf                	mov    %edi,%ecx
4a9877:	e8 f4 fc fa ff       	call   0x459570
4a987c:	8b d8                	mov    %eax,%ebx
4a987e:	ff 75 c8             	push   -0x38(%ebp)
4a9881:	8b 0e                	mov    (%esi),%ecx
4a9883:	e8 28 3a fb ff       	call   0x45d2b0
4a9888:	53                   	push   %ebx
4a9889:	ff 75 c0             	push   -0x40(%ebp)
4a988c:	8b 30                	mov    (%eax),%esi
4a988e:	e8 2d 72 fa ff       	call   0x450ac0
4a9893:	50                   	push   %eax
4a9894:	56                   	push   %esi
4a9895:	e8 26 72 fa ff       	call   0x450ac0
4a989a:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4a989d:	83 c4 10             	add    $0x10,%esp
4a98a0:	ff 45 c8             	incl   -0x38(%ebp)
4a98a3:	8b d8                	mov    %eax,%ebx
4a98a5:	8b 0e                	mov    (%esi),%ecx
4a98a7:	e8 04 47 fb ff       	call   0x45dfb0
4a98ac:	39 45 c8             	cmp    %eax,-0x38(%ebp)
4a98af:	7c bf                	jl     0x4a9870
4a98b1:	e9 f0 08 00 00       	jmp    0x4aa1a6
4a98b6:	8b 0e                	mov    (%esi),%ecx
4a98b8:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
4a98bf:	e8 ec 46 fb ff       	call   0x45dfb0
4a98c4:	85 c0                	test   %eax,%eax
4a98c6:	0f 8e da 08 00 00    	jle    0x4aa1a6
4a98cc:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4a98cf:	c1 e0 03             	shl    $0x3,%eax
4a98d2:	89 45 c0             	mov    %eax,-0x40(%ebp)
4a98d5:	3b 1f                	cmp    (%edi),%ebx
4a98d7:	72 0a                	jb     0x4a98e3
4a98d9:	53                   	push   %ebx
4a98da:	8b cf                	mov    %edi,%ecx
4a98dc:	e8 8f fc fa ff       	call   0x459570
4a98e1:	8b d8                	mov    %eax,%ebx
4a98e3:	ff 75 bc             	push   -0x44(%ebp)
4a98e6:	8b 0e                	mov    (%esi),%ecx
4a98e8:	e8 d3 39 fb ff       	call   0x45d2c0
4a98ed:	53                   	push   %ebx
4a98ee:	ff 75 c0             	push   -0x40(%ebp)
4a98f1:	8b 38                	mov    (%eax),%edi
4a98f3:	8b 70 04             	mov    0x4(%eax),%esi
4a98f6:	e8 c5 71 fa ff       	call   0x450ac0
4a98fb:	50                   	push   %eax
4a98fc:	56                   	push   %esi
4a98fd:	57                   	push   %edi
4a98fe:	e8 cd 82 fa ff       	call   0x451bd0
4a9903:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4a9906:	83 c4 14             	add    $0x14,%esp
4a9909:	8b 7d bc             	mov    -0x44(%ebp),%edi
4a990c:	8b d8                	mov    %eax,%ebx
4a990e:	47                   	inc    %edi
4a990f:	89 7d bc             	mov    %edi,-0x44(%ebp)
4a9912:	8b 0e                	mov    (%esi),%ecx
4a9914:	e8 97 46 fb ff       	call   0x45dfb0
4a9919:	3b f8                	cmp    %eax,%edi
4a991b:	8b 7d c8             	mov    -0x38(%ebp),%edi
4a991e:	7c b5                	jl     0x4a98d5
4a9920:	e9 81 08 00 00       	jmp    0x4aa1a6
4a9925:	8b 0e                	mov    (%esi),%ecx
4a9927:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
4a992e:	e8 7d 46 fb ff       	call   0x45dfb0
4a9933:	85 c0                	test   %eax,%eax
4a9935:	0f 8e 6b 08 00 00    	jle    0x4aa1a6
4a993b:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4a993e:	c1 e0 03             	shl    $0x3,%eax
4a9941:	89 45 c0             	mov    %eax,-0x40(%ebp)
4a9944:	3b 1f                	cmp    (%edi),%ebx
4a9946:	72 0a                	jb     0x4a9952
4a9948:	53                   	push   %ebx
4a9949:	8b cf                	mov    %edi,%ecx
4a994b:	e8 20 fc fa ff       	call   0x459570
4a9950:	8b d8                	mov    %eax,%ebx
4a9952:	ff 75 c8             	push   -0x38(%ebp)
4a9955:	8b 0e                	mov    (%esi),%ecx
4a9957:	e8 54 39 fb ff       	call   0x45d2b0
4a995c:	53                   	push   %ebx
4a995d:	ff 75 c0             	push   -0x40(%ebp)
4a9960:	8b 30                	mov    (%eax),%esi
4a9962:	e8 59 71 fa ff       	call   0x450ac0
4a9967:	50                   	push   %eax
4a9968:	8b ce                	mov    %esi,%ecx
4a996a:	8d 04 36             	lea    (%esi,%esi,1),%eax
4a996d:	c1 f9 1f             	sar    $0x1f,%ecx
4a9970:	33 c8                	xor    %eax,%ecx
4a9972:	51                   	push   %ecx
4a9973:	e8 48 71 fa ff       	call   0x450ac0
4a9978:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4a997b:	83 c4 10             	add    $0x10,%esp
4a997e:	ff 45 c8             	incl   -0x38(%ebp)
4a9981:	8b d8                	mov    %eax,%ebx
4a9983:	8b 0e                	mov    (%esi),%ecx
4a9985:	e8 26 46 fb ff       	call   0x45dfb0
4a998a:	39 45 c8             	cmp    %eax,-0x38(%ebp)
4a998d:	7c b5                	jl     0x4a9944
4a998f:	e9 12 08 00 00       	jmp    0x4aa1a6
4a9994:	8b 0e                	mov    (%esi),%ecx
4a9996:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
4a999d:	e8 0e 46 fb ff       	call   0x45dfb0
4a99a2:	85 c0                	test   %eax,%eax
4a99a4:	0f 8e fc 07 00 00    	jle    0x4aa1a6
4a99aa:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4a99ad:	c1 e0 03             	shl    $0x3,%eax
4a99b0:	89 45 c0             	mov    %eax,-0x40(%ebp)
4a99b3:	3b 1f                	cmp    (%edi),%ebx
4a99b5:	72 0a                	jb     0x4a99c1
4a99b7:	53                   	push   %ebx
4a99b8:	8b cf                	mov    %edi,%ecx
4a99ba:	e8 b1 fb fa ff       	call   0x459570
4a99bf:	8b d8                	mov    %eax,%ebx
4a99c1:	ff 75 bc             	push   -0x44(%ebp)
4a99c4:	8b 0e                	mov    (%esi),%ecx
4a99c6:	e8 f5 38 fb ff       	call   0x45d2c0
4a99cb:	53                   	push   %ebx
4a99cc:	ff 75 c0             	push   -0x40(%ebp)
4a99cf:	8b 30                	mov    (%eax),%esi
4a99d1:	8b 78 04             	mov    0x4(%eax),%edi
4a99d4:	e8 e7 70 fa ff       	call   0x450ac0
4a99d9:	50                   	push   %eax
4a99da:	8b cf                	mov    %edi,%ecx
4a99dc:	8b c7                	mov    %edi,%eax
4a99de:	0f a4 f7 01          	shld   $0x1,%esi,%edi
4a99e2:	c1 f8 1f             	sar    $0x1f,%eax
4a99e5:	c1 f9 1f             	sar    $0x1f,%ecx
4a99e8:	33 c7                	xor    %edi,%eax
4a99ea:	03 f6                	add    %esi,%esi
4a99ec:	33 ce                	xor    %esi,%ecx
4a99ee:	50                   	push   %eax
4a99ef:	51                   	push   %ecx
4a99f0:	e8 db 81 fa ff       	call   0x451bd0
4a99f5:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4a99f8:	83 c4 14             	add    $0x14,%esp
4a99fb:	8b 7d bc             	mov    -0x44(%ebp),%edi
4a99fe:	8b d8                	mov    %eax,%ebx
4a9a00:	47                   	inc    %edi
4a9a01:	89 7d bc             	mov    %edi,-0x44(%ebp)
4a9a04:	8b 0e                	mov    (%esi),%ecx
4a9a06:	e8 a5 45 fb ff       	call   0x45dfb0
4a9a0b:	3b f8                	cmp    %eax,%edi
4a9a0d:	8b 7d c8             	mov    -0x38(%ebp),%edi
4a9a10:	7c a1                	jl     0x4a99b3
4a9a12:	e9 8f 07 00 00       	jmp    0x4aa1a6
4a9a17:	8b 0e                	mov    (%esi),%ecx
4a9a19:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
4a9a20:	e8 8b 45 fb ff       	call   0x45dfb0
4a9a25:	85 c0                	test   %eax,%eax
4a9a27:	0f 8e 79 07 00 00    	jle    0x4aa1a6
4a9a2d:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4a9a30:	c1 e0 03             	shl    $0x3,%eax
4a9a33:	83 c8 05             	or     $0x5,%eax
4a9a36:	89 45 c0             	mov    %eax,-0x40(%ebp)
4a9a39:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4a9a40:	3b 1f                	cmp    (%edi),%ebx
4a9a42:	72 0a                	jb     0x4a9a4e
4a9a44:	53                   	push   %ebx
4a9a45:	8b cf                	mov    %edi,%ecx
4a9a47:	e8 24 fb fa ff       	call   0x459570
4a9a4c:	8b d8                	mov    %eax,%ebx
4a9a4e:	ff 75 c8             	push   -0x38(%ebp)
4a9a51:	8b 0e                	mov    (%esi),%ecx
4a9a53:	e8 58 38 fb ff       	call   0x45d2b0
4a9a58:	53                   	push   %ebx
4a9a59:	ff 75 c0             	push   -0x40(%ebp)
4a9a5c:	8b 30                	mov    (%eax),%esi
4a9a5e:	e8 5d 70 fa ff       	call   0x450ac0
4a9a63:	ff 45 c8             	incl   -0x38(%ebp)
4a9a66:	83 c4 08             	add    $0x8,%esp
4a9a69:	89 30                	mov    %esi,(%eax)
4a9a6b:	8d 58 04             	lea    0x4(%eax),%ebx
4a9a6e:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4a9a71:	8b 0e                	mov    (%esi),%ecx
4a9a73:	e8 38 45 fb ff       	call   0x45dfb0
4a9a78:	39 45 c8             	cmp    %eax,-0x38(%ebp)
4a9a7b:	7c c3                	jl     0x4a9a40
4a9a7d:	e9 24 07 00 00       	jmp    0x4aa1a6
4a9a82:	8b 0e                	mov    (%esi),%ecx
4a9a84:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
4a9a8b:	e8 20 45 fb ff       	call   0x45dfb0
4a9a90:	85 c0                	test   %eax,%eax
4a9a92:	0f 8e 0e 07 00 00    	jle    0x4aa1a6
4a9a98:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4a9a9b:	c1 e0 03             	shl    $0x3,%eax
4a9a9e:	83 c8 01             	or     $0x1,%eax
4a9aa1:	89 45 c0             	mov    %eax,-0x40(%ebp)
4a9aa4:	3b 1f                	cmp    (%edi),%ebx
4a9aa6:	72 0a                	jb     0x4a9ab2
4a9aa8:	53                   	push   %ebx
4a9aa9:	8b cf                	mov    %edi,%ecx
4a9aab:	e8 c0 fa fa ff       	call   0x459570
4a9ab0:	8b d8                	mov    %eax,%ebx
4a9ab2:	ff 75 bc             	push   -0x44(%ebp)
4a9ab5:	8b 0e                	mov    (%esi),%ecx
4a9ab7:	e8 04 38 fb ff       	call   0x45d2c0
4a9abc:	53                   	push   %ebx
4a9abd:	ff 75 c0             	push   -0x40(%ebp)
4a9ac0:	8b 30                	mov    (%eax),%esi
4a9ac2:	8b 78 04             	mov    0x4(%eax),%edi
4a9ac5:	e8 f6 6f fa ff       	call   0x450ac0
4a9aca:	83 c4 08             	add    $0x8,%esp