4ab6ed:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
4ab6f4:	8b c1                	mov    %ecx,%eax
4ab6f6:	8b d6                	mov    %esi,%edx
4ab6f8:	4e                   	dec    %esi
4ab6f9:	85 d2                	test   %edx,%edx
4ab6fb:	0f 84 f0 01 00 00    	je     0x4ab8f1
4ab701:	66 83 38 00          	cmpw   $0x0,(%eax)
4ab705:	0f 84 e6 01 00 00    	je     0x4ab8f1
4ab70b:	40                   	inc    %eax
4ab70c:	40                   	inc    %eax
4ab70d:	eb e7                	jmp    0x4ab6f6
4ab70f:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
4ab716:	80 c3 20             	add    $0x20,%bl
4ab719:	83 4d fc 40          	orl    $0x40,-0x4(%ebp)
4ab71d:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4ab721:	8d bd b4 fd ff ff    	lea    -0x24c(%ebp),%edi
4ab727:	89 7d f4             	mov    %edi,-0xc(%ebp)
4ab72a:	0f 8d cd 00 00 00    	jge    0x4ab7fd
4ab730:	c7 45 f8 06 00 00 00 	movl   $0x6,-0x8(%ebp)
4ab737:	e9 06 01 00 00       	jmp    0x4ab842
4ab73c:	66 f7 45 fc 30 08    	testw  $0x830,-0x4(%ebp)
4ab742:	75 03                	jne    0x4ab747
4ab744:	09 7d fc             	or     %edi,-0x4(%ebp)
4ab747:	66 f7 45 fc 10 08    	testw  $0x810,-0x4(%ebp)
4ab74d:	8d 45 10             	lea    0x10(%ebp),%eax
4ab750:	50                   	push   %eax
4ab751:	74 3b                	je     0x4ab78e
4ab753:	e8 77 05 00 00       	call   0x4abccf
4ab758:	50                   	push   %eax
4ab759:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
4ab75f:	50                   	push   %eax
4ab760:	e8 89 58 00 00       	call   0x4b0fee
4ab765:	83 c4 0c             	add    $0xc,%esp
4ab768:	89 45 f0             	mov    %eax,-0x10(%ebp)
4ab76b:	85 c0                	test   %eax,%eax
4ab76d:	7d 32                	jge    0x4ab7a1
4ab76f:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
4ab776:	eb 29                	jmp    0x4ab7a1
4ab778:	83 e8 5a             	sub    $0x5a,%eax
4ab77b:	74 32                	je     0x4ab7af
4ab77d:	83 e8 09             	sub    $0x9,%eax
4ab780:	74 c5                	je     0x4ab747
4ab782:	48                   	dec    %eax
4ab783:	0f 84 02 02 00 00    	je     0x4ab98b
4ab789:	e9 3c 03 00 00       	jmp    0x4abaca
4ab78e:	e8 1f 05 00 00       	call   0x4abcb2
4ab793:	59                   	pop    %ecx
4ab794:	88 85 b4 fd ff ff    	mov    %al,-0x24c(%ebp)
4ab79a:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
4ab7a1:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
4ab7a7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4ab7aa:	e9 1b 03 00 00       	jmp    0x4abaca
4ab7af:	8d 45 10             	lea    0x10(%ebp),%eax
4ab7b2:	50                   	push   %eax
4ab7b3:	e8 fa 04 00 00       	call   0x4abcb2
4ab7b8:	85 c0                	test   %eax,%eax
4ab7ba:	59                   	pop    %ecx
4ab7bb:	74 32                	je     0x4ab7ef
4ab7bd:	8b 48 04             	mov    0x4(%eax),%ecx
4ab7c0:	85 c9                	test   %ecx,%ecx
4ab7c2:	74 2b                	je     0x4ab7ef
4ab7c4:	85 7d fc             	test   %edi,-0x4(%ebp)
4ab7c7:	74 17                	je     0x4ab7e0
4ab7c9:	0f bf 00             	movswl (%eax),%eax
4ab7cc:	d1 e8                	shr    $1,%eax
4ab7ce:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4ab7d1:	89 45 f0             	mov    %eax,-0x10(%ebp)
4ab7d4:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
4ab7db:	e9 ea 02 00 00       	jmp    0x4abaca
4ab7e0:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
4ab7e4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4ab7e7:	0f bf 00             	movswl (%eax),%eax
4ab7ea:	e9 d8 02 00 00       	jmp    0x4abac7
4ab7ef:	a1 d8 a4 50 00       	mov    0x50a4d8,%eax
4ab7f4:	89 45 f4             	mov    %eax,-0xc(%ebp)
4ab7f7:	50                   	push   %eax
4ab7f8:	e9 aa 00 00 00       	jmp    0x4ab8a7
4ab7fd:	75 0e                	jne    0x4ab80d
4ab7ff:	80 fb 67             	cmp    $0x67,%bl
4ab802:	75 3e                	jne    0x4ab842
4ab804:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4ab80b:	eb 35                	jmp    0x4ab842
4ab80d:	39 55 f8             	cmp    %edx,-0x8(%ebp)
4ab810:	7e 03                	jle    0x4ab815
4ab812:	89 55 f8             	mov    %edx,-0x8(%ebp)
4ab815:	81 7d f8 a3 00 00 00 	cmpl   $0xa3,-0x8(%ebp)
4ab81c:	7e 24                	jle    0x4ab842
4ab81e:	8b 45 f8             	mov    -0x8(%ebp),%eax
4ab821:	05 5d 01 00 00       	add    $0x15d,%eax
4ab826:	50                   	push   %eax
4ab827:	e8 8a cd ff ff       	call   0x4a85b6
4ab82c:	85 c0                	test   %eax,%eax
4ab82e:	59                   	pop    %ecx
4ab82f:	89 45 d0             	mov    %eax,-0x30(%ebp)
4ab832:	74 07                	je     0x4ab83b
4ab834:	8b f8                	mov    %eax,%edi
4ab836:	89 7d f4             	mov    %edi,-0xc(%ebp)
4ab839:	eb 07                	jmp    0x4ab842
4ab83b:	c7 45 f8 a3 00 00 00 	movl   $0xa3,-0x8(%ebp)
4ab842:	8b 45 10             	mov    0x10(%ebp),%eax
4ab845:	ff 75 c0             	push   -0x40(%ebp)
4ab848:	83 c0 08             	add    $0x8,%eax
4ab84b:	89 45 10             	mov    %eax,0x10(%ebp)
4ab84e:	ff 75 f8             	push   -0x8(%ebp)
4ab851:	8b 48 f8             	mov    -0x8(%eax),%ecx
4ab854:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
4ab857:	8b 40 fc             	mov    -0x4(%eax),%eax
4ab85a:	89 45 b8             	mov    %eax,-0x48(%ebp)
4ab85d:	0f be c3             	movsbl %bl,%eax
4ab860:	50                   	push   %eax
4ab861:	8d 45 b4             	lea    -0x4c(%ebp),%eax
4ab864:	57                   	push   %edi
4ab865:	50                   	push   %eax
4ab866:	ff 15 c0 a4 50 00    	call   *0x50a4c0
4ab86c:	8b 75 fc             	mov    -0x4(%ebp),%esi
4ab86f:	83 c4 14             	add    $0x14,%esp
4ab872:	81 e6 80 00 00 00    	and    $0x80,%esi
4ab878:	74 0e                	je     0x4ab888
4ab87a:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4ab87e:	75 08                	jne    0x4ab888
4ab880:	57                   	push   %edi
4ab881:	ff 15 cc a4 50 00    	call   *0x50a4cc
4ab887:	59                   	pop    %ecx
4ab888:	80 fb 67             	cmp    $0x67,%bl
4ab88b:	75 0c                	jne    0x4ab899
4ab88d:	85 f6                	test   %esi,%esi
4ab88f:	75 08                	jne    0x4ab899
4ab891:	57                   	push   %edi
4ab892:	ff 15 c4 a4 50 00    	call   *0x50a4c4
4ab898:	59                   	pop    %ecx
4ab899:	80 3f 2d             	cmpb   $0x2d,(%edi)
4ab89c:	75 08                	jne    0x4ab8a6
4ab89e:	80 4d fd 01          	orb    $0x1,-0x3(%ebp)
4ab8a2:	47                   	inc    %edi
4ab8a3:	89 7d f4             	mov    %edi,-0xc(%ebp)
4ab8a6:	57                   	push   %edi
4ab8a7:	e8 54 39 00 00       	call   0x4af200
4ab8ac:	59                   	pop    %ecx
4ab8ad:	e9 15 02 00 00       	jmp    0x4abac7
4ab8b2:	83 e8 69             	sub    $0x69,%eax
4ab8b5:	0f 84 d0 00 00 00    	je     0x4ab98b
4ab8bb:	83 e8 05             	sub    $0x5,%eax
4ab8be:	0f 84 9d 00 00 00    	je     0x4ab961
4ab8c4:	48                   	dec    %eax
4ab8c5:	0f 84 84 00 00 00    	je     0x4ab94f
4ab8cb:	48                   	dec    %eax
4ab8cc:	74 51                	je     0x4ab91f
4ab8ce:	83 e8 03             	sub    $0x3,%eax
4ab8d1:	0f 84 e0 fd ff ff    	je     0x4ab6b7
4ab8d7:	48                   	dec    %eax
4ab8d8:	48                   	dec    %eax
4ab8d9:	0f 84 b0 00 00 00    	je     0x4ab98f
4ab8df:	83 e8 03             	sub    $0x3,%eax
4ab8e2:	0f 85 e2 01 00 00    	jne    0x4abaca
4ab8e8:	c7 45 cc 27 00 00 00 	movl   $0x27,-0x34(%ebp)
4ab8ef:	eb 3c                	jmp    0x4ab92d
4ab8f1:	2b c1                	sub    %ecx,%eax
4ab8f3:	d1 f8                	sar    $1,%eax
4ab8f5:	e9 cd 01 00 00       	jmp    0x4abac7
4ab8fa:	85 c9                	test   %ecx,%ecx
4ab8fc:	75 09                	jne    0x4ab907
4ab8fe:	8b 0d d8 a4 50 00    	mov    0x50a4d8,%ecx
4ab904:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4ab907:	8b c1                	mov    %ecx,%eax
4ab909:	8b d6                	mov    %esi,%edx
4ab90b:	4e                   	dec    %esi
4ab90c:	85 d2                	test   %edx,%edx
4ab90e:	74 08                	je     0x4ab918
4ab910:	80 38 00             	cmpb   $0x0,(%eax)
4ab913:	74 03                	je     0x4ab918
4ab915:	40                   	inc    %eax
4ab916:	eb f1                	jmp    0x4ab909
4ab918:	2b c1                	sub    %ecx,%eax
4ab91a:	e9 a8 01 00 00       	jmp    0x4abac7
4ab91f:	c7 45 f8 08 00 00 00 	movl   $0x8,-0x8(%ebp)
4ab926:	c7 45 cc 07 00 00 00 	movl   $0x7,-0x34(%ebp)
4ab92d:	f6 45 fc 80          	testb  $0x80,-0x4(%ebp)
4ab931:	c7 45 f0 10 00 00 00 	movl   $0x10,-0x10(%ebp)
4ab938:	74 5c                	je     0x4ab996
4ab93a:	8a 45 cc             	mov    -0x34(%ebp),%al
4ab93d:	c6 45 ea 30          	movb   $0x30,-0x16(%ebp)
4ab941:	04 51                	add    $0x51,%al
4ab943:	c7 45 dc 02 00 00 00 	movl   $0x2,-0x24(%ebp)
4ab94a:	88 45 eb             	mov    %al,-0x15(%ebp)
4ab94d:	eb 47                	jmp    0x4ab996
4ab94f:	f6 45 fc 80          	testb  $0x80,-0x4(%ebp)
4ab953:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
4ab95a:	74 3a                	je     0x4ab996
4ab95c:	09 55 fc             	or     %edx,-0x4(%ebp)
4ab95f:	eb 35                	jmp    0x4ab996
4ab961:	8d 45 10             	lea    0x10(%ebp),%eax
4ab964:	50                   	push   %eax
4ab965:	e8 48 03 00 00       	call   0x4abcb2
4ab96a:	f6 45 fc 20          	testb  $0x20,-0x4(%ebp)
4ab96e:	59                   	pop    %ecx
4ab96f:	74 09                	je     0x4ab97a
4ab971:	66 8b 4d ec          	mov    -0x14(%ebp),%cx
4ab975:	66 89 08             	mov    %cx,(%eax)
4ab978:	eb 05                	jmp    0x4ab97f
4ab97a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4ab97d:	89 08                	mov    %ecx,(%eax)
4ab97f:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
4ab986:	e9 3d 02 00 00       	jmp    0x4abbc8
4ab98b:	83 4d fc 40          	orl    $0x40,-0x4(%ebp)
4ab98f:	c7 45 f0 0a 00 00 00 	movl   $0xa,-0x10(%ebp)
4ab996:	f6 45 fd 80          	testb  $0x80,-0x3(%ebp)
4ab99a:	74 0c                	je     0x4ab9a8
4ab99c:	8d 45 10             	lea    0x10(%ebp),%eax
4ab99f:	50                   	push   %eax
4ab9a0:	e8 1a 03 00 00       	call   0x4abcbf
4ab9a5:	59                   	pop    %ecx
4ab9a6:	eb 41                	jmp    0x4ab9e9
4ab9a8:	f6 45 fc 20          	testb  $0x20,-0x4(%ebp)
4ab9ac:	74 21                	je     0x4ab9cf
4ab9ae:	f6 45 fc 40          	testb  $0x40,-0x4(%ebp)
4ab9b2:	8d 45 10             	lea    0x10(%ebp),%eax
4ab9b5:	50                   	push   %eax
4ab9b6:	74 0c                	je     0x4ab9c4
4ab9b8:	e8 f5 02 00 00       	call   0x4abcb2
4ab9bd:	59                   	pop    %ecx
4ab9be:	0f bf c0             	movswl %ax,%eax
4ab9c1:	99                   	cltd
4ab9c2:	eb 25                	jmp    0x4ab9e9
4ab9c4:	e8 e9 02 00 00       	call   0x4abcb2
4ab9c9:	59                   	pop    %ecx
4ab9ca:	0f b7 c0             	movzwl %ax,%eax
4ab9cd:	eb f2                	jmp    0x4ab9c1
4ab9cf:	f6 45 fc 40          	testb  $0x40,-0x4(%ebp)
4ab9d3:	8d 45 10             	lea    0x10(%ebp),%eax
4ab9d6:	50                   	push   %eax
4ab9d7:	74 08                	je     0x4ab9e1
4ab9d9:	e8 d4 02 00 00       	call   0x4abcb2
4ab9de:	59                   	pop    %ecx
4ab9df:	eb e0                	jmp    0x4ab9c1
4ab9e1:	e8 cc 02 00 00       	call   0x4abcb2
4ab9e6:	59                   	pop    %ecx
4ab9e7:	33 d2                	xor    %edx,%edx
4ab9e9:	f6 45 fc 40          	testb  $0x40,-0x4(%ebp)
4ab9ed:	74 1d                	je     0x4aba0c
4ab9ef:	85 d2                	test   %edx,%edx
4ab9f1:	7f 19                	jg     0x4aba0c
4ab9f3:	7c 04                	jl     0x4ab9f9
4ab9f5:	85 c0                	test   %eax,%eax
4ab9f7:	73 13                	jae    0x4aba0c
4ab9f9:	f7 d8                	neg    %eax
4ab9fb:	83 d2 00             	adc    $0x0,%edx
4ab9fe:	89 45 e0             	mov    %eax,-0x20(%ebp)
4aba01:	f7 da                	neg    %edx
4aba03:	80 4d fd 01          	orb    $0x1,-0x3(%ebp)
4aba07:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4aba0a:	eb 06                	jmp    0x4aba12
4aba0c:	89 45 e0             	mov    %eax,-0x20(%ebp)
4aba0f:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4aba12:	f6 45 fd 80          	testb  $0x80,-0x3(%ebp)
4aba16:	75 04                	jne    0x4aba1c
4aba18:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4aba1c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4aba20:	7d 09                	jge    0x4aba2b
4aba22:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
4aba29:	eb 11                	jmp    0x4aba3c
4aba2b:	83 65 fc f7          	andl   $0xfffffff7,-0x4(%ebp)
4aba2f:	b8 00 02 00 00       	mov    $0x200,%eax
4aba34:	39 45 f8             	cmp    %eax,-0x8(%ebp)
4aba37:	7e 03                	jle    0x4aba3c
4aba39:	89 45 f8             	mov    %eax,-0x8(%ebp)
4aba3c:	8b 45 e0             	mov    -0x20(%ebp),%eax
4aba3f:	0b 45 e4             	or     -0x1c(%ebp),%eax
4aba42:	75 04                	jne    0x4aba48
4aba44:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
4aba48:	8d 45 b3             	lea    -0x4d(%ebp),%eax
4aba4b:	89 45 f4             	mov    %eax,-0xc(%ebp)
4aba4e:	8b 45 f8             	mov    -0x8(%ebp),%eax
4aba51:	ff 4d f8             	decl   -0x8(%ebp)
4aba54:	85 c0                	test   %eax,%eax
4aba56:	7f 08                	jg     0x4aba60
4aba58:	8b 45 e0             	mov    -0x20(%ebp),%eax
4aba5b:	0b 45 e4             	or     -0x1c(%ebp),%eax
4aba5e:	74 3f                	je     0x4aba9f
4aba60:	8b 45 f0             	mov    -0x10(%ebp),%eax
4aba63:	99                   	cltd
4aba64:	8b fa                	mov    %edx,%edi
4aba66:	8b f0                	mov    %eax,%esi
4aba68:	57                   	push   %edi
4aba69:	56                   	push   %esi
4aba6a:	ff 75 e4             	push   -0x1c(%ebp)
4aba6d:	ff 75 e0             	push   -0x20(%ebp)
4aba70:	e8 ab 56 00 00       	call   0x4b1120
4aba75:	57                   	push   %edi
4aba76:	56                   	push   %esi
4aba77:	ff 75 e4             	push   -0x1c(%ebp)
4aba7a:	8b d8                	mov    %eax,%ebx
4aba7c:	83 c3 30             	add    $0x30,%ebx
4aba7f:	ff 75 e0             	push   -0x20(%ebp)
4aba82:	e8 29 56 00 00       	call   0x4b10b0
4aba87:	83 fb 39             	cmp    $0x39,%ebx
4aba8a:	89 45 e0             	mov    %eax,-0x20(%ebp)
4aba8d:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4aba90:	7e 03                	jle    0x4aba95
4aba92:	03 5d cc             	add    -0x34(%ebp),%ebx
4aba95:	8b 45 f4             	mov    -0xc(%ebp),%eax
4aba98:	ff 4d f4             	decl   -0xc(%ebp)
4aba9b:	88 18                	mov    %bl,(%eax)
4aba9d:	eb af                	jmp    0x4aba4e
4aba9f:	8d 45 b3             	lea    -0x4d(%ebp),%eax
4abaa2:	2b 45 f4             	sub    -0xc(%ebp),%eax
4abaa5:	ff 45 f4             	incl   -0xc(%ebp)
4abaa8:	f6 45 fd 02          	testb  $0x2,-0x3(%ebp)
4abaac:	89 45 f0             	mov    %eax,-0x10(%ebp)
4abaaf:	74 19                	je     0x4abaca
4abab1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4abab4:	80 39 30             	cmpb   $0x30,(%ecx)
4abab7:	75 04                	jne    0x4ababd
4abab9:	85 c0                	test   %eax,%eax
4ababb:	75 0d                	jne    0x4abaca
4ababd:	ff 4d f4             	decl   -0xc(%ebp)
4abac0:	40                   	inc    %eax
4abac1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4abac4:	c6 01 30             	movb   $0x30,(%ecx)
4abac7:	89 45 f0             	mov    %eax,-0x10(%ebp)
4abaca:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
4abace:	0f 85 f4 00 00 00    	jne    0x4abbc8
4abad4:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4abad7:	f6 c3 40             	test   $0x40,%bl
4abada:	74 26                	je     0x4abb02
4abadc:	f6 c7 01             	test   $0x1,%bh
4abadf:	74 06                	je     0x4abae7
4abae1:	c6 45 ea 2d          	movb   $0x2d,-0x16(%ebp)
4abae5:	eb 14                	jmp    0x4abafb
4abae7:	f6 c3 01             	test   $0x1,%bl
4abaea:	74 06                	je     0x4abaf2
4abaec:	c6 45 ea 2b          	movb   $0x2b,-0x16(%ebp)
4abaf0:	eb 09                	jmp    0x4abafb
4abaf2:	f6 c3 02             	test   $0x2,%bl
4abaf5:	74 0b                	je     0x4abb02
4abaf7:	c6 45 ea 20          	movb   $0x20,-0x16(%ebp)
4abafb:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
4abb02:	8b 75 d8             	mov    -0x28(%ebp),%esi
4abb05:	2b 75 dc             	sub    -0x24(%ebp),%esi
4abb08:	2b 75 f0             	sub    -0x10(%ebp),%esi
4abb0b:	f6 c3 0c             	test   $0xc,%bl
4abb0e:	75 12                	jne    0x4abb22
4abb10:	8d 45 ec             	lea    -0x14(%ebp),%eax
4abb13:	50                   	push   %eax
4abb14:	ff 75 08             	push   0x8(%ebp)
4abb17:	56                   	push   %esi
4abb18:	6a 20                	push   $0x20
4abb1a:	e8 2a 01 00 00       	call   0x4abc49
4abb1f:	83 c4 10             	add    $0x10,%esp
4abb22:	8d 45 ec             	lea    -0x14(%ebp),%eax
4abb25:	50                   	push   %eax