428fc6:	53                   	push   %ebx
428fc7:	56                   	push   %esi
428fc8:	8b 75 0c             	mov    0xc(%ebp),%esi
428fcb:	57                   	push   %edi
428fcc:	8b 7d 14             	mov    0x14(%ebp),%edi
428fcf:	ff 75 10             	push   0x10(%ebp)
428fd2:	89 85 d8 fb ff ff    	mov    %eax,-0x428(%ebp)
428fd8:	33 c0                	xor    %eax,%eax
428fda:	8b d8                	mov    %eax,%ebx
428fdc:	8d 8d b0 fb ff ff    	lea    -0x450(%ebp),%ecx
428fe2:	89 b5 f8 fb ff ff    	mov    %esi,-0x408(%ebp)
428fe8:	89 bd f4 fb ff ff    	mov    %edi,-0x40c(%ebp)
428fee:	89 85 ac fb ff ff    	mov    %eax,-0x454(%ebp)
428ff4:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
428ffa:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
429000:	89 85 e8 fb ff ff    	mov    %eax,-0x418(%ebp)
429006:	89 85 d4 fb ff ff    	mov    %eax,-0x42c(%ebp)
42900c:	89 85 c0 fb ff ff    	mov    %eax,-0x440(%ebp)
429012:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
429018:	e8 02 7f ff ff       	call   0x420f1f
42901d:	e8 ec eb ff ff       	call   0x427c0e
429022:	89 85 9c fb ff ff    	mov    %eax,-0x464(%ebp)
429028:	39 9d d8 fb ff ff    	cmp    %ebx,-0x428(%ebp)
42902e:	75 2a                	jne    0x42905a
429030:	e8 d9 eb ff ff       	call   0x427c0e
429035:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42903b:	e8 d0 dd ff ff       	call   0x426e10
429040:	38 9d bc fb ff ff    	cmp    %bl,-0x444(%ebp)
429046:	74 0a                	je     0x429052
429048:	8b 85 b8 fb ff ff    	mov    -0x448(%ebp),%eax
42904e:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
429052:	83 c8 ff             	or     $0xffffffff,%eax
429055:	e9 15 0b 00 00       	jmp    0x429b6f
42905a:	85 f6                	test   %esi,%esi
42905c:	74 d2                	je     0x429030
42905e:	33 c9                	xor    %ecx,%ecx
429060:	8b c1                	mov    %ecx,%eax
429062:	8b d1                	mov    %ecx,%edx
429064:	89 8d cc fb ff ff    	mov    %ecx,-0x434(%ebp)
42906a:	89 8d a8 fb ff ff    	mov    %ecx,-0x458(%ebp)
429070:	0f b7 0e             	movzwl (%esi),%ecx
429073:	89 85 e0 fb ff ff    	mov    %eax,-0x420(%ebp)
429079:	89 95 ec fb ff ff    	mov    %edx,-0x414(%ebp)
42907f:	89 8d e4 fb ff ff    	mov    %ecx,-0x41c(%ebp)
429085:	66 85 c9             	test   %cx,%cx
429088:	0f 84 ce 0a 00 00    	je     0x429b5c
42908e:	8b b5 94 fb ff ff    	mov    -0x46c(%ebp),%esi
429094:	c7 85 8c fb ff ff 58 	movl   $0x58,-0x474(%ebp)
42909b:	00 00 00
42909e:	c7 85 84 fb ff ff 64 	movl   $0x64,-0x47c(%ebp)
4290a5:	00 00 00
4290a8:	c7 85 80 fb ff ff 69 	movl   $0x69,-0x480(%ebp)
4290af:	00 00 00
4290b2:	c7 85 98 fb ff ff 6f 	movl   $0x6f,-0x468(%ebp)
4290b9:	00 00 00
4290bc:	83 85 f8 fb ff ff 02 	addl   $0x2,-0x408(%ebp)
4290c3:	85 c0                	test   %eax,%eax
4290c5:	0f 88 91 0a 00 00    	js     0x429b5c
4290cb:	6a 58                	push   $0x58
4290cd:	8d 41 e0             	lea    -0x20(%ecx),%eax
4290d0:	5f                   	pop    %edi
4290d1:	66 3b c7             	cmp    %di,%ax
4290d4:	77 0f                	ja     0x4290e5
4290d6:	0f b7 c1             	movzwl %cx,%eax
4290d9:	0f be 80 f8 ed 48 00 	movsbl 0x48edf8(%eax),%eax
4290e0:	83 e0 0f             	and    $0xf,%eax
4290e3:	eb 02                	jmp    0x4290e7
4290e5:	33 c0                	xor    %eax,%eax
4290e7:	8b bd cc fb ff ff    	mov    -0x434(%ebp),%edi
4290ed:	0f be bc c7 18 ee 48 	movsbl 0x48ee18(%edi,%eax,8),%edi
4290f4:	00
4290f5:	8b c7                	mov    %edi,%eax
4290f7:	c1 f8 04             	sar    $0x4,%eax
4290fa:	89 bd cc fb ff ff    	mov    %edi,-0x434(%ebp)
429100:	8b bd f4 fb ff ff    	mov    -0x40c(%ebp),%edi
429106:	89 85 cc fb ff ff    	mov    %eax,-0x434(%ebp)
42910c:	83 f8 07             	cmp    $0x7,%eax
42910f:	0f 87 29 0a 00 00    	ja     0x429b3e
429115:	ff 24 85 ac 9b 42 00 	jmp    *0x429bac(,%eax,4)
42911c:	33 c0                	xor    %eax,%eax
42911e:	83 8d e8 fb ff ff ff 	orl    $0xffffffff,-0x418(%ebp)
429125:	8b d8                	mov    %eax,%ebx
429127:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
42912d:	89 85 c0 fb ff ff    	mov    %eax,-0x440(%ebp)
429133:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
429139:	89 85 d4 fb ff ff    	mov    %eax,-0x42c(%ebp)
42913f:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
429145:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
42914b:	e9 ee 09 00 00       	jmp    0x429b3e
429150:	0f b7 c1             	movzwl %cx,%eax
429153:	6a 20                	push   $0x20
429155:	59                   	pop    %ecx
429156:	2b c1                	sub    %ecx,%eax
429158:	74 46                	je     0x4291a0
42915a:	83 e8 03             	sub    $0x3,%eax
42915d:	74 39                	je     0x429198
42915f:	83 e8 08             	sub    $0x8,%eax
429162:	74 2f                	je     0x429193
429164:	48                   	dec    %eax
429165:	48                   	dec    %eax
429166:	74 1d                	je     0x429185
429168:	83 e8 03             	sub    $0x3,%eax
42916b:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
429171:	0f 85 cd 09 00 00    	jne    0x429b44
429177:	83 cb 08             	or     $0x8,%ebx
42917a:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
429180:	e9 bf 09 00 00       	jmp    0x429b44
429185:	83 cb 04             	or     $0x4,%ebx
429188:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
42918e:	e9 ab 09 00 00       	jmp    0x429b3e
429193:	83 cb 01             	or     $0x1,%ebx
429196:	eb f0                	jmp    0x429188
429198:	81 cb 80 00 00 00    	or     $0x80,%ebx
42919e:	eb e8                	jmp    0x429188
4291a0:	83 cb 02             	or     $0x2,%ebx
4291a3:	eb e3                	jmp    0x429188
4291a5:	6a 2a                	push   $0x2a
4291a7:	58                   	pop    %eax
4291a8:	66 3b c8             	cmp    %ax,%cx
4291ab:	75 2f                	jne    0x4291dc
4291ad:	8b 07                	mov    (%edi),%eax
4291af:	83 c7 04             	add    $0x4,%edi
4291b2:	89 bd f4 fb ff ff    	mov    %edi,-0x40c(%ebp)
4291b8:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
4291be:	85 c0                	test   %eax,%eax
4291c0:	0f 89 78 09 00 00    	jns    0x429b3e
4291c6:	83 cb 04             	or     $0x4,%ebx
4291c9:	f7 d8                	neg    %eax
4291cb:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
4291d1:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
4291d7:	e9 62 09 00 00       	jmp    0x429b3e
4291dc:	8b 85 dc fb ff ff    	mov    -0x424(%ebp),%eax
4291e2:	6b c0 0a             	imul   $0xa,%eax,%eax
4291e5:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
4291eb:	0f b7 c1             	movzwl %cx,%eax
4291ee:	8b 8d dc fb ff ff    	mov    -0x424(%ebp),%ecx
4291f4:	83 c1 d0             	add    $0xffffffd0,%ecx
4291f7:	03 c8                	add    %eax,%ecx
4291f9:	89 8d dc fb ff ff    	mov    %ecx,-0x424(%ebp)
4291ff:	e9 3a 09 00 00       	jmp    0x429b3e
429204:	33 c0                	xor    %eax,%eax
429206:	89 85 e8 fb ff ff    	mov    %eax,-0x418(%ebp)
42920c:	e9 2d 09 00 00       	jmp    0x429b3e
429211:	6a 2a                	push   $0x2a
429213:	58                   	pop    %eax
429214:	66 3b c8             	cmp    %ax,%cx
429217:	75 2b                	jne    0x429244
429219:	8b 07                	mov    (%edi),%eax
42921b:	83 c7 04             	add    $0x4,%edi
42921e:	89 85 e8 fb ff ff    	mov    %eax,-0x418(%ebp)
429224:	85 c0                	test   %eax,%eax
429226:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
42922c:	89 bd f4 fb ff ff    	mov    %edi,-0x40c(%ebp)
429232:	0f 89 0c 09 00 00    	jns    0x429b44
429238:	83 8d e8 fb ff ff ff 	orl    $0xffffffff,-0x418(%ebp)
42923f:	e9 00 09 00 00       	jmp    0x429b44
429244:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
42924a:	6b c0 0a             	imul   $0xa,%eax,%eax
42924d:	89 85 e8 fb ff ff    	mov    %eax,-0x418(%ebp)
429253:	0f b7 c1             	movzwl %cx,%eax
429256:	8b 8d e8 fb ff ff    	mov    -0x418(%ebp),%ecx
42925c:	83 c1 d0             	add    $0xffffffd0,%ecx
42925f:	03 c8                	add    %eax,%ecx
429261:	89 8d e8 fb ff ff    	mov    %ecx,-0x418(%ebp)
429267:	e9 d2 08 00 00       	jmp    0x429b3e
42926c:	0f b7 c1             	movzwl %cx,%eax
42926f:	83 f8 49             	cmp    $0x49,%eax
429272:	74 57                	je     0x4292cb
429274:	83 f8 68             	cmp    $0x68,%eax
429277:	74 48                	je     0x4292c1
429279:	6a 6c                	push   $0x6c
42927b:	59                   	pop    %ecx
42927c:	3b c1                	cmp    %ecx,%eax
42927e:	74 1a                	je     0x42929a
429280:	83 f8 77             	cmp    $0x77,%eax
429283:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
429289:	0f 85 b5 08 00 00    	jne    0x429b44
42928f:	81 cb 00 08 00 00    	or     $0x800,%ebx
429295:	e9 e0 fe ff ff       	jmp    0x42917a
42929a:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
4292a0:	66 39 08             	cmp    %cx,(%eax)
4292a3:	75 14                	jne    0x4292b9
4292a5:	83 c0 02             	add    $0x2,%eax
4292a8:	89 85 f8 fb ff ff    	mov    %eax,-0x408(%ebp)
4292ae:	81 cb 00 10 00 00    	or     $0x1000,%ebx
4292b4:	e9 c1 fe ff ff       	jmp    0x42917a
4292b9:	83 cb 10             	or     $0x10,%ebx
4292bc:	e9 b9 fe ff ff       	jmp    0x42917a
4292c1:	6a 20                	push   $0x20
4292c3:	58                   	pop    %eax
4292c4:	0b d8                	or     %eax,%ebx
4292c6:	e9 bd fe ff ff       	jmp    0x429188
4292cb:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
4292d1:	0f b7 00             	movzwl (%eax),%eax
4292d4:	83 f8 36             	cmp    $0x36,%eax
4292d7:	75 23                	jne    0x4292fc
4292d9:	8b bd f8 fb ff ff    	mov    -0x408(%ebp),%edi
4292df:	66 83 7f 02 34       	cmpw   $0x34,0x2(%edi)
4292e4:	75 16                	jne    0x4292fc
4292e6:	8b c7                	mov    %edi,%eax
4292e8:	83 c0 04             	add    $0x4,%eax
4292eb:	89 85 f8 fb ff ff    	mov    %eax,-0x408(%ebp)
4292f1:	81 cb 00 80 00 00    	or     $0x8000,%ebx
4292f7:	e9 7e fe ff ff       	jmp    0x42917a
4292fc:	83 f8 33             	cmp    $0x33,%eax
4292ff:	75 23                	jne    0x429324
429301:	8b bd f8 fb ff ff    	mov    -0x408(%ebp),%edi
429307:	66 83 7f 02 32       	cmpw   $0x32,0x2(%edi)
42930c:	75 16                	jne    0x429324
42930e:	8b c7                	mov    %edi,%eax
429310:	83 c0 04             	add    $0x4,%eax
429313:	89 85 f8 fb ff ff    	mov    %eax,-0x408(%ebp)
429319:	81 e3 ff 7f ff ff    	and    $0xffff7fff,%ebx
42931f:	e9 56 fe ff ff       	jmp    0x42917a
429324:	66 3b 85 84 fb ff ff 	cmp    -0x47c(%ebp),%ax
42932b:	0f 84 0d 08 00 00    	je     0x429b3e
429331:	66 3b 85 80 fb ff ff 	cmp    -0x480(%ebp),%ax
429338:	0f 84 00 08 00 00    	je     0x429b3e
42933e:	66 3b 85 98 fb ff ff 	cmp    -0x468(%ebp),%ax
429345:	0f 84 f3 07 00 00    	je     0x429b3e
42934b:	83 f8 75             	cmp    $0x75,%eax
42934e:	0f 84 ea 07 00 00    	je     0x429b3e
429354:	83 f8 78             	cmp    $0x78,%eax
429357:	0f 84 e1 07 00 00    	je     0x429b3e
42935d:	66 3b 85 8c fb ff ff 	cmp    -0x474(%ebp),%ax
429364:	0f 84 d4 07 00 00    	je     0x429b3e
42936a:	33 c0                	xor    %eax,%eax
42936c:	89 85 cc fb ff ff    	mov    %eax,-0x434(%ebp)
429372:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
429378:	50                   	push   %eax
429379:	ff b5 d8 fb ff ff    	push   -0x428(%ebp)
42937f:	c7 85 d0 fb ff ff 01 	movl   $0x1,-0x430(%ebp)
429386:	00 00 00
429389:	51                   	push   %ecx
42938a:	e8 3d 08 00 00       	call   0x429bcc
42938f:	83 c4 0c             	add    $0xc,%esp
429392:	e9 a1 07 00 00       	jmp    0x429b38
429397:	0f b7 c1             	movzwl %cx,%eax
42939a:	83 f8 64             	cmp    $0x64,%eax
42939d:	0f 8f 2b 02 00 00    	jg     0x4295ce
4293a3:	0f 84 b3 02 00 00    	je     0x42965c
4293a9:	83 f8 53             	cmp    $0x53,%eax
4293ac:	0f 8f 27 01 00 00    	jg     0x4294d9
4293b2:	74 7d                	je     0x429431
4293b4:	83 e8 41             	sub    $0x41,%eax
4293b7:	74 10                	je     0x4293c9
4293b9:	48                   	dec    %eax
4293ba:	48                   	dec    %eax
4293bb:	74 58                	je     0x429415
4293bd:	48                   	dec    %eax
4293be:	48                   	dec    %eax
4293bf:	74 08                	je     0x4293c9
4293c1:	48                   	dec    %eax
4293c2:	48                   	dec    %eax
4293c3:	0f 85 9c 05 00 00    	jne    0x429965
4293c9:	6a 20                	push   $0x20
4293cb:	58                   	pop    %eax
4293cc:	03 c8                	add    %eax,%ecx
4293ce:	c7 85 a0 fb ff ff 01 	movl   $0x1,-0x460(%ebp)
4293d5:	00 00 00
4293d8:	89 8d e4 fb ff ff    	mov    %ecx,-0x41c(%ebp)
4293de:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
4293e4:	83 cb 40             	or     $0x40,%ebx
4293e7:	ba 00 02 00 00       	mov    $0x200,%edx
4293ec:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
4293f2:	8d b5 fc fb ff ff    	lea    -0x404(%ebp),%esi
4293f8:	89 95 ec fb ff ff    	mov    %edx,-0x414(%ebp)
4293fe:	85 c0                	test   %eax,%eax
429400:	0f 89 90 02 00 00    	jns    0x429696
429406:	c7 85 e8 fb ff ff 06 	movl   $0x6,-0x418(%ebp)
42940d:	00 00 00
429410:	e9 e1 02 00 00       	jmp    0x4296f6
429415:	f7 c3 30 08 00 00    	test   $0x830,%ebx
42941b:	0f 85 da 00 00 00    	jne    0x4294fb
429421:	6a 20                	push   $0x20
429423:	58                   	pop    %eax
429424:	0b d8                	or     %eax,%ebx
429426:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
42942c:	e9 ca 00 00 00       	jmp    0x4294fb
429431:	f7 c3 30 08 00 00    	test   $0x830,%ebx
429437:	75 0b                	jne    0x429444
429439:	6a 20                	push   $0x20
42943b:	58                   	pop    %eax
42943c:	0b d8                	or     %eax,%ebx
42943e:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
429444:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
42944a:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
42944f:	83 f8 ff             	cmp    $0xffffffff,%eax
429452:	74 02                	je     0x429456
429454:	8b f8                	mov    %eax,%edi
429456:	8b b5 f4 fb ff ff    	mov    -0x40c(%ebp),%esi
42945c:	83 c6 04             	add    $0x4,%esi
42945f:	89 b5 f4 fb ff ff    	mov    %esi,-0x40c(%ebp)
429465:	8b 76 fc             	mov    -0x4(%esi),%esi
429468:	f6 c3 20             	test   $0x20,%bl
42946b:	0f 84 c1 04 00 00    	je     0x429932
429471:	85 f6                	test   %esi,%esi
429473:	75 06                	jne    0x42947b
429475:	8b 35 10 ae 4b 00    	mov    0x4bae10,%esi
42947b:	33 c9                	xor    %ecx,%ecx
42947d:	8b c6                	mov    %esi,%eax
42947f:	8b d1                	mov    %ecx,%edx
429481:	89 85 e4 fb ff ff    	mov    %eax,-0x41c(%ebp)
429487:	89 95 ec fb ff ff    	mov    %edx,-0x414(%ebp)
42948d:	85 ff                	test   %edi,%edi
42948f:	0f 8e d0 04 00 00    	jle    0x429965
429495:	8a 00                	mov    (%eax),%al
429497:	84 c0                	test   %al,%al
429499:	0f 84 c6 04 00 00    	je     0x429965
42949f:	8d 8d b0 fb ff ff    	lea    -0x450(%ebp),%ecx
4294a5:	0f b6 c0             	movzbl %al,%eax
4294a8:	51                   	push   %ecx
4294a9:	50                   	push   %eax
4294aa:	e8 a3 81 ff ff       	call   0x421652
4294af:	59                   	pop    %ecx
4294b0:	85 c0                	test   %eax,%eax
4294b2:	8b 85 e4 fb ff ff    	mov    -0x41c(%ebp),%eax
4294b8:	59                   	pop    %ecx
4294b9:	74 01                	je     0x4294bc
4294bb:	40                   	inc    %eax
4294bc:	8b 95 ec fb ff ff    	mov    -0x414(%ebp),%edx
4294c2:	40                   	inc    %eax
4294c3:	42                   	inc    %edx
4294c4:	89 85 e4 fb ff ff    	mov    %eax,-0x41c(%ebp)
4294ca:	89 95 ec fb ff ff    	mov    %edx,-0x414(%ebp)
4294d0:	3b d7                	cmp    %edi,%edx
4294d2:	7c c1                	jl     0x429495
4294d4:	e9 8c 04 00 00       	jmp    0x429965
4294d9:	83 e8 58             	sub    $0x58,%eax
4294dc:	0f 84 dc 02 00 00    	je     0x4297be
4294e2:	48                   	dec    %eax
4294e3:	48                   	dec    %eax
4294e4:	0f 84 8b 00 00 00    	je     0x429575
4294ea:	83 e8 07             	sub    $0x7,%eax
4294ed:	0f 84 eb fe ff ff    	je     0x4293de
4294f3:	48                   	dec    %eax
4294f4:	48                   	dec    %eax
4294f5:	0f 85 6a 04 00 00    	jne    0x429965
4294fb:	0f b7 07             	movzwl (%edi),%eax
4294fe:	83 c7 04             	add    $0x4,%edi
429501:	c7 85 d0 fb ff ff 01 	movl   $0x1,-0x430(%ebp)
429508:	00 00 00
42950b:	89 bd f4 fb ff ff    	mov    %edi,-0x40c(%ebp)
429511:	89 85 a4 fb ff ff    	mov    %eax,-0x45c(%ebp)
429517:	f6 c3 20             	test   $0x20,%bl
42951a:	74 44                	je     0x429560
42951c:	88 85 c4 fb ff ff    	mov    %al,-0x43c(%ebp)
429522:	33 c0                	xor    %eax,%eax
429524:	88 85 c5 fb ff ff    	mov    %al,-0x43b(%ebp)
42952a:	8d 85 b0 fb ff ff    	lea    -0x450(%ebp),%eax