416357:	75 df                	jne    0x416338
416359:	e9 41 fd ff ff       	jmp    0x41609f
41635e:	85 c0                	test   %eax,%eax
416360:	0f 86 c6 f6 ff ff    	jbe    0x415a2c
416366:	8b 8f f8 e6 00 00    	mov    0xe6f8(%edi),%ecx
41636c:	8b 55 f4             	mov    -0xc(%ebp),%edx
41636f:	8b 87 34 4b 00 00    	mov    0x4b34(%edi),%eax
416375:	ff 4d 08             	decl   0x8(%ebp)
416378:	23 d1                	and    %ecx,%edx
41637a:	8a 14 02             	mov    (%edx,%eax,1),%dl
41637d:	8b 4f 70             	mov    0x70(%edi),%ecx
416380:	ff 45 f4             	incl   -0xc(%ebp)
416383:	88 14 08             	mov    %dl,(%eax,%ecx,1)
416386:	8b 47 70             	mov    0x70(%edi),%eax
416389:	8b 8f f8 e6 00 00    	mov    0xe6f8(%edi),%ecx
41638f:	40                   	inc    %eax
416390:	23 c1                	and    %ecx,%eax
416392:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
416396:	89 47 70             	mov    %eax,0x70(%edi)
416399:	77 d1                	ja     0x41636c
41639b:	e9 8c f6 ff ff       	jmp    0x415a2c
4163a0:	c6 83 d3 4a 00 00 01 	movb   $0x1,0x4ad3(%ebx)
4163a7:	e9 0a fc ff ff       	jmp    0x415fb6
4163ac:	b8 40 94 42 00       	mov    $0x429440,%eax
4163b1:	e8 02 3b 00 00       	call   0x419eb8
4163b6:	83 ec 24             	sub    $0x24,%esp
4163b9:	53                   	push   %ebx
4163ba:	56                   	push   %esi
4163bb:	8b f1                	mov    %ecx,%esi
4163bd:	57                   	push   %edi
4163be:	8d be b0 e6 00 00    	lea    0xe6b0(%esi),%edi
4163c4:	83 67 04 00          	andl   $0x0,0x4(%edi)
4163c8:	83 27 00             	andl   $0x0,(%edi)
4163cb:	b8 00 80 00 00       	mov    $0x8000,%eax
4163d0:	39 45 10             	cmp    %eax,0x10(%ebp)
4163d3:	89 7d f0             	mov    %edi,-0x10(%ebp)
4163d6:	7f 03                	jg     0x4163db
4163d8:	8b 45 10             	mov    0x10(%ebp),%eax
4163db:	50                   	push   %eax
4163dc:	ff 75 0c             	push   0xc(%ebp)
4163df:	ff b6 bc e6 00 00    	push   0xe6bc(%esi)
4163e5:	e8 86 58 00 00       	call   0x41bc70
4163ea:	8d 8e 78 e6 00 00    	lea    0xe678(%esi),%ecx
4163f0:	83 c4 0c             	add    $0xc,%esp
4163f3:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4163f6:	e8 e4 45 ff ff       	call   0x40a9df
4163fb:	f6 45 08 80          	testb  $0x80,0x8(%ebp)
4163ff:	74 1e                	je     0x41641f
416401:	57                   	push   %edi
416402:	e8 fe 45 ff ff       	call   0x40aa05
416407:	8b d8                	mov    %eax,%ebx
416409:	89 5d 0c             	mov    %ebx,0xc(%ebp)
41640c:	85 db                	test   %ebx,%ebx
41640e:	75 09                	jne    0x416419
416410:	8b ce                	mov    %esi,%ecx
416412:	e8 da ea ff ff       	call   0x414ef1
416417:	eb 11                	jmp    0x41642a
416419:	4b                   	dec    %ebx
41641a:	89 5d 0c             	mov    %ebx,0xc(%ebp)
41641d:	eb 0b                	jmp    0x41642a
41641f:	8b 86 f0 e6 00 00    	mov    0xe6f0(%esi),%eax
416425:	89 45 0c             	mov    %eax,0xc(%ebp)
416428:	8b d8                	mov    %eax,%ebx
41642a:	8b 86 c4 e6 00 00    	mov    0xe6c4(%esi),%eax
416430:	3b d8                	cmp    %eax,%ebx
416432:	77 4d                	ja     0x416481
416434:	3b 9e e4 e6 00 00    	cmp    0xe6e4(%esi),%ebx
41643a:	77 45                	ja     0x416481
41643c:	3b d8                	cmp    %eax,%ebx
41643e:	6a 70                	push   $0x70
416440:	89 9e f0 e6 00 00    	mov    %ebx,0xe6f0(%esi)
416446:	0f 94 45 13          	sete   0x13(%ebp)
41644a:	e8 2b 3e 00 00       	call   0x41a27a
41644f:	8b f8                	mov    %eax,%edi
416451:	59                   	pop    %ecx
416452:	85 ff                	test   %edi,%edi
416454:	74 0a                	je     0x416460
416456:	8d 4f 14             	lea    0x14(%edi),%ecx
416459:	e8 8b ee ff ff       	call   0x4152e9
41645e:	eb 02                	jmp    0x416462
416460:	33 ff                	xor    %edi,%edi
416462:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
416466:	0f 84 81 00 00 00    	je     0x4164ed
41646c:	81 fb 00 04 00 00    	cmp    $0x400,%ebx
416472:	76 20                	jbe    0x416494
416474:	85 ff                	test   %edi,%edi
416476:	74 09                	je     0x416481
416478:	6a 01                	push   $0x1
41647a:	8b cf                	mov    %edi,%ecx
41647c:	e8 07 e7 ff ff       	call   0x414b88
416481:	32 c0                	xor    %al,%al
416483:	8b 4d f4             	mov    -0xc(%ebp),%ecx
416486:	5f                   	pop    %edi
416487:	5e                   	pop    %esi
416488:	5b                   	pop    %ebx
416489:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
416490:	c9                   	leave
416491:	c2 0c 00             	ret    $0xc
416494:	8d 8e c0 e6 00 00    	lea    0xe6c0(%esi),%ecx
41649a:	6a 01                	push   $0x1
41649c:	e8 7c c1 ff ff       	call   0x41261d
4164a1:	6a 70                	push   $0x70
4164a3:	e8 d2 3d 00 00       	call   0x41a27a
4164a8:	8b d8                	mov    %eax,%ebx
4164aa:	59                   	pop    %ecx
4164ab:	85 db                	test   %ebx,%ebx
4164ad:	74 0a                	je     0x4164b9
4164af:	8d 4b 14             	lea    0x14(%ebx),%ecx
4164b2:	e8 32 ee ff ff       	call   0x4152e9
4164b7:	eb 02                	jmp    0x4164bb
4164b9:	33 db                	xor    %ebx,%ebx
4164bb:	8b 86 c4 e6 00 00    	mov    0xe6c4(%esi),%eax
4164c1:	8b 8e c0 e6 00 00    	mov    0xe6c0(%esi),%ecx
4164c7:	89 5c 81 fc          	mov    %ebx,-0x4(%ecx,%eax,4)
4164cb:	8b 86 c4 e6 00 00    	mov    0xe6c4(%esi),%eax
4164d1:	48                   	dec    %eax
4164d2:	6a 00                	push   $0x0
4164d4:	8d 8e e0 e6 00 00    	lea    0xe6e0(%esi),%ecx
4164da:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4164dd:	89 47 10             	mov    %eax,0x10(%edi)
4164e0:	e8 2c e0 ff ff       	call   0x414511
4164e5:	83 c3 08             	add    $0x8,%ebx
4164e8:	83 23 00             	andl   $0x0,(%ebx)
4164eb:	eb 14                	jmp    0x416501
4164ed:	8b 86 c0 e6 00 00    	mov    0xe6c0(%esi),%eax
4164f3:	8b 04 98             	mov    (%eax,%ebx,4),%eax
4164f6:	89 5f 10             	mov    %ebx,0x10(%edi)
4164f9:	8d 58 08             	lea    0x8(%eax),%ebx
4164fc:	ff 03                	incl   (%ebx)
4164fe:	89 45 e4             	mov    %eax,-0x1c(%ebp)
416501:	33 c0                	xor    %eax,%eax
416503:	89 45 e8             	mov    %eax,-0x18(%ebp)
416506:	89 45 e0             	mov    %eax,-0x20(%ebp)
416509:	39 86 d4 e6 00 00    	cmp    %eax,0xe6d4(%esi)
41650f:	76 45                	jbe    0x416556
416511:	8b 8e d0 e6 00 00    	mov    0xe6d0(%esi),%ecx
416517:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
41651a:	8b d0                	mov    %eax,%edx
41651c:	2b 55 e8             	sub    -0x18(%ebp),%edx
41651f:	8b 86 d0 e6 00 00    	mov    0xe6d0(%esi),%eax
416525:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
416528:	8b 8e d0 e6 00 00    	mov    0xe6d0(%esi),%ecx
41652e:	8b 45 e0             	mov    -0x20(%ebp),%eax
416531:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
416534:	83 39 00             	cmpl   $0x0,(%ecx)
416537:	75 03                	jne    0x41653c
416539:	ff 45 e8             	incl   -0x18(%ebp)
41653c:	8b 55 e8             	mov    -0x18(%ebp),%edx
41653f:	85 d2                	test   %edx,%edx
416541:	7e 03                	jle    0x416546
416543:	83 21 00             	andl   $0x0,(%ecx)
416546:	40                   	inc    %eax
416547:	89 45 e0             	mov    %eax,-0x20(%ebp)
41654a:	3b 86 d4 e6 00 00    	cmp    0xe6d4(%esi),%eax
416550:	72 bf                	jb     0x416511
416552:	85 d2                	test   %edx,%edx
416554:	75 10                	jne    0x416566
416556:	8d 8e d0 e6 00 00    	lea    0xe6d0(%esi),%ecx
41655c:	6a 01                	push   $0x1
41655e:	e8 ba c0 ff ff       	call   0x41261d
416563:	33 d2                	xor    %edx,%edx
416565:	42                   	inc    %edx
416566:	8b 86 d4 e6 00 00    	mov    0xe6d4(%esi),%eax
41656c:	8b 8e d0 e6 00 00    	mov    0xe6d0(%esi),%ecx
416572:	ff 75 f0             	push   -0x10(%ebp)
416575:	2b c2                	sub    %edx,%eax
416577:	89 3c 81             	mov    %edi,(%ecx,%eax,4)
41657a:	8b 03                	mov    (%ebx),%eax
41657c:	89 47 08             	mov    %eax,0x8(%edi)
41657f:	e8 81 44 ff ff       	call   0x40aa05
416584:	f6 45 08 40          	testb  $0x40,0x8(%ebp)
416588:	8b d8                	mov    %eax,%ebx
41658a:	74 06                	je     0x416592
41658c:	81 c3 02 01 00 00    	add    $0x102,%ebx
416592:	8b 46 70             	mov    0x70(%esi),%eax
416595:	03 c3                	add    %ebx,%eax
416597:	23 86 f8 e6 00 00    	and    0xe6f8(%esi),%eax
41659d:	f6 45 08 20          	testb  $0x20,0x8(%ebp)
4165a1:	89 07                	mov    %eax,(%edi)
4165a3:	74 19                	je     0x4165be
4165a5:	ff 75 f0             	push   -0x10(%ebp)
4165a8:	e8 58 44 ff ff       	call   0x40aa05
4165ad:	8b 55 0c             	mov    0xc(%ebp),%edx
4165b0:	89 47 04             	mov    %eax,0x4(%edi)
4165b3:	8b 8e e0 e6 00 00    	mov    0xe6e0(%esi),%ecx
4165b9:	89 04 91             	mov    %eax,(%ecx,%edx,4)
4165bc:	eb 1b                	jmp    0x4165d9
4165be:	8b 45 0c             	mov    0xc(%ebp),%eax
4165c1:	3b 86 e4 e6 00 00    	cmp    0xe6e4(%esi),%eax
4165c7:	73 0b                	jae    0x4165d4
4165c9:	8b 8e e0 e6 00 00    	mov    0xe6e0(%esi),%ecx
4165cf:	8b 04 81             	mov    (%ecx,%eax,4),%eax
4165d2:	eb 02                	jmp    0x4165d6
4165d4:	33 c0                	xor    %eax,%eax
4165d6:	89 47 04             	mov    %eax,0x4(%edi)
4165d9:	8b 46 74             	mov    0x74(%esi),%eax
4165dc:	8b 4e 70             	mov    0x70(%esi),%ecx
4165df:	3b c1                	cmp    %ecx,%eax
4165e1:	74 11                	je     0x4165f4
4165e3:	2b c1                	sub    %ecx,%eax
4165e5:	23 86 f8 e6 00 00    	and    0xe6f8(%esi),%eax
4165eb:	3b c3                	cmp    %ebx,%eax
4165ed:	77 05                	ja     0x4165f4
4165ef:	33 c0                	xor    %eax,%eax
4165f1:	40                   	inc    %eax
4165f2:	eb 02                	jmp    0x4165f6
4165f4:	33 c0                	xor    %eax,%eax
4165f6:	6a 1c                	push   $0x1c
4165f8:	8d 5f 4c             	lea    0x4c(%edi),%ebx
4165fb:	6a 00                	push   $0x0
4165fd:	53                   	push   %ebx
4165fe:	88 47 0c             	mov    %al,0xc(%edi)
416601:	e8 fa 3b 00 00       	call   0x41a200
416606:	8b 47 04             	mov    0x4(%edi),%eax
416609:	89 47 5c             	mov    %eax,0x5c(%edi)
41660c:	8b 47 08             	mov    0x8(%edi),%eax
41660f:	83 c4 0c             	add    $0xc,%esp
416612:	f6 45 08 10          	testb  $0x10,0x8(%ebp)
416616:	c7 47 58 00 c0 03 00 	movl   $0x3c000,0x58(%edi)
41661d:	89 47 60             	mov    %eax,0x60(%edi)
416620:	74 3d                	je     0x41665f
416622:	8b 4d f0             	mov    -0x10(%ebp),%ecx
416625:	e8 25 31 ff ff       	call   0x40974f
41662a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41662d:	8b f0                	mov    %eax,%esi
41662f:	6a 07                	push   $0x7
416631:	c1 ee 09             	shr    $0x9,%esi
416634:	e8 ff 30 ff ff       	call   0x409738
416639:	83 65 0c 00          	andl   $0x0,0xc(%ebp)
41663d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
416640:	33 c0                	xor    %eax,%eax
416642:	40                   	inc    %eax
416643:	d3 e0                	shl    %cl,%eax
416645:	85 c6                	test   %eax,%esi
416647:	74 0a                	je     0x416653
416649:	ff 75 f0             	push   -0x10(%ebp)
41664c:	e8 b4 43 ff ff       	call   0x40aa05
416651:	89 03                	mov    %eax,(%ebx)
416653:	ff 45 0c             	incl   0xc(%ebp)
416656:	83 c3 04             	add    $0x4,%ebx
416659:	83 7d 0c 07          	cmpl   $0x7,0xc(%ebp)
41665d:	7c de                	jl     0x41663d
41665f:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
416663:	0f 84 98 00 00 00    	je     0x416701
416669:	ff 75 f0             	push   -0x10(%ebp)
41666c:	e8 94 43 ff ff       	call   0x40aa05
416671:	8b d8                	mov    %eax,%ebx
416673:	89 5d 10             	mov    %ebx,0x10(%ebp)
416676:	81 fb 00 00 01 00    	cmp    $0x10000,%ebx
41667c:	0f 83 ff fd ff ff    	jae    0x416481
416682:	33 f6                	xor    %esi,%esi
416684:	3b de                	cmp    %esi,%ebx
416686:	0f 84 f5 fd ff ff    	je     0x416481
41668c:	53                   	push   %ebx
41668d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
416690:	e8 3b ac fe ff       	call   0x4012d0
416695:	3b de                	cmp    %esi,%ebx
416697:	8b 5d d0             	mov    -0x30(%ebp),%ebx
41669a:	89 75 fc             	mov    %esi,-0x4(%ebp)
41669d:	76 2a                	jbe    0x4166c9
41669f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4166a2:	8b 01                	mov    (%ecx),%eax
4166a4:	83 c0 03             	add    $0x3,%eax
4166a7:	3d 00 80 00 00       	cmp    $0x8000,%eax
4166ac:	73 3f                	jae    0x4166ed
4166ae:	e8 9c 30 ff ff       	call   0x40974f
4166b3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4166b6:	c1 e8 08             	shr    $0x8,%eax
4166b9:	6a 08                	push   $0x8
4166bb:	88 04 33             	mov    %al,(%ebx,%esi,1)
4166be:	e8 75 30 ff ff       	call   0x409738
4166c3:	46                   	inc    %esi
4166c4:	3b 75 10             	cmp    0x10(%ebp),%esi
4166c7:	72 d6                	jb     0x41669f
4166c9:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4166cc:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4166cf:	8d 46 14             	lea    0x14(%esi),%eax
4166d2:	50                   	push   %eax
4166d3:	ff 75 10             	push   0x10(%ebp)
4166d6:	53                   	push   %ebx
4166d7:	e8 5f 45 ff ff       	call   0x40ac3b
4166dc:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4166e0:	85 db                	test   %ebx,%ebx
4166e2:	74 20                	je     0x416704
4166e4:	53                   	push   %ebx
4166e5:	e8 f8 37 00 00       	call   0x419ee2
4166ea:	59                   	pop    %ecx
4166eb:	eb 17                	jmp    0x416704
4166ed:	85 db                	test   %ebx,%ebx
4166ef:	0f 84 8c fd ff ff    	je     0x416481
4166f5:	53                   	push   %ebx
4166f6:	e8 e7 37 00 00       	call   0x419ee2
4166fb:	59                   	pop    %ecx
4166fc:	e9 80 fd ff ff       	jmp    0x416481
416701:	8b 75 e4             	mov    -0x1c(%ebp),%esi
416704:	8b 46 14             	mov    0x14(%esi),%eax
416707:	89 47 24             	mov    %eax,0x24(%edi)
41670a:	8b 46 28             	mov    0x28(%esi),%eax
41670d:	89 47 28             	mov    %eax,0x28(%edi)
416710:	8b 46 40             	mov    0x40(%esi),%eax
416713:	8d 48 ff             	lea    -0x1(%eax),%ecx
416716:	89 45 10             	mov    %eax,0x10(%ebp)
416719:	81 f9 fe 1f 00 00    	cmp    $0x1ffe,%ecx
41671f:	77 1b                	ja     0x41673c
416721:	8d 5f 3c             	lea    0x3c(%edi),%ebx
416724:	50                   	push   %eax
416725:	8b cb                	mov    %ebx,%ecx
416727:	e8 da a9 fe ff       	call   0x401106
41672c:	ff 75 10             	push   0x10(%ebp)
41672f:	ff 76 3c             	push   0x3c(%esi)
416732:	ff 33                	push   (%ebx)
416734:	e8 37 55 00 00       	call   0x41bc70
416739:	83 c4 0c             	add    $0xc,%esp
41673c:	83 7f 30 40          	cmpl   $0x40,0x30(%edi)
416740:	73 13                	jae    0x416755
416742:	8d 77 2c             	lea    0x2c(%edi),%esi
416745:	8b ce                	mov    %esi,%ecx
416747:	e8 2d a3 ff ff       	call   0x410a79
41674c:	6a 40                	push   $0x40
41674e:	8b ce                	mov    %esi,%ecx
416750:	e8 b1 a9 fe ff       	call   0x401106
416755:	8d 5f 2c             	lea    0x2c(%edi),%ebx
416758:	8b 33                	mov    (%ebx),%esi
41675a:	8d 47 4c             	lea    0x4c(%edi),%eax
41675d:	89 75 0c             	mov    %esi,0xc(%ebp)
416760:	89 45 10             	mov    %eax,0x10(%ebp)
416763:	c7 45 e0 07 00 00 00 	movl   $0x7,-0x20(%ebp)
41676a:	8b 45 10             	mov    0x10(%ebp),%eax
41676d:	ff 30                	push   (%eax)
41676f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
416772:	ff 75 0c             	push   0xc(%ebp)
416775:	e8 7e 42 ff ff       	call   0x40a9f8
41677a:	83 45 10 04          	addl   $0x4,0x10(%ebp)
41677e:	83 45 0c 04          	addl   $0x4,0xc(%ebp)
416782:	ff 4d e0             	decl   -0x20(%ebp)
416785:	75 e3                	jne    0x41676a
416787:	ff 77 04             	push   0x4(%edi)
41678a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41678d:	8d 46 1c             	lea    0x1c(%esi),%eax
416790:	50                   	push   %eax
416791:	e8 62 42 ff ff       	call   0x40a9f8
416796:	8b 4d ec             	mov    -0x14(%ebp),%ecx
416799:	6a 00                	push   $0x0
41679b:	8d 46 20             	lea    0x20(%esi),%eax
41679e:	50                   	push   %eax
41679f:	e8 54 42 ff ff       	call   0x40a9f8
4167a4:	ff 77 08             	push   0x8(%edi)
4167a7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4167aa:	8d 46 2c             	lea    0x2c(%esi),%eax
4167ad:	50                   	push   %eax