48448d:	8d 45 d8             	lea    -0x28(%ebp),%eax
484490:	50                   	push   %eax
484491:	8d 45 ff             	lea    -0x1(%ebp),%eax
484494:	50                   	push   %eax
484495:	e8 98 f5 ff ff       	call   0x483a32
48449a:	8b 45 f4             	mov    -0xc(%ebp),%eax
48449d:	c9                   	leave
48449e:	c3                   	ret
48449f:	8b ff                	mov    %edi,%edi
4844a1:	55                   	push   %ebp
4844a2:	8b ec                	mov    %esp,%ebp
4844a4:	83 ec 10             	sub    $0x10,%esp
4844a7:	53                   	push   %ebx
4844a8:	56                   	push   %esi
4844a9:	33 f6                	xor    %esi,%esi
4844ab:	46                   	inc    %esi
4844ac:	68 a6 06 00 00       	push   $0x6a6
4844b1:	89 75 f8             	mov    %esi,-0x8(%ebp)
4844b4:	e8 79 13 00 00       	call   0x485832
4844b9:	8b d8                	mov    %eax,%ebx
4844bb:	33 c0                	xor    %eax,%eax
4844bd:	59                   	pop    %ecx
4844be:	85 db                	test   %ebx,%ebx
4844c0:	0f 84 17 01 00 00    	je     0x4845dd
4844c6:	57                   	push   %edi
4844c7:	89 33                	mov    %esi,(%ebx)
4844c9:	8d 7b 04             	lea    0x4(%ebx),%edi
4844cc:	8b 75 08             	mov    0x8(%ebp),%esi
4844cf:	66 89 07             	mov    %ax,(%edi)
4844d2:	8d 46 30             	lea    0x30(%esi),%eax
4844d5:	ff 30                	push   (%eax)
4844d7:	89 45 f4             	mov    %eax,-0xc(%ebp)
4844da:	68 bc 0c 4b 00       	push   $0x4b0cbc
4844df:	ff 35 c4 31 4a 00    	push   0x4a31c4
4844e5:	6a 03                	push   $0x3
4844e7:	68 51 03 00 00       	push   $0x351
4844ec:	57                   	push   %edi
4844ed:	e8 e9 fe ff ff       	call   0x4843db
4844f2:	b8 c4 31 4a 00       	mov    $0x4a31c4,%eax
4844f7:	83 c4 18             	add    $0x18,%esp
4844fa:	89 45 fc             	mov    %eax,-0x4(%ebp)
4844fd:	68 84 32 4a 00       	push   $0x4a3284
484502:	68 51 03 00 00       	push   $0x351
484507:	57                   	push   %edi
484508:	e8 c2 cf ff ff       	call   0x4814cf
48450d:	83 c4 0c             	add    $0xc,%esp
484510:	85 c0                	test   %eax,%eax
484512:	0f 85 15 01 00 00    	jne    0x48462d
484518:	8b 45 f4             	mov    -0xc(%ebp),%eax
48451b:	8d 48 10             	lea    0x10(%eax),%ecx
48451e:	8b 00                	mov    (%eax),%eax
484520:	89 4d f4             	mov    %ecx,-0xc(%ebp)
484523:	8b 09                	mov    (%ecx),%ecx
484525:	89 4d f0             	mov    %ecx,-0x10(%ebp)
484528:	66 8b 10             	mov    (%eax),%dx
48452b:	66 3b 11             	cmp    (%ecx),%dx
48452e:	75 1e                	jne    0x48454e
484530:	66 85 d2             	test   %dx,%dx
484533:	74 15                	je     0x48454a
484535:	66 8b 50 02          	mov    0x2(%eax),%dx
484539:	66 3b 51 02          	cmp    0x2(%ecx),%dx
48453d:	75 0f                	jne    0x48454e
48453f:	83 c0 04             	add    $0x4,%eax
484542:	83 c1 04             	add    $0x4,%ecx
484545:	66 85 d2             	test   %dx,%dx
484548:	75 de                	jne    0x484528
48454a:	33 c0                	xor    %eax,%eax
48454c:	eb 05                	jmp    0x484553
48454e:	1b c0                	sbb    %eax,%eax
484550:	83 c8 01             	or     $0x1,%eax
484553:	ff 75 f0             	push   -0x10(%ebp)
484556:	f7 d8                	neg    %eax
484558:	68 bc 0c 4b 00       	push   $0x4b0cbc
48455d:	1b c0                	sbb    %eax,%eax
48455f:	f7 d0                	not    %eax
484561:	21 45 f8             	and    %eax,-0x8(%ebp)
484564:	8b 45 f4             	mov    -0xc(%ebp),%eax
484567:	89 45 f4             	mov    %eax,-0xc(%ebp)
48456a:	8b 45 fc             	mov    -0x4(%ebp),%eax
48456d:	83 c0 0c             	add    $0xc,%eax
484570:	89 45 fc             	mov    %eax,-0x4(%ebp)
484573:	ff 30                	push   (%eax)
484575:	6a 03                	push   $0x3
484577:	68 51 03 00 00       	push   $0x351
48457c:	57                   	push   %edi
48457d:	e8 59 fe ff ff       	call   0x4843db
484582:	8b 45 fc             	mov    -0x4(%ebp),%eax
484585:	83 c4 18             	add    $0x18,%esp
484588:	3d f4 31 4a 00       	cmp    $0x4a31f4,%eax
48458d:	0f 8c 6a ff ff ff    	jl     0x4844fd
484593:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
484597:	75 48                	jne    0x4845e1
484599:	8b 4e 28             	mov    0x28(%esi),%ecx
48459c:	83 cf ff             	or     $0xffffffff,%edi
48459f:	85 c9                	test   %ecx,%ecx
4845a1:	74 11                	je     0x4845b4
4845a3:	8b c7                	mov    %edi,%eax
4845a5:	f0 0f c1 01          	lock xadd %eax,(%ecx)
4845a9:	75 09                	jne    0x4845b4
4845ab:	ff 76 28             	push   0x28(%esi)
4845ae:	e8 45 12 00 00       	call   0x4857f8
4845b3:	59                   	pop    %ecx
4845b4:	8b 46 24             	mov    0x24(%esi),%eax
4845b7:	85 c0                	test   %eax,%eax
4845b9:	74 10                	je     0x4845cb
4845bb:	f0 0f c1 38          	lock xadd %edi,(%eax)
4845bf:	4f                   	dec    %edi
4845c0:	75 09                	jne    0x4845cb
4845c2:	ff 76 24             	push   0x24(%esi)
4845c5:	e8 2e 12 00 00       	call   0x4857f8
4845ca:	59                   	pop    %ecx
4845cb:	83 66 24 00          	andl   $0x0,0x24(%esi)
4845cf:	8d 43 04             	lea    0x4(%ebx),%eax
4845d2:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
4845d6:	89 5e 28             	mov    %ebx,0x28(%esi)
4845d9:	89 46 20             	mov    %eax,0x20(%esi)
4845dc:	5f                   	pop    %edi
4845dd:	5e                   	pop    %esi
4845de:	5b                   	pop    %ebx
4845df:	c9                   	leave
4845e0:	c3                   	ret
4845e1:	53                   	push   %ebx
4845e2:	e8 11 12 00 00       	call   0x4857f8
4845e7:	59                   	pop    %ecx
4845e8:	8b 4e 28             	mov    0x28(%esi),%ecx
4845eb:	83 cf ff             	or     $0xffffffff,%edi
4845ee:	85 c9                	test   %ecx,%ecx
4845f0:	74 11                	je     0x484603
4845f2:	8b c7                	mov    %edi,%eax
4845f4:	f0 0f c1 01          	lock xadd %eax,(%ecx)
4845f8:	75 09                	jne    0x484603
4845fa:	ff 76 28             	push   0x28(%esi)
4845fd:	e8 f6 11 00 00       	call   0x4857f8
484602:	59                   	pop    %ecx
484603:	8b 46 24             	mov    0x24(%esi),%eax
484606:	85 c0                	test   %eax,%eax
484608:	74 10                	je     0x48461a
48460a:	f0 0f c1 38          	lock xadd %edi,(%eax)
48460e:	4f                   	dec    %edi
48460f:	75 09                	jne    0x48461a
484611:	ff 76 24             	push   0x24(%esi)
484614:	e8 df 11 00 00       	call   0x4857f8
484619:	59                   	pop    %ecx
48461a:	33 c0                	xor    %eax,%eax
48461c:	89 46 24             	mov    %eax,0x24(%esi)
48461f:	89 46 1c             	mov    %eax,0x1c(%esi)
484622:	89 46 28             	mov    %eax,0x28(%esi)
484625:	89 46 20             	mov    %eax,0x20(%esi)
484628:	8b 46 40             	mov    0x40(%esi),%eax
48462b:	eb af                	jmp    0x4845dc
48462d:	33 c0                	xor    %eax,%eax
48462f:	50                   	push   %eax
484630:	50                   	push   %eax
484631:	50                   	push   %eax
484632:	50                   	push   %eax
484633:	50                   	push   %eax
484634:	e8 15 50 ff ff       	call   0x47964e
484639:	cc                   	int3
48463a:	8b ff                	mov    %edi,%edi
48463c:	55                   	push   %ebp
48463d:	8b ec                	mov    %esp,%ebp
48463f:	81 ec d0 01 00 00    	sub    $0x1d0,%esp
484645:	a1 14 40 4c 00       	mov    0x4c4014,%eax
48464a:	33 c5                	xor    %ebp,%eax
48464c:	89 45 fc             	mov    %eax,-0x4(%ebp)
48464f:	8b 45 0c             	mov    0xc(%ebp),%eax
484652:	53                   	push   %ebx
484653:	56                   	push   %esi
484654:	8b 75 10             	mov    0x10(%ebp),%esi
484657:	57                   	push   %edi
484658:	8b 7d 08             	mov    0x8(%ebp),%edi
48465b:	89 bd 38 fe ff ff    	mov    %edi,-0x1c8(%ebp)
484661:	85 c0                	test   %eax,%eax
484663:	74 21                	je     0x484686
484665:	85 f6                	test   %esi,%esi
484667:	74 10                	je     0x484679
484669:	56                   	push   %esi
48466a:	50                   	push   %eax
48466b:	57                   	push   %edi
48466c:	e8 b9 02 00 00       	call   0x48492a
484671:	83 c4 0c             	add    $0xc,%esp
484674:	e9 90 02 00 00       	jmp    0x484909
484679:	83 c0 02             	add    $0x2,%eax
48467c:	03 c0                	add    %eax,%eax
48467e:	8b 04 c7             	mov    (%edi,%eax,8),%eax
484681:	e9 83 02 00 00       	jmp    0x484909
484686:	33 c0                	xor    %eax,%eax
484688:	c7 85 3c fe ff ff 01 	movl   $0x1,-0x1c4(%ebp)
48468f:	00 00 00
484692:	89 85 30 fe ff ff    	mov    %eax,-0x1d0(%ebp)
484698:	8b d8                	mov    %eax,%ebx
48469a:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
4846a0:	85 f6                	test   %esi,%esi
4846a2:	0f 84 5a 02 00 00    	je     0x484902
4846a8:	66 83 3e 4c          	cmpw   $0x4c,(%esi)
4846ac:	0f 85 68 01 00 00    	jne    0x48481a
4846b2:	66 83 7e 02 43       	cmpw   $0x43,0x2(%esi)
4846b7:	0f 85 5d 01 00 00    	jne    0x48481a
4846bd:	66 83 7e 04 5f       	cmpw   $0x5f,0x4(%esi)
4846c2:	0f 85 52 01 00 00    	jne    0x48481a
4846c8:	68 7c 32 4a 00       	push   $0x4a327c
4846cd:	56                   	push   %esi
4846ce:	e8 a4 c8 00 00       	call   0x490f77
4846d3:	8b d8                	mov    %eax,%ebx
4846d5:	89 9d 34 fe ff ff    	mov    %ebx,-0x1cc(%ebp)
4846db:	59                   	pop    %ecx
4846dc:	59                   	pop    %ecx
4846dd:	85 db                	test   %ebx,%ebx
4846df:	0f 84 2e 01 00 00    	je     0x484813
4846e5:	2b c6                	sub    %esi,%eax
4846e7:	d1 f8                	sar    $1,%eax
4846e9:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
4846ef:	0f 84 1e 01 00 00    	je     0x484813
4846f5:	6a 3b                	push   $0x3b
4846f7:	58                   	pop    %eax
4846f8:	66 39 03             	cmp    %ax,(%ebx)
4846fb:	0f 84 12 01 00 00    	je     0x484813
484701:	8b bd 3c fe ff ff    	mov    -0x1c4(%ebp),%edi
484707:	bb c4 31 4a 00       	mov    $0x4a31c4,%ebx
48470c:	c7 85 40 fe ff ff 01 	movl   $0x1,-0x1c0(%ebp)
484713:	00 00 00
484716:	57                   	push   %edi
484717:	56                   	push   %esi
484718:	ff 33                	push   (%ebx)
48471a:	e8 28 5e ff ff       	call   0x47a547
48471f:	83 c4 0c             	add    $0xc,%esp
484722:	85 c0                	test   %eax,%eax
484724:	75 1c                	jne    0x484742
484726:	8b 0b                	mov    (%ebx),%ecx
484728:	8d 51 02             	lea    0x2(%ecx),%edx
48472b:	66 8b 01             	mov    (%ecx),%ax
48472e:	83 c1 02             	add    $0x2,%ecx
484731:	66 3b 85 30 fe ff ff 	cmp    -0x1d0(%ebp),%ax
484738:	75 f1                	jne    0x48472b
48473a:	2b ca                	sub    %edx,%ecx
48473c:	d1 f9                	sar    $1,%ecx
48473e:	3b f9                	cmp    %ecx,%edi
484740:	74 11                	je     0x484753
484742:	ff 85 40 fe ff ff    	incl   -0x1c0(%ebp)
484748:	83 c3 0c             	add    $0xc,%ebx
48474b:	81 fb f4 31 4a 00    	cmp    $0x4a31f4,%ebx
484751:	7e c3                	jle    0x484716
484753:	8b 9d 34 fe ff ff    	mov    -0x1cc(%ebp),%ebx
484759:	83 c3 02             	add    $0x2,%ebx
48475c:	68 84 32 4a 00       	push   $0x4a3284
484761:	53                   	push   %ebx
484762:	e8 b7 c7 00 00       	call   0x490f1e
484767:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
48476d:	8b f0                	mov    %eax,%esi
48476f:	59                   	pop    %ecx
484770:	59                   	pop    %ecx
484771:	85 f6                	test   %esi,%esi
484773:	75 0c                	jne    0x484781
484775:	6a 3b                	push   $0x3b
484777:	58                   	pop    %eax
484778:	66 39 03             	cmp    %ax,(%ebx)
48477b:	0f 85 92 00 00 00    	jne    0x484813
484781:	83 bd 40 fe ff ff 05 	cmpl   $0x5,-0x1c0(%ebp)
484788:	7f 5f                	jg     0x4847e9
48478a:	56                   	push   %esi
48478b:	53                   	push   %ebx
48478c:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
484792:	68 83 00 00 00       	push   $0x83
484797:	50                   	push   %eax
484798:	e8 71 b7 ff ff       	call   0x47ff0e
48479d:	83 c4 10             	add    $0x10,%esp
4847a0:	85 c0                	test   %eax,%eax
4847a2:	0f 85 75 01 00 00    	jne    0x48491d
4847a8:	8d 04 36             	lea    (%esi,%esi,1),%eax
4847ab:	3d 06 01 00 00       	cmp    $0x106,%eax
4847b0:	0f 83 62 01 00 00    	jae    0x484918
4847b6:	33 c9                	xor    %ecx,%ecx
4847b8:	66 89 8c 05 f4 fe ff 	mov    %cx,-0x10c(%ebp,%eax,1)
4847bf:	ff
4847c0:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
4847c6:	50                   	push   %eax
4847c7:	ff b5 40 fe ff ff    	push   -0x1c0(%ebp)
4847cd:	57                   	push   %edi
4847ce:	e8 57 01 00 00       	call   0x48492a
4847d3:	8b 8d 44 fe ff ff    	mov    -0x1bc(%ebp),%ecx
4847d9:	83 c4 0c             	add    $0xc,%esp
4847dc:	85 c0                	test   %eax,%eax
4847de:	74 0f                	je     0x4847ef
4847e0:	41                   	inc    %ecx
4847e1:	89 8d 44 fe ff ff    	mov    %ecx,-0x1bc(%ebp)
4847e7:	eb 06                	jmp    0x4847ef
4847e9:	8b 8d 44 fe ff ff    	mov    -0x1bc(%ebp),%ecx
4847ef:	8d 34 73             	lea    (%ebx,%esi,2),%esi
4847f2:	0f b7 06             	movzwl (%esi),%eax
4847f5:	8b d0                	mov    %eax,%edx
4847f7:	66 85 c0             	test   %ax,%ax
4847fa:	74 06                	je     0x484802
4847fc:	83 c6 02             	add    $0x2,%esi
4847ff:	0f b7 16             	movzwl (%esi),%edx
484802:	66 85 d2             	test   %dx,%dx
484805:	0f 85 bd fe ff ff    	jne    0x4846c8
48480b:	85 c9                	test   %ecx,%ecx
48480d:	0f 85 ef 00 00 00    	jne    0x484902
484813:	33 c0                	xor    %eax,%eax
484815:	e9 ef 00 00 00       	jmp    0x484909
48481a:	8d 85 34 fe ff ff    	lea    -0x1cc(%ebp),%eax
484820:	50                   	push   %eax
484821:	6a 55                	push   $0x55
484823:	8d 85 48 fe ff ff    	lea    -0x1b8(%ebp),%eax
484829:	50                   	push   %eax
48482a:	68 83 00 00 00       	push   $0x83
48482f:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
484835:	50                   	push   %eax
484836:	56                   	push   %esi
484837:	e8 d9 f7 ff ff       	call   0x484015
48483c:	83 c4 18             	add    $0x18,%esp
48483f:	85 c0                	test   %eax,%eax
484841:	0f 84 c2 00 00 00    	je     0x484909
484847:	33 c9                	xor    %ecx,%ecx
484849:	8d 57 20             	lea    0x20(%edi),%edx
48484c:	8b f1                	mov    %ecx,%esi
48484e:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
484854:	85 f6                	test   %esi,%esi
484856:	0f 84 81 00 00 00    	je     0x4848dd
48485c:	8b 0a                	mov    (%edx),%ecx
48485e:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
484864:	66 8b 38             	mov    (%eax),%di
484867:	66 3b 39             	cmp    (%ecx),%di
48486a:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
484870:	75 33                	jne    0x4848a5
484872:	66 83 38 00          	cmpw   $0x0,(%eax)
484876:	74 27                	je     0x48489f
484878:	66 8b 50 02          	mov    0x2(%eax),%dx
48487c:	66 3b 51 02          	cmp    0x2(%ecx),%dx
484880:	66 89 95 42 fe ff ff 	mov    %dx,-0x1be(%ebp)
484887:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
48488d:	75 16                	jne    0x4848a5
48488f:	83 c0 04             	add    $0x4,%eax
484892:	83 c1 04             	add    $0x4,%ecx
484895:	66 83 bd 42 fe ff ff 	cmpw   $0x0,-0x1be(%ebp)
48489c:	00
48489d:	75 c5                	jne    0x484864
48489f:	33 c9                	xor    %ecx,%ecx
4848a1:	8b c1                	mov    %ecx,%eax
4848a3:	eb 07                	jmp    0x4848ac
4848a5:	1b c0                	sbb    %eax,%eax
4848a7:	83 c8 01             	or     $0x1,%eax
4848aa:	33 c9                	xor    %ecx,%ecx
4848ac:	85 c0                	test   %eax,%eax
4848ae:	74 2c                	je     0x4848dc
4848b0:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
4848b6:	50                   	push   %eax
4848b7:	56                   	push   %esi
4848b8:	57                   	push   %edi
4848b9:	e8 6c 00 00 00       	call   0x48492a