a6461e:	77 1c                	ja     0xa6463c
a64620:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
a64626:	8b cb                	mov    %ebx,%ecx
a64628:	2b 4d 34             	sub    0x34(%ebp),%ecx
a6462b:	41                   	inc    %ecx
a6462c:	51                   	push   %ecx
a6462d:	6a 00                	push   $0x0
a6462f:	8d 4d 24             	lea    0x24(%ebp),%ecx
a64632:	e8 a5 af 9b ff       	call   0x41f5dc
a64637:	e9 86 00 00 00       	jmp    0xa646c2
a6463c:	83 7d bc 10          	cmpl   $0x10,-0x44(%ebp)
a64640:	8b 45 a8             	mov    -0x58(%ebp),%eax
a64643:	8b c8                	mov    %eax,%ecx
a64645:	73 03                	jae    0xa6464a
a64647:	8d 4d a8             	lea    -0x58(%ebp),%ecx
a6464a:	80 39 7f             	cmpb   $0x7f,(%ecx)
a6464d:	74 73                	je     0xa646c2
a6464f:	83 7d bc 10          	cmpl   $0x10,-0x44(%ebp)
a64653:	73 03                	jae    0xa64658
a64655:	8d 45 a8             	lea    -0x58(%ebp),%eax
a64658:	80 38 00             	cmpb   $0x0,(%eax)
a6465b:	7e 65                	jle    0xa646c2
a6465d:	8b 07                	mov    (%edi),%eax
a6465f:	8b 70 10             	mov    0x10(%eax),%esi
a64662:	8b ce                	mov    %esi,%ecx
a64664:	e8 fc 7f 9c ff       	call   0x42c665
a64669:	8b cf                	mov    %edi,%ecx
a6466b:	ff d6                	call   *%esi
a6466d:	83 7d bc 10          	cmpl   $0x10,-0x44(%ebp)
a64671:	8b 7d a8             	mov    -0x58(%ebp),%edi
a64674:	0f b7 c0             	movzwl %ax,%eax
a64677:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
a6467d:	73 03                	jae    0xa64682
a6467f:	8d 7d a8             	lea    -0x58(%ebp),%edi
a64682:	8b 75 34             	mov    0x34(%ebp),%esi
a64685:	8a 07                	mov    (%edi),%al
a64687:	2b f3                	sub    %ebx,%esi
a64689:	3c 7f                	cmp    $0x7f,%al
a6468b:	74 32                	je     0xa646bf
a6468d:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
a64693:	84 c0                	test   %al,%al
a64695:	7e 25                	jle    0xa646bc
a64697:	0f be c0             	movsbl %al,%eax
a6469a:	3b c6                	cmp    %esi,%eax
a6469c:	73 1e                	jae    0xa646bc
a6469e:	53                   	push   %ebx
a6469f:	2b f0                	sub    %eax,%esi
a646a1:	8d 4d 24             	lea    0x24(%ebp),%ecx
a646a4:	6a 01                	push   $0x1
a646a6:	56                   	push   %esi
a646a7:	e8 30 af 9b ff       	call   0x41f5dc
a646ac:	8d 47 01             	lea    0x1(%edi),%eax
a646af:	80 38 00             	cmpb   $0x0,(%eax)
a646b2:	7e 02                	jle    0xa646b6
a646b4:	8b f8                	mov    %eax,%edi
a646b6:	8a 07                	mov    (%edi),%al
a646b8:	3c 7f                	cmp    $0x7f,%al
a646ba:	75 d7                	jne    0xa64693
a646bc:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
a646bf:	8b 7d 88             	mov    -0x78(%ebp),%edi
a646c2:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
a646c6:	33 c0                	xor    %eax,%eax
a646c8:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
a646cf:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
a646d3:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
a646d7:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
a646dd:	8b 07                	mov    (%edi),%eax
a646df:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
a646e3:	51                   	push   %ecx
a646e4:	74 24                	je     0xa6470a
a646e6:	8b 70 2c             	mov    0x2c(%eax),%esi
a646e9:	8b ce                	mov    %esi,%ecx
a646eb:	e8 75 7f 9c ff       	call   0x42c665
a646f0:	8b cf                	mov    %edi,%ecx
a646f2:	ff d6                	call   *%esi
a646f4:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
a646fa:	8b cf                	mov    %edi,%ecx
a646fc:	89 45 84             	mov    %eax,-0x7c(%ebp)
a646ff:	8d 45 90             	lea    -0x70(%ebp),%eax
a64702:	50                   	push   %eax
a64703:	e8 e9 ee 9b ff       	call   0x4235f1
a64708:	eb 22                	jmp    0xa6472c
a6470a:	8b 70 28             	mov    0x28(%eax),%esi
a6470d:	8b ce                	mov    %esi,%ecx
a6470f:	e8 51 7f 9c ff       	call   0x42c665
a64714:	8b cf                	mov    %edi,%ecx
a64716:	ff d6                	call   *%esi
a64718:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
a6471e:	8b cf                	mov    %edi,%ecx
a64720:	89 45 84             	mov    %eax,-0x7c(%ebp)
a64723:	8d 45 90             	lea    -0x70(%ebp),%eax
a64726:	50                   	push   %eax
a64727:	e8 5e ac 9a ff       	call   0x40f38a
a6472c:	50                   	push   %eax
a6472d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
a64730:	e8 54 d4 9b ff       	call   0x421b89
a64735:	6a 00                	push   $0x0
a64737:	6a 01                	push   $0x1
a64739:	8d 4d 90             	lea    -0x70(%ebp),%ecx
a6473c:	e8 3c 64 9a ff       	call   0x40ab7d
a64741:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
a64745:	33 c0                	xor    %eax,%eax
a64747:	c7 45 d4 07 00 00 00 	movl   $0x7,-0x2c(%ebp)
a6474e:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
a64752:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
a64758:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
a6475c:	f6 40 14 08          	testb  $0x8,0x14(%eax)
a64760:	74 20                	je     0xa64782
a64762:	8d 45 90             	lea    -0x70(%ebp),%eax
a64765:	8b cf                	mov    %edi,%ecx
a64767:	50                   	push   %eax
a64768:	e8 1c 82 9d ff       	call   0x43c989
a6476d:	50                   	push   %eax
a6476e:	8d 4d c0             	lea    -0x40(%ebp),%ecx
a64771:	e8 13 d4 9b ff       	call   0x421b89
a64776:	6a 00                	push   $0x0
a64778:	6a 01                	push   $0x1
a6477a:	8d 4d 90             	lea    -0x70(%ebp),%ecx
a6477d:	e8 fb 63 9a ff       	call   0x40ab7d
a64782:	32 d2                	xor    %dl,%dl
a64784:	33 c9                	xor    %ecx,%ecx
a64786:	88 55 8f             	mov    %dl,-0x71(%ebp)
a64789:	33 f6                	xor    %esi,%esi
a6478b:	0f be 44 35 84       	movsbl -0x7c(%ebp,%esi,1),%eax
a64790:	83 e8 20             	sub    $0x20,%eax
a64793:	74 44                	je     0xa647d9
a64795:	83 e8 04             	sub    $0x4,%eax
a64798:	74 3a                	je     0xa647d4
a6479a:	83 e8 07             	sub    $0x7,%eax
a6479d:	74 30                	je     0xa647cf
a6479f:	83 e8 4b             	sub    $0x4b,%eax
a647a2:	74 08                	je     0xa647ac
a647a4:	48                   	dec    %eax
a647a5:	83 e8 01             	sub    $0x1,%eax
a647a8:	74 30                	je     0xa647da
a647aa:	eb 38                	jmp    0xa647e4
a647ac:	39 5d 34             	cmp    %ebx,0x34(%ebp)
a647af:	77 08                	ja     0xa647b9
a647b1:	8b d3                	mov    %ebx,%edx
a647b3:	2b 55 34             	sub    0x34(%ebp),%edx
a647b6:	42                   	inc    %edx
a647b7:	eb 02                	jmp    0xa647bb
a647b9:	33 d2                	xor    %edx,%edx
a647bb:	33 c0                	xor    %eax,%eax
a647bd:	3b c3                	cmp    %ebx,%eax
a647bf:	1b c0                	sbb    %eax,%eax
a647c1:	f7 d8                	neg    %eax
a647c3:	03 45 34             	add    0x34(%ebp),%eax
a647c6:	03 c2                	add    %edx,%eax
a647c8:	8a 55 8f             	mov    -0x71(%ebp),%dl
a647cb:	03 c8                	add    %eax,%ecx
a647cd:	eb 15                	jmp    0xa647e4
a647cf:	03 4d e8             	add    -0x18(%ebp),%ecx
a647d2:	eb 10                	jmp    0xa647e4
a647d4:	03 4d d0             	add    -0x30(%ebp),%ecx
a647d7:	eb 0b                	jmp    0xa647e4
a647d9:	41                   	inc    %ecx
a647da:	83 fe 03             	cmp    $0x3,%esi
a647dd:	74 05                	je     0xa647e4
a647df:	b2 01                	mov    $0x1,%dl
a647e1:	88 55 8f             	mov    %dl,-0x71(%ebp)
a647e4:	46                   	inc    %esi
a647e5:	83 fe 04             	cmp    $0x4,%esi
a647e8:	72 a1                	jb     0xa6478b
a647ea:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
a647f0:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
a647f4:	7c 13                	jl     0xa64809
a647f6:	7f 06                	jg     0xa647fe
a647f8:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
a647fc:	76 0b                	jbe    0xa64809
a647fe:	8b 78 20             	mov    0x20(%eax),%edi
a64801:	3b f9                	cmp    %ecx,%edi
a64803:	76 04                	jbe    0xa64809
a64805:	2b f9                	sub    %ecx,%edi
a64807:	eb 02                	jmp    0xa6480b
a64809:	33 ff                	xor    %edi,%edi
a6480b:	8b 40 14             	mov    0x14(%eax),%eax
a6480e:	25 c0 01 00 00       	and    $0x1c0,%eax
a64813:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
a64819:	83 f8 40             	cmp    $0x40,%eax
a6481c:	74 33                	je     0xa64851
a6481e:	3d 00 01 00 00       	cmp    $0x100,%eax
a64823:	75 04                	jne    0xa64829
a64825:	84 d2                	test   %dl,%dl
a64827:	75 28                	jne    0xa64851
a64829:	57                   	push   %edi
a6482a:	ff 75 80             	push   -0x80(%ebp)
a6482d:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
a64833:	ff 75 10             	push   0x10(%ebp)
a64836:	ff 75 0c             	push   0xc(%ebp)
a64839:	50                   	push   %eax
a6483a:	e8 00 7b 9d ff       	call   0x43c33f
a6483f:	83 c4 14             	add    $0x14,%esp
a64842:	33 ff                	xor    %edi,%edi
a64844:	8b 10                	mov    (%eax),%edx
a64846:	89 55 0c             	mov    %edx,0xc(%ebp)
a64849:	8b 70 04             	mov    0x4(%eax),%esi
a6484c:	89 75 10             	mov    %esi,0x10(%ebp)
a6484f:	eb 06                	jmp    0xa64857
a64851:	8b 75 10             	mov    0x10(%ebp),%esi
a64854:	8b 55 0c             	mov    0xc(%ebp),%edx
a64857:	33 c0                	xor    %eax,%eax
a64859:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
a6485f:	0f be 44 05 84       	movsbl -0x7c(%ebp,%eax,1),%eax
a64864:	83 e8 20             	sub    $0x20,%eax
a64867:	0f 84 8b 01 00 00    	je     0xa649f8
a6486d:	83 e8 04             	sub    $0x4,%eax
a64870:	0f 84 67 01 00 00    	je     0xa649dd
a64876:	83 e8 07             	sub    $0x7,%eax
a64879:	0f 84 3a 01 00 00    	je     0xa649b9
a6487f:	83 e8 4b             	sub    $0x4b,%eax
a64882:	74 0f                	je     0xa64893
a64884:	48                   	dec    %eax
a64885:	83 e8 01             	sub    $0x1,%eax
a64888:	0f 84 8b 01 00 00    	je     0xa64a19
a6488e:	e9 b4 01 00 00       	jmp    0xa64a47
a64893:	85 db                	test   %ebx,%ebx
a64895:	75 26                	jne    0xa648bd
a64897:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
a6489b:	8b 45 24             	mov    0x24(%ebp),%eax
a6489e:	73 03                	jae    0xa648a3
a648a0:	8d 45 24             	lea    0x24(%ebp),%eax
a648a3:	ff 75 34             	push   0x34(%ebp)
a648a6:	50                   	push   %eax
a648a7:	8d 85 48 ff ff ff    	lea    -0xb8(%ebp),%eax
a648ad:	56                   	push   %esi
a648ae:	52                   	push   %edx
a648af:	50                   	push   %eax
a648b0:	e8 d9 b5 9a ff       	call   0x40fe8e
a648b5:	83 c4 14             	add    $0x14,%esp
a648b8:	e9 7f 01 00 00       	jmp    0xa64a3c
a648bd:	39 5d 34             	cmp    %ebx,0x34(%ebp)
a648c0:	77 7c                	ja     0xa6493e
a648c2:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
a648c8:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a648cb:	e8 df 8c 9d ff       	call   0x43d5af
a648d0:	8b 4d 88             	mov    -0x78(%ebp),%ecx
a648d3:	8b 01                	mov    (%ecx),%eax
a648d5:	8b 70 0c             	mov    0xc(%eax),%esi
a648d8:	8b ce                	mov    %esi,%ecx
a648da:	e8 86 7d 9c ff       	call   0x42c665
a648df:	8b 4d 88             	mov    -0x78(%ebp),%ecx
a648e2:	ff d6                	call   *%esi
a648e4:	0f b7 c0             	movzwl %ax,%eax
a648e7:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a648ea:	50                   	push   %eax
a648eb:	e8 bf 8c 9d ff       	call   0x43d5af
a648f0:	8b c3                	mov    %ebx,%eax
a648f2:	2b 45 34             	sub    0x34(%ebp),%eax
a648f5:	50                   	push   %eax
a648f6:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
a648fc:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
a64902:	ff 75 10             	push   0x10(%ebp)
a64905:	ff 75 0c             	push   0xc(%ebp)
a64908:	50                   	push   %eax
a64909:	e8 31 7a 9d ff       	call   0x43c33f
a6490e:	8b 4d 24             	mov    0x24(%ebp),%ecx
a64911:	8b d0                	mov    %eax,%edx
a64913:	83 c4 14             	add    $0x14,%esp
a64916:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
a6491a:	8b 02                	mov    (%edx),%eax
a6491c:	89 45 0c             	mov    %eax,0xc(%ebp)
a6491f:	8b 42 04             	mov    0x4(%edx),%eax
a64922:	89 45 10             	mov    %eax,0x10(%ebp)
a64925:	73 03                	jae    0xa6492a
a64927:	8d 4d 24             	lea    0x24(%ebp),%ecx
a6492a:	ff 75 34             	push   0x34(%ebp)
a6492d:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
a64933:	51                   	push   %ecx
a64934:	ff 72 04             	push   0x4(%edx)
a64937:	ff 32                	push   (%edx)
a64939:	e9 71 ff ff ff       	jmp    0xa648af
a6493e:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
a64942:	8b 4d 24             	mov    0x24(%ebp),%ecx
a64945:	73 03                	jae    0xa6494a
a64947:	8d 4d 24             	lea    0x24(%ebp),%ecx
a6494a:	8b 45 34             	mov    0x34(%ebp),%eax
a6494d:	2b c3                	sub    %ebx,%eax
a6494f:	50                   	push   %eax
a64950:	51                   	push   %ecx
a64951:	56                   	push   %esi
a64952:	52                   	push   %edx
a64953:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
a64959:	50                   	push   %eax
a6495a:	e8 2f b5 9a ff       	call   0x40fe8e
a6495f:	8b c8                	mov    %eax,%ecx
a64961:	83 c4 14             	add    $0x14,%esp
a64964:	8b 01                	mov    (%ecx),%eax
a64966:	89 45 0c             	mov    %eax,0xc(%ebp)
a64969:	8b 41 04             	mov    0x4(%ecx),%eax
a6496c:	89 45 10             	mov    %eax,0x10(%ebp)
a6496f:	8b 45 88             	mov    -0x78(%ebp),%eax
a64972:	8b 00                	mov    (%eax),%eax
a64974:	8b 70 0c             	mov    0xc(%eax),%esi
a64977:	8b ce                	mov    %esi,%ecx
a64979:	e8 e7 7c 9c ff       	call   0x42c665
a6497e:	8b 4d 88             	mov    -0x78(%ebp),%ecx
a64981:	ff d6                	call   *%esi
a64983:	0f b7 c0             	movzwl %ax,%eax
a64986:	8d 4d 0c             	lea    0xc(%ebp),%ecx
a64989:	50                   	push   %eax
a6498a:	e8 20 8c 9d ff       	call   0x43d5af
a6498f:	83 7d 38 08          	cmpl   $0x8,0x38(%ebp)
a64993:	8b 4d 24             	mov    0x24(%ebp),%ecx
a64996:	73 03                	jae    0xa6499b
a64998:	8d 4d 24             	lea    0x24(%ebp),%ecx
a6499b:	8b 45 34             	mov    0x34(%ebp),%eax
a6499e:	53                   	push   %ebx
a6499f:	8d 04 41             	lea    (%ecx,%eax,2),%eax
a649a2:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
a649a5:	2b c1                	sub    %ecx,%eax
a649a7:	50                   	push   %eax
a649a8:	ff 75 10             	push   0x10(%ebp)
a649ab:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
a649b1:	ff 75 0c             	push   0xc(%ebp)
a649b4:	e9 f6 fe ff ff       	jmp    0xa648af
a649b9:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
a649bd:	0f 86 84 00 00 00    	jbe    0xa64a47
a649c3:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
a649c7:	8b 45 d8             	mov    -0x28(%ebp),%eax
a649ca:	73 03                	jae    0xa649cf
a649cc:	8d 45 d8             	lea    -0x28(%ebp),%eax
a649cf:	6a 01                	push   $0x1
a649d1:	50                   	push   %eax
a649d2:	8d 85 20 ff ff ff    	lea    -0xe0(%ebp),%eax
a649d8:	e9 d0 fe ff ff       	jmp    0xa648ad
a649dd:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
a649e1:	8b 45 c0             	mov    -0x40(%ebp),%eax
a649e4:	73 03                	jae    0xa649e9
a649e6:	8d 45 c0             	lea    -0x40(%ebp),%eax
a649e9:	ff 75 d0             	push   -0x30(%ebp)
a649ec:	50                   	push   %eax
a649ed:	8d 85 18 ff ff ff    	lea    -0xe8(%ebp),%eax
a649f3:	e9 b5 fe ff ff       	jmp    0xa648ad
a649f8:	6a 01                	push   $0x1
a649fa:	ff 75 80             	push   -0x80(%ebp)
a649fd:	8d 85 10 ff ff ff    	lea    -0xf0(%ebp),%eax
a64a03:	56                   	push   %esi
a64a04:	52                   	push   %edx
a64a05:	50                   	push   %eax
a64a06:	e8 34 79 9d ff       	call   0x43c33f
a64a0b:	83 c4 14             	add    $0x14,%esp
a64a0e:	8b 10                	mov    (%eax),%edx
a64a10:	89 55 0c             	mov    %edx,0xc(%ebp)
a64a13:	8b 70 04             	mov    0x4(%eax),%esi
a64a16:	89 75 10             	mov    %esi,0x10(%ebp)
a64a19:	81 bd 6c ff ff ff 00 	cmpl   $0x100,-0x94(%ebp)
a64a20:	01 00 00
a64a23:	75 22                	jne    0xa64a47
a64a25:	57                   	push   %edi