969b00:	cc                   	int3
969b01:	cc                   	int3
969b02:	cc                   	int3
969b03:	cc                   	int3
969b04:	cc                   	int3
969b05:	cc                   	int3
969b06:	cc                   	int3
969b07:	cc                   	int3
969b08:	cc                   	int3
969b09:	cc                   	int3
969b0a:	cc                   	int3
969b0b:	cc                   	int3
969b0c:	cc                   	int3
969b0d:	cc                   	int3
969b0e:	cc                   	int3
969b0f:	cc                   	int3
969b10:	cc                   	int3
969b11:	cc                   	int3
969b12:	cc                   	int3
969b13:	55                   	push   %ebp
969b14:	8b ec                	mov    %esp,%ebp
969b16:	51                   	push   %ecx
969b17:	56                   	push   %esi
969b18:	8b f1                	mov    %ecx,%esi
969b1a:	89 75 fc             	mov    %esi,-0x4(%ebp)
969b1d:	e8 dd d6 ac ff       	call   0x4371ff
969b22:	8b 45 08             	mov    0x8(%ebp),%eax
969b25:	89 46 14             	mov    %eax,0x14(%esi)
969b28:	33 c0                	xor    %eax,%eax
969b2a:	89 46 18             	mov    %eax,0x18(%esi)
969b2d:	89 46 1c             	mov    %eax,0x1c(%esi)
969b30:	89 46 20             	mov    %eax,0x20(%esi)
969b33:	89 46 24             	mov    %eax,0x24(%esi)
969b36:	8b c6                	mov    %esi,%eax
969b38:	c7 06 18 99 c5 00    	movl   $0xc59918,(%esi)
969b3e:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
969b45:	5e                   	pop    %esi
969b46:	8b e5                	mov    %ebp,%esp
969b48:	5d                   	pop    %ebp
969b49:	c2 04 00             	ret    $0x4
969b4c:	cc                   	int3
969b4d:	cc                   	int3
969b4e:	cc                   	int3
969b4f:	cc                   	int3
969b50:	cc                   	int3
969b51:	cc                   	int3
969b52:	cc                   	int3
969b53:	cc                   	int3
969b54:	cc                   	int3
969b55:	cc                   	int3
969b56:	cc                   	int3
969b57:	cc                   	int3
969b58:	cc                   	int3
969b59:	cc                   	int3
969b5a:	6a 04                	push   $0x4
969b5c:	b8 d6 bc ba 00       	mov    $0xbabcd6,%eax
969b61:	e8 25 07 aa ff       	call   0x40a28b
969b66:	8b f1                	mov    %ecx,%esi
969b68:	89 75 f0             	mov    %esi,-0x10(%ebp)
969b6b:	e8 8f d6 ac ff       	call   0x4371ff
969b70:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
969b74:	8b 55 08             	mov    0x8(%ebp),%edx
969b77:	8b 4d 0c             	mov    0xc(%ebp),%ecx
969b7a:	c7 06 18 99 c5 00    	movl   $0xc59918,(%esi)
969b80:	85 d2                	test   %edx,%edx
969b82:	75 09                	jne    0x969b8d
969b84:	85 c9                	test   %ecx,%ecx
969b86:	74 05                	je     0x969b8d
969b88:	e8 d9 83 ac ff       	call   0x431f66
969b8d:	8b 45 10             	mov    0x10(%ebp),%eax
969b90:	83 66 18 00          	andl   $0x0,0x18(%esi)
969b94:	89 46 14             	mov    %eax,0x14(%esi)
969b97:	f7 d8                	neg    %eax
969b99:	89 4e 1c             	mov    %ecx,0x1c(%esi)
969b9c:	1b c0                	sbb    %eax,%eax
969b9e:	89 56 24             	mov    %edx,0x24(%esi)
969ba1:	f7 d0                	not    %eax
969ba3:	23 c1                	and    %ecx,%eax
969ba5:	83 66 28 00          	andl   $0x0,0x28(%esi)
969ba9:	89 46 20             	mov    %eax,0x20(%esi)
969bac:	8b c6                	mov    %esi,%eax
969bae:	e8 64 48 aa ff       	call   0x40e417
969bb3:	c2 0c 00             	ret    $0xc
969bb6:	cc                   	int3
969bb7:	cc                   	int3
969bb8:	cc                   	int3
969bb9:	cc                   	int3
969bba:	cc                   	int3
969bbb:	cc                   	int3
969bbc:	cc                   	int3
969bbd:	cc                   	int3
969bbe:	cc                   	int3
969bbf:	cc                   	int3
969bc0:	cc                   	int3
969bc1:	cc                   	int3
969bc2:	cc                   	int3
969bc3:	cc                   	int3
969bc4:	cc                   	int3
969bc5:	cc                   	int3
969bc6:	cc                   	int3
969bc7:	cc                   	int3
969bc8:	cc                   	int3
969bc9:	cc                   	int3
969bca:	cc                   	int3
969bcb:	cc                   	int3
969bcc:	cc                   	int3
969bcd:	55                   	push   %ebp
969bce:	8b ec                	mov    %esp,%ebp
969bd0:	6a ff                	push   $0xffffffff
969bd2:	68 f9 bc ba 00       	push   $0xbabcf9
969bd7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
969bdd:	50                   	push   %eax
969bde:	56                   	push   %esi
969bdf:	57                   	push   %edi
969be0:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
969be5:	33 c5                	xor    %ebp,%eax
969be7:	50                   	push   %eax
969be8:	8d 45 f4             	lea    -0xc(%ebp),%eax
969beb:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
969bf1:	8b f1                	mov    %ecx,%esi
969bf3:	33 ff                	xor    %edi,%edi
969bf5:	c7 06 18 99 c5 00    	movl   $0xc59918,(%esi)
969bfb:	39 7e 24             	cmp    %edi,0x24(%esi)
969bfe:	74 05                	je     0x969c05
969c00:	e8 c5 83 ac ff       	call   0x431fca
969c05:	8b ce                	mov    %esi,%ecx
969c07:	89 7e 14             	mov    %edi,0x14(%esi)
969c0a:	89 7e 18             	mov    %edi,0x18(%esi)
969c0d:	89 7e 1c             	mov    %edi,0x1c(%esi)
969c10:	89 7e 20             	mov    %edi,0x20(%esi)
969c13:	e8 65 86 ab ff       	call   0x42227d
969c18:	8b 4d f4             	mov    -0xc(%ebp),%ecx
969c1b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
969c22:	59                   	pop    %ecx
969c23:	5f                   	pop    %edi
969c24:	5e                   	pop    %esi
969c25:	8b e5                	mov    %ebp,%esp
969c27:	5d                   	pop    %ebp
969c28:	c3                   	ret
969c29:	cc                   	int3
969c2a:	cc                   	int3
969c2b:	cc                   	int3
969c2c:	cc                   	int3
969c2d:	cc                   	int3
969c2e:	cc                   	int3
969c2f:	cc                   	int3
969c30:	cc                   	int3
969c31:	cc                   	int3
969c32:	cc                   	int3
969c33:	cc                   	int3
969c34:	cc                   	int3
969c35:	cc                   	int3
969c36:	cc                   	int3
969c37:	cc                   	int3
969c38:	cc                   	int3
969c39:	cc                   	int3
969c3a:	cc                   	int3
969c3b:	cc                   	int3
969c3c:	cc                   	int3
969c3d:	cc                   	int3
969c3e:	cc                   	int3
969c3f:	cc                   	int3
969c40:	55                   	push   %ebp
969c41:	8b ec                	mov    %esp,%ebp
969c43:	56                   	push   %esi
969c44:	8b f1                	mov    %ecx,%esi
969c46:	e8 a9 ce aa ff       	call   0x416af4
969c4b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
969c4f:	74 18                	je     0x969c69
969c51:	f6 45 08 04          	testb  $0x4,0x8(%ebp)
969c55:	75 08                	jne    0x969c5f
969c57:	56                   	push   %esi
969c58:	e8 32 7b a9 ff       	call   0x40178f
969c5d:	eb 09                	jmp    0x969c68
969c5f:	6a 2c                	push   $0x2c
969c61:	56                   	push   %esi
969c62:	e8 73 5b ab ff       	call   0x41f7da
969c67:	59                   	pop    %ecx
969c68:	59                   	pop    %ecx
969c69:	8b c6                	mov    %esi,%eax
969c6b:	5e                   	pop    %esi
969c6c:	5d                   	pop    %ebp
969c6d:	c2 04 00             	ret    $0x4
969c70:	cc                   	int3
969c71:	cc                   	int3
969c72:	cc                   	int3
969c73:	cc                   	int3
969c74:	cc                   	int3
969c75:	cc                   	int3
969c76:	cc                   	int3
969c77:	cc                   	int3
969c78:	cc                   	int3
969c79:	cc                   	int3
969c7a:	cc                   	int3
969c7b:	cc                   	int3
969c7c:	56                   	push   %esi
969c7d:	57                   	push   %edi
969c7e:	8b f9                	mov    %ecx,%edi
969c80:	8b 07                	mov    (%edi),%eax
969c82:	8b 70 50             	mov    0x50(%eax),%esi
969c85:	8b ce                	mov    %esi,%ecx
969c87:	e8 d9 29 ac ff       	call   0x42c665
969c8c:	8b cf                	mov    %edi,%ecx
969c8e:	ff d6                	call   *%esi
969c90:	5f                   	pop    %edi
969c91:	5e                   	pop    %esi
969c92:	c3                   	ret
969c93:	cc                   	int3
969c94:	cc                   	int3
969c95:	cc                   	int3
969c96:	cc                   	int3
969c97:	cc                   	int3
969c98:	55                   	push   %ebp
969c99:	8b ec                	mov    %esp,%ebp
969c9b:	ff 75 08             	push   0x8(%ebp)
969c9e:	e8 10 b0 aa ff       	call   0x414cb3
969ca3:	59                   	pop    %ecx
969ca4:	5d                   	pop    %ebp
969ca5:	c2 04 00             	ret    $0x4
969ca8:	cc                   	int3
969ca9:	cc                   	int3
969caa:	cc                   	int3
969cab:	cc                   	int3
969cac:	55                   	push   %ebp
969cad:	8b ec                	mov    %esp,%ebp
969caf:	8b 55 0c             	mov    0xc(%ebp),%edx
969cb2:	56                   	push   %esi
969cb3:	8b 75 08             	mov    0x8(%ebp),%esi
969cb6:	85 f6                	test   %esi,%esi
969cb8:	75 04                	jne    0x969cbe
969cba:	85 d2                	test   %edx,%edx
969cbc:	75 24                	jne    0x969ce2
969cbe:	8b 45 10             	mov    0x10(%ebp),%eax
969cc1:	83 61 18 00          	andl   $0x0,0x18(%ecx)
969cc5:	89 41 14             	mov    %eax,0x14(%ecx)
969cc8:	f7 d8                	neg    %eax
969cca:	89 71 24             	mov    %esi,0x24(%ecx)
969ccd:	1b c0                	sbb    %eax,%eax
969ccf:	89 51 1c             	mov    %edx,0x1c(%ecx)
969cd2:	f7 d0                	not    %eax
969cd4:	23 c2                	and    %edx,%eax
969cd6:	83 61 28 00          	andl   $0x0,0x28(%ecx)
969cda:	89 41 20             	mov    %eax,0x20(%ecx)
969cdd:	5e                   	pop    %esi
969cde:	5d                   	pop    %ebp
969cdf:	c2 0c 00             	ret    $0xc
969ce2:	e8 7f 82 ac ff       	call   0x431f66
969ce7:	cc                   	int3
969ce8:	cc                   	int3
969ce9:	cc                   	int3
969cea:	cc                   	int3
969ceb:	cc                   	int3
969cec:	cc                   	int3
969ced:	cc                   	int3
969cee:	cc                   	int3
969cef:	cc                   	int3
969cf0:	cc                   	int3
969cf1:	cc                   	int3
969cf2:	cc                   	int3
969cf3:	cc                   	int3
969cf4:	cc                   	int3
969cf5:	cc                   	int3
969cf6:	cc                   	int3
969cf7:	53                   	push   %ebx
969cf8:	57                   	push   %edi
969cf9:	8b f9                	mov    %ecx,%edi
969cfb:	33 db                	xor    %ebx,%ebx
969cfd:	89 5f 14             	mov    %ebx,0x14(%edi)
969d00:	89 5f 18             	mov    %ebx,0x18(%edi)
969d03:	89 5f 1c             	mov    %ebx,0x1c(%edi)
969d06:	89 5f 20             	mov    %ebx,0x20(%edi)
969d09:	39 5f 24             	cmp    %ebx,0x24(%edi)
969d0c:	74 1a                	je     0x969d28
969d0e:	39 5f 28             	cmp    %ebx,0x28(%edi)
969d11:	74 15                	je     0x969d28
969d13:	8b 07                	mov    (%edi),%eax
969d15:	56                   	push   %esi
969d16:	ff 77 24             	push   0x24(%edi)
969d19:	8b 70 64             	mov    0x64(%eax),%esi
969d1c:	8b ce                	mov    %esi,%ecx
969d1e:	e8 42 29 ac ff       	call   0x42c665
969d23:	8b cf                	mov    %edi,%ecx
969d25:	ff d6                	call   *%esi
969d27:	5e                   	pop    %esi
969d28:	89 5f 24             	mov    %ebx,0x24(%edi)
969d2b:	5f                   	pop    %edi
969d2c:	5b                   	pop    %ebx
969d2d:	c3                   	ret
969d2e:	cc                   	int3
969d2f:	cc                   	int3
969d30:	cc                   	int3
969d31:	cc                   	int3
969d32:	cc                   	int3
969d33:	cc                   	int3
969d34:	cc                   	int3
969d35:	cc                   	int3
969d36:	cc                   	int3
969d37:	cc                   	int3
969d38:	cc                   	int3
969d39:	cc                   	int3
969d3a:	cc                   	int3
969d3b:	8b 41 24             	mov    0x24(%ecx),%eax
969d3e:	33 d2                	xor    %edx,%edx
969d40:	89 51 24             	mov    %edx,0x24(%ecx)
969d43:	89 51 20             	mov    %edx,0x20(%ecx)
969d46:	89 51 1c             	mov    %edx,0x1c(%ecx)
969d49:	89 51 18             	mov    %edx,0x18(%ecx)
969d4c:	c3                   	ret
969d4d:	cc                   	int3
969d4e:	cc                   	int3
969d4f:	cc                   	int3
969d50:	cc                   	int3
969d51:	e9 18 6c ab ff       	jmp    0x42096e
969d56:	c3                   	ret
969d57:	55                   	push   %ebp
969d58:	8b ec                	mov    %esp,%ebp
969d5a:	ff 75 08             	push   0x8(%ebp)
969d5d:	e8 70 bb ac ff       	call   0x4358d2
969d62:	59                   	pop    %ecx
969d63:	5d                   	pop    %ebp
969d64:	c2 04 00             	ret    $0x4
969d67:	cc                   	int3
969d68:	cc                   	int3
969d69:	cc                   	int3
969d6a:	cc                   	int3
969d6b:	55                   	push   %ebp
969d6c:	8b ec                	mov    %esp,%ebp
969d6e:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
969d72:	57                   	push   %edi
969d73:	8b f9                	mov    %ecx,%edi
969d75:	75 0e                	jne    0x969d85
969d77:	33 c0                	xor    %eax,%eax
969d79:	3b 47 14             	cmp    0x14(%edi),%eax
969d7c:	1b c0                	sbb    %eax,%eax
969d7e:	f7 d8                	neg    %eax
969d80:	e9 c3 00 00 00       	jmp    0x969e48
969d85:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
969d89:	75 18                	jne    0x969da3
969d8b:	8b 45 0c             	mov    0xc(%ebp),%eax
969d8e:	01 47 18             	add    %eax,0x18(%edi)
969d91:	8b 47 18             	mov    0x18(%edi),%eax
969d94:	3b 47 20             	cmp    0x20(%edi),%eax
969d97:	76 03                	jbe    0x969d9c
969d99:	89 47 20             	mov    %eax,0x20(%edi)
969d9c:	33 c0                	xor    %eax,%eax
969d9e:	e9 a5 00 00 00       	jmp    0x969e48
969da3:	56                   	push   %esi
969da4:	8b 75 10             	mov    0x10(%ebp),%esi
969da7:	85 f6                	test   %esi,%esi
969da9:	0f 84 96 00 00 00    	je     0x969e45