589869:	81 f9 00 40 00 00    	cmp    $0x4000,%ecx
58986f:	77 10                	ja     0x589881
589871:	8b 44 24 04          	mov    0x4(%esp),%eax
589875:	89 88 64 0f 00 00    	mov    %ecx,0xf64(%eax)
58987b:	b8 01 00 00 00       	mov    $0x1,%eax
589880:	c3                   	ret
589881:	33 c0                	xor    %eax,%eax
589883:	c3                   	ret
589884:	cc                   	int3
589885:	cc                   	int3
589886:	cc                   	int3
589887:	cc                   	int3
589888:	cc                   	int3
589889:	cc                   	int3
58988a:	cc                   	int3
58988b:	cc                   	int3
58988c:	cc                   	int3
58988d:	cc                   	int3
58988e:	cc                   	int3
58988f:	cc                   	int3
589890:	8b 4c 24 04          	mov    0x4(%esp),%ecx
589894:	53                   	push   %ebx
589895:	ff b1 04 04 00 00    	push   0x404(%ecx)
58989b:	8d 81 c0 00 00 00    	lea    0xc0(%ecx),%eax
5898a1:	ff 74 24 10          	push   0x10(%esp)
5898a5:	50                   	push   %eax
5898a6:	8d 81 bc 00 00 00    	lea    0xbc(%ecx),%eax
5898ac:	50                   	push   %eax
5898ad:	8b 81 d0 04 00 00    	mov    0x4d0(%ecx),%eax
5898b3:	ff b1 c4 00 00 00    	push   0xc4(%ecx)
5898b9:	ff 30                	push   (%eax)
5898bb:	e8 d0 de ff ff       	call   0x587790
5898c0:	8b d8                	mov    %eax,%ebx
5898c2:	83 c4 18             	add    $0x18,%esp
5898c5:	85 db                	test   %ebx,%ebx
5898c7:	75 02                	jne    0x5898cb
5898c9:	5b                   	pop    %ebx
5898ca:	c3                   	ret
5898cb:	56                   	push   %esi
5898cc:	57                   	push   %edi
5898cd:	53                   	push   %ebx
5898ce:	33 ff                	xor    %edi,%edi
5898d0:	33 f6                	xor    %esi,%esi
5898d2:	e8 e9 b7 f5 ff       	call   0x4e50c0
5898d7:	83 c4 04             	add    $0x4,%esp
5898da:	85 c0                	test   %eax,%eax
5898dc:	7e 33                	jle    0x589911
5898de:	66 90                	xchg   %ax,%ax
5898e0:	56                   	push   %esi
5898e1:	53                   	push   %ebx
5898e2:	e8 99 b9 f5 ff       	call   0x4e5280
5898e7:	8d 4f 01             	lea    0x1(%edi),%ecx
5898ea:	53                   	push   %ebx
5898eb:	81 78 20 04 03 00 00 	cmpl   $0x304,0x20(%eax)
5898f2:	0f 4d cf             	cmovge %edi,%ecx
5898f5:	46                   	inc    %esi
5898f6:	8b f9                	mov    %ecx,%edi
5898f8:	e8 c3 b7 f5 ff       	call   0x4e50c0
5898fd:	83 c4 0c             	add    $0xc,%esp
589900:	3b f0                	cmp    %eax,%esi
589902:	7c dc                	jl     0x5898e0
589904:	85 ff                	test   %edi,%edi
589906:	74 09                	je     0x589911
589908:	5f                   	pop    %edi
589909:	5e                   	pop    %esi
58990a:	b8 01 00 00 00       	mov    $0x1,%eax
58990f:	5b                   	pop    %ebx
589910:	c3                   	ret
589911:	68 12 0a 00 00       	push   $0xa12
589916:	68 3c 48 66 00       	push   $0x66483c
58991b:	68 b9 00 00 00       	push   $0xb9
589920:	68 0f 01 00 00       	push   $0x10f
589925:	6a 14                	push   $0x14
589927:	e8 54 f6 f4 ff       	call   0x4d8f80
58992c:	83 c4 14             	add    $0x14,%esp
58992f:	33 c0                	xor    %eax,%eax
589931:	5f                   	pop    %edi
589932:	5e                   	pop    %esi
589933:	5b                   	pop    %ebx
589934:	c3                   	ret
589935:	cc                   	int3
589936:	cc                   	int3
589937:	cc                   	int3
589938:	cc                   	int3
589939:	cc                   	int3
58993a:	cc                   	int3
58993b:	cc                   	int3
58993c:	cc                   	int3
58993d:	cc                   	int3
58993e:	cc                   	int3
58993f:	cc                   	int3
589940:	8b 44 24 04          	mov    0x4(%esp),%eax
589944:	8b 4c 24 08          	mov    0x8(%esp),%ecx
589948:	89 88 6c 0f 00 00    	mov    %ecx,0xf6c(%eax)
58994e:	b8 01 00 00 00       	mov    $0x1,%eax
589953:	c3                   	ret
589954:	cc                   	int3
589955:	cc                   	int3
589956:	cc                   	int3
589957:	cc                   	int3
589958:	cc                   	int3
589959:	cc                   	int3
58995a:	cc                   	int3
58995b:	cc                   	int3
58995c:	cc                   	int3
58995d:	cc                   	int3
58995e:	cc                   	int3
58995f:	cc                   	int3
589960:	b8 08 00 00 00       	mov    $0x8,%eax
589965:	e8 46 7e 04 00       	call   0x5d17b0
58996a:	53                   	push   %ebx
58996b:	33 db                	xor    %ebx,%ebx
58996d:	39 5c 24 20          	cmp    %ebx,0x20(%esp)
589971:	55                   	push   %ebp
589972:	8b 6c 24 18          	mov    0x18(%esp),%ebp
589976:	0f 95 c3             	setne  %bl
589979:	83 c3 02             	add    $0x2,%ebx
58997c:	8b 45 04             	mov    0x4(%ebp),%eax
58997f:	85 c0                	test   %eax,%eax
589981:	75 41                	jne    0x5899c4
589983:	39 44 24 28          	cmp    %eax,0x28(%esp)
589987:	74 2a                	je     0x5899b3
589989:	68 0a 15 00 00       	push   $0x150a
58998e:	68 3c 48 66 00       	push   $0x66483c
589993:	68 b7 00 00 00       	push   $0xb7
589998:	68 07 02 00 00       	push   $0x207
58999d:	6a 2f                	push   $0x2f
58999f:	ff 74 24 28          	push   0x28(%esp)
5899a3:	e8 68 57 00 00       	call   0x58f110
5899a8:	83 c4 18             	add    $0x18,%esp
5899ab:	33 c0                	xor    %eax,%eax
5899ad:	5d                   	pop    %ebp
5899ae:	5b                   	pop    %ebx
5899af:	83 c4 08             	add    $0x8,%esp
5899b2:	c3                   	ret
5899b3:	68 0c 15 00 00       	push   $0x150c
5899b8:	68 3c 48 66 00       	push   $0x66483c
5899bd:	68 b7 00 00 00       	push   $0xb7
5899c2:	eb 48                	jmp    0x589a0c
5899c4:	33 d2                	xor    %edx,%edx
5899c6:	f7 f3                	div    %ebx
5899c8:	85 d2                	test   %edx,%edx
5899ca:	74 57                	je     0x589a23
5899cc:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
5899d1:	74 2a                	je     0x5899fd
5899d3:	68 13 15 00 00       	push   $0x1513
5899d8:	68 3c 48 66 00       	push   $0x66483c
5899dd:	68 97 00 00 00       	push   $0x97
5899e2:	68 07 02 00 00       	push   $0x207
5899e7:	6a 32                	push   $0x32
5899e9:	ff 74 24 28          	push   0x28(%esp)
5899ed:	e8 1e 57 00 00       	call   0x58f110
5899f2:	83 c4 18             	add    $0x18,%esp
5899f5:	33 c0                	xor    %eax,%eax
5899f7:	5d                   	pop    %ebp
5899f8:	5b                   	pop    %ebx
5899f9:	83 c4 08             	add    $0x8,%esp
5899fc:	c3                   	ret
5899fd:	68 16 15 00 00       	push   $0x1516
589a02:	68 3c 48 66 00       	push   $0x66483c
589a07:	68 97 00 00 00       	push   $0x97
589a0c:	68 07 02 00 00       	push   $0x207
589a11:	6a 14                	push   $0x14
589a13:	e8 68 f5 f4 ff       	call   0x4d8f80
589a18:	83 c4 14             	add    $0x14,%esp
589a1b:	33 c0                	xor    %eax,%eax
589a1d:	5d                   	pop    %ebp
589a1e:	5b                   	pop    %ebx
589a1f:	83 c4 08             	add    $0x8,%esp
589a22:	c3                   	ret
589a23:	56                   	push   %esi
589a24:	57                   	push   %edi
589a25:	e8 f6 b5 f5 ff       	call   0x4e5020
589a2a:	89 44 24 14          	mov    %eax,0x14(%esp)
589a2e:	e8 ed b5 f5 ff       	call   0x4e5020
589a33:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
589a38:	8b f0                	mov    %eax,%esi
589a3a:	89 74 24 10          	mov    %esi,0x10(%esp)
589a3e:	74 04                	je     0x589a44
589a40:	85 f6                	test   %esi,%esi
589a42:	75 3c                	jne    0x589a80
589a44:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
589a49:	0f 84 85 01 00 00    	je     0x589bd4
589a4f:	68 1f 15 00 00       	push   $0x151f
589a54:	68 3c 48 66 00       	push   $0x66483c
589a59:	6a 41                	push   $0x41
589a5b:	68 07 02 00 00       	push   $0x207
589a60:	6a 50                	push   $0x50
589a62:	ff 74 24 30          	push   0x30(%esp)
589a66:	e8 a5 56 00 00       	call   0x58f110
589a6b:	83 c4 18             	add    $0x18,%esp
589a6e:	e9 7c 01 00 00       	jmp    0x589bef
589a73:	8b 74 24 10          	mov    0x10(%esp),%esi
589a77:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
589a7e:	00 00
589a80:	8b 7d 04             	mov    0x4(%ebp),%edi
589a83:	3b fb                	cmp    %ebx,%edi
589a85:	0f 82 c0 00 00 00    	jb     0x589b4b
589a8b:	8b 75 00             	mov    0x0(%ebp),%esi
589a8e:	8d 44 24 20          	lea    0x20(%esp),%eax
589a92:	53                   	push   %ebx
589a93:	56                   	push   %esi
589a94:	50                   	push   %eax
589a95:	e8 36 93 04 00       	call   0x5d2dd0
589a9a:	8b 4c 24 38          	mov    0x38(%esp),%ecx
589a9e:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
589aa1:	2b fb                	sub    %ebx,%edi
589aa3:	89 45 00             	mov    %eax,0x0(%ebp)
589aa6:	83 c4 0c             	add    $0xc,%esp
589aa9:	89 7d 04             	mov    %edi,0x4(%ebp)
589aac:	85 c9                	test   %ecx,%ecx
589aae:	74 0b                	je     0x589abb
589ab0:	80 7c 24 20 00       	cmpb   $0x0,0x20(%esp)
589ab5:	8b 74 24 10          	mov    0x10(%esp),%esi
589ab9:	75 c5                	jne    0x589a80
589abb:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
589abf:	8d 54 24 21          	lea    0x21(%esp),%edx
589ac3:	85 c9                	test   %ecx,%ecx
589ac5:	8d 44 24 20          	lea    0x20(%esp),%eax
589ac9:	6a 01                	push   $0x1
589acb:	0f 45 c2             	cmovne %edx,%eax
589ace:	50                   	push   %eax
589acf:	57                   	push   %edi
589ad0:	e8 fb e7 ff ff       	call   0x5882d0
589ad5:	8b f0                	mov    %eax,%esi
589ad7:	83 c4 0c             	add    $0xc,%esp
589ada:	85 f6                	test   %esi,%esi
589adc:	74 95                	je     0x589a73
589ade:	83 3e 00             	cmpl   $0x0,(%esi)
589ae1:	74 1a                	je     0x589afd
589ae3:	56                   	push   %esi
589ae4:	ff 74 24 18          	push   0x18(%esp)
589ae8:	e8 63 b6 f5 ff       	call   0x4e5150
589aed:	83 c4 08             	add    $0x8,%esp
589af0:	85 c0                	test   %eax,%eax
589af2:	74 21                	je     0x589b15
589af4:	83 3e 00             	cmpl   $0x0,(%esi)
589af7:	0f 85 76 ff ff ff    	jne    0x589a73
589afd:	56                   	push   %esi
589afe:	8b 74 24 14          	mov    0x14(%esp),%esi
589b02:	56                   	push   %esi
589b03:	e8 48 b6 f5 ff       	call   0x4e5150
589b08:	83 c4 08             	add    $0x8,%esp
589b0b:	85 c0                	test   %eax,%eax
589b0d:	0f 85 6d ff ff ff    	jne    0x589a80
589b13:	eb 04                	jmp    0x589b19
589b15:	8b 74 24 10          	mov    0x10(%esp),%esi
589b19:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
589b1e:	74 21                	je     0x589b41
589b20:	68 35 15 00 00       	push   $0x1535
589b25:	68 3c 48 66 00       	push   $0x66483c
589b2a:	6a 41                	push   $0x41
589b2c:	68 07 02 00 00       	push   $0x207
589b31:	6a 50                	push   $0x50
589b33:	57                   	push   %edi
589b34:	e8 d7 55 00 00       	call   0x58f110
589b39:	83 c4 18             	add    $0x18,%esp
589b3c:	e9 ae 00 00 00       	jmp    0x589bef
589b41:	68 37 15 00 00       	push   $0x1537
589b46:	e9 8e 00 00 00       	jmp    0x589bd9
589b4b:	85 ff                	test   %edi,%edi
589b4d:	74 3c                	je     0x589b8b
589b4f:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
589b54:	74 24                	je     0x589b7a
589b56:	68 3f 15 00 00       	push   $0x153f
589b5b:	68 3c 48 66 00       	push   $0x66483c
589b60:	68 0f 01 00 00       	push   $0x10f
589b65:	68 07 02 00 00       	push   $0x207
589b6a:	6a 32                	push   $0x32
589b6c:	ff 74 24 30          	push   0x30(%esp)
589b70:	e8 9b 55 00 00       	call   0x58f110
589b75:	83 c4 18             	add    $0x18,%esp
589b78:	eb 75                	jmp    0x589bef
589b7a:	68 41 15 00 00       	push   $0x1541
589b7f:	68 3c 48 66 00       	push   $0x66483c
589b84:	68 0f 01 00 00       	push   $0x10f
589b89:	eb 55                	jmp    0x589be0
589b8b:	8b 4c 24 24          	mov    0x24(%esp),%ecx
589b8f:	85 c9                	test   %ecx,%ecx
589b91:	74 08                	je     0x589b9b
589b93:	8b 44 24 14          	mov    0x14(%esp),%eax
589b97:	89 01                	mov    %eax,(%ecx)
589b99:	eb 0c                	jmp    0x589ba7
589b9b:	ff 74 24 14          	push   0x14(%esp)
589b9f:	e8 7c b3 f5 ff       	call   0x4e4f20
589ba4:	83 c4 04             	add    $0x4,%esp
589ba7:	8b 44 24 28          	mov    0x28(%esp),%eax
589bab:	85 c0                	test   %eax,%eax
589bad:	74 0f                	je     0x589bbe
589baf:	5f                   	pop    %edi
589bb0:	89 30                	mov    %esi,(%eax)
589bb2:	b8 01 00 00 00       	mov    $0x1,%eax
589bb7:	5e                   	pop    %esi
589bb8:	5d                   	pop    %ebp
589bb9:	5b                   	pop    %ebx
589bba:	83 c4 08             	add    $0x8,%esp
589bbd:	c3                   	ret
589bbe:	56                   	push   %esi
589bbf:	e8 5c b3 f5 ff       	call   0x4e4f20
589bc4:	83 c4 04             	add    $0x4,%esp
589bc7:	b8 01 00 00 00       	mov    $0x1,%eax
589bcc:	5f                   	pop    %edi
589bcd:	5e                   	pop    %esi
589bce:	5d                   	pop    %ebp
589bcf:	5b                   	pop    %ebx
589bd0:	83 c4 08             	add    $0x8,%esp
589bd3:	c3                   	ret
589bd4:	68 21 15 00 00       	push   $0x1521
589bd9:	68 3c 48 66 00       	push   $0x66483c
589bde:	6a 41                	push   $0x41
589be0:	68 07 02 00 00       	push   $0x207
589be5:	6a 14                	push   $0x14
589be7:	e8 94 f3 f4 ff       	call   0x4d8f80
589bec:	83 c4 14             	add    $0x14,%esp
589bef:	ff 74 24 14          	push   0x14(%esp)
589bf3:	e8 28 b3 f5 ff       	call   0x4e4f20
589bf8:	56                   	push   %esi
589bf9:	e8 22 b3 f5 ff       	call   0x4e4f20
589bfe:	83 c4 08             	add    $0x8,%esp
589c01:	33 c0                	xor    %eax,%eax
589c03:	5f                   	pop    %edi
589c04:	5e                   	pop    %esi
589c05:	5d                   	pop    %ebp
589c06:	5b                   	pop    %ebx
589c07:	83 c4 08             	add    $0x8,%esp
589c0a:	c3                   	ret
589c0b:	cc                   	int3
589c0c:	cc                   	int3
589c0d:	cc                   	int3
589c0e:	cc                   	int3
589c0f:	cc                   	int3
589c10:	56                   	push   %esi
589c11:	8b 74 24 08          	mov    0x8(%esp),%esi
589c15:	8b 86 cc 03 00 00    	mov    0x3cc(%esi),%eax
589c1b:	85 c0                	test   %eax,%eax
589c1d:	74 13                	je     0x589c32
589c1f:	50                   	push   %eax
589c20:	e8 cb 27 f5 ff       	call   0x4dc3f0
589c25:	83 c4 04             	add    $0x4,%esp
589c28:	c7 86 cc 03 00 00 00 	movl   $0x0,0x3cc(%esi)
589c2f:	00 00 00
589c32:	8b 86 ec 03 00 00    	mov    0x3ec(%esi),%eax
589c38:	85 c0                	test   %eax,%eax
589c3a:	74 13                	je     0x589c4f
589c3c:	50                   	push   %eax
589c3d:	e8 ae 27 f5 ff       	call   0x4dc3f0
589c42:	83 c4 04             	add    $0x4,%esp
589c45:	c7 86 ec 03 00 00 00 	movl   $0x0,0x3ec(%esi)
589c4c:	00 00 00
589c4f:	ff b6 e0 03 00 00    	push   0x3e0(%esi)