46ab03:	5b                   	pop    %ebx
46ab04:	eb 03                	jmp    0x46ab09
46ab06:	83 26 00             	andl   $0x0,(%esi)
46ab09:	5e                   	pop    %esi
46ab0a:	8b e5                	mov    %ebp,%esp
46ab0c:	5d                   	pop    %ebp
46ab0d:	c3                   	ret
46ab0e:	8b ff                	mov    %edi,%edi
46ab10:	55                   	push   %ebp
46ab11:	8b ec                	mov    %esp,%ebp
46ab13:	56                   	push   %esi
46ab14:	8b 75 10             	mov    0x10(%ebp),%esi
46ab17:	57                   	push   %edi
46ab18:	8b 7d 0c             	mov    0xc(%ebp),%edi
46ab1b:	8b 06                	mov    (%esi),%eax
46ab1d:	8b 0f                	mov    (%edi),%ecx
46ab1f:	83 f8 01             	cmp    $0x1,%eax
46ab22:	76 44                	jbe    0x46ab68
46ab24:	53                   	push   %ebx
46ab25:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ab28:	8b c3                	mov    %ebx,%eax
46ab2a:	6a 0a                	push   $0xa
46ab2c:	99                   	cltd
46ab2d:	5b                   	pop    %ebx
46ab2e:	f7 fb                	idiv   %ebx
46ab30:	8b d8                	mov    %eax,%ebx
46ab32:	8d 42 30             	lea    0x30(%edx),%eax
46ab35:	66 89 01             	mov    %ax,(%ecx)
46ab38:	83 c1 02             	add    $0x2,%ecx
46ab3b:	ff 0e                	decl   (%esi)
46ab3d:	85 db                	test   %ebx,%ebx
46ab3f:	7e 05                	jle    0x46ab46
46ab41:	83 3e 01             	cmpl   $0x1,(%esi)
46ab44:	77 e2                	ja     0x46ab28
46ab46:	8b 17                	mov    (%edi),%edx
46ab48:	8d 71 fe             	lea    -0x2(%ecx),%esi
46ab4b:	89 0f                	mov    %ecx,(%edi)
46ab4d:	5b                   	pop    %ebx
46ab4e:	eb 12                	jmp    0x46ab62
46ab50:	66 8b 02             	mov    (%edx),%ax
46ab53:	0f b7 0e             	movzwl (%esi),%ecx
46ab56:	66 89 06             	mov    %ax,(%esi)
46ab59:	83 ee 02             	sub    $0x2,%esi
46ab5c:	66 89 0a             	mov    %cx,(%edx)
46ab5f:	83 c2 02             	add    $0x2,%edx
46ab62:	3b d6                	cmp    %esi,%edx
46ab64:	72 ea                	jb     0x46ab50
46ab66:	eb 09                	jmp    0x46ab71
46ab68:	03 c0                	add    %eax,%eax
46ab6a:	2b c8                	sub    %eax,%ecx
46ab6c:	89 0f                	mov    %ecx,(%edi)
46ab6e:	83 26 00             	andl   $0x0,(%esi)
46ab71:	5f                   	pop    %edi
46ab72:	5e                   	pop    %esi
46ab73:	5d                   	pop    %ebp
46ab74:	c3                   	ret
46ab75:	8b ff                	mov    %edi,%edi
46ab77:	55                   	push   %ebp
46ab78:	8b ec                	mov    %esp,%ebp
46ab7a:	8b 4d 10             	mov    0x10(%ebp),%ecx
46ab7d:	83 39 00             	cmpl   $0x0,(%ecx)
46ab80:	74 22                	je     0x46aba4
46ab82:	8b 55 08             	mov    0x8(%ebp),%edx
46ab85:	56                   	push   %esi
46ab86:	8b 75 0c             	mov    0xc(%ebp),%esi
46ab89:	57                   	push   %edi
46ab8a:	0f b7 3a             	movzwl (%edx),%edi
46ab8d:	66 85 ff             	test   %di,%di
46ab90:	74 10                	je     0x46aba2
46ab92:	8b 06                	mov    (%esi),%eax
46ab94:	83 c2 02             	add    $0x2,%edx
46ab97:	66 89 38             	mov    %di,(%eax)
46ab9a:	83 06 02             	addl   $0x2,(%esi)
46ab9d:	83 29 01             	subl   $0x1,(%ecx)
46aba0:	75 e8                	jne    0x46ab8a
46aba2:	5f                   	pop    %edi
46aba3:	5e                   	pop    %esi
46aba4:	5d                   	pop    %ebp
46aba5:	c3                   	ret
46aba6:	8b ff                	mov    %edi,%edi
46aba8:	55                   	push   %ebp
46aba9:	8b ec                	mov    %esp,%ebp
46abab:	83 ec 30             	sub    $0x30,%esp
46abae:	a1 94 80 4b 00       	mov    0x4b8094,%eax
46abb3:	33 c5                	xor    %ebp,%eax
46abb5:	89 45 fc             	mov    %eax,-0x4(%ebp)
46abb8:	8b 45 08             	mov    0x8(%ebp),%eax
46abbb:	8b 55 10             	mov    0x10(%ebp),%edx
46abbe:	89 45 d0             	mov    %eax,-0x30(%ebp)
46abc1:	8b 45 14             	mov    0x14(%ebp),%eax
46abc4:	53                   	push   %ebx
46abc5:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
46abc8:	89 45 d8             	mov    %eax,-0x28(%ebp)
46abcb:	8b 45 0c             	mov    0xc(%ebp),%eax
46abce:	89 55 d4             	mov    %edx,-0x2c(%ebp)
46abd1:	89 5d dc             	mov    %ebx,-0x24(%ebp)
46abd4:	56                   	push   %esi
46abd5:	8b 75 18             	mov    0x18(%ebp),%esi
46abd8:	89 75 e4             	mov    %esi,-0x1c(%ebp)
46abdb:	57                   	push   %edi
46abdc:	83 e8 00             	sub    $0x0,%eax
46abdf:	74 15                	je     0x46abf6
46abe1:	83 e8 01             	sub    $0x1,%eax
46abe4:	74 08                	je     0x46abee
46abe6:	8b bb 5c 01 00 00    	mov    0x15c(%ebx),%edi
46abec:	eb 0e                	jmp    0x46abfc
46abee:	8b bb 58 01 00 00    	mov    0x158(%ebx),%edi
46abf4:	eb 06                	jmp    0x46abfc
46abf6:	8b bb 54 01 00 00    	mov    0x154(%ebx),%edi
46abfc:	83 bb ac 00 00 00 01 	cmpl   $0x1,0xac(%ebx)
46ac03:	0f 84 e9 03 00 00    	je     0x46aff2
46ac09:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
46ac0d:	b8 6c 07 00 00       	mov    $0x76c,%eax
46ac12:	0f 94 c1             	sete   %cl
46ac15:	66 03 42 14          	add    0x14(%edx),%ax
46ac19:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
46ac1d:	66 8b 42 10          	mov    0x10(%edx),%ax
46ac21:	66 40                	inc    %ax
46ac23:	88 4d e3             	mov    %cl,-0x1d(%ebp)
46ac26:	66 89 45 ee          	mov    %ax,-0x12(%ebp)
46ac2a:	66 8b 42 0c          	mov    0xc(%edx),%ax
46ac2e:	66 89 45 f2          	mov    %ax,-0xe(%ebp)
46ac32:	66 8b 42 08          	mov    0x8(%edx),%ax
46ac36:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
46ac3a:	66 8b 42 04          	mov    0x4(%edx),%ax
46ac3e:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
46ac42:	66 8b 02             	mov    (%edx),%ax
46ac45:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
46ac49:	33 c0                	xor    %eax,%eax
46ac4b:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
46ac4f:	8d 45 ec             	lea    -0x14(%ebp),%eax
46ac52:	84 c9                	test   %cl,%cl
46ac54:	74 14                	je     0x46ac6a
46ac56:	33 c9                	xor    %ecx,%ecx
46ac58:	51                   	push   %ecx
46ac59:	51                   	push   %ecx
46ac5a:	57                   	push   %edi
46ac5b:	50                   	push   %eax
46ac5c:	51                   	push   %ecx
46ac5d:	ff b3 60 01 00 00    	push   0x160(%ebx)
46ac63:	e8 96 a5 00 00       	call   0x4751fe
46ac68:	eb 13                	jmp    0x46ac7d
46ac6a:	33 c9                	xor    %ecx,%ecx
46ac6c:	51                   	push   %ecx
46ac6d:	51                   	push   %ecx
46ac6e:	51                   	push   %ecx
46ac6f:	57                   	push   %edi
46ac70:	50                   	push   %eax
46ac71:	51                   	push   %ecx
46ac72:	ff b3 60 01 00 00    	push   0x160(%ebx)
46ac78:	e8 18 a4 00 00       	call   0x475095
46ac7d:	8b d8                	mov    %eax,%ebx
46ac7f:	85 db                	test   %ebx,%ebx
46ac81:	0f 84 6b 03 00 00    	je     0x46aff2
46ac87:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
46ac8a:	8d 4a 08             	lea    0x8(%edx),%ecx
46ac8d:	3b d1                	cmp    %ecx,%edx
46ac8f:	1b c0                	sbb    %eax,%eax
46ac91:	85 c1                	test   %eax,%ecx
46ac93:	74 58                	je     0x46aced
46ac95:	8d 4a 08             	lea    0x8(%edx),%ecx
46ac98:	3b d1                	cmp    %ecx,%edx
46ac9a:	1b c0                	sbb    %eax,%eax
46ac9c:	23 c1                	and    %ecx,%eax
46ac9e:	8d 4a 08             	lea    0x8(%edx),%ecx
46aca1:	3d 00 04 00 00       	cmp    $0x400,%eax
46aca6:	77 23                	ja     0x46accb
46aca8:	3b d1                	cmp    %ecx,%edx
46acaa:	1b c0                	sbb    %eax,%eax
46acac:	23 c1                	and    %ecx,%eax
46acae:	e8 1d 58 fd ff       	call   0x4404d0
46acb3:	8b f4                	mov    %esp,%esi
46acb5:	89 75 e8             	mov    %esi,-0x18(%ebp)
46acb8:	85 f6                	test   %esi,%esi
46acba:	0f 84 b4 00 00 00    	je     0x46ad74
46acc0:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
46acc6:	83 c6 08             	add    $0x8,%esi
46acc9:	eb 24                	jmp    0x46acef
46accb:	3b d1                	cmp    %ecx,%edx
46accd:	1b c0                	sbb    %eax,%eax
46accf:	23 c1                	and    %ecx,%eax
46acd1:	50                   	push   %eax
46acd2:	e8 53 c0 00 00       	call   0x476d2a
46acd7:	8b f0                	mov    %eax,%esi
46acd9:	89 75 e8             	mov    %esi,-0x18(%ebp)
46acdc:	59                   	pop    %ecx
46acdd:	85 f6                	test   %esi,%esi
46acdf:	0f 84 8f 00 00 00    	je     0x46ad74
46ace5:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
46aceb:	eb d9                	jmp    0x46acc6
46aced:	33 f6                	xor    %esi,%esi
46acef:	89 75 e8             	mov    %esi,-0x18(%ebp)
46acf2:	85 f6                	test   %esi,%esi
46acf4:	74 7e                	je     0x46ad74
46acf6:	80 7d e3 00          	cmpb   $0x0,-0x1d(%ebp)
46acfa:	8d 45 ec             	lea    -0x14(%ebp),%eax
46acfd:	74 16                	je     0x46ad15
46acff:	53                   	push   %ebx
46ad00:	56                   	push   %esi
46ad01:	57                   	push   %edi
46ad02:	50                   	push   %eax
46ad03:	8b 45 dc             	mov    -0x24(%ebp),%eax
46ad06:	6a 00                	push   $0x0
46ad08:	ff b0 60 01 00 00    	push   0x160(%eax)
46ad0e:	e8 eb a4 00 00       	call   0x4751fe
46ad13:	eb 16                	jmp    0x46ad2b
46ad15:	6a 00                	push   $0x0
46ad17:	53                   	push   %ebx
46ad18:	56                   	push   %esi
46ad19:	57                   	push   %edi
46ad1a:	50                   	push   %eax
46ad1b:	8b 45 dc             	mov    -0x24(%ebp),%eax
46ad1e:	6a 00                	push   $0x0
46ad20:	ff b0 60 01 00 00    	push   0x160(%eax)
46ad26:	e8 6a a3 00 00       	call   0x475095
46ad2b:	8b d0                	mov    %eax,%edx
46ad2d:	8b fe                	mov    %esi,%edi
46ad2f:	4a                   	dec    %edx
46ad30:	85 d2                	test   %edx,%edx
46ad32:	7e 23                	jle    0x46ad57
46ad34:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
46ad37:	8b 75 d8             	mov    -0x28(%ebp),%esi
46ad3a:	83 3b 00             	cmpl   $0x0,(%ebx)
46ad3d:	76 15                	jbe    0x46ad54
46ad3f:	8b 0e                	mov    (%esi),%ecx
46ad41:	66 8b 07             	mov    (%edi),%ax
46ad44:	83 c7 02             	add    $0x2,%edi
46ad47:	66 89 01             	mov    %ax,(%ecx)
46ad4a:	83 06 02             	addl   $0x2,(%esi)
46ad4d:	ff 0b                	decl   (%ebx)
46ad4f:	4a                   	dec    %edx
46ad50:	85 d2                	test   %edx,%edx
46ad52:	7f e6                	jg     0x46ad3a
46ad54:	8b 75 e8             	mov    -0x18(%ebp),%esi
46ad57:	56                   	push   %esi
46ad58:	e8 c6 d4 fb ff       	call   0x428223
46ad5d:	59                   	pop    %ecx
46ad5e:	b0 01                	mov    $0x1,%al
46ad60:	8d 65 c4             	lea    -0x3c(%ebp),%esp
46ad63:	5f                   	pop    %edi
46ad64:	5e                   	pop    %esi
46ad65:	5b                   	pop    %ebx
46ad66:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46ad69:	33 cd                	xor    %ebp,%ecx
46ad6b:	e8 92 4c fd ff       	call   0x43fa02
46ad70:	8b e5                	mov    %ebp,%esp
46ad72:	5d                   	pop    %ebp
46ad73:	c3                   	ret
46ad74:	6a 00                	push   $0x0
46ad76:	e8 a8 d4 fb ff       	call   0x428223
46ad7b:	8b 75 e4             	mov    -0x1c(%ebp),%esi
46ad7e:	59                   	pop    %ecx
46ad7f:	e9 6e 02 00 00       	jmp    0x46aff2
46ad84:	83 3e 00             	cmpl   $0x0,(%esi)
46ad87:	74 d5                	je     0x46ad5e
46ad89:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
46ad8d:	33 c9                	xor    %ecx,%ecx
46ad8f:	89 7d e8             	mov    %edi,-0x18(%ebp)
46ad92:	8b df                	mov    %edi,%ebx
46ad94:	0f b7 c2             	movzwl %dx,%eax
46ad97:	83 c3 02             	add    $0x2,%ebx
46ad9a:	41                   	inc    %ecx
46ad9b:	66 39 03             	cmp    %ax,(%ebx)
46ad9e:	74 f7                	je     0x46ad97
46ada0:	0f b7 c2             	movzwl %dx,%eax
46ada3:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46ada6:	8b 5d dc             	mov    -0x24(%ebp),%ebx
46ada9:	83 f8 64             	cmp    $0x64,%eax
46adac:	0f 8f 2f 01 00 00    	jg     0x46aee1
46adb2:	0f 84 f8 00 00 00    	je     0x46aeb0
46adb8:	83 f8 27             	cmp    $0x27,%eax
46adbb:	0f 84 9a 00 00 00    	je     0x46ae5b
46adc1:	83 f8 41             	cmp    $0x41,%eax
46adc4:	74 13                	je     0x46add9
46adc6:	83 f8 48             	cmp    $0x48,%eax
46adc9:	74 58                	je     0x46ae23
46adcb:	83 f8 4d             	cmp    $0x4d,%eax
46adce:	74 22                	je     0x46adf2
46add0:	83 f8 61             	cmp    $0x61,%eax
46add3:	0f 85 e2 01 00 00    	jne    0x46afbb
46add9:	68 00 d4 49 00       	push   $0x49d400
46adde:	57                   	push   %edi
46addf:	e8 23 c3 ff ff       	call   0x467107
46ade4:	59                   	pop    %ecx
46ade5:	59                   	pop    %ecx
46ade6:	85 c0                	test   %eax,%eax
46ade8:	75 53                	jne    0x46ae3d
46adea:	8d 4f 0a             	lea    0xa(%edi),%ecx
46aded:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46adf0:	eb 62                	jmp    0x46ae54
46adf2:	83 e9 01             	sub    $0x1,%ecx
46adf5:	74 21                	je     0x46ae18
46adf7:	83 e9 01             	sub    $0x1,%ecx
46adfa:	74 20                	je     0x46ae1c
46adfc:	83 e9 01             	sub    $0x1,%ecx
46adff:	74 10                	je     0x46ae11
46ae01:	83 e9 01             	sub    $0x1,%ecx
46ae04:	0f 85 b1 01 00 00    	jne    0x46afbb
46ae0a:	6a 42                	push   $0x42
46ae0c:	e9 c2 01 00 00       	jmp    0x46afd3
46ae11:	6a 62                	push   $0x62
46ae13:	e9 bb 01 00 00       	jmp    0x46afd3
46ae18:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
46ae1c:	6a 6d                	push   $0x6d
46ae1e:	e9 b0 01 00 00       	jmp    0x46afd3
46ae23:	83 e9 01             	sub    $0x1,%ecx
46ae26:	74 0a                	je     0x46ae32
46ae28:	83 e9 01             	sub    $0x1,%ecx
46ae2b:	74 09                	je     0x46ae36
46ae2d:	e9 89 01 00 00       	jmp    0x46afbb
46ae32:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
46ae36:	6a 48                	push   $0x48
46ae38:	e9 96 01 00 00       	jmp    0x46afd3
46ae3d:	68 0c d4 49 00       	push   $0x49d40c
46ae42:	57                   	push   %edi
46ae43:	e8 bf c2 ff ff       	call   0x467107
46ae48:	59                   	pop    %ecx
46ae49:	59                   	pop    %ecx
46ae4a:	85 c0                	test   %eax,%eax
46ae4c:	75 06                	jne    0x46ae54
46ae4e:	8d 47 06             	lea    0x6(%edi),%eax
46ae51:	89 45 e8             	mov    %eax,-0x18(%ebp)
46ae54:	6a 70                	push   $0x70
46ae56:	e9 78 01 00 00       	jmp    0x46afd3
46ae5b:	8b c1                	mov    %ecx,%eax
46ae5d:	25 01 00 00 80       	and    $0x80000001,%eax
46ae62:	79 05                	jns    0x46ae69
46ae64:	48                   	dec    %eax
46ae65:	83 c8 fe             	or     $0xfffffffe,%eax
46ae68:	40                   	inc    %eax
46ae69:	8d 3c 4f             	lea    (%edi,%ecx,2),%edi
46ae6c:	0f 84 80 01 00 00    	je     0x46aff2
46ae72:	0f b7 0f             	movzwl (%edi),%ecx
46ae75:	66 85 c9             	test   %cx,%cx
46ae78:	0f 84 e0 fe ff ff    	je     0x46ad5e
46ae7e:	8b 55 d8             	mov    -0x28(%ebp),%edx
46ae81:	83 3e 00             	cmpl   $0x0,(%esi)
46ae84:	0f 84 68 01 00 00    	je     0x46aff2
46ae8a:	6a 27                	push   $0x27
46ae8c:	58                   	pop    %eax
46ae8d:	83 c7 02             	add    $0x2,%edi
46ae90:	66 3b c8             	cmp    %ax,%cx
46ae93:	0f 84 59 01 00 00    	je     0x46aff2
46ae99:	8b 02                	mov    (%edx),%eax
46ae9b:	66 89 08             	mov    %cx,(%eax)
46ae9e:	83 02 02             	addl   $0x2,(%edx)
46aea1:	ff 0e                	decl   (%esi)
46aea3:	0f b7 0f             	movzwl (%edi),%ecx
46aea6:	66 85 c9             	test   %cx,%cx
46aea9:	75 d6                	jne    0x46ae81