4711da:	83 e8 20             	sub    $0x20,%eax
4711dd:	83 c0 c9             	add    $0xffffffc9,%eax
4711e0:	eb da                	jmp    0x4711bc
4711e2:	0f b7 01             	movzwl (%ecx),%eax
4711e5:	03 cf                	add    %edi,%ecx
4711e7:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4711ea:	83 f8 78             	cmp    $0x78,%eax
4711ed:	74 1a                	je     0x471209
4711ef:	83 f8 58             	cmp    $0x58,%eax
4711f2:	74 15                	je     0x471209
4711f4:	85 db                	test   %ebx,%ebx
4711f6:	75 06                	jne    0x4711fe
4711f8:	6a 08                	push   $0x8
4711fa:	5b                   	pop    %ebx
4711fb:	89 5d 14             	mov    %ebx,0x14(%ebp)
4711fe:	50                   	push   %eax
4711ff:	8d 4d 0c             	lea    0xc(%ebp),%ecx
471202:	e8 e1 21 fe ff       	call   0x4533e8
471207:	eb 12                	jmp    0x47121b
471209:	85 db                	test   %ebx,%ebx
47120b:	75 06                	jne    0x471213
47120d:	6a 10                	push   $0x10
47120f:	5b                   	pop    %ebx
471210:	89 5d 14             	mov    %ebx,0x14(%ebp)
471213:	0f b7 31             	movzwl (%ecx),%esi
471216:	03 cf                	add    %edi,%ecx
471218:	89 4d 0c             	mov    %ecx,0xc(%ebp)
47121b:	8b c3                	mov    %ebx,%eax
47121d:	99                   	cltd
47121e:	53                   	push   %ebx
47121f:	8b ca                	mov    %edx,%ecx
471221:	89 45 dc             	mov    %eax,-0x24(%ebp)
471224:	51                   	push   %ecx
471225:	50                   	push   %eax
471226:	6a ff                	push   $0xffffffff
471228:	6a ff                	push   $0xffffffff
47122a:	89 4d e0             	mov    %ecx,-0x20(%ebp)
47122d:	e8 ee ea fc ff       	call   0x43fd20
471232:	89 5d e8             	mov    %ebx,-0x18(%ebp)
471235:	5b                   	pop    %ebx
471236:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
471239:	33 db                	xor    %ebx,%ebx
47123b:	8b ca                	mov    %edx,%ecx
47123d:	89 45 f0             	mov    %eax,-0x10(%ebp)
471240:	89 4d ec             	mov    %ecx,-0x14(%ebp)
471243:	6a 30                	push   $0x30
471245:	58                   	pop    %eax
471246:	66 3b f0             	cmp    %ax,%si
471249:	0f 82 a1 01 00 00    	jb     0x4713f0
47124f:	6a 3a                	push   $0x3a
471251:	5a                   	pop    %edx
471252:	66 3b f2             	cmp    %dx,%si
471255:	73 0a                	jae    0x471261
471257:	0f b7 fe             	movzwl %si,%edi
47125a:	2b f8                	sub    %eax,%edi
47125c:	e9 8a 01 00 00       	jmp    0x4713eb
471261:	b8 10 ff 00 00       	mov    $0xff10,%eax
471266:	66 3b f0             	cmp    %ax,%si
471269:	0f 83 6b 01 00 00    	jae    0x4713da
47126f:	b8 60 06 00 00       	mov    $0x660,%eax
471274:	66 3b f0             	cmp    %ax,%si
471277:	0f 82 73 01 00 00    	jb     0x4713f0
47127d:	8d 50 0a             	lea    0xa(%eax),%edx
471280:	66 3b f2             	cmp    %dx,%si
471283:	72 d2                	jb     0x471257
471285:	b8 f0 06 00 00       	mov    $0x6f0,%eax
47128a:	66 3b f0             	cmp    %ax,%si
47128d:	0f 82 5d 01 00 00    	jb     0x4713f0
471293:	8d 50 0a             	lea    0xa(%eax),%edx
471296:	66 3b f2             	cmp    %dx,%si
471299:	72 bc                	jb     0x471257
47129b:	b8 66 09 00 00       	mov    $0x966,%eax
4712a0:	66 3b f0             	cmp    %ax,%si
4712a3:	0f 82 47 01 00 00    	jb     0x4713f0
4712a9:	8d 50 0a             	lea    0xa(%eax),%edx
4712ac:	66 3b f2             	cmp    %dx,%si
4712af:	72 a6                	jb     0x471257
4712b1:	8d 42 76             	lea    0x76(%edx),%eax
4712b4:	66 3b f0             	cmp    %ax,%si
4712b7:	0f 82 33 01 00 00    	jb     0x4713f0
4712bd:	8d 50 0a             	lea    0xa(%eax),%edx
4712c0:	66 3b f2             	cmp    %dx,%si
4712c3:	72 92                	jb     0x471257
4712c5:	8d 42 76             	lea    0x76(%edx),%eax
4712c8:	66 3b f0             	cmp    %ax,%si
4712cb:	0f 82 1f 01 00 00    	jb     0x4713f0
4712d1:	8d 50 0a             	lea    0xa(%eax),%edx
4712d4:	66 3b f2             	cmp    %dx,%si
4712d7:	0f 82 7a ff ff ff    	jb     0x471257
4712dd:	8d 42 76             	lea    0x76(%edx),%eax
4712e0:	66 3b f0             	cmp    %ax,%si
4712e3:	0f 82 07 01 00 00    	jb     0x4713f0
4712e9:	8d 50 0a             	lea    0xa(%eax),%edx
4712ec:	66 3b f2             	cmp    %dx,%si
4712ef:	0f 82 62 ff ff ff    	jb     0x471257
4712f5:	8d 42 76             	lea    0x76(%edx),%eax
4712f8:	66 3b f0             	cmp    %ax,%si
4712fb:	0f 82 ef 00 00 00    	jb     0x4713f0
471301:	8d 50 0a             	lea    0xa(%eax),%edx
471304:	66 3b f2             	cmp    %dx,%si
471307:	0f 82 4a ff ff ff    	jb     0x471257
47130d:	b8 66 0c 00 00       	mov    $0xc66,%eax
471312:	66 3b f0             	cmp    %ax,%si
471315:	0f 82 d5 00 00 00    	jb     0x4713f0
47131b:	8d 50 0a             	lea    0xa(%eax),%edx
47131e:	66 3b f2             	cmp    %dx,%si
471321:	0f 82 30 ff ff ff    	jb     0x471257
471327:	8d 42 76             	lea    0x76(%edx),%eax
47132a:	66 3b f0             	cmp    %ax,%si
47132d:	0f 82 bd 00 00 00    	jb     0x4713f0
471333:	8d 50 0a             	lea    0xa(%eax),%edx
471336:	66 3b f2             	cmp    %dx,%si
471339:	0f 82 18 ff ff ff    	jb     0x471257
47133f:	8d 42 76             	lea    0x76(%edx),%eax
471342:	66 3b f0             	cmp    %ax,%si
471345:	0f 82 a5 00 00 00    	jb     0x4713f0
47134b:	8d 50 0a             	lea    0xa(%eax),%edx
47134e:	66 3b f2             	cmp    %dx,%si
471351:	0f 82 00 ff ff ff    	jb     0x471257
471357:	b8 50 0e 00 00       	mov    $0xe50,%eax
47135c:	66 3b f0             	cmp    %ax,%si
47135f:	0f 82 8b 00 00 00    	jb     0x4713f0
471365:	8d 50 0a             	lea    0xa(%eax),%edx
471368:	66 3b f2             	cmp    %dx,%si
47136b:	0f 82 e6 fe ff ff    	jb     0x471257
471371:	8d 42 76             	lea    0x76(%edx),%eax
471374:	66 3b f0             	cmp    %ax,%si
471377:	72 77                	jb     0x4713f0
471379:	8d 50 0a             	lea    0xa(%eax),%edx
47137c:	66 3b f2             	cmp    %dx,%si
47137f:	0f 82 d2 fe ff ff    	jb     0x471257
471385:	83 c0 50             	add    $0x50,%eax
471388:	66 3b f0             	cmp    %ax,%si
47138b:	72 63                	jb     0x4713f0
47138d:	83 c2 50             	add    $0x50,%edx
471390:	66 3b f2             	cmp    %dx,%si
471393:	0f 82 be fe ff ff    	jb     0x471257
471399:	b8 40 10 00 00       	mov    $0x1040,%eax
47139e:	66 3b f0             	cmp    %ax,%si
4713a1:	72 4d                	jb     0x4713f0
4713a3:	8d 50 0a             	lea    0xa(%eax),%edx
4713a6:	66 3b f2             	cmp    %dx,%si
4713a9:	0f 82 a8 fe ff ff    	jb     0x471257
4713af:	b8 e0 17 00 00       	mov    $0x17e0,%eax
4713b4:	66 3b f0             	cmp    %ax,%si
4713b7:	72 37                	jb     0x4713f0
4713b9:	8d 50 0a             	lea    0xa(%eax),%edx
4713bc:	66 3b f2             	cmp    %dx,%si
4713bf:	0f 82 92 fe ff ff    	jb     0x471257
4713c5:	83 c0 30             	add    $0x30,%eax
4713c8:	66 3b f0             	cmp    %ax,%si
4713cb:	72 23                	jb     0x4713f0
4713cd:	83 c2 30             	add    $0x30,%edx
4713d0:	66 3b f2             	cmp    %dx,%si
4713d3:	73 1b                	jae    0x4713f0
4713d5:	e9 7d fe ff ff       	jmp    0x471257
4713da:	ba 1a ff 00 00       	mov    $0xff1a,%edx
4713df:	66 3b f2             	cmp    %dx,%si
4713e2:	0f 82 6f fe ff ff    	jb     0x471257
4713e8:	83 cf ff             	or     $0xffffffff,%edi
4713eb:	83 ff ff             	cmp    $0xffffffff,%edi
4713ee:	75 1e                	jne    0x47140e
4713f0:	6a 41                	push   $0x41
4713f2:	58                   	pop    %eax
4713f3:	66 3b c6             	cmp    %si,%ax
4713f6:	77 08                	ja     0x471400
4713f8:	6a 5a                	push   $0x5a
4713fa:	58                   	pop    %eax
4713fb:	66 3b f0             	cmp    %ax,%si
4713fe:	76 55                	jbe    0x471455
471400:	6a 19                	push   $0x19
471402:	8d 46 9f             	lea    -0x61(%esi),%eax
471405:	5a                   	pop    %edx
471406:	66 3b c2             	cmp    %dx,%ax
471409:	76 4d                	jbe    0x471458
47140b:	83 cf ff             	or     $0xffffffff,%edi
47140e:	83 ff ff             	cmp    $0xffffffff,%edi
471411:	0f 84 83 00 00 00    	je     0x47149a
471417:	3b 7d 14             	cmp    0x14(%ebp),%edi
47141a:	73 7e                	jae    0x47149a
47141c:	8b 55 fc             	mov    -0x4(%ebp),%edx
47141f:	8b 45 f4             	mov    -0xc(%ebp),%eax
471422:	83 ca 08             	or     $0x8,%edx
471425:	3b c1                	cmp    %ecx,%eax
471427:	89 55 fc             	mov    %edx,-0x4(%ebp)
47142a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47142d:	72 3c                	jb     0x47146b
47142f:	8b 75 f0             	mov    -0x10(%ebp),%esi
471432:	77 04                	ja     0x471438
471434:	3b ce                	cmp    %esi,%ecx
471436:	72 33                	jb     0x47146b
471438:	3b ce                	cmp    %esi,%ecx
47143a:	75 11                	jne    0x47144d
47143c:	3b 45 ec             	cmp    -0x14(%ebp),%eax
47143f:	75 0c                	jne    0x47144d
471441:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
471444:	72 25                	jb     0x47146b
471446:	77 05                	ja     0x47144d
471448:	3b 7d e4             	cmp    -0x1c(%ebp),%edi
47144b:	76 1e                	jbe    0x47146b
47144d:	83 ca 04             	or     $0x4,%edx
471450:	89 55 fc             	mov    %edx,-0x4(%ebp)
471453:	eb 31                	jmp    0x471486
471455:	6a 19                	push   $0x19
471457:	5a                   	pop    %edx
471458:	8d 46 9f             	lea    -0x61(%esi),%eax
47145b:	0f b7 fe             	movzwl %si,%edi
47145e:	66 3b c2             	cmp    %dx,%ax
471461:	77 03                	ja     0x471466
471463:	83 ef 20             	sub    $0x20,%edi
471466:	83 c7 c9             	add    $0xffffffc9,%edi
471469:	eb a3                	jmp    0x47140e
47146b:	50                   	push   %eax
47146c:	51                   	push   %ecx
47146d:	ff 75 e0             	push   -0x20(%ebp)
471470:	ff 75 dc             	push   -0x24(%ebp)
471473:	e8 48 e8 fc ff       	call   0x43fcc0
471478:	8b c8                	mov    %eax,%ecx
47147a:	8b c2                	mov    %edx,%eax
47147c:	03 cf                	add    %edi,%ecx
47147e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
471481:	13 c3                	adc    %ebx,%eax
471483:	89 45 f4             	mov    %eax,-0xc(%ebp)
471486:	8b 45 0c             	mov    0xc(%ebp),%eax
471489:	8b 4d ec             	mov    -0x14(%ebp),%ecx
47148c:	0f b7 30             	movzwl (%eax),%esi
47148f:	83 c0 02             	add    $0x2,%eax
471492:	89 45 0c             	mov    %eax,0xc(%ebp)
471495:	e9 a9 fd ff ff       	jmp    0x471243
47149a:	56                   	push   %esi
47149b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47149e:	e8 45 1f fe ff       	call   0x4533e8
4714a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4714a6:	a8 08                	test   $0x8,%al
4714a8:	75 0a                	jne    0x4714b4
4714aa:	8b 45 d8             	mov    -0x28(%ebp),%eax
4714ad:	89 45 0c             	mov    %eax,0xc(%ebp)
4714b0:	33 c0                	xor    %eax,%eax
4714b2:	eb 44                	jmp    0x4714f8
4714b4:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4714b7:	8b 7d f8             	mov    -0x8(%ebp),%edi
4714ba:	53                   	push   %ebx
4714bb:	57                   	push   %edi
4714bc:	50                   	push   %eax
4714bd:	e8 3b ee ff ff       	call   0x4702fd
4714c2:	83 c4 0c             	add    $0xc,%esp
4714c5:	84 c0                	test   %al,%al
4714c7:	74 33                	je     0x4714fc
4714c9:	e8 61 b9 fd ff       	call   0x44ce2f
4714ce:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4714d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4714d7:	a8 01                	test   $0x1,%al
4714d9:	75 08                	jne    0x4714e3
4714db:	83 cf ff             	or     $0xffffffff,%edi
4714de:	83 cb ff             	or     $0xffffffff,%ebx
4714e1:	eb 26                	jmp    0x471509
4714e3:	a8 02                	test   $0x2,%al
4714e5:	74 09                	je     0x4714f0
4714e7:	33 c0                	xor    %eax,%eax
4714e9:	bb 00 00 00 80       	mov    $0x80000000,%ebx
4714ee:	eb 08                	jmp    0x4714f8
4714f0:	83 c8 ff             	or     $0xffffffff,%eax
4714f3:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4714f8:	8b f8                	mov    %eax,%edi
4714fa:	eb 0d                	jmp    0x471509
4714fc:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)
471500:	74 07                	je     0x471509
471502:	f7 df                	neg    %edi
471504:	83 d3 00             	adc    $0x0,%ebx
471507:	f7 db                	neg    %ebx
471509:	80 7d d4 00          	cmpb   $0x0,-0x2c(%ebp)
47150d:	0f 84 58 fa ff ff    	je     0x470f6b
471513:	8b 45 c8             	mov    -0x38(%ebp),%eax
471516:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
47151d:	e9 49 fa ff ff       	jmp    0x470f6b
471522:	8b ff                	mov    %edi,%edi
471524:	55                   	push   %ebp
471525:	8b ec                	mov    %esp,%ebp
471527:	51                   	push   %ecx
471528:	6a 01                	push   $0x1
47152a:	ff 75 10             	push   0x10(%ebp)
47152d:	51                   	push   %ecx
47152e:	51                   	push   %ecx
47152f:	8b c4                	mov    %esp,%eax
471531:	ff 75 0c             	push   0xc(%ebp)
471534:	ff 75 08             	push   0x8(%ebp)
471537:	50                   	push   %eax
471538:	e8 03 ee ff ff       	call   0x470340
47153d:	83 c4 0c             	add    $0xc,%esp
471540:	ff 75 14             	push   0x14(%ebp)
471543:	e8 2e ee ff ff       	call   0x470376
471548:	83 c4 14             	add    $0x14,%esp
47154b:	8b e5                	mov    %ebp,%esp
47154d:	5d                   	pop    %ebp
47154e:	c3                   	ret
47154f:	8b ff                	mov    %edi,%edi
471551:	55                   	push   %ebp
471552:	8b ec                	mov    %esp,%ebp
471554:	51                   	push   %ecx
471555:	6a 01                	push   $0x1
471557:	ff 75 10             	push   0x10(%ebp)
47155a:	51                   	push   %ecx
47155b:	51                   	push   %ecx
47155c:	8b c4                	mov    %esp,%eax
47155e:	ff 75 0c             	push   0xc(%ebp)
471561:	ff 75 08             	push   0x8(%ebp)
471564:	50                   	push   %eax
471565:	e8 f1 ed ff ff       	call   0x47035b
47156a:	83 c4 0c             	add    $0xc,%esp
47156d:	ff 75 14             	push   0x14(%ebp)
471570:	e8 29 f0 ff ff       	call   0x47059e
471575:	83 c4 14             	add    $0x14,%esp
471578:	8b e5                	mov    %ebp,%esp
47157a:	5d                   	pop    %ebp
47157b:	c3                   	ret
47157c:	8b ff                	mov    %edi,%edi
47157e:	55                   	push   %ebp
47157f:	8b ec                	mov    %esp,%ebp
471581:	51                   	push   %ecx
471582:	6a 01                	push   $0x1
471584:	ff 75 10             	push   0x10(%ebp)
471587:	51                   	push   %ecx
471588:	51                   	push   %ecx
471589:	8b c4                	mov    %esp,%eax
47158b:	ff 75 0c             	push   0xc(%ebp)
47158e:	ff 75 08             	push   0x8(%ebp)
471591:	50                   	push   %eax
471592:	e8 a9 ed ff ff       	call   0x470340
471597:	83 c4 0c             	add    $0xc,%esp
47159a:	ff 75 14             	push   0x14(%ebp)
47159d:	e8 e1 f6 ff ff       	call   0x470c83
4715a2:	83 c4 14             	add    $0x14,%esp
4715a5:	8b e5                	mov    %ebp,%esp
4715a7:	5d                   	pop    %ebp
4715a8:	c3                   	ret
4715a9:	8b ff                	mov    %edi,%edi
4715ab:	55                   	push   %ebp
4715ac:	8b ec                	mov    %esp,%ebp
4715ae:	51                   	push   %ecx
4715af:	6a 01                	push   $0x1
4715b1:	ff 75 10             	push   0x10(%ebp)
4715b4:	51                   	push   %ecx
4715b5:	51                   	push   %ecx
4715b6:	8b c4                	mov    %esp,%eax
4715b8:	ff 75 0c             	push   0xc(%ebp)
4715bb:	ff 75 08             	push   0x8(%ebp)
4715be:	50                   	push   %eax
4715bf:	e8 97 ed ff ff       	call   0x47035b
4715c4:	83 c4 0c             	add    $0xc,%esp
4715c7:	ff 75 14             	push   0x14(%ebp)