46f66d:	80 7f 27 00          	cmpb   $0x0,0x27(%edi)
46f671:	89 4d 0c             	mov    %ecx,0xc(%ebp)
46f674:	0f 84 80 00 00 00    	je     0x46f6fa
46f67a:	8b 47 30             	mov    0x30(%edi),%eax
46f67d:	8b 40 10             	mov    0x10(%eax),%eax
46f680:	80 78 2c 00          	cmpb   $0x0,0x2c(%eax)
46f684:	74 74                	je     0x46f6fa
46f686:	8b cf                	mov    %edi,%ecx
46f688:	e8 13 9b fe ff       	call   0x4591a0
46f68d:	83 3c 85 98 7b 60 00 	cmpl   $0xa,0x607b98(,%eax,4)
46f694:	0a
46f695:	75 60                	jne    0x46f6f7
46f697:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46f69b:	74 5a                	je     0x46f6f7
46f69d:	8b 03                	mov    (%ebx),%eax
46f69f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46f6a2:	51                   	push   %ecx
46f6a3:	8b cb                	mov    %ebx,%ecx
46f6a5:	ff 50 48             	call   *0x48(%eax)
46f6a8:	6a 00                	push   $0x0
46f6aa:	57                   	push   %edi
46f6ab:	53                   	push   %ebx
46f6ac:	8b 48 04             	mov    0x4(%eax),%ecx
46f6af:	8b 47 28             	mov    0x28(%edi),%eax
46f6b2:	83 c8 01             	or     $0x1,%eax
46f6b5:	0f bd c0             	bsr    %eax,%eax
46f6b8:	8d 34 c5 49 00 00 00 	lea    0x49(,%eax,8),%esi
46f6bf:	03 f0                	add    %eax,%esi
46f6c1:	c1 ee 06             	shr    $0x6,%esi
46f6c4:	03 35 8c bd 60 00    	add    0x60bd8c,%esi
46f6ca:	e8 81 54 ff ff       	call   0x464b50
46f6cf:	8b c8                	mov    %eax,%ecx
46f6d1:	8b 10                	mov    (%eax),%edx
46f6d3:	ff 52 20             	call   *0x20(%edx)
46f6d6:	8b d0                	mov    %eax,%edx
46f6d8:	8b ca                	mov    %edx,%ecx
46f6da:	83 c9 01             	or     $0x1,%ecx
46f6dd:	0f bd c9             	bsr    %ecx,%ecx
46f6e0:	5f                   	pop    %edi
46f6e1:	8d 04 cd 49 00 00 00 	lea    0x49(,%ecx,8),%eax
46f6e8:	03 c1                	add    %ecx,%eax
46f6ea:	c1 e8 06             	shr    $0x6,%eax
46f6ed:	03 c2                	add    %edx,%eax
46f6ef:	03 c6                	add    %esi,%eax
46f6f1:	5e                   	pop    %esi
46f6f2:	5b                   	pop    %ebx
46f6f3:	8b e5                	mov    %ebp,%esp
46f6f5:	5d                   	pop    %ebp
46f6f6:	c3                   	ret
46f6f7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46f6fa:	33 f6                	xor    %esi,%esi
46f6fc:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46f700:	75 58                	jne    0x46f75a
46f702:	8b cf                	mov    %edi,%ecx
46f704:	e8 97 9a fe ff       	call   0x4591a0
46f709:	83 f8 0b             	cmp    $0xb,%eax
46f70c:	75 3e                	jne    0x46f74c
46f70e:	8b cf                	mov    %edi,%ecx
46f710:	e8 7b ee 02 00       	call   0x49e590
46f715:	84 c0                	test   %al,%al
46f717:	74 33                	je     0x46f74c
46f719:	8b 75 0c             	mov    0xc(%ebp),%esi
46f71c:	8b ce                	mov    %esi,%ecx
46f71e:	57                   	push   %edi
46f71f:	53                   	push   %ebx
46f720:	e8 db 53 ff ff       	call   0x464b00
46f725:	8b c8                	mov    %eax,%ecx
46f727:	89 45 0c             	mov    %eax,0xc(%ebp)
46f72a:	e8 c1 37 03 00       	call   0x4a2ef0
46f72f:	84 c0                	test   %al,%al
46f731:	74 0c                	je     0x46f73f
46f733:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46f736:	8b 11                	mov    (%ecx),%edx
46f738:	ff 52 28             	call   *0x28(%edx)
46f73b:	8b f0                	mov    %eax,%esi
46f73d:	eb 3f                	jmp    0x46f77e
46f73f:	57                   	push   %edi
46f740:	53                   	push   %ebx
46f741:	8b ce                	mov    %esi,%ecx
46f743:	e8 a8 49 ff ff       	call   0x4640f0
46f748:	8b f0                	mov    %eax,%esi
46f74a:	eb 32                	jmp    0x46f77e
46f74c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46f74f:	57                   	push   %edi
46f750:	53                   	push   %ebx
46f751:	e8 9a 49 ff ff       	call   0x4640f0
46f756:	8b f0                	mov    %eax,%esi
46f758:	eb 24                	jmp    0x46f77e
46f75a:	8b 47 30             	mov    0x30(%edi),%eax
46f75d:	8b 40 10             	mov    0x10(%eax),%eax
46f760:	80 78 2f 00          	cmpb   $0x0,0x2f(%eax)
46f764:	74 07                	je     0x46f76d
46f766:	be 01 00 00 00       	mov    $0x1,%esi
46f76b:	eb 11                	jmp    0x46f77e
46f76d:	57                   	push   %edi
46f76e:	53                   	push   %ebx
46f76f:	e8 4c 66 ff ff       	call   0x465dc0
46f774:	84 c0                	test   %al,%al
46f776:	b9 01 00 00 00       	mov    $0x1,%ecx
46f77b:	0f 45 f1             	cmovne %ecx,%esi
46f77e:	53                   	push   %ebx
46f77f:	57                   	push   %edi
46f780:	e8 8b 00 00 00       	call   0x46f810
46f785:	83 c4 08             	add    $0x8,%esp
46f788:	8b cf                	mov    %edi,%ecx
46f78a:	8b d8                	mov    %eax,%ebx
46f78c:	e8 0f ee 02 00       	call   0x49e5a0
46f791:	84 c0                	test   %al,%al
46f793:	74 3d                	je     0x46f7d2
46f795:	85 db                	test   %ebx,%ebx
46f797:	74 61                	je     0x46f7fa
46f799:	8b 47 28             	mov    0x28(%edi),%eax
46f79c:	c1 e0 03             	shl    $0x3,%eax
46f79f:	83 c8 01             	or     $0x1,%eax
46f7a2:	0f bd d0             	bsr    %eax,%edx
46f7a5:	8b c3                	mov    %ebx,%eax
46f7a7:	83 c8 01             	or     $0x1,%eax
46f7aa:	0f bd c0             	bsr    %eax,%eax
46f7ad:	5f                   	pop    %edi
46f7ae:	5e                   	pop    %esi
46f7af:	8d 0c c5 49 00 00 00 	lea    0x49(,%eax,8),%ecx
46f7b6:	03 c8                	add    %eax,%ecx
46f7b8:	8d 04 d5 49 00 00 00 	lea    0x49(,%edx,8),%eax
46f7bf:	03 c2                	add    %edx,%eax
46f7c1:	c1 e9 06             	shr    $0x6,%ecx
46f7c4:	c1 e8 06             	shr    $0x6,%eax
46f7c7:	03 d9                	add    %ecx,%ebx
46f7c9:	03 d8                	add    %eax,%ebx
46f7cb:	8b c3                	mov    %ebx,%eax
46f7cd:	5b                   	pop    %ebx
46f7ce:	8b e5                	mov    %ebp,%esp
46f7d0:	5d                   	pop    %ebp
46f7d1:	c3                   	ret
46f7d2:	8b cf                	mov    %edi,%ecx
46f7d4:	e8 c7 99 fe ff       	call   0x4591a0
46f7d9:	8b 4f 28             	mov    0x28(%edi),%ecx
46f7dc:	c1 e1 03             	shl    $0x3,%ecx
46f7df:	83 c9 01             	or     $0x1,%ecx
46f7e2:	0f bd c9             	bsr    %ecx,%ecx
46f7e5:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
46f7e8:	83 c1 49             	add    $0x49,%ecx
46f7eb:	c1 e9 06             	shr    $0x6,%ecx
46f7ee:	83 f8 0a             	cmp    $0xa,%eax
46f7f1:	75 02                	jne    0x46f7f5
46f7f3:	03 c9                	add    %ecx,%ecx
46f7f5:	0f af ce             	imul   %esi,%ecx
46f7f8:	03 d9                	add    %ecx,%ebx
46f7fa:	5f                   	pop    %edi
46f7fb:	5e                   	pop    %esi
46f7fc:	8b c3                	mov    %ebx,%eax
46f7fe:	5b                   	pop    %ebx
46f7ff:	8b e5                	mov    %ebp,%esp
46f801:	5d                   	pop    %ebp
46f802:	c3                   	ret
46f803:	cc                   	int3
46f804:	cc                   	int3
46f805:	cc                   	int3
46f806:	cc                   	int3
46f807:	cc                   	int3
46f808:	cc                   	int3
46f809:	cc                   	int3
46f80a:	cc                   	int3
46f80b:	cc                   	int3
46f80c:	cc                   	int3
46f80d:	cc                   	int3
46f80e:	cc                   	int3
46f80f:	cc                   	int3
46f810:	55                   	push   %ebp
46f811:	8b ec                	mov    %esp,%ebp
46f813:	6a ff                	push   $0xffffffff
46f815:	68 f0 9b 5f 00       	push   $0x5f9bf0
46f81a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46f820:	50                   	push   %eax
46f821:	81 ec 94 00 00 00    	sub    $0x94,%esp
46f827:	a1 c0 14 69 00       	mov    0x6914c0,%eax
46f82c:	33 c5                	xor    %ebp,%eax
46f82e:	89 45 f0             	mov    %eax,-0x10(%ebp)
46f831:	53                   	push   %ebx
46f832:	56                   	push   %esi
46f833:	57                   	push   %edi
46f834:	50                   	push   %eax
46f835:	8d 45 f4             	lea    -0xc(%ebp),%eax
46f838:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46f83e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46f841:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
46f847:	8b 7d 08             	mov    0x8(%ebp),%edi
46f84a:	51                   	push   %ecx
46f84b:	8b cb                	mov    %ebx,%ecx
46f84d:	89 9d 74 ff ff ff    	mov    %ebx,-0x8c(%ebp)
46f853:	8b 03                	mov    (%ebx),%eax
46f855:	ff 50 48             	call   *0x48(%eax)
46f858:	8b cf                	mov    %edi,%ecx
46f85a:	33 f6                	xor    %esi,%esi
46f85c:	8b 40 04             	mov    0x4(%eax),%eax
46f85f:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
46f865:	e8 36 99 fe ff       	call   0x4591a0
46f86a:	83 f8 0b             	cmp    $0xb,%eax
46f86d:	0f 85 c7 01 00 00    	jne    0x46fa3a
46f873:	8b cf                	mov    %edi,%ecx
46f875:	e8 16 ed 02 00       	call   0x49e590
46f87a:	84 c0                	test   %al,%al
46f87c:	0f 84 b8 01 00 00    	je     0x46fa3a
46f882:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46f888:	57                   	push   %edi
46f889:	53                   	push   %ebx
46f88a:	e8 71 52 ff ff       	call   0x464b00
46f88f:	8b c8                	mov    %eax,%ecx
46f891:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
46f897:	e8 54 36 03 00       	call   0x4a2ef0
46f89c:	84 c0                	test   %al,%al
46f89e:	0f 84 96 01 00 00    	je     0x46fa3a
46f8a4:	57                   	push   %edi
46f8a5:	53                   	push   %ebx
46f8a6:	8d 4d a8             	lea    -0x58(%ebp),%ecx
46f8a9:	e8 12 2c ff ff       	call   0x4624c0
46f8ae:	57                   	push   %edi
46f8af:	53                   	push   %ebx
46f8b0:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
46f8b6:	89 75 fc             	mov    %esi,-0x4(%ebp)
46f8b9:	e8 02 2c ff ff       	call   0x4624c0
46f8be:	8b cf                	mov    %edi,%ecx
46f8c0:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46f8c4:	e8 57 ed 02 00       	call   0x49e620
46f8c9:	8b cf                	mov    %edi,%ecx
46f8cb:	8b 40 14             	mov    0x14(%eax),%eax
46f8ce:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
46f8d4:	e8 47 ed 02 00       	call   0x49e620
46f8d9:	8b 9d 6c ff ff ff    	mov    -0x94(%ebp),%ebx
46f8df:	8d 4d a8             	lea    -0x58(%ebp),%ecx
46f8e2:	51                   	push   %ecx
46f8e3:	8b cb                	mov    %ebx,%ecx
46f8e5:	8b 40 14             	mov    0x14(%eax),%eax
46f8e8:	83 c0 58             	add    $0x58,%eax
46f8eb:	89 85 68 ff ff ff    	mov    %eax,-0x98(%ebp)
46f8f1:	8b 03                	mov    (%ebx),%eax
46f8f3:	ff 50 18             	call   *0x18(%eax)
46f8f6:	8b 03                	mov    (%ebx),%eax
46f8f8:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
46f8fe:	51                   	push   %ecx
46f8ff:	8b cb                	mov    %ebx,%ecx
46f901:	ff 50 1c             	call   *0x1c(%eax)
46f904:	8b 4d ac             	mov    -0x54(%ebp),%ecx
46f907:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
46f90d:	52                   	push   %edx
46f90e:	8d 55 a8             	lea    -0x58(%ebp),%edx
46f911:	52                   	push   %edx
46f912:	8b 01                	mov    (%ecx),%eax
46f914:	8b 40 14             	mov    0x14(%eax),%eax
46f917:	ff d0                	call   *%eax
46f919:	84 c0                	test   %al,%al
46f91b:	75 61                	jne    0x46f97e
46f91d:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
46f923:	8d 45 b0             	lea    -0x50(%ebp),%eax
46f926:	50                   	push   %eax
46f927:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46f92d:	e8 6e 2d 00 00       	call   0x4726a0
46f932:	8d 78 02             	lea    0x2(%eax),%edi
46f935:	8d 45 d0             	lea    -0x30(%ebp),%eax
46f938:	50                   	push   %eax
46f939:	53                   	push   %ebx
46f93a:	e8 41 2f 00 00       	call   0x472880
46f93f:	03 f8                	add    %eax,%edi
46f941:	8b 4d ac             	mov    -0x54(%ebp),%ecx
46f944:	8b c7                	mov    %edi,%eax
46f946:	8d 55 a8             	lea    -0x58(%ebp),%edx
46f949:	83 c8 01             	or     $0x1,%eax
46f94c:	83 c4 10             	add    $0x10,%esp
46f94f:	0f bd c0             	bsr    %eax,%eax
46f952:	52                   	push   %edx
46f953:	8d 04 c0             	lea    (%eax,%eax,8),%eax
46f956:	83 c0 49             	add    $0x49,%eax
46f959:	c1 e8 06             	shr    $0x6,%eax
46f95c:	03 c7                	add    %edi,%eax
46f95e:	03 f0                	add    %eax,%esi
46f960:	8b 01                	mov    (%ecx),%eax
46f962:	ff 50 48             	call   *0x48(%eax)
46f965:	8b 4d ac             	mov    -0x54(%ebp),%ecx
46f968:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
46f96e:	52                   	push   %edx
46f96f:	8d 55 a8             	lea    -0x58(%ebp),%edx
46f972:	52                   	push   %edx
46f973:	8b 01                	mov    (%ecx),%eax
46f975:	8b 40 14             	mov    0x14(%eax),%eax
46f978:	ff d0                	call   *%eax
46f97a:	84 c0                	test   %al,%al
46f97c:	74 a5                	je     0x46f923
46f97e:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
46f984:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
46f98a:	52                   	push   %edx
46f98b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46f98f:	8b 01                	mov    (%ecx),%eax
46f991:	ff 50 40             	call   *0x40(%eax)
46f994:	83 7d 98 09          	cmpl   $0x9,-0x68(%ebp)
46f998:	75 46                	jne    0x46f9e0
46f99a:	8b 55 94             	mov    -0x6c(%ebp),%edx
46f99d:	83 fa 10             	cmp    $0x10,%edx
46f9a0:	72 2c                	jb     0x46f9ce
46f9a2:	8b 4d 80             	mov    -0x80(%ebp),%ecx
46f9a5:	42                   	inc    %edx
46f9a6:	8b c1                	mov    %ecx,%eax
46f9a8:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46f9ae:	72 14                	jb     0x46f9c4
46f9b0:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46f9b3:	83 c2 23             	add    $0x23,%edx
46f9b6:	2b c1                	sub    %ecx,%eax
46f9b8:	83 c0 fc             	add    $0xfffffffc,%eax
46f9bb:	83 f8 1f             	cmp    $0x1f,%eax
46f9be:	0f 87 4a 06 00 00    	ja     0x47000e
46f9c4:	52                   	push   %edx
46f9c5:	51                   	push   %ecx
46f9c6:	e8 8a 18 16 00       	call   0x5d1255
46f9cb:	83 c4 08             	add    $0x8,%esp
46f9ce:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
46f9d5:	c7 45 94 0f 00 00 00 	movl   $0xf,-0x6c(%ebp)
46f9dc:	c6 45 80 00          	movb   $0x0,-0x80(%ebp)
46f9e0:	8b 4d ac             	mov    -0x54(%ebp),%ecx
46f9e3:	8d 55 a8             	lea    -0x58(%ebp),%edx
46f9e6:	52                   	push   %edx
46f9e7:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
46f9ee:	8b 01                	mov    (%ecx),%eax
46f9f0:	ff 50 40             	call   *0x40(%eax)
46f9f3:	83 7d c8 09          	cmpl   $0x9,-0x38(%ebp)
46f9f7:	0f 85 12 01 00 00    	jne    0x46fb0f
46f9fd:	8b 55 c4             	mov    -0x3c(%ebp),%edx
46fa00:	83 fa 10             	cmp    $0x10,%edx
46fa03:	0f 82 06 01 00 00    	jb     0x46fb0f
46fa09:	8b 4d b0             	mov    -0x50(%ebp),%ecx
46fa0c:	42                   	inc    %edx
46fa0d:	8b c1                	mov    %ecx,%eax
46fa0f:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46fa15:	72 14                	jb     0x46fa2b
46fa17:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46fa1a:	83 c2 23             	add    $0x23,%edx
46fa1d:	2b c1                	sub    %ecx,%eax
46fa1f:	83 c0 fc             	add    $0xfffffffc,%eax
46fa22:	83 f8 1f             	cmp    $0x1f,%eax
46fa25:	0f 87 e3 05 00 00    	ja     0x47000e
46fa2b:	52                   	push   %edx
46fa2c:	51                   	push   %ecx
46fa2d:	e8 23 18 16 00       	call   0x5d1255
46fa32:	83 c4 08             	add    $0x8,%esp
46fa35:	e9 d5 00 00 00       	jmp    0x46fb0f
46fa3a:	33 db                	xor    %ebx,%ebx
46fa3c:	83 7f 20 03          	cmpl   $0x3,0x20(%edi)
46fa40:	75 16                	jne    0x46fa58
46fa42:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
46fa48:	57                   	push   %edi
46fa49:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
46fa4f:	e8 9c 46 ff ff       	call   0x4640f0
46fa54:	8b d8                	mov    %eax,%ebx