592597:	57                   	push   %edi
592598:	e8 83 e9 00 00       	call   0x5a0f20
59259d:	83 c4 10             	add    $0x10,%esp
5925a0:	85 c0                	test   %eax,%eax
5925a2:	0f 84 15 fb ff ff    	je     0x5920bd
5925a8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5925ac:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
5925b3:	e9 f8 fb ff ff       	jmp    0x5921b0
5925b8:	57                   	push   %edi
5925b9:	e8 72 ca ff ff       	call   0x58f030
5925be:	83 c4 04             	add    $0x4,%esp
5925c1:	85 c0                	test   %eax,%eax
5925c3:	8b 44 24 48          	mov    0x48(%esp),%eax
5925c7:	74 1f                	je     0x5925e8
5925c9:	83 f8 17             	cmp    $0x17,%eax
5925cc:	75 1a                	jne    0x5925e8
5925ce:	83 bf cc 03 00 00 00 	cmpl   $0x0,0x3cc(%edi)
5925d5:	75 29                	jne    0x592600
5925d7:	68 62 05 00 00       	push   $0x562
5925dc:	68 6c 6f 66 00       	push   $0x666f6c
5925e1:	6a 64                	push   $0x64
5925e3:	e9 18 01 00 00       	jmp    0x592700
5925e8:	83 f8 16             	cmp    $0x16,%eax
5925eb:	75 13                	jne    0x592600
5925ed:	83 7b 04 14          	cmpl   $0x14,0x4(%ebx)
5925f1:	75 0d                	jne    0x592600
5925f3:	83 bf 08 0f 00 00 00 	cmpl   $0x0,0xf08(%edi)
5925fa:	0f 87 dc 02 00 00    	ja     0x5928dc
592600:	8b 4c 24 20          	mov    0x20(%esp),%ecx
592604:	85 c9                	test   %ecx,%ecx
592606:	74 05                	je     0x59260d
592608:	8b 43 04             	mov    0x4(%ebx),%eax
59260b:	89 01                	mov    %eax,(%ecx)
59260d:	8b 44 24 54          	mov    0x54(%esp),%eax
592611:	85 c0                	test   %eax,%eax
592613:	0f 84 1f 03 00 00    	je     0x592938
592619:	33 d2                	xor    %edx,%edx
59261b:	83 c3 10             	add    $0x10,%ebx
59261e:	89 54 24 18          	mov    %edx,0x18(%esp)
592622:	8b 4b f8             	mov    -0x8(%ebx),%ecx
592625:	2b c2                	sub    %edx,%eax
592627:	3b c1                	cmp    %ecx,%eax
592629:	0f 46 c8             	cmovbe %eax,%ecx
59262c:	8b 43 04             	mov    0x4(%ebx),%eax
59262f:	03 03                	add    (%ebx),%eax
592631:	51                   	push   %ecx
592632:	50                   	push   %eax
592633:	ff 74 24 1c          	push   0x1c(%esp)
592637:	89 4c 24 34          	mov    %ecx,0x34(%esp)
59263b:	e8 90 07 04 00       	call   0x5d2dd0
592640:	8b 4c 24 34          	mov    0x34(%esp),%ecx
592644:	83 c4 0c             	add    $0xc,%esp
592647:	01 4c 24 14          	add    %ecx,0x14(%esp)
59264b:	8b 54 24 58          	mov    0x58(%esp),%edx
59264f:	8b 43 f8             	mov    -0x8(%ebx),%eax
592652:	85 d2                	test   %edx,%edx
592654:	74 06                	je     0x59265c
592656:	85 c0                	test   %eax,%eax
592658:	75 27                	jne    0x592681
59265a:	eb 1a                	jmp    0x592676
59265c:	01 0b                	add    %ecx,(%ebx)
59265e:	2b c1                	sub    %ecx,%eax
592660:	89 43 f8             	mov    %eax,-0x8(%ebx)
592663:	85 c0                	test   %eax,%eax
592665:	75 1a                	jne    0x592681
592667:	c7 87 58 06 00 00 f0 	movl   $0xf0,0x658(%edi)
59266e:	00 00 00
592671:	89 03                	mov    %eax,(%ebx)
592673:	8b 43 f8             	mov    -0x8(%ebx),%eax
592676:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%ebx)
59267d:	85 c0                	test   %eax,%eax
59267f:	74 08                	je     0x592689
592681:	85 d2                	test   %edx,%edx
592683:	74 08                	je     0x59268d
592685:	3b c8                	cmp    %eax,%ecx
592687:	75 04                	jne    0x59268d
592689:	46                   	inc    %esi
59268a:	83 c3 30             	add    $0x30,%ebx
59268d:	8b 54 24 18          	mov    0x18(%esp),%edx
592691:	03 d1                	add    %ecx,%edx
592693:	83 7c 24 48 17       	cmpl   $0x17,0x48(%esp)
592698:	89 54 24 18          	mov    %edx,0x18(%esp)
59269c:	75 10                	jne    0x5926ae
59269e:	3b f5                	cmp    %ebp,%esi
5926a0:	73 0c                	jae    0x5926ae
5926a2:	8b 44 24 54          	mov    0x54(%esp),%eax
5926a6:	3b d0                	cmp    %eax,%edx
5926a8:	0f 82 74 ff ff ff    	jb     0x592622
5926ae:	85 d2                	test   %edx,%edx
5926b0:	0f 85 3a 02 00 00    	jne    0x5928f0
5926b6:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5926ba:	e9 f1 fa ff ff       	jmp    0x5921b0
5926bf:	68 1e 05 00 00       	push   $0x51e
5926c4:	68 6c 6f 66 00       	push   $0x666f6c
5926c9:	6a 44                	push   $0x44
5926cb:	68 94 00 00 00       	push   $0x94
5926d0:	6a 50                	push   $0x50
5926d2:	57                   	push   %edi
5926d3:	e8 38 ca ff ff       	call   0x58f110
5926d8:	83 c4 18             	add    $0x18,%esp
5926db:	83 c8 ff             	or     $0xffffffff,%eax
5926de:	5f                   	pop    %edi
5926df:	5e                   	pop    %esi
5926e0:	5d                   	pop    %ebp
5926e1:	5b                   	pop    %ebx
5926e2:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
5926e6:	33 cc                	xor    %esp,%ecx
5926e8:	e8 39 f3 03 00       	call   0x5d1a26
5926ed:	83 c4 30             	add    $0x30,%esp
5926f0:	c3                   	ret
5926f1:	68 32 05 00 00       	push   $0x532
5926f6:	68 6c 6f 66 00       	push   $0x666f6c
5926fb:	68 25 01 00 00       	push   $0x125
592700:	68 94 00 00 00       	push   $0x94
592705:	6a 0a                	push   $0xa
592707:	57                   	push   %edi
592708:	e8 03 ca ff ff       	call   0x58f110
59270d:	83 c4 18             	add    $0x18,%esp
592710:	83 c8 ff             	or     $0xffffffff,%eax
592713:	5f                   	pop    %edi
592714:	5e                   	pop    %esi
592715:	5d                   	pop    %ebp
592716:	5b                   	pop    %ebx
592717:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
59271b:	33 cc                	xor    %esp,%ecx
59271d:	e8 04 f3 03 00       	call   0x5d1a26
592722:	83 c4 30             	add    $0x30,%esp
592725:	c3                   	ret
592726:	68 44 05 00 00       	push   $0x544
59272b:	68 6c 6f 66 00       	push   $0x666f6c
592730:	68 91 00 00 00       	push   $0x91
592735:	eb c9                	jmp    0x592700
592737:	83 4f 28 02          	orl    $0x2,0x28(%edi)
59273b:	33 c0                	xor    %eax,%eax
59273d:	5f                   	pop    %edi
59273e:	5e                   	pop    %esi
59273f:	5d                   	pop    %ebp
592740:	5b                   	pop    %ebx
592741:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
592745:	33 cc                	xor    %esp,%ecx
592747:	e8 da f2 03 00       	call   0x5d1a26
59274c:	83 c4 30             	add    $0x30,%esp
59274f:	c3                   	ret
592750:	68 19 06 00 00       	push   $0x619
592755:	68 6c 6f 66 00       	push   $0x666f6c
59275a:	68 53 01 00 00       	push   $0x153
59275f:	68 94 00 00 00       	push   $0x94
592764:	6a 28                	push   $0x28
592766:	eb 9f                	jmp    0x592707
592768:	8b 47 7c             	mov    0x7c(%edi),%eax
59276b:	68 08 06 00 00       	push   $0x608
592770:	c7 47 14 01 00 00 00 	movl   $0x1,0x14(%edi)
592777:	68 6c 6f 66 00       	push   $0x666f6c
59277c:	89 b0 e4 00 00 00    	mov    %esi,0xe4(%eax)
592782:	8d 86 e8 03 00 00    	lea    0x3e8(%esi),%eax
592788:	50                   	push   %eax
592789:	68 94 00 00 00       	push   $0x94
59278e:	6a ff                	push   $0xffffffff
592790:	57                   	push   %edi
592791:	e8 7a c9 ff ff       	call   0x58f110
592796:	56                   	push   %esi
592797:	68 c8 7a 60 00       	push   $0x607ac8
59279c:	8d 44 24 4c          	lea    0x4c(%esp),%eax
5927a0:	6a 10                	push   $0x10
5927a2:	50                   	push   %eax
5927a3:	e8 88 fe f4 ff       	call   0x4e2630
5927a8:	8d 44 24 54          	lea    0x54(%esp),%eax
5927ac:	50                   	push   %eax
5927ad:	68 88 6f 66 00       	push   $0x666f88
5927b2:	6a 02                	push   $0x2
5927b4:	e8 b7 5e f4 ff       	call   0x4d8670
5927b9:	83 4f 28 02          	orl    $0x2,0x28(%edi)
5927bd:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
5927c4:	ff b7 74 04 00 00    	push   0x474(%edi)
5927ca:	ff b7 e0 05 00 00    	push   0x5e0(%edi)
5927d0:	e8 5b d7 ff ff       	call   0x58ff30
5927d5:	83 c4 3c             	add    $0x3c,%esp
5927d8:	33 c0                	xor    %eax,%eax
5927da:	5f                   	pop    %edi
5927db:	5e                   	pop    %esi
5927dc:	5d                   	pop    %ebp
5927dd:	5b                   	pop    %ebx
5927de:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
5927e2:	33 cc                	xor    %esp,%ecx
5927e4:	e8 3d f2 03 00       	call   0x5d1a26
5927e9:	83 c4 30             	add    $0x30,%esp
5927ec:	c3                   	ret
5927ed:	68 f3 05 00 00       	push   $0x5f3
5927f2:	68 6c 6f 66 00       	push   $0x666f6c
5927f7:	68 99 01 00 00       	push   $0x199
5927fc:	e9 ff fe ff ff       	jmp    0x592700
592801:	68 d9 05 00 00       	push   $0x5d9
592806:	68 6c 6f 66 00       	push   $0x666f6c
59280b:	68 cd 00 00 00       	push   $0xcd
592810:	e9 eb fe ff ff       	jmp    0x592700
592815:	57                   	push   %edi
592816:	c7 47 14 03 00 00 00 	movl   $0x3,0x14(%edi)
59281d:	e8 2e 4a f5 ff       	call   0x4e7250
592822:	8b f0                	mov    %eax,%esi
592824:	6a 0f                	push   $0xf
592826:	56                   	push   %esi
592827:	e8 d4 62 f6 ff       	call   0x4f8b00
59282c:	6a 09                	push   $0x9
59282e:	56                   	push   %esi
59282f:	e8 4c 6c f6 ff       	call   0x4f9480
592834:	83 c4 14             	add    $0x14,%esp
592837:	e9 81 f8 ff ff       	jmp    0x5920bd
59283c:	68 48 06 00 00       	push   $0x648
592841:	68 6c 6f 66 00       	push   $0x666f6c
592846:	68 23 01 00 00       	push   $0x123
59284b:	68 94 00 00 00       	push   $0x94
592850:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
592857:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
59285e:	6a ff                	push   $0xffffffff
592860:	e9 a2 fe ff ff       	jmp    0x592707
592865:	68 d3 06 00 00       	push   $0x6d3
59286a:	68 6c 6f 66 00       	push   $0x666f6c
59286f:	68 f5 00 00 00       	push   $0xf5
592874:	e9 87 fe ff ff       	jmp    0x592700
592879:	8b 47 7c             	mov    0x7c(%edi),%eax
59287c:	c7 80 fc 00 00 00 02 	movl   $0x2,0xfc(%eax)
592883:	00 00 00
592886:	e9 32 f8 ff ff       	jmp    0x5920bd
59288b:	68 b3 06 00 00       	push   $0x6b3
592890:	68 6c 6f 66 00       	push   $0x666f6c
592895:	6a 44                	push   $0x44
592897:	e9 64 fe ff ff       	jmp    0x592700
59289c:	68 a8 06 00 00       	push   $0x6a8
5928a1:	68 6c 6f 66 00       	push   $0x666f6c
5928a6:	68 f5 00 00 00       	push   $0xf5
5928ab:	e9 50 fe ff ff       	jmp    0x592700
5928b0:	68 6b 06 00 00       	push   $0x66b
5928b5:	68 6c 6f 66 00       	push   $0x666f6c
5928ba:	68 85 00 00 00       	push   $0x85
5928bf:	e9 3c fe ff ff       	jmp    0x592700
5928c4:	68 b7 05 00 00       	push   $0x5b7
5928c9:	68 6c 6f 66 00       	push   $0x666f6c
5928ce:	6a 44                	push   $0x44
5928d0:	68 94 00 00 00       	push   $0x94
5928d5:	6a 50                	push   $0x50
5928d7:	e9 2b fe ff ff       	jmp    0x592707
5928dc:	68 6a 05 00 00       	push   $0x56a
5928e1:	68 6c 6f 66 00       	push   $0x666f6c
5928e6:	68 85 00 00 00       	push   $0x85
5928eb:	e9 10 fe ff ff       	jmp    0x592700
5928f0:	83 7c 24 58 00       	cmpl   $0x0,0x58(%esp)
5928f5:	75 23                	jne    0x59291a
5928f7:	3b f5                	cmp    %ebp,%esi
5928f9:	75 1f                	jne    0x59291a
5928fb:	f6 87 f0 04 00 00 10 	testb  $0x10,0x4f0(%edi)
592902:	74 16                	je     0x59291a
592904:	83 bf 74 06 00 00 00 	cmpl   $0x0,0x674(%edi)
59290b:	75 0d                	jne    0x59291a
59290d:	57                   	push   %edi
59290e:	e8 1d 08 00 00       	call   0x593130
592913:	8b 54 24 1c          	mov    0x1c(%esp),%edx
592917:	83 c4 04             	add    $0x4,%esp
59291a:	8b 44 24 24          	mov    0x24(%esp),%eax
59291e:	5f                   	pop    %edi
59291f:	5e                   	pop    %esi
592920:	5d                   	pop    %ebp
592921:	89 10                	mov    %edx,(%eax)
592923:	b8 01 00 00 00       	mov    $0x1,%eax
592928:	5b                   	pop    %ebx
592929:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
59292d:	33 cc                	xor    %esp,%ecx
59292f:	e8 f2 f0 03 00       	call   0x5d1a26
592934:	83 c4 30             	add    $0x30,%esp
592937:	c3                   	ret
592938:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
59293c:	75 2a                	jne    0x592968
59293e:	5f                   	pop    %edi
59293f:	5e                   	pop    %esi
592940:	5d                   	pop    %ebp
592941:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%ebx)
592948:	33 c0                	xor    %eax,%eax
59294a:	5b                   	pop    %ebx
59294b:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
59294f:	33 cc                	xor    %esp,%ecx
592951:	e8 d0 f0 03 00       	call   0x5d1a26
592956:	83 c4 30             	add    $0x30,%esp
592959:	c3                   	ret
59295a:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
592961:	c7 47 14 01 00 00 00 	movl   $0x1,0x14(%edi)
592968:	33 c0                	xor    %eax,%eax
59296a:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
59296e:	5f                   	pop    %edi
59296f:	5e                   	pop    %esi
592970:	5d                   	pop    %ebp
592971:	5b                   	pop    %ebx
592972:	33 cc                	xor    %esp,%ecx
592974:	e8 ad f0 03 00       	call   0x5d1a26
592979:	83 c4 30             	add    $0x30,%esp
59297c:	c3                   	ret
59297d:	cc                   	int3
59297e:	cc                   	int3
59297f:	cc                   	int3
592980:	b8 08 00 00 00       	mov    $0x8,%eax
592985:	e8 26 ee 03 00       	call   0x5d17b0
59298a:	53                   	push   %ebx
59298b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
59298f:	55                   	push   %ebp
592990:	56                   	push   %esi
592991:	8b 74 24 18          	mov    0x18(%esp),%esi
592995:	57                   	push   %edi
592996:	85 db                	test   %ebx,%ebx
592998:	0f 84 29 01 00 00    	je     0x592ac7
59299e:	83 be 64 06 00 00 00 	cmpl   $0x0,0x664(%esi)
5929a5:	75 11                	jne    0x5929b8
5929a7:	56                   	push   %esi
5929a8:	e8 63 09 00 00       	call   0x593310
5929ad:	83 c4 04             	add    $0x4,%esp
5929b0:	85 c0                	test   %eax,%eax
5929b2:	0f 84 78 01 00 00    	je     0x592b30
5929b8:	8b 96 64 06 00 00    	mov    0x664(%esi),%edx
5929be:	bd 07 00 00 00       	mov    $0x7,%ebp
5929c3:	8b be 74 06 00 00    	mov    0x674(%esi),%edi
5929c9:	8b ca                	mov    %edx,%ecx
5929cb:	8d 42 fc             	lea    -0x4(%edx),%eax
5929ce:	83 e0 07             	and    $0x7,%eax
5929d1:	2b e8                	sub    %eax,%ebp
5929d3:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
5929d8:	89 6c 24 10          	mov    %ebp,0x10(%esp)
5929dc:	0f 85 89 00 00 00    	jne    0x592a6b
5929e2:	85 ff                	test   %edi,%edi
5929e4:	75 0a                	jne    0x5929f0
5929e6:	89 ae 70 06 00 00    	mov    %ebp,0x670(%esi)
5929ec:	8b ea                	mov    %edx,%ebp
5929ee:	eb 5b                	jmp    0x592a4b
5929f0:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
5929f5:	8b ea                	mov    %edx,%ebp
5929f7:	74 52                	je     0x592a4b
5929f9:	83 ff 05             	cmp    $0x5,%edi
5929fc:	72 4d                	jb     0x592a4b
5929fe:	8b 86 70 06 00 00    	mov    0x670(%esi),%eax
592a04:	03 c2                	add    %edx,%eax
592a06:	89 44 24 20          	mov    %eax,0x20(%esp)
592a0a:	80 38 17             	cmpb   $0x17,(%eax)
592a0d:	75 3c                	jne    0x592a4b
592a0f:	0f b6 48 03          	movzbl 0x3(%eax),%ecx
592a13:	0f b6 40 04          	movzbl 0x4(%eax),%eax
592a17:	c1 e1 08             	shl    $0x8,%ecx
592a1a:	0b c8                	or     %eax,%ecx
592a1c:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
592a22:	72 25                	jb     0x592a49
592a24:	8b 6c 24 10          	mov    0x10(%esp),%ebp
592a28:	57                   	push   %edi
592a29:	ff 74 24 24          	push   0x24(%esp)
592a2d:	8d 04 2a             	lea    (%edx,%ebp,1),%eax
592a30:	50                   	push   %eax