41737f:	5e                   	pop    %esi
417380:	5b                   	pop    %ebx
417381:	8b e5                	mov    %ebp,%esp
417383:	5d                   	pop    %ebp
417384:	c3                   	ret
417385:	53                   	push   %ebx
417386:	e8 85 d9 ff ff       	call   0x414d10
41738b:	59                   	pop    %ecx
41738c:	8b 4e 28             	mov    0x28(%esi),%ecx
41738f:	83 cf ff             	or     $0xffffffff,%edi
417392:	85 c9                	test   %ecx,%ecx
417394:	74 11                	je     0x4173a7
417396:	8b c7                	mov    %edi,%eax
417398:	f0 0f c1 01          	lock xadd %eax,(%ecx)
41739c:	75 09                	jne    0x4173a7
41739e:	ff 76 28             	push   0x28(%esi)
4173a1:	e8 6a d9 ff ff       	call   0x414d10
4173a6:	59                   	pop    %ecx
4173a7:	8b 46 24             	mov    0x24(%esi),%eax
4173aa:	85 c0                	test   %eax,%eax
4173ac:	74 10                	je     0x4173be
4173ae:	f0 0f c1 38          	lock xadd %edi,(%eax)
4173b2:	4f                   	dec    %edi
4173b3:	75 09                	jne    0x4173be
4173b5:	ff 76 24             	push   0x24(%esi)
4173b8:	e8 53 d9 ff ff       	call   0x414d10
4173bd:	59                   	pop    %ecx
4173be:	33 c0                	xor    %eax,%eax
4173c0:	89 46 24             	mov    %eax,0x24(%esi)
4173c3:	89 46 1c             	mov    %eax,0x1c(%esi)
4173c6:	89 46 28             	mov    %eax,0x28(%esi)
4173c9:	89 46 20             	mov    %eax,0x20(%esi)
4173cc:	8b 46 40             	mov    0x40(%esi),%eax
4173cf:	eb ad                	jmp    0x41737e
4173d1:	33 c0                	xor    %eax,%eax
4173d3:	50                   	push   %eax
4173d4:	50                   	push   %eax
4173d5:	50                   	push   %eax
4173d6:	50                   	push   %eax
4173d7:	50                   	push   %eax
4173d8:	e8 32 49 ff ff       	call   0x40bd0f
4173dd:	cc                   	int3
4173de:	8b ff                	mov    %edi,%edi
4173e0:	55                   	push   %ebp
4173e1:	8b ec                	mov    %esp,%ebp
4173e3:	81 ec d0 01 00 00    	sub    $0x1d0,%esp
4173e9:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4173ee:	33 c5                	xor    %ebp,%eax
4173f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4173f3:	8b 45 0c             	mov    0xc(%ebp),%eax
4173f6:	53                   	push   %ebx
4173f7:	56                   	push   %esi
4173f8:	8b 75 10             	mov    0x10(%ebp),%esi
4173fb:	57                   	push   %edi
4173fc:	8b 7d 08             	mov    0x8(%ebp),%edi
4173ff:	89 bd 38 fe ff ff    	mov    %edi,-0x1c8(%ebp)
417405:	85 c0                	test   %eax,%eax
417407:	74 21                	je     0x41742a
417409:	85 f6                	test   %esi,%esi
41740b:	74 10                	je     0x41741d
41740d:	56                   	push   %esi
41740e:	50                   	push   %eax
41740f:	57                   	push   %edi
417410:	e8 ae 02 00 00       	call   0x4176c3
417415:	83 c4 0c             	add    $0xc,%esp
417418:	e9 83 02 00 00       	jmp    0x4176a0
41741d:	83 c0 02             	add    $0x2,%eax
417420:	03 c0                	add    %eax,%eax
417422:	8b 04 c7             	mov    (%edi,%eax,8),%eax
417425:	e9 76 02 00 00       	jmp    0x4176a0
41742a:	33 c0                	xor    %eax,%eax
41742c:	c7 85 40 fe ff ff 01 	movl   $0x1,-0x1c0(%ebp)
417433:	00 00 00
417436:	89 85 34 fe ff ff    	mov    %eax,-0x1cc(%ebp)
41743c:	8b d8                	mov    %eax,%ebx
41743e:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
417444:	85 f6                	test   %esi,%esi
417446:	0f 84 4d 02 00 00    	je     0x417699
41744c:	66 83 3e 4c          	cmpw   $0x4c,(%esi)
417450:	0f 85 61 01 00 00    	jne    0x4175b7
417456:	66 83 7e 02 43       	cmpw   $0x43,0x2(%esi)
41745b:	0f 85 56 01 00 00    	jne    0x4175b7
417461:	66 83 7e 04 5f       	cmpw   $0x5f,0x4(%esi)
417466:	0f 85 4b 01 00 00    	jne    0x4175b7
41746c:	68 88 c7 42 00       	push   $0x42c788
417471:	56                   	push   %esi
417472:	e8 1e 93 00 00       	call   0x420795
417477:	8b d8                	mov    %eax,%ebx
417479:	89 9d 30 fe ff ff    	mov    %ebx,-0x1d0(%ebp)
41747f:	59                   	pop    %ecx
417480:	59                   	pop    %ecx
417481:	85 db                	test   %ebx,%ebx
417483:	0f 84 27 01 00 00    	je     0x4175b0
417489:	2b c6                	sub    %esi,%eax
41748b:	d1 f8                	sar    $1,%eax
41748d:	89 85 40 fe ff ff    	mov    %eax,-0x1c0(%ebp)
417493:	0f 84 17 01 00 00    	je     0x4175b0
417499:	6a 3b                	push   $0x3b
41749b:	58                   	pop    %eax
41749c:	66 39 03             	cmp    %ax,(%ebx)
41749f:	0f 84 0b 01 00 00    	je     0x4175b0
4174a5:	8b bd 40 fe ff ff    	mov    -0x1c0(%ebp),%edi
4174ab:	bb 4c c6 42 00       	mov    $0x42c64c,%ebx
4174b0:	c7 85 3c fe ff ff 01 	movl   $0x1,-0x1c4(%ebp)
4174b7:	00 00 00
4174ba:	57                   	push   %edi
4174bb:	56                   	push   %esi
4174bc:	ff 33                	push   (%ebx)
4174be:	e8 98 92 00 00       	call   0x42075b
4174c3:	83 c4 0c             	add    $0xc,%esp
4174c6:	85 c0                	test   %eax,%eax
4174c8:	75 1c                	jne    0x4174e6
4174ca:	8b 0b                	mov    (%ebx),%ecx
4174cc:	8d 51 02             	lea    0x2(%ecx),%edx
4174cf:	66 8b 01             	mov    (%ecx),%ax
4174d2:	83 c1 02             	add    $0x2,%ecx
4174d5:	66 3b 85 34 fe ff ff 	cmp    -0x1cc(%ebp),%ax
4174dc:	75 f1                	jne    0x4174cf
4174de:	2b ca                	sub    %edx,%ecx
4174e0:	d1 f9                	sar    $1,%ecx
4174e2:	3b f9                	cmp    %ecx,%edi
4174e4:	74 11                	je     0x4174f7
4174e6:	ff 85 3c fe ff ff    	incl   -0x1c4(%ebp)
4174ec:	83 c3 0c             	add    $0xc,%ebx
4174ef:	81 fb 7c c6 42 00    	cmp    $0x42c67c,%ebx
4174f5:	7e c3                	jle    0x4174ba
4174f7:	8b 9d 30 fe ff ff    	mov    -0x1d0(%ebp),%ebx
4174fd:	83 c3 02             	add    $0x2,%ebx
417500:	68 90 c7 42 00       	push   $0x42c790
417505:	53                   	push   %ebx
417506:	e8 00 92 00 00       	call   0x42070b
41750b:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
417511:	8b f0                	mov    %eax,%esi
417513:	59                   	pop    %ecx
417514:	59                   	pop    %ecx
417515:	85 f6                	test   %esi,%esi
417517:	75 0c                	jne    0x417525
417519:	6a 3b                	push   $0x3b
41751b:	58                   	pop    %eax
41751c:	66 39 03             	cmp    %ax,(%ebx)
41751f:	0f 85 8b 00 00 00    	jne    0x4175b0
417525:	83 bd 3c fe ff ff 05 	cmpl   $0x5,-0x1c4(%ebp)
41752c:	7f 5f                	jg     0x41758d
41752e:	56                   	push   %esi
41752f:	53                   	push   %ebx
417530:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
417536:	68 83 00 00 00       	push   $0x83
41753b:	50                   	push   %eax
41753c:	e8 dc 83 00 00       	call   0x41f91d
417541:	83 c4 10             	add    $0x10,%esp
417544:	85 c0                	test   %eax,%eax
417546:	0f 85 6a 01 00 00    	jne    0x4176b6
41754c:	8d 04 36             	lea    (%esi,%esi,1),%eax
41754f:	3d 06 01 00 00       	cmp    $0x106,%eax
417554:	0f 83 57 01 00 00    	jae    0x4176b1
41755a:	33 c9                	xor    %ecx,%ecx
41755c:	66 89 8c 05 f4 fe ff 	mov    %cx,-0x10c(%ebp,%eax,1)
417563:	ff
417564:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
41756a:	50                   	push   %eax
41756b:	ff b5 3c fe ff ff    	push   -0x1c4(%ebp)
417571:	57                   	push   %edi
417572:	e8 4c 01 00 00       	call   0x4176c3
417577:	83 c4 0c             	add    $0xc,%esp
41757a:	85 c0                	test   %eax,%eax
41757c:	8b 85 44 fe ff ff    	mov    -0x1bc(%ebp),%eax
417582:	74 0f                	je     0x417593
417584:	40                   	inc    %eax
417585:	89 85 44 fe ff ff    	mov    %eax,-0x1bc(%ebp)
41758b:	eb 06                	jmp    0x417593
41758d:	8b 85 44 fe ff ff    	mov    -0x1bc(%ebp),%eax
417593:	8d 34 73             	lea    (%ebx,%esi,2),%esi
417596:	33 c9                	xor    %ecx,%ecx
417598:	66 39 0e             	cmp    %cx,(%esi)
41759b:	74 0c                	je     0x4175a9
41759d:	83 c6 02             	add    $0x2,%esi
4175a0:	66 39 0e             	cmp    %cx,(%esi)
4175a3:	0f 85 c3 fe ff ff    	jne    0x41746c
4175a9:	85 c0                	test   %eax,%eax
4175ab:	e9 e3 00 00 00       	jmp    0x417693
4175b0:	33 c0                	xor    %eax,%eax
4175b2:	e9 e9 00 00 00       	jmp    0x4176a0
4175b7:	50                   	push   %eax
4175b8:	6a 55                	push   $0x55
4175ba:	8d 85 48 fe ff ff    	lea    -0x1b8(%ebp),%eax
4175c0:	50                   	push   %eax
4175c1:	68 83 00 00 00       	push   $0x83
4175c6:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
4175cc:	50                   	push   %eax
4175cd:	56                   	push   %esi
4175ce:	e8 3a f8 ff ff       	call   0x416e0d
4175d3:	83 c4 18             	add    $0x18,%esp
4175d6:	85 c0                	test   %eax,%eax
4175d8:	0f 84 c2 00 00 00    	je     0x4176a0
4175de:	33 c9                	xor    %ecx,%ecx
4175e0:	8d 57 20             	lea    0x20(%edi),%edx
4175e3:	8b f1                	mov    %ecx,%esi
4175e5:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
4175eb:	85 f6                	test   %esi,%esi
4175ed:	0f 84 81 00 00 00    	je     0x417674
4175f3:	8b 0a                	mov    (%edx),%ecx
4175f5:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
4175fb:	66 8b 38             	mov    (%eax),%di
4175fe:	66 3b 39             	cmp    (%ecx),%di
417601:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
417607:	75 33                	jne    0x41763c
417609:	66 83 38 00          	cmpw   $0x0,(%eax)
41760d:	74 27                	je     0x417636
41760f:	66 8b 50 02          	mov    0x2(%eax),%dx
417613:	66 3b 51 02          	cmp    0x2(%ecx),%dx
417617:	66 89 95 3e fe ff ff 	mov    %dx,-0x1c2(%ebp)
41761e:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
417624:	75 16                	jne    0x41763c
417626:	83 c0 04             	add    $0x4,%eax
417629:	83 c1 04             	add    $0x4,%ecx
41762c:	66 83 bd 3e fe ff ff 	cmpw   $0x0,-0x1c2(%ebp)
417633:	00
417634:	75 c5                	jne    0x4175fb
417636:	33 c9                	xor    %ecx,%ecx
417638:	8b c1                	mov    %ecx,%eax
41763a:	eb 07                	jmp    0x417643
41763c:	1b c0                	sbb    %eax,%eax
41763e:	83 c8 01             	or     $0x1,%eax
417641:	33 c9                	xor    %ecx,%ecx
417643:	85 c0                	test   %eax,%eax
417645:	74 2c                	je     0x417673
417647:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
41764d:	50                   	push   %eax
41764e:	56                   	push   %esi
41764f:	57                   	push   %edi
417650:	e8 6e 00 00 00       	call   0x4176c3
417655:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
41765b:	83 c4 0c             	add    $0xc,%esp
41765e:	85 c0                	test   %eax,%eax
417660:	74 05                	je     0x417667
417662:	43                   	inc    %ebx
417663:	33 c9                	xor    %ecx,%ecx
417665:	eb 0d                	jmp    0x417674
417667:	33 c9                	xor    %ecx,%ecx
417669:	8b c1                	mov    %ecx,%eax
41766b:	89 85 40 fe ff ff    	mov    %eax,-0x1c0(%ebp)
417671:	eb 07                	jmp    0x41767a
417673:	43                   	inc    %ebx
417674:	8b 85 40 fe ff ff    	mov    -0x1c0(%ebp),%eax
41767a:	46                   	inc    %esi
41767b:	83 c2 10             	add    $0x10,%edx
41767e:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
417684:	83 fe 05             	cmp    $0x5,%esi
417687:	0f 8e 5e ff ff ff    	jle    0x4175eb
41768d:	85 c0                	test   %eax,%eax
41768f:	75 08                	jne    0x417699
417691:	85 db                	test   %ebx,%ebx
417693:	75 04                	jne    0x417699
417695:	8b c1                	mov    %ecx,%eax
417697:	eb 07                	jmp    0x4176a0
417699:	57                   	push   %edi
41769a:	e8 a6 fb ff ff       	call   0x417245
41769f:	59                   	pop    %ecx
4176a0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4176a3:	5f                   	pop    %edi
4176a4:	5e                   	pop    %esi
4176a5:	33 cd                	xor    %ebp,%ecx
4176a7:	5b                   	pop    %ebx
4176a8:	e8 b3 f9 fe ff       	call   0x407060
4176ad:	8b e5                	mov    %ebp,%esp
4176af:	5d                   	pop    %ebp
4176b0:	c3                   	ret
4176b1:	e8 53 02 ff ff       	call   0x407909
4176b6:	33 c0                	xor    %eax,%eax
4176b8:	50                   	push   %eax
4176b9:	50                   	push   %eax
4176ba:	50                   	push   %eax
4176bb:	50                   	push   %eax
4176bc:	50                   	push   %eax
4176bd:	e8 4d 46 ff ff       	call   0x40bd0f
4176c2:	cc                   	int3
4176c3:	8b ff                	mov    %edi,%edi
4176c5:	55                   	push   %ebp
4176c6:	8b ec                	mov    %esp,%ebp
4176c8:	81 ec e4 02 00 00    	sub    $0x2e4,%esp
4176ce:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4176d3:	33 c5                	xor    %ebp,%eax
4176d5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4176d8:	53                   	push   %ebx
4176d9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4176dc:	56                   	push   %esi
4176dd:	8b 75 10             	mov    0x10(%ebp),%esi
4176e0:	57                   	push   %edi
4176e1:	8b 7d 08             	mov    0x8(%ebp),%edi
4176e4:	89 9d 1c fd ff ff    	mov    %ebx,-0x2e4(%ebp)
4176ea:	e8 6d 14 00 00       	call   0x418b5c
4176ef:	05 78 02 00 00       	add    $0x278,%eax
4176f4:	89 85 2c fd ff ff    	mov    %eax,-0x2d4(%ebp)
4176fa:	8d 85 40 fd ff ff    	lea    -0x2c0(%ebp),%eax
417700:	50                   	push   %eax
417701:	6a 55                	push   $0x55
417703:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
417709:	50                   	push   %eax
41770a:	68 83 00 00 00       	push   $0x83
41770f:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
417715:	50                   	push   %eax
417716:	56                   	push   %esi
417717:	e8 f1 f6 ff ff       	call   0x416e0d
41771c:	83 c4 18             	add    $0x18,%esp
41771f:	85 c0                	test   %eax,%eax
417721:	75 13                	jne    0x417736
417723:	33 c0                	xor    %eax,%eax
417725:	8b 4d fc             	mov    -0x4(%ebp),%ecx
417728:	5f                   	pop    %edi
417729:	5e                   	pop    %esi
41772a:	33 cd                	xor    %ebp,%ecx
41772c:	5b                   	pop    %ebx
41772d:	e8 2e f9 fe ff       	call   0x407060
417732:	8b e5                	mov    %ebp,%esp
417734:	5d                   	pop    %ebp
417735:	c3                   	ret
417736:	8d 73 02             	lea    0x2(%ebx),%esi
417739:	c1 e6 04             	shl    $0x4,%esi
41773c:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
417742:	89 b5 38 fd ff ff    	mov    %esi,-0x2c8(%ebp)
417748:	8b 14 3e             	mov    (%esi,%edi,1),%edx
41774b:	8b ca                	mov    %edx,%ecx
41774d:	66 8b 30             	mov    (%eax),%si
417750:	83 a5 44 fd ff ff 00 	andl   $0x0,-0x2bc(%ebp)
417757:	66 3b 31             	cmp    (%ecx),%si
41775a:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
417760:	75 35                	jne    0x417797
417762:	66 83 38 00          	cmpw   $0x0,(%eax)
417766:	74 27                	je     0x41778f
417768:	66 8b 70 02          	mov    0x2(%eax),%si
41776c:	66 3b 71 02          	cmp    0x2(%ecx),%si
417770:	66 89 b5 3e fd ff ff 	mov    %si,-0x2c2(%ebp)
417777:	8b b5 38 fd ff ff    	mov    -0x2c8(%ebp),%esi
41777d:	75 18                	jne    0x417797
41777f:	83 c0 04             	add    $0x4,%eax
417782:	83 c1 04             	add    $0x4,%ecx
417785:	66 83 bd 3e fd ff ff 	cmpw   $0x0,-0x2c2(%ebp)
41778c:	00
41778d:	75 be                	jne    0x41774d
41778f:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
417795:	eb 05                	jmp    0x41779c
417797:	1b c0                	sbb    %eax,%eax
417799:	83 c8 01             	or     $0x1,%eax
41779c:	85 c0                	test   %eax,%eax
41779e:	75 04                	jne    0x4177a4
4177a0:	8b c2                	mov    %edx,%eax
4177a2:	eb 81                	jmp    0x417725
4177a4:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
4177aa:	8d 51 02             	lea    0x2(%ecx),%edx
4177ad:	66 8b 01             	mov    (%ecx),%ax