499abf:	8d 45 b4             	lea    -0x4c(%ebp),%eax
499ac2:	50                   	push   %eax
499ac3:	e8 6a 8f 14 00       	call   0x5e2a32
499ac8:	cc                   	int3
499ac9:	cc                   	int3
499aca:	cc                   	int3
499acb:	cc                   	int3
499acc:	cc                   	int3
499acd:	cc                   	int3
499ace:	cc                   	int3
499acf:	cc                   	int3
499ad0:	56                   	push   %esi
499ad1:	8b f1                	mov    %ecx,%esi
499ad3:	f6 46 3c 01          	testb  $0x1,0x3c(%esi)
499ad7:	74 47                	je     0x499b20
499ad9:	8b 46 20             	mov    0x20(%esi),%eax
499adc:	8b 08                	mov    (%eax),%ecx
499ade:	85 c9                	test   %ecx,%ecx
499ae0:	74 09                	je     0x499aeb
499ae2:	8b 46 30             	mov    0x30(%esi),%eax
499ae5:	8b 10                	mov    (%eax),%edx
499ae7:	03 d1                	add    %ecx,%edx
499ae9:	eb 0a                	jmp    0x499af5
499aeb:	8b 46 2c             	mov    0x2c(%esi),%eax
499aee:	8b 4e 1c             	mov    0x1c(%esi),%ecx
499af1:	8b 10                	mov    (%eax),%edx
499af3:	03 11                	add    (%ecx),%edx
499af5:	8b 46 0c             	mov    0xc(%esi),%eax
499af8:	8b 00                	mov    (%eax),%eax
499afa:	2b d0                	sub    %eax,%edx
499afc:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
499b02:	72 12                	jb     0x499b16
499b04:	8b 48 fc             	mov    -0x4(%eax),%ecx
499b07:	83 c2 23             	add    $0x23,%edx
499b0a:	2b c1                	sub    %ecx,%eax
499b0c:	83 c0 fc             	add    $0xfffffffc,%eax
499b0f:	83 f8 1f             	cmp    $0x1f,%eax
499b12:	77 4f                	ja     0x499b63
499b14:	8b c1                	mov    %ecx,%eax
499b16:	52                   	push   %edx
499b17:	50                   	push   %eax
499b18:	e8 55 75 14 00       	call   0x5e1072
499b1d:	83 c4 08             	add    $0x8,%esp
499b20:	8b 46 0c             	mov    0xc(%esi),%eax
499b23:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
499b29:	8b 46 1c             	mov    0x1c(%esi),%eax
499b2c:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
499b32:	8b 46 2c             	mov    0x2c(%esi),%eax
499b35:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
499b3b:	8b 46 10             	mov    0x10(%esi),%eax
499b3e:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
499b44:	8b 46 20             	mov    0x20(%esi),%eax
499b47:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
499b4d:	8b 46 30             	mov    0x30(%esi),%eax
499b50:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
499b56:	83 66 3c fe          	andl   $0xfffffffe,0x3c(%esi)
499b5a:	c7 46 38 00 00 00 00 	movl   $0x0,0x38(%esi)
499b61:	5e                   	pop    %esi
499b62:	c3                   	ret
499b63:	e8 c7 33 15 00       	call   0x5ecf2f
499b68:	cc                   	int3
499b69:	cc                   	int3
499b6a:	cc                   	int3
499b6b:	cc                   	int3
499b6c:	cc                   	int3
499b6d:	cc                   	int3
499b6e:	cc                   	int3
499b6f:	cc                   	int3
499b70:	55                   	push   %ebp
499b71:	8b ec                	mov    %esp,%ebp
499b73:	6a ff                	push   $0xffffffff
499b75:	68 c8 7f 65 00       	push   $0x657fc8
499b7a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
499b80:	50                   	push   %eax
499b81:	83 ec 3c             	sub    $0x3c,%esp
499b84:	a1 d4 89 72 00       	mov    0x7289d4,%eax
499b89:	33 c5                	xor    %ebp,%eax
499b8b:	89 45 f0             	mov    %eax,-0x10(%ebp)
499b8e:	53                   	push   %ebx
499b8f:	56                   	push   %esi
499b90:	57                   	push   %edi
499b91:	50                   	push   %eax
499b92:	8d 45 f4             	lea    -0xc(%ebp),%eax
499b95:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
499b9b:	8b f9                	mov    %ecx,%edi
499b9d:	8b 45 08             	mov    0x8(%ebp),%eax
499ba0:	8b 75 1c             	mov    0x1c(%ebp),%esi
499ba3:	8b 5d 20             	mov    0x20(%ebp),%ebx
499ba6:	89 45 b8             	mov    %eax,-0x48(%ebp)
499ba9:	8b 45 24             	mov    0x24(%ebp),%eax
499bac:	89 45 c8             	mov    %eax,-0x38(%ebp)
499baf:	8b 46 30             	mov    0x30(%esi),%eax
499bb2:	8b 48 04             	mov    0x4(%eax),%ecx
499bb5:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
499bb8:	8b 01                	mov    (%ecx),%eax
499bba:	ff 50 04             	call   *0x4(%eax)
499bbd:	8d 45 c0             	lea    -0x40(%ebp),%eax
499bc0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
499bc7:	50                   	push   %eax
499bc8:	ff 76 14             	push   0x14(%esi)
499bcb:	8d 45 14             	lea    0x14(%ebp),%eax
499bce:	50                   	push   %eax
499bcf:	8d 45 0c             	lea    0xc(%ebp),%eax
499bd2:	50                   	push   %eax
499bd3:	8d 45 d0             	lea    -0x30(%ebp),%eax
499bd6:	50                   	push   %eax
499bd7:	57                   	push   %edi
499bd8:	e8 b3 f2 ff ff       	call   0x498e90
499bdd:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
499be0:	83 c4 18             	add    $0x18,%esp
499be3:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
499bea:	8b f8                	mov    %eax,%edi
499bec:	85 c9                	test   %ecx,%ecx
499bee:	74 11                	je     0x499c01
499bf0:	8b 01                	mov    (%ecx),%eax
499bf2:	ff 50 08             	call   *0x8(%eax)
499bf5:	8b c8                	mov    %eax,%ecx
499bf7:	85 c9                	test   %ecx,%ecx
499bf9:	74 06                	je     0x499c01
499bfb:	8b 01                	mov    (%ecx),%eax
499bfd:	6a 01                	push   $0x1
499bff:	ff 10                	call   *(%eax)
499c01:	8a 45 d0             	mov    -0x30(%ebp),%al
499c04:	84 c0                	test   %al,%al
499c06:	75 10                	jne    0x499c18
499c08:	8b 45 c8             	mov    -0x38(%ebp),%eax
499c0b:	33 c9                	xor    %ecx,%ecx
499c0d:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
499c13:	66 89 08             	mov    %cx,(%eax)
499c16:	eb 57                	jmp    0x499c6f
499c18:	3c 2d                	cmp    $0x2d,%al
499c1a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
499c1d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
499c20:	50                   	push   %eax
499c21:	57                   	push   %edi
499c22:	8d 45 bc             	lea    -0x44(%ebp),%eax
499c25:	0f 94 45 cf          	sete   -0x31(%ebp)
499c29:	8d 75 d1             	lea    -0x2f(%ebp),%esi
499c2c:	0f 45 f1             	cmovne %ecx,%esi
499c2f:	50                   	push   %eax
499c30:	56                   	push   %esi
499c31:	e8 53 55 13 00       	call   0x5cf189
499c36:	8b 4d c8             	mov    -0x38(%ebp),%ecx
499c39:	8b d0                	mov    %eax,%edx
499c3b:	83 c4 10             	add    $0x10,%esp
499c3e:	0f b7 c2             	movzwl %dx,%eax
499c41:	66 89 01             	mov    %ax,(%ecx)
499c44:	39 75 bc             	cmp    %esi,-0x44(%ebp)
499c47:	74 18                	je     0x499c61
499c49:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
499c4d:	75 12                	jne    0x499c61
499c4f:	81 fa ff ff 00 00    	cmp    $0xffff,%edx
499c55:	77 0a                	ja     0x499c61
499c57:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
499c5b:	74 12                	je     0x499c6f
499c5d:	f7 d8                	neg    %eax
499c5f:	eb 0b                	jmp    0x499c6c
499c61:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
499c67:	b8 ff ff 00 00       	mov    $0xffff,%eax
499c6c:	66 89 01             	mov    %ax,(%ecx)
499c6f:	8d 45 14             	lea    0x14(%ebp),%eax
499c72:	50                   	push   %eax
499c73:	8d 45 0c             	lea    0xc(%ebp),%eax
499c76:	50                   	push   %eax
499c77:	e8 64 95 ff ff       	call   0x4931e0
499c7c:	83 c4 08             	add    $0x8,%esp
499c7f:	84 c0                	test   %al,%al
499c81:	74 03                	je     0x499c86
499c83:	83 0b 01             	orl    $0x1,(%ebx)
499c86:	8b 45 b8             	mov    -0x48(%ebp),%eax
499c89:	8b 4d 0c             	mov    0xc(%ebp),%ecx
499c8c:	89 08                	mov    %ecx,(%eax)
499c8e:	8b 4d 10             	mov    0x10(%ebp),%ecx
499c91:	89 48 04             	mov    %ecx,0x4(%eax)
499c94:	8b 4d f4             	mov    -0xc(%ebp),%ecx
499c97:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
499c9e:	59                   	pop    %ecx
499c9f:	5f                   	pop    %edi
499ca0:	5e                   	pop    %esi
499ca1:	5b                   	pop    %ebx
499ca2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
499ca5:	33 cd                	xor    %ebp,%ecx
499ca7:	e8 2e 78 14 00       	call   0x5e14da
499cac:	8b e5                	mov    %ebp,%esp
499cae:	5d                   	pop    %ebp
499caf:	c2 20 00             	ret    $0x20
499cb2:	cc                   	int3
499cb3:	cc                   	int3
499cb4:	cc                   	int3
499cb5:	cc                   	int3
499cb6:	cc                   	int3
499cb7:	cc                   	int3
499cb8:	cc                   	int3
499cb9:	cc                   	int3
499cba:	cc                   	int3
499cbb:	cc                   	int3
499cbc:	cc                   	int3
499cbd:	cc                   	int3
499cbe:	cc                   	int3
499cbf:	cc                   	int3
499cc0:	55                   	push   %ebp
499cc1:	8b ec                	mov    %esp,%ebp
499cc3:	6a ff                	push   $0xffffffff
499cc5:	68 f8 7f 65 00       	push   $0x657ff8
499cca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
499cd0:	50                   	push   %eax
499cd1:	83 ec 48             	sub    $0x48,%esp
499cd4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
499cd9:	33 c5                	xor    %ebp,%eax
499cdb:	89 45 f0             	mov    %eax,-0x10(%ebp)
499cde:	53                   	push   %ebx
499cdf:	56                   	push   %esi
499ce0:	57                   	push   %edi
499ce1:	50                   	push   %eax
499ce2:	8d 45 f4             	lea    -0xc(%ebp),%eax
499ce5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
499ceb:	8b f9                	mov    %ecx,%edi
499ced:	8b 45 08             	mov    0x8(%ebp),%eax
499cf0:	8b 75 1c             	mov    0x1c(%ebp),%esi
499cf3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
499cf6:	8b 45 24             	mov    0x24(%ebp),%eax
499cf9:	8b 5d 20             	mov    0x20(%ebp),%ebx
499cfc:	89 45 b8             	mov    %eax,-0x48(%ebp)
499cff:	8b 45 14             	mov    0x14(%ebp),%eax
499d02:	89 45 ac             	mov    %eax,-0x54(%ebp)
499d05:	8b 45 18             	mov    0x18(%ebp),%eax
499d08:	89 45 b0             	mov    %eax,-0x50(%ebp)
499d0b:	8b 45 0c             	mov    0xc(%ebp),%eax
499d0e:	89 45 c8             	mov    %eax,-0x38(%ebp)
499d11:	8b 45 10             	mov    0x10(%ebp),%eax
499d14:	89 45 cc             	mov    %eax,-0x34(%ebp)
499d17:	8b 46 30             	mov    0x30(%esi),%eax
499d1a:	8b 48 04             	mov    0x4(%eax),%ecx
499d1d:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
499d20:	8b 01                	mov    (%ecx),%eax
499d22:	ff 50 04             	call   *0x4(%eax)
499d25:	8d 45 c0             	lea    -0x40(%ebp),%eax
499d28:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
499d2f:	50                   	push   %eax
499d30:	ff 76 14             	push   0x14(%esi)
499d33:	8d 45 ac             	lea    -0x54(%ebp),%eax
499d36:	50                   	push   %eax
499d37:	8d 45 c8             	lea    -0x38(%ebp),%eax
499d3a:	50                   	push   %eax
499d3b:	8d 45 d0             	lea    -0x30(%ebp),%eax
499d3e:	50                   	push   %eax
499d3f:	57                   	push   %edi
499d40:	e8 4b f1 ff ff       	call   0x498e90
499d45:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
499d48:	83 c4 18             	add    $0x18,%esp
499d4b:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
499d52:	8b f0                	mov    %eax,%esi
499d54:	85 c9                	test   %ecx,%ecx
499d56:	74 11                	je     0x499d69
499d58:	8b 01                	mov    (%ecx),%eax
499d5a:	ff 50 08             	call   *0x8(%eax)
499d5d:	8b c8                	mov    %eax,%ecx
499d5f:	85 c9                	test   %ecx,%ecx
499d61:	74 06                	je     0x499d69
499d63:	8b 01                	mov    (%ecx),%eax
499d65:	6a 01                	push   $0x1
499d67:	ff 10                	call   *(%eax)
499d69:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
499d6d:	75 04                	jne    0x499d73
499d6f:	33 f6                	xor    %esi,%esi
499d71:	eb 25                	jmp    0x499d98
499d73:	8d 45 c4             	lea    -0x3c(%ebp),%eax
499d76:	50                   	push   %eax
499d77:	56                   	push   %esi
499d78:	8d 45 bc             	lea    -0x44(%ebp),%eax
499d7b:	50                   	push   %eax
499d7c:	8d 45 d0             	lea    -0x30(%ebp),%eax
499d7f:	50                   	push   %eax
499d80:	e8 04 54 13 00       	call   0x5cf189
499d85:	8b f0                	mov    %eax,%esi
499d87:	83 c4 10             	add    $0x10,%esp
499d8a:	8d 45 d0             	lea    -0x30(%ebp),%eax
499d8d:	39 45 bc             	cmp    %eax,-0x44(%ebp)
499d90:	74 06                	je     0x499d98
499d92:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
499d96:	74 06                	je     0x499d9e
499d98:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
499d9e:	8d 45 ac             	lea    -0x54(%ebp),%eax
499da1:	50                   	push   %eax
499da2:	8d 45 c8             	lea    -0x38(%ebp),%eax
499da5:	50                   	push   %eax
499da6:	e8 35 94 ff ff       	call   0x4931e0
499dab:	83 c4 08             	add    $0x8,%esp
499dae:	84 c0                	test   %al,%al
499db0:	74 03                	je     0x499db5
499db2:	83 0b 01             	orl    $0x1,(%ebx)
499db5:	8b 45 b8             	mov    -0x48(%ebp),%eax
499db8:	8b 4d c8             	mov    -0x38(%ebp),%ecx
499dbb:	89 30                	mov    %esi,(%eax)
499dbd:	8b 45 b4             	mov    -0x4c(%ebp),%eax
499dc0:	89 08                	mov    %ecx,(%eax)
499dc2:	8b 4d cc             	mov    -0x34(%ebp),%ecx
499dc5:	89 48 04             	mov    %ecx,0x4(%eax)
499dc8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
499dcb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
499dd2:	59                   	pop    %ecx
499dd3:	5f                   	pop    %edi
499dd4:	5e                   	pop    %esi
499dd5:	5b                   	pop    %ebx
499dd6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
499dd9:	33 cd                	xor    %ebp,%ecx
499ddb:	e8 fa 76 14 00       	call   0x5e14da
499de0:	8b e5                	mov    %ebp,%esp
499de2:	5d                   	pop    %ebp
499de3:	c2 20 00             	ret    $0x20
499de6:	cc                   	int3
499de7:	cc                   	int3
499de8:	cc                   	int3
499de9:	cc                   	int3
499dea:	cc                   	int3
499deb:	cc                   	int3
499dec:	cc                   	int3
499ded:	cc                   	int3
499dee:	cc                   	int3
499def:	cc                   	int3
499df0:	55                   	push   %ebp
499df1:	8b ec                	mov    %esp,%ebp
499df3:	6a ff                	push   $0xffffffff
499df5:	68 28 80 65 00       	push   $0x658028
499dfa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
499e00:	50                   	push   %eax
499e01:	83 ec 38             	sub    $0x38,%esp
499e04:	a1 d4 89 72 00       	mov    0x7289d4,%eax
499e09:	33 c5                	xor    %ebp,%eax
499e0b:	89 45 f0             	mov    %eax,-0x10(%ebp)
499e0e:	53                   	push   %ebx
499e0f:	56                   	push   %esi
499e10:	57                   	push   %edi
499e11:	50                   	push   %eax
499e12:	8d 45 f4             	lea    -0xc(%ebp),%eax
499e15:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
499e1b:	8b f9                	mov    %ecx,%edi
499e1d:	8b 45 08             	mov    0x8(%ebp),%eax
499e20:	8b 75 1c             	mov    0x1c(%ebp),%esi
499e23:	8b 5d 20             	mov    0x20(%ebp),%ebx
499e26:	89 45 bc             	mov    %eax,-0x44(%ebp)
499e29:	8b 45 24             	mov    0x24(%ebp),%eax
499e2c:	89 45 cc             	mov    %eax,-0x34(%ebp)
499e2f:	8b 46 30             	mov    0x30(%esi),%eax
499e32:	8b 48 04             	mov    0x4(%eax),%ecx
499e35:	89 4d c8             	mov    %ecx,-0x38(%ebp)
499e38:	8b 01                	mov    (%ecx),%eax
499e3a:	ff 50 04             	call   *0x4(%eax)
499e3d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
499e40:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)