470317:	2b c6                	sub    %esi,%eax
470319:	2b 45 f8             	sub    -0x8(%ebp),%eax
47031c:	03 45 f0             	add    -0x10(%ebp),%eax
47031f:	03 45 10             	add    0x10(%ebp),%eax
470322:	89 45 0c             	mov    %eax,0xc(%ebp)
470325:	eb 19                	jmp    0x470340
470327:	0f bf b7 8c 00 00 00 	movswl 0x8c(%edi),%esi
47032e:	2b 75 0c             	sub    0xc(%ebp),%esi
470331:	0f bf 87 88 00 00 00 	movswl 0x88(%edi),%eax
470338:	2b 75 f8             	sub    -0x8(%ebp),%esi
47033b:	03 f0                	add    %eax,%esi
47033d:	03 75 10             	add    0x10(%ebp),%esi
470340:	8b c2                	mov    %edx,%eax
470342:	83 e0 20             	and    $0x20,%eax
470345:	74 07                	je     0x47034e
470347:	0f bf 8f 8a 00 00 00 	movswl 0x8a(%edi),%ecx
47034e:	f6 c2 40             	test   $0x40,%dl
470351:	74 30                	je     0x470383
470353:	66 85 c0             	test   %ax,%ax
470356:	0f bf 87 8a 00 00 00 	movswl 0x8a(%edi),%eax
47035d:	74 13                	je     0x470372
47035f:	0f bf 9f 8e 00 00 00 	movswl 0x8e(%edi),%ebx
470366:	2b d9                	sub    %ecx,%ebx
470368:	2b 5d fc             	sub    -0x4(%ebp),%ebx
47036b:	03 d8                	add    %eax,%ebx
47036d:	03 5d 14             	add    0x14(%ebp),%ebx
470370:	eb 11                	jmp    0x470383
470372:	0f bf 8f 8e 00 00 00 	movswl 0x8e(%edi),%ecx
470379:	2b cb                	sub    %ebx,%ecx
47037b:	2b 4d fc             	sub    -0x4(%ebp),%ecx
47037e:	03 c8                	add    %eax,%ecx
470380:	03 4d 14             	add    0x14(%ebp),%ecx
470383:	6a 00                	push   $0x0
470385:	53                   	push   %ebx
470386:	ff 75 0c             	push   0xc(%ebp)
470389:	51                   	push   %ecx
47038a:	56                   	push   %esi
47038b:	ff 37                	push   (%edi)
47038d:	ff 15 e8 d6 48 00    	call   *0x48d6e8
470393:	8a 87 90 00 00 00    	mov    0x90(%edi),%al
470399:	84 c0                	test   %al,%al
47039b:	75 49                	jne    0x4703e6
47039d:	68 ff ff 00 00       	push   $0xffff
4703a2:	6a 00                	push   $0x0
4703a4:	68 42 01 00 00       	push   $0x142
4703a9:	ff 37                	push   (%edi)
4703ab:	ff 15 70 d6 48 00    	call   *0x48d670
4703b1:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4703b4:	8b 75 f8             	mov    -0x8(%ebp),%esi
4703b7:	8b 55 10             	mov    0x10(%ebp),%edx
4703ba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4703bd:	8b 7d 08             	mov    0x8(%ebp),%edi
4703c0:	47                   	inc    %edi
4703c1:	89 7d 08             	mov    %edi,0x8(%ebp)
4703c4:	3b 3d ac 16 4c 00    	cmp    0x4c16ac,%edi
4703ca:	0f 8e ed fd ff ff    	jle    0x4701bd
4703d0:	6a 01                	push   $0x1
4703d2:	6a 00                	push   $0x0
4703d4:	ff 33                	push   (%ebx)
4703d6:	ff 15 40 d6 48 00    	call   *0x48d640
4703dc:	c6 83 84 01 00 00 01 	movb   $0x1,0x184(%ebx)
4703e3:	5f                   	pop    %edi
4703e4:	eb 60                	jmp    0x470446
4703e6:	3c 16                	cmp    $0x16,%al
4703e8:	75 c7                	jne    0x4703b1
4703ea:	f6 87 92 00 00 00 20 	testb  $0x20,0x92(%edi)
4703f1:	75 be                	jne    0x4703b1
4703f3:	6a 00                	push   $0x0
4703f5:	ff 77 34             	push   0x34(%edi)
4703f8:	68 69 04 00 00       	push   $0x469
4703fd:	ff 37                	push   (%edi)
4703ff:	ff 15 70 d6 48 00    	call   *0x48d670
470405:	8a 87 93 00 00 00    	mov    0x93(%edi),%al
47040b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
47040e:	3c ff                	cmp    $0xff,%al
470410:	74 a2                	je     0x4703b4
470412:	0f b6 c0             	movzbl %al,%eax
470415:	3b 83 90 01 00 00    	cmp    0x190(%ebx),%eax
47041b:	74 97                	je     0x4703b4
47041d:	6a 00                	push   $0x0
47041f:	ff 37                	push   (%edi)
470421:	ff 15 04 d7 48 00    	call   *0x48d704
470427:	eb 8b                	jmp    0x4703b4
470429:	8b 4d 14             	mov    0x14(%ebp),%ecx
47042c:	0f b7 c9             	movzwl %cx,%ecx
47042f:	0f b7 c2             	movzwl %dx,%eax
470432:	c1 e1 10             	shl    $0x10,%ecx
470435:	0b c8                	or     %eax,%ecx
470437:	51                   	push   %ecx
470438:	ff 75 0c             	push   0xc(%ebp)
47043b:	6a 05                	push   $0x5
47043d:	ff 75 08             	push   0x8(%ebp)
470440:	ff 15 64 d5 48 00    	call   *0x48d564
470446:	5e                   	pop    %esi
470447:	5b                   	pop    %ebx
470448:	c9                   	leave
470449:	c2 10 00             	ret    $0x10
47044c:	55                   	push   %ebp
47044d:	8b ec                	mov    %esp,%ebp
47044f:	56                   	push   %esi
470450:	ff 75 08             	push   0x8(%ebp)
470453:	be 28 16 4c 00       	mov    $0x4c1628,%esi
470458:	8b ce                	mov    %esi,%ecx
47045a:	e8 ef ae fa ff       	call   0x41b34e
47045f:	8b 0d 88 16 4c 00    	mov    0x4c1688,%ecx
470465:	8b 04 81             	mov    (%ecx,%eax,4),%eax
470468:	8b 10                	mov    (%eax),%edx
47046a:	8b 45 0c             	mov    0xc(%ebp),%eax
47046d:	25 f0 ff 00 00       	and    $0xfff0,%eax
470472:	2d 00 f0 00 00       	sub    $0xf000,%eax
470477:	74 5b                	je     0x4704d4
470479:	83 e8 20             	sub    $0x20,%eax
47047c:	74 38                	je     0x4704b6
47047e:	83 e8 10             	sub    $0x10,%eax
470481:	74 2a                	je     0x4704ad
470483:	83 e8 30             	sub    $0x30,%eax
470486:	74 15                	je     0x47049d
470488:	2d c0 00 00 00       	sub    $0xc0,%eax
47048d:	75 4c                	jne    0x4704db
47048f:	50                   	push   %eax
470490:	50                   	push   %eax
470491:	52                   	push   %edx
470492:	6a fb                	push   $0xfffffffb
470494:	8b ce                	mov    %esi,%ecx
470496:	e8 c1 89 ff ff       	call   0x468e5c
47049b:	eb 2c                	jmp    0x4704c9
47049d:	6a 00                	push   $0x0
47049f:	6a 00                	push   $0x0
4704a1:	52                   	push   %edx
4704a2:	6a fd                	push   $0xfffffffd
4704a4:	8b ce                	mov    %esi,%ecx
4704a6:	e8 b1 89 ff ff       	call   0x468e5c
4704ab:	eb 4d                	jmp    0x4704fa
4704ad:	6a 00                	push   $0x0
4704af:	6a 00                	push   $0x0
4704b1:	52                   	push   %edx
4704b2:	6a fa                	push   $0xfffffffa
4704b4:	eb de                	jmp    0x470494
4704b6:	6a 00                	push   $0x0
4704b8:	6a 00                	push   $0x0
4704ba:	52                   	push   %edx
4704bb:	6a fc                	push   $0xfffffffc
4704bd:	8b ce                	mov    %esi,%ecx
4704bf:	e8 98 89 ff ff       	call   0x468e5c
4704c4:	e8 ab d4 ff ff       	call   0x46d974
4704c9:	f6 05 38 16 4c 00 01 	testb  $0x1,0x4c1638
4704d0:	75 28                	jne    0x4704fa
4704d2:	eb 07                	jmp    0x4704db
4704d4:	c6 82 84 01 00 00 01 	movb   $0x1,0x184(%edx)
4704db:	0f b7 4d 14          	movzwl 0x14(%ebp),%ecx
4704df:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
4704e3:	c1 e1 10             	shl    $0x10,%ecx
4704e6:	0b c8                	or     %eax,%ecx
4704e8:	51                   	push   %ecx
4704e9:	ff 75 0c             	push   0xc(%ebp)
4704ec:	68 12 01 00 00       	push   $0x112
4704f1:	ff 75 08             	push   0x8(%ebp)
4704f4:	ff 15 64 d5 48 00    	call   *0x48d564
4704fa:	5e                   	pop    %esi
4704fb:	5d                   	pop    %ebp
4704fc:	c2 10 00             	ret    $0x10
4704ff:	55                   	push   %ebp
470500:	8b ec                	mov    %esp,%ebp
470502:	51                   	push   %ecx
470503:	51                   	push   %ecx
470504:	53                   	push   %ebx
470505:	56                   	push   %esi
470506:	0f b7 31             	movzwl (%ecx),%esi
470509:	57                   	push   %edi
47050a:	8b fa                	mov    %edx,%edi
47050c:	66 85 f6             	test   %si,%si
47050f:	0f 84 2e 01 00 00    	je     0x470643
470515:	bb 95 00 00 00       	mov    $0x95,%ebx
47051a:	c7 45 fc 10 00 00 00 	movl   $0x10,-0x4(%ebp)
470521:	c7 45 f8 0f 00 00 00 	movl   $0xf,-0x8(%ebp)
470528:	66 83 fe 70          	cmp    $0x70,%si
47052c:	75 09                	jne    0x470537
47052e:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
470532:	e9 fd 00 00 00       	jmp    0x470634
470537:	66 83 fe 7c          	cmp    $0x7c,%si
47053b:	75 12                	jne    0x47054f
47053d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
470541:	0f 8c 03 01 00 00    	jl     0x47064a
470547:	83 c1 04             	add    $0x4,%ecx
47054a:	e9 e8 00 00 00       	jmp    0x470637
47054f:	b8 85 00 00 00       	mov    $0x85,%eax
470554:	66 3b f0             	cmp    %ax,%si
470557:	0f 84 c4 00 00 00    	je     0x470621
47055d:	83 c0 05             	add    $0x5,%eax
470560:	66 3b f0             	cmp    %ax,%si
470563:	0f 84 b8 00 00 00    	je     0x470621
470569:	b8 86 00 00 00       	mov    $0x86,%eax
47056e:	66 3b f0             	cmp    %ax,%si
470571:	0f 84 aa 00 00 00    	je     0x470621
470577:	83 c0 05             	add    $0x5,%eax
47057a:	66 3b f0             	cmp    %ax,%si
47057d:	0f 84 9e 00 00 00    	je     0x470621
470583:	0f b7 d6             	movzwl %si,%edx
470586:	3b d3                	cmp    %ebx,%edx
470588:	7f 44                	jg     0x4705ce
47058a:	74 53                	je     0x4705df
47058c:	83 fa 55             	cmp    $0x55,%edx
47058f:	7c 55                	jl     0x4705e6
470591:	83 fa 5a             	cmp    $0x5a,%edx
470594:	7e 1f                	jle    0x4705b5
470596:	83 fa 5d             	cmp    $0x5d,%edx
470599:	7e 0a                	jle    0x4705a5
47059b:	83 fa 60             	cmp    $0x60,%edx
47059e:	7e 15                	jle    0x4705b5
4705a0:	83 fa 61             	cmp    $0x61,%edx
4705a3:	75 41                	jne    0x4705e6
4705a5:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
4705a9:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4705ad:	74 1a                	je     0x4705c9
4705af:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
4705b3:	eb 12                	jmp    0x4705c7
4705b5:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
4705b9:	6a 10                	push   $0x10
4705bb:	5e                   	pop    %esi
4705bc:	66 3b c6             	cmp    %si,%ax
4705bf:	74 08                	je     0x4705c9
4705c1:	6a 0f                	push   $0xf
4705c3:	5e                   	pop    %esi
4705c4:	66 3b c6             	cmp    %si,%ax
4705c7:	75 1d                	jne    0x4705e6
4705c9:	83 c1 04             	add    $0x4,%ecx
4705cc:	eb 18                	jmp    0x4705e6
4705ce:	8b c2                	mov    %edx,%eax
4705d0:	2d 97 00 00 00       	sub    $0x97,%eax
4705d5:	74 08                	je     0x4705df
4705d7:	48                   	dec    %eax
4705d8:	48                   	dec    %eax
4705d9:	74 04                	je     0x4705df
4705db:	48                   	dec    %eax
4705dc:	48                   	dec    %eax
4705dd:	75 07                	jne    0x4705e6
4705df:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
4705e3:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
4705e6:	0f b6 82 60 e5 49 00 	movzbl 0x49e560(%edx),%eax
4705ed:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
4705f0:	85 ff                	test   %edi,%edi
4705f2:	74 43                	je     0x470637
4705f4:	83 fa 1d             	cmp    $0x1d,%edx
4705f7:	7c 3e                	jl     0x470637
4705f9:	83 fa 1e             	cmp    $0x1e,%edx
4705fc:	7e 08                	jle    0x470606
4705fe:	8d 42 df             	lea    -0x21(%edx),%eax
470601:	83 f8 19             	cmp    $0x19,%eax
470604:	77 31                	ja     0x470637
470606:	66 8b 41 fe          	mov    -0x2(%ecx),%ax
47060a:	ba 00 fc 00 00       	mov    $0xfc00,%edx
47060f:	66 23 c2             	and    %dx,%ax
470612:	ba 00 d8 00 00       	mov    $0xd800,%edx
470617:	66 3b c2             	cmp    %dx,%ax
47061a:	75 1b                	jne    0x470637
47061c:	83 c1 02             	add    $0x2,%ecx
47061f:	eb 16                	jmp    0x470637
470621:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
470625:	3b 45 08             	cmp    0x8(%ebp),%eax
470628:	74 20                	je     0x47064a
47062a:	0f b7 c6             	movzwl %si,%eax
47062d:	0f b6 80 60 e5 49 00 	movzbl 0x49e560(%eax),%eax
470634:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
470637:	0f b7 31             	movzwl (%ecx),%esi
47063a:	66 85 f6             	test   %si,%si
47063d:	0f 85 e5 fe ff ff    	jne    0x470528
470643:	33 c0                	xor    %eax,%eax
470645:	5f                   	pop    %edi
470646:	5e                   	pop    %esi
470647:	5b                   	pop    %ebx
470648:	c9                   	leave
470649:	c3                   	ret
47064a:	8b c1                	mov    %ecx,%eax
47064c:	eb f7                	jmp    0x470645
47064e:	55                   	push   %ebp
47064f:	8b ec                	mov    %esp,%ebp
470651:	51                   	push   %ecx
470652:	51                   	push   %ecx
470653:	53                   	push   %ebx
470654:	56                   	push   %esi
470655:	8b 75 10             	mov    0x10(%ebp),%esi
470658:	33 db                	xor    %ebx,%ebx
47065a:	8b 06                	mov    (%esi),%eax
47065c:	89 55 fc             	mov    %edx,-0x4(%ebp)
47065f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
470662:	83 f8 ff             	cmp    $0xffffffff,%eax
470665:	73 41                	jae    0x4706a8
470667:	57                   	push   %edi
470668:	33 ff                	xor    %edi,%edi
47066a:	3b 45 14             	cmp    0x14(%ebp),%eax
47066d:	74 2b                	je     0x47069a
47066f:	8d 56 04             	lea    0x4(%esi),%edx
470672:	8d 48 01             	lea    0x1(%eax),%ecx
470675:	eb 05                	jmp    0x47067c
470677:	47                   	inc    %edi
470678:	8d 52 04             	lea    0x4(%edx),%edx
47067b:	41                   	inc    %ecx
47067c:	39 0a                	cmp    %ecx,(%edx)
47067e:	74 f7                	je     0x470677
470680:	ff 34 be             	push   (%esi,%edi,4)
470683:	8b 55 fc             	mov    -0x4(%ebp),%edx
470686:	8b 4d f8             	mov    -0x8(%ebp),%ecx
470689:	50                   	push   %eax
47068a:	ff 75 0c             	push   0xc(%ebp)
47068d:	ff 75 08             	push   0x8(%ebp)
470690:	e8 e8 81 f9 ff       	call   0x40887d
470695:	83 c4 10             	add    $0x10,%esp
470698:	03 d8                	add    %eax,%ebx
47069a:	8d 34 be             	lea    (%esi,%edi,4),%esi
47069d:	83 c6 04             	add    $0x4,%esi
4706a0:	8b 06                	mov    (%esi),%eax
4706a2:	83 f8 ff             	cmp    $0xffffffff,%eax
4706a5:	72 c1                	jb     0x470668
4706a7:	5f                   	pop    %edi
4706a8:	5e                   	pop    %esi
4706a9:	8b c3                	mov    %ebx,%eax
4706ab:	5b                   	pop    %ebx
4706ac:	c9                   	leave
4706ad:	c3                   	ret
4706ae:	55                   	push   %ebp
4706af:	8b ec                	mov    %esp,%ebp
4706b1:	51                   	push   %ecx
4706b2:	51                   	push   %ecx
4706b3:	53                   	push   %ebx
4706b4:	8b 5d 08             	mov    0x8(%ebp),%ebx
4706b7:	56                   	push   %esi
4706b8:	57                   	push   %edi
4706b9:	8b f9                	mov    %ecx,%edi
4706bb:	33 c0                	xor    %eax,%eax
4706bd:	8b 77 2c             	mov    0x2c(%edi),%esi
4706c0:	89 55 f8             	mov    %edx,-0x8(%ebp)
4706c3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4706c6:	39 47 30             	cmp    %eax,0x30(%edi)
4706c9:	7e 58                	jle    0x470723
4706cb:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
4706ce:	50                   	push   %eax
4706cf:	8d 46 02             	lea    0x2(%esi),%eax
4706d2:	50                   	push   %eax
4706d3:	ff 75 f8             	push   -0x8(%ebp)
4706d6:	e8 88 ee fa ff       	call   0x41f563
4706db:	83 c4 0c             	add    $0xc,%esp
4706de:	85 c0                	test   %eax,%eax
4706e0:	75 0c                	jne    0x4706ee
4706e2:	66 39 44 5e 02       	cmp    %ax,0x2(%esi,%ebx,2)
4706e7:	74 07                	je     0x4706f0
4706e9:	83 c8 ff             	or     $0xffffffff,%eax
4706ec:	85 c0                	test   %eax,%eax
4706ee:	78 17                	js     0x470707
4706f0:	8b 47 34             	mov    0x34(%edi),%eax
4706f3:	8d 34 46             	lea    (%esi,%eax,2),%esi