47e364:	59                   	pop    %ecx
47e365:	85 db                	test   %ebx,%ebx
47e367:	74 11                	je     0x47e37a
47e369:	c7 03 68 f9 48 00    	movl   $0x48f968,(%ebx)
47e36f:	89 73 04             	mov    %esi,0x4(%ebx)
47e372:	89 73 08             	mov    %esi,0x8(%ebx)
47e375:	89 73 0c             	mov    %esi,0xc(%ebx)
47e378:	eb 06                	jmp    0x47e380
47e37a:	8b de                	mov    %esi,%ebx
47e37c:	89 5c 24 14          	mov    %ebx,0x14(%esp)
47e380:	8b 45 08             	mov    0x8(%ebp),%eax
47e383:	8d 4b 10             	lea    0x10(%ebx),%ecx
47e386:	89 4c 24 18          	mov    %ecx,0x18(%esp)
47e38a:	89 5c 24 10          	mov    %ebx,0x10(%esp)
47e38e:	8b 40 04             	mov    0x4(%eax),%eax
47e391:	8b 70 04             	mov    0x4(%eax),%esi
47e394:	8b ce                	mov    %esi,%ecx
47e396:	e8 fc b5 f8 ff       	call   0x409997
47e39b:	8b 4e 08             	mov    0x8(%esi),%ecx
47e39e:	8b 01                	mov    (%ecx),%eax
47e3a0:	89 44 24 38          	mov    %eax,0x38(%esp)
47e3a4:	8b 41 04             	mov    0x4(%ecx),%eax
47e3a7:	89 44 24 3c          	mov    %eax,0x3c(%esp)
47e3ab:	8b 41 08             	mov    0x8(%ecx),%eax
47e3ae:	89 44 24 40          	mov    %eax,0x40(%esp)
47e3b2:	8b 41 0c             	mov    0xc(%ecx),%eax
47e3b5:	8d 4c 24 38          	lea    0x38(%esp),%ecx
47e3b9:	89 44 24 44          	mov    %eax,0x44(%esp)
47e3bd:	ff 00                	incl   (%eax)
47e3bf:	e8 eb 9b f8 ff       	call   0x407faf
47e3c4:	ff 74 24 3c          	push   0x3c(%esp)
47e3c8:	8b 3d fc f6 48 00    	mov    0x48f6fc,%edi
47e3ce:	ff 74 24 3c          	push   0x3c(%esp)
47e3d2:	ff d7                	call   *%edi
47e3d4:	8b 4d 08             	mov    0x8(%ebp),%ecx
47e3d7:	8b 41 04             	mov    0x4(%ecx),%eax
47e3da:	8b 70 08             	mov    0x8(%eax),%esi
47e3dd:	8b ce                	mov    %esi,%ecx
47e3df:	e8 b3 b5 f8 ff       	call   0x409997
47e3e4:	8b 4e 08             	mov    0x8(%esi),%ecx
47e3e7:	8b 01                	mov    (%ecx),%eax
47e3e9:	89 44 24 28          	mov    %eax,0x28(%esp)
47e3ed:	8b 41 04             	mov    0x4(%ecx),%eax
47e3f0:	89 44 24 2c          	mov    %eax,0x2c(%esp)
47e3f4:	8b 41 08             	mov    0x8(%ecx),%eax
47e3f7:	89 44 24 30          	mov    %eax,0x30(%esp)
47e3fb:	8b 41 0c             	mov    0xc(%ecx),%eax
47e3fe:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47e402:	89 44 24 34          	mov    %eax,0x34(%esp)
47e406:	ff 00                	incl   (%eax)
47e408:	e8 a2 9b f8 ff       	call   0x407faf
47e40d:	ff 74 24 2c          	push   0x2c(%esp)
47e411:	ff 74 24 2c          	push   0x2c(%esp)
47e415:	ff d7                	call   *%edi
47e417:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
47e41b:	33 c0                	xor    %eax,%eax
47e41d:	8b c8                	mov    %eax,%ecx
47e41f:	89 44 24 24          	mov    %eax,0x24(%esp)
47e423:	8b b7 b8 01 00 00    	mov    0x1b8(%edi),%esi
47e429:	85 f6                	test   %esi,%esi
47e42b:	74 19                	je     0x47e446
47e42d:	8b 97 b4 01 00 00    	mov    0x1b4(%edi),%edx
47e433:	8b 02                	mov    (%edx),%eax
47e435:	83 38 00             	cmpl   $0x0,(%eax)
47e438:	74 08                	je     0x47e442
47e43a:	41                   	inc    %ecx
47e43b:	83 c2 04             	add    $0x4,%edx
47e43e:	3b ce                	cmp    %esi,%ecx
47e440:	72 f1                	jb     0x47e433
47e442:	89 4c 24 24          	mov    %ecx,0x24(%esp)
47e446:	3b ce                	cmp    %esi,%ecx
47e448:	75 1a                	jne    0x47e464
47e44a:	8d 44 24 10          	lea    0x10(%esp),%eax
47e44e:	50                   	push   %eax
47e44f:	8d 8f b0 01 00 00    	lea    0x1b0(%edi),%ecx
47e455:	e8 db 13 ff ff       	call   0x46f835
47e45a:	8b 5c 24 10          	mov    0x10(%esp),%ebx
47e45e:	89 5c 24 14          	mov    %ebx,0x14(%esp)
47e462:	eb 0b                	jmp    0x47e46f
47e464:	8b 87 b4 01 00 00    	mov    0x1b4(%edi),%eax
47e46a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47e46d:	89 18                	mov    %ebx,(%eax)
47e46f:	8b 45 08             	mov    0x8(%ebp),%eax
47e472:	8b 40 04             	mov    0x4(%eax),%eax
47e475:	8b 30                	mov    (%eax),%esi
47e477:	8b ce                	mov    %esi,%ecx
47e479:	83 7e 0c 0e          	cmpl   $0xe,0xc(%esi)
47e47d:	75 13                	jne    0x47e492
47e47f:	33 c0                	xor    %eax,%eax
47e481:	40                   	inc    %eax
47e482:	89 44 24 10          	mov    %eax,0x10(%esp)
47e486:	8d 44 24 58          	lea    0x58(%esp),%eax
47e48a:	50                   	push   %eax
47e48b:	e8 14 97 fe ff       	call   0x467ba4
47e490:	eb 30                	jmp    0x47e4c2
47e492:	6a 02                	push   $0x2
47e494:	58                   	pop    %eax
47e495:	89 44 24 10          	mov    %eax,0x10(%esp)
47e499:	e8 f9 b4 f8 ff       	call   0x409997
47e49e:	8b 4e 08             	mov    0x8(%esi),%ecx
47e4a1:	8b 01                	mov    (%ecx),%eax
47e4a3:	89 44 24 48          	mov    %eax,0x48(%esp)
47e4a7:	8b 41 04             	mov    0x4(%ecx),%eax
47e4aa:	89 44 24 4c          	mov    %eax,0x4c(%esp)
47e4ae:	8b 41 08             	mov    0x8(%ecx),%eax
47e4b1:	89 44 24 50          	mov    %eax,0x50(%esp)
47e4b5:	8b 41 0c             	mov    0xc(%ecx),%eax
47e4b8:	89 44 24 54          	mov    %eax,0x54(%esp)
47e4bc:	ff 00                	incl   (%eax)
47e4be:	8d 44 24 48          	lea    0x48(%esp),%eax
47e4c2:	53                   	push   %ebx
47e4c3:	50                   	push   %eax
47e4c4:	8b cf                	mov    %edi,%ecx
47e4c6:	e8 ac fc ff ff       	call   0x47e177
47e4cb:	f6 d8                	neg    %al
47e4cd:	1a c0                	sbb    %al,%al
47e4cf:	fe c0                	inc    %al
47e4d1:	88 44 24 0f          	mov    %al,0xf(%esp)
47e4d5:	8b 44 24 10          	mov    0x10(%esp),%eax
47e4d9:	a8 02                	test   $0x2,%al
47e4db:	74 14                	je     0x47e4f1
47e4dd:	83 e0 fd             	and    $0xfffffffd,%eax
47e4e0:	8d 4c 24 48          	lea    0x48(%esp),%ecx
47e4e4:	89 44 24 10          	mov    %eax,0x10(%esp)
47e4e8:	e8 77 75 f8 ff       	call   0x405a64
47e4ed:	8b 44 24 10          	mov    0x10(%esp),%eax
47e4f1:	a8 01                	test   $0x1,%al
47e4f3:	74 09                	je     0x47e4fe
47e4f5:	8d 4c 24 58          	lea    0x58(%esp),%ecx
47e4f9:	e8 66 75 f8 ff       	call   0x405a64
47e4fe:	80 7c 24 0f 00       	cmpb   $0x0,0xf(%esp)
47e503:	74 14                	je     0x47e519
47e505:	8b 75 0c             	mov    0xc(%ebp),%esi
47e508:	8b ce                	mov    %esi,%ecx
47e50a:	e8 11 b5 f8 ff       	call   0x409a20
47e50f:	33 c0                	xor    %eax,%eax
47e511:	50                   	push   %eax
47e512:	6a 03                	push   $0x3
47e514:	e9 84 01 00 00       	jmp    0x47e69d
47e519:	8b 74 24 18          	mov    0x18(%esp),%esi
47e51d:	8d 44 24 38          	lea    0x38(%esp),%eax
47e521:	56                   	push   %esi
47e522:	50                   	push   %eax
47e523:	e8 91 f5 ff ff       	call   0x47dab9
47e528:	84 c0                	test   %al,%al
47e52a:	75 19                	jne    0x47e545
47e52c:	8b 75 0c             	mov    0xc(%ebp),%esi
47e52f:	8b ce                	mov    %esi,%ecx
47e531:	e8 ea b4 f8 ff       	call   0x409a20
47e536:	33 c9                	xor    %ecx,%ecx
47e538:	41                   	inc    %ecx
47e539:	33 c0                	xor    %eax,%eax
47e53b:	50                   	push   %eax
47e53c:	89 4e 0c             	mov    %ecx,0xc(%esi)
47e53f:	51                   	push   %ecx
47e540:	e9 5f 01 00 00       	jmp    0x47e6a4
47e545:	33 c0                	xor    %eax,%eax
47e547:	33 db                	xor    %ebx,%ebx
47e549:	8b f0                	mov    %eax,%esi
47e54b:	8b f8                	mov    %eax,%edi
47e54d:	56                   	push   %esi
47e54e:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
47e552:	e8 fb 95 f8 ff       	call   0x407b52
47e557:	66 39 18             	cmp    %bx,(%eax)
47e55a:	74 16                	je     0x47e572
47e55c:	56                   	push   %esi
47e55d:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
47e561:	e8 ec 95 f8 ff       	call   0x407b52
47e566:	6a 3b                	push   $0x3b
47e568:	59                   	pop    %ecx
47e569:	46                   	inc    %esi
47e56a:	66 39 08             	cmp    %cx,(%eax)
47e56d:	75 de                	jne    0x47e54d
47e56f:	47                   	inc    %edi
47e570:	eb db                	jmp    0x47e54d
47e572:	83 7c 24 2c 01       	cmpl   $0x1,0x2c(%esp)
47e577:	8b 5c 24 14          	mov    0x14(%esp),%ebx
47e57b:	89 74 24 20          	mov    %esi,0x20(%esp)
47e57f:	8b 74 24 18          	mov    0x18(%esp),%esi
47e583:	89 7c 24 10          	mov    %edi,0x10(%esp)
47e587:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
47e58b:	76 22                	jbe    0x47e5af
47e58d:	8b 44 24 20          	mov    0x20(%esp),%eax
47e591:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47e595:	48                   	dec    %eax
47e596:	50                   	push   %eax
47e597:	e8 b6 95 f8 ff       	call   0x407b52
47e59c:	6a 3b                	push   $0x3b
47e59e:	59                   	pop    %ecx
47e59f:	66 39 08             	cmp    %cx,(%eax)
47e5a2:	8b 44 24 10          	mov    0x10(%esp),%eax
47e5a6:	74 0b                	je     0x47e5b3
47e5a8:	40                   	inc    %eax
47e5a9:	89 44 24 10          	mov    %eax,0x10(%esp)
47e5ad:	eb 04                	jmp    0x47e5b3
47e5af:	8b 44 24 10          	mov    0x10(%esp),%eax
47e5b3:	33 c9                	xor    %ecx,%ecx
47e5b5:	89 46 0c             	mov    %eax,0xc(%esi)
47e5b8:	89 4e 08             	mov    %ecx,0x8(%esi)
47e5bb:	89 4c 24 20          	mov    %ecx,0x20(%esp)
47e5bf:	85 c0                	test   %eax,%eax
47e5c1:	7e 3c                	jle    0x47e5ff
47e5c3:	8d 4e 40             	lea    0x40(%esi),%ecx
47e5c6:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
47e5ca:	8d 41 f0             	lea    -0x10(%ecx),%eax
47e5cd:	50                   	push   %eax
47e5ce:	8d 44 24 2c          	lea    0x2c(%esp),%eax
47e5d2:	50                   	push   %eax
47e5d3:	e8 1b ed ff ff       	call   0x47d2f3
47e5d8:	84 c0                	test   %al,%al
47e5da:	0f 84 ae 00 00 00    	je     0x47e68e
47e5e0:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
47e5e4:	8b 01                	mov    (%ecx),%eax
47e5e6:	83 c1 18             	add    $0x18,%ecx
47e5e9:	01 46 08             	add    %eax,0x8(%esi)
47e5ec:	8b 44 24 20          	mov    0x20(%esp),%eax
47e5f0:	40                   	inc    %eax
47e5f1:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
47e5f5:	89 44 24 20          	mov    %eax,0x20(%esp)
47e5f9:	3b 44 24 10          	cmp    0x10(%esp),%eax
47e5fd:	7c cb                	jl     0x47e5ca
47e5ff:	6a 40                	push   $0x40
47e601:	be a5 0f 42 00       	mov    $0x420fa5,%esi
47e606:	33 c0                	xor    %eax,%eax
47e608:	68 00 30 00 00       	push   $0x3000
47e60d:	81 ee 2e 0f 42 00    	sub    $0x420f2e,%esi
47e613:	56                   	push   %esi
47e614:	50                   	push   %eax
47e615:	ff 15 2c f3 48 00    	call   *0x48f32c
47e61b:	56                   	push   %esi
47e61c:	8b f0                	mov    %eax,%esi
47e61e:	89 44 24 24          	mov    %eax,0x24(%esp)
47e622:	68 2e 0f 42 00       	push   $0x420f2e
47e627:	56                   	push   %esi
47e628:	e8 53 2a fa ff       	call   0x421080
47e62d:	8b 8f b4 01 00 00    	mov    0x1b4(%edi),%ecx
47e633:	83 c4 0c             	add    $0xc,%esp
47e636:	8b 7c 24 24          	mov    0x24(%esp),%edi
47e63a:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
47e63d:	8b 09                	mov    (%ecx),%ecx
47e63f:	89 71 10             	mov    %esi,0x10(%ecx)
47e642:	81 ee 2e 0f 42 00    	sub    $0x420f2e,%esi
47e648:	8b 4c 24 18          	mov    0x18(%esp),%ecx
47e64c:	8b c6                	mov    %esi,%eax
47e64e:	05 7e 0f 42 00       	add    $0x420f7e,%eax
47e653:	c7 40 01 54 e0 47 00 	movl   $0x47e054,0x1(%eax)
47e65a:	8b c6                	mov    %esi,%eax
47e65c:	05 37 0f 42 00       	add    $0x420f37,%eax
47e661:	89 58 01             	mov    %ebx,0x1(%eax)
47e664:	8b c6                	mov    %esi,%eax
47e666:	05 3f 0f 42 00       	add    $0x420f3f,%eax
47e66b:	81 c6 a2 0f 42 00    	add    $0x420fa2,%esi
47e671:	89 48 01             	mov    %ecx,0x1(%eax)
47e674:	33 c0                	xor    %eax,%eax
47e676:	39 41 0c             	cmp    %eax,0xc(%ecx)
47e679:	74 39                	je     0x47e6b4
47e67b:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
47e67f:	74 33                	je     0x47e6b4
47e681:	c6 06 c2             	movb   $0xc2,(%esi)
47e684:	66 8b 41 08          	mov    0x8(%ecx),%ax
47e688:	66 89 46 01          	mov    %ax,0x1(%esi)
47e68c:	eb 29                	jmp    0x47e6b7
47e68e:	8b 75 0c             	mov    0xc(%ebp),%esi
47e691:	8b ce                	mov    %esi,%ecx
47e693:	e8 88 b3 f8 ff       	call   0x409a20
47e698:	33 c0                	xor    %eax,%eax
47e69a:	50                   	push   %eax
47e69b:	6a 02                	push   $0x2
47e69d:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e6a4:	89 06                	mov    %eax,(%esi)
47e6a6:	8b 07                	mov    (%edi),%eax
47e6a8:	8b 48 04             	mov    0x4(%eax),%ecx
47e6ab:	03 cf                	add    %edi,%ecx
47e6ad:	e8 f1 83 fd ff       	call   0x456aa3
47e6b2:	eb 19                	jmp    0x47e6cd
47e6b4:	c6 06 c3             	movb   $0xc3,(%esi)
47e6b7:	8b 75 0c             	mov    0xc(%ebp),%esi
47e6ba:	8b ce                	mov    %esi,%ecx
47e6bc:	e8 5f b3 f8 ff       	call   0x409a20
47e6c1:	8d 47 01             	lea    0x1(%edi),%eax
47e6c4:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e6cb:	89 06                	mov    %eax,(%esi)
47e6cd:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47e6d1:	e8 8e 73 f8 ff       	call   0x405a64
47e6d6:	8d 4c 24 38          	lea    0x38(%esp),%ecx
47e6da:	e8 85 73 f8 ff       	call   0x405a64
47e6df:	5f                   	pop    %edi
47e6e0:	5e                   	pop    %esi
47e6e1:	33 c0                	xor    %eax,%eax
47e6e3:	5b                   	pop    %ebx
47e6e4:	8b e5                	mov    %ebp,%esp
47e6e6:	5d                   	pop    %ebp
47e6e7:	c2 08 00             	ret    $0x8
47e6ea:	55                   	push   %ebp
47e6eb:	8b ec                	mov    %esp,%ebp
47e6ed:	8b 45 08             	mov    0x8(%ebp),%eax
47e6f0:	56                   	push   %esi
47e6f1:	57                   	push   %edi
47e6f2:	8b f9                	mov    %ecx,%edi
47e6f4:	8b 40 04             	mov    0x4(%eax),%eax
47e6f7:	8b 08                	mov    (%eax),%ecx
47e6f9:	e8 9e b5 f8 ff       	call   0x409c9c
47e6fe:	8b f0                	mov    %eax,%esi
47e700:	4e                   	dec    %esi
47e701:	78 2c                	js     0x47e72f
47e703:	3b b7 a8 01 00 00    	cmp    0x1a8(%edi),%esi
47e709:	7d 24                	jge    0x47e72f
47e70b:	8b 87 a4 01 00 00    	mov    0x1a4(%edi),%eax
47e711:	8b 04 b0             	mov    (%eax,%esi,4),%eax
47e714:	83 38 00             	cmpl   $0x0,(%eax)
47e717:	74 16                	je     0x47e72f
47e719:	ff 30                	push   (%eax)
47e71b:	ff 15 98 f1 48 00    	call   *0x48f198
47e721:	8b 87 a4 01 00 00    	mov    0x1a4(%edi),%eax
47e727:	8b 04 b0             	mov    (%eax,%esi,4),%eax
47e72a:	83 20 00             	andl   $0x0,(%eax)
47e72d:	eb 14                	jmp    0x47e743
47e72f:	8b 75 0c             	mov    0xc(%ebp),%esi
47e732:	8b ce                	mov    %esi,%ecx
47e734:	e8 e7 b2 f8 ff       	call   0x409a20
47e739:	83 26 00             	andl   $0x0,(%esi)
47e73c:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e743:	5f                   	pop    %edi
47e744:	33 c0                	xor    %eax,%eax
47e746:	5e                   	pop    %esi
47e747:	5d                   	pop    %ebp
47e748:	c2 08 00             	ret    $0x8
47e74b:	55                   	push   %ebp
47e74c:	8b ec                	mov    %esp,%ebp
47e74e:	8b 45 08             	mov    0x8(%ebp),%eax
47e751:	53                   	push   %ebx
47e752:	56                   	push   %esi
47e753:	8b d9                	mov    %ecx,%ebx
47e755:	8b 40 04             	mov    0x4(%eax),%eax
47e758:	8b 30                	mov    (%eax),%esi
47e75a:	8b ce                	mov    %esi,%ecx
47e75c:	e8 36 b2 f8 ff       	call   0x409997
47e761:	8b 46 08             	mov    0x8(%esi),%eax
47e764:	ff 30                	push   (%eax)
47e766:	ff 15 28 f3 48 00    	call   *0x48f328
47e76c:	8b f0                	mov    %eax,%esi
47e76e:	89 75 08             	mov    %esi,0x8(%ebp)
47e771:	85 f6                	test   %esi,%esi
47e773:	75 0f                	jne    0x47e784
47e775:	8b 75 0c             	mov    0xc(%ebp),%esi
47e778:	8b ce                	mov    %esi,%ecx
47e77a:	e8 a1 b2 f8 ff       	call   0x409a20
47e77f:	83 0e ff             	orl    $0xffffffff,(%esi)
47e782:	eb 52                	jmp    0x47e7d6
47e784:	8b 8b a8 01 00 00    	mov    0x1a8(%ebx),%ecx