46d7a9:	83 c4 10             	add    $0x10,%esp
46d7ac:	c1 e8 1f             	shr    $0x1f,%eax
46d7af:	e9 93 00 00 00       	jmp    0x46d847
46d7b4:	8b cb                	mov    %ebx,%ecx
46d7b6:	e8 85 2c 00 00       	call   0x470440
46d7bb:	8b cf                	mov    %edi,%ecx
46d7bd:	89 45 8c             	mov    %eax,-0x74(%ebp)
46d7c0:	8b f2                	mov    %edx,%esi
46d7c2:	e8 79 2c 00 00       	call   0x470440
46d7c7:	3b f2                	cmp    %edx,%esi
46d7c9:	0f 8c 27 02 00 00    	jl     0x46d9f6
46d7cf:	7f 7e                	jg     0x46d84f
46d7d1:	39 45 8c             	cmp    %eax,-0x74(%ebp)
46d7d4:	0f 82 1c 02 00 00    	jb     0x46d9f6
46d7da:	eb 73                	jmp    0x46d84f
46d7dc:	8b cb                	mov    %ebx,%ecx
46d7de:	e8 6d 2a 00 00       	call   0x470250
46d7e3:	8b cf                	mov    %edi,%ecx
46d7e5:	8b f0                	mov    %eax,%esi
46d7e7:	e8 64 2a 00 00       	call   0x470250
46d7ec:	3b f0                	cmp    %eax,%esi
46d7ee:	0f 9c c0             	setl   %al
46d7f1:	eb 54                	jmp    0x46d847
46d7f3:	8b cb                	mov    %ebx,%ecx
46d7f5:	e8 f6 32 00 00       	call   0x470af0
46d7fa:	8b cf                	mov    %edi,%ecx
46d7fc:	89 45 8c             	mov    %eax,-0x74(%ebp)
46d7ff:	8b f2                	mov    %edx,%esi
46d801:	e8 ea 32 00 00       	call   0x470af0
46d806:	3b f2                	cmp    %edx,%esi
46d808:	0f 82 e8 01 00 00    	jb     0x46d9f6
46d80e:	77 3f                	ja     0x46d84f
46d810:	39 45 8c             	cmp    %eax,-0x74(%ebp)
46d813:	0f 82 dd 01 00 00    	jb     0x46d9f6
46d819:	eb 34                	jmp    0x46d84f
46d81b:	8b cb                	mov    %ebx,%ecx
46d81d:	e8 de 30 00 00       	call   0x470900
46d822:	8b cf                	mov    %edi,%ecx
46d824:	8b f0                	mov    %eax,%esi
46d826:	e8 d5 30 00 00       	call   0x470900
46d82b:	3b f0                	cmp    %eax,%esi
46d82d:	eb 15                	jmp    0x46d844
46d82f:	8b cb                	mov    %ebx,%ecx
46d831:	e8 2a 28 00 00       	call   0x470060
46d836:	8b cf                	mov    %edi,%ecx
46d838:	8a d8                	mov    %al,%bl
46d83a:	e8 21 28 00 00       	call   0x470060
46d83f:	3a d8                	cmp    %al,%bl
46d841:	8b 5d a8             	mov    -0x58(%ebp),%ebx
46d844:	0f 92 c0             	setb   %al
46d847:	84 c0                	test   %al,%al
46d849:	0f 85 a7 01 00 00    	jne    0x46d9f6
46d84f:	8b cf                	mov    %edi,%ecx
46d851:	e8 9a 78 00 00       	call   0x4750f0
46d856:	48                   	dec    %eax
46d857:	83 f8 08             	cmp    $0x8,%eax
46d85a:	0f 87 b2 01 00 00    	ja     0x46da12
46d860:	ff 24 85 28 de 46 00 	jmp    *0x46de28(,%eax,4)
46d867:	8b cb                	mov    %ebx,%ecx
46d869:	e8 b2 2e 00 00       	call   0x470720
46d86e:	8b cf                	mov    %edi,%ecx
46d870:	8b f0                	mov    %eax,%esi
46d872:	e8 a9 2e 00 00       	call   0x470720
46d877:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
46d87b:	8b d6                	mov    %esi,%edx
46d87d:	72 02                	jb     0x46d881
46d87f:	8b 16                	mov    (%esi),%edx
46d881:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
46d885:	8b c8                	mov    %eax,%ecx
46d887:	72 02                	jb     0x46d88b
46d889:	8b 08                	mov    (%eax),%ecx
46d88b:	ff 76 10             	push   0x10(%esi)
46d88e:	52                   	push   %edx
46d88f:	ff 70 10             	push   0x10(%eax)
46d892:	51                   	push   %ecx
46d893:	e8 78 0c 00 00       	call   0x46e510
46d898:	83 c4 10             	add    $0x10,%esp
46d89b:	c1 e8 1f             	shr    $0x1f,%eax
46d89e:	e9 94 00 00 00       	jmp    0x46d937
46d8a3:	8b cf                	mov    %edi,%ecx
46d8a5:	e8 96 2b 00 00       	call   0x470440
46d8aa:	8b cb                	mov    %ebx,%ecx
46d8ac:	89 45 8c             	mov    %eax,-0x74(%ebp)
46d8af:	8b f2                	mov    %edx,%esi
46d8b1:	e8 8a 2b 00 00       	call   0x470440
46d8b6:	3b f2                	cmp    %edx,%esi
46d8b8:	0f 8c 93 01 00 00    	jl     0x46da51
46d8be:	7f 7f                	jg     0x46d93f
46d8c0:	39 45 8c             	cmp    %eax,-0x74(%ebp)
46d8c3:	0f 82 88 01 00 00    	jb     0x46da51
46d8c9:	eb 74                	jmp    0x46d93f
46d8cb:	8b cf                	mov    %edi,%ecx
46d8cd:	e8 7e 29 00 00       	call   0x470250
46d8d2:	8b cb                	mov    %ebx,%ecx
46d8d4:	8b f0                	mov    %eax,%esi
46d8d6:	e8 75 29 00 00       	call   0x470250
46d8db:	3b f0                	cmp    %eax,%esi
46d8dd:	0f 9c c0             	setl   %al
46d8e0:	eb 55                	jmp    0x46d937
46d8e2:	8b cf                	mov    %edi,%ecx
46d8e4:	e8 07 32 00 00       	call   0x470af0
46d8e9:	8b cb                	mov    %ebx,%ecx
46d8eb:	89 45 8c             	mov    %eax,-0x74(%ebp)
46d8ee:	8b f2                	mov    %edx,%esi
46d8f0:	e8 fb 31 00 00       	call   0x470af0
46d8f5:	3b f2                	cmp    %edx,%esi
46d8f7:	0f 82 54 01 00 00    	jb     0x46da51
46d8fd:	77 40                	ja     0x46d93f
46d8ff:	39 45 8c             	cmp    %eax,-0x74(%ebp)
46d902:	0f 82 49 01 00 00    	jb     0x46da51
46d908:	eb 35                	jmp    0x46d93f
46d90a:	8b cf                	mov    %edi,%ecx
46d90c:	e8 ef 2f 00 00       	call   0x470900
46d911:	8b cb                	mov    %ebx,%ecx
46d913:	8b f0                	mov    %eax,%esi
46d915:	e8 e6 2f 00 00       	call   0x470900
46d91a:	3b f0                	cmp    %eax,%esi
46d91c:	eb 16                	jmp    0x46d934
46d91e:	8b cf                	mov    %edi,%ecx
46d920:	e8 3b 27 00 00       	call   0x470060
46d925:	8b 4d a8             	mov    -0x58(%ebp),%ecx
46d928:	8a d8                	mov    %al,%bl
46d92a:	e8 31 27 00 00       	call   0x470060
46d92f:	3a d8                	cmp    %al,%bl
46d931:	8b 5d a8             	mov    -0x58(%ebp),%ebx
46d934:	0f 92 c0             	setb   %al
46d937:	84 c0                	test   %al,%al
46d939:	0f 85 12 01 00 00    	jne    0x46da51
46d93f:	83 ef 20             	sub    $0x20,%edi
46d942:	3b fb                	cmp    %ebx,%edi
46d944:	0f 84 ac 00 00 00    	je     0x46d9f6
46d94a:	57                   	push   %edi
46d94b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46d94e:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46d955:	e8 96 1b 00 00       	call   0x46f4f0
46d95a:	53                   	push   %ebx
46d95b:	8b cf                	mov    %edi,%ecx
46d95d:	c7 45 fc 21 00 00 00 	movl   $0x21,-0x4(%ebp)
46d964:	e8 87 1b 00 00       	call   0x46f4f0
46d969:	8d 45 d0             	lea    -0x30(%ebp),%eax
46d96c:	8b cb                	mov    %ebx,%ecx
46d96e:	50                   	push   %eax
46d96f:	e8 7c 1b 00 00       	call   0x46f4f0
46d974:	83 7d e8 09          	cmpl   $0x9,-0x18(%ebp)
46d978:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46d97f:	75 75                	jne    0x46d9f6
46d981:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46d984:	83 fa 10             	cmp    $0x10,%edx
46d987:	72 6d                	jb     0x46d9f6
46d989:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46d98c:	42                   	inc    %edx
46d98d:	8b c1                	mov    %ecx,%eax
46d98f:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46d995:	72 14                	jb     0x46d9ab
46d997:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46d99a:	83 c2 23             	add    $0x23,%edx
46d99d:	2b c1                	sub    %ecx,%eax
46d99f:	83 c0 fc             	add    $0xfffffffc,%eax
46d9a2:	83 f8 1f             	cmp    $0x1f,%eax
46d9a5:	0f 87 79 03 00 00    	ja     0x46dd24
46d9ab:	52                   	push   %edx
46d9ac:	51                   	push   %ecx
46d9ad:	e8 a3 38 16 00       	call   0x5d1255
46d9b2:	83 c4 08             	add    $0x8,%esp
46d9b5:	eb 3f                	jmp    0x46d9f6
46d9b7:	68 98 04 00 00       	push   $0x498
46d9bc:	68 88 79 60 00       	push   $0x607988
46d9c1:	6a 02                	push   $0x2
46d9c3:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d9c6:	e8 15 79 00 00       	call   0x4752e0
46d9cb:	68 48 77 60 00       	push   $0x607748
46d9d0:	8b c8                	mov    %eax,%ecx
46d9d2:	c7 45 fc 1c 00 00 00 	movl   $0x1c,-0x4(%ebp)
46d9d9:	e8 12 7f 00 00       	call   0x4758f0
46d9de:	50                   	push   %eax
46d9df:	8d 4d 8a             	lea    -0x76(%ebp),%ecx
46d9e2:	e8 99 7c 00 00       	call   0x475680
46d9e7:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46d9ea:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46d9f1:	e8 1a 7c 00 00       	call   0x475610
46d9f6:	8b 45 a0             	mov    -0x60(%ebp),%eax
46d9f9:	83 eb 20             	sub    $0x20,%ebx
46d9fc:	8b 4d 90             	mov    -0x70(%ebp),%ecx
46d9ff:	83 e8 20             	sub    $0x20,%eax
46da02:	89 45 a0             	mov    %eax,-0x60(%ebp)
46da05:	89 5d a8             	mov    %ebx,-0x58(%ebp)
46da08:	3b c8                	cmp    %eax,%ecx
46da0a:	0f 82 50 fd ff ff    	jb     0x46d760
46da10:	eb 45                	jmp    0x46da57
46da12:	68 98 04 00 00       	push   $0x498
46da17:	68 88 79 60 00       	push   $0x607988
46da1c:	6a 02                	push   $0x2
46da1e:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46da21:	e8 ba 78 00 00       	call   0x4752e0
46da26:	68 48 77 60 00       	push   $0x607748
46da2b:	8b c8                	mov    %eax,%ecx
46da2d:	c7 45 fc 20 00 00 00 	movl   $0x20,-0x4(%ebp)
46da34:	e8 b7 7e 00 00       	call   0x4758f0
46da39:	50                   	push   %eax
46da3a:	8d 4d 89             	lea    -0x77(%ebp),%ecx
46da3d:	e8 3e 7c 00 00       	call   0x475680
46da42:	8d 4d cc             	lea    -0x34(%ebp),%ecx
46da45:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46da4c:	e8 bf 7b 00 00       	call   0x475610
46da51:	8b 4d 90             	mov    -0x70(%ebp),%ecx
46da54:	8b 45 a0             	mov    -0x60(%ebp),%eax
46da57:	3b c1                	cmp    %ecx,%eax
46da59:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
46da5c:	0f 85 fd 00 00 00    	jne    0x46db5f
46da62:	3b 5d 9c             	cmp    -0x64(%ebp),%ebx
46da65:	0f 84 90 02 00 00    	je     0x46dcfb
46da6b:	8b 75 a4             	mov    -0x5c(%ebp),%esi
46da6e:	3b f3                	cmp    %ebx,%esi
46da70:	74 6b                	je     0x46dadd
46da72:	57                   	push   %edi
46da73:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46da76:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46da7d:	e8 6e 1a 00 00       	call   0x46f4f0
46da82:	56                   	push   %esi
46da83:	8b cf                	mov    %edi,%ecx
46da85:	c7 45 fc 22 00 00 00 	movl   $0x22,-0x4(%ebp)
46da8c:	e8 5f 1a 00 00       	call   0x46f4f0
46da91:	8d 45 d0             	lea    -0x30(%ebp),%eax
46da94:	8b ce                	mov    %esi,%ecx
46da96:	50                   	push   %eax
46da97:	e8 54 1a 00 00       	call   0x46f4f0
46da9c:	83 7d e8 09          	cmpl   $0x9,-0x18(%ebp)
46daa0:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46daa7:	75 34                	jne    0x46dadd
46daa9:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46daac:	83 fa 10             	cmp    $0x10,%edx
46daaf:	72 2c                	jb     0x46dadd
46dab1:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46dab4:	42                   	inc    %edx
46dab5:	8b c1                	mov    %ecx,%eax
46dab7:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46dabd:	72 14                	jb     0x46dad3
46dabf:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46dac2:	83 c2 23             	add    $0x23,%edx
46dac5:	2b c1                	sub    %ecx,%eax
46dac7:	83 c0 fc             	add    $0xfffffffc,%eax
46daca:	83 f8 1f             	cmp    $0x1f,%eax
46dacd:	0f 87 51 02 00 00    	ja     0x46dd24
46dad3:	52                   	push   %edx
46dad4:	51                   	push   %ecx
46dad5:	e8 7b 37 16 00       	call   0x5d1255
46dada:	83 c4 08             	add    $0x8,%esp
46dadd:	83 c6 20             	add    $0x20,%esi
46dae0:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46dae7:	57                   	push   %edi
46dae8:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46daeb:	89 75 a4             	mov    %esi,-0x5c(%ebp)
46daee:	e8 fd 19 00 00       	call   0x46f4f0
46daf3:	53                   	push   %ebx
46daf4:	8b cf                	mov    %edi,%ecx
46daf6:	c7 45 fc 23 00 00 00 	movl   $0x23,-0x4(%ebp)
46dafd:	e8 ee 19 00 00       	call   0x46f4f0
46db02:	8d 45 d0             	lea    -0x30(%ebp),%eax
46db05:	8b cb                	mov    %ebx,%ecx
46db07:	50                   	push   %eax
46db08:	e8 e3 19 00 00       	call   0x46f4f0
46db0d:	83 7d e8 09          	cmpl   $0x9,-0x18(%ebp)
46db11:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46db18:	75 34                	jne    0x46db4e
46db1a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46db1d:	83 fa 10             	cmp    $0x10,%edx
46db20:	72 2c                	jb     0x46db4e
46db22:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46db25:	42                   	inc    %edx
46db26:	8b c1                	mov    %ecx,%eax
46db28:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46db2e:	72 14                	jb     0x46db44
46db30:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46db33:	83 c2 23             	add    $0x23,%edx
46db36:	2b c1                	sub    %ecx,%eax
46db38:	83 c0 fc             	add    $0xfffffffc,%eax
46db3b:	83 f8 1f             	cmp    $0x1f,%eax
46db3e:	0f 87 e0 01 00 00    	ja     0x46dd24
46db44:	52                   	push   %edx
46db45:	51                   	push   %ecx
46db46:	e8 0a 37 16 00       	call   0x5d1255
46db4b:	83 c4 08             	add    $0x8,%esp
46db4e:	8b 45 a0             	mov    -0x60(%ebp),%eax
46db51:	83 c7 20             	add    $0x20,%edi
46db54:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
46db57:	83 c3 20             	add    $0x20,%ebx
46db5a:	e9 f3 f8 ff ff       	jmp    0x46d452
46db5f:	83 c0 e0             	add    $0xffffffe0,%eax
46db62:	89 45 a0             	mov    %eax,-0x60(%ebp)
46db65:	3b 5d 9c             	cmp    -0x64(%ebp),%ebx
46db68:	0f 85 00 01 00 00    	jne    0x46dc6e
46db6e:	83 ef 20             	sub    $0x20,%edi
46db71:	3b c7                	cmp    %edi,%eax
46db73:	74 6c                	je     0x46dbe1
46db75:	50                   	push   %eax
46db76:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46db79:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46db80:	e8 6b 19 00 00       	call   0x46f4f0
46db85:	8b 4d a0             	mov    -0x60(%ebp),%ecx
46db88:	57                   	push   %edi
46db89:	c7 45 fc 24 00 00 00 	movl   $0x24,-0x4(%ebp)
46db90:	e8 5b 19 00 00       	call   0x46f4f0
46db95:	8d 45 d0             	lea    -0x30(%ebp),%eax
46db98:	8b cf                	mov    %edi,%ecx
46db9a:	50                   	push   %eax
46db9b:	e8 50 19 00 00       	call   0x46f4f0
46dba0:	83 7d e8 09          	cmpl   $0x9,-0x18(%ebp)
46dba4:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46dbab:	75 34                	jne    0x46dbe1
46dbad:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46dbb0:	83 fa 10             	cmp    $0x10,%edx
46dbb3:	72 2c                	jb     0x46dbe1
46dbb5:	8b 4d d0             	mov    -0x30(%ebp),%ecx
46dbb8:	42                   	inc    %edx
46dbb9:	8b c1                	mov    %ecx,%eax
46dbbb:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46dbc1:	72 14                	jb     0x46dbd7
46dbc3:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46dbc6:	83 c2 23             	add    $0x23,%edx
46dbc9:	2b c1                	sub    %ecx,%eax
46dbcb:	83 c0 fc             	add    $0xfffffffc,%eax
46dbce:	83 f8 1f             	cmp    $0x1f,%eax
46dbd1:	0f 87 4d 01 00 00    	ja     0x46dd24
46dbd7:	52                   	push   %edx
46dbd8:	51                   	push   %ecx
46dbd9:	e8 77 36 16 00       	call   0x5d1255
46dbde:	83 c4 08             	add    $0x8,%esp
46dbe1:	8b 75 a4             	mov    -0x5c(%ebp),%esi
46dbe4:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46dbe7:	83 ee 20             	sub    $0x20,%esi
46dbea:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46dbf1:	57                   	push   %edi
46dbf2:	89 75 a4             	mov    %esi,-0x5c(%ebp)
46dbf5:	e8 f6 18 00 00       	call   0x46f4f0
46dbfa:	56                   	push   %esi
46dbfb:	8b cf                	mov    %edi,%ecx
46dbfd:	c7 45 fc 25 00 00 00 	movl   $0x25,-0x4(%ebp)
46dc04:	e8 e7 18 00 00       	call   0x46f4f0
46dc09:	8d 45 d0             	lea    -0x30(%ebp),%eax
46dc0c:	8b ce                	mov    %esi,%ecx
46dc0e:	50                   	push   %eax
46dc0f:	e8 dc 18 00 00       	call   0x46f4f0
46dc14:	83 7d e8 09          	cmpl   $0x9,-0x18(%ebp)
46dc18:	8b 45 a0             	mov    -0x60(%ebp),%eax
46dc1b:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
46dc1e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46dc25:	0f 85 2a f8 ff ff    	jne    0x46d455
46dc2b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
46dc2e:	83 fa 10             	cmp    $0x10,%edx
46dc31:	0f 82 1e f8 ff ff    	jb     0x46d455