582375:	8b 31                	mov    (%ecx),%esi
582377:	8b ce                	mov    %esi,%ecx
582379:	ff 15 e0 24 68 00    	call   *0x6824e0
58237f:	8b cf                	mov    %edi,%ecx
582381:	ff d6                	call   *%esi
582383:	eb 1c                	jmp    0x5823a1
582385:	8b 55 e4             	mov    -0x1c(%ebp),%edx
582388:	6a 01                	push   $0x1
58238a:	6a 04                	push   $0x4
58238c:	8b 02                	mov    (%edx),%eax
58238e:	8b 48 04             	mov    0x4(%eax),%ecx
582391:	03 ca                	add    %edx,%ecx
582393:	e8 f8 f5 ec ff       	call   0x451990
582398:	b8 9e 23 58 00       	mov    $0x58239e,%eax
58239d:	c3                   	ret
58239e:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5823a1:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
5823a8:	8b 03                	mov    (%ebx),%eax
5823aa:	33 f6                	xor    %esi,%esi
5823ac:	b9 04 00 00 00       	mov    $0x4,%ecx
5823b1:	8b 50 04             	mov    0x4(%eax),%edx
5823b4:	8b 44 1a 0c          	mov    0xc(%edx,%ebx,1),%eax
5823b8:	03 d3                	add    %ebx,%edx
5823ba:	0b 45 e0             	or     -0x20(%ebp),%eax
5823bd:	39 72 38             	cmp    %esi,0x38(%edx)
5823c0:	0f 45 ce             	cmovne %esi,%ecx
5823c3:	0b c8                	or     %eax,%ecx
5823c5:	8b 42 10             	mov    0x10(%edx),%eax
5823c8:	83 e1 17             	and    $0x17,%ecx
5823cb:	89 4a 0c             	mov    %ecx,0xc(%edx)
5823ce:	23 c1                	and    %ecx,%eax
5823d0:	75 3b                	jne    0x58240d
5823d2:	8b 03                	mov    (%ebx),%eax
5823d4:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
5823db:	8b 40 04             	mov    0x4(%eax),%eax
5823de:	8b 7c 18 38          	mov    0x38(%eax,%ebx,1),%edi
5823e2:	85 ff                	test   %edi,%edi
5823e4:	74 11                	je     0x5823f7
5823e6:	8b 07                	mov    (%edi),%eax
5823e8:	8b 70 08             	mov    0x8(%eax),%esi
5823eb:	8b ce                	mov    %esi,%ecx
5823ed:	ff 15 e0 24 68 00    	call   *0x6824e0
5823f3:	8b cf                	mov    %edi,%ecx
5823f5:	ff d6                	call   *%esi
5823f7:	8b c3                	mov    %ebx,%eax
5823f9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5823fc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
582403:	59                   	pop    %ecx
582404:	5f                   	pop    %edi
582405:	5e                   	pop    %esi
582406:	5b                   	pop    %ebx
582407:	8b e5                	mov    %ebp,%esp
582409:	5d                   	pop    %ebp
58240a:	c2 04 00             	ret    $0x4
58240d:	a8 04                	test   $0x4,%al
58240f:	74 07                	je     0x582418
582411:	be 34 c4 68 00       	mov    $0x68c434,%esi
582416:	eb 0f                	jmp    0x582427
582418:	a8 02                	test   $0x2,%al
58241a:	be 4c c4 68 00       	mov    $0x68c44c,%esi
58241f:	b8 64 c4 68 00       	mov    $0x68c464,%eax
582424:	0f 44 f0             	cmove  %eax,%esi
582427:	8d 45 a8             	lea    -0x58(%ebp),%eax
58242a:	6a 01                	push   $0x1
58242c:	50                   	push   %eax
58242d:	e8 9e 7b eb ff       	call   0x439fd0
582432:	83 c4 08             	add    $0x8,%esp
582435:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
582438:	50                   	push   %eax
582439:	56                   	push   %esi
58243a:	e8 b1 80 eb ff       	call   0x43a4f0
58243f:	68 0c 60 70 00       	push   $0x70600c
582444:	8d 45 8c             	lea    -0x74(%ebp),%eax
582447:	50                   	push   %eax
582448:	e8 e5 05 06 00       	call   0x5e2a32
58244d:	cc                   	int3
58244e:	cc                   	int3
58244f:	cc                   	int3
582450:	55                   	push   %ebp
582451:	8b ec                	mov    %esp,%ebp
582453:	6a ff                	push   $0xffffffff
582455:	68 90 cf 65 00       	push   $0x65cf90
58245a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
582460:	50                   	push   %eax
582461:	83 ec 34             	sub    $0x34,%esp
582464:	53                   	push   %ebx
582465:	56                   	push   %esi
582466:	57                   	push   %edi
582467:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58246c:	33 c5                	xor    %ebp,%eax
58246e:	50                   	push   %eax
58246f:	8d 45 f4             	lea    -0xc(%ebp),%eax
582472:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
582478:	89 65 f0             	mov    %esp,-0x10(%ebp)
58247b:	8b 5d 08             	mov    0x8(%ebp),%ebx
58247e:	32 c0                	xor    %al,%al
582480:	88 45 ef             	mov    %al,-0x11(%ebp)
582483:	33 f6                	xor    %esi,%esi
582485:	89 75 e0             	mov    %esi,-0x20(%ebp)
582488:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
58248b:	8b 03                	mov    (%ebx),%eax
58248d:	8b 40 04             	mov    0x4(%eax),%eax
582490:	8b 7c 18 38          	mov    0x38(%eax,%ebx,1),%edi
582494:	85 ff                	test   %edi,%edi
582496:	74 13                	je     0x5824ab
582498:	8b 07                	mov    (%edi),%eax
58249a:	8b 70 04             	mov    0x4(%eax),%esi
58249d:	8b ce                	mov    %esi,%ecx
58249f:	ff 15 e0 24 68 00    	call   *0x6824e0
5824a5:	8b cf                	mov    %edi,%ecx
5824a7:	ff d6                	call   *%esi
5824a9:	33 f6                	xor    %esi,%esi
5824ab:	6a 01                	push   $0x1
5824ad:	8b cb                	mov    %ebx,%ecx
5824af:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5824b6:	e8 65 73 f1 ff       	call   0x499820
5824bb:	88 45 d8             	mov    %al,-0x28(%ebp)
5824be:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
5824c5:	84 c0                	test   %al,%al
5824c7:	0f 84 01 01 00 00    	je     0x5825ce
5824cd:	8b 7d 0c             	mov    0xc(%ebp),%edi
5824d0:	8b c7                	mov    %edi,%eax
5824d2:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5824d6:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
5824dd:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
5824e1:	72 02                	jb     0x5824e5
5824e3:	8b 07                	mov    (%edi),%eax
5824e5:	0f b6 55 10          	movzbl 0x10(%ebp),%edx
5824e9:	c6 00 00             	movb   $0x0,(%eax)
5824ec:	8b 03                	mov    (%ebx),%eax
5824ee:	89 55 e8             	mov    %edx,-0x18(%ebp)
5824f1:	8b 40 04             	mov    0x4(%eax),%eax
5824f4:	8b 4c 18 38          	mov    0x38(%eax,%ebx,1),%ecx
5824f8:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5824fb:	8b 41 1c             	mov    0x1c(%ecx),%eax
5824fe:	8b 30                	mov    (%eax),%esi
582500:	85 f6                	test   %esi,%esi
582502:	74 0d                	je     0x582511
582504:	8b 41 2c             	mov    0x2c(%ecx),%eax
582507:	83 38 00             	cmpl   $0x0,(%eax)
58250a:	7e 05                	jle    0x582511
58250c:	0f b6 06             	movzbl (%esi),%eax
58250f:	eb 15                	jmp    0x582526
582511:	8b 01                	mov    (%ecx),%eax
582513:	8b 70 18             	mov    0x18(%eax),%esi
582516:	8b ce                	mov    %esi,%ecx
582518:	ff 15 e0 24 68 00    	call   *0x6824e0
58251e:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
582521:	ff d6                	call   *%esi
582523:	8b 55 e8             	mov    -0x18(%ebp),%edx
582526:	83 f8 ff             	cmp    $0xffffffff,%eax
582529:	75 08                	jne    0x582533
58252b:	8d 70 02             	lea    0x2(%eax),%esi
58252e:	e9 8e 00 00 00       	jmp    0x5825c1
582533:	3b c2                	cmp    %edx,%eax
582535:	75 3f                	jne    0x582576
582537:	8b 03                	mov    (%ebx),%eax
582539:	c6 45 ef 01          	movb   $0x1,-0x11(%ebp)
58253d:	8b 40 04             	mov    0x4(%eax),%eax
582540:	8b 7c 18 38          	mov    0x38(%eax,%ebx,1),%edi
582544:	8b 47 1c             	mov    0x1c(%edi),%eax
582547:	83 38 00             	cmpl   $0x0,(%eax)
58254a:	74 15                	je     0x582561
58254c:	8b 4f 2c             	mov    0x2c(%edi),%ecx
58254f:	8b 01                	mov    (%ecx),%eax
582551:	85 c0                	test   %eax,%eax
582553:	7e 0c                	jle    0x582561
582555:	48                   	dec    %eax
582556:	89 01                	mov    %eax,(%ecx)
582558:	8b 47 1c             	mov    0x1c(%edi),%eax
58255b:	ff 00                	incl   (%eax)
58255d:	33 f6                	xor    %esi,%esi
58255f:	eb 60                	jmp    0x5825c1
582561:	8b 07                	mov    (%edi),%eax
582563:	8b 70 1c             	mov    0x1c(%eax),%esi
582566:	8b ce                	mov    %esi,%ecx
582568:	ff 15 e0 24 68 00    	call   *0x6824e0
58256e:	8b cf                	mov    %edi,%ecx
582570:	ff d6                	call   *%esi
582572:	33 f6                	xor    %esi,%esi
582574:	eb 4b                	jmp    0x5825c1
582576:	81 7f 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%edi)
58257d:	72 07                	jb     0x582586
58257f:	be 02 00 00 00       	mov    $0x2,%esi
582584:	eb 3b                	jmp    0x5825c1
582586:	50                   	push   %eax
582587:	8b cf                	mov    %edi,%ecx
582589:	e8 12 b8 ed ff       	call   0x45dda0
58258e:	8b 03                	mov    (%ebx),%eax
582590:	c6 45 ef 01          	movb   $0x1,-0x11(%ebp)
582594:	8b 48 04             	mov    0x4(%eax),%ecx
582597:	8b 4c 19 38          	mov    0x38(%ecx,%ebx,1),%ecx
58259b:	e8 30 b7 f1 ff       	call   0x49dcd0
5825a0:	eb 81                	jmp    0x582523
5825a2:	8b 55 08             	mov    0x8(%ebp),%edx
5825a5:	6a 01                	push   $0x1
5825a7:	6a 04                	push   $0x4
5825a9:	8b 02                	mov    (%edx),%eax
5825ab:	8b 48 04             	mov    0x4(%eax),%ecx
5825ae:	03 ca                	add    %edx,%ecx
5825b0:	e8 db f3 ec ff       	call   0x451990
5825b5:	b8 bb 25 58 00       	mov    $0x5825bb,%eax
5825ba:	c3                   	ret
5825bb:	8b 5d 08             	mov    0x8(%ebp),%ebx
5825be:	8b 75 e0             	mov    -0x20(%ebp),%esi
5825c1:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
5825c5:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
5825cc:	75 03                	jne    0x5825d1
5825ce:	83 ce 02             	or     $0x2,%esi
5825d1:	8b 03                	mov    (%ebx),%eax
5825d3:	b9 04 00 00 00       	mov    $0x4,%ecx
5825d8:	8b 50 04             	mov    0x4(%eax),%edx
5825db:	8b 44 1a 0c          	mov    0xc(%edx,%ebx,1),%eax
5825df:	03 d3                	add    %ebx,%edx
5825e1:	0b c6                	or     %esi,%eax
5825e3:	33 f6                	xor    %esi,%esi
5825e5:	39 72 38             	cmp    %esi,0x38(%edx)
5825e8:	0f 45 ce             	cmovne %esi,%ecx
5825eb:	0b c8                	or     %eax,%ecx
5825ed:	8b 42 10             	mov    0x10(%edx),%eax
5825f0:	83 e1 17             	and    $0x17,%ecx
5825f3:	89 4a 0c             	mov    %ecx,0xc(%edx)
5825f6:	23 c1                	and    %ecx,%eax
5825f8:	75 3c                	jne    0x582636
5825fa:	8b 7d d4             	mov    -0x2c(%ebp),%edi
5825fd:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
582604:	8b 07                	mov    (%edi),%eax
582606:	8b 40 04             	mov    0x4(%eax),%eax
582609:	8b 7c 38 38          	mov    0x38(%eax,%edi,1),%edi
58260d:	85 ff                	test   %edi,%edi
58260f:	74 11                	je     0x582622
582611:	8b 17                	mov    (%edi),%edx
582613:	8b 72 08             	mov    0x8(%edx),%esi
582616:	8b ce                	mov    %esi,%ecx
582618:	ff 15 e0 24 68 00    	call   *0x6824e0
58261e:	8b cf                	mov    %edi,%ecx
582620:	ff d6                	call   *%esi
582622:	8b c3                	mov    %ebx,%eax
582624:	8b 4d f4             	mov    -0xc(%ebp),%ecx
582627:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
58262e:	59                   	pop    %ecx
58262f:	5f                   	pop    %edi
582630:	5e                   	pop    %esi
582631:	5b                   	pop    %ebx
582632:	8b e5                	mov    %ebp,%esp
582634:	5d                   	pop    %ebp
582635:	c3                   	ret
582636:	a8 04                	test   $0x4,%al
582638:	74 07                	je     0x582641
58263a:	be 34 c4 68 00       	mov    $0x68c434,%esi
58263f:	eb 0f                	jmp    0x582650
582641:	a8 02                	test   $0x2,%al
582643:	be 4c c4 68 00       	mov    $0x68c44c,%esi
582648:	b8 64 c4 68 00       	mov    $0x68c464,%eax
58264d:	0f 44 f0             	cmove  %eax,%esi
582650:	8d 45 dc             	lea    -0x24(%ebp),%eax
582653:	6a 01                	push   $0x1
582655:	50                   	push   %eax
582656:	e8 75 79 eb ff       	call   0x439fd0
58265b:	83 c4 08             	add    $0x8,%esp
58265e:	8d 4d c0             	lea    -0x40(%ebp),%ecx
582661:	50                   	push   %eax
582662:	56                   	push   %esi
582663:	e8 88 7e eb ff       	call   0x43a4f0
582668:	68 0c 60 70 00       	push   $0x70600c
58266d:	8d 45 c0             	lea    -0x40(%ebp),%eax
582670:	50                   	push   %eax
582671:	e8 bc 03 06 00       	call   0x5e2a32
582676:	cc                   	int3
582677:	cc                   	int3
582678:	cc                   	int3
582679:	cc                   	int3
58267a:	cc                   	int3
58267b:	cc                   	int3
58267c:	cc                   	int3
58267d:	cc                   	int3
58267e:	cc                   	int3
58267f:	cc                   	int3
582680:	55                   	push   %ebp
582681:	8b ec                	mov    %esp,%ebp
582683:	6a ff                	push   $0xffffffff
582685:	68 df cf 65 00       	push   $0x65cfdf
58268a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
582690:	50                   	push   %eax
582691:	83 ec 14             	sub    $0x14,%esp
582694:	53                   	push   %ebx
582695:	56                   	push   %esi
582696:	57                   	push   %edi
582697:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58269c:	33 c5                	xor    %ebp,%eax
58269e:	50                   	push   %eax
58269f:	8d 45 f4             	lea    -0xc(%ebp),%eax
5826a2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5826a8:	8b f9                	mov    %ecx,%edi
5826aa:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5826ad:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5826b1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5826b8:	74 1b                	je     0x5826d5
5826ba:	c7 07 78 4c 69 00    	movl   $0x694c78,(%edi)
5826c0:	c7 47 60 e0 c4 68 00 	movl   $0x68c4e0,0x60(%edi)
5826c7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5826ce:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
5826d5:	8b 07                	mov    (%edi),%eax
5826d7:	8d 77 10             	lea    0x10(%edi),%esi
5826da:	6a 00                	push   $0x0
5826dc:	56                   	push   %esi
5826dd:	8b 40 04             	mov    0x4(%eax),%eax
5826e0:	c7 04 07 10 f2 68 00 	movl   $0x68f210,(%edi,%eax,1)
5826e7:	8b 07                	mov    (%edi),%eax
5826e9:	8b 48 04             	mov    0x4(%eax),%ecx
5826ec:	8d 41 e8             	lea    -0x18(%ecx),%eax
5826ef:	89 44 39 fc          	mov    %eax,-0x4(%ecx,%edi,1)
5826f3:	8b 07                	mov    (%edi),%eax
5826f5:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5826fc:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
582703:	8b 48 04             	mov    0x4(%eax),%ecx
582706:	03 cf                	add    %edi,%ecx
582708:	e8 23 ec ec ff       	call   0x451330
58270d:	8b 07                	mov    (%edi),%eax
58270f:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
582716:	8b 40 04             	mov    0x4(%eax),%eax
582719:	c7 04 07 74 4c 69 00 	movl   $0x694c74,(%edi,%eax,1)
582720:	8b 07                	mov    (%edi),%eax
582722:	8b 48 04             	mov    0x4(%eax),%ecx
582725:	89 75 e0             	mov    %esi,-0x20(%ebp)
582728:	8d 41 a0             	lea    -0x60(%ecx),%eax
58272b:	89 44 39 fc          	mov    %eax,-0x4(%ecx,%edi,1)
58272f:	8b ce                	mov    %esi,%ecx
582731:	e8 da 00 00 00       	call   0x582810
582736:	8b 5d 0c             	mov    0xc(%ebp),%ebx
582739:	8b cb                	mov    %ebx,%ecx
58273b:	f7 d1                	not    %ecx
58273d:	c7 06 30 c5 68 00    	movl   $0x68c530,(%esi)
582743:	83 e1 02             	and    $0x2,%ecx
582746:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
58274a:	8b c3                	mov    %ebx,%eax
58274c:	8b d1                	mov    %ecx,%edx
58274e:	83 ca 08             	or     $0x8,%edx
582751:	24 08                	and    $0x8,%al
582753:	0f 44 d1             	cmove  %ecx,%edx
582756:	8b c2                	mov    %edx,%eax
582758:	83 c8 10             	or     $0x10,%eax
58275b:	80 e3 04             	and    $0x4,%bl
58275e:	8b 5d 08             	mov    0x8(%ebp),%ebx
582761:	0f 44 c2             	cmove  %edx,%eax
582764:	89 5d ec             	mov    %ebx,-0x14(%ebp)
582767:	89 45 e8             	mov    %eax,-0x18(%ebp)
58276a:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
58276e:	72 05                	jb     0x582775
582770:	8b 0b                	mov    (%ebx),%ecx