ad8d1d:	cc                   	int3
ad8d1e:	cc                   	int3
ad8d1f:	cc                   	int3
ad8d20:	cc                   	int3
ad8d21:	8b ff                	mov    %edi,%edi
ad8d23:	55                   	push   %ebp
ad8d24:	8b ec                	mov    %esp,%ebp
ad8d26:	8b 45 08             	mov    0x8(%ebp),%eax
ad8d29:	89 01                	mov    %eax,(%ecx)
ad8d2b:	8b c1                	mov    %ecx,%eax
ad8d2d:	5d                   	pop    %ebp
ad8d2e:	c2 04 00             	ret    $0x4
ad8d31:	cc                   	int3
ad8d32:	cc                   	int3
ad8d33:	cc                   	int3
ad8d34:	cc                   	int3
ad8d35:	8b ff                	mov    %edi,%edi
ad8d37:	56                   	push   %esi
ad8d38:	8b f1                	mov    %ecx,%esi
ad8d3a:	83 3e 00             	cmpl   $0x0,(%esi)
ad8d3d:	74 0b                	je     0xad8d4a
ad8d3f:	ff 36                	push   (%esi)
ad8d41:	ff 15 78 35 d8 00    	call   *0xd83578
ad8d47:	83 26 00             	andl   $0x0,(%esi)
ad8d4a:	5e                   	pop    %esi
ad8d4b:	c3                   	ret
ad8d4c:	cc                   	int3
ad8d4d:	cc                   	int3
ad8d4e:	cc                   	int3
ad8d4f:	cc                   	int3
ad8d50:	cc                   	int3
ad8d51:	33 c0                	xor    %eax,%eax
ad8d53:	39 01                	cmp    %eax,(%ecx)
ad8d55:	0f 95 c0             	setne  %al
ad8d58:	c3                   	ret
ad8d59:	cc                   	int3
ad8d5a:	cc                   	int3
ad8d5b:	8b ff                	mov    %edi,%edi
ad8d5d:	56                   	push   %esi
ad8d5e:	8b f1                	mov    %ecx,%esi
ad8d60:	83 3e 00             	cmpl   $0x0,(%esi)
ad8d63:	74 0b                	je     0xad8d70
ad8d65:	ff 36                	push   (%esi)
ad8d67:	ff 15 78 35 d8 00    	call   *0xd83578
ad8d6d:	83 26 00             	andl   $0x0,(%esi)
ad8d70:	5e                   	pop    %esi
ad8d71:	c3                   	ret
ad8d72:	cc                   	int3
ad8d73:	cc                   	int3
ad8d74:	cc                   	int3
ad8d75:	cc                   	int3
ad8d76:	cc                   	int3
ad8d77:	8b ff                	mov    %edi,%edi
ad8d79:	55                   	push   %ebp
ad8d7a:	8b ec                	mov    %esp,%ebp
ad8d7c:	ff 75 08             	push   0x8(%ebp)
ad8d7f:	ff 15 78 35 d8 00    	call   *0xd83578
ad8d85:	b0 01                	mov    $0x1,%al
ad8d87:	5d                   	pop    %ebp
ad8d88:	c3                   	ret
ad8d89:	cc                   	int3
ad8d8a:	cc                   	int3
ad8d8b:	cc                   	int3
ad8d8c:	cc                   	int3
ad8d8d:	8b ff                	mov    %edi,%edi
ad8d8f:	55                   	push   %ebp
ad8d90:	8b ec                	mov    %esp,%ebp
ad8d92:	8b 55 08             	mov    0x8(%ebp),%edx
ad8d95:	57                   	push   %edi
ad8d96:	33 ff                	xor    %edi,%edi
ad8d98:	66 39 3a             	cmp    %di,(%edx)
ad8d9b:	74 21                	je     0xad8dbe
ad8d9d:	56                   	push   %esi
ad8d9e:	8b ca                	mov    %edx,%ecx
ad8da0:	8d 71 02             	lea    0x2(%ecx),%esi
ad8da3:	66 8b 01             	mov    (%ecx),%ax
ad8da6:	83 c1 02             	add    $0x2,%ecx
ad8da9:	66 3b c7             	cmp    %di,%ax
ad8dac:	75 f5                	jne    0xad8da3
ad8dae:	2b ce                	sub    %esi,%ecx
ad8db0:	d1 f9                	sar    $1,%ecx
ad8db2:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
ad8db5:	83 c2 02             	add    $0x2,%edx
ad8db8:	66 39 3a             	cmp    %di,(%edx)
ad8dbb:	75 e1                	jne    0xad8d9e
ad8dbd:	5e                   	pop    %esi
ad8dbe:	8d 42 02             	lea    0x2(%edx),%eax
ad8dc1:	5f                   	pop    %edi
ad8dc2:	5d                   	pop    %ebp
ad8dc3:	c3                   	ret
ad8dc4:	cc                   	int3
ad8dc5:	cc                   	int3
ad8dc6:	cc                   	int3
ad8dc7:	cc                   	int3
ad8dc8:	cc                   	int3
ad8dc9:	cc                   	int3
ad8dca:	cc                   	int3
ad8dcb:	cc                   	int3
ad8dcc:	cc                   	int3
ad8dcd:	cc                   	int3
ad8dce:	cc                   	int3
ad8dcf:	cc                   	int3
ad8dd0:	cc                   	int3
ad8dd1:	8b 01                	mov    (%ecx),%eax
ad8dd3:	c3                   	ret
ad8dd4:	33 c0                	xor    %eax,%eax
ad8dd6:	c3                   	ret
ad8dd7:	33 c0                	xor    %eax,%eax
ad8dd9:	39 01                	cmp    %eax,(%ecx)
ad8ddb:	0f 95 c0             	setne  %al
ad8dde:	c3                   	ret
ad8ddf:	cc                   	int3
ad8de0:	cc                   	int3
ad8de1:	8b ff                	mov    %edi,%edi
ad8de3:	55                   	push   %ebp
ad8de4:	8b ec                	mov    %esp,%ebp
ad8de6:	51                   	push   %ecx
ad8de7:	53                   	push   %ebx
ad8de8:	56                   	push   %esi
ad8de9:	57                   	push   %edi
ad8dea:	ff 15 7c 35 d8 00    	call   *0xd8357c
ad8df0:	8b f0                	mov    %eax,%esi
ad8df2:	33 ff                	xor    %edi,%edi
ad8df4:	85 f6                	test   %esi,%esi
ad8df6:	74 56                	je     0xad8e4e
ad8df8:	56                   	push   %esi
ad8df9:	e8 8f ff ff ff       	call   0xad8d8d
ad8dfe:	59                   	pop    %ecx
ad8dff:	57                   	push   %edi
ad8e00:	57                   	push   %edi
ad8e01:	57                   	push   %edi
ad8e02:	8b d8                	mov    %eax,%ebx
ad8e04:	57                   	push   %edi
ad8e05:	2b de                	sub    %esi,%ebx
ad8e07:	d1 fb                	sar    $1,%ebx
ad8e09:	53                   	push   %ebx
ad8e0a:	56                   	push   %esi
ad8e0b:	57                   	push   %edi
ad8e0c:	57                   	push   %edi
ad8e0d:	ff 15 98 36 d8 00    	call   *0xd83698
ad8e13:	89 45 fc             	mov    %eax,-0x4(%ebp)
ad8e16:	85 c0                	test   %eax,%eax
ad8e18:	74 34                	je     0xad8e4e
ad8e1a:	50                   	push   %eax
ad8e1b:	e8 af 2d 95 ff       	call   0x42bbcf
ad8e20:	8b f8                	mov    %eax,%edi
ad8e22:	59                   	pop    %ecx
ad8e23:	85 ff                	test   %edi,%edi
ad8e25:	74 1c                	je     0xad8e43
ad8e27:	33 c0                	xor    %eax,%eax
ad8e29:	50                   	push   %eax
ad8e2a:	50                   	push   %eax
ad8e2b:	ff 75 fc             	push   -0x4(%ebp)
ad8e2e:	57                   	push   %edi
ad8e2f:	53                   	push   %ebx
ad8e30:	56                   	push   %esi
ad8e31:	50                   	push   %eax
ad8e32:	50                   	push   %eax
ad8e33:	ff 15 98 36 d8 00    	call   *0xd83698
ad8e39:	85 c0                	test   %eax,%eax
ad8e3b:	74 06                	je     0xad8e43
ad8e3d:	8b df                	mov    %edi,%ebx
ad8e3f:	33 ff                	xor    %edi,%edi
ad8e41:	eb 02                	jmp    0xad8e45
ad8e43:	33 db                	xor    %ebx,%ebx
ad8e45:	57                   	push   %edi
ad8e46:	e8 9b 93 95 ff       	call   0x4321e6
ad8e4b:	59                   	pop    %ecx
ad8e4c:	eb 02                	jmp    0xad8e50
ad8e4e:	8b df                	mov    %edi,%ebx
ad8e50:	85 f6                	test   %esi,%esi
ad8e52:	74 07                	je     0xad8e5b
ad8e54:	56                   	push   %esi
ad8e55:	ff 15 78 35 d8 00    	call   *0xd83578
ad8e5b:	5f                   	pop    %edi
ad8e5c:	5e                   	pop    %esi
ad8e5d:	8b c3                	mov    %ebx,%eax
ad8e5f:	5b                   	pop    %ebx
ad8e60:	8b e5                	mov    %ebp,%esp
ad8e62:	5d                   	pop    %ebp
ad8e63:	c3                   	ret
ad8e64:	cc                   	int3
ad8e65:	cc                   	int3
ad8e66:	cc                   	int3
ad8e67:	cc                   	int3
ad8e68:	cc                   	int3
ad8e69:	cc                   	int3
ad8e6a:	cc                   	int3
ad8e6b:	cc                   	int3
ad8e6c:	cc                   	int3
ad8e6d:	cc                   	int3
ad8e6e:	cc                   	int3
ad8e6f:	cc                   	int3
ad8e70:	cc                   	int3
ad8e71:	cc                   	int3
ad8e72:	cc                   	int3
ad8e73:	cc                   	int3
ad8e74:	cc                   	int3
ad8e75:	cc                   	int3
ad8e76:	cc                   	int3
ad8e77:	cc                   	int3
ad8e78:	cc                   	int3
ad8e79:	cc                   	int3
ad8e7a:	cc                   	int3
ad8e7b:	cc                   	int3
ad8e7c:	cc                   	int3
ad8e7d:	cc                   	int3
ad8e7e:	cc                   	int3
ad8e7f:	cc                   	int3
ad8e80:	cc                   	int3
ad8e81:	cc                   	int3
ad8e82:	cc                   	int3
ad8e83:	cc                   	int3
ad8e84:	8b ff                	mov    %edi,%edi
ad8e86:	56                   	push   %esi
ad8e87:	57                   	push   %edi
ad8e88:	ff 15 7c 35 d8 00    	call   *0xd8357c
ad8e8e:	8b f0                	mov    %eax,%esi
ad8e90:	85 f6                	test   %esi,%esi
ad8e92:	75 04                	jne    0xad8e98
ad8e94:	33 ff                	xor    %edi,%edi
ad8e96:	eb 37                	jmp    0xad8ecf
ad8e98:	53                   	push   %ebx
ad8e99:	56                   	push   %esi
ad8e9a:	e8 ee fe ff ff       	call   0xad8d8d
ad8e9f:	2b c6                	sub    %esi,%eax
ad8ea1:	d1 f8                	sar    $1,%eax
ad8ea3:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
ad8ea6:	53                   	push   %ebx
ad8ea7:	e8 23 2d 95 ff       	call   0x42bbcf
ad8eac:	8b f8                	mov    %eax,%edi
ad8eae:	59                   	pop    %ecx
ad8eaf:	59                   	pop    %ecx
ad8eb0:	85 ff                	test   %edi,%edi
ad8eb2:	74 0b                	je     0xad8ebf
ad8eb4:	53                   	push   %ebx
ad8eb5:	56                   	push   %esi
ad8eb6:	57                   	push   %edi
ad8eb7:	e8 c6 b7 93 ff       	call   0x414682
ad8ebc:	83 c4 0c             	add    $0xc,%esp
ad8ebf:	6a 00                	push   $0x0
ad8ec1:	e8 20 93 95 ff       	call   0x4321e6
ad8ec6:	59                   	pop    %ecx
ad8ec7:	56                   	push   %esi
ad8ec8:	ff 15 78 35 d8 00    	call   *0xd83578
ad8ece:	5b                   	pop    %ebx
ad8ecf:	8b c7                	mov    %edi,%eax
ad8ed1:	5f                   	pop    %edi
ad8ed2:	5e                   	pop    %esi
ad8ed3:	c3                   	ret
ad8ed4:	cc                   	int3
ad8ed5:	cc                   	int3
ad8ed6:	cc                   	int3
ad8ed7:	cc                   	int3
ad8ed8:	cc                   	int3
ad8ed9:	cc                   	int3
ad8eda:	cc                   	int3
ad8edb:	cc                   	int3
ad8edc:	cc                   	int3
ad8edd:	cc                   	int3
ad8ede:	cc                   	int3
ad8edf:	cc                   	int3
ad8ee0:	cc                   	int3
ad8ee1:	cc                   	int3
ad8ee2:	cc                   	int3
ad8ee3:	cc                   	int3
ad8ee4:	cc                   	int3
ad8ee5:	cc                   	int3
ad8ee6:	cc                   	int3
ad8ee7:	cc                   	int3
ad8ee8:	6a 0a                	push   $0xa
ad8eea:	e8 b9 15 04 00       	call   0xb1a4a8
ad8eef:	a3 cc 2c d8 00       	mov    %eax,0xd82ccc
ad8ef4:	33 c0                	xor    %eax,%eax
ad8ef6:	c3                   	ret
ad8ef7:	cc                   	int3
ad8ef8:	cc                   	int3
ad8ef9:	cc                   	int3
ad8efa:	8b ff                	mov    %edi,%edi
ad8efc:	55                   	push   %ebp
ad8efd:	8b ec                	mov    %esp,%ebp
ad8eff:	8b 45 08             	mov    0x8(%ebp),%eax
ad8f02:	33 c9                	xor    %ecx,%ecx
ad8f04:	83 3d a8 10 d8 00 01 	cmpl   $0x1,0xd810a8
ad8f0b:	0f 9d c1             	setge  %cl
ad8f0e:	f7 d8                	neg    %eax
ad8f10:	1b c0                	sbb    %eax,%eax
ad8f12:	23 c1                	and    %ecx,%eax
ad8f14:	a3 cc 2c d8 00       	mov    %eax,0xd82ccc
ad8f19:	5d                   	pop    %ebp
ad8f1a:	c3                   	ret
ad8f1b:	cc                   	int3
ad8f1c:	cc                   	int3
ad8f1d:	cc                   	int3
ad8f1e:	cc                   	int3
ad8f1f:	cc                   	int3
ad8f20:	cc                   	int3
ad8f21:	cc                   	int3
ad8f22:	cc                   	int3
ad8f23:	8b ff                	mov    %edi,%edi
ad8f25:	55                   	push   %ebp
ad8f26:	8b ec                	mov    %esp,%ebp
ad8f28:	83 ec 10             	sub    $0x10,%esp
ad8f2b:	53                   	push   %ebx
ad8f2c:	56                   	push   %esi
ad8f2d:	57                   	push   %edi
ad8f2e:	6a 00                	push   $0x0
ad8f30:	6a 00                	push   $0x0
ad8f32:	e8 30 00 93 ff       	call   0x408f67
ad8f37:	bb ff ff 00 00       	mov    $0xffff,%ebx
ad8f3c:	8b f8                	mov    %eax,%edi
ad8f3e:	53                   	push   %ebx
ad8f3f:	ff 35 ac 01 d6 00    	push   0xd601ac
ad8f45:	e8 1d 00 93 ff       	call   0x408f67
ad8f4a:	66 8b 75 0e          	mov    0xe(%ebp),%si
ad8f4e:	83 c4 10             	add    $0x10,%esp
ad8f51:	b8 f0 7f 00 00       	mov    $0x7ff0,%eax
ad8f56:	0f b7 ce             	movzwl %si,%ecx
ad8f59:	23 c8                	and    %eax,%ecx
ad8f5b:	51                   	push   %ecx
ad8f5c:	51                   	push   %ecx
ad8f5d:	66 3b c8             	cmp    %ax,%cx
ad8f60:	75 7b                	jne    0xad8fdd
ad8f62:	8b 75 10             	mov    0x10(%ebp),%esi
ad8f65:	dd 05 a0 1f c8 00    	fldl   0xc81fa0
ad8f6b:	dd 1e                	fstpl  (%esi)
ad8f6d:	dd 45 08             	fldl   0x8(%ebp)
ad8f70:	dd 1c 24             	fstpl  (%esp)
ad8f73:	e8 61 fc 92 ff       	call   0x408bd9
ad8f78:	59                   	pop    %ecx
ad8f79:	59                   	pop    %ecx
ad8f7a:	85 c0                	test   %eax,%eax
ad8f7c:	7e 39                	jle    0xad8fb7
ad8f7e:	83 f8 02             	cmp    $0x2,%eax
ad8f81:	7e 0f                	jle    0xad8f92
ad8f83:	83 f8 03             	cmp    $0x3,%eax
ad8f86:	75 2f                	jne    0xad8fb7
ad8f88:	dd 45 08             	fldl   0x8(%ebp)
ad8f8b:	dd 16                	fstl   (%esi)
ad8f8d:	e9 8f 00 00 00       	jmp    0xad9021
ad8f92:	dd 45 08             	fldl   0x8(%ebp)
ad8f95:	83 ec 10             	sub    $0x10,%esp
ad8f98:	dd 16                	fstl   (%esi)
ad8f9a:	dd 5c 24 08          	fstpl  0x8(%esp)
ad8f9e:	d9 ee                	fldz
ad8fa0:	dd 1c 24             	fstpl  (%esp)
ad8fa3:	e8 7a 01 95 ff       	call   0x429122
ad8fa8:	53                   	push   %ebx
ad8fa9:	57                   	push   %edi
ad8faa:	dd 5d f0             	fstpl  -0x10(%ebp)