598644:	75 1a                	jne    0x598660
598646:	84 d2                	test   %dl,%dl
598648:	74 12                	je     0x59865c
59864a:	8a 50 01             	mov    0x1(%eax),%dl
59864d:	3a 51 01             	cmp    0x1(%ecx),%dl
598650:	75 0e                	jne    0x598660
598652:	83 c0 02             	add    $0x2,%eax
598655:	83 c1 02             	add    $0x2,%ecx
598658:	84 d2                	test   %dl,%dl
59865a:	75 e4                	jne    0x598640
59865c:	33 c0                	xor    %eax,%eax
59865e:	eb 05                	jmp    0x598665
598660:	1b c0                	sbb    %eax,%eax
598662:	83 c8 01             	or     $0x1,%eax
598665:	85 c0                	test   %eax,%eax
598667:	0f b6 db             	movzbl %bl,%ebx
59866a:	b8 02 00 00 00       	mov    $0x2,%eax
59866f:	0f 44 d8             	cmove  %eax,%ebx
598672:	89 5c 24 14          	mov    %ebx,0x14(%esp)
598676:	eb 04                	jmp    0x59867c
598678:	8b 5c 24 14          	mov    0x14(%esp),%ebx
59867c:	55                   	push   %ebp
59867d:	47                   	inc    %edi
59867e:	e8 8d 5f f1 ff       	call   0x4ae610
598683:	83 c4 04             	add    $0x4,%esp
598686:	3b f8                	cmp    %eax,%edi
598688:	0f 8c da fe ff ff    	jl     0x598568
59868e:	8b 44 24 2c          	mov    0x2c(%esp),%eax
598692:	85 c0                	test   %eax,%eax
598694:	0f 84 87 01 00 00    	je     0x598821
59869a:	8b 70 04             	mov    0x4(%eax),%esi
59869d:	85 f6                	test   %esi,%esi
59869f:	0f 84 6b 01 00 00    	je     0x598810
5986a5:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
5986aa:	0f 84 7d 00 00 00    	je     0x59872d
5986b0:	6a ff                	push   $0xffffffff
5986b2:	6a 52                	push   $0x52
5986b4:	56                   	push   %esi
5986b5:	e8 76 56 ff ff       	call   0x58dd30
5986ba:	83 c4 0c             	add    $0xc,%esp
5986bd:	85 c0                	test   %eax,%eax
5986bf:	78 4e                	js     0x59870f
5986c1:	50                   	push   %eax
5986c2:	56                   	push   %esi
5986c3:	e8 48 56 ff ff       	call   0x58dd10
5986c8:	83 c4 08             	add    $0x8,%esp
5986cb:	85 c0                	test   %eax,%eax
5986cd:	74 40                	je     0x59870f
5986cf:	50                   	push   %eax
5986d0:	e8 3b 5b ff ff       	call   0x58e210
5986d5:	83 c4 04             	add    $0x4,%esp
5986d8:	89 44 24 18          	mov    %eax,0x18(%esp)
5986dc:	eb 33                	jmp    0x598711
5986de:	68 8f 00 00 00       	push   $0x8f
5986e3:	68 c0 93 6c 00       	push   $0x6c93c0
5986e8:	6a 78                	push   $0x78
5986ea:	6a 77                	push   $0x77
5986ec:	6a 22                	push   $0x22
5986ee:	e8 ad 8d f0 ff       	call   0x4a14a0
5986f3:	ff 76 04             	push   0x4(%esi)
5986f6:	68 bc 2e 6c 00       	push   $0x6c2ebc
5986fb:	6a 02                	push   $0x2
5986fd:	e8 be 88 f0 ff       	call   0x4a0fc0
598702:	83 c4 20             	add    $0x20,%esp
598705:	33 c0                	xor    %eax,%eax
598707:	5f                   	pop    %edi
598708:	5e                   	pop    %esi
598709:	5d                   	pop    %ebp
59870a:	5b                   	pop    %ebx
59870b:	83 c4 14             	add    $0x14,%esp
59870e:	c3                   	ret
59870f:	33 c0                	xor    %eax,%eax
598711:	80 7c 24 13 02       	cmpb   $0x2,0x13(%esp)
598716:	75 15                	jne    0x59872d
598718:	85 c0                	test   %eax,%eax
59871a:	75 11                	jne    0x59872d
59871c:	68 a5 00 00 00       	push   $0xa5
598721:	68 c0 93 6c 00       	push   $0x6c93c0
598726:	6a 7b                	push   $0x7b
598728:	e9 00 01 00 00       	jmp    0x59882d
59872d:	8b 6c 24 18          	mov    0x18(%esp),%ebp
598731:	84 db                	test   %bl,%bl
598733:	74 04                	je     0x598739
598735:	85 ed                	test   %ebp,%ebp
598737:	74 05                	je     0x59873e
598739:	80 fb 02             	cmp    $0x2,%bl
59873c:	75 64                	jne    0x5987a2
59873e:	56                   	push   %esi
59873f:	e8 fc 88 ef ff       	call   0x491040
598744:	50                   	push   %eax
598745:	e8 b6 99 ff ff       	call   0x592100
59874a:	56                   	push   %esi
59874b:	8b d8                	mov    %eax,%ebx
59874d:	e8 be 88 ef ff       	call   0x491010
598752:	50                   	push   %eax
598753:	e8 c8 91 f1 ff       	call   0x4b1920
598758:	83 c4 10             	add    $0x10,%esp
59875b:	89 44 24 20          	mov    %eax,0x20(%esp)
59875f:	85 db                	test   %ebx,%ebx
598761:	74 04                	je     0x598767
598763:	85 c0                	test   %eax,%eax
598765:	75 3d                	jne    0x5987a4
598767:	68 af 00 00 00       	push   $0xaf
59876c:	68 c0 93 6c 00       	push   $0x6c93c0
598771:	6a 7a                	push   $0x7a
598773:	6a 77                	push   $0x77
598775:	6a 22                	push   $0x22
598777:	e8 24 8d f0 ff       	call   0x4a14a0
59877c:	83 c4 14             	add    $0x14,%esp
59877f:	53                   	push   %ebx
598780:	e8 9b 99 ff ff       	call   0x592120
598785:	8b 44 24 24          	mov    0x24(%esp),%eax
598789:	50                   	push   %eax
59878a:	e8 f1 91 f1 ff       	call   0x4b1980
59878f:	55                   	push   %ebp
598790:	e8 eb 91 f1 ff       	call   0x4b1980
598795:	83 c4 0c             	add    $0xc,%esp
598798:	33 c0                	xor    %eax,%eax
59879a:	5f                   	pop    %edi
59879b:	5e                   	pop    %esi
59879c:	5d                   	pop    %ebp
59879d:	5b                   	pop    %ebx
59879e:	83 c4 14             	add    $0x14,%esp
5987a1:	c3                   	ret
5987a2:	33 db                	xor    %ebx,%ebx
5987a4:	e8 47 65 00 00       	call   0x59ecf0
5987a9:	8b f0                	mov    %eax,%esi
5987ab:	85 f6                	test   %esi,%esi
5987ad:	74 d0                	je     0x59877f
5987af:	85 db                	test   %ebx,%ebx
5987b1:	74 32                	je     0x5987e5
5987b3:	e8 48 5e f1 ff       	call   0x4ae600
5987b8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5987bc:	85 c0                	test   %eax,%eax
5987be:	74 3f                	je     0x5987ff
5987c0:	e8 5b 56 ff ff       	call   0x58de20
5987c5:	8b f8                	mov    %eax,%edi
5987c7:	85 ff                	test   %edi,%edi
5987c9:	74 34                	je     0x5987ff
5987cb:	57                   	push   %edi
5987cc:	ff 74 24 20          	push   0x20(%esp)
5987d0:	e8 bb 5e f1 ff       	call   0x4ae690
5987d5:	83 c4 08             	add    $0x8,%esp
5987d8:	85 c0                	test   %eax,%eax
5987da:	74 23                	je     0x5987ff
5987dc:	c7 07 04 00 00 00    	movl   $0x4,(%edi)
5987e2:	89 5f 04             	mov    %ebx,0x4(%edi)
5987e5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5987e9:	89 46 04             	mov    %eax,0x4(%esi)
5987ec:	8b 44 24 20          	mov    0x20(%esp),%eax
5987f0:	5f                   	pop    %edi
5987f1:	89 46 08             	mov    %eax,0x8(%esi)
5987f4:	8b c6                	mov    %esi,%eax
5987f6:	89 2e                	mov    %ebp,(%esi)
5987f8:	5e                   	pop    %esi
5987f9:	5d                   	pop    %ebp
5987fa:	5b                   	pop    %ebx
5987fb:	83 c4 14             	add    $0x14,%esp
5987fe:	c3                   	ret
5987ff:	68 bb 00 00 00       	push   $0xbb
598804:	68 c0 93 6c 00       	push   $0x6c93c0
598809:	6a 41                	push   $0x41
59880b:	e9 63 ff ff ff       	jmp    0x598773
598810:	83 38 01             	cmpl   $0x1,(%eax)
598813:	75 0c                	jne    0x598821
598815:	5f                   	pop    %edi
598816:	5e                   	pop    %esi
598817:	5d                   	pop    %ebp
598818:	5b                   	pop    %ebx
598819:	83 c4 14             	add    $0x14,%esp
59881c:	e9 cf 64 00 00       	jmp    0x59ecf0
598821:	68 99 00 00 00       	push   $0x99
598826:	68 c0 93 6c 00       	push   $0x6c93c0
59882b:	6a 79                	push   $0x79
59882d:	6a 77                	push   $0x77
59882f:	6a 22                	push   $0x22
598831:	e8 6a 8c f0 ff       	call   0x4a14a0
598836:	83 c4 14             	add    $0x14,%esp
598839:	33 c0                	xor    %eax,%eax
59883b:	5f                   	pop    %edi
59883c:	5e                   	pop    %esi
59883d:	5d                   	pop    %ebp
59883e:	5b                   	pop    %ebx
59883f:	83 c4 14             	add    $0x14,%esp
598842:	c3                   	ret
598843:	cc                   	int3
598844:	cc                   	int3
598845:	cc                   	int3
598846:	cc                   	int3
598847:	cc                   	int3
598848:	cc                   	int3
598849:	cc                   	int3
59884a:	cc                   	int3
59884b:	cc                   	int3
59884c:	cc                   	int3
59884d:	cc                   	int3
59884e:	cc                   	int3
59884f:	cc                   	int3
598850:	ff 74 24 0c          	push   0xc(%esp)
598854:	ff 74 24 08          	push   0x8(%esp)
598858:	e8 e3 05 fe ff       	call   0x578e40
59885d:	83 c4 08             	add    $0x8,%esp
598860:	c3                   	ret
598861:	cc                   	int3
598862:	cc                   	int3
598863:	cc                   	int3
598864:	cc                   	int3
598865:	cc                   	int3
598866:	cc                   	int3
598867:	cc                   	int3
598868:	cc                   	int3
598869:	cc                   	int3
59886a:	cc                   	int3
59886b:	cc                   	int3
59886c:	cc                   	int3
59886d:	cc                   	int3
59886e:	cc                   	int3
59886f:	cc                   	int3
598870:	ff 74 24 08          	push   0x8(%esp)
598874:	e8 57 42 ff ff       	call   0x58cad0
598879:	8b 54 24 08          	mov    0x8(%esp),%edx
59887d:	83 c4 04             	add    $0x4,%esp
598880:	8b 4a 34             	mov    0x34(%edx),%ecx
598883:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
598887:	74 14                	je     0x59889d
598889:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
598890:	3b 01                	cmp    (%ecx),%eax
598892:	74 12                	je     0x5988a6
598894:	83 c1 0c             	add    $0xc,%ecx
598897:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
59889b:	75 f3                	jne    0x598890
59889d:	89 54 24 04          	mov    %edx,0x4(%esp)
5988a1:	e9 7a 01 fe ff       	jmp    0x578a20
5988a6:	ff 71 04             	push   0x4(%ecx)
5988a9:	e8 02 5f f1 ff       	call   0x4ae7b0
5988ae:	83 c4 04             	add    $0x4,%esp
5988b1:	c3                   	ret
5988b2:	cc                   	int3
5988b3:	cc                   	int3
5988b4:	cc                   	int3
5988b5:	cc                   	int3
5988b6:	cc                   	int3
5988b7:	cc                   	int3
5988b8:	cc                   	int3
5988b9:	cc                   	int3
5988ba:	cc                   	int3
5988bb:	cc                   	int3
5988bc:	cc                   	int3
5988bd:	cc                   	int3
5988be:	cc                   	int3
5988bf:	cc                   	int3
5988c0:	53                   	push   %ebx
5988c1:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5988c5:	56                   	push   %esi
5988c6:	8b 74 24 14          	mov    0x14(%esp),%esi
5988ca:	57                   	push   %edi
5988cb:	8b 7c 24 14          	mov    0x14(%esp),%edi
5988cf:	83 3f 00             	cmpl   $0x0,(%edi)
5988d2:	74 47                	je     0x59891b
5988d4:	68 ad 57 6e 00       	push   $0x6e57ad
5988d9:	53                   	push   %ebx
5988da:	68 98 97 6c 00       	push   $0x6c9798
5988df:	56                   	push   %esi
5988e0:	e8 eb 65 f1 ff       	call   0x4aeed0
5988e5:	83 c4 10             	add    $0x10,%esp
5988e8:	85 c0                	test   %eax,%eax
5988ea:	0f 8e af 00 00 00    	jle    0x59899f
5988f0:	ff 37                	push   (%edi)
5988f2:	56                   	push   %esi
5988f3:	e8 08 f5 fe ff       	call   0x587e00
5988f8:	83 c4 08             	add    $0x8,%esp
5988fb:	85 c0                	test   %eax,%eax
5988fd:	0f 84 9c 00 00 00    	je     0x59899f
598903:	6a 01                	push   $0x1
598905:	68 b8 82 6b 00       	push   $0x6b82b8
59890a:	56                   	push   %esi
59890b:	e8 40 a2 f1 ff       	call   0x4b2b50
598910:	83 c4 0c             	add    $0xc,%esp
598913:	85 c0                	test   %eax,%eax
598915:	0f 8e 84 00 00 00    	jle    0x59899f
59891b:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
59891f:	74 3c                	je     0x59895d
598921:	68 ad 57 6e 00       	push   $0x6e57ad
598926:	53                   	push   %ebx
598927:	68 a4 97 6c 00       	push   $0x6c97a4
59892c:	56                   	push   %esi
59892d:	e8 9e 65 f1 ff       	call   0x4aeed0
598932:	83 c4 10             	add    $0x10,%esp
598935:	85 c0                	test   %eax,%eax
598937:	7e 66                	jle    0x59899f
598939:	ff 77 04             	push   0x4(%edi)
59893c:	56                   	push   %esi
59893d:	e8 1e ec fe ff       	call   0x587560
598942:	83 c4 08             	add    $0x8,%esp
598945:	85 c0                	test   %eax,%eax
598947:	7e 56                	jle    0x59899f
598949:	6a 01                	push   $0x1
59894b:	68 b8 82 6b 00       	push   $0x6b82b8
598950:	56                   	push   %esi
598951:	e8 fa a1 f1 ff       	call   0x4b2b50
598956:	83 c4 0c             	add    $0xc,%esp
598959:	85 c0                	test   %eax,%eax
59895b:	7e 42                	jle    0x59899f
59895d:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
598961:	74 42                	je     0x5989a5
598963:	68 ad 57 6e 00       	push   $0x6e57ad
598968:	53                   	push   %ebx
598969:	68 b0 97 6c 00       	push   $0x6c97b0
59896e:	56                   	push   %esi
59896f:	e8 5c 65 f1 ff       	call   0x4aeed0
598974:	83 c4 10             	add    $0x10,%esp
598977:	85 c0                	test   %eax,%eax
598979:	7e 24                	jle    0x59899f
59897b:	ff 77 08             	push   0x8(%edi)
59897e:	56                   	push   %esi
59897f:	e8 ac f2 fe ff       	call   0x587c30
598984:	83 c4 08             	add    $0x8,%esp
598987:	85 c0                	test   %eax,%eax
598989:	74 14                	je     0x59899f
59898b:	6a 01                	push   $0x1
59898d:	68 b8 82 6b 00       	push   $0x6b82b8
598992:	56                   	push   %esi
598993:	e8 b8 a1 f1 ff       	call   0x4b2b50
598998:	83 c4 0c             	add    $0xc,%esp
59899b:	85 c0                	test   %eax,%eax
59899d:	7f 06                	jg     0x5989a5
59899f:	5f                   	pop    %edi
5989a0:	5e                   	pop    %esi
5989a1:	33 c0                	xor    %eax,%eax
5989a3:	5b                   	pop    %ebx
5989a4:	c3                   	ret
5989a5:	5f                   	pop    %edi
5989a6:	5e                   	pop    %esi
5989a7:	b8 01 00 00 00       	mov    $0x1,%eax
5989ac:	5b                   	pop    %ebx
5989ad:	c3                   	ret
5989ae:	cc                   	int3
5989af:	cc                   	int3
5989b0:	68 ad 57 6e 00       	push   $0x6e57ad
5989b5:	ff 74 24 14          	push   0x14(%esp)
5989b9:	68 9c 80 6c 00       	push   $0x6c809c
5989be:	ff 74 24 18          	push   0x18(%esp)
5989c2:	e8 09 65 f1 ff       	call   0x4aeed0
5989c7:	83 c4 10             	add    $0x10,%esp
5989ca:	85 c0                	test   %eax,%eax
5989cc:	7f 03                	jg     0x5989d1
5989ce:	33 c0                	xor    %eax,%eax
5989d0:	c3                   	ret
5989d1:	ff 74 24 08          	push   0x8(%esp)
5989d5:	ff 74 24 10          	push   0x10(%esp)