60339b:	89 45 ec             	mov    %eax,-0x14(%ebp)
60339e:	8d 45 f0             	lea    -0x10(%ebp),%eax
6033a1:	89 45 d8             	mov    %eax,-0x28(%ebp)
6033a4:	8d 45 f8             	lea    -0x8(%ebp),%eax
6033a7:	89 45 dc             	mov    %eax,-0x24(%ebp)
6033aa:	8d 45 f4             	lea    -0xc(%ebp),%eax
6033ad:	89 45 e0             	mov    %eax,-0x20(%ebp)
6033b0:	8d 45 08             	lea    0x8(%ebp),%eax
6033b3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
6033b6:	8d 45 0c             	lea    0xc(%ebp),%eax
6033b9:	89 45 e8             	mov    %eax,-0x18(%ebp)
6033bc:	8d 45 ec             	lea    -0x14(%ebp),%eax
6033bf:	50                   	push   %eax
6033c0:	8d 45 d8             	lea    -0x28(%ebp),%eax
6033c3:	50                   	push   %eax
6033c4:	8d 45 ff             	lea    -0x1(%ebp),%eax
6033c7:	50                   	push   %eax
6033c8:	e8 37 f5 ff ff       	call   0x602904
6033cd:	8b 45 f4             	mov    -0xc(%ebp),%eax
6033d0:	c9                   	leave
6033d1:	c3                   	ret
6033d2:	8b ff                	mov    %edi,%edi
6033d4:	55                   	push   %ebp
6033d5:	8b ec                	mov    %esp,%ebp
6033d7:	83 ec 10             	sub    $0x10,%esp
6033da:	53                   	push   %ebx
6033db:	56                   	push   %esi
6033dc:	33 f6                	xor    %esi,%esi
6033de:	46                   	inc    %esi
6033df:	68 a6 06 00 00       	push   $0x6a6
6033e4:	89 75 f8             	mov    %esi,-0x8(%ebp)
6033e7:	e8 09 2a 00 00       	call   0x605df5
6033ec:	8b d8                	mov    %eax,%ebx
6033ee:	33 c0                	xor    %eax,%eax
6033f0:	59                   	pop    %ecx
6033f1:	85 db                	test   %ebx,%ebx
6033f3:	0f 84 17 01 00 00    	je     0x603510
6033f9:	57                   	push   %edi
6033fa:	8d 7b 04             	lea    0x4(%ebx),%edi
6033fd:	66 89 07             	mov    %ax,(%edi)
603400:	89 33                	mov    %esi,(%ebx)
603402:	8b 75 08             	mov    0x8(%ebp),%esi
603405:	8d 46 30             	lea    0x30(%esi),%eax
603408:	ff 30                	push   (%eax)
60340a:	89 45 f4             	mov    %eax,-0xc(%ebp)
60340d:	68 80 ae 68 00       	push   $0x68ae80
603412:	ff 35 fc 44 6d 00    	push   0x6d44fc
603418:	6a 03                	push   $0x3
60341a:	68 51 03 00 00       	push   $0x351
60341f:	57                   	push   %edi
603420:	e8 e9 fe ff ff       	call   0x60330e
603425:	b8 fc 44 6d 00       	mov    $0x6d44fc,%eax
60342a:	83 c4 18             	add    $0x18,%esp
60342d:	89 45 fc             	mov    %eax,-0x4(%ebp)
603430:	68 bc 45 6d 00       	push   $0x6d45bc
603435:	68 51 03 00 00       	push   $0x351
60343a:	57                   	push   %edi
60343b:	e8 8a 8d ff ff       	call   0x5fc1ca
603440:	83 c4 0c             	add    $0xc,%esp
603443:	85 c0                	test   %eax,%eax
603445:	0f 85 15 01 00 00    	jne    0x603560
60344b:	8b 45 f4             	mov    -0xc(%ebp),%eax
60344e:	8d 48 10             	lea    0x10(%eax),%ecx
603451:	8b 00                	mov    (%eax),%eax
603453:	89 4d f4             	mov    %ecx,-0xc(%ebp)
603456:	8b 09                	mov    (%ecx),%ecx
603458:	89 4d f0             	mov    %ecx,-0x10(%ebp)
60345b:	66 8b 10             	mov    (%eax),%dx
60345e:	66 3b 11             	cmp    (%ecx),%dx
603461:	75 1e                	jne    0x603481
603463:	66 85 d2             	test   %dx,%dx
603466:	74 15                	je     0x60347d
603468:	66 8b 50 02          	mov    0x2(%eax),%dx
60346c:	66 3b 51 02          	cmp    0x2(%ecx),%dx
603470:	75 0f                	jne    0x603481
603472:	83 c0 04             	add    $0x4,%eax
603475:	83 c1 04             	add    $0x4,%ecx
603478:	66 85 d2             	test   %dx,%dx
60347b:	75 de                	jne    0x60345b
60347d:	33 c0                	xor    %eax,%eax
60347f:	eb 05                	jmp    0x603486
603481:	1b c0                	sbb    %eax,%eax
603483:	83 c8 01             	or     $0x1,%eax
603486:	ff 75 f0             	push   -0x10(%ebp)
603489:	f7 d8                	neg    %eax
60348b:	68 80 ae 68 00       	push   $0x68ae80
603490:	1b c0                	sbb    %eax,%eax
603492:	f7 d0                	not    %eax
603494:	21 45 f8             	and    %eax,-0x8(%ebp)
603497:	8b 45 f4             	mov    -0xc(%ebp),%eax
60349a:	89 45 f4             	mov    %eax,-0xc(%ebp)
60349d:	8b 45 fc             	mov    -0x4(%ebp),%eax
6034a0:	83 c0 0c             	add    $0xc,%eax
6034a3:	89 45 fc             	mov    %eax,-0x4(%ebp)
6034a6:	ff 30                	push   (%eax)
6034a8:	6a 03                	push   $0x3
6034aa:	68 51 03 00 00       	push   $0x351
6034af:	57                   	push   %edi
6034b0:	e8 59 fe ff ff       	call   0x60330e
6034b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
6034b8:	83 c4 18             	add    $0x18,%esp
6034bb:	3d 2c 45 6d 00       	cmp    $0x6d452c,%eax
6034c0:	0f 8c 6a ff ff ff    	jl     0x603430
6034c6:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
6034ca:	75 48                	jne    0x603514
6034cc:	8b 4e 28             	mov    0x28(%esi),%ecx
6034cf:	83 cf ff             	or     $0xffffffff,%edi
6034d2:	85 c9                	test   %ecx,%ecx
6034d4:	74 11                	je     0x6034e7
6034d6:	8b c7                	mov    %edi,%eax
6034d8:	f0 0f c1 01          	lock xadd %eax,(%ecx)
6034dc:	75 09                	jne    0x6034e7
6034de:	ff 76 28             	push   0x28(%esi)
6034e1:	e8 42 13 00 00       	call   0x604828
6034e6:	59                   	pop    %ecx
6034e7:	8b 46 24             	mov    0x24(%esi),%eax
6034ea:	85 c0                	test   %eax,%eax
6034ec:	74 10                	je     0x6034fe
6034ee:	f0 0f c1 38          	lock xadd %edi,(%eax)
6034f2:	4f                   	dec    %edi
6034f3:	75 09                	jne    0x6034fe
6034f5:	ff 76 24             	push   0x24(%esi)
6034f8:	e8 2b 13 00 00       	call   0x604828
6034fd:	59                   	pop    %ecx
6034fe:	83 66 24 00          	andl   $0x0,0x24(%esi)
603502:	8d 43 04             	lea    0x4(%ebx),%eax
603505:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
603509:	89 5e 28             	mov    %ebx,0x28(%esi)
60350c:	89 46 20             	mov    %eax,0x20(%esi)
60350f:	5f                   	pop    %edi
603510:	5e                   	pop    %esi
603511:	5b                   	pop    %ebx
603512:	c9                   	leave
603513:	c3                   	ret
603514:	53                   	push   %ebx
603515:	e8 0e 13 00 00       	call   0x604828
60351a:	59                   	pop    %ecx
60351b:	8b 4e 28             	mov    0x28(%esi),%ecx
60351e:	83 cf ff             	or     $0xffffffff,%edi
603521:	85 c9                	test   %ecx,%ecx
603523:	74 11                	je     0x603536
603525:	8b c7                	mov    %edi,%eax
603527:	f0 0f c1 01          	lock xadd %eax,(%ecx)
60352b:	75 09                	jne    0x603536
60352d:	ff 76 28             	push   0x28(%esi)
603530:	e8 f3 12 00 00       	call   0x604828
603535:	59                   	pop    %ecx
603536:	8b 46 24             	mov    0x24(%esi),%eax
603539:	85 c0                	test   %eax,%eax
60353b:	74 10                	je     0x60354d
60353d:	f0 0f c1 38          	lock xadd %edi,(%eax)
603541:	4f                   	dec    %edi
603542:	75 09                	jne    0x60354d
603544:	ff 76 24             	push   0x24(%esi)
603547:	e8 dc 12 00 00       	call   0x604828
60354c:	59                   	pop    %ecx
60354d:	33 c0                	xor    %eax,%eax
60354f:	89 46 24             	mov    %eax,0x24(%esi)
603552:	89 46 1c             	mov    %eax,0x1c(%esi)
603555:	89 46 28             	mov    %eax,0x28(%esi)
603558:	89 46 20             	mov    %eax,0x20(%esi)
60355b:	8b 46 40             	mov    0x40(%esi),%eax
60355e:	eb af                	jmp    0x60350f
603560:	33 c0                	xor    %eax,%eax
603562:	50                   	push   %eax
603563:	50                   	push   %eax
603564:	50                   	push   %eax
603565:	50                   	push   %eax
603566:	50                   	push   %eax
603567:	e8 e0 99 fe ff       	call   0x5ecf4c
60356c:	cc                   	int3
60356d:	8b ff                	mov    %edi,%edi
60356f:	55                   	push   %ebp
603570:	8b ec                	mov    %esp,%ebp
603572:	81 ec d0 01 00 00    	sub    $0x1d0,%esp
603578:	a1 d4 89 72 00       	mov    0x7289d4,%eax
60357d:	33 c5                	xor    %ebp,%eax
60357f:	89 45 fc             	mov    %eax,-0x4(%ebp)
603582:	8b 45 0c             	mov    0xc(%ebp),%eax
603585:	53                   	push   %ebx
603586:	56                   	push   %esi
603587:	8b 75 10             	mov    0x10(%ebp),%esi
60358a:	57                   	push   %edi
60358b:	8b 7d 08             	mov    0x8(%ebp),%edi
60358e:	89 bd 38 fe ff ff    	mov    %edi,-0x1c8(%ebp)
603594:	85 c0                	test   %eax,%eax
603596:	74 21                	je     0x6035b9
603598:	85 f6                	test   %esi,%esi
60359a:	74 10                	je     0x6035ac
60359c:	56                   	push   %esi
60359d:	50                   	push   %eax
60359e:	57                   	push   %edi
60359f:	e8 b9 02 00 00       	call   0x60385d
6035a4:	83 c4 0c             	add    $0xc,%esp
6035a7:	e9 90 02 00 00       	jmp    0x60383c
6035ac:	83 c0 02             	add    $0x2,%eax
6035af:	03 c0                	add    %eax,%eax
6035b1:	8b 04 c7             	mov    (%edi,%eax,8),%eax
6035b4:	e9 83 02 00 00       	jmp    0x60383c
6035b9:	33 c0                	xor    %eax,%eax
6035bb:	c7 85 3c fe ff ff 01 	movl   $0x1,-0x1c4(%ebp)
6035c2:	00 00 00
6035c5:	89 85 30 fe ff ff    	mov    %eax,-0x1d0(%ebp)
6035cb:	8b d8                	mov    %eax,%ebx
6035cd:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
6035d3:	85 f6                	test   %esi,%esi
6035d5:	0f 84 5a 02 00 00    	je     0x603835
6035db:	66 83 3e 4c          	cmpw   $0x4c,(%esi)
6035df:	0f 85 68 01 00 00    	jne    0x60374d
6035e5:	66 83 7e 02 43       	cmpw   $0x43,0x2(%esi)
6035ea:	0f 85 5d 01 00 00    	jne    0x60374d
6035f0:	66 83 7e 04 5f       	cmpw   $0x5f,0x4(%esi)
6035f5:	0f 85 52 01 00 00    	jne    0x60374d
6035fb:	68 b4 45 6d 00       	push   $0x6d45b4
603600:	56                   	push   %esi
603601:	e8 57 5b 00 00       	call   0x60915d
603606:	8b d8                	mov    %eax,%ebx
603608:	89 9d 34 fe ff ff    	mov    %ebx,-0x1cc(%ebp)
60360e:	59                   	pop    %ecx
60360f:	59                   	pop    %ecx
603610:	85 db                	test   %ebx,%ebx
603612:	0f 84 2e 01 00 00    	je     0x603746
603618:	2b c6                	sub    %esi,%eax
60361a:	d1 f8                	sar    $1,%eax
60361c:	89 85 3c fe ff ff    	mov    %eax,-0x1c4(%ebp)
603622:	0f 84 1e 01 00 00    	je     0x603746
603628:	6a 3b                	push   $0x3b
60362a:	58                   	pop    %eax
60362b:	66 39 03             	cmp    %ax,(%ebx)
60362e:	0f 84 12 01 00 00    	je     0x603746
603634:	8b bd 3c fe ff ff    	mov    -0x1c4(%ebp),%edi
60363a:	bb fc 44 6d 00       	mov    $0x6d44fc,%ebx
60363f:	c7 85 40 fe ff ff 01 	movl   $0x1,-0x1c0(%ebp)
603646:	00 00 00
603649:	57                   	push   %edi
60364a:	56                   	push   %esi
60364b:	ff 33                	push   (%ebx)
60364d:	e8 15 7b ff ff       	call   0x5fb167
603652:	83 c4 0c             	add    $0xc,%esp
603655:	85 c0                	test   %eax,%eax
603657:	75 1c                	jne    0x603675
603659:	8b 0b                	mov    (%ebx),%ecx
60365b:	8d 51 02             	lea    0x2(%ecx),%edx
60365e:	66 8b 01             	mov    (%ecx),%ax
603661:	83 c1 02             	add    $0x2,%ecx
603664:	66 3b 85 30 fe ff ff 	cmp    -0x1d0(%ebp),%ax
60366b:	75 f1                	jne    0x60365e
60366d:	2b ca                	sub    %edx,%ecx
60366f:	d1 f9                	sar    $1,%ecx
603671:	3b f9                	cmp    %ecx,%edi
603673:	74 11                	je     0x603686
603675:	ff 85 40 fe ff ff    	incl   -0x1c0(%ebp)
60367b:	83 c3 0c             	add    $0xc,%ebx
60367e:	81 fb 2c 45 6d 00    	cmp    $0x6d452c,%ebx
603684:	7e c3                	jle    0x603649
603686:	8b 9d 34 fe ff ff    	mov    -0x1cc(%ebp),%ebx
60368c:	83 c3 02             	add    $0x2,%ebx
60368f:	68 bc 45 6d 00       	push   $0x6d45bc
603694:	53                   	push   %ebx
603695:	e8 51 b3 00 00       	call   0x60e9eb
60369a:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
6036a0:	8b f0                	mov    %eax,%esi
6036a2:	59                   	pop    %ecx
6036a3:	59                   	pop    %ecx
6036a4:	85 f6                	test   %esi,%esi
6036a6:	75 0c                	jne    0x6036b4
6036a8:	6a 3b                	push   $0x3b
6036aa:	58                   	pop    %eax
6036ab:	66 39 03             	cmp    %ax,(%ebx)
6036ae:	0f 85 92 00 00 00    	jne    0x603746
6036b4:	83 bd 40 fe ff ff 05 	cmpl   $0x5,-0x1c0(%ebp)
6036bb:	7f 5f                	jg     0x60371c
6036bd:	56                   	push   %esi
6036be:	53                   	push   %ebx
6036bf:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
6036c5:	68 83 00 00 00       	push   $0x83
6036ca:	50                   	push   %eax
6036cb:	e8 a7 39 ff ff       	call   0x5f7077
6036d0:	83 c4 10             	add    $0x10,%esp
6036d3:	85 c0                	test   %eax,%eax
6036d5:	0f 85 75 01 00 00    	jne    0x603850
6036db:	8d 04 36             	lea    (%esi,%esi,1),%eax
6036de:	3d 06 01 00 00       	cmp    $0x106,%eax
6036e3:	0f 83 62 01 00 00    	jae    0x60384b
6036e9:	33 c9                	xor    %ecx,%ecx
6036eb:	66 89 8c 05 f4 fe ff 	mov    %cx,-0x10c(%ebp,%eax,1)
6036f2:	ff
6036f3:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
6036f9:	50                   	push   %eax
6036fa:	ff b5 40 fe ff ff    	push   -0x1c0(%ebp)
603700:	57                   	push   %edi
603701:	e8 57 01 00 00       	call   0x60385d
603706:	8b 8d 44 fe ff ff    	mov    -0x1bc(%ebp),%ecx
60370c:	83 c4 0c             	add    $0xc,%esp
60370f:	85 c0                	test   %eax,%eax
603711:	74 0f                	je     0x603722
603713:	41                   	inc    %ecx
603714:	89 8d 44 fe ff ff    	mov    %ecx,-0x1bc(%ebp)
60371a:	eb 06                	jmp    0x603722
60371c:	8b 8d 44 fe ff ff    	mov    -0x1bc(%ebp),%ecx
603722:	8d 34 73             	lea    (%ebx,%esi,2),%esi
603725:	0f b7 06             	movzwl (%esi),%eax
603728:	8b d0                	mov    %eax,%edx
60372a:	66 85 c0             	test   %ax,%ax
60372d:	74 06                	je     0x603735
60372f:	83 c6 02             	add    $0x2,%esi
603732:	0f b7 16             	movzwl (%esi),%edx
603735:	66 85 d2             	test   %dx,%dx
603738:	0f 85 bd fe ff ff    	jne    0x6035fb
60373e:	85 c9                	test   %ecx,%ecx
603740:	0f 85 ef 00 00 00    	jne    0x603835
603746:	33 c0                	xor    %eax,%eax
603748:	e9 ef 00 00 00       	jmp    0x60383c
60374d:	8d 85 34 fe ff ff    	lea    -0x1cc(%ebp),%eax
603753:	50                   	push   %eax
603754:	6a 55                	push   $0x55
603756:	8d 85 48 fe ff ff    	lea    -0x1b8(%ebp),%eax
60375c:	50                   	push   %eax
60375d:	68 83 00 00 00       	push   $0x83
603762:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
603768:	50                   	push   %eax
603769:	56                   	push   %esi
60376a:	e8 d9 f7 ff ff       	call   0x602f48
60376f:	83 c4 18             	add    $0x18,%esp
603772:	85 c0                	test   %eax,%eax
603774:	0f 84 c2 00 00 00    	je     0x60383c
60377a:	33 c9                	xor    %ecx,%ecx
60377c:	8d 57 20             	lea    0x20(%edi),%edx
60377f:	8b f1                	mov    %ecx,%esi
603781:	89 95 44 fe ff ff    	mov    %edx,-0x1bc(%ebp)
603787:	85 f6                	test   %esi,%esi
603789:	0f 84 81 00 00 00    	je     0x603810
60378f:	8b 0a                	mov    (%edx),%ecx
603791:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
603797:	66 8b 38             	mov    (%eax),%di
60379a:	66 3b 39             	cmp    (%ecx),%di
60379d:	8b bd 38 fe ff ff    	mov    -0x1c8(%ebp),%edi
6037a3:	75 33                	jne    0x6037d8
6037a5:	66 83 38 00          	cmpw   $0x0,(%eax)
6037a9:	74 27                	je     0x6037d2
6037ab:	66 8b 50 02          	mov    0x2(%eax),%dx
6037af:	66 3b 51 02          	cmp    0x2(%ecx),%dx
6037b3:	66 89 95 42 fe ff ff 	mov    %dx,-0x1be(%ebp)
6037ba:	8b 95 44 fe ff ff    	mov    -0x1bc(%ebp),%edx
6037c0:	75 16                	jne    0x6037d8
6037c2:	83 c0 04             	add    $0x4,%eax
6037c5:	83 c1 04             	add    $0x4,%ecx
6037c8:	66 83 bd 42 fe ff ff 	cmpw   $0x0,-0x1be(%ebp)
6037cf:	00
6037d0:	75 c5                	jne    0x603797