5986a9:	85 c9                	test   %ecx,%ecx
5986ab:	75 1f                	jne    0x5986cc
5986ad:	8b 02                	mov    (%edx),%eax
5986af:	3d 04 03 00 00       	cmp    $0x304,%eax
5986b4:	7c 16                	jl     0x5986cc
5986b6:	3d 00 00 01 00       	cmp    $0x10000,%eax
5986bb:	74 0f                	je     0x5986cc
5986bd:	8b 47 08             	mov    0x8(%edi),%eax
5986c0:	83 f8 40             	cmp    $0x40,%eax
5986c3:	74 1a                	je     0x5986df
5986c5:	3d a3 02 00 00       	cmp    $0x2a3,%eax
5986ca:	74 13                	je     0x5986df
5986cc:	8b 47 10             	mov    0x10(%edi),%eax
5986cf:	3b e8                	cmp    %eax,%ebp
5986d1:	74 16                	je     0x5986e9
5986d3:	3d 90 03 00 00       	cmp    $0x390,%eax
5986d8:	75 05                	jne    0x5986df
5986da:	83 fd 06             	cmp    $0x6,%ebp
5986dd:	74 0a                	je     0x5986e9
5986df:	68 22 04 00 00       	push   $0x422
5986e4:	e9 54 02 00 00       	jmp    0x59893d
5986e9:	8d 44 24 14          	lea    0x14(%esp),%eax
5986ed:	50                   	push   %eax
5986ee:	ff 74 24 2c          	push   0x2c(%esp)
5986f2:	e8 c9 79 f5 ff       	call   0x4f00c0
5986f7:	83 c4 04             	add    $0x4,%esp
5986fa:	50                   	push   %eax
5986fb:	e8 b0 2b ff ff       	call   0x58b2b0
598700:	83 c4 08             	add    $0x8,%esp
598703:	85 c0                	test   %eax,%eax
598705:	0f 84 2d 02 00 00    	je     0x598938
59870b:	8b 47 14             	mov    0x14(%edi),%eax
59870e:	3b 44 24 14          	cmp    0x14(%esp),%eax
598712:	0f 85 20 02 00 00    	jne    0x598938
598718:	81 fd 98 01 00 00    	cmp    $0x198,%ebp
59871e:	0f 85 21 01 00 00    	jne    0x598845
598724:	8b 6c 24 28          	mov    0x28(%esp),%ebp
598728:	55                   	push   %ebp
598729:	56                   	push   %esi
59872a:	e8 81 10 00 00       	call   0x5997b0
59872f:	83 c4 08             	add    $0x8,%esp
598732:	85 c0                	test   %eax,%eax
598734:	75 14                	jne    0x59874a
598736:	68 34 04 00 00       	push   $0x434
59873b:	68 30 7b 66 00       	push   $0x667b30
598740:	68 a2 00 00 00       	push   $0xa2
598745:	e9 fd 01 00 00       	jmp    0x598947
59874a:	8b 4e 04             	mov    0x4(%esi),%ecx
59874d:	8b 41 64             	mov    0x64(%ecx),%eax
598750:	f6 40 30 08          	testb  $0x8,0x30(%eax)
598754:	75 10                	jne    0x598766
598756:	8b 01                	mov    (%ecx),%eax
598758:	3d 04 03 00 00       	cmp    $0x304,%eax
59875d:	7c 07                	jl     0x598766
59875f:	3d 00 00 01 00       	cmp    $0x10000,%eax
598764:	75 0f                	jne    0x598775
598766:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
59876c:	f7 40 10 00 00 03 00 	testl  $0x30000,0x10(%eax)
598773:	74 34                	je     0x5987a9
598775:	55                   	push   %ebp
598776:	e8 55 86 f5 ff       	call   0x4f0dd0
59877b:	50                   	push   %eax
59877c:	e8 bf ea f4 ff       	call   0x4e7240
598781:	50                   	push   %eax
598782:	e8 29 7b f5 ff       	call   0x4f02b0
598787:	8b 4f 1c             	mov    0x1c(%edi),%ecx
59878a:	83 c4 0c             	add    $0xc,%esp
59878d:	85 c9                	test   %ecx,%ecx
59878f:	74 18                	je     0x5987a9
598791:	3b c1                	cmp    %ecx,%eax
598793:	74 14                	je     0x5987a9
598795:	68 3f 04 00 00       	push   $0x43f
59879a:	68 30 7b 66 00       	push   $0x667b30
59879f:	68 7a 01 00 00       	push   $0x17a
5987a4:	e9 9e 01 00 00       	jmp    0x598947
5987a9:	8b 4e 04             	mov    0x4(%esi),%ecx
5987ac:	8b 41 64             	mov    0x64(%ecx),%eax
5987af:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5987b3:	75 14                	jne    0x5987c9
5987b5:	8b 01                	mov    (%ecx),%eax
5987b7:	3d 04 03 00 00       	cmp    $0x304,%eax
5987bc:	7c 0b                	jl     0x5987c9
5987be:	3d 00 00 01 00       	cmp    $0x10000,%eax
5987c3:	0f 85 92 00 00 00    	jne    0x59885b
5987c9:	6a 01                	push   $0x1
5987cb:	55                   	push   %ebp
5987cc:	e8 2f 12 00 00       	call   0x599a00
5987d1:	83 c4 04             	add    $0x4,%esp
5987d4:	0f b7 c0             	movzwl %ax,%eax
5987d7:	50                   	push   %eax
5987d8:	56                   	push   %esi
5987d9:	e8 f2 0e 00 00       	call   0x5996d0
5987de:	83 c4 0c             	add    $0xc,%esp
5987e1:	85 c0                	test   %eax,%eax
5987e3:	75 14                	jne    0x5987f9
5987e5:	68 47 04 00 00       	push   $0x447
5987ea:	68 30 7b 66 00       	push   $0x667b30
5987ef:	68 7a 01 00 00       	push   $0x17a
5987f4:	e9 4e 01 00 00       	jmp    0x598947
5987f9:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
5987ff:	f7 40 10 00 00 03 00 	testl  $0x30000,0x10(%eax)
598806:	74 53                	je     0x59885b
598808:	b8 03 04 00 00       	mov    $0x403,%eax
59880d:	66 3b d8             	cmp    %ax,%bx
598810:	74 49                	je     0x59885b
598812:	b8 03 05 00 00       	mov    $0x503,%eax
598817:	66 3b d8             	cmp    %ax,%bx
59881a:	74 3f                	je     0x59885b
59881c:	68 50 04 00 00       	push   $0x450
598821:	68 30 7b 66 00       	push   $0x667b30
598826:	68 72 01 00 00       	push   $0x172
59882b:	68 4d 01 00 00       	push   $0x14d
598830:	6a 28                	push   $0x28
598832:	56                   	push   %esi
598833:	e8 d8 68 ff ff       	call   0x58f110
598838:	83 c4 18             	add    $0x18,%esp
59883b:	33 c0                	xor    %eax,%eax
59883d:	5f                   	pop    %edi
59883e:	5b                   	pop    %ebx
59883f:	5e                   	pop    %esi
598840:	5d                   	pop    %ebp
598841:	83 c4 0c             	add    $0xc,%esp
598844:	c3                   	ret
598845:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
59884b:	f7 40 10 00 00 03 00 	testl  $0x30000,0x10(%eax)
598852:	74 07                	je     0x59885b
598854:	68 57 04 00 00       	push   $0x457
598859:	eb c6                	jmp    0x598821
59885b:	8d 44 24 18          	lea    0x18(%esp),%eax
59885f:	50                   	push   %eax
598860:	6a 01                	push   $0x1
598862:	56                   	push   %esi
598863:	e8 e8 01 00 00       	call   0x598a50
598868:	83 c4 0c             	add    $0xc,%esp
59886b:	33 c9                	xor    %ecx,%ecx
59886d:	85 c0                	test   %eax,%eax
59886f:	74 11                	je     0x598882
598871:	8b 54 24 18          	mov    0x18(%esp),%edx
598875:	66 3b 1a             	cmp    (%edx),%bx
598878:	74 2b                	je     0x5988a5
59887a:	41                   	inc    %ecx
59887b:	83 c2 02             	add    $0x2,%edx
59887e:	3b c8                	cmp    %eax,%ecx
598880:	72 f3                	jb     0x598875
598882:	3b c8                	cmp    %eax,%ecx
598884:	75 1f                	jne    0x5988a5
598886:	83 7f 08 40          	cmpl   $0x40,0x8(%edi)
59888a:	75 0f                	jne    0x59889b
59888c:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
598892:	f7 40 10 01 00 03 00 	testl  $0x30001,0x10(%eax)
598899:	74 0a                	je     0x5988a5
59889b:	68 66 04 00 00       	push   $0x466
5988a0:	e9 7c ff ff ff       	jmp    0x598821
5988a5:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
5988a9:	75 2d                	jne    0x5988d8
5988ab:	33 ed                	xor    %ebp,%ebp
5988ad:	8b c3                	mov    %ebx,%eax
5988af:	88 5c 24 11          	mov    %bl,0x11(%esp)
5988b3:	c1 e8 08             	shr    $0x8,%eax
5988b6:	57                   	push   %edi
5988b7:	88 44 24 14          	mov    %al,0x14(%esp)
5988bb:	e8 10 f5 ff ff       	call   0x597dd0
5988c0:	8b d8                	mov    %eax,%ebx
5988c2:	83 c4 04             	add    $0x4,%esp
5988c5:	85 db                	test   %ebx,%ebx
5988c7:	74 65                	je     0x59892e
5988c9:	85 ed                	test   %ebp,%ebp
5988cb:	74 30                	je     0x5988fd
5988cd:	55                   	push   %ebp
5988ce:	e8 ed 77 f5 ff       	call   0x4f00c0
5988d3:	83 c4 04             	add    $0x4,%esp
5988d6:	eb 27                	jmp    0x5988ff
5988d8:	ff 77 0c             	push   0xc(%edi)
5988db:	e8 80 fd fe ff       	call   0x588660
5988e0:	8b e8                	mov    %eax,%ebp
5988e2:	83 c4 04             	add    $0x4,%esp
5988e5:	85 ed                	test   %ebp,%ebp
5988e7:	75 c4                	jne    0x5988ad
5988e9:	68 6b 04 00 00       	push   $0x46b
5988ee:	68 30 7b 66 00       	push   $0x667b30
5988f3:	68 70 01 00 00       	push   $0x170
5988f8:	e9 2e ff ff ff       	jmp    0x59882b
5988fd:	33 c0                	xor    %eax,%eax
5988ff:	8d 4c 24 10          	lea    0x10(%esp),%ecx
598903:	51                   	push   %ecx
598904:	50                   	push   %eax
598905:	53                   	push   %ebx
598906:	68 0d 00 05 00       	push   $0x5000d
59890b:	56                   	push   %esi
59890c:	e8 6f 2c ff ff       	call   0x58b580
598911:	83 c4 14             	add    $0x14,%esp
598914:	85 c0                	test   %eax,%eax
598916:	74 16                	je     0x59892e
598918:	8b 46 7c             	mov    0x7c(%esi),%eax
59891b:	89 b8 78 02 00 00    	mov    %edi,0x278(%eax)
598921:	b8 01 00 00 00       	mov    $0x1,%eax
598926:	5f                   	pop    %edi
598927:	5b                   	pop    %ebx
598928:	5e                   	pop    %esi
598929:	5d                   	pop    %ebp
59892a:	83 c4 0c             	add    $0xc,%esp
59892d:	c3                   	ret
59892e:	68 7a 04 00 00       	push   $0x47a
598933:	e9 e9 fe ff ff       	jmp    0x598821
598938:	68 29 04 00 00       	push   $0x429
59893d:	68 30 7b 66 00       	push   $0x667b30
598942:	68 72 01 00 00       	push   $0x172
598947:	68 4d 01 00 00       	push   $0x14d
59894c:	6a 2f                	push   $0x2f
59894e:	56                   	push   %esi
59894f:	e8 bc 67 ff ff       	call   0x58f110
598954:	83 c4 18             	add    $0x18,%esp
598957:	33 c0                	xor    %eax,%eax
598959:	5f                   	pop    %edi
59895a:	5b                   	pop    %ebx
59895b:	5e                   	pop    %esi
59895c:	5d                   	pop    %ebp
59895d:	83 c4 0c             	add    $0xc,%esp
598960:	c3                   	ret
598961:	cc                   	int3
598962:	cc                   	int3
598963:	cc                   	int3
598964:	cc                   	int3
598965:	cc                   	int3
598966:	cc                   	int3
598967:	cc                   	int3
598968:	cc                   	int3
598969:	cc                   	int3
59896a:	cc                   	int3
59896b:	cc                   	int3
59896c:	cc                   	int3
59896d:	cc                   	int3
59896e:	cc                   	int3
59896f:	cc                   	int3
598970:	53                   	push   %ebx
598971:	55                   	push   %ebp
598972:	33 db                	xor    %ebx,%ebx
598974:	33 ed                	xor    %ebp,%ebp
598976:	56                   	push   %esi
598977:	57                   	push   %edi
598978:	39 5c 24 20          	cmp    %ebx,0x20(%esp)
59897c:	0f 86 9b 00 00 00    	jbe    0x598a1d
598982:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
598986:	0f b7 0f             	movzwl (%edi),%ecx
598989:	33 c0                	xor    %eax,%eax
59898b:	be b8 76 66 00       	mov    $0x6676b8,%esi
598990:	66 39 4e 04          	cmp    %cx,0x4(%esi)
598994:	74 0b                	je     0x5989a1
598996:	40                   	inc    %eax
598997:	83 c6 20             	add    $0x20,%esi
59899a:	83 f8 17             	cmp    $0x17,%eax
59899d:	72 f1                	jb     0x598990
59899f:	33 f6                	xor    %esi,%esi
5989a1:	56                   	push   %esi
5989a2:	68 0b 00 05 00       	push   $0x5000b
5989a7:	ff 74 24 1c          	push   0x1c(%esp)
5989ab:	e8 f0 01 00 00       	call   0x598ba0
5989b0:	83 c4 0c             	add    $0xc,%esp
5989b3:	85 c0                	test   %eax,%eax
5989b5:	74 54                	je     0x598a0b
5989b7:	0f b7 07             	movzwl (%edi),%eax
5989ba:	6a 02                	push   $0x2
5989bc:	50                   	push   %eax
5989bd:	ff 74 24 20          	push   0x20(%esp)
5989c1:	e8 da b5 00 00       	call   0x5a3fa0
5989c6:	83 c4 0c             	add    $0xc,%esp
5989c9:	85 c0                	test   %eax,%eax
5989cb:	74 72                	je     0x598a3f
5989cd:	85 ed                	test   %ebp,%ebp
5989cf:	75 3a                	jne    0x598a0b
5989d1:	8b 44 24 14          	mov    0x14(%esp),%eax
5989d5:	8b 48 04             	mov    0x4(%eax),%ecx
5989d8:	8b 41 64             	mov    0x64(%ecx),%eax
5989db:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5989df:	75 25                	jne    0x598a06
5989e1:	8b 01                	mov    (%ecx),%eax
5989e3:	3d 04 03 00 00       	cmp    $0x304,%eax
5989e8:	7c 1c                	jl     0x598a06
5989ea:	3d 00 00 01 00       	cmp    $0x10000,%eax
5989ef:	74 15                	je     0x598a06
5989f1:	83 7e 10 06          	cmpl   $0x6,0x10(%esi)
5989f5:	74 14                	je     0x598a0b
5989f7:	8b 46 08             	mov    0x8(%esi),%eax
5989fa:	83 f8 40             	cmp    $0x40,%eax
5989fd:	74 0c                	je     0x598a0b
5989ff:	3d a3 02 00 00       	cmp    $0x2a3,%eax
598a04:	74 05                	je     0x598a0b
598a06:	bd 01 00 00 00       	mov    $0x1,%ebp
598a0b:	43                   	inc    %ebx
598a0c:	83 c7 02             	add    $0x2,%edi
598a0f:	3b 5c 24 20          	cmp    0x20(%esp),%ebx
598a13:	0f 82 6d ff ff ff    	jb     0x598986
598a19:	85 ed                	test   %ebp,%ebp
598a1b:	75 1b                	jne    0x598a38
598a1d:	68 b8 06 00 00       	push   $0x6b8
598a22:	68 30 7b 66 00       	push   $0x667b30
598a27:	6a 76                	push   $0x76
598a29:	68 15 02 00 00       	push   $0x215
598a2e:	6a 14                	push   $0x14
598a30:	e8 4b 05 f4 ff       	call   0x4d8f80
598a35:	83 c4 14             	add    $0x14,%esp
598a38:	5f                   	pop    %edi
598a39:	5e                   	pop    %esi
598a3a:	8b c5                	mov    %ebp,%eax
598a3c:	5d                   	pop    %ebp
598a3d:	5b                   	pop    %ebx
598a3e:	c3                   	ret
598a3f:	5f                   	pop    %edi
598a40:	5e                   	pop    %esi
598a41:	5d                   	pop    %ebp
598a42:	33 c0                	xor    %eax,%eax
598a44:	5b                   	pop    %ebx
598a45:	c3                   	ret
598a46:	cc                   	int3
598a47:	cc                   	int3
598a48:	cc                   	int3
598a49:	cc                   	int3
598a4a:	cc                   	int3
598a4b:	cc                   	int3
598a4c:	cc                   	int3
598a4d:	cc                   	int3
598a4e:	cc                   	int3
598a4f:	cc                   	int3
598a50:	8b 4c 24 04          	mov    0x4(%esp),%ecx
598a54:	8b 91 04 04 00 00    	mov    0x404(%ecx),%edx
598a5a:	8b 42 10             	mov    0x10(%edx),%eax
598a5d:	25 00 00 03 00       	and    $0x30000,%eax
598a62:	3d 00 00 01 00       	cmp    $0x10000,%eax
598a67:	0f 84 81 00 00 00    	je     0x598aee
598a6d:	3d 00 00 02 00       	cmp    $0x20000,%eax
598a72:	74 6a                	je     0x598ade
598a74:	3d 00 00 03 00       	cmp    $0x30000,%eax
598a79:	74 53                	je     0x598ace
598a7b:	8b 41 1c             	mov    0x1c(%ecx),%eax
598a7e:	56                   	push   %esi
598a7f:	3b 44 24 0c          	cmp    0xc(%esp),%eax
598a83:	75 1e                	jne    0x598aa3
598a85:	8b b2 d8 00 00 00    	mov    0xd8(%edx),%esi
598a8b:	85 f6                	test   %esi,%esi
598a8d:	74 14                	je     0x598aa3
598a8f:	8b 44 24 10          	mov    0x10(%esp),%eax
598a93:	89 30                	mov    %esi,(%eax)
598a95:	8b 81 04 04 00 00    	mov    0x404(%ecx),%eax
598a9b:	5e                   	pop    %esi
598a9c:	8b 80 dc 00 00 00    	mov    0xdc(%eax),%eax
598aa2:	c3                   	ret
598aa3:	8b 92 d0 00 00 00    	mov    0xd0(%edx),%edx
598aa9:	8b 44 24 10          	mov    0x10(%esp),%eax
598aad:	85 d2                	test   %edx,%edx
598aaf:	74 10                	je     0x598ac1