46e5e5:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
46e5eb:	74 20                	je     0x46e60d
46e5ed:	81 ff 00 00 04 00    	cmp    $0x40000,%edi
46e5f3:	74 18                	je     0x46e60d
46e5f5:	81 ff 00 00 02 00    	cmp    $0x20000,%edi
46e5fb:	74 10                	je     0x46e60d
46e5fd:	e8 2d e8 fd ff       	call   0x44ce2f
46e602:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
46e608:	e9 b9 00 00 00       	jmp    0x46e6c6
46e60d:	8b 75 08             	mov    0x8(%ebp),%esi
46e610:	83 fe fe             	cmp    $0xfffffffe,%esi
46e613:	75 10                	jne    0x46e625
46e615:	e8 15 e8 fd ff       	call   0x44ce2f
46e61a:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
46e620:	e9 a6 00 00 00       	jmp    0x46e6cb
46e625:	85 f6                	test   %esi,%esi
46e627:	0f 88 8e 00 00 00    	js     0x46e6bb
46e62d:	3b 35 00 c2 4b 00    	cmp    0x4bc200,%esi
46e633:	0f 83 82 00 00 00    	jae    0x46e6bb
46e639:	8b ce                	mov    %esi,%ecx
46e63b:	c1 f9 06             	sar    $0x6,%ecx
46e63e:	89 4d e0             	mov    %ecx,-0x20(%ebp)
46e641:	8b c6                	mov    %esi,%eax
46e643:	83 e0 3f             	and    $0x3f,%eax
46e646:	6b d0 30             	imul   $0x30,%eax,%edx
46e649:	89 55 dc             	mov    %edx,-0x24(%ebp)
46e64c:	8b 04 8d 00 c0 4b 00 	mov    0x4bc000(,%ecx,4),%eax
46e653:	0f b6 44 10 28       	movzbl 0x28(%eax,%edx,1),%eax
46e658:	83 e0 01             	and    $0x1,%eax
46e65b:	74 5e                	je     0x46e6bb
46e65d:	56                   	push   %esi
46e65e:	e8 e2 0c 01 00       	call   0x47f345
46e663:	59                   	pop    %ecx
46e664:	83 cb ff             	or     $0xffffffff,%ebx
46e667:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
46e66a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46e66e:	8b 45 e0             	mov    -0x20(%ebp),%eax
46e671:	8b 04 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%eax
46e678:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46e67b:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
46e680:	75 0d                	jne    0x46e68f
46e682:	e8 a8 e7 fd ff       	call   0x44ce2f
46e687:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
46e68d:	eb 0e                	jmp    0x46e69d
46e68f:	57                   	push   %edi
46e690:	56                   	push   %esi
46e691:	e8 3e 00 00 00       	call   0x46e6d4
46e696:	59                   	pop    %ecx
46e697:	59                   	pop    %ecx
46e698:	8b d8                	mov    %eax,%ebx
46e69a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
46e69d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
46e6a4:	e8 0a 00 00 00       	call   0x46e6b3
46e6a9:	8b c3                	mov    %ebx,%eax
46e6ab:	eb 21                	jmp    0x46e6ce
46e6ad:	8b 75 08             	mov    0x8(%ebp),%esi
46e6b0:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
46e6b3:	56                   	push   %esi
46e6b4:	e8 43 0d 01 00       	call   0x47f3fc
46e6b9:	59                   	pop    %ecx
46e6ba:	c3                   	ret
46e6bb:	e8 6f e7 fd ff       	call   0x44ce2f
46e6c0:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
46e6c6:	e8 0b e6 fd ff       	call   0x44ccd6
46e6cb:	83 c8 ff             	or     $0xffffffff,%eax
46e6ce:	e8 d3 22 fd ff       	call   0x4409a6
46e6d3:	c3                   	ret
46e6d4:	8b ff                	mov    %edi,%edi
46e6d6:	55                   	push   %ebp
46e6d7:	8b ec                	mov    %esp,%ebp
46e6d9:	51                   	push   %ecx
46e6da:	8b 45 08             	mov    0x8(%ebp),%eax
46e6dd:	53                   	push   %ebx
46e6de:	56                   	push   %esi
46e6df:	57                   	push   %edi
46e6e0:	8b f8                	mov    %eax,%edi
46e6e2:	83 e0 3f             	and    $0x3f,%eax
46e6e5:	c1 ff 06             	sar    $0x6,%edi
46e6e8:	6b d0 30             	imul   $0x30,%eax,%edx
46e6eb:	8b 34 bd 00 c0 4b 00 	mov    0x4bc000(,%edi,4),%esi
46e6f2:	8a 44 16 28          	mov    0x28(%esi,%edx,1),%al
46e6f6:	8a 5c 16 29          	mov    0x29(%esi,%edx,1),%bl
46e6fa:	0f b6 c8             	movzbl %al,%ecx
46e6fd:	81 e1 80 00 00 00    	and    $0x80,%ecx
46e703:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46e706:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46e709:	81 f9 00 40 00 00    	cmp    $0x4000,%ecx
46e70f:	74 50                	je     0x46e761
46e711:	81 f9 00 80 00 00    	cmp    $0x8000,%ecx
46e717:	74 40                	je     0x46e759
46e719:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
46e71f:	74 24                	je     0x46e745
46e721:	81 f9 00 00 02 00    	cmp    $0x20000,%ecx
46e727:	74 1c                	je     0x46e745
46e729:	81 f9 00 00 04 00    	cmp    $0x40000,%ecx
46e72f:	75 42                	jne    0x46e773
46e731:	0c 80                	or     $0x80,%al
46e733:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
46e737:	8b 04 bd 00 c0 4b 00 	mov    0x4bc000(,%edi,4),%eax
46e73e:	c6 44 10 29 01       	movb   $0x1,0x29(%eax,%edx,1)
46e743:	eb 2e                	jmp    0x46e773
46e745:	0c 80                	or     $0x80,%al
46e747:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
46e74b:	8b 04 bd 00 c0 4b 00 	mov    0x4bc000(,%edi,4),%eax
46e752:	c6 44 10 29 02       	movb   $0x2,0x29(%eax,%edx,1)
46e757:	eb 1a                	jmp    0x46e773
46e759:	24 7f                	and    $0x7f,%al
46e75b:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
46e75f:	eb 12                	jmp    0x46e773
46e761:	0c 80                	or     $0x80,%al
46e763:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
46e767:	8b 0c bd 00 c0 4b 00 	mov    0x4bc000(,%edi,4),%ecx
46e76e:	c6 44 11 29 00       	movb   $0x0,0x29(%ecx,%edx,1)
46e773:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
46e777:	75 07                	jne    0x46e780
46e779:	b8 00 80 00 00       	mov    $0x8000,%eax
46e77e:	eb 1e                	jmp    0x46e79e
46e780:	84 db                	test   %bl,%bl
46e782:	75 07                	jne    0x46e78b
46e784:	b8 00 40 00 00       	mov    $0x4000,%eax
46e789:	eb 13                	jmp    0x46e79e
46e78b:	33 c0                	xor    %eax,%eax
46e78d:	80 fb 01             	cmp    $0x1,%bl
46e790:	0f 95 c0             	setne  %al
46e793:	48                   	dec    %eax
46e794:	25 00 00 03 00       	and    $0x30000,%eax
46e799:	05 00 00 01 00       	add    $0x10000,%eax
46e79e:	5f                   	pop    %edi
46e79f:	5e                   	pop    %esi
46e7a0:	5b                   	pop    %ebx
46e7a1:	8b e5                	mov    %ebp,%esp
46e7a3:	5d                   	pop    %ebp
46e7a4:	c3                   	ret
46e7a5:	ff 15 00 41 49 00    	call   *0x494100
46e7ab:	a3 f8 be 4b 00       	mov    %eax,0x4bbef8
46e7b0:	ff 15 04 41 49 00    	call   *0x494104
46e7b6:	a3 fc be 4b 00       	mov    %eax,0x4bbefc
46e7bb:	b0 01                	mov    $0x1,%al
46e7bd:	c3                   	ret
46e7be:	b0 01                	mov    $0x1,%al
46e7c0:	c3                   	ret
46e7c1:	b8 ec be 4b 00       	mov    $0x4bbeec,%eax
46e7c6:	c3                   	ret
46e7c7:	b8 f0 be 4b 00       	mov    $0x4bbef0,%eax
46e7cc:	c3                   	ret
46e7cd:	b8 f4 be 4b 00       	mov    $0x4bbef4,%eax
46e7d2:	c3                   	ret
46e7d3:	b8 f8 be 4b 00       	mov    $0x4bbef8,%eax
46e7d8:	c3                   	ret
46e7d9:	b8 00 bf 4b 00       	mov    $0x4bbf00,%eax
46e7de:	c3                   	ret
46e7df:	b8 fc be 4b 00       	mov    $0x4bbefc,%eax
46e7e4:	c3                   	ret
46e7e5:	b8 04 bf 4b 00       	mov    $0x4bbf04,%eax
46e7ea:	c3                   	ret
46e7eb:	8b ff                	mov    %edi,%edi
46e7ed:	55                   	push   %ebp
46e7ee:	8b ec                	mov    %esp,%ebp
46e7f0:	8b 45 08             	mov    0x8(%ebp),%eax
46e7f3:	56                   	push   %esi
46e7f4:	85 c0                	test   %eax,%eax
46e7f6:	75 13                	jne    0x46e80b
46e7f8:	e8 32 e6 fd ff       	call   0x44ce2f
46e7fd:	6a 16                	push   $0x16
46e7ff:	5e                   	pop    %esi
46e800:	89 30                	mov    %esi,(%eax)
46e802:	e8 cf e4 fd ff       	call   0x44ccd6
46e807:	8b c6                	mov    %esi,%eax
46e809:	eb 0e                	jmp    0x46e819
46e80b:	8b 0d 00 bf 4b 00    	mov    0x4bbf00,%ecx
46e811:	85 c9                	test   %ecx,%ecx
46e813:	74 e3                	je     0x46e7f8
46e815:	89 08                	mov    %ecx,(%eax)
46e817:	33 c0                	xor    %eax,%eax
46e819:	5e                   	pop    %esi
46e81a:	5d                   	pop    %ebp
46e81b:	c3                   	ret
46e81c:	8b ff                	mov    %edi,%edi
46e81e:	55                   	push   %ebp
46e81f:	8b ec                	mov    %esp,%ebp
46e821:	8b 45 08             	mov    0x8(%ebp),%eax
46e824:	56                   	push   %esi
46e825:	85 c0                	test   %eax,%eax
46e827:	75 13                	jne    0x46e83c
46e829:	e8 01 e6 fd ff       	call   0x44ce2f
46e82e:	6a 16                	push   $0x16
46e830:	5e                   	pop    %esi
46e831:	89 30                	mov    %esi,(%eax)
46e833:	e8 9e e4 fd ff       	call   0x44ccd6
46e838:	8b c6                	mov    %esi,%eax
46e83a:	eb 0e                	jmp    0x46e84a
46e83c:	8b 0d 04 bf 4b 00    	mov    0x4bbf04,%ecx
46e842:	85 c9                	test   %ecx,%ecx
46e844:	74 e3                	je     0x46e829
46e846:	89 08                	mov    %ecx,(%eax)
46e848:	33 c0                	xor    %eax,%eax
46e84a:	5e                   	pop    %esi
46e84b:	5d                   	pop    %ebp
46e84c:	c3                   	ret
46e84d:	33 c0                	xor    %eax,%eax
46e84f:	c3                   	ret
46e850:	8b ff                	mov    %edi,%edi
46e852:	55                   	push   %ebp
46e853:	8b ec                	mov    %esp,%ebp
46e855:	ff 75 08             	push   0x8(%ebp)
46e858:	e8 dc 3a 00 00       	call   0x472339
46e85d:	59                   	pop    %ecx
46e85e:	5d                   	pop    %ebp
46e85f:	c2 04 00             	ret    $0x4
46e862:	8b ff                	mov    %edi,%edi
46e864:	55                   	push   %ebp
46e865:	8b ec                	mov    %esp,%ebp
46e867:	ff 75 08             	push   0x8(%ebp)
46e86a:	e8 ca 3a 00 00       	call   0x472339
46e86f:	59                   	pop    %ecx
46e870:	5d                   	pop    %ebp
46e871:	c2 04 00             	ret    $0x4
46e874:	8b ff                	mov    %edi,%edi
46e876:	55                   	push   %ebp
46e877:	8b ec                	mov    %esp,%ebp
46e879:	ff 75 08             	push   0x8(%ebp)
46e87c:	e8 b8 3a 00 00       	call   0x472339
46e881:	59                   	pop    %ecx
46e882:	5d                   	pop    %ebp
46e883:	c2 04 00             	ret    $0x4
46e886:	6a 08                	push   $0x8
46e888:	68 c0 4c 4b 00       	push   $0x4b4cc0
46e88d:	e8 ce 20 fd ff       	call   0x440960
46e892:	8b 45 08             	mov    0x8(%ebp),%eax
46e895:	ff 30                	push   (%eax)
46e897:	e8 70 96 ff ff       	call   0x467f0c
46e89c:	59                   	pop    %ecx
46e89d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46e8a1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46e8a4:	e8 28 04 00 00       	call   0x46ecd1
46e8a9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
46e8b0:	e8 08 00 00 00       	call   0x46e8bd
46e8b5:	e8 ec 20 fd ff       	call   0x4409a6
46e8ba:	c2 0c 00             	ret    $0xc
46e8bd:	8b 45 10             	mov    0x10(%ebp),%eax
46e8c0:	ff 30                	push   (%eax)
46e8c2:	e8 8d 96 ff ff       	call   0x467f54
46e8c7:	59                   	pop    %ecx
46e8c8:	c3                   	ret
46e8c9:	6a 08                	push   $0x8
46e8cb:	68 e0 4c 4b 00       	push   $0x4b4ce0
46e8d0:	e8 8b 20 fd ff       	call   0x440960
46e8d5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46e8d9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46e8dc:	e8 ee 04 00 00       	call   0x46edcf
46e8e1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
46e8e8:	e8 08 00 00 00       	call   0x46e8f5
46e8ed:	e8 b4 20 fd ff       	call   0x4409a6
46e8f2:	c2 0c 00             	ret    $0xc
46e8f5:	8b 45 10             	mov    0x10(%ebp),%eax
46e8f8:	8b 00                	mov    (%eax),%eax
46e8fa:	8b 00                	mov    (%eax),%eax
46e8fc:	83 a0 50 03 00 00 ef 	andl   $0xffffffef,0x350(%eax)
46e903:	c3                   	ret
46e904:	6a 08                	push   $0x8
46e906:	68 a0 4c 4b 00       	push   $0x4b4ca0
46e90b:	e8 50 20 fd ff       	call   0x440960
46e910:	8b 45 08             	mov    0x8(%ebp),%eax
46e913:	ff 30                	push   (%eax)
46e915:	e8 f2 95 ff ff       	call   0x467f0c
46e91a:	59                   	pop    %ecx
46e91b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46e91f:	8b 45 0c             	mov    0xc(%ebp),%eax
46e922:	8b 00                	mov    (%eax),%eax
46e924:	8b 00                	mov    (%eax),%eax
46e926:	8b 40 04             	mov    0x4(%eax),%eax
46e929:	f0 ff 00             	lock incl (%eax)
46e92c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
46e933:	e8 08 00 00 00       	call   0x46e940
46e938:	e8 69 20 fd ff       	call   0x4409a6
46e93d:	c2 0c 00             	ret    $0xc
46e940:	8b 45 10             	mov    0x10(%ebp),%eax
46e943:	ff 30                	push   (%eax)
46e945:	e8 0a 96 ff ff       	call   0x467f54
46e94a:	59                   	pop    %ecx
46e94b:	c3                   	ret
46e94c:	6a 08                	push   $0x8
46e94e:	68 80 4c 4b 00       	push   $0x4b4c80
46e953:	e8 08 20 fd ff       	call   0x440960
46e958:	8b 45 08             	mov    0x8(%ebp),%eax
46e95b:	ff 30                	push   (%eax)
46e95d:	e8 aa 95 ff ff       	call   0x467f0c
46e962:	59                   	pop    %ecx
46e963:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46e967:	8b 45 0c             	mov    0xc(%ebp),%eax
46e96a:	8b 00                	mov    (%eax),%eax
46e96c:	8b 00                	mov    (%eax),%eax
46e96e:	ff 30                	push   (%eax)
46e970:	e8 ad 1b 01 00       	call   0x480522
46e975:	59                   	pop    %ecx
46e976:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
46e97d:	e8 08 00 00 00       	call   0x46e98a
46e982:	e8 1f 20 fd ff       	call   0x4409a6
46e987:	c2 0c 00             	ret    $0xc
46e98a:	8b 45 10             	mov    0x10(%ebp),%eax
46e98d:	ff 30                	push   (%eax)
46e98f:	e8 c0 95 ff ff       	call   0x467f54
46e994:	59                   	pop    %ecx
46e995:	c3                   	ret
46e996:	6a 0c                	push   $0xc
46e998:	68 60 4c 4b 00       	push   $0x4b4c60
46e99d:	e8 be 1f fd ff       	call   0x440960
46e9a2:	8b 45 08             	mov    0x8(%ebp),%eax
46e9a5:	ff 30                	push   (%eax)
46e9a7:	e8 60 95 ff ff       	call   0x467f0c
46e9ac:	59                   	pop    %ecx
46e9ad:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46e9b1:	8d 45 e7             	lea    -0x19(%ebp),%eax
46e9b4:	50                   	push   %eax
46e9b5:	b9 14 bf 4b 00       	mov    $0x4bbf14,%ecx
46e9ba:	e8 dd 00 00 00       	call   0x46ea9c
46e9bf:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
46e9c6:	e8 08 00 00 00       	call   0x46e9d3
46e9cb:	e8 d6 1f fd ff       	call   0x4409a6
46e9d0:	c2 0c 00             	ret    $0xc
46e9d3:	8b 45 10             	mov    0x10(%ebp),%eax
46e9d6:	ff 30                	push   (%eax)
46e9d8:	e8 77 95 ff ff       	call   0x467f54
46e9dd:	59                   	pop    %ecx
46e9de:	c3                   	ret
46e9df:	8b ff                	mov    %edi,%edi
46e9e1:	55                   	push   %ebp
46e9e2:	8b ec                	mov    %esp,%ebp
46e9e4:	83 ec 0c             	sub    $0xc,%esp
46e9e7:	8b 45 08             	mov    0x8(%ebp),%eax
46e9ea:	8d 4d ff             	lea    -0x1(%ebp),%ecx
46e9ed:	89 45 f8             	mov    %eax,-0x8(%ebp)
46e9f0:	89 45 f4             	mov    %eax,-0xc(%ebp)
46e9f3:	8d 45 f8             	lea    -0x8(%ebp),%eax
46e9f6:	50                   	push   %eax
46e9f7:	ff 75 0c             	push   0xc(%ebp)
46e9fa:	8d 45 f4             	lea    -0xc(%ebp),%eax
46e9fd:	50                   	push   %eax
46e9fe:	e8 93 ff ff ff       	call   0x46e996
46ea03:	8b e5                	mov    %ebp,%esp
46ea05:	5d                   	pop    %ebp
46ea06:	c3                   	ret
46ea07:	8b ff                	mov    %edi,%edi
46ea09:	55                   	push   %ebp
46ea0a:	8b ec                	mov    %esp,%ebp
46ea0c:	83 ec 0c             	sub    $0xc,%esp
46ea0f:	8b 45 08             	mov    0x8(%ebp),%eax
46ea12:	8d 4d ff             	lea    -0x1(%ebp),%ecx
46ea15:	89 45 f8             	mov    %eax,-0x8(%ebp)
46ea18:	89 45 f4             	mov    %eax,-0xc(%ebp)