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
582772:	89 4d ec             	mov    %ecx,-0x14(%ebp)
582775:	8b 5b 10             	mov    0x10(%ebx),%ebx
582778:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
58277e:	0f 87 82 00 00 00    	ja     0x582806
582784:	85 db                	test   %ebx,%ebx
582786:	74 5e                	je     0x5827e6
582788:	53                   	push   %ebx
582789:	8d 4e 40             	lea    0x40(%esi),%ecx
58278c:	e8 bf 6c eb ff       	call   0x439450
582791:	53                   	push   %ebx
582792:	ff 75 ec             	push   -0x14(%ebp)
582795:	89 45 f0             	mov    %eax,-0x10(%ebp)
582798:	50                   	push   %eax
582799:	e8 62 07 06 00       	call   0x5e2f00
58279e:	8b 46 0c             	mov    0xc(%esi),%eax
5827a1:	83 c4 0c             	add    $0xc,%esp
5827a4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5827a7:	03 cb                	add    %ebx,%ecx
5827a9:	89 4e 38             	mov    %ecx,0x38(%esi)
5827ac:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5827af:	89 08                	mov    %ecx,(%eax)
5827b1:	8b 46 1c             	mov    0x1c(%esi),%eax
5827b4:	89 08                	mov    %ecx,(%eax)
5827b6:	8b 46 2c             	mov    0x2c(%esi),%eax
5827b9:	89 18                	mov    %ebx,(%eax)
5827bb:	8b 45 e8             	mov    -0x18(%ebp),%eax
5827be:	a8 02                	test   $0x2,%al
5827c0:	75 1f                	jne    0x5827e1
5827c2:	8b 56 38             	mov    0x38(%esi),%edx
5827c5:	a8 18                	test   $0x18,%al
5827c7:	8b 46 10             	mov    0x10(%esi),%eax
5827ca:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5827cd:	0f 45 ca             	cmovne %edx,%ecx
5827d0:	2b d1                	sub    %ecx,%edx
5827d2:	89 18                	mov    %ebx,(%eax)
5827d4:	8b 46 20             	mov    0x20(%esi),%eax
5827d7:	89 08                	mov    %ecx,(%eax)
5827d9:	8b 46 30             	mov    0x30(%esi),%eax
5827dc:	89 10                	mov    %edx,(%eax)
5827de:	8b 45 e8             	mov    -0x18(%ebp),%eax
5827e1:	83 c8 01             	or     $0x1,%eax
5827e4:	eb 07                	jmp    0x5827ed
5827e6:	c7 46 38 00 00 00 00 	movl   $0x0,0x38(%esi)
5827ed:	89 46 3c             	mov    %eax,0x3c(%esi)
5827f0:	8b c7                	mov    %edi,%eax
5827f2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5827f5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5827fc:	59                   	pop    %ecx
5827fd:	5f                   	pop    %edi
5827fe:	5e                   	pop    %esi
5827ff:	5b                   	pop    %ebx
582800:	8b e5                	mov    %ebp,%esp
582802:	5d                   	pop    %ebp
582803:	c2 0c 00             	ret    $0xc
582806:	e8 42 bb 04 00       	call   0x5ce34d
58280b:	cc                   	int3
58280c:	cc                   	int3
58280d:	cc                   	int3
58280e:	cc                   	int3
58280f:	cc                   	int3
582810:	55                   	push   %ebp
582811:	8b ec                	mov    %esp,%ebp
582813:	6a ff                	push   $0xffffffff
582815:	68 20 02 65 00       	push   $0x650220
58281a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
582820:	50                   	push   %eax
582821:	83 ec 08             	sub    $0x8,%esp
582824:	53                   	push   %ebx
582825:	56                   	push   %esi
582826:	57                   	push   %edi
582827:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58282c:	33 c5                	xor    %ebp,%eax
58282e:	50                   	push   %eax
58282f:	8d 45 f4             	lea    -0xc(%ebp),%eax
582832:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
582838:	8b c1                	mov    %ecx,%eax
58283a:	89 45 f0             	mov    %eax,-0x10(%ebp)
58283d:	6a 08                	push   $0x8
58283f:	c7 00 f0 c4 68 00    	movl   $0x68c4f0,(%eax)
582845:	e8 f8 e7 05 00       	call   0x5e1042
58284a:	8b f0                	mov    %eax,%esi
58284c:	83 c4 04             	add    $0x4,%esp
58284f:	85 f6                	test   %esi,%esi
582851:	74 16                	je     0x582869
582853:	6a 01                	push   $0x1
582855:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
58285c:	e8 13 bf 04 00       	call   0x5ce774
582861:	83 c4 04             	add    $0x4,%esp
582864:	89 46 04             	mov    %eax,0x4(%esi)
582867:	eb 02                	jmp    0x58286b
582869:	33 f6                	xor    %esi,%esi
58286b:	8b 45 f0             	mov    -0x10(%ebp),%eax
58286e:	8d 78 14             	lea    0x14(%eax),%edi
582871:	8d 48 18             	lea    0x18(%eax),%ecx
582874:	8d 50 24             	lea    0x24(%eax),%edx
582877:	89 70 34             	mov    %esi,0x34(%eax)
58287a:	8d 58 04             	lea    0x4(%eax),%ebx
58287d:	89 58 0c             	mov    %ebx,0xc(%eax)
582880:	8d 70 08             	lea    0x8(%eax),%esi
582883:	89 70 10             	mov    %esi,0x10(%eax)
582886:	89 78 1c             	mov    %edi,0x1c(%eax)
582889:	89 48 20             	mov    %ecx,0x20(%eax)
58288c:	89 50 2c             	mov    %edx,0x2c(%eax)
58288f:	83 c0 28             	add    $0x28,%eax
582892:	89 5d ec             	mov    %ebx,-0x14(%ebp)
582895:	8b 5d f0             	mov    -0x10(%ebp),%ebx
582898:	89 43 30             	mov    %eax,0x30(%ebx)
58289b:	8b 5d ec             	mov    -0x14(%ebp),%ebx
58289e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
5828a4:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
5828aa:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5828b0:	8b 45 f0             	mov    -0x10(%ebp),%eax
5828b3:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5828b9:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5828bf:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
5828c5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5828c8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5828cf:	59                   	pop    %ecx
5828d0:	5f                   	pop    %edi
5828d1:	5e                   	pop    %esi
5828d2:	5b                   	pop    %ebx
5828d3:	8b e5                	mov    %ebp,%esp
5828d5:	5d                   	pop    %ebp
5828d6:	c3                   	ret
5828d7:	cc                   	int3
5828d8:	cc                   	int3
5828d9:	cc                   	int3
5828da:	cc                   	int3
5828db:	cc                   	int3
5828dc:	cc                   	int3
5828dd:	cc                   	int3
5828de:	cc                   	int3
5828df:	cc                   	int3
5828e0:	55                   	push   %ebp
5828e1:	8b ec                	mov    %esp,%ebp
5828e3:	6a ff                	push   $0xffffffff
5828e5:	68 08 d0 65 00       	push   $0x65d008
5828ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5828f0:	50                   	push   %eax
5828f1:	51                   	push   %ecx
5828f2:	56                   	push   %esi
5828f3:	57                   	push   %edi
5828f4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5828f9:	33 c5                	xor    %ebp,%eax
5828fb:	50                   	push   %eax
5828fc:	8d 45 f4             	lea    -0xc(%ebp),%eax
5828ff:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
582905:	8b f9                	mov    %ecx,%edi
582907:	89 7d f0             	mov    %edi,-0x10(%ebp)
58290a:	6a 08                	push   $0x8
58290c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
582913:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
582919:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
582920:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
582927:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
58292e:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
582935:	e8 08 e7 05 00       	call   0x5e1042
58293a:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
582941:	89 07                	mov    %eax,(%edi)
582943:	89 38                	mov    %edi,(%eax)
582945:	8d 77 14             	lea    0x14(%edi),%esi
582948:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
58294f:	6a 08                	push   $0x8
582951:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
582957:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
58295e:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
582965:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
58296c:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
582973:	e8 ca e6 05 00       	call   0x5e1042
582978:	83 c4 08             	add    $0x8,%esp
58297b:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
582982:	89 06                	mov    %eax,(%esi)
582984:	89 30                	mov    %esi,(%eax)
582986:	8b 45 08             	mov    0x8(%ebp),%eax
582989:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)