4a8838:	5f                   	pop    %edi
4a8839:	c3                   	ret
4a883a:	f7 c7 03 00 00 00    	test   $0x3,%edi
4a8840:	74 12                	je     0x4a8854
4a8842:	88 07                	mov    %al,(%edi)
4a8844:	47                   	inc    %edi
4a8845:	49                   	dec    %ecx
4a8846:	0f 84 8a 00 00 00    	je     0x4a88d6
4a884c:	f7 c7 03 00 00 00    	test   $0x3,%edi
4a8852:	75 ee                	jne    0x4a8842
4a8854:	8b d9                	mov    %ecx,%ebx
4a8856:	c1 e9 02             	shr    $0x2,%ecx
4a8859:	75 6c                	jne    0x4a88c7
4a885b:	88 07                	mov    %al,(%edi)
4a885d:	47                   	inc    %edi
4a885e:	4b                   	dec    %ebx
4a885f:	75 fa                	jne    0x4a885b
4a8861:	5b                   	pop    %ebx
4a8862:	5e                   	pop    %esi
4a8863:	8b 44 24 08          	mov    0x8(%esp),%eax
4a8867:	5f                   	pop    %edi
4a8868:	c3                   	ret
4a8869:	89 17                	mov    %edx,(%edi)
4a886b:	83 c7 04             	add    $0x4,%edi
4a886e:	49                   	dec    %ecx
4a886f:	74 af                	je     0x4a8820
4a8871:	ba ff fe fe 7e       	mov    $0x7efefeff,%edx
4a8876:	8b 06                	mov    (%esi),%eax
4a8878:	03 d0                	add    %eax,%edx
4a887a:	83 f0 ff             	xor    $0xffffffff,%eax
4a887d:	33 c2                	xor    %edx,%eax
4a887f:	8b 16                	mov    (%esi),%edx
4a8881:	83 c6 04             	add    $0x4,%esi
4a8884:	a9 00 01 01 81       	test   $0x81010100,%eax
4a8889:	74 de                	je     0x4a8869
4a888b:	84 d2                	test   %dl,%dl
4a888d:	74 2c                	je     0x4a88bb
4a888f:	84 f6                	test   %dh,%dh
4a8891:	74 1e                	je     0x4a88b1
4a8893:	f7 c2 00 00 ff 00    	test   $0xff0000,%edx
4a8899:	74 0c                	je     0x4a88a7
4a889b:	f7 c2 00 00 00 ff    	test   $0xff000000,%edx
4a88a1:	75 c6                	jne    0x4a8869
4a88a3:	89 17                	mov    %edx,(%edi)
4a88a5:	eb 18                	jmp    0x4a88bf
4a88a7:	81 e2 ff ff 00 00    	and    $0xffff,%edx
4a88ad:	89 17                	mov    %edx,(%edi)
4a88af:	eb 0e                	jmp    0x4a88bf
4a88b1:	81 e2 ff 00 00 00    	and    $0xff,%edx
4a88b7:	89 17                	mov    %edx,(%edi)
4a88b9:	eb 04                	jmp    0x4a88bf
4a88bb:	33 d2                	xor    %edx,%edx
4a88bd:	89 17                	mov    %edx,(%edi)
4a88bf:	83 c7 04             	add    $0x4,%edi
4a88c2:	33 c0                	xor    %eax,%eax
4a88c4:	49                   	dec    %ecx
4a88c5:	74 0a                	je     0x4a88d1
4a88c7:	33 c0                	xor    %eax,%eax
4a88c9:	89 07                	mov    %eax,(%edi)
4a88cb:	83 c7 04             	add    $0x4,%edi
4a88ce:	49                   	dec    %ecx
4a88cf:	75 f8                	jne    0x4a88c9
4a88d1:	83 e3 03             	and    $0x3,%ebx
4a88d4:	75 85                	jne    0x4a885b
4a88d6:	8b 44 24 10          	mov    0x10(%esp),%eax
4a88da:	5b                   	pop    %ebx
4a88db:	5e                   	pop    %esi
4a88dc:	5f                   	pop    %edi
4a88dd:	c3                   	ret
4a88de:	55                   	push   %ebp
4a88df:	8b ec                	mov    %esp,%ebp
4a88e1:	51                   	push   %ecx
4a88e2:	53                   	push   %ebx
4a88e3:	56                   	push   %esi
4a88e4:	57                   	push   %edi
4a88e5:	8b 45 0c             	mov    0xc(%ebp),%eax
4a88e8:	83 c0 0c             	add    $0xc,%eax
4a88eb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4a88ee:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
4a88f5:	8b 03                	mov    (%ebx),%eax
4a88f7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4a88fd:	8b 45 08             	mov    0x8(%ebp),%eax
4a8900:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4a8903:	8b 63 fc             	mov    -0x4(%ebx),%esp
4a8906:	8b 6d fc             	mov    -0x4(%ebp),%ebp
4a8909:	ff e0                	jmp    *%eax
4a890b:	5f                   	pop    %edi
4a890c:	5e                   	pop    %esi
4a890d:	5b                   	pop    %ebx
4a890e:	c9                   	leave
4a890f:	c2 08 00             	ret    $0x8
4a8912:	58                   	pop    %eax
4a8913:	59                   	pop    %ecx
4a8914:	87 04 24             	xchg   %eax,(%esp)
4a8917:	ff e0                	jmp    *%eax
4a8919:	58                   	pop    %eax
4a891a:	59                   	pop    %ecx
4a891b:	87 04 24             	xchg   %eax,(%esp)
4a891e:	ff e0                	jmp    *%eax
4a8920:	55                   	push   %ebp
4a8921:	8b ec                	mov    %esp,%ebp
4a8923:	51                   	push   %ecx
4a8924:	51                   	push   %ecx
4a8925:	53                   	push   %ebx
4a8926:	56                   	push   %esi
4a8927:	57                   	push   %edi
4a8928:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4a892e:	89 45 f8             	mov    %eax,-0x8(%ebp)
4a8931:	c7 45 fc 48 89 4a 00 	movl   $0x4a8948,-0x4(%ebp)
4a8938:	6a 00                	push   $0x0
4a893a:	ff 75 0c             	push   0xc(%ebp)
4a893d:	ff 75 fc             	push   -0x4(%ebp)
4a8940:	ff 75 08             	push   0x8(%ebp)
4a8943:	e8 e8 9d 00 00       	call   0x4b2730
4a8948:	8b 45 0c             	mov    0xc(%ebp),%eax
4a894b:	8b 40 04             	mov    0x4(%eax),%eax
4a894e:	24 fd                	and    $0xfd,%al
4a8950:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4a8953:	89 41 04             	mov    %eax,0x4(%ecx)
4a8956:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4a895c:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4a895f:	89 03                	mov    %eax,(%ebx)
4a8961:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
4a8968:	5f                   	pop    %edi
4a8969:	5e                   	pop    %esi
4a896a:	5b                   	pop    %ebx
4a896b:	c9                   	leave
4a896c:	c2 08 00             	ret    $0x8
4a896f:	55                   	push   %ebp
4a8970:	8b ec                	mov    %esp,%ebp
4a8972:	83 ec 04             	sub    $0x4,%esp
4a8975:	53                   	push   %ebx
4a8976:	56                   	push   %esi
4a8977:	57                   	push   %edi
4a8978:	fc                   	cld
4a8979:	89 45 fc             	mov    %eax,-0x4(%ebp)
4a897c:	33 c0                	xor    %eax,%eax
4a897e:	50                   	push   %eax
4a897f:	50                   	push   %eax
4a8980:	50                   	push   %eax
4a8981:	ff 75 fc             	push   -0x4(%ebp)
4a8984:	ff 75 14             	push   0x14(%ebp)
4a8987:	ff 75 10             	push   0x10(%ebp)
4a898a:	ff 75 0c             	push   0xc(%ebp)
4a898d:	ff 75 08             	push   0x8(%ebp)
4a8990:	e8 3a 4e 00 00       	call   0x4ad7cf
4a8995:	83 c4 20             	add    $0x20,%esp
4a8998:	89 45 14             	mov    %eax,0x14(%ebp)
4a899b:	5f                   	pop    %edi
4a899c:	5e                   	pop    %esi
4a899d:	5b                   	pop    %ebx
4a899e:	8b 45 14             	mov    0x14(%ebp),%eax
4a89a1:	8b e5                	mov    %ebp,%esp
4a89a3:	5d                   	pop    %ebp
4a89a4:	c3                   	ret
4a89a5:	55                   	push   %ebp
4a89a6:	8b ec                	mov    %esp,%ebp
4a89a8:	83 ec 14             	sub    $0x14,%esp
4a89ab:	8b 45 0c             	mov    0xc(%ebp),%eax
4a89ae:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
4a89b2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4a89b5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4a89b8:	8b 45 14             	mov    0x14(%ebp),%eax
4a89bb:	c7 45 f0 f9 89 4a 00 	movl   $0x4a89f9,-0x10(%ebp)
4a89c2:	40                   	inc    %eax
4a89c3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4a89c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4a89c9:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4a89cf:	89 45 ec             	mov    %eax,-0x14(%ebp)
4a89d2:	8d 85 ec ff ff ff    	lea    -0x14(%ebp),%eax
4a89d8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4a89de:	ff 75 18             	push   0x18(%ebp)
4a89e1:	51                   	push   %ecx
4a89e2:	ff 75 10             	push   0x10(%ebp)
4a89e5:	e8 06 56 00 00       	call   0x4adff0
4a89ea:	8b c8                	mov    %eax,%ecx
4a89ec:	8b 45 ec             	mov    -0x14(%ebp),%eax
4a89ef:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4a89f5:	8b c1                	mov    %ecx,%eax
4a89f7:	c9                   	leave
4a89f8:	c3                   	ret
4a89f9:	55                   	push   %ebp
4a89fa:	8b ec                	mov    %esp,%ebp
4a89fc:	fc                   	cld
4a89fd:	8b 45 0c             	mov    0xc(%ebp),%eax
4a8a00:	6a 00                	push   $0x0
4a8a02:	50                   	push   %eax
4a8a03:	ff 70 10             	push   0x10(%eax)
4a8a06:	ff 70 08             	push   0x8(%eax)
4a8a09:	6a 00                	push   $0x0
4a8a0b:	ff 75 10             	push   0x10(%ebp)
4a8a0e:	ff 70 0c             	push   0xc(%eax)
4a8a11:	ff 75 08             	push   0x8(%ebp)
4a8a14:	e8 b6 4d 00 00       	call   0x4ad7cf
4a8a19:	83 c4 20             	add    $0x20,%esp
4a8a1c:	5d                   	pop    %ebp
4a8a1d:	c3                   	ret
4a8a1e:	55                   	push   %ebp
4a8a1f:	8b ec                	mov    %esp,%ebp
4a8a21:	83 ec 34             	sub    $0x34,%esp
4a8a24:	53                   	push   %ebx
4a8a25:	56                   	push   %esi
4a8a26:	57                   	push   %edi
4a8a27:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
4a8a2b:	c7 45 dc d4 8a 4a 00 	movl   $0x4a8ad4,-0x24(%ebp)
4a8a32:	8b 45 18             	mov    0x18(%ebp),%eax
4a8a35:	89 45 e0             	mov    %eax,-0x20(%ebp)
4a8a38:	8b 45 0c             	mov    0xc(%ebp),%eax
4a8a3b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4a8a3e:	8b 45 1c             	mov    0x1c(%ebp),%eax
4a8a41:	89 45 e8             	mov    %eax,-0x18(%ebp)
4a8a44:	8b 45 20             	mov    0x20(%ebp),%eax
4a8a47:	89 45 ec             	mov    %eax,-0x14(%ebp)
4a8a4a:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4a8a4e:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4a8a52:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4a8a56:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4a8a5a:	c7 45 f0 a6 8a 4a 00 	movl   $0x4a8aa6,-0x10(%ebp)
4a8a61:	89 65 f4             	mov    %esp,-0xc(%ebp)
4a8a64:	89 6d f8             	mov    %ebp,-0x8(%ebp)
4a8a67:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4a8a6d:	89 45 d8             	mov    %eax,-0x28(%ebp)
4a8a70:	8d 85 d8 ff ff ff    	lea    -0x28(%ebp),%eax
4a8a76:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4a8a7c:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
4a8a83:	8b 45 08             	mov    0x8(%ebp),%eax
4a8a86:	89 45 d0             	mov    %eax,-0x30(%ebp)
4a8a89:	8b 45 10             	mov    0x10(%ebp),%eax
4a8a8c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4a8a8f:	8d 45 d0             	lea    -0x30(%ebp),%eax
4a8a92:	50                   	push   %eax
4a8a93:	8b 45 08             	mov    0x8(%ebp),%eax
4a8a96:	ff 30                	push   (%eax)
4a8a98:	e8 06 17 00 00       	call   0x4aa1a3
4a8a9d:	ff 50 68             	call   *0x68(%eax)
4a8aa0:	59                   	pop    %ecx
4a8aa1:	59                   	pop    %ecx
4a8aa2:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
4a8aa6:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4a8aaa:	74 17                	je     0x4a8ac3
4a8aac:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
4a8ab3:	8b 03                	mov    (%ebx),%eax
4a8ab5:	8b 5d d8             	mov    -0x28(%ebp),%ebx
4a8ab8:	89 03                	mov    %eax,(%ebx)
4a8aba:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
4a8ac1:	eb 09                	jmp    0x4a8acc
4a8ac3:	8b 45 d8             	mov    -0x28(%ebp),%eax
4a8ac6:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4a8acc:	8b 45 cc             	mov    -0x34(%ebp),%eax
4a8acf:	5f                   	pop    %edi
4a8ad0:	5e                   	pop    %esi
4a8ad1:	5b                   	pop    %ebx
4a8ad2:	c9                   	leave
4a8ad3:	c3                   	ret
4a8ad4:	55                   	push   %ebp
4a8ad5:	8b ec                	mov    %esp,%ebp
4a8ad7:	53                   	push   %ebx
4a8ad8:	56                   	push   %esi
4a8ad9:	57                   	push   %edi
4a8ada:	fc                   	cld
4a8adb:	8b 45 08             	mov    0x8(%ebp),%eax
4a8ade:	8b 40 04             	mov    0x4(%eax),%eax
4a8ae1:	83 e0 66             	and    $0x66,%eax
4a8ae4:	85 c0                	test   %eax,%eax
4a8ae6:	74 0f                	je     0x4a8af7
4a8ae8:	8b 45 0c             	mov    0xc(%ebp),%eax
4a8aeb:	c7 40 24 01 00 00 00 	movl   $0x1,0x24(%eax)
4a8af2:	6a 01                	push   $0x1
4a8af4:	58                   	pop    %eax
4a8af5:	eb 4d                	jmp    0x4a8b44
4a8af7:	6a 01                	push   $0x1
4a8af9:	8b 45 0c             	mov    0xc(%ebp),%eax
4a8afc:	ff 70 14             	push   0x14(%eax)
4a8aff:	8b 45 0c             	mov    0xc(%ebp),%eax
4a8b02:	ff 70 10             	push   0x10(%eax)
4a8b05:	8b 45 0c             	mov    0xc(%ebp),%eax
4a8b08:	ff 70 08             	push   0x8(%eax)
4a8b0b:	6a 00                	push   $0x0
4a8b0d:	ff 75 10             	push   0x10(%ebp)
4a8b10:	8b 45 0c             	mov    0xc(%ebp),%eax
4a8b13:	ff 70 0c             	push   0xc(%eax)
4a8b16:	ff 75 08             	push   0x8(%ebp)
4a8b19:	e8 b1 4c 00 00       	call   0x4ad7cf
4a8b1e:	83 c4 20             	add    $0x20,%esp
4a8b21:	8b 45 0c             	mov    0xc(%ebp),%eax
4a8b24:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
4a8b28:	75 0b                	jne    0x4a8b35
4a8b2a:	ff 75 08             	push   0x8(%ebp)
4a8b2d:	ff 75 0c             	push   0xc(%ebp)
4a8b30:	e8 eb fd ff ff       	call   0x4a8920
4a8b35:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4a8b38:	8b 63 1c             	mov    0x1c(%ebx),%esp
4a8b3b:	8b 6b 20             	mov    0x20(%ebx),%ebp
4a8b3e:	ff 63 18             	jmp    *0x18(%ebx)
4a8b41:	6a 01                	push   $0x1
4a8b43:	58                   	pop    %eax
4a8b44:	5f                   	pop    %edi
4a8b45:	5e                   	pop    %esi
4a8b46:	5b                   	pop    %ebx
4a8b47:	5d                   	pop    %ebp
4a8b48:	c3                   	ret
4a8b49:	55                   	push   %ebp
4a8b4a:	8b ec                	mov    %esp,%ebp
4a8b4c:	51                   	push   %ecx
4a8b4d:	53                   	push   %ebx
4a8b4e:	56                   	push   %esi
4a8b4f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4a8b53:	57                   	push   %edi
4a8b54:	8b 7d 08             	mov    0x8(%ebp),%edi
4a8b57:	8b 77 0c             	mov    0xc(%edi),%esi
4a8b5a:	8b 5f 10             	mov    0x10(%edi),%ebx
4a8b5d:	8b c6                	mov    %esi,%eax
4a8b5f:	89 75 08             	mov    %esi,0x8(%ebp)
4a8b62:	89 45 fc             	mov    %eax,-0x4(%ebp)
4a8b65:	7c 39                	jl     0x4a8ba0
4a8b67:	83 fe ff             	cmp    $0xffffffff,%esi
4a8b6a:	75 05                	jne    0x4a8b71
4a8b6c:	e8 2c 55 00 00       	call   0x4ae09d
4a8b71:	8b 4d 10             	mov    0x10(%ebp),%ecx
4a8b74:	4e                   	dec    %esi
4a8b75:	8d 04 b6             	lea    (%esi,%esi,4),%eax
4a8b78:	39 4c 83 04          	cmp    %ecx,0x4(%ebx,%eax,4)
4a8b7c:	8d 04 83             	lea    (%ebx,%eax,4),%eax
4a8b7f:	7d 05                	jge    0x4a8b86
4a8b81:	3b 48 08             	cmp    0x8(%eax),%ecx
4a8b84:	7e 05                	jle    0x4a8b8b
4a8b86:	83 fe ff             	cmp    $0xffffffff,%esi
4a8b89:	75 0c                	jne    0x4a8b97
4a8b8b:	8b 45 08             	mov    0x8(%ebp),%eax
4a8b8e:	ff 4d 0c             	decl   0xc(%ebp)
4a8b91:	89 45 fc             	mov    %eax,-0x4(%ebp)
4a8b94:	89 75 08             	mov    %esi,0x8(%ebp)
4a8b97:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4a8b9b:	7d ca                	jge    0x4a8b67
4a8b9d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4a8ba0:	8b 4d 14             	mov    0x14(%ebp),%ecx
4a8ba3:	46                   	inc    %esi
4a8ba4:	89 31                	mov    %esi,(%ecx)
4a8ba6:	8b 4d 18             	mov    0x18(%ebp),%ecx
4a8ba9:	89 01                	mov    %eax,(%ecx)
4a8bab:	3b 47 0c             	cmp    0xc(%edi),%eax
4a8bae:	77 04                	ja     0x4a8bb4
4a8bb0:	3b f0                	cmp    %eax,%esi
4a8bb2:	76 05                	jbe    0x4a8bb9
4a8bb4:	e8 e4 54 00 00       	call   0x4ae09d
4a8bb9:	8d 04 b6             	lea    (%esi,%esi,4),%eax
4a8bbc:	5f                   	pop    %edi
4a8bbd:	5e                   	pop    %esi
4a8bbe:	8d 04 83             	lea    (%ebx,%eax,4),%eax
4a8bc1:	5b                   	pop    %ebx