4143b3:	e9 59 01 00 00       	jmp    0x414511
4143b8:	8b 35 ec 70 41 00    	mov    0x4170ec,%esi
4143be:	68 8c 97 41 00       	push   $0x41978c
4143c3:	57                   	push   %edi
4143c4:	ff d6                	call   *%esi
4143c6:	3b c3                	cmp    %ebx,%eax
4143c8:	74 e7                	je     0x4143b1
4143ca:	50                   	push   %eax
4143cb:	e8 06 7f ff ff       	call   0x40c2d6
4143d0:	c7 04 24 7c 97 41 00 	movl   $0x41977c,(%esp)
4143d7:	57                   	push   %edi
4143d8:	a3 d4 e3 41 00       	mov    %eax,0x41e3d4
4143dd:	ff d6                	call   *%esi
4143df:	50                   	push   %eax
4143e0:	e8 f1 7e ff ff       	call   0x40c2d6
4143e5:	c7 04 24 68 97 41 00 	movl   $0x419768,(%esp)
4143ec:	57                   	push   %edi
4143ed:	a3 d8 e3 41 00       	mov    %eax,0x41e3d8
4143f2:	ff d6                	call   *%esi
4143f4:	50                   	push   %eax
4143f5:	e8 dc 7e ff ff       	call   0x40c2d6
4143fa:	a3 dc e3 41 00       	mov    %eax,0x41e3dc
4143ff:	8d 45 f8             	lea    -0x8(%ebp),%eax
414402:	50                   	push   %eax
414403:	e8 e7 94 ff ff       	call   0x40d8ef
414408:	85 c0                	test   %eax,%eax
41440a:	59                   	pop    %ecx
41440b:	59                   	pop    %ecx
41440c:	74 0d                	je     0x41441b
41440e:	53                   	push   %ebx
41440f:	53                   	push   %ebx
414410:	53                   	push   %ebx
414411:	53                   	push   %ebx
414412:	53                   	push   %ebx
414413:	e8 3c 31 ff ff       	call   0x407554
414418:	83 c4 14             	add    $0x14,%esp
41441b:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
41441f:	75 2c                	jne    0x41444d
414421:	68 4c 97 41 00       	push   $0x41974c
414426:	57                   	push   %edi
414427:	ff d6                	call   *%esi
414429:	50                   	push   %eax
41442a:	e8 a7 7e ff ff       	call   0x40c2d6
41442f:	3b c3                	cmp    %ebx,%eax
414431:	59                   	pop    %ecx
414432:	a3 e4 e3 41 00       	mov    %eax,0x41e3e4
414437:	74 14                	je     0x41444d
414439:	68 34 97 41 00       	push   $0x419734
41443e:	57                   	push   %edi
41443f:	ff d6                	call   *%esi
414441:	50                   	push   %eax
414442:	e8 8f 7e ff ff       	call   0x40c2d6
414447:	59                   	pop    %ecx
414448:	a3 e0 e3 41 00       	mov    %eax,0x41e3e0
41444d:	a1 e0 e3 41 00       	mov    0x41e3e0,%eax
414452:	8b 75 f0             	mov    -0x10(%ebp),%esi
414455:	3b c6                	cmp    %esi,%eax
414457:	74 6d                	je     0x4144c6
414459:	39 35 e4 e3 41 00    	cmp    %esi,0x41e3e4
41445f:	74 65                	je     0x4144c6
414461:	50                   	push   %eax
414462:	e8 db 7e ff ff       	call   0x40c342
414467:	59                   	pop    %ecx
414468:	ff d0                	call   *%eax
41446a:	3b c3                	cmp    %ebx,%eax
41446c:	74 25                	je     0x414493
41446e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
414471:	51                   	push   %ecx
414472:	6a 0c                	push   $0xc
414474:	8d 4d e0             	lea    -0x20(%ebp),%ecx
414477:	51                   	push   %ecx
414478:	6a 01                	push   $0x1
41447a:	50                   	push   %eax
41447b:	ff 35 e4 e3 41 00    	push   0x41e3e4
414481:	e8 bc 7e ff ff       	call   0x40c342
414486:	59                   	pop    %ecx
414487:	ff d0                	call   *%eax
414489:	85 c0                	test   %eax,%eax
41448b:	74 06                	je     0x414493
41448d:	f6 45 e8 01          	testb  $0x1,-0x18(%ebp)
414491:	75 33                	jne    0x4144c6
414493:	8d 45 f4             	lea    -0xc(%ebp),%eax
414496:	50                   	push   %eax
414497:	e8 8a 94 ff ff       	call   0x40d926
41449c:	85 c0                	test   %eax,%eax
41449e:	59                   	pop    %ecx
41449f:	74 0d                	je     0x4144ae
4144a1:	53                   	push   %ebx
4144a2:	53                   	push   %ebx
4144a3:	53                   	push   %ebx
4144a4:	53                   	push   %ebx
4144a5:	53                   	push   %ebx
4144a6:	e8 a9 30 ff ff       	call   0x407554
4144ab:	83 c4 14             	add    $0x14,%esp
4144ae:	83 7d f4 04          	cmpl   $0x4,-0xc(%ebp)
4144b2:	72 09                	jb     0x4144bd
4144b4:	81 4d 10 00 00 20 00 	orl    $0x200000,0x10(%ebp)
4144bb:	eb 3a                	jmp    0x4144f7
4144bd:	81 4d 10 00 00 04 00 	orl    $0x40000,0x10(%ebp)
4144c4:	eb 31                	jmp    0x4144f7
4144c6:	a1 d8 e3 41 00       	mov    0x41e3d8,%eax
4144cb:	3b c6                	cmp    %esi,%eax
4144cd:	74 28                	je     0x4144f7
4144cf:	50                   	push   %eax
4144d0:	e8 6d 7e ff ff       	call   0x40c342
4144d5:	59                   	pop    %ecx
4144d6:	ff d0                	call   *%eax
4144d8:	3b c3                	cmp    %ebx,%eax
4144da:	89 45 fc             	mov    %eax,-0x4(%ebp)
4144dd:	74 18                	je     0x4144f7
4144df:	a1 dc e3 41 00       	mov    0x41e3dc,%eax
4144e4:	3b c6                	cmp    %esi,%eax
4144e6:	74 0f                	je     0x4144f7
4144e8:	ff 75 fc             	push   -0x4(%ebp)
4144eb:	50                   	push   %eax
4144ec:	e8 51 7e ff ff       	call   0x40c342
4144f1:	59                   	pop    %ecx
4144f2:	ff d0                	call   *%eax
4144f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4144f7:	ff 75 10             	push   0x10(%ebp)
4144fa:	ff 75 0c             	push   0xc(%ebp)
4144fd:	ff 75 08             	push   0x8(%ebp)
414500:	ff 75 fc             	push   -0x4(%ebp)
414503:	ff 35 d4 e3 41 00    	push   0x41e3d4
414509:	e8 34 7e ff ff       	call   0x40c342
41450e:	59                   	pop    %ecx
41450f:	ff d0                	call   *%eax
414511:	5f                   	pop    %edi
414512:	5e                   	pop    %esi
414513:	5b                   	pop    %ebx
414514:	c9                   	leave
414515:	c3                   	ret
414516:	8b 4c 24 04          	mov    0x4(%esp),%ecx
41451a:	56                   	push   %esi
41451b:	33 f6                	xor    %esi,%esi
41451d:	3b ce                	cmp    %esi,%ecx
41451f:	7c 1e                	jl     0x41453f
414521:	83 f9 02             	cmp    $0x2,%ecx
414524:	7e 0c                	jle    0x414532
414526:	83 f9 03             	cmp    $0x3,%ecx
414529:	75 14                	jne    0x41453f
41452b:	a1 f0 d9 41 00       	mov    0x41d9f0,%eax
414530:	5e                   	pop    %esi
414531:	c3                   	ret
414532:	a1 f0 d9 41 00       	mov    0x41d9f0,%eax
414537:	89 0d f0 d9 41 00    	mov    %ecx,0x41d9f0
41453d:	5e                   	pop    %esi
41453e:	c3                   	ret
41453f:	e8 b6 4e ff ff       	call   0x4093fa
414544:	56                   	push   %esi
414545:	56                   	push   %esi
414546:	56                   	push   %esi
414547:	56                   	push   %esi
414548:	56                   	push   %esi
414549:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41454f:	e8 fc 30 ff ff       	call   0x407650
414554:	83 c4 14             	add    $0x14,%esp
414557:	83 c8 ff             	or     $0xffffffff,%eax
41455a:	5e                   	pop    %esi
41455b:	c3                   	ret
41455c:	55                   	push   %ebp
41455d:	8b ec                	mov    %esp,%ebp
41455f:	83 ec 10             	sub    $0x10,%esp
414562:	ff 75 08             	push   0x8(%ebp)
414565:	8d 4d f0             	lea    -0x10(%ebp),%ecx
414568:	e8 57 44 ff ff       	call   0x4089c4
41456d:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
414571:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414574:	8a 55 14             	mov    0x14(%ebp),%dl
414577:	84 54 01 1d          	test   %dl,0x1d(%ecx,%eax,1)
41457b:	75 1e                	jne    0x41459b
41457d:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
414581:	74 12                	je     0x414595
414583:	8b 4d f0             	mov    -0x10(%ebp),%ecx
414586:	8b 89 c8 00 00 00    	mov    0xc8(%ecx),%ecx
41458c:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
414590:	23 45 10             	and    0x10(%ebp),%eax
414593:	eb 02                	jmp    0x414597
414595:	33 c0                	xor    %eax,%eax
414597:	85 c0                	test   %eax,%eax
414599:	74 03                	je     0x41459e
41459b:	33 c0                	xor    %eax,%eax
41459d:	40                   	inc    %eax
41459e:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4145a2:	74 07                	je     0x4145ab
4145a4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4145a7:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4145ab:	c9                   	leave
4145ac:	c3                   	ret
4145ad:	6a 04                	push   $0x4
4145af:	6a 00                	push   $0x0
4145b1:	ff 74 24 0c          	push   0xc(%esp)
4145b5:	6a 00                	push   $0x0
4145b7:	e8 a0 ff ff ff       	call   0x41455c
4145bc:	83 c4 10             	add    $0x10,%esp
4145bf:	c3                   	ret
4145c0:	55                   	push   %ebp
4145c1:	8b ec                	mov    %esp,%ebp
4145c3:	83 ec 1c             	sub    $0x1c,%esp
4145c6:	8b 55 10             	mov    0x10(%ebp),%edx
4145c9:	56                   	push   %esi
4145ca:	8b 75 08             	mov    0x8(%ebp),%esi
4145cd:	6a fe                	push   $0xfffffffe
4145cf:	58                   	pop    %eax
4145d0:	3b f0                	cmp    %eax,%esi
4145d2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4145d5:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4145d8:	75 1b                	jne    0x4145f5
4145da:	e8 2e 4e ff ff       	call   0x40940d
4145df:	83 20 00             	andl   $0x0,(%eax)
4145e2:	e8 13 4e ff ff       	call   0x4093fa
4145e7:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4145ed:	83 c8 ff             	or     $0xffffffff,%eax
4145f0:	e9 6a 05 00 00       	jmp    0x414b5f
4145f5:	57                   	push   %edi
4145f6:	33 ff                	xor    %edi,%edi
4145f8:	3b f7                	cmp    %edi,%esi
4145fa:	7c 08                	jl     0x414604
4145fc:	3b 35 b4 e4 41 00    	cmp    0x41e4b4,%esi
414602:	72 27                	jb     0x41462b
414604:	e8 04 4e ff ff       	call   0x40940d
414609:	89 38                	mov    %edi,(%eax)
41460b:	e8 ea 4d ff ff       	call   0x4093fa
414610:	57                   	push   %edi
414611:	57                   	push   %edi
414612:	57                   	push   %edi
414613:	57                   	push   %edi
414614:	57                   	push   %edi
414615:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41461b:	e8 30 30 ff ff       	call   0x407650
414620:	83 c4 14             	add    $0x14,%esp
414623:	83 c8 ff             	or     $0xffffffff,%eax
414626:	e9 33 05 00 00       	jmp    0x414b5e
41462b:	8b c6                	mov    %esi,%eax
41462d:	83 e6 1f             	and    $0x1f,%esi
414630:	6b f6 28             	imul   $0x28,%esi,%esi
414633:	c1 f8 05             	sar    $0x5,%eax
414636:	53                   	push   %ebx
414637:	8d 1c 85 c0 e4 41 00 	lea    0x41e4c0(,%eax,4),%ebx
41463e:	8b 03                	mov    (%ebx),%eax
414640:	03 c6                	add    %esi,%eax
414642:	8a 48 04             	mov    0x4(%eax),%cl
414645:	f6 c1 01             	test   $0x1,%cl
414648:	75 17                	jne    0x414661
41464a:	e8 be 4d ff ff       	call   0x40940d
41464f:	89 38                	mov    %edi,(%eax)
414651:	e8 a4 4d ff ff       	call   0x4093fa
414656:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41465c:	e9 47 01 00 00       	jmp    0x4147a8
414661:	3b d7                	cmp    %edi,%edx
414663:	89 7d f0             	mov    %edi,-0x10(%ebp)
414666:	0f 84 ef 04 00 00    	je     0x414b5b
41466c:	f6 c1 02             	test   $0x2,%cl
41466f:	0f 85 e6 04 00 00    	jne    0x414b5b
414675:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414678:	3b cf                	cmp    %edi,%ecx
41467a:	0f 84 16 01 00 00    	je     0x414796
414680:	8a 40 24             	mov    0x24(%eax),%al
414683:	02 c0                	add    %al,%al
414685:	d0 f8                	sar    $1,%al
414687:	88 45 fe             	mov    %al,-0x2(%ebp)
41468a:	0f be c0             	movsbl %al,%eax
41468d:	48                   	dec    %eax
41468e:	0f 84 fa 00 00 00    	je     0x41478e
414694:	48                   	dec    %eax
414695:	75 12                	jne    0x4146a9
414697:	8b c2                	mov    %edx,%eax
414699:	f7 d0                	not    %eax
41469b:	a8 01                	test   $0x1,%al
41469d:	0f 84 f3 00 00 00    	je     0x414796
4146a3:	83 e2 fe             	and    $0xfffffffe,%edx
4146a6:	89 55 10             	mov    %edx,0x10(%ebp)
4146a9:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4146ac:	8b 0b                	mov    (%ebx),%ecx
4146ae:	8b 45 f4             	mov    -0xc(%ebp),%eax
4146b1:	8d 3c 0e             	lea    (%esi,%ecx,1),%edi
4146b4:	f6 47 04 48          	testb  $0x48,0x4(%edi)
4146b8:	74 76                	je     0x414730
4146ba:	8a 4f 05             	mov    0x5(%edi),%cl
4146bd:	80 f9 0a             	cmp    $0xa,%cl
4146c0:	74 6e                	je     0x414730
4146c2:	33 d2                	xor    %edx,%edx
4146c4:	39 55 10             	cmp    %edx,0x10(%ebp)
4146c7:	74 67                	je     0x414730
4146c9:	88 08                	mov    %cl,(%eax)
4146cb:	8b 0b                	mov    (%ebx),%ecx
4146cd:	40                   	inc    %eax
4146ce:	ff 4d 10             	decl   0x10(%ebp)
4146d1:	38 55 fe             	cmp    %dl,-0x2(%ebp)
4146d4:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
4146db:	c6 44 0e 05 0a       	movb   $0xa,0x5(%esi,%ecx,1)
4146e0:	74 4e                	je     0x414730
4146e2:	8b 0b                	mov    (%ebx),%ecx
4146e4:	8a 4c 0e 25          	mov    0x25(%esi,%ecx,1),%cl
4146e8:	80 f9 0a             	cmp    $0xa,%cl
4146eb:	74 43                	je     0x414730
4146ed:	39 55 10             	cmp    %edx,0x10(%ebp)
4146f0:	74 3e                	je     0x414730
4146f2:	88 08                	mov    %cl,(%eax)
4146f4:	8b 0b                	mov    (%ebx),%ecx
4146f6:	40                   	inc    %eax
4146f7:	ff 4d 10             	decl   0x10(%ebp)
4146fa:	80 7d fe 01          	cmpb   $0x1,-0x2(%ebp)
4146fe:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
414705:	c6 44 0e 25 0a       	movb   $0xa,0x25(%esi,%ecx,1)
41470a:	75 24                	jne    0x414730
41470c:	8b 0b                	mov    (%ebx),%ecx
41470e:	8a 4c 0e 26          	mov    0x26(%esi,%ecx,1),%cl
414712:	80 f9 0a             	cmp    $0xa,%cl
414715:	74 19                	je     0x414730
414717:	39 55 10             	cmp    %edx,0x10(%ebp)
41471a:	74 14                	je     0x414730
41471c:	88 08                	mov    %cl,(%eax)
41471e:	8b 0b                	mov    (%ebx),%ecx
414720:	40                   	inc    %eax
414721:	ff 4d 10             	decl   0x10(%ebp)
414724:	c7 45 f0 03 00 00 00 	movl   $0x3,-0x10(%ebp)
41472b:	c6 44 0e 26 0a       	movb   $0xa,0x26(%esi,%ecx,1)
414730:	6a 00                	push   $0x0
414732:	8d 4d e8             	lea    -0x18(%ebp),%ecx
414735:	51                   	push   %ecx
414736:	ff 75 10             	push   0x10(%ebp)
414739:	50                   	push   %eax
41473a:	8b 03                	mov    (%ebx),%eax
41473c:	ff 34 06             	push   (%esi,%eax,1)
41473f:	ff 15 2c 70 41 00    	call   *0x41702c
414745:	85 c0                	test   %eax,%eax
414747:	0f 84 d8 03 00 00    	je     0x414b25
41474d:	8b 7d e8             	mov    -0x18(%ebp),%edi
414750:	85 ff                	test   %edi,%edi
414752:	0f 8c cd 03 00 00    	jl     0x414b25
414758:	3b 7d 10             	cmp    0x10(%ebp),%edi
41475b:	0f 87 c4 03 00 00    	ja     0x414b25
414761:	8b 03                	mov    (%ebx),%eax
414763:	01 7d f0             	add    %edi,-0x10(%ebp)
414766:	8d 44 06 04          	lea    0x4(%esi,%eax,1),%eax
41476a:	f6 00 80             	testb  $0x80,(%eax)
41476d:	0f 84 52 02 00 00    	je     0x4149c5
414773:	80 7d fe 02          	cmpb   $0x2,-0x2(%ebp)
414777:	0f 84 72 02 00 00    	je     0x4149ef
41477d:	85 ff                	test   %edi,%edi
41477f:	74 79                	je     0x4147fa
414781:	8b 4d f4             	mov    -0xc(%ebp),%ecx
414784:	80 39 0a             	cmpb   $0xa,(%ecx)
414787:	75 71                	jne    0x4147fa
414789:	80 08 04             	orb    $0x4,(%eax)
41478c:	eb 6f                	jmp    0x4147fd
41478e:	8b c2                	mov    %edx,%eax
414790:	f7 d0                	not    %eax
414792:	a8 01                	test   $0x1,%al