40fb69:	84 c9                	test   %cl,%cl
40fb6b:	0f 94 c0             	sete   %al
40fb6e:	48                   	dec    %eax
40fb6f:	83 e0 03             	and    $0x3,%eax
40fb72:	40                   	inc    %eax
40fb73:	0f af 45 f4          	imul   -0xc(%ebp),%eax
40fb77:	03 d8                	add    %eax,%ebx
40fb79:	81 fb 50 14 00 00    	cmp    $0x1450,%ebx
40fb7f:	7e 08                	jle    0x40fb89
40fb81:	6a 09                	push   $0x9
40fb83:	eb 22                	jmp    0x40fba7
40fb85:	6a 07                	push   $0x7
40fb87:	eb 1e                	jmp    0x40fba7
40fb89:	81 fb b0 eb ff ff    	cmp    $0xffffebb0,%ebx
40fb8f:	7d 04                	jge    0x40fb95
40fb91:	6a 08                	push   $0x8
40fb93:	eb 12                	jmp    0x40fba7
40fb95:	2b fa                	sub    %edx,%edi
40fb97:	89 1e                	mov    %ebx,(%esi)
40fb99:	33 c0                	xor    %eax,%eax
40fb9b:	89 7e 04             	mov    %edi,0x4(%esi)
40fb9e:	84 c9                	test   %cl,%cl
40fba0:	0f 95 c0             	setne  %al
40fba3:	eb 2a                	jmp    0x40fbcf
40fba5:	6a 02                	push   $0x2
40fba7:	58                   	pop    %eax
40fba8:	eb 25                	jmp    0x40fbcf
40fbaa:	ff 75 ec             	push   -0x14(%ebp)
40fbad:	8d 45 f9             	lea    -0x7(%ebp),%eax
40fbb0:	ff 75 e8             	push   -0x18(%ebp)
40fbb3:	56                   	push   %esi
40fbb4:	50                   	push   %eax
40fbb5:	e8 dd 00 00 00       	call   0x40fc97
40fbba:	eb 10                	jmp    0x40fbcc
40fbbc:	ff 75 ec             	push   -0x14(%ebp)
40fbbf:	8d 45 f9             	lea    -0x7(%ebp),%eax
40fbc2:	ff 75 e8             	push   -0x18(%ebp)
40fbc5:	56                   	push   %esi
40fbc6:	50                   	push   %eax
40fbc7:	e8 0a 00 00 00       	call   0x40fbd6
40fbcc:	83 c4 10             	add    $0x10,%esp
40fbcf:	5b                   	pop    %ebx
40fbd0:	5f                   	pop    %edi
40fbd1:	5e                   	pop    %esi
40fbd2:	8b e5                	mov    %ebp,%esp
40fbd4:	5d                   	pop    %ebp
40fbd5:	c3                   	ret
40fbd6:	8b ff                	mov    %edi,%edi
40fbd8:	55                   	push   %ebp
40fbd9:	8b ec                	mov    %esp,%ebp
40fbdb:	83 ec 10             	sub    $0x10,%esp
40fbde:	53                   	push   %ebx
40fbdf:	8b 5d 08             	mov    0x8(%ebp),%ebx
40fbe2:	8d 45 10             	lea    0x10(%ebp),%eax
40fbe5:	56                   	push   %esi
40fbe6:	33 f6                	xor    %esi,%esi
40fbe8:	89 45 f8             	mov    %eax,-0x8(%ebp)
40fbeb:	57                   	push   %edi
40fbec:	8b 7d 0c             	mov    0xc(%ebp),%edi
40fbef:	8b c6                	mov    %esi,%eax
40fbf1:	89 7d f0             	mov    %edi,-0x10(%ebp)
40fbf4:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40fbf7:	89 75 fc             	mov    %esi,-0x4(%ebp)
40fbfa:	8a 0b                	mov    (%ebx),%cl
40fbfc:	3a 88 c8 ba 42 00    	cmp    0x42bac8(%eax),%cl
40fc02:	74 08                	je     0x40fc0c
40fc04:	3a 88 cc ba 42 00    	cmp    0x42bacc(%eax),%cl
40fc0a:	75 67                	jne    0x40fc73
40fc0c:	8b cf                	mov    %edi,%ecx
40fc0e:	e8 3b 36 00 00       	call   0x41324e
40fc13:	8a c8                	mov    %al,%cl
40fc15:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fc18:	40                   	inc    %eax
40fc19:	88 0b                	mov    %cl,(%ebx)
40fc1b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fc1e:	83 f8 03             	cmp    $0x3,%eax
40fc21:	75 d7                	jne    0x40fbfa
40fc23:	51                   	push   %ecx
40fc24:	8b cf                	mov    %edi,%ecx
40fc26:	e8 bf 3f 00 00       	call   0x413bea
40fc2b:	8b 47 10             	mov    0x10(%edi),%eax
40fc2e:	8b cf                	mov    %edi,%ecx
40fc30:	89 45 10             	mov    %eax,0x10(%ebp)
40fc33:	8b 47 14             	mov    0x14(%edi),%eax
40fc36:	89 45 14             	mov    %eax,0x14(%ebp)
40fc39:	e8 10 36 00 00       	call   0x41324e
40fc3e:	88 03                	mov    %al,(%ebx)
40fc40:	8a 03                	mov    (%ebx),%al
40fc42:	3a 86 d0 ba 42 00    	cmp    0x42bad0(%esi),%al
40fc48:	74 08                	je     0x40fc52
40fc4a:	3a 86 d8 ba 42 00    	cmp    0x42bad8(%esi),%al
40fc50:	75 2d                	jne    0x40fc7f
40fc52:	8b cf                	mov    %edi,%ecx
40fc54:	e8 f5 35 00 00       	call   0x41324e
40fc59:	46                   	inc    %esi
40fc5a:	88 03                	mov    %al,(%ebx)
40fc5c:	83 fe 05             	cmp    $0x5,%esi
40fc5f:	75 df                	jne    0x40fc40
40fc61:	50                   	push   %eax
40fc62:	8b cf                	mov    %edi,%ecx
40fc64:	e8 81 3f 00 00       	call   0x413bea
40fc69:	6a 03                	push   $0x3
40fc6b:	58                   	pop    %eax
40fc6c:	5f                   	pop    %edi
40fc6d:	5e                   	pop    %esi
40fc6e:	5b                   	pop    %ebx
40fc6f:	8b e5                	mov    %ebp,%esp
40fc71:	5d                   	pop    %ebp
40fc72:	c3                   	ret
40fc73:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40fc76:	e8 6b 0b 00 00       	call   0x4107e6
40fc7b:	6a 07                	push   $0x7
40fc7d:	eb ec                	jmp    0x40fc6b
40fc7f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40fc82:	e8 5f 0b 00 00       	call   0x4107e6
40fc87:	33 c9                	xor    %ecx,%ecx
40fc89:	84 c0                	test   %al,%al
40fc8b:	0f 94 c1             	sete   %cl
40fc8e:	8d 04 8d 03 00 00 00 	lea    0x3(,%ecx,4),%eax
40fc95:	eb d5                	jmp    0x40fc6c
40fc97:	8b ff                	mov    %edi,%edi
40fc99:	55                   	push   %ebp
40fc9a:	8b ec                	mov    %esp,%ebp
40fc9c:	83 ec 0c             	sub    $0xc,%esp
40fc9f:	53                   	push   %ebx
40fca0:	56                   	push   %esi
40fca1:	8b 75 08             	mov    0x8(%ebp),%esi
40fca4:	8d 45 10             	lea    0x10(%ebp),%eax
40fca7:	57                   	push   %edi
40fca8:	8b 7d 0c             	mov    0xc(%ebp),%edi
40fcab:	33 db                	xor    %ebx,%ebx
40fcad:	89 7d f4             	mov    %edi,-0xc(%ebp)
40fcb0:	89 75 f8             	mov    %esi,-0x8(%ebp)
40fcb3:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fcb6:	8a 06                	mov    (%esi),%al
40fcb8:	3a 83 e0 ba 42 00    	cmp    0x42bae0(%ebx),%al
40fcbe:	74 08                	je     0x40fcc8
40fcc0:	3a 83 e4 ba 42 00    	cmp    0x42bae4(%ebx),%al
40fcc6:	75 4a                	jne    0x40fd12
40fcc8:	8b cf                	mov    %edi,%ecx
40fcca:	e8 7f 35 00 00       	call   0x41324e
40fccf:	43                   	inc    %ebx
40fcd0:	88 06                	mov    %al,(%esi)
40fcd2:	83 fb 03             	cmp    $0x3,%ebx
40fcd5:	75 df                	jne    0x40fcb6
40fcd7:	50                   	push   %eax
40fcd8:	8b cf                	mov    %edi,%ecx
40fcda:	e8 0b 3f 00 00       	call   0x413bea
40fcdf:	8b 47 10             	mov    0x10(%edi),%eax
40fce2:	8b cf                	mov    %edi,%ecx
40fce4:	89 45 10             	mov    %eax,0x10(%ebp)
40fce7:	8b 47 14             	mov    0x14(%edi),%eax
40fcea:	89 45 14             	mov    %eax,0x14(%ebp)
40fced:	e8 5c 35 00 00       	call   0x41324e
40fcf2:	88 06                	mov    %al,(%esi)
40fcf4:	3c 28                	cmp    $0x28,%al
40fcf6:	74 29                	je     0x40fd21
40fcf8:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40fcfb:	e8 10 0b 00 00       	call   0x410810
40fd00:	0f b6 c0             	movzbl %al,%eax
40fd03:	f7 d8                	neg    %eax
40fd05:	1b c0                	sbb    %eax,%eax
40fd07:	83 e0 fd             	and    $0xfffffffd,%eax
40fd0a:	83 c0 07             	add    $0x7,%eax
40fd0d:	e9 90 00 00 00       	jmp    0x40fda2
40fd12:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40fd15:	e8 f6 0a 00 00       	call   0x410810
40fd1a:	6a 07                	push   $0x7
40fd1c:	e9 80 00 00 00       	jmp    0x40fda1
40fd21:	8b cf                	mov    %edi,%ecx
40fd23:	e8 26 35 00 00       	call   0x41324e
40fd28:	57                   	push   %edi
40fd29:	56                   	push   %esi
40fd2a:	88 06                	mov    %al,(%esi)
40fd2c:	e8 b2 00 00 00       	call   0x40fde3
40fd31:	59                   	pop    %ecx
40fd32:	59                   	pop    %ecx
40fd33:	84 c0                	test   %al,%al
40fd35:	74 04                	je     0x40fd3b
40fd37:	6a 05                	push   $0x5
40fd39:	eb 0f                	jmp    0x40fd4a
40fd3b:	57                   	push   %edi
40fd3c:	56                   	push   %esi
40fd3d:	e8 67 00 00 00       	call   0x40fda9
40fd42:	59                   	pop    %ecx
40fd43:	59                   	pop    %ecx
40fd44:	84 c0                	test   %al,%al
40fd46:	74 12                	je     0x40fd5a
40fd48:	6a 06                	push   $0x6
40fd4a:	0f b6 16             	movzbl (%esi),%edx
40fd4d:	8b cf                	mov    %edi,%ecx
40fd4f:	5b                   	pop    %ebx
40fd50:	52                   	push   %edx
40fd51:	e8 94 3e 00 00       	call   0x413bea
40fd56:	8b c3                	mov    %ebx,%eax
40fd58:	eb 48                	jmp    0x40fda2
40fd5a:	80 3e 29             	cmpb   $0x29,(%esi)
40fd5d:	74 40                	je     0x40fd9f
40fd5f:	8a 06                	mov    (%esi),%al
40fd61:	84 c0                	test   %al,%al
40fd63:	74 31                	je     0x40fd96
40fd65:	0f be c8             	movsbl %al,%ecx
40fd68:	8d 41 d0             	lea    -0x30(%ecx),%eax
40fd6b:	83 f8 09             	cmp    $0x9,%eax
40fd6e:	76 19                	jbe    0x40fd89
40fd70:	8d 41 9f             	lea    -0x61(%ecx),%eax
40fd73:	83 f8 19             	cmp    $0x19,%eax
40fd76:	76 11                	jbe    0x40fd89
40fd78:	8d 41 bf             	lea    -0x41(%ecx),%eax
40fd7b:	83 f8 19             	cmp    $0x19,%eax
40fd7e:	76 09                	jbe    0x40fd89
40fd80:	83 f9 5f             	cmp    $0x5f,%ecx
40fd83:	0f 85 6f ff ff ff    	jne    0x40fcf8
40fd89:	8b cf                	mov    %edi,%ecx
40fd8b:	e8 be 34 00 00       	call   0x41324e
40fd90:	88 06                	mov    %al,(%esi)
40fd92:	3c 29                	cmp    $0x29,%al
40fd94:	75 c9                	jne    0x40fd5f
40fd96:	80 3e 29             	cmpb   $0x29,(%esi)
40fd99:	0f 85 59 ff ff ff    	jne    0x40fcf8
40fd9f:	6a 04                	push   $0x4
40fda1:	58                   	pop    %eax
40fda2:	5f                   	pop    %edi
40fda3:	5e                   	pop    %esi
40fda4:	5b                   	pop    %ebx
40fda5:	8b e5                	mov    %ebp,%esp
40fda7:	5d                   	pop    %ebp
40fda8:	c3                   	ret
40fda9:	8b ff                	mov    %edi,%edi
40fdab:	55                   	push   %ebp
40fdac:	8b ec                	mov    %esp,%ebp
40fdae:	53                   	push   %ebx
40fdaf:	56                   	push   %esi
40fdb0:	33 db                	xor    %ebx,%ebx
40fdb2:	57                   	push   %edi
40fdb3:	8b 7d 08             	mov    0x8(%ebp),%edi
40fdb6:	8b f3                	mov    %ebx,%esi
40fdb8:	8a 07                	mov    (%edi),%al
40fdba:	3a 86 f8 ba 42 00    	cmp    0x42baf8(%esi),%al
40fdc0:	74 08                	je     0x40fdca
40fdc2:	3a 86 fc ba 42 00    	cmp    0x42bafc(%esi),%al
40fdc8:	75 12                	jne    0x40fddc
40fdca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40fdcd:	e8 7c 34 00 00       	call   0x41324e
40fdd2:	46                   	inc    %esi
40fdd3:	88 07                	mov    %al,(%edi)
40fdd5:	83 fe 04             	cmp    $0x4,%esi
40fdd8:	75 de                	jne    0x40fdb8
40fdda:	b3 01                	mov    $0x1,%bl
40fddc:	5f                   	pop    %edi
40fddd:	5e                   	pop    %esi
40fdde:	8a c3                	mov    %bl,%al
40fde0:	5b                   	pop    %ebx
40fde1:	5d                   	pop    %ebp
40fde2:	c3                   	ret
40fde3:	8b ff                	mov    %edi,%edi
40fde5:	55                   	push   %ebp
40fde6:	8b ec                	mov    %esp,%ebp
40fde8:	53                   	push   %ebx
40fde9:	56                   	push   %esi
40fdea:	33 db                	xor    %ebx,%ebx
40fdec:	57                   	push   %edi
40fded:	8b 7d 08             	mov    0x8(%ebp),%edi
40fdf0:	8b f3                	mov    %ebx,%esi
40fdf2:	8a 07                	mov    (%edi),%al
40fdf4:	3a 86 e8 ba 42 00    	cmp    0x42bae8(%esi),%al
40fdfa:	74 08                	je     0x40fe04
40fdfc:	3a 86 f0 ba 42 00    	cmp    0x42baf0(%esi),%al
40fe02:	75 12                	jne    0x40fe16
40fe04:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40fe07:	e8 42 34 00 00       	call   0x41324e
40fe0c:	46                   	inc    %esi
40fe0d:	88 07                	mov    %al,(%edi)
40fe0f:	83 fe 05             	cmp    $0x5,%esi
40fe12:	75 de                	jne    0x40fdf2
40fe14:	b3 01                	mov    $0x1,%bl
40fe16:	5f                   	pop    %edi
40fe17:	5e                   	pop    %esi
40fe18:	8a c3                	mov    %bl,%al
40fe1a:	5b                   	pop    %ebx
40fe1b:	5d                   	pop    %ebp
40fe1c:	c3                   	ret
40fe1d:	8b ff                	mov    %edi,%edi
40fe1f:	55                   	push   %ebp
40fe20:	8b ec                	mov    %esp,%ebp
40fe22:	8b 45 08             	mov    0x8(%ebp),%eax
40fe25:	83 f8 09             	cmp    $0x9,%eax
40fe28:	0f 87 99 00 00 00    	ja     0x40fec7
40fe2e:	ff 24 85 05 ff 40 00 	jmp    *0x40ff05(,%eax,4)
40fe35:	ff 75 10             	push   0x10(%ebp)
40fe38:	ff 75 0c             	push   0xc(%ebp)
40fe3b:	e8 4c f7 ff ff       	call   0x40f58c
40fe40:	59                   	pop    %ecx
40fe41:	59                   	pop    %ecx
40fe42:	5d                   	pop    %ebp
40fe43:	c3                   	ret
40fe44:	ff 75 10             	push   0x10(%ebp)
40fe47:	ff 75 0c             	push   0xc(%ebp)
40fe4a:	e8 83 f7 ff ff       	call   0x40f5d2
40fe4f:	eb ef                	jmp    0x40fe40
40fe51:	8b 45 0c             	mov    0xc(%ebp),%eax
40fe54:	33 c9                	xor    %ecx,%ecx
40fe56:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fe5c:	0f 95 c1             	setne  %cl
40fe5f:	c1 e1 1f             	shl    $0x1f,%ecx
40fe62:	8b 45 10             	mov    0x10(%ebp),%eax
40fe65:	89 08                	mov    %ecx,(%eax)
40fe67:	33 c0                	xor    %eax,%eax
40fe69:	5d                   	pop    %ebp
40fe6a:	c3                   	ret
40fe6b:	8b 45 0c             	mov    0xc(%ebp),%eax
40fe6e:	33 c9                	xor    %ecx,%ecx
40fe70:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fe76:	0f 95 c1             	setne  %cl
40fe79:	c1 e1 1f             	shl    $0x1f,%ecx
40fe7c:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
40fe82:	eb de                	jmp    0x40fe62
40fe84:	8b 45 0c             	mov    0xc(%ebp),%eax
40fe87:	33 c9                	xor    %ecx,%ecx
40fe89:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fe8f:	0f 95 c1             	setne  %cl
40fe92:	c1 e1 1f             	shl    $0x1f,%ecx
40fe95:	81 c9 ff ff ff 7f    	or     $0x7fffffff,%ecx
40fe9b:	eb c5                	jmp    0x40fe62
40fe9d:	8b 45 0c             	mov    0xc(%ebp),%eax
40fea0:	33 c9                	xor    %ecx,%ecx
40fea2:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fea8:	0f 95 c1             	setne  %cl
40feab:	c1 e1 1f             	shl    $0x1f,%ecx
40feae:	81 c9 01 00 80 7f    	or     $0x7f800001,%ecx
40feb4:	eb ac                	jmp    0x40fe62
40feb6:	8b 45 10             	mov    0x10(%ebp),%eax
40feb9:	c7 00 00 00 c0 ff    	movl   $0xffc00000,(%eax)
40febf:	eb a6                	jmp    0x40fe67
40fec1:	8b 45 10             	mov    0x10(%ebp),%eax
40fec4:	83 20 00             	andl   $0x0,(%eax)
40fec7:	33 c0                	xor    %eax,%eax
40fec9:	40                   	inc    %eax
40feca:	5d                   	pop    %ebp
40fecb:	c3                   	ret
40fecc:	8b 45 0c             	mov    0xc(%ebp),%eax
40fecf:	33 c9                	xor    %ecx,%ecx
40fed1:	6a 02                	push   $0x2
40fed3:	38 88 08 03 00 00    	cmp    %cl,0x308(%eax)
40fed9:	0f 95 c1             	setne  %cl
40fedc:	c1 e1 1f             	shl    $0x1f,%ecx
40fedf:	8b 45 10             	mov    0x10(%ebp),%eax
40fee2:	89 08                	mov    %ecx,(%eax)
40fee4:	58                   	pop    %eax
40fee5:	5d                   	pop    %ebp