605435:	c6 44 01 2c 0a       	movb   $0xa,0x2c(%ecx,%eax,1)
60543a:	53                   	push   %ebx
60543b:	e8 4d b1 00 00       	call   0x61058d
605440:	59                   	pop    %ecx
605441:	85 c0                	test   %eax,%eax
605443:	74 71                	je     0x6054b6
605445:	8b 45 f8             	mov    -0x8(%ebp),%eax
605448:	8b 4d f0             	mov    -0x10(%ebp),%ecx
60544b:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
605452:	80 7c 01 28 00       	cmpb   $0x0,0x28(%ecx,%eax,1)
605457:	7d 5d                	jge    0x6054b6
605459:	8d 45 d8             	lea    -0x28(%ebp),%eax
60545c:	50                   	push   %eax
60545d:	ff 75 e8             	push   -0x18(%ebp)
605460:	ff 15 28 22 68 00    	call   *0x682228
605466:	85 c0                	test   %eax,%eax
605468:	74 4c                	je     0x6054b6
60546a:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
60546e:	75 4a                	jne    0x6054ba
605470:	6a 00                	push   $0x0
605472:	8d 45 e4             	lea    -0x1c(%ebp),%eax
605475:	50                   	push   %eax
605476:	8b 45 f4             	mov    -0xc(%ebp),%eax
605479:	d1 e8                	shr    $1,%eax
60547b:	50                   	push   %eax
60547c:	ff 75 ec             	push   -0x14(%ebp)
60547f:	ff 75 e8             	push   -0x18(%ebp)
605482:	ff 15 5c 21 68 00    	call   *0x68215c
605488:	85 c0                	test   %eax,%eax
60548a:	75 1f                	jne    0x6054ab
60548c:	ff 15 e0 21 68 00    	call   *0x6821e0
605492:	50                   	push   %eax
605493:	e8 2b 7b fe ff       	call   0x5ecfc3
605498:	59                   	pop    %ecx
605499:	83 cf ff             	or     $0xffffffff,%edi
60549c:	56                   	push   %esi
60549d:	e8 86 f3 ff ff       	call   0x604828
6054a2:	59                   	pop    %ecx
6054a3:	8b c7                	mov    %edi,%eax
6054a5:	5e                   	pop    %esi
6054a6:	e9 d6 00 00 00       	jmp    0x605581
6054ab:	8b 45 e4             	mov    -0x1c(%ebp),%eax
6054ae:	8b 4d 10             	mov    0x10(%ebp),%ecx
6054b1:	8d 3c 47             	lea    (%edi,%eax,2),%edi
6054b4:	eb 29                	jmp    0x6054df
6054b6:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
6054ba:	6a 00                	push   $0x0
6054bc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
6054bf:	50                   	push   %eax
6054c0:	8b 45 f4             	mov    -0xc(%ebp),%eax
6054c3:	50                   	push   %eax
6054c4:	ff 75 ec             	push   -0x14(%ebp)
6054c7:	ff 75 e8             	push   -0x18(%ebp)
6054ca:	ff 15 ec 21 68 00    	call   *0x6821ec
6054d0:	85 c0                	test   %eax,%eax
6054d2:	74 5a                	je     0x60552e
6054d4:	8b 4d 10             	mov    0x10(%ebp),%ecx
6054d7:	39 4d e4             	cmp    %ecx,-0x1c(%ebp)
6054da:	77 52                	ja     0x60552e
6054dc:	03 7d e4             	add    -0x1c(%ebp),%edi
6054df:	8b 45 f8             	mov    -0x8(%ebp),%eax
6054e2:	8b 55 f0             	mov    -0x10(%ebp),%edx
6054e5:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
6054ec:	80 7c 02 28 00       	cmpb   $0x0,0x28(%edx,%eax,1)
6054f1:	7d a9                	jge    0x60549c
6054f3:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
6054f7:	74 17                	je     0x605510
6054f9:	d1 e9                	shr    $1,%ecx
6054fb:	51                   	push   %ecx
6054fc:	ff 75 0c             	push   0xc(%ebp)
6054ff:	57                   	push   %edi
605500:	ff 75 ec             	push   -0x14(%ebp)
605503:	53                   	push   %ebx
605504:	e8 e6 f9 ff ff       	call   0x604eef
605509:	83 c4 14             	add    $0x14,%esp
60550c:	8b f8                	mov    %eax,%edi
60550e:	eb 8c                	jmp    0x60549c
605510:	d1 ef                	shr    $1,%edi
605512:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
605516:	57                   	push   %edi
605517:	ff 75 dc             	push   -0x24(%ebp)
60551a:	53                   	push   %ebx
60551b:	74 0a                	je     0x605527
60551d:	e8 24 fb ff ff       	call   0x605046
605522:	83 c4 0c             	add    $0xc,%esp
605525:	eb e5                	jmp    0x60550c
605527:	e8 f2 f7 ff ff       	call   0x604d1e
60552c:	eb f4                	jmp    0x605522
60552e:	ff 15 e0 21 68 00    	call   *0x6821e0
605534:	6a 05                	push   $0x5
605536:	5f                   	pop    %edi
605537:	3b c7                	cmp    %edi,%eax
605539:	75 17                	jne    0x605552
60553b:	e8 b9 7a fe ff       	call   0x5ecff9
605540:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
605546:	e8 9b 7a fe ff       	call   0x5ecfe6
60554b:	89 38                	mov    %edi,(%eax)
60554d:	e9 47 ff ff ff       	jmp    0x605499
605552:	83 f8 6d             	cmp    $0x6d,%eax
605555:	0f 85 37 ff ff ff    	jne    0x605492
60555b:	33 ff                	xor    %edi,%edi
60555d:	e9 3a ff ff ff       	jmp    0x60549c
605562:	33 c0                	xor    %eax,%eax
605564:	eb 1b                	jmp    0x605581
605566:	e8 7b 7a fe ff       	call   0x5ecfe6
60556b:	83 20 00             	andl   $0x0,(%eax)
60556e:	e8 86 7a fe ff       	call   0x5ecff9
605573:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
605579:	e8 a1 79 fe ff       	call   0x5ecf1f
60557e:	83 c8 ff             	or     $0xffffffff,%eax
605581:	5f                   	pop    %edi
605582:	5b                   	pop    %ebx
605583:	c9                   	leave
605584:	c3                   	ret
605585:	8b ff                	mov    %edi,%edi
605587:	55                   	push   %ebp
605588:	8b ec                	mov    %esp,%ebp
60558a:	8b 45 08             	mov    0x8(%ebp),%eax
60558d:	56                   	push   %esi
60558e:	85 c0                	test   %eax,%eax
605590:	75 18                	jne    0x6055aa
605592:	e8 62 7a fe ff       	call   0x5ecff9
605597:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
60559d:	e8 7d 79 fe ff       	call   0x5ecf1f
6055a2:	83 c8 ff             	or     $0xffffffff,%eax
6055a5:	e9 62 01 00 00       	jmp    0x60570c
6055aa:	8b 40 0c             	mov    0xc(%eax),%eax
6055ad:	53                   	push   %ebx
6055ae:	90                   	nop
6055af:	33 db                	xor    %ebx,%ebx
6055b1:	c1 e8 0d             	shr    $0xd,%eax
6055b4:	43                   	inc    %ebx
6055b5:	84 c3                	test   %al,%bl
6055b7:	0f 84 4b 01 00 00    	je     0x605708
6055bd:	8b 45 08             	mov    0x8(%ebp),%eax
6055c0:	8b 40 0c             	mov    0xc(%eax),%eax
6055c3:	90                   	nop
6055c4:	c1 e8 0c             	shr    $0xc,%eax
6055c7:	84 c3                	test   %al,%bl
6055c9:	0f 85 39 01 00 00    	jne    0x605708
6055cf:	8b 45 08             	mov    0x8(%ebp),%eax
6055d2:	8b 40 0c             	mov    0xc(%eax),%eax
6055d5:	90                   	nop
6055d6:	d1 e8                	shr    $1,%eax
6055d8:	84 c3                	test   %al,%bl
6055da:	8b 45 08             	mov    0x8(%ebp),%eax
6055dd:	74 0e                	je     0x6055ed
6055df:	6a 10                	push   $0x10
6055e1:	59                   	pop    %ecx
6055e2:	83 c0 0c             	add    $0xc,%eax
6055e5:	f0 09 08             	lock or %ecx,(%eax)
6055e8:	e9 1b 01 00 00       	jmp    0x605708
6055ed:	83 c0 0c             	add    $0xc,%eax
6055f0:	f0 09 18             	lock or %ebx,(%eax)
6055f3:	8b 45 08             	mov    0x8(%ebp),%eax
6055f6:	8b 40 0c             	mov    0xc(%eax),%eax
6055f9:	90                   	nop
6055fa:	a9 c0 04 00 00       	test   $0x4c0,%eax
6055ff:	75 09                	jne    0x60560a
605601:	ff 75 08             	push   0x8(%ebp)
605604:	e8 ce 5f 00 00       	call   0x60b5d7
605609:	59                   	pop    %ecx
60560a:	8b 45 08             	mov    0x8(%ebp),%eax
60560d:	8b 48 04             	mov    0x4(%eax),%ecx
605610:	89 08                	mov    %ecx,(%eax)
605612:	8b 75 08             	mov    0x8(%ebp),%esi
605615:	ff 76 18             	push   0x18(%esi)
605618:	ff 76 04             	push   0x4(%esi)
60561b:	56                   	push   %esi
60561c:	e8 87 a1 ff ff       	call   0x5ff7a8
605621:	59                   	pop    %ecx
605622:	50                   	push   %eax
605623:	e8 99 fa ff ff       	call   0x6050c1
605628:	89 46 08             	mov    %eax,0x8(%esi)
60562b:	83 c4 0c             	add    $0xc,%esp
60562e:	8b 45 08             	mov    0x8(%ebp),%eax
605631:	8b 50 08             	mov    0x8(%eax),%edx
605634:	85 d2                	test   %edx,%edx
605636:	0f 84 b1 00 00 00    	je     0x6056ed
60563c:	83 fa ff             	cmp    $0xffffffff,%edx
60563f:	0f 84 a8 00 00 00    	je     0x6056ed
605645:	8b 40 0c             	mov    0xc(%eax),%eax
605648:	90                   	nop
605649:	a8 06                	test   $0x6,%al
60564b:	75 5f                	jne    0x6056ac
60564d:	ff 75 08             	push   0x8(%ebp)
605650:	e8 53 a1 ff ff       	call   0x5ff7a8
605655:	59                   	pop    %ecx
605656:	83 f8 ff             	cmp    $0xffffffff,%eax
605659:	74 37                	je     0x605692
60565b:	ff 75 08             	push   0x8(%ebp)
60565e:	e8 45 a1 ff ff       	call   0x5ff7a8
605663:	59                   	pop    %ecx
605664:	83 f8 fe             	cmp    $0xfffffffe,%eax
605667:	74 29                	je     0x605692
605669:	8b 75 08             	mov    0x8(%ebp),%esi
60566c:	57                   	push   %edi
60566d:	56                   	push   %esi
60566e:	e8 35 a1 ff ff       	call   0x5ff7a8
605673:	8b f8                	mov    %eax,%edi
605675:	56                   	push   %esi
605676:	c1 ff 06             	sar    $0x6,%edi
605679:	e8 2a a1 ff ff       	call   0x5ff7a8
60567e:	59                   	pop    %ecx
60567f:	83 e0 3f             	and    $0x3f,%eax
605682:	59                   	pop    %ecx
605683:	6b c8 38             	imul   $0x38,%eax,%ecx
605686:	8b 04 bd b8 10 73 00 	mov    0x7310b8(,%edi,4),%eax
60568d:	5f                   	pop    %edi
60568e:	03 c1                	add    %ecx,%eax
605690:	eb 05                	jmp    0x605697
605692:	b8 48 8d 72 00       	mov    $0x728d48,%eax
605697:	8a 40 28             	mov    0x28(%eax),%al
60569a:	24 82                	and    $0x82,%al
60569c:	3c 82                	cmp    $0x82,%al
60569e:	75 0c                	jne    0x6056ac
6056a0:	8b 45 08             	mov    0x8(%ebp),%eax
6056a3:	6a 20                	push   $0x20
6056a5:	59                   	pop    %ecx
6056a6:	83 c0 0c             	add    $0xc,%eax
6056a9:	f0 09 08             	lock or %ecx,(%eax)
6056ac:	8b 45 08             	mov    0x8(%ebp),%eax
6056af:	81 78 18 00 02 00 00 	cmpl   $0x200,0x18(%eax)
6056b6:	75 26                	jne    0x6056de
6056b8:	8b 40 0c             	mov    0xc(%eax),%eax
6056bb:	90                   	nop
6056bc:	c1 e8 06             	shr    $0x6,%eax
6056bf:	84 c3                	test   %al,%bl
6056c1:	74 18                	je     0x6056db
6056c3:	8b 45 08             	mov    0x8(%ebp),%eax
6056c6:	8b 40 0c             	mov    0xc(%eax),%eax
6056c9:	90                   	nop
6056ca:	c1 e8 08             	shr    $0x8,%eax
6056cd:	84 c3                	test   %al,%bl
6056cf:	75 0a                	jne    0x6056db
6056d1:	8b 45 08             	mov    0x8(%ebp),%eax
6056d4:	c7 40 18 00 10 00 00 	movl   $0x1000,0x18(%eax)
6056db:	8b 45 08             	mov    0x8(%ebp),%eax
6056de:	ff 48 08             	decl   0x8(%eax)
6056e1:	8b 08                	mov    (%eax),%ecx
6056e3:	8a 11                	mov    (%ecx),%dl
6056e5:	41                   	inc    %ecx
6056e6:	89 08                	mov    %ecx,(%eax)
6056e8:	0f b6 c2             	movzbl %dl,%eax
6056eb:	eb 1e                	jmp    0x60570b
6056ed:	33 c9                	xor    %ecx,%ecx
6056ef:	85 d2                	test   %edx,%edx
6056f1:	0f 95 c1             	setne  %cl
6056f4:	83 c0 0c             	add    $0xc,%eax
6056f7:	8d 0c cd 08 00 00 00 	lea    0x8(,%ecx,8),%ecx
6056fe:	f0 09 08             	lock or %ecx,(%eax)
605701:	8b 4d 08             	mov    0x8(%ebp),%ecx
605704:	83 61 08 00          	andl   $0x0,0x8(%ecx)
605708:	83 c8 ff             	or     $0xffffffff,%eax
60570b:	5b                   	pop    %ebx
60570c:	5e                   	pop    %esi
60570d:	5d                   	pop    %ebp
60570e:	c3                   	ret
60570f:	8b ff                	mov    %edi,%edi
605711:	55                   	push   %ebp
605712:	8b ec                	mov    %esp,%ebp
605714:	5d                   	pop    %ebp
605715:	e9 6b fe ff ff       	jmp    0x605585
60571a:	6a 18                	push   $0x18
60571c:	68 30 20 70 00       	push   $0x702030
605721:	e8 ea cd fd ff       	call   0x5e2510
605726:	8b 7d 08             	mov    0x8(%ebp),%edi
605729:	83 ff fe             	cmp    $0xfffffffe,%edi
60572c:	75 18                	jne    0x605746
60572e:	e8 b3 78 fe ff       	call   0x5ecfe6
605733:	83 20 00             	andl   $0x0,(%eax)
605736:	e8 be 78 fe ff       	call   0x5ecff9
60573b:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
605741:	e9 c9 00 00 00       	jmp    0x60580f
605746:	85 ff                	test   %edi,%edi
605748:	0f 88 a9 00 00 00    	js     0x6057f7
60574e:	3b 3d b8 12 73 00    	cmp    0x7312b8,%edi
605754:	0f 83 9d 00 00 00    	jae    0x6057f7
60575a:	8b cf                	mov    %edi,%ecx
60575c:	c1 f9 06             	sar    $0x6,%ecx
60575f:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
605762:	8b c7                	mov    %edi,%eax
605764:	83 e0 3f             	and    $0x3f,%eax
605767:	6b d0 38             	imul   $0x38,%eax,%edx
60576a:	89 55 e0             	mov    %edx,-0x20(%ebp)
60576d:	8b 04 8d b8 10 73 00 	mov    0x7310b8(,%ecx,4),%eax
605774:	f6 44 10 28 01       	testb  $0x1,0x28(%eax,%edx,1)
605779:	74 7c                	je     0x6057f7
60577b:	57                   	push   %edi
60577c:	e8 78 3b 00 00       	call   0x6092f9
605781:	59                   	pop    %ecx
605782:	83 ce ff             	or     $0xffffffff,%esi
605785:	89 75 d8             	mov    %esi,-0x28(%ebp)
605788:	8b de                	mov    %esi,%ebx
60578a:	89 5d dc             	mov    %ebx,-0x24(%ebp)
60578d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
605791:	8b 45 e4             	mov    -0x1c(%ebp),%eax
605794:	8b 04 85 b8 10 73 00 	mov    0x7310b8(,%eax,4),%eax
60579b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
60579e:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
6057a3:	75 15                	jne    0x6057ba
6057a5:	e8 4f 78 fe ff       	call   0x5ecff9
6057aa:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
6057b0:	e8 31 78 fe ff       	call   0x5ecfe6
6057b5:	83 20 00             	andl   $0x0,(%eax)
6057b8:	eb 1c                	jmp    0x6057d6
6057ba:	ff 75 14             	push   0x14(%ebp)
6057bd:	ff 75 10             	push   0x10(%ebp)
6057c0:	ff 75 0c             	push   0xc(%ebp)
6057c3:	57                   	push   %edi
6057c4:	e8 5d 00 00 00       	call   0x605826
6057c9:	83 c4 10             	add    $0x10,%esp
6057cc:	8b f0                	mov    %eax,%esi
6057ce:	89 75 d8             	mov    %esi,-0x28(%ebp)
6057d1:	8b da                	mov    %edx,%ebx
6057d3:	89 5d dc             	mov    %ebx,-0x24(%ebp)
6057d6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
6057dd:	e8 0d 00 00 00       	call   0x6057ef
6057e2:	8b d3                	mov    %ebx,%edx
6057e4:	eb 2e                	jmp    0x605814
6057e6:	8b 7d 08             	mov    0x8(%ebp),%edi
6057e9:	8b 5d dc             	mov    -0x24(%ebp),%ebx
6057ec:	8b 75 d8             	mov    -0x28(%ebp),%esi
6057ef:	57                   	push   %edi
6057f0:	e8 b9 3b 00 00       	call   0x6093ae
6057f5:	59                   	pop    %ecx
6057f6:	c3                   	ret
6057f7:	e8 ea 77 fe ff       	call   0x5ecfe6
6057fc:	83 20 00             	andl   $0x0,(%eax)
6057ff:	e8 f5 77 fe ff       	call   0x5ecff9
605804:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
60580a:	e8 10 77 fe ff       	call   0x5ecf1f
60580f:	83 ce ff             	or     $0xffffffff,%esi
605812:	8b d6                	mov    %esi,%edx
605814:	8b c6                	mov    %esi,%eax
605816:	8b 4d f0             	mov    -0x10(%ebp),%ecx
605819:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
605820:	59                   	pop    %ecx
605821:	5f                   	pop    %edi
605822:	5e                   	pop    %esi
605823:	5b                   	pop    %ebx
605824:	c9                   	leave
605825:	c3                   	ret
605826:	8b ff                	mov    %edi,%edi
605828:	55                   	push   %ebp
605829:	8b ec                	mov    %esp,%ebp
60582b:	51                   	push   %ecx
60582c:	51                   	push   %ecx
60582d:	56                   	push   %esi
60582e:	8b 75 08             	mov    0x8(%ebp),%esi