4102b5:	83 c4 04             	add    $0x4,%esp
4102b8:	33 f6                	xor    %esi,%esi
4102ba:	85 c0                	test   %eax,%eax
4102bc:	0f 85 6e 04 00 00    	jne    0x410730
4102c2:	ff 74 24 50          	push   0x50(%esp)
4102c6:	e8 a1 0d 01 00       	call   0x42106c
4102cb:	83 c4 04             	add    $0x4,%esp
4102ce:	8b c3                	mov    %ebx,%eax
4102d0:	5f                   	pop    %edi
4102d1:	5e                   	pop    %esi
4102d2:	5b                   	pop    %ebx
4102d3:	8b e5                	mov    %ebp,%esp
4102d5:	5d                   	pop    %ebp
4102d6:	c2 14 00             	ret    $0x14
4102d9:	8b 4c 24 50          	mov    0x50(%esp),%ecx
4102dd:	8b 44 24 60          	mov    0x60(%esp),%eax
4102e1:	2b c1                	sub    %ecx,%eax
4102e3:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
4102ea:	00
4102eb:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4102ef:	8b 44 24 20          	mov    0x20(%esp),%eax
4102f3:	89 4c 24 38          	mov    %ecx,0x38(%esp)
4102f7:	eb 07                	jmp    0x410300
4102f9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
410300:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
410307:	33 f6                	xor    %esi,%esi
410309:	8b 44 24 28          	mov    0x28(%esp),%eax
41030d:	8b 48 04             	mov    0x4(%eax),%ecx
410310:	8b 04 11             	mov    (%ecx,%edx,1),%eax
410313:	66 39 70 08          	cmp    %si,0x8(%eax)
410317:	0f 84 2a 05 00 00    	je     0x410847
41031d:	8b 54 24 20          	mov    0x20(%esp),%edx
410321:	33 ff                	xor    %edi,%edi
410323:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
41032a:	00
41032b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
41032f:	8d 14 95 04 00 00 00 	lea    0x4(,%edx,4),%edx
410336:	eb 08                	jmp    0x410340
410338:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
41033f:	90                   	nop
410340:	8b 04 11             	mov    (%ecx,%edx,1),%eax
410343:	0f b7 40 08          	movzwl 0x8(%eax),%eax
410347:	66 83 f8 47          	cmp    $0x47,%ax
41034b:	0f 84 ff 04 00 00    	je     0x410850
410351:	66 83 f8 48          	cmp    $0x48,%ax
410355:	0f 84 09 04 00 00    	je     0x410764
41035b:	66 83 f8 40          	cmp    $0x40,%ax
41035f:	0f 85 06 04 00 00    	jne    0x41076b
410365:	85 ff                	test   %edi,%edi
410367:	0f 85 fe 03 00 00    	jne    0x41076b
41036d:	89 5c 24 14          	mov    %ebx,0x14(%esp)
410371:	8b 5c 24 10          	mov    0x10(%esp),%ebx
410375:	3b 5c 24 2c          	cmp    0x2c(%esp),%ebx
410379:	0f 8f 08 4b 03 00    	jg     0x444e87
41037f:	8b 54 24 38          	mov    0x38(%esp),%edx
410383:	8b 44 24 3c          	mov    0x3c(%esp),%eax
410387:	8b 04 10             	mov    (%eax,%edx,1),%eax
41038a:	80 38 00             	cmpb   $0x0,(%eax)
41038d:	0f 85 16 4a 03 00    	jne    0x444da9
410393:	8b 44 24 20          	mov    0x20(%esp),%eax
410397:	81 ce 00 02 00 00    	or     $0x200,%esi
41039d:	83 3d 80 72 4c 00 00 	cmpl   $0x0,0x4c7280
4103a4:	8b 12                	mov    (%edx),%edx
4103a6:	89 54 24 40          	mov    %edx,0x40(%esp)
4103aa:	8b 04 81             	mov    (%ecx,%eax,4),%eax
4103ad:	8b 38                	mov    (%eax),%edi
4103af:	0f 84 2b 4a 03 00    	je     0x444de0
4103b5:	80 3d 89 72 4c 00 00 	cmpb   $0x0,0x4c7289
4103bc:	0f 85 34 4a 03 00    	jne    0x444df6
4103c2:	8b 1d 84 72 4c 00    	mov    0x4c7284,%ebx
4103c8:	53                   	push   %ebx
4103c9:	57                   	push   %edi
4103ca:	89 5c 24 38          	mov    %ebx,0x38(%esp)
4103ce:	e8 cd 84 ff ff       	call   0x4088a0
4103d3:	84 c0                	test   %al,%al
4103d5:	0f 85 28 4a 03 00    	jne    0x444e03
4103db:	81 e6 00 ff 00 00    	and    $0xff00,%esi
4103e1:	6a 20                	push   $0x20
4103e3:	89 74 24 4c          	mov    %esi,0x4c(%esp)
4103e7:	e8 0a 0c 01 00       	call   0x420ff6
4103ec:	8b f0                	mov    %eax,%esi
4103ee:	83 c4 04             	add    $0x4,%esp
4103f1:	85 f6                	test   %esi,%esi
4103f3:	0f 84 64 04 00 00    	je     0x41085d
4103f9:	33 c9                	xor    %ecx,%ecx
4103fb:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
410402:	b8 08 00 00 00       	mov    $0x8,%eax
410407:	c7 46 08 08 00 00 00 	movl   $0x8,0x8(%esi)
41040e:	ba 02 00 00 00       	mov    $0x2,%edx
410413:	f7 e2                	mul    %edx
410415:	0f 90 c1             	seto   %cl
410418:	f7 d9                	neg    %ecx
41041a:	0b c8                	or     %eax,%ecx
41041c:	51                   	push   %ecx
41041d:	e8 d4 0b 01 00       	call   0x420ff6
410422:	83 c4 04             	add    $0x4,%esp
410425:	89 06                	mov    %eax,(%esi)
410427:	33 c9                	xor    %ecx,%ecx
410429:	66 89 08             	mov    %cx,(%eax)
41042c:	6a 04                	push   $0x4
41042e:	e8 c3 0b 01 00       	call   0x420ff6
410433:	83 c4 04             	add    $0x4,%esp
410436:	85 c0                	test   %eax,%eax
410438:	0f 84 18 04 00 00    	je     0x410856
41043e:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
410444:	89 46 0c             	mov    %eax,0xc(%esi)
410447:	3b f7                	cmp    %edi,%esi
410449:	74 3b                	je     0x410486
41044b:	8b 4e 0c             	mov    0xc(%esi),%ecx
41044e:	8b 01                	mov    (%ecx),%eax
410450:	83 f8 01             	cmp    $0x1,%eax
410453:	0f 8f cd 49 03 00    	jg     0x444e26
410459:	8b 5f 04             	mov    0x4(%edi),%ebx
41045c:	89 5e 04             	mov    %ebx,0x4(%esi)
41045f:	8d 43 01             	lea    0x1(%ebx),%eax
410462:	39 46 08             	cmp    %eax,0x8(%esi)
410465:	0f 82 db 49 03 00    	jb     0x444e46
41046b:	8b 46 04             	mov    0x4(%esi),%eax
41046e:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
410475:	50                   	push   %eax
410476:	ff 37                	push   (%edi)
410478:	ff 36                	push   (%esi)
41047a:	e8 01 0c 01 00       	call   0x421080
41047f:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
410483:	83 c4 0c             	add    $0xc,%esp
410486:	8b 44 24 48          	mov    0x48(%esp),%eax
41048a:	6a 10                	push   $0x10
41048c:	89 46 10             	mov    %eax,0x10(%esi)
41048f:	e8 62 0b 01 00       	call   0x420ff6
410494:	8b f8                	mov    %eax,%edi
410496:	83 c4 04             	add    $0x4,%esp
410499:	85 ff                	test   %edi,%edi
41049b:	0f 84 c3 03 00 00    	je     0x410864
4104a1:	ff 74 24 40          	push   0x40(%esp)
4104a5:	8b cf                	mov    %edi,%ecx
4104a7:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4104ae:	e8 0d 96 ff ff       	call   0x409ac0
4104b3:	89 7e 14             	mov    %edi,0x14(%esi)
4104b6:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
4104bd:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
4104c4:	ff 33                	push   (%ebx)
4104c6:	56                   	push   %esi
4104c7:	e8 f4 82 ff ff       	call   0x4087c0
4104cc:	8b 7c 24 14          	mov    0x14(%esp),%edi
4104d0:	89 03                	mov    %eax,(%ebx)
4104d2:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4104d6:	8b 44 24 20          	mov    0x20(%esp),%eax
4104da:	43                   	inc    %ebx
4104db:	83 44 24 38 04       	addl   $0x4,0x38(%esp)
4104e0:	40                   	inc    %eax
4104e1:	03 c7                	add    %edi,%eax
4104e3:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4104e7:	8b 7c 24 44          	mov    0x44(%esp),%edi
4104eb:	89 44 24 20          	mov    %eax,0x20(%esp)
4104ef:	3b 5f 14             	cmp    0x14(%edi),%ebx
4104f2:	0f 8e 08 fe ff ff    	jle    0x410300
4104f8:	e9 11 fb ff ff       	jmp    0x41000e
4104fd:	8d 49 00             	lea    0x0(%ecx),%ecx
410500:	3b d1                	cmp    %ecx,%edx
410502:	0f 83 96 fa ff ff    	jae    0x40ff9e
410508:	c1 e6 02             	shl    $0x2,%esi
41050b:	43                   	inc    %ebx
41050c:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
410510:	32 db                	xor    %bl,%bl
410512:	c7 44 24 40 00 00 00 	movl   $0x0,0x40(%esp)
410519:	00
41051a:	8b 04 37             	mov    (%edi,%esi,1),%eax
41051d:	66 83 78 08 00       	cmpw   $0x0,0x8(%eax)
410522:	0f 84 57 46 03 00    	je     0x444b7f
410528:	8b 7d 0c             	mov    0xc(%ebp),%edi
41052b:	8b 47 04             	mov    0x4(%edi),%eax
41052e:	8b 04 90             	mov    (%eax,%edx,4),%eax
410531:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
410536:	74 02                	je     0x41053a
410538:	32 db                	xor    %bl,%bl
41053a:	8b 44 24 48          	mov    0x48(%esp),%eax
41053e:	8b 74 24 64          	mov    0x64(%esp),%esi
410542:	3b f0                	cmp    %eax,%esi
410544:	0f 84 2d 01 00 00    	je     0x410677
41054a:	6a 01                	push   $0x1
41054c:	e8 a5 0a 01 00       	call   0x420ff6
410551:	83 c4 04             	add    $0x4,%esp
410554:	85 c0                	test   %eax,%eax
410556:	0f 84 d7 02 00 00    	je     0x410833
41055c:	88 18                	mov    %bl,(%eax)
41055e:	8b 4c 24 60          	mov    0x60(%esp),%ecx
410562:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
410565:	46                   	inc    %esi
410566:	8d 4c 24 70          	lea    0x70(%esp),%ecx
41056a:	89 74 24 64          	mov    %esi,0x64(%esp)
41056e:	e8 ad 94 ff ff       	call   0x409a20
410573:	8b 44 24 38          	mov    0x38(%esp),%eax
410577:	c7 44 24 7c 01 00 00 	movl   $0x1,0x7c(%esp)
41057e:	00
41057f:	c7 44 24 70 00 00 00 	movl   $0x0,0x70(%esp)
410586:	00
410587:	39 44 24 54          	cmp    %eax,0x54(%esp)
41058b:	0f 84 32 01 00 00    	je     0x4106c3
410591:	6a 10                	push   $0x10
410593:	e8 5e 0a 01 00       	call   0x420ff6
410598:	8b f0                	mov    %eax,%esi
41059a:	83 c4 04             	add    $0x4,%esp
41059d:	85 f6                	test   %esi,%esi
41059f:	0f 84 95 02 00 00    	je     0x41083a
4105a5:	8d 44 24 70          	lea    0x70(%esp),%eax
4105a9:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4105b0:	50                   	push   %eax
4105b1:	8b ce                	mov    %esi,%ecx
4105b3:	e8 08 95 ff ff       	call   0x409ac0
4105b8:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4105bc:	8b 54 24 50          	mov    0x50(%esp),%edx
4105c0:	8b 44 24 14          	mov    0x14(%esp),%eax
4105c4:	50                   	push   %eax
4105c5:	8d 44 24 28          	lea    0x28(%esp),%eax
4105c9:	89 34 8a             	mov    %esi,(%edx,%ecx,4)
4105cc:	41                   	inc    %ecx
4105cd:	84 db                	test   %bl,%bl
4105cf:	89 4c 24 58          	mov    %ecx,0x58(%esp)
4105d3:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4105d7:	0f 85 0f 46 03 00    	jne    0x444bec
4105dd:	ff 74 8a fc          	push   -0x4(%edx,%ecx,4)
4105e1:	8b cb                	mov    %ebx,%ecx
4105e3:	50                   	push   %eax
4105e4:	57                   	push   %edi
4105e5:	e8 16 9a ff ff       	call   0x40a000
4105ea:	85 c0                	test   %eax,%eax
4105ec:	0f 88 d0 49 03 00    	js     0x444fc2
4105f2:	8b 44 24 28          	mov    0x28(%esp),%eax
4105f6:	8b 74 24 10          	mov    0x10(%esp),%esi
4105fa:	46                   	inc    %esi
4105fb:	89 74 24 10          	mov    %esi,0x10(%esp)
4105ff:	8b 48 04             	mov    0x4(%eax),%ecx
410602:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
410605:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
41060a:	0f 84 83 01 00 00    	je     0x410793
410610:	8b 54 24 24          	mov    0x24(%esp),%edx
410614:	8b 4c 24 14          	mov    0x14(%esp),%ecx
410618:	3b d1                	cmp    %ecx,%edx
41061a:	0f 84 81 f9 ff ff    	je     0x40ffa1
410620:	8b 47 04             	mov    0x4(%edi),%eax
410623:	8b 04 90             	mov    (%eax,%edx,4),%eax
410626:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
41062b:	0f 85 05 46 03 00    	jne    0x444c36
410631:	8d 42 01             	lea    0x1(%edx),%eax
410634:	3b c1                	cmp    %ecx,%eax
410636:	0f 84 fa 45 03 00    	je     0x444c36
41063c:	8b d0                	mov    %eax,%edx
41063e:	8b 44 24 28          	mov    0x28(%esp),%eax
410642:	89 54 24 24          	mov    %edx,0x24(%esp)
410646:	8b 78 04             	mov    0x4(%eax),%edi
410649:	8b 04 b7             	mov    (%edi,%esi,4),%eax
41064c:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
410651:	75 05                	jne    0x410658
410653:	46                   	inc    %esi
410654:	89 74 24 10          	mov    %esi,0x10(%esp)
410658:	8b 44 24 30          	mov    0x30(%esp),%eax
41065c:	8b 5c 24 44          	mov    0x44(%esp),%ebx
410660:	40                   	inc    %eax
410661:	89 44 24 30          	mov    %eax,0x30(%esp)
410665:	3b 43 14             	cmp    0x14(%ebx),%eax
410668:	0f 8d 30 f9 ff ff    	jge    0x40ff9e
41066e:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
410672:	e9 89 fe ff ff       	jmp    0x410500
410677:	03 c0                	add    %eax,%eax
410679:	89 44 24 48          	mov    %eax,0x48(%esp)
41067d:	83 f8 08             	cmp    $0x8,%eax
410680:	73 09                	jae    0x41068b
410682:	b8 08 00 00 00       	mov    $0x8,%eax
410687:	89 44 24 48          	mov    %eax,0x48(%esp)
41068b:	33 c9                	xor    %ecx,%ecx
41068d:	89 44 24 68          	mov    %eax,0x68(%esp)
410691:	ba 04 00 00 00       	mov    $0x4,%edx
410696:	f7 e2                	mul    %edx
410698:	0f 90 c1             	seto   %cl
41069b:	f7 d9                	neg    %ecx
41069d:	0b c8                	or     %eax,%ecx
41069f:	51                   	push   %ecx
4106a0:	e8 51 09 01 00       	call   0x420ff6
4106a5:	8b f0                	mov    %eax,%esi
4106a7:	83 c4 04             	add    $0x4,%esp
4106aa:	8b 44 24 60          	mov    0x60(%esp),%eax
4106ae:	85 c0                	test   %eax,%eax
4106b0:	0f 85 17 01 00 00    	jne    0x4107cd
4106b6:	89 74 24 60          	mov    %esi,0x60(%esp)
4106ba:	8b 74 24 64          	mov    0x64(%esp),%esi
4106be:	e9 87 fe ff ff       	jmp    0x41054a
4106c3:	03 c0                	add    %eax,%eax
4106c5:	89 44 24 38          	mov    %eax,0x38(%esp)
4106c9:	83 f8 08             	cmp    $0x8,%eax
4106cc:	73 09                	jae    0x4106d7
4106ce:	b8 08 00 00 00       	mov    $0x8,%eax
4106d3:	89 44 24 38          	mov    %eax,0x38(%esp)
4106d7:	33 c9                	xor    %ecx,%ecx
4106d9:	89 44 24 58          	mov    %eax,0x58(%esp)
4106dd:	ba 04 00 00 00       	mov    $0x4,%edx
4106e2:	f7 e2                	mul    %edx
4106e4:	0f 90 c1             	seto   %cl
4106e7:	f7 d9                	neg    %ecx
4106e9:	0b c8                	or     %eax,%ecx
4106eb:	51                   	push   %ecx
4106ec:	e8 05 09 01 00       	call   0x420ff6
4106f1:	8b 54 24 54          	mov    0x54(%esp),%edx
4106f5:	83 c4 04             	add    $0x4,%esp
4106f8:	8b f0                	mov    %eax,%esi
4106fa:	85 d2                	test   %edx,%edx
4106fc:	0f 85 f6 00 00 00    	jne    0x4107f8
410702:	89 74 24 50          	mov    %esi,0x50(%esp)
410706:	e9 86 fe ff ff       	jmp    0x410591
41070b:	8b 5c 24 60          	mov    0x60(%esp),%ebx
41070f:	90                   	nop
410710:	ff 34 b3             	push   (%ebx,%esi,4)
410713:	e8 54 09 01 00       	call   0x42106c
410718:	c7 04 b3 00 00 00 00 	movl   $0x0,(%ebx,%esi,4)
41071f:	83 c4 04             	add    $0x4,%esp
410722:	46                   	inc    %esi
410723:	3b f7                	cmp    %edi,%esi
410725:	72 e9                	jb     0x410710
410727:	8b 5c 24 30          	mov    0x30(%esp),%ebx
41072b:	e9 78 fb ff ff       	jmp    0x4102a8
410730:	8b 4c 24 50          	mov    0x50(%esp),%ecx
410734:	8b 3c b1             	mov    (%ecx,%esi,4),%edi
410737:	85 ff                	test   %edi,%edi
410739:	74 18                	je     0x410753
41073b:	8b cf                	mov    %edi,%ecx
41073d:	e8 ae 96 ff ff       	call   0x409df0
410742:	57                   	push   %edi
410743:	e8 24 09 01 00       	call   0x42106c
410748:	8b 44 24 58          	mov    0x58(%esp),%eax
41074c:	83 c4 04             	add    $0x4,%esp
41074f:	8b 4c 24 50          	mov    0x50(%esp),%ecx
410753:	c7 04 b1 00 00 00 00 	movl   $0x0,(%ecx,%esi,4)
41075a:	46                   	inc    %esi
41075b:	3b f0                	cmp    %eax,%esi
41075d:	72 d5                	jb     0x410734
41075f:	e9 5e fb ff ff       	jmp    0x4102c2
410764:	4f                   	dec    %edi
410765:	0f 88 02 fc ff ff    	js     0x41036d
41076b:	43                   	inc    %ebx
41076c:	83 c2 04             	add    $0x4,%edx
41076f:	e9 cc fb ff ff       	jmp    0x410340
410774:	8b 75 14             	mov    0x14(%ebp),%esi
410777:	8b ce                	mov    %esi,%ecx
410779:	c6 00 00             	movb   $0x0,(%eax)
41077c:	e8 9f 92 ff ff       	call   0x409a20
410781:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
410788:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41078e:	e9 e3 f9 ff ff       	jmp    0x410176
410793:	46                   	inc    %esi
410794:	33 d2                	xor    %edx,%edx
410796:	eb 08                	jmp    0x4107a0