47f5e6:	66 3b f1             	cmp    %cx,%si
47f5e9:	0f 82 01 01 00 00    	jb     0x47f6f0
47f5ef:	66 3b 75 d0          	cmp    -0x30(%ebp),%si
47f5f3:	72 90                	jb     0x47f585
47f5f5:	8b 4d cc             	mov    -0x34(%ebp),%ecx
47f5f8:	66 3b f1             	cmp    %cx,%si
47f5fb:	0f 82 ef 00 00 00    	jb     0x47f6f0
47f601:	66 3b 75 c8          	cmp    -0x38(%ebp),%si
47f605:	0f 82 7a ff ff ff    	jb     0x47f585
47f60b:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
47f60e:	66 3b f1             	cmp    %cx,%si
47f611:	0f 82 d9 00 00 00    	jb     0x47f6f0
47f617:	66 3b 75 c0          	cmp    -0x40(%ebp),%si
47f61b:	0f 82 64 ff ff ff    	jb     0x47f585
47f621:	8b 4d bc             	mov    -0x44(%ebp),%ecx
47f624:	66 3b f1             	cmp    %cx,%si
47f627:	0f 82 c3 00 00 00    	jb     0x47f6f0
47f62d:	66 3b 75 b8          	cmp    -0x48(%ebp),%si
47f631:	0f 82 4e ff ff ff    	jb     0x47f585
47f637:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
47f63a:	66 3b f1             	cmp    %cx,%si
47f63d:	0f 82 ad 00 00 00    	jb     0x47f6f0
47f643:	66 3b 75 b0          	cmp    -0x50(%ebp),%si
47f647:	0f 82 38 ff ff ff    	jb     0x47f585
47f64d:	8b 4d ac             	mov    -0x54(%ebp),%ecx
47f650:	66 3b f1             	cmp    %cx,%si
47f653:	0f 82 97 00 00 00    	jb     0x47f6f0
47f659:	66 3b 75 a8          	cmp    -0x58(%ebp),%si
47f65d:	0f 82 22 ff ff ff    	jb     0x47f585
47f663:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
47f666:	66 3b f1             	cmp    %cx,%si
47f669:	0f 82 81 00 00 00    	jb     0x47f6f0
47f66f:	66 3b 75 a0          	cmp    -0x60(%ebp),%si
47f673:	0f 82 0c ff ff ff    	jb     0x47f585
47f679:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
47f67c:	66 3b f1             	cmp    %cx,%si
47f67f:	72 6f                	jb     0x47f6f0
47f681:	66 3b 75 98          	cmp    -0x68(%ebp),%si
47f685:	0f 82 fa fe ff ff    	jb     0x47f585
47f68b:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
47f68e:	66 3b f1             	cmp    %cx,%si
47f691:	72 5d                	jb     0x47f6f0
47f693:	66 3b 75 90          	cmp    -0x70(%ebp),%si
47f697:	0f 82 e8 fe ff ff    	jb     0x47f585
47f69d:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
47f6a0:	66 3b f1             	cmp    %cx,%si
47f6a3:	72 4b                	jb     0x47f6f0
47f6a5:	66 3b 75 88          	cmp    -0x78(%ebp),%si
47f6a9:	0f 82 d6 fe ff ff    	jb     0x47f585
47f6af:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
47f6b2:	66 3b f1             	cmp    %cx,%si
47f6b5:	72 39                	jb     0x47f6f0
47f6b7:	66 3b 75 80          	cmp    -0x80(%ebp),%si
47f6bb:	0f 82 c4 fe ff ff    	jb     0x47f585
47f6c1:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
47f6c7:	66 3b f1             	cmp    %cx,%si
47f6ca:	72 24                	jb     0x47f6f0
47f6cc:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
47f6d3:	73 1b                	jae    0x47f6f0
47f6d5:	e9 ab fe ff ff       	jmp    0x47f585
47f6da:	66 3b b5 74 ff ff ff 	cmp    -0x8c(%ebp),%si
47f6e1:	73 0d                	jae    0x47f6f0
47f6e3:	0f b7 c6             	movzwl %si,%eax
47f6e6:	2d 10 ff 00 00       	sub    $0xff10,%eax
47f6eb:	83 f8 ff             	cmp    $0xffffffff,%eax
47f6ee:	75 25                	jne    0x47f715
47f6f0:	0f b7 c6             	movzwl %si,%eax
47f6f3:	83 f8 41             	cmp    $0x41,%eax
47f6f6:	72 0a                	jb     0x47f702
47f6f8:	83 f8 5a             	cmp    $0x5a,%eax
47f6fb:	77 05                	ja     0x47f702
47f6fd:	8d 48 9f             	lea    -0x61(%eax),%ecx
47f700:	eb 08                	jmp    0x47f70a
47f702:	8d 48 9f             	lea    -0x61(%eax),%ecx
47f705:	83 f9 19             	cmp    $0x19,%ecx
47f708:	77 4c                	ja     0x47f756
47f70a:	83 f9 19             	cmp    $0x19,%ecx
47f70d:	77 03                	ja     0x47f712
47f70f:	83 c0 e0             	add    $0xffffffe0,%eax
47f712:	83 c0 c9             	add    $0xffffffc9,%eax
47f715:	85 c0                	test   %eax,%eax
47f717:	75 3d                	jne    0x47f756
47f719:	0f b7 02             	movzwl (%edx),%eax
47f71c:	8d 4a 02             	lea    0x2(%edx),%ecx
47f71f:	89 4d 0c             	mov    %ecx,0xc(%ebp)
47f722:	83 f8 78             	cmp    $0x78,%eax
47f725:	74 1a                	je     0x47f741
47f727:	83 f8 58             	cmp    $0x58,%eax
47f72a:	74 15                	je     0x47f741
47f72c:	85 ff                	test   %edi,%edi
47f72e:	75 06                	jne    0x47f736
47f730:	6a 08                	push   $0x8
47f732:	5f                   	pop    %edi
47f733:	89 7d 14             	mov    %edi,0x14(%ebp)
47f736:	50                   	push   %eax
47f737:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47f73a:	e8 9b 99 ff ff       	call   0x4790da
47f73f:	eb 1f                	jmp    0x47f760
47f741:	85 ff                	test   %edi,%edi
47f743:	75 06                	jne    0x47f74b
47f745:	6a 10                	push   $0x10
47f747:	5f                   	pop    %edi
47f748:	89 7d 14             	mov    %edi,0x14(%ebp)
47f74b:	0f b7 31             	movzwl (%ecx),%esi
47f74e:	83 c1 02             	add    $0x2,%ecx
47f751:	89 4d 0c             	mov    %ecx,0xc(%ebp)
47f754:	eb 0a                	jmp    0x47f760
47f756:	85 ff                	test   %edi,%edi
47f758:	75 06                	jne    0x47f760
47f75a:	6a 0a                	push   $0xa
47f75c:	5f                   	pop    %edi
47f75d:	89 7d 14             	mov    %edi,0x14(%ebp)
47f760:	8b c7                	mov    %edi,%eax
47f762:	99                   	cltd
47f763:	8b ca                	mov    %edx,%ecx
47f765:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
47f76b:	51                   	push   %ecx
47f76c:	50                   	push   %eax
47f76d:	6a ff                	push   $0xffffffff
47f76f:	6a ff                	push   $0xffffffff
47f771:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47f774:	e8 e7 ab fe ff       	call   0x46a360
47f779:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
47f77f:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
47f785:	6a 30                	push   $0x30
47f787:	58                   	pop    %eax
47f788:	66 3b f0             	cmp    %ax,%si
47f78b:	0f 82 5a 01 00 00    	jb     0x47f8eb
47f791:	6a 3a                	push   $0x3a
47f793:	59                   	pop    %ecx
47f794:	66 3b f1             	cmp    %cx,%si
47f797:	0f 82 44 01 00 00    	jb     0x47f8e1
47f79d:	b8 10 ff 00 00       	mov    $0xff10,%eax
47f7a2:	66 3b f0             	cmp    %ax,%si
47f7a5:	0f 83 2d 01 00 00    	jae    0x47f8d8
47f7ab:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
47f7b1:	66 3b f0             	cmp    %ax,%si
47f7b4:	0f 82 31 01 00 00    	jb     0x47f8eb
47f7ba:	66 3b 75 f0          	cmp    -0x10(%ebp),%si
47f7be:	0f 82 1d 01 00 00    	jb     0x47f8e1
47f7c4:	8b 45 ec             	mov    -0x14(%ebp),%eax
47f7c7:	66 3b f0             	cmp    %ax,%si
47f7ca:	0f 82 1b 01 00 00    	jb     0x47f8eb
47f7d0:	66 3b 75 e8          	cmp    -0x18(%ebp),%si
47f7d4:	0f 82 07 01 00 00    	jb     0x47f8e1
47f7da:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47f7dd:	66 3b f0             	cmp    %ax,%si
47f7e0:	0f 82 05 01 00 00    	jb     0x47f8eb
47f7e6:	66 3b 75 e0          	cmp    -0x20(%ebp),%si
47f7ea:	0f 82 f1 00 00 00    	jb     0x47f8e1
47f7f0:	8b 45 dc             	mov    -0x24(%ebp),%eax
47f7f3:	66 3b f0             	cmp    %ax,%si
47f7f6:	0f 82 ef 00 00 00    	jb     0x47f8eb
47f7fc:	66 3b 75 d8          	cmp    -0x28(%ebp),%si
47f800:	0f 82 db 00 00 00    	jb     0x47f8e1
47f806:	8b 45 d4             	mov    -0x2c(%ebp),%eax
47f809:	66 3b f0             	cmp    %ax,%si
47f80c:	0f 82 d9 00 00 00    	jb     0x47f8eb
47f812:	66 3b 75 d0          	cmp    -0x30(%ebp),%si
47f816:	0f 82 c5 00 00 00    	jb     0x47f8e1
47f81c:	8b 45 cc             	mov    -0x34(%ebp),%eax
47f81f:	66 3b f0             	cmp    %ax,%si
47f822:	0f 82 c3 00 00 00    	jb     0x47f8eb
47f828:	66 3b 75 c8          	cmp    -0x38(%ebp),%si
47f82c:	0f 82 af 00 00 00    	jb     0x47f8e1
47f832:	8b 45 c4             	mov    -0x3c(%ebp),%eax
47f835:	66 3b f0             	cmp    %ax,%si
47f838:	0f 82 ad 00 00 00    	jb     0x47f8eb
47f83e:	66 3b 75 c0          	cmp    -0x40(%ebp),%si
47f842:	0f 82 99 00 00 00    	jb     0x47f8e1
47f848:	8b 45 bc             	mov    -0x44(%ebp),%eax
47f84b:	66 3b f0             	cmp    %ax,%si
47f84e:	0f 82 97 00 00 00    	jb     0x47f8eb
47f854:	66 3b 75 b8          	cmp    -0x48(%ebp),%si
47f858:	0f 82 83 00 00 00    	jb     0x47f8e1
47f85e:	8b 45 b4             	mov    -0x4c(%ebp),%eax
47f861:	66 3b f0             	cmp    %ax,%si
47f864:	0f 82 81 00 00 00    	jb     0x47f8eb
47f86a:	66 3b 75 b0          	cmp    -0x50(%ebp),%si
47f86e:	72 71                	jb     0x47f8e1
47f870:	8b 45 ac             	mov    -0x54(%ebp),%eax
47f873:	66 3b f0             	cmp    %ax,%si
47f876:	72 73                	jb     0x47f8eb
47f878:	66 3b 75 a8          	cmp    -0x58(%ebp),%si
47f87c:	72 63                	jb     0x47f8e1
47f87e:	8b 45 a4             	mov    -0x5c(%ebp),%eax
47f881:	66 3b f0             	cmp    %ax,%si
47f884:	72 65                	jb     0x47f8eb
47f886:	66 3b 75 a0          	cmp    -0x60(%ebp),%si
47f88a:	72 55                	jb     0x47f8e1
47f88c:	8b 45 9c             	mov    -0x64(%ebp),%eax
47f88f:	66 3b f0             	cmp    %ax,%si
47f892:	72 57                	jb     0x47f8eb
47f894:	66 3b 75 98          	cmp    -0x68(%ebp),%si
47f898:	72 47                	jb     0x47f8e1
47f89a:	8b 45 94             	mov    -0x6c(%ebp),%eax
47f89d:	66 3b f0             	cmp    %ax,%si
47f8a0:	72 49                	jb     0x47f8eb
47f8a2:	66 3b 75 90          	cmp    -0x70(%ebp),%si
47f8a6:	72 39                	jb     0x47f8e1
47f8a8:	8b 45 8c             	mov    -0x74(%ebp),%eax
47f8ab:	66 3b f0             	cmp    %ax,%si
47f8ae:	72 3b                	jb     0x47f8eb
47f8b0:	66 3b 75 88          	cmp    -0x78(%ebp),%si
47f8b4:	72 2b                	jb     0x47f8e1
47f8b6:	8b 45 84             	mov    -0x7c(%ebp),%eax
47f8b9:	66 3b f0             	cmp    %ax,%si
47f8bc:	72 2d                	jb     0x47f8eb
47f8be:	66 3b 75 80          	cmp    -0x80(%ebp),%si
47f8c2:	72 1d                	jb     0x47f8e1
47f8c4:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
47f8ca:	66 3b f0             	cmp    %ax,%si
47f8cd:	72 1c                	jb     0x47f8eb
47f8cf:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
47f8d6:	eb 07                	jmp    0x47f8df
47f8d8:	66 3b b5 74 ff ff ff 	cmp    -0x8c(%ebp),%si
47f8df:	73 0a                	jae    0x47f8eb
47f8e1:	0f b7 fe             	movzwl %si,%edi
47f8e4:	2b f8                	sub    %eax,%edi
47f8e6:	83 ff ff             	cmp    $0xffffffff,%edi
47f8e9:	75 2a                	jne    0x47f915
47f8eb:	0f b7 fe             	movzwl %si,%edi
47f8ee:	83 ff 41             	cmp    $0x41,%edi
47f8f1:	72 0a                	jb     0x47f8fd
47f8f3:	83 ff 5a             	cmp    $0x5a,%edi
47f8f6:	77 05                	ja     0x47f8fd
47f8f8:	8d 47 9f             	lea    -0x61(%edi),%eax
47f8fb:	eb 08                	jmp    0x47f905
47f8fd:	8d 47 9f             	lea    -0x61(%edi),%eax
47f900:	83 f8 19             	cmp    $0x19,%eax
47f903:	77 0d                	ja     0x47f912
47f905:	83 f8 19             	cmp    $0x19,%eax
47f908:	77 03                	ja     0x47f90d
47f90a:	83 c7 e0             	add    $0xffffffe0,%edi
47f90d:	83 c7 c9             	add    $0xffffffc9,%edi
47f910:	eb 03                	jmp    0x47f915
47f912:	83 cf ff             	or     $0xffffffff,%edi
47f915:	3b 7d 14             	cmp    0x14(%ebp),%edi
47f918:	73 66                	jae    0x47f980
47f91a:	53                   	push   %ebx
47f91b:	ff 75 f8             	push   -0x8(%ebp)
47f91e:	ff 75 f4             	push   -0xc(%ebp)
47f921:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
47f927:	e8 f4 a9 fe ff       	call   0x46a320
47f92c:	33 f6                	xor    %esi,%esi
47f92e:	03 f8                	add    %eax,%edi
47f930:	13 f2                	adc    %edx,%esi
47f932:	3b 9d 68 ff ff ff    	cmp    -0x98(%ebp),%ebx
47f938:	72 12                	jb     0x47f94c
47f93a:	77 0b                	ja     0x47f947
47f93c:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
47f942:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
47f945:	76 05                	jbe    0x47f94c
47f947:	33 c9                	xor    %ecx,%ecx
47f949:	41                   	inc    %ecx
47f94a:	eb 02                	jmp    0x47f94e
47f94c:	33 c9                	xor    %ecx,%ecx
47f94e:	3b f2                	cmp    %edx,%esi
47f950:	77 0b                	ja     0x47f95d
47f952:	72 04                	jb     0x47f958
47f954:	3b f8                	cmp    %eax,%edi
47f956:	73 05                	jae    0x47f95d
47f958:	33 c0                	xor    %eax,%eax
47f95a:	40                   	inc    %eax
47f95b:	eb 02                	jmp    0x47f95f
47f95d:	33 c0                	xor    %eax,%eax
47f95f:	0b c1                	or     %ecx,%eax
47f961:	89 7d f8             	mov    %edi,-0x8(%ebp)
47f964:	8b 7d 0c             	mov    0xc(%ebp),%edi
47f967:	8b de                	mov    %esi,%ebx
47f969:	c1 e0 02             	shl    $0x2,%eax
47f96c:	83 c8 08             	or     $0x8,%eax
47f96f:	09 45 fc             	or     %eax,-0x4(%ebp)
47f972:	0f b7 37             	movzwl (%edi),%esi
47f975:	83 c7 02             	add    $0x2,%edi
47f978:	89 7d 0c             	mov    %edi,0xc(%ebp)
47f97b:	e9 05 fe ff ff       	jmp    0x47f785
47f980:	56                   	push   %esi
47f981:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47f984:	e8 51 97 ff ff       	call   0x4790da
47f989:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f98c:	a8 08                	test   $0x8,%al
47f98e:	75 15                	jne    0x47f9a5
47f990:	8b 45 10             	mov    0x10(%ebp),%eax
47f993:	85 c0                	test   %eax,%eax
47f995:	74 08                	je     0x47f99f
47f997:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
47f99d:	89 08                	mov    %ecx,(%eax)
47f99f:	33 c0                	xor    %eax,%eax
47f9a1:	33 d2                	xor    %edx,%edx
47f9a3:	eb 78                	jmp    0x47fa1d
47f9a5:	8b 7d f8             	mov    -0x8(%ebp),%edi
47f9a8:	53                   	push   %ebx
47f9a9:	57                   	push   %edi
47f9aa:	50                   	push   %eax
47f9ab:	e8 56 f1 ff ff       	call   0x47eb06
47f9b0:	83 c4 0c             	add    $0xc,%esp
47f9b3:	84 c0                	test   %al,%al
47f9b5:	74 49                	je     0x47fa00
47f9b7:	8b 45 08             	mov    0x8(%ebp),%eax
47f9ba:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
47f9be:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
47f9c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
47f9c8:	a8 01                	test   $0x1,%al
47f9ca:	75 08                	jne    0x47f9d4
47f9cc:	83 cf ff             	or     $0xffffffff,%edi
47f9cf:	83 cb ff             	or     $0xffffffff,%ebx
47f9d2:	eb 39                	jmp    0x47fa0d
47f9d4:	8b 4d 10             	mov    0x10(%ebp),%ecx
47f9d7:	a8 02                	test   $0x2,%al
47f9d9:	74 12                	je     0x47f9ed
47f9db:	85 c9                	test   %ecx,%ecx
47f9dd:	74 05                	je     0x47f9e4
47f9df:	8b 45 0c             	mov    0xc(%ebp),%eax
47f9e2:	89 01                	mov    %eax,(%ecx)
47f9e4:	33 c0                	xor    %eax,%eax
47f9e6:	ba 00 00 00 80       	mov    $0x80000000,%edx
47f9eb:	eb 30                	jmp    0x47fa1d
47f9ed:	85 c9                	test   %ecx,%ecx
47f9ef:	74 05                	je     0x47f9f6
47f9f1:	8b 45 0c             	mov    0xc(%ebp),%eax
47f9f4:	89 01                	mov    %eax,(%ecx)
47f9f6:	83 c8 ff             	or     $0xffffffff,%eax
47f9f9:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
47f9fe:	eb 1d                	jmp    0x47fa1d
47fa00:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)
47fa04:	74 07                	je     0x47fa0d
47fa06:	f7 df                	neg    %edi
47fa08:	83 d3 00             	adc    $0x0,%ebx
47fa0b:	f7 db                	neg    %ebx
47fa0d:	8b 75 10             	mov    0x10(%ebp),%esi
47fa10:	85 f6                	test   %esi,%esi
47fa12:	74 05                	je     0x47fa19
47fa14:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47fa17:	89 0e                	mov    %ecx,(%esi)
47fa19:	8b c7                	mov    %edi,%eax
47fa1b:	8b d3                	mov    %ebx,%edx
47fa1d:	5f                   	pop    %edi
47fa1e:	5e                   	pop    %esi
47fa1f:	5b                   	pop    %ebx
47fa20:	c9                   	leave
47fa21:	c3                   	ret
47fa22:	8b ff                	mov    %edi,%edi
47fa24:	55                   	push   %ebp
47fa25:	8b ec                	mov    %esp,%ebp
47fa27:	83 ec 2c             	sub    $0x2c,%esp
47fa2a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47fa2d:	56                   	push   %esi
47fa2e:	57                   	push   %edi
47fa2f:	6a 00                	push   $0x0