46a7df:	8b 45 c8             	mov    -0x38(%ebp),%eax
46a7e2:	8b cb                	mov    %ebx,%ecx
46a7e4:	8b 13                	mov    (%ebx),%edx
46a7e6:	83 c8 02             	or     $0x2,%eax
46a7e9:	89 45 c8             	mov    %eax,-0x38(%ebp)
46a7ec:	89 45 b8             	mov    %eax,-0x48(%ebp)
46a7ef:	8d 45 a8             	lea    -0x58(%ebp),%eax
46a7f2:	50                   	push   %eax
46a7f3:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46a7fa:	ff 52 48             	call   *0x48(%edx)
46a7fd:	68 c4 76 60 00       	push   $0x6076c4
46a802:	8b ce                	mov    %esi,%ecx
46a804:	8b 00                	mov    (%eax),%eax
46a806:	ff 70 04             	push   0x4(%eax)
46a809:	8b 45 b0             	mov    -0x50(%ebp),%eax
46a80c:	68 bc 76 60 00       	push   $0x6076bc
46a811:	ff 70 04             	push   0x4(%eax)
46a814:	68 b4 76 60 00       	push   $0x6076b4
46a819:	68 88 76 60 00       	push   $0x607688
46a81e:	68 50 76 60 00       	push   $0x607650
46a823:	e8 c8 b0 00 00       	call   0x4758f0
46a828:	8b c8                	mov    %eax,%ecx
46a82a:	e8 c1 b0 00 00       	call   0x4758f0
46a82f:	8b c8                	mov    %eax,%ecx
46a831:	e8 ba b0 00 00       	call   0x4758f0
46a836:	8b c8                	mov    %eax,%ecx
46a838:	e8 c3 ae 00 00       	call   0x475700
46a83d:	8b c8                	mov    %eax,%ecx
46a83f:	e8 ac b0 00 00       	call   0x4758f0
46a844:	8b c8                	mov    %eax,%ecx
46a846:	e8 b5 ae 00 00       	call   0x475700
46a84b:	8b c8                	mov    %eax,%ecx
46a84d:	e8 9e b0 00 00       	call   0x4758f0
46a852:	50                   	push   %eax
46a853:	8d 4d c3             	lea    -0x3d(%ebp),%ecx
46a856:	e8 25 ae 00 00       	call   0x475680
46a85b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46a85e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46a865:	f6 c1 02             	test   $0x2,%cl
46a868:	74 08                	je     0x46a872
46a86a:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46a86d:	e8 9e ad 00 00       	call   0x475610
46a872:	57                   	push   %edi
46a873:	e8 d8 f7 ff ff       	call   0x46a050
46a878:	ff 75 c4             	push   -0x3c(%ebp)
46a87b:	8b d8                	mov    %eax,%ebx
46a87d:	e8 ce f7 ff ff       	call   0x46a050
46a882:	83 c4 08             	add    $0x8,%esp
46a885:	89 45 c8             	mov    %eax,-0x38(%ebp)
46a888:	8b cb                	mov    %ebx,%ecx
46a88a:	e8 d1 a3 ff ff       	call   0x464c60
46a88f:	8b f0                	mov    %eax,%esi
46a891:	e8 4a e7 fe ff       	call   0x458fe0
46a896:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46a899:	3b f0                	cmp    %eax,%esi
46a89b:	0f 94 45 c3          	sete   -0x3d(%ebp)
46a89f:	e8 bc a3 ff ff       	call   0x464c60
46a8a4:	8b f0                	mov    %eax,%esi
46a8a6:	e8 35 e7 fe ff       	call   0x458fe0
46a8ab:	3b f0                	cmp    %eax,%esi
46a8ad:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
46a8b4:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
46a8bb:	0f 94 45 b7          	sete   -0x49(%ebp)
46a8bf:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
46a8c6:	8d 45 9c             	lea    -0x64(%ebp),%eax
46a8c9:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
46a8d0:	50                   	push   %eax
46a8d1:	57                   	push   %edi
46a8d2:	8b cb                	mov    %ebx,%ecx
46a8d4:	e8 97 b8 ff ff       	call   0x466170
46a8d9:	8b 45 9c             	mov    -0x64(%ebp),%eax
46a8dc:	8b 4d a0             	mov    -0x60(%ebp),%ecx
46a8df:	89 45 b0             	mov    %eax,-0x50(%ebp)
46a8e2:	89 4d 98             	mov    %ecx,-0x68(%ebp)
46a8e5:	3b c1                	cmp    %ecx,%eax
46a8e7:	0f 84 24 02 00 00    	je     0x46ab11
46a8ed:	0f 1f 00             	nopl   (%eax)
46a8f0:	8b 30                	mov    (%eax),%esi
46a8f2:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
46a8f6:	0f 85 6a 02 00 00    	jne    0x46ab66
46a8fc:	8a 45 b7             	mov    -0x49(%ebp),%al
46a8ff:	38 45 c3             	cmp    %al,-0x3d(%ebp)
46a902:	75 59                	jne    0x46a95d
46a904:	8b ce                	mov    %esi,%ecx
46a906:	e8 95 e8 fe ff       	call   0x4591a0
46a90b:	83 f8 0b             	cmp    $0xb,%eax
46a90e:	75 4d                	jne    0x46a95d
46a910:	8b ce                	mov    %esi,%ecx
46a912:	e8 79 3c 03 00       	call   0x49e590
46a917:	84 c0                	test   %al,%al
46a919:	74 42                	je     0x46a95d
46a91b:	56                   	push   %esi
46a91c:	57                   	push   %edi
46a91d:	8b cb                	mov    %ebx,%ecx
46a91f:	e8 dc a1 ff ff       	call   0x464b00
46a924:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46a927:	56                   	push   %esi
46a928:	ff 75 c4             	push   -0x3c(%ebp)
46a92b:	89 45 b8             	mov    %eax,-0x48(%ebp)
46a92e:	e8 cd a1 ff ff       	call   0x464b00
46a933:	8b c8                	mov    %eax,%ecx
46a935:	89 45 ac             	mov    %eax,-0x54(%ebp)
46a938:	e8 b3 85 03 00       	call   0x4a2ef0
46a93d:	84 c0                	test   %al,%al
46a93f:	74 1c                	je     0x46a95d
46a941:	8b 4d b8             	mov    -0x48(%ebp),%ecx
46a944:	e8 a7 85 03 00       	call   0x4a2ef0
46a949:	84 c0                	test   %al,%al
46a94b:	74 10                	je     0x46a95d
46a94d:	8b 4d ac             	mov    -0x54(%ebp),%ecx
46a950:	ff 75 b8             	push   -0x48(%ebp)
46a953:	8b 01                	mov    (%ecx),%eax
46a955:	ff 50 20             	call   *0x20(%eax)
46a958:	e9 a2 01 00 00       	jmp    0x46aaff
46a95d:	56                   	push   %esi
46a95e:	57                   	push   %edi
46a95f:	8b cb                	mov    %ebx,%ecx
46a961:	e8 8a 97 ff ff       	call   0x4640f0
46a966:	33 ff                	xor    %edi,%edi
46a968:	89 45 ac             	mov    %eax,-0x54(%ebp)
46a96b:	85 c0                	test   %eax,%eax
46a96d:	0f 8e 89 01 00 00    	jle    0x46aafc
46a973:	8b ce                	mov    %esi,%ecx
46a975:	e8 26 e8 fe ff       	call   0x4591a0
46a97a:	8b 0c 85 98 7b 60 00 	mov    0x607b98(,%eax,4),%ecx
46a981:	49                   	dec    %ecx
46a982:	83 f9 09             	cmp    $0x9,%ecx
46a985:	0f 87 67 01 00 00    	ja     0x46aaf2
46a98b:	ff 24 8d 14 ad 46 00 	jmp    *0x46ad14(,%ecx,4)
46a992:	57                   	push   %edi
46a993:	56                   	push   %esi
46a994:	ff 75 bc             	push   -0x44(%ebp)
46a997:	8b cb                	mov    %ebx,%ecx
46a999:	e8 a2 a8 ff ff       	call   0x465240
46a99e:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46a9a1:	50                   	push   %eax
46a9a2:	56                   	push   %esi
46a9a3:	ff 75 c4             	push   -0x3c(%ebp)
46a9a6:	e8 05 84 ff ff       	call   0x462db0
46a9ab:	e9 42 01 00 00       	jmp    0x46aaf2
46a9b0:	57                   	push   %edi
46a9b1:	56                   	push   %esi
46a9b2:	ff 75 bc             	push   -0x44(%ebp)
46a9b5:	8b cb                	mov    %ebx,%ecx
46a9b7:	e8 34 a9 ff ff       	call   0x4652f0
46a9bc:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46a9bf:	52                   	push   %edx
46a9c0:	50                   	push   %eax
46a9c1:	56                   	push   %esi
46a9c2:	ff 75 c4             	push   -0x3c(%ebp)
46a9c5:	e8 96 84 ff ff       	call   0x462e60
46a9ca:	e9 23 01 00 00       	jmp    0x46aaf2
46a9cf:	57                   	push   %edi
46a9d0:	56                   	push   %esi
46a9d1:	ff 75 bc             	push   -0x44(%ebp)
46a9d4:	8b cb                	mov    %ebx,%ecx
46a9d6:	e8 45 ac ff ff       	call   0x465620
46a9db:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46a9de:	50                   	push   %eax
46a9df:	56                   	push   %esi
46a9e0:	ff 75 c4             	push   -0x3c(%ebp)
46a9e3:	e8 28 88 ff ff       	call   0x463210
46a9e8:	e9 05 01 00 00       	jmp    0x46aaf2
46a9ed:	57                   	push   %edi
46a9ee:	56                   	push   %esi
46a9ef:	ff 75 bc             	push   -0x44(%ebp)
46a9f2:	8b cb                	mov    %ebx,%ecx
46a9f4:	e8 d7 ac ff ff       	call   0x4656d0
46a9f9:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46a9fc:	52                   	push   %edx
46a9fd:	50                   	push   %eax
46a9fe:	56                   	push   %esi
46a9ff:	ff 75 c4             	push   -0x3c(%ebp)
46aa02:	e8 b9 88 ff ff       	call   0x4632c0
46aa07:	e9 e6 00 00 00       	jmp    0x46aaf2
46aa0c:	57                   	push   %edi
46aa0d:	56                   	push   %esi
46aa0e:	ff 75 bc             	push   -0x44(%ebp)
46aa11:	8b cb                	mov    %ebx,%ecx
46aa13:	e8 78 a7 ff ff       	call   0x465190
46aa18:	51                   	push   %ecx
46aa19:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46aa1c:	d9 1c 24             	fstps  (%esp)
46aa1f:	56                   	push   %esi
46aa20:	ff 75 c4             	push   -0x3c(%ebp)
46aa23:	e8 c8 82 ff ff       	call   0x462cf0
46aa28:	e9 c5 00 00 00       	jmp    0x46aaf2
46aa2d:	57                   	push   %edi
46aa2e:	56                   	push   %esi
46aa2f:	ff 75 bc             	push   -0x44(%ebp)
46aa32:	8b cb                	mov    %ebx,%ecx
46aa34:	e8 47 a5 ff ff       	call   0x464f80
46aa39:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46aa3c:	83 ec 08             	sub    $0x8,%esp
46aa3f:	dd 1c 24             	fstpl  (%esp)
46aa42:	56                   	push   %esi
46aa43:	ff 75 c4             	push   -0x3c(%ebp)
46aa46:	e8 45 80 ff ff       	call   0x462a90
46aa4b:	e9 a2 00 00 00       	jmp    0x46aaf2
46aa50:	57                   	push   %edi
46aa51:	56                   	push   %esi
46aa52:	ff 75 bc             	push   -0x44(%ebp)
46aa55:	8b cb                	mov    %ebx,%ecx
46aa57:	e8 74 a4 ff ff       	call   0x464ed0
46aa5c:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46aa5f:	0f b6 c0             	movzbl %al,%eax
46aa62:	50                   	push   %eax
46aa63:	56                   	push   %esi
46aa64:	ff 75 c4             	push   -0x3c(%ebp)
46aa67:	e8 04 7f ff ff       	call   0x462970
46aa6c:	e9 81 00 00 00       	jmp    0x46aaf2
46aa71:	83 ec 18             	sub    $0x18,%esp
46aa74:	8b cb                	mov    %ebx,%ecx
46aa76:	8b c4                	mov    %esp,%eax
46aa78:	57                   	push   %edi
46aa79:	56                   	push   %esi
46aa7a:	ff 75 bc             	push   -0x44(%ebp)
46aa7d:	50                   	push   %eax
46aa7e:	e8 1d aa ff ff       	call   0x4654a0
46aa83:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46aa86:	56                   	push   %esi
46aa87:	ff 75 c4             	push   -0x3c(%ebp)
46aa8a:	e8 f1 85 ff ff       	call   0x463080
46aa8f:	eb 61                	jmp    0x46aaf2
46aa91:	57                   	push   %edi
46aa92:	56                   	push   %esi
46aa93:	ff 75 bc             	push   -0x44(%ebp)
46aa96:	8b cb                	mov    %ebx,%ecx
46aa98:	e8 93 a5 ff ff       	call   0x465030
46aa9d:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46aaa0:	50                   	push   %eax
46aaa1:	56                   	push   %esi
46aaa2:	ff 75 c4             	push   -0x3c(%ebp)
46aaa5:	e8 a6 80 ff ff       	call   0x462b50
46aaaa:	eb 46                	jmp    0x46aaf2
46aaac:	57                   	push   %edi
46aaad:	56                   	push   %esi
46aaae:	ff 75 bc             	push   -0x44(%ebp)
46aab1:	8b cb                	mov    %ebx,%ecx
46aab3:	e8 f8 a8 ff ff       	call   0x4653b0
46aab8:	8b c8                	mov    %eax,%ecx
46aaba:	8b 45 c8             	mov    -0x38(%ebp),%eax
46aabd:	89 4d b8             	mov    %ecx,-0x48(%ebp)
46aac0:	3b d8                	cmp    %eax,%ebx
46aac2:	75 17                	jne    0x46aadb
46aac4:	8b 11                	mov    (%ecx),%edx
46aac6:	8d 45 8c             	lea    -0x74(%ebp),%eax
46aac9:	50                   	push   %eax
46aaca:	ff 52 48             	call   *0x48(%edx)
46aacd:	8b 48 04             	mov    0x4(%eax),%ecx
46aad0:	e8 8b a1 ff ff       	call   0x464c60
46aad5:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46aad8:	50                   	push   %eax
46aad9:	eb 04                	jmp    0x46aadf
46aadb:	6a 00                	push   $0x0
46aadd:	8b c8                	mov    %eax,%ecx
46aadf:	56                   	push   %esi
46aae0:	ff 75 c4             	push   -0x3c(%ebp)
46aae3:	e8 38 84 ff ff       	call   0x462f20
46aae8:	ff 75 b8             	push   -0x48(%ebp)
46aaeb:	8b c8                	mov    %eax,%ecx
46aaed:	8b 10                	mov    (%eax),%edx
46aaef:	ff 52 38             	call   *0x38(%edx)
46aaf2:	47                   	inc    %edi
46aaf3:	3b 7d ac             	cmp    -0x54(%ebp),%edi
46aaf6:	0f 8c 77 fe ff ff    	jl     0x46a973
46aafc:	8b 7d bc             	mov    -0x44(%ebp),%edi
46aaff:	8b 45 b0             	mov    -0x50(%ebp),%eax
46ab02:	83 c0 04             	add    $0x4,%eax
46ab05:	89 45 b0             	mov    %eax,-0x50(%ebp)
46ab08:	3b 45 98             	cmp    -0x68(%ebp),%eax
46ab0b:	0f 85 df fd ff ff    	jne    0x46a8f0
46ab11:	57                   	push   %edi
46ab12:	8b cb                	mov    %ebx,%ecx
46ab14:	e8 47 b0 ff ff       	call   0x465b60
46ab19:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46ab1c:	50                   	push   %eax
46ab1d:	ff 75 c4             	push   -0x3c(%ebp)
46ab20:	e8 0b be ff ff       	call   0x466930
46ab25:	8b c8                	mov    %eax,%ecx
46ab27:	e8 24 60 ff ff       	call   0x460b50
46ab2c:	8b 55 9c             	mov    -0x64(%ebp),%edx
46ab2f:	85 d2                	test   %edx,%edx
46ab31:	0f 84 b9 01 00 00    	je     0x46acf0
46ab37:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
46ab3a:	8b c2                	mov    %edx,%eax
46ab3c:	2b ca                	sub    %edx,%ecx
46ab3e:	83 e1 fc             	and    $0xfffffffc,%ecx
46ab41:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
46ab47:	0f 82 99 01 00 00    	jb     0x46ace6
46ab4d:	8b 52 fc             	mov    -0x4(%edx),%edx
46ab50:	83 c1 23             	add    $0x23,%ecx
46ab53:	2b c2                	sub    %edx,%eax
46ab55:	83 c0 fc             	add    $0xfffffffc,%eax
46ab58:	83 f8 1f             	cmp    $0x1f,%eax
46ab5b:	0f 87 ab 01 00 00    	ja     0x46ad0c
46ab61:	e9 80 01 00 00       	jmp    0x46ace6
46ab66:	8b ce                	mov    %esi,%ecx
46ab68:	e8 33 e6 fe ff       	call   0x4591a0
46ab6d:	8b 04 85 98 7b 60 00 	mov    0x607b98(,%eax,4),%eax
46ab74:	48                   	dec    %eax
46ab75:	83 f8 09             	cmp    $0x9,%eax
46ab78:	77 85                	ja     0x46aaff
46ab7a:	ff 24 85 3c ad 46 00 	jmp    *0x46ad3c(,%eax,4)
46ab81:	56                   	push   %esi
46ab82:	57                   	push   %edi
46ab83:	8b cb                	mov    %ebx,%ecx
46ab85:	e8 a6 9d ff ff       	call   0x464930
46ab8a:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46ab8d:	50                   	push   %eax
46ab8e:	56                   	push   %esi
46ab8f:	ff 75 c4             	push   -0x3c(%ebp)
46ab92:	e8 09 ca ff ff       	call   0x4675a0
46ab97:	e9 63 ff ff ff       	jmp    0x46aaff
46ab9c:	56                   	push   %esi
46ab9d:	57                   	push   %edi
46ab9e:	8b cb                	mov    %ebx,%ecx
46aba0:	e8 6b 9e ff ff       	call   0x464a10
46aba5:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46aba8:	52                   	push   %edx
46aba9:	50                   	push   %eax
46abaa:	56                   	push   %esi
46abab:	ff 75 c4             	push   -0x3c(%ebp)
46abae:	e8 8d ca ff ff       	call   0x467640
46abb3:	e9 47 ff ff ff       	jmp    0x46aaff
46abb8:	56                   	push   %esi
46abb9:	57                   	push   %edi
46abba:	8b cb                	mov    %ebx,%ecx
46abbc:	e8 cf ad ff ff       	call   0x465990
46abc1:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46abc4:	50                   	push   %eax
46abc5:	56                   	push   %esi
46abc6:	ff 75 c4             	push   -0x3c(%ebp)
46abc9:	e8 c2 cd ff ff       	call   0x467990
46abce:	e9 2c ff ff ff       	jmp    0x46aaff
46abd3:	56                   	push   %esi
46abd4:	57                   	push   %edi
46abd5:	8b cb                	mov    %ebx,%ecx
46abd7:	e8 94 ae ff ff       	call   0x465a70
46abdc:	8b 4d c8             	mov    -0x38(%ebp),%ecx
46abdf:	52                   	push   %edx
46abe0:	50                   	push   %eax
46abe1:	56                   	push   %esi
46abe2:	ff 75 c4             	push   -0x3c(%ebp)
46abe5:	e8 46 ce ff ff       	call   0x467a30
46abea:	e9 10 ff ff ff       	jmp    0x46aaff
46abef:	56                   	push   %esi
46abf0:	57                   	push   %edi
46abf1:	8b cb                	mov    %ebx,%ecx
46abf3:	e8 48 9c ff ff       	call   0x464840