4569f2:	74 30                	je     0x456a24
4569f4:	33 d2                	xor    %edx,%edx
4569f6:	e8 45 59 ff ff       	call   0x44c340
4569fb:	8b f0                	mov    %eax,%esi
4569fd:	85 f6                	test   %esi,%esi
4569ff:	74 23                	je     0x456a24
456a01:	66 83 be f2 02 00 00 	cmpw   $0x0,0x2f2(%esi)
456a08:	00
456a09:	74 19                	je     0x456a24
456a0b:	8b 45 08             	mov    0x8(%ebp),%eax
456a0e:	50                   	push   %eax
456a0f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
456a12:	0f b7 55 fa          	movzwl -0x6(%ebp),%edx
456a16:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
456a1c:	ff 96 f0 02 00 00    	call   *0x2f0(%esi)
456a22:	8b d8                	mov    %eax,%ebx
456a24:	84 db                	test   %bl,%bl
456a26:	75 66                	jne    0x456a8e
456a28:	a1 84 15 47 00       	mov    0x471584,%eax
456a2d:	8b 40 68             	mov    0x68(%eax),%eax
456a30:	85 c0                	test   %eax,%eax
456a32:	74 2d                	je     0x456a61
456a34:	3b f0                	cmp    %eax,%esi
456a36:	74 29                	je     0x456a61
456a38:	8b f0                	mov    %eax,%esi
456a3a:	85 f6                	test   %esi,%esi
456a3c:	74 23                	je     0x456a61
456a3e:	66 83 be f2 02 00 00 	cmpw   $0x0,0x2f2(%esi)
456a45:	00
456a46:	74 19                	je     0x456a61
456a48:	8b 45 08             	mov    0x8(%ebp),%eax
456a4b:	50                   	push   %eax
456a4c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
456a4f:	0f b7 55 fa          	movzwl -0x6(%ebp),%edx
456a53:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
456a59:	ff 96 f0 02 00 00    	call   *0x2f0(%esi)
456a5f:	8b d8                	mov    %eax,%ebx
456a61:	84 db                	test   %bl,%bl
456a63:	75 29                	jne    0x456a8e
456a65:	8b 45 fc             	mov    -0x4(%ebp),%eax
456a68:	66 83 b8 1a 01 00 00 	cmpw   $0x0,0x11a(%eax)
456a6f:	00
456a70:	74 1c                	je     0x456a8e
456a72:	8b 45 08             	mov    0x8(%ebp),%eax
456a75:	50                   	push   %eax
456a76:	8b 5d fc             	mov    -0x4(%ebp),%ebx
456a79:	8b 4d f4             	mov    -0xc(%ebp),%ecx
456a7c:	0f b7 55 fa          	movzwl -0x6(%ebp),%edx
456a80:	8b 83 1c 01 00 00    	mov    0x11c(%ebx),%eax
456a86:	ff 93 18 01 00 00    	call   *0x118(%ebx)
456a8c:	8b d8                	mov    %eax,%ebx
456a8e:	8b c3                	mov    %ebx,%eax
456a90:	5e                   	pop    %esi
456a91:	5b                   	pop    %ebx
456a92:	8b e5                	mov    %ebp,%esp
456a94:	5d                   	pop    %ebp
456a95:	c2 04 00             	ret    $0x4
456a98:	55                   	push   %ebp
456a99:	8b ec                	mov    %esp,%ebp
456a9b:	83 c4 f8             	add    $0xfffffff8,%esp
456a9e:	53                   	push   %ebx
456a9f:	56                   	push   %esi
456aa0:	57                   	push   %edi
456aa1:	33 c9                	xor    %ecx,%ecx
456aa3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
456aa6:	8b fa                	mov    %edx,%edi
456aa8:	8b f0                	mov    %eax,%esi
456aaa:	33 c0                	xor    %eax,%eax
456aac:	55                   	push   %ebp
456aad:	68 16 6b 45 00       	push   $0x456b16
456ab2:	64 ff 30             	push   %fs:(%eax)
456ab5:	64 89 20             	mov    %esp,%fs:(%eax)
456ab8:	8d 45 ff             	lea    -0x1(%ebp),%eax
456abb:	50                   	push   %eax
456abc:	8b c7                	mov    %edi,%eax
456abe:	e8 21 e1 fa ff       	call   0x404be4
456ac3:	8b c8                	mov    %eax,%ecx
456ac5:	66 ba 02 01          	mov    $0x102,%dx
456ac9:	8b c6                	mov    %esi,%eax
456acb:	e8 fc fe ff ff       	call   0x4569cc
456ad0:	8b d8                	mov    %eax,%ebx
456ad2:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
456ad6:	74 28                	je     0x456b00
456ad8:	8b c6                	mov    %esi,%eax
456ada:	e8 8d 05 00 00       	call   0x45706c
456adf:	84 c0                	test   %al,%al
456ae1:	74 1b                	je     0x456afe
456ae3:	b3 01                	mov    $0x1,%bl
456ae5:	8d 55 f8             	lea    -0x8(%ebp),%edx
456ae8:	8b c6                	mov    %esi,%eax
456aea:	e8 d5 0e 00 00       	call   0x4579c4
456aef:	8b 4d f8             	mov    -0x8(%ebp),%ecx
456af2:	8b d7                	mov    %edi,%edx
456af4:	8b 46 4c             	mov    0x4c(%esi),%eax
456af7:	8b 30                	mov    (%eax),%esi
456af9:	ff 56 0c             	call   *0xc(%esi)
456afc:	eb 02                	jmp    0x456b00
456afe:	33 db                	xor    %ebx,%ebx
456b00:	33 c0                	xor    %eax,%eax
456b02:	5a                   	pop    %edx
456b03:	59                   	pop    %ecx
456b04:	59                   	pop    %ecx
456b05:	64 89 10             	mov    %edx,%fs:(%eax)
456b08:	68 1d 6b 45 00       	push   $0x456b1d
456b0d:	8d 45 f8             	lea    -0x8(%ebp),%eax
456b10:	e8 0b dc fa ff       	call   0x404720
456b15:	c3                   	ret
456b16:	e9 6d d5 fa ff       	jmp    0x404088
456b1b:	eb f0                	jmp    0x456b0d
456b1d:	8b c3                	mov    %ebx,%eax
456b1f:	5f                   	pop    %edi
456b20:	5e                   	pop    %esi
456b21:	5b                   	pop    %ebx
456b22:	59                   	pop    %ecx
456b23:	59                   	pop    %ecx
456b24:	5d                   	pop    %ebp
456b25:	c3                   	ret
456b26:	8b c0                	mov    %eax,%eax
456b28:	55                   	push   %ebp
456b29:	8b ec                	mov    %esp,%ebp
456b2b:	83 c4 f8             	add    $0xfffffff8,%esp
456b2e:	53                   	push   %ebx
456b2f:	56                   	push   %esi
456b30:	57                   	push   %edi
456b31:	33 c9                	xor    %ecx,%ecx
456b33:	89 4d f8             	mov    %ecx,-0x8(%ebp)
456b36:	8b fa                	mov    %edx,%edi
456b38:	8b f0                	mov    %eax,%esi
456b3a:	33 c0                	xor    %eax,%eax
456b3c:	55                   	push   %ebp
456b3d:	68 9f 6b 45 00       	push   $0x456b9f
456b42:	64 ff 30             	push   %fs:(%eax)
456b45:	64 89 20             	mov    %esp,%fs:(%eax)
456b48:	8d 45 ff             	lea    -0x1(%ebp),%eax
456b4b:	50                   	push   %eax
456b4c:	8b cf                	mov    %edi,%ecx
456b4e:	66 ba 01 00          	mov    $0x1,%dx
456b52:	8b c6                	mov    %esi,%eax
456b54:	e8 73 fe ff ff       	call   0x4569cc
456b59:	8b d8                	mov    %eax,%ebx
456b5b:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
456b5f:	74 28                	je     0x456b89
456b61:	8b c6                	mov    %esi,%eax
456b63:	e8 04 05 00 00       	call   0x45706c
456b68:	84 c0                	test   %al,%al
456b6a:	74 1b                	je     0x456b87
456b6c:	b3 01                	mov    $0x1,%bl
456b6e:	8d 55 f8             	lea    -0x8(%ebp),%edx
456b71:	8b c6                	mov    %esi,%eax
456b73:	e8 4c 0e 00 00       	call   0x4579c4
456b78:	8b 4d f8             	mov    -0x8(%ebp),%ecx
456b7b:	8b d7                	mov    %edi,%edx
456b7d:	8b 46 4c             	mov    0x4c(%esi),%eax
456b80:	8b 30                	mov    (%eax),%esi
456b82:	ff 56 10             	call   *0x10(%esi)
456b85:	eb 02                	jmp    0x456b89
456b87:	33 db                	xor    %ebx,%ebx
456b89:	33 c0                	xor    %eax,%eax
456b8b:	5a                   	pop    %edx
456b8c:	59                   	pop    %ecx
456b8d:	59                   	pop    %ecx
456b8e:	64 89 10             	mov    %edx,%fs:(%eax)
456b91:	68 a6 6b 45 00       	push   $0x456ba6
456b96:	8d 45 f8             	lea    -0x8(%ebp),%eax
456b99:	e8 82 db fa ff       	call   0x404720
456b9e:	c3                   	ret
456b9f:	e9 e4 d4 fa ff       	jmp    0x404088
456ba4:	eb f0                	jmp    0x456b96
456ba6:	8b c3                	mov    %ebx,%eax
456ba8:	5f                   	pop    %edi
456ba9:	5e                   	pop    %esi
456baa:	5b                   	pop    %ebx
456bab:	59                   	pop    %ecx
456bac:	59                   	pop    %ecx
456bad:	5d                   	pop    %ebp
456bae:	c3                   	ret
456baf:	90                   	nop
456bb0:	e8 f3 fc ff ff       	call   0x4568a8
456bb5:	c3                   	ret
456bb6:	8b c0                	mov    %eax,%eax
456bb8:	53                   	push   %ebx
456bb9:	56                   	push   %esi
456bba:	8b d8                	mov    %eax,%ebx
456bbc:	3a 93 88 00 00 00    	cmp    0x88(%ebx),%dl
456bc2:	74 3f                	je     0x456c03
456bc4:	8b c2                	mov    %edx,%eax
456bc6:	88 83 88 00 00 00    	mov    %al,0x88(%ebx)
456bcc:	84 c0                	test   %al,%al
456bce:	74 20                	je     0x456bf0
456bd0:	8b cb                	mov    %ebx,%ecx
456bd2:	b2 01                	mov    $0x1,%dl
456bd4:	a1 b4 15 46 00       	mov    0x4615b4,%eax
456bd9:	ff 50 2c             	call   *0x2c(%eax)
456bdc:	8b f0                	mov    %eax,%esi
456bde:	89 b3 84 00 00 00    	mov    %esi,0x84(%ebx)
456be4:	8b 53 5c             	mov    0x5c(%ebx),%edx
456be7:	8b c6                	mov    %esi,%eax
456be9:	e8 22 34 fe ff       	call   0x43a010
456bee:	eb 13                	jmp    0x456c03
456bf0:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
456bf6:	e8 f9 cc fa ff       	call   0x4038f4
456bfb:	33 c0                	xor    %eax,%eax
456bfd:	89 83 84 00 00 00    	mov    %eax,0x84(%ebx)
456c03:	5e                   	pop    %esi
456c04:	5b                   	pop    %ebx
456c05:	c3                   	ret
456c06:	8b c0                	mov    %eax,%eax
456c08:	53                   	push   %ebx
456c09:	56                   	push   %esi
456c0a:	57                   	push   %edi
456c0b:	a1 84 15 47 00       	mov    0x471584,%eax
456c10:	e8 bf cf ff ff       	call   0x453bd4
456c15:	8b f0                	mov    %eax,%esi
456c17:	4e                   	dec    %esi
456c18:	85 f6                	test   %esi,%esi
456c1a:	7c 4c                	jl     0x456c68
456c1c:	46                   	inc    %esi
456c1d:	33 ff                	xor    %edi,%edi
456c1f:	8b d7                	mov    %edi,%edx
456c21:	a1 84 15 47 00       	mov    0x471584,%eax
456c26:	e8 95 cf ff ff       	call   0x453bc0
456c2b:	8b d8                	mov    %eax,%ebx
456c2d:	8b c3                	mov    %ebx,%eax
456c2f:	e8 d8 af fe ff       	call   0x441c0c
456c34:	84 c0                	test   %al,%al
456c36:	74 2c                	je     0x456c64
456c38:	8b c3                	mov    %ebx,%eax
456c3a:	e8 71 ac fe ff       	call   0x4418b0
456c3f:	50                   	push   %eax
456c40:	e8 2b 04 fb ff       	call   0x407070
456c45:	85 c0                	test   %eax,%eax
456c47:	74 1b                	je     0x456c64
456c49:	8b c3                	mov    %ebx,%eax
456c4b:	e8 60 ac fe ff       	call   0x4418b0
456c50:	50                   	push   %eax
456c51:	e8 0a 04 fb ff       	call   0x407060
456c56:	85 c0                	test   %eax,%eax
456c58:	74 0a                	je     0x456c64
456c5a:	8b c3                	mov    %ebx,%eax
456c5c:	8b 10                	mov    (%eax),%edx
456c5e:	ff 92 ec 00 00 00    	call   *0xec(%edx)
456c64:	47                   	inc    %edi
456c65:	4e                   	dec    %esi
456c66:	75 b7                	jne    0x456c1f
456c68:	5f                   	pop    %edi
456c69:	5e                   	pop    %esi
456c6a:	5b                   	pop    %ebx
456c6b:	c3                   	ret
456c6c:	53                   	push   %ebx
456c6d:	83 c4 f8             	add    $0xfffffff8,%esp
456c70:	8b d8                	mov    %eax,%ebx
456c72:	54                   	push   %esp
456c73:	e8 38 02 fb ff       	call   0x406eb0
456c78:	8b c4                	mov    %esp,%eax
456c7a:	b2 01                	mov    $0x1,%dl
456c7c:	e8 93 17 fe ff       	call   0x438414
456c81:	3b 43 48             	cmp    0x48(%ebx),%eax
456c84:	74 03                	je     0x456c89
456c86:	89 43 48             	mov    %eax,0x48(%ebx)
456c89:	59                   	pop    %ecx
456c8a:	5a                   	pop    %edx
456c8b:	5b                   	pop    %ebx
456c8c:	c3                   	ret
456c8d:	8d 40 00             	lea    0x0(%eax),%eax
456c90:	55                   	push   %ebp
456c91:	8b ec                	mov    %esp,%ebp
456c93:	53                   	push   %ebx
456c94:	56                   	push   %esi
456c95:	57                   	push   %edi
456c96:	83 3d 80 15 47 00 00 	cmpl   $0x0,0x471580
456c9d:	74 50                	je     0x456cef
456c9f:	33 c0                	xor    %eax,%eax
456ca1:	55                   	push   %ebp
456ca2:	68 d5 6c 45 00       	push   $0x456cd5
456ca7:	64 ff 30             	push   %fs:(%eax)
456caa:	64 89 20             	mov    %esp,%fs:(%eax)
456cad:	a1 a0 15 47 00       	mov    0x4715a0,%eax
456cb2:	50                   	push   %eax
456cb3:	6a 00                	push   $0x0
456cb5:	e8 c6 03 fb ff       	call   0x407080
456cba:	33 c0                	xor    %eax,%eax
456cbc:	a3 a0 15 47 00       	mov    %eax,0x4715a0
456cc1:	a1 80 15 47 00       	mov    0x471580,%eax
456cc6:	e8 3d ff ff ff       	call   0x456c08
456ccb:	33 c0                	xor    %eax,%eax
456ccd:	5a                   	pop    %edx
456cce:	59                   	pop    %ecx
456ccf:	59                   	pop    %ecx
456cd0:	64 89 10             	mov    %edx,%fs:(%eax)
456cd3:	eb 1a                	jmp    0x456cef
456cd5:	e9 fa d0 fa ff       	jmp    0x403dd4
456cda:	8b 15 80 15 47 00    	mov    0x471580,%edx
456ce0:	a1 80 15 47 00       	mov    0x471580,%eax
456ce5:	e8 da f8 ff ff       	call   0x4565c4
456cea:	e8 f5 d4 fa ff       	call   0x4041e4
456cef:	5f                   	pop    %edi
456cf0:	5e                   	pop    %esi
456cf1:	5b                   	pop    %ebx
456cf2:	5d                   	pop    %ebp
456cf3:	c2 10 00             	ret    $0x10
456cf6:	8b c0                	mov    %eax,%eax
456cf8:	55                   	push   %ebp
456cf9:	8b ec                	mov    %esp,%ebp
456cfb:	83 c4 f0             	add    $0xfffffff0,%esp
456cfe:	53                   	push   %ebx
456cff:	56                   	push   %esi
456d00:	57                   	push   %edi
456d01:	33 c9                	xor    %ecx,%ecx
456d03:	89 4d f4             	mov    %ecx,-0xc(%ebp)
456d06:	89 4d f0             	mov    %ecx,-0x10(%ebp)
456d09:	89 45 fc             	mov    %eax,-0x4(%ebp)
456d0c:	33 c0                	xor    %eax,%eax
456d0e:	55                   	push   %ebp
456d0f:	68 45 6e 45 00       	push   $0x456e45
456d14:	64 ff 30             	push   %fs:(%eax)
456d17:	64 89 20             	mov    %esp,%fs:(%eax)
456d1a:	8b 45 fc             	mov    -0x4(%ebp),%eax
456d1d:	e8 4a ff ff ff       	call   0x456c6c
456d22:	8b d8                	mov    %eax,%ebx
456d24:	8b 45 fc             	mov    -0x4(%ebp),%eax
456d27:	80 b8 88 00 00 00 00 	cmpb   $0x0,0x88(%eax)
456d2e:	74 11                	je     0x456d41
456d30:	8b 45 fc             	mov    -0x4(%ebp),%eax
456d33:	83 78 48 00          	cmpl   $0x0,0x48(%eax)
456d37:	75 08                	jne    0x456d41
456d39:	8b 45 fc             	mov    -0x4(%ebp),%eax
456d3c:	e8 83 05 00 00       	call   0x4572c4
456d41:	8d 55 f0             	lea    -0x10(%ebp),%edx
456d44:	8b c3                	mov    %ebx,%eax
456d46:	e8 39 da ff ff       	call   0x454784
456d4b:	8b 45 f0             	mov    -0x10(%ebp),%eax
456d4e:	8d 55 f4             	lea    -0xc(%ebp),%edx
456d51:	e8 5a fe fd ff       	call   0x436bb0
456d56:	8b 55 f4             	mov    -0xc(%ebp),%edx
456d59:	a1 80 15 47 00       	mov    0x471580,%eax
456d5e:	e8 91 01 00 00       	call   0x456ef4
456d63:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
456d67:	33 c0                	xor    %eax,%eax
456d69:	55                   	push   %ebp
456d6a:	68 ec 6d 45 00       	push   $0x456dec
456d6f:	64 ff 30             	push   %fs:(%eax)
456d72:	64 89 20             	mov    %esp,%fs:(%eax)
456d75:	8b 45 fc             	mov    -0x4(%ebp),%eax
456d78:	66 83 b8 2a 01 00 00 	cmpw   $0x0,0x12a(%eax)
456d7f:	00
456d80:	74 15                	je     0x456d97
456d82:	8d 4d fb             	lea    -0x5(%ebp),%ecx
456d85:	8b 5d fc             	mov    -0x4(%ebp),%ebx
456d88:	8b 55 fc             	mov    -0x4(%ebp),%edx
456d8b:	8b 83 2c 01 00 00    	mov    0x12c(%ebx),%eax