421152:	0f b7 01             	movzwl (%ecx),%eax
421155:	83 f8 1a             	cmp    $0x1a,%eax
421158:	74 36                	je     0x421190
42115a:	83 f8 0d             	cmp    $0xd,%eax
42115d:	75 15                	jne    0x421174
42115f:	8d 59 02             	lea    0x2(%ecx),%ebx
421162:	3b da                	cmp    %edx,%ebx
421164:	73 0e                	jae    0x421174
421166:	6a 0a                	push   $0xa
421168:	5f                   	pop    %edi
421169:	66 39 3b             	cmp    %di,(%ebx)
42116c:	75 06                	jne    0x421174
42116e:	8b c7                	mov    %edi,%eax
421170:	6a 04                	push   $0x4
421172:	eb 02                	jmp    0x421176
421174:	6a 02                	push   $0x2
421176:	8d 7e 02             	lea    0x2(%esi),%edi
421179:	66 89 06             	mov    %ax,(%esi)
42117c:	5b                   	pop    %ebx
42117d:	89 7d fc             	mov    %edi,-0x4(%ebp)
421180:	03 cb                	add    %ebx,%ecx
421182:	8b 45 fc             	mov    -0x4(%ebp),%eax
421185:	8b f0                	mov    %eax,%esi
421187:	8b 7d 0c             	mov    0xc(%ebp),%edi
42118a:	3b ca                	cmp    %edx,%ecx
42118c:	72 c4                	jb     0x421152
42118e:	eb 1a                	jmp    0x4211aa
421190:	8b 45 08             	mov    0x8(%ebp),%eax
421193:	8b c8                	mov    %eax,%ecx
421195:	83 e0 3f             	and    $0x3f,%eax
421198:	c1 f9 06             	sar    $0x6,%ecx
42119b:	6b d0 38             	imul   $0x38,%eax,%edx
42119e:	8b 0c 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%ecx
4211a5:	80 4c 11 28 02       	orb    $0x2,0x28(%ecx,%edx,1)
4211aa:	5b                   	pop    %ebx
4211ab:	2b f7                	sub    %edi,%esi
4211ad:	83 e6 fe             	and    $0xfffffffe,%esi
4211b0:	5f                   	pop    %edi
4211b1:	8b c6                	mov    %esi,%eax
4211b3:	5e                   	pop    %esi
4211b4:	c9                   	leave
4211b5:	c3                   	ret
4211b6:	6a 14                	push   $0x14
4211b8:	68 00 b0 43 00       	push   $0x43b000
4211bd:	e8 0e 93 fe ff       	call   0x40a4d0
4211c2:	8b 75 08             	mov    0x8(%ebp),%esi
4211c5:	83 fe fe             	cmp    $0xfffffffe,%esi
4211c8:	75 1b                	jne    0x4211e5
4211ca:	e8 8f b4 ff ff       	call   0x41c65e
4211cf:	83 20 00             	andl   $0x0,(%eax)
4211d2:	e8 9a b4 ff ff       	call   0x41c671
4211d7:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4211dd:	83 c8 ff             	or     $0xffffffff,%eax
4211e0:	e9 cc 00 00 00       	jmp    0x4212b1
4211e5:	85 f6                	test   %esi,%esi
4211e7:	78 0d                	js     0x4211f6
4211e9:	3b 35 00 fa 43 00    	cmp    0x43fa00,%esi
4211ef:	73 05                	jae    0x4211f6
4211f1:	33 c0                	xor    %eax,%eax
4211f3:	40                   	inc    %eax
4211f4:	eb 02                	jmp    0x4211f8
4211f6:	33 c0                	xor    %eax,%eax
4211f8:	85 c0                	test   %eax,%eax
4211fa:	75 1a                	jne    0x421216
4211fc:	e8 5d b4 ff ff       	call   0x41c65e
421201:	83 20 00             	andl   $0x0,(%eax)
421204:	e8 68 b4 ff ff       	call   0x41c671
421209:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
42120f:	e8 da c1 fe ff       	call   0x40d3ee
421214:	eb c7                	jmp    0x4211dd
421216:	8b ce                	mov    %esi,%ecx
421218:	c1 f9 06             	sar    $0x6,%ecx
42121b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
42121e:	8b c6                	mov    %esi,%eax
421220:	83 e0 3f             	and    $0x3f,%eax
421223:	6b d0 38             	imul   $0x38,%eax,%edx
421226:	89 55 dc             	mov    %edx,-0x24(%ebp)
421229:	8b 04 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%eax
421230:	f6 44 10 28 01       	testb  $0x1,0x28(%eax,%edx,1)
421235:	74 c5                	je     0x4211fc
421237:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
42123e:	76 15                	jbe    0x421255
421240:	e8 19 b4 ff ff       	call   0x41c65e
421245:	83 20 00             	andl   $0x0,(%eax)
421248:	e8 24 b4 ff ff       	call   0x41c671
42124d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
421253:	eb ba                	jmp    0x42120f
421255:	56                   	push   %esi
421256:	e8 c5 f6 ff ff       	call   0x420920
42125b:	59                   	pop    %ecx
42125c:	83 cb ff             	or     $0xffffffff,%ebx
42125f:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
421262:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
421266:	8b 45 e0             	mov    -0x20(%ebp),%eax
421269:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
421270:	8b 4d dc             	mov    -0x24(%ebp),%ecx
421273:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
421278:	75 15                	jne    0x42128f
42127a:	e8 f2 b3 ff ff       	call   0x41c671
42127f:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
421285:	e8 d4 b3 ff ff       	call   0x41c65e
42128a:	83 20 00             	andl   $0x0,(%eax)
42128d:	eb 14                	jmp    0x4212a3
42128f:	ff 75 10             	push   0x10(%ebp)
421292:	ff 75 0c             	push   0xc(%ebp)
421295:	56                   	push   %esi
421296:	e8 34 00 00 00       	call   0x4212cf
42129b:	83 c4 0c             	add    $0xc,%esp
42129e:	8b d8                	mov    %eax,%ebx
4212a0:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4212a3:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4212aa:	e8 18 00 00 00       	call   0x4212c7
4212af:	8b c3                	mov    %ebx,%eax
4212b1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4212b4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4212bb:	59                   	pop    %ecx
4212bc:	5f                   	pop    %edi
4212bd:	5e                   	pop    %esi
4212be:	5b                   	pop    %ebx
4212bf:	c9                   	leave
4212c0:	c3                   	ret
4212c1:	8b 75 08             	mov    0x8(%ebp),%esi
4212c4:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4212c7:	56                   	push   %esi
4212c8:	e8 08 f7 ff ff       	call   0x4209d5
4212cd:	59                   	pop    %ecx
4212ce:	c3                   	ret
4212cf:	8b ff                	mov    %edi,%edi
4212d1:	55                   	push   %ebp
4212d2:	8b ec                	mov    %esp,%ebp
4212d4:	8b 55 08             	mov    0x8(%ebp),%edx
4212d7:	83 ec 24             	sub    $0x24,%esp
4212da:	53                   	push   %ebx
4212db:	57                   	push   %edi
4212dc:	83 fa fe             	cmp    $0xfffffffe,%edx
4212df:	75 18                	jne    0x4212f9
4212e1:	e8 78 b3 ff ff       	call   0x41c65e
4212e6:	83 20 00             	andl   $0x0,(%eax)
4212e9:	e8 83 b3 ff ff       	call   0x41c671
4212ee:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4212f4:	e9 5a 03 00 00       	jmp    0x421653
4212f9:	85 d2                	test   %edx,%edx
4212fb:	0f 88 3a 03 00 00    	js     0x42163b
421301:	3b 15 00 fa 43 00    	cmp    0x43fa00,%edx
421307:	0f 83 2e 03 00 00    	jae    0x42163b
42130d:	8b c2                	mov    %edx,%eax
42130f:	8b ca                	mov    %edx,%ecx
421311:	c1 e9 06             	shr    $0x6,%ecx
421314:	83 e0 3f             	and    $0x3f,%eax
421317:	6b f8 38             	imul   $0x38,%eax,%edi
42131a:	33 db                	xor    %ebx,%ebx
42131c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42131f:	43                   	inc    %ebx
421320:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
421323:	8b 04 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%eax
42132a:	89 7d f0             	mov    %edi,-0x10(%ebp)
42132d:	8a 4c 07 28          	mov    0x28(%edi,%eax,1),%cl
421331:	88 4d ff             	mov    %cl,-0x1(%ebp)
421334:	84 cb                	test   %cl,%bl
421336:	0f 84 ff 02 00 00    	je     0x42163b
42133c:	8b 4d 10             	mov    0x10(%ebp),%ecx
42133f:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
421345:	76 18                	jbe    0x42135f
421347:	e8 12 b3 ff ff       	call   0x41c65e
42134c:	83 20 00             	andl   $0x0,(%eax)
42134f:	e8 1d b3 ff ff       	call   0x41c671
421354:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42135a:	e9 ef 02 00 00       	jmp    0x42164e
42135f:	85 c9                	test   %ecx,%ecx
421361:	0f 84 d0 02 00 00    	je     0x421637
421367:	f6 45 ff 02          	testb  $0x2,-0x1(%ebp)
42136b:	0f 85 c6 02 00 00    	jne    0x421637
421371:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
421375:	74 d0                	je     0x421347
421377:	56                   	push   %esi
421378:	8b 74 07 18          	mov    0x18(%edi,%eax,1),%esi
42137c:	8a 44 07 29          	mov    0x29(%edi,%eax,1),%al
421380:	88 45 ff             	mov    %al,-0x1(%ebp)
421383:	89 75 ec             	mov    %esi,-0x14(%ebp)
421386:	33 f6                	xor    %esi,%esi
421388:	0f be c0             	movsbl %al,%eax
42138b:	83 e8 01             	sub    $0x1,%eax
42138e:	74 33                	je     0x4213c3
421390:	83 e8 01             	sub    $0x1,%eax
421393:	75 24                	jne    0x4213b9
421395:	8b c1                	mov    %ecx,%eax
421397:	f7 d0                	not    %eax
421399:	84 c3                	test   %al,%bl
42139b:	75 1c                	jne    0x4213b9
42139d:	e8 bc b2 ff ff       	call   0x41c65e
4213a2:	21 30                	and    %esi,(%eax)
4213a4:	e8 c8 b2 ff ff       	call   0x41c671
4213a9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4213af:	e8 3a c0 fe ff       	call   0x40d3ee
4213b4:	e9 b5 01 00 00       	jmp    0x42156e
4213b9:	8b d9                	mov    %ecx,%ebx
4213bb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4213be:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4213c1:	eb 73                	jmp    0x421436
4213c3:	8b c1                	mov    %ecx,%eax
4213c5:	f7 d0                	not    %eax
4213c7:	84 c3                	test   %al,%bl
4213c9:	74 d2                	je     0x42139d
4213cb:	6a 04                	push   $0x4
4213cd:	d1 e9                	shr    $1,%ecx
4213cf:	5b                   	pop    %ebx
4213d0:	3b cb                	cmp    %ebx,%ecx
4213d2:	72 02                	jb     0x4213d6
4213d4:	8b d9                	mov    %ecx,%ebx
4213d6:	53                   	push   %ebx
4213d7:	e8 54 58 fe ff       	call   0x406c30
4213dc:	6a 00                	push   $0x0
4213de:	8b f0                	mov    %eax,%esi
4213e0:	e8 2b 58 fe ff       	call   0x406c10
4213e5:	6a 00                	push   $0x0
4213e7:	e8 24 58 fe ff       	call   0x406c10
4213ec:	83 c4 0c             	add    $0xc,%esp
4213ef:	89 75 f4             	mov    %esi,-0xc(%ebp)
4213f2:	85 f6                	test   %esi,%esi
4213f4:	75 1b                	jne    0x421411
4213f6:	e8 76 b2 ff ff       	call   0x41c671
4213fb:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
421401:	e8 58 b2 ff ff       	call   0x41c65e
421406:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
42140c:	e9 5d 01 00 00       	jmp    0x42156e
421411:	6a 01                	push   $0x1
421413:	6a 00                	push   $0x0
421415:	6a 00                	push   $0x0
421417:	ff 75 08             	push   0x8(%ebp)
42141a:	e8 db 05 00 00       	call   0x4219fa
42141f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
421422:	83 c4 10             	add    $0x10,%esp
421425:	8b 0c 8d 00 f8 43 00 	mov    0x43f800(,%ecx,4),%ecx
42142c:	89 44 0f 20          	mov    %eax,0x20(%edi,%ecx,1)
421430:	89 54 0f 24          	mov    %edx,0x24(%edi,%ecx,1)
421434:	8b ce                	mov    %esi,%ecx
421436:	8b 45 f8             	mov    -0x8(%ebp),%eax
421439:	33 ff                	xor    %edi,%edi
42143b:	89 4d e0             	mov    %ecx,-0x20(%ebp)
42143e:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
421445:	89 45 e8             	mov    %eax,-0x18(%ebp)
421448:	8b d0                	mov    %eax,%edx
42144a:	8b 45 f0             	mov    -0x10(%ebp),%eax
42144d:	f6 44 10 28 48       	testb  $0x48,0x28(%eax,%edx,1)
421452:	8b 55 08             	mov    0x8(%ebp),%edx
421455:	0f 84 b6 00 00 00    	je     0x421511
42145b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
42145e:	8a 44 08 2a          	mov    0x2a(%eax,%ecx,1),%al
421462:	8b 4d f4             	mov    -0xc(%ebp),%ecx
421465:	3c 0a                	cmp    $0xa,%al
421467:	0f 84 a4 00 00 00    	je     0x421511
42146d:	85 db                	test   %ebx,%ebx
42146f:	0f 84 9c 00 00 00    	je     0x421511
421475:	8b 55 f0             	mov    -0x10(%ebp),%edx
421478:	47                   	inc    %edi
421479:	88 01                	mov    %al,(%ecx)
42147b:	41                   	inc    %ecx
42147c:	8b 45 f8             	mov    -0x8(%ebp),%eax
42147f:	4b                   	dec    %ebx
421480:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
421484:	89 4d f4             	mov    %ecx,-0xc(%ebp)
421487:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
42148e:	c6 44 02 2a 0a       	movb   $0xa,0x2a(%edx,%eax,1)
421493:	8b 55 08             	mov    0x8(%ebp),%edx
421496:	74 79                	je     0x421511
421498:	8b 45 f8             	mov    -0x8(%ebp),%eax
42149b:	8b 55 f0             	mov    -0x10(%ebp),%edx
42149e:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
4214a5:	8a 44 02 2b          	mov    0x2b(%edx,%eax,1),%al
4214a9:	8b 55 08             	mov    0x8(%ebp),%edx
4214ac:	3c 0a                	cmp    $0xa,%al
4214ae:	74 61                	je     0x421511
4214b0:	85 db                	test   %ebx,%ebx
4214b2:	74 5d                	je     0x421511
4214b4:	8b 55 f0             	mov    -0x10(%ebp),%edx
4214b7:	88 01                	mov    %al,(%ecx)
4214b9:	41                   	inc    %ecx
4214ba:	8b 45 f8             	mov    -0x8(%ebp),%eax
4214bd:	4b                   	dec    %ebx
4214be:	80 7d ff 01          	cmpb   $0x1,-0x1(%ebp)
4214c2:	6a 02                	push   $0x2
4214c4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4214c7:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
4214ce:	5f                   	pop    %edi
4214cf:	c6 44 02 2b 0a       	movb   $0xa,0x2b(%edx,%eax,1)
4214d4:	8b 55 08             	mov    0x8(%ebp),%edx
4214d7:	75 38                	jne    0x421511
4214d9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4214dc:	8b 55 f0             	mov    -0x10(%ebp),%edx
4214df:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
4214e6:	8a 44 02 2c          	mov    0x2c(%edx,%eax,1),%al
4214ea:	8b 55 08             	mov    0x8(%ebp),%edx
4214ed:	3c 0a                	cmp    $0xa,%al
4214ef:	74 20                	je     0x421511
4214f1:	85 db                	test   %ebx,%ebx
4214f3:	74 1c                	je     0x421511
4214f5:	88 01                	mov    %al,(%ecx)
4214f7:	41                   	inc    %ecx
4214f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4214fb:	4b                   	dec    %ebx
4214fc:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4214ff:	8b 4d f0             	mov    -0x10(%ebp),%ecx
421502:	6a 03                	push   $0x3
421504:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
42150b:	5f                   	pop    %edi
42150c:	c6 44 01 2c 0a       	movb   $0xa,0x2c(%ecx,%eax,1)
421511:	52                   	push   %edx
421512:	e8 c1 6c 00 00       	call   0x4281d8
421517:	59                   	pop    %ecx
421518:	85 c0                	test   %eax,%eax
42151a:	74 6f                	je     0x42158b
42151c:	8b 45 f8             	mov    -0x8(%ebp),%eax
42151f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
421522:	8b 04 85 00 f8 43 00 	mov    0x43f800(,%eax,4),%eax
421529:	80 7c 01 28 00       	cmpb   $0x0,0x28(%ecx,%eax,1)
42152e:	7d 5b                	jge    0x42158b
421530:	8d 45 dc             	lea    -0x24(%ebp),%eax
421533:	50                   	push   %eax
421534:	ff 75 ec             	push   -0x14(%ebp)
421537:	ff 15 7c 10 43 00    	call   *0x43107c
42153d:	85 c0                	test   %eax,%eax
42153f:	74 4a                	je     0x42158b
421541:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
421545:	75 48                	jne    0x42158f
421547:	6a 00                	push   $0x0
421549:	8d 45 e8             	lea    -0x18(%ebp),%eax
42154c:	d1 eb                	shr    $1,%ebx
42154e:	50                   	push   %eax
42154f:	53                   	push   %ebx
421550:	8b 5d f4             	mov    -0xc(%ebp),%ebx
421553:	53                   	push   %ebx
421554:	ff 75 ec             	push   -0x14(%ebp)
421557:	ff 15 78 10 43 00    	call   *0x431078
42155d:	85 c0                	test   %eax,%eax
42155f:	75 1f                	jne    0x421580
421561:	ff 15 08 11 43 00    	call   *0x431108
421567:	50                   	push   %eax
421568:	e8 aa b0 ff ff       	call   0x41c617
42156d:	59                   	pop    %ecx
42156e:	83 cf ff             	or     $0xffffffff,%edi
421571:	56                   	push   %esi
421572:	e8 99 56 fe ff       	call   0x406c10
421577:	59                   	pop    %ecx
421578:	8b c7                	mov    %edi,%eax
42157a:	5e                   	pop    %esi
42157b:	e9 d6 00 00 00       	jmp    0x421656
421580:	8b 45 e8             	mov    -0x18(%ebp),%eax
421583:	8b 4d 10             	mov    0x10(%ebp),%ecx
421586:	8d 3c 47             	lea    (%edi,%eax,2),%edi
421589:	eb 27                	jmp    0x4215b2