450a69:	5e                   	pop    %esi
450a6a:	33 c0                	xor    %eax,%eax
450a6c:	5b                   	pop    %ebx
450a6d:	8b e5                	mov    %ebp,%esp
450a6f:	5d                   	pop    %ebp
450a70:	c2 08 00             	ret    $0x8
450a73:	85 c0                	test   %eax,%eax
450a75:	7e 08                	jle    0x450a7f
450a77:	33 c0                	xor    %eax,%eax
450a79:	39 47 08             	cmp    %eax,0x8(%edi)
450a7c:	0f 44 f0             	cmove  %eax,%esi
450a7f:	85 f6                	test   %esi,%esi
450a81:	74 e5                	je     0x450a68
450a83:	eb 06                	jmp    0x450a8b
450a85:	8d 43 ff             	lea    -0x1(%ebx),%eax
450a88:	89 47 3c             	mov    %eax,0x3c(%edi)
450a8b:	ff 47 44             	incl   0x44(%edi)
450a8e:	83 7f 3c 00          	cmpl   $0x0,0x3c(%edi)
450a92:	75 d4                	jne    0x450a68
450a94:	8b 47 10             	mov    0x10(%edi),%eax
450a97:	33 c9                	xor    %ecx,%ecx
450a99:	03 45 fc             	add    -0x4(%ebp),%eax
450a9c:	89 47 10             	mov    %eax,0x10(%edi)
450a9f:	0f 48 c8             	cmovs  %eax,%ecx
450aa2:	8b c6                	mov    %esi,%eax
450aa4:	03 4f 04             	add    0x4(%edi),%ecx
450aa7:	89 0f                	mov    %ecx,(%edi)
450aa9:	5f                   	pop    %edi
450aaa:	5e                   	pop    %esi
450aab:	5b                   	pop    %ebx
450aac:	8b e5                	mov    %ebp,%esp
450aae:	5d                   	pop    %ebp
450aaf:	c2 08 00             	ret    $0x8
450ab2:	cc                   	int3
450ab3:	cc                   	int3
450ab4:	cc                   	int3
450ab5:	cc                   	int3
450ab6:	cc                   	int3
450ab7:	cc                   	int3
450ab8:	cc                   	int3
450ab9:	cc                   	int3
450aba:	cc                   	int3
450abb:	cc                   	int3
450abc:	cc                   	int3
450abd:	cc                   	int3
450abe:	cc                   	int3
450abf:	cc                   	int3
450ac0:	55                   	push   %ebp
450ac1:	8b ec                	mov    %esp,%ebp
450ac3:	8b 45 08             	mov    0x8(%ebp),%eax
450ac6:	56                   	push   %esi
450ac7:	8b 75 0c             	mov    0xc(%ebp),%esi
450aca:	8d 56 01             	lea    0x1(%esi),%edx
450acd:	3d 80 00 00 00       	cmp    $0x80,%eax
450ad2:	73 07                	jae    0x450adb
450ad4:	88 06                	mov    %al,(%esi)
450ad6:	8b c2                	mov    %edx,%eax
450ad8:	5e                   	pop    %esi
450ad9:	5d                   	pop    %ebp
450ada:	c3                   	ret
450adb:	8a c8                	mov    %al,%cl
450add:	c1 e8 07             	shr    $0x7,%eax
450ae0:	80 c9 80             	or     $0x80,%cl
450ae3:	88 0e                	mov    %cl,(%esi)
450ae5:	3d 80 00 00 00       	cmp    $0x80,%eax
450aea:	73 08                	jae    0x450af4
450aec:	88 02                	mov    %al,(%edx)
450aee:	8d 46 02             	lea    0x2(%esi),%eax
450af1:	5e                   	pop    %esi
450af2:	5d                   	pop    %ebp
450af3:	c3                   	ret
450af4:	8a c8                	mov    %al,%cl
450af6:	8d 52 01             	lea    0x1(%edx),%edx
450af9:	80 c9 80             	or     $0x80,%cl
450afc:	c1 e8 07             	shr    $0x7,%eax
450aff:	88 4a ff             	mov    %cl,-0x1(%edx)
450b02:	3d 80 00 00 00       	cmp    $0x80,%eax
450b07:	73 eb                	jae    0x450af4
450b09:	88 02                	mov    %al,(%edx)
450b0b:	8d 42 01             	lea    0x1(%edx),%eax
450b0e:	5e                   	pop    %esi
450b0f:	5d                   	pop    %ebp
450b10:	c3                   	ret
450b11:	cc                   	int3
450b12:	cc                   	int3
450b13:	cc                   	int3
450b14:	cc                   	int3
450b15:	cc                   	int3
450b16:	cc                   	int3
450b17:	cc                   	int3
450b18:	cc                   	int3
450b19:	cc                   	int3
450b1a:	cc                   	int3
450b1b:	cc                   	int3
450b1c:	cc                   	int3
450b1d:	cc                   	int3
450b1e:	cc                   	int3
450b1f:	cc                   	int3
450b20:	55                   	push   %ebp
450b21:	8b ec                	mov    %esp,%ebp
450b23:	8b 55 08             	mov    0x8(%ebp),%edx
450b26:	83 ec 08             	sub    $0x8,%esp
450b29:	53                   	push   %ebx
450b2a:	0f b6 1a             	movzbl (%edx),%ebx
450b2d:	8d 42 01             	lea    0x1(%edx),%eax
450b30:	84 db                	test   %bl,%bl
450b32:	78 0a                	js     0x450b3e
450b34:	8b 4d 0c             	mov    0xc(%ebp),%ecx
450b37:	89 19                	mov    %ebx,(%ecx)
450b39:	5b                   	pop    %ebx
450b3a:	8b e5                	mov    %ebp,%esp
450b3c:	5d                   	pop    %ebp
450b3d:	c3                   	ret
450b3e:	0f b6 08             	movzbl (%eax),%ecx
450b41:	56                   	push   %esi
450b42:	8b f1                	mov    %ecx,%esi
450b44:	c1 e6 07             	shl    $0x7,%esi
450b47:	83 c6 80             	add    $0xffffff80,%esi
450b4a:	03 f3                	add    %ebx,%esi
450b4c:	84 c9                	test   %cl,%cl
450b4e:	78 0e                	js     0x450b5e
450b50:	8b 45 0c             	mov    0xc(%ebp),%eax
450b53:	89 30                	mov    %esi,(%eax)
450b55:	8d 42 02             	lea    0x2(%edx),%eax
450b58:	5e                   	pop    %esi
450b59:	5b                   	pop    %ebx
450b5a:	8b e5                	mov    %ebp,%esp
450b5c:	5d                   	pop    %ebp
450b5d:	c3                   	ret
450b5e:	56                   	push   %esi
450b5f:	52                   	push   %edx
450b60:	8d 45 f8             	lea    -0x8(%ebp),%eax
450b63:	50                   	push   %eax
450b64:	e8 f7 ee 00 00       	call   0x45fa60
450b69:	8b 4d 0c             	mov    0xc(%ebp),%ecx
450b6c:	83 c4 0c             	add    $0xc,%esp
450b6f:	8b 45 fc             	mov    -0x4(%ebp),%eax
450b72:	5e                   	pop    %esi
450b73:	89 01                	mov    %eax,(%ecx)
450b75:	8b 45 f8             	mov    -0x8(%ebp),%eax
450b78:	5b                   	pop    %ebx
450b79:	8b e5                	mov    %ebp,%esp
450b7b:	5d                   	pop    %ebp
450b7c:	c3                   	ret
450b7d:	cc                   	int3
450b7e:	cc                   	int3
450b7f:	cc                   	int3
450b80:	55                   	push   %ebp
450b81:	8b ec                	mov    %esp,%ebp
450b83:	8b 55 08             	mov    0x8(%ebp),%edx
450b86:	83 ec 10             	sub    $0x10,%esp
450b89:	53                   	push   %ebx
450b8a:	0f b6 1a             	movzbl (%edx),%ebx
450b8d:	8d 42 01             	lea    0x1(%edx),%eax
450b90:	84 db                	test   %bl,%bl
450b92:	78 11                	js     0x450ba5
450b94:	8b 4d 0c             	mov    0xc(%ebp),%ecx
450b97:	89 19                	mov    %ebx,(%ecx)
450b99:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
450ba0:	5b                   	pop    %ebx
450ba1:	8b e5                	mov    %ebp,%esp
450ba3:	5d                   	pop    %ebp
450ba4:	c3                   	ret
450ba5:	0f b6 08             	movzbl (%eax),%ecx
450ba8:	56                   	push   %esi
450ba9:	8b f1                	mov    %ecx,%esi
450bab:	c1 e6 07             	shl    $0x7,%esi
450bae:	83 c6 80             	add    $0xffffff80,%esi
450bb1:	03 f3                	add    %ebx,%esi
450bb3:	84 c9                	test   %cl,%cl
450bb5:	78 15                	js     0x450bcc
450bb7:	8b 45 0c             	mov    0xc(%ebp),%eax
450bba:	89 30                	mov    %esi,(%eax)
450bbc:	5e                   	pop    %esi
450bbd:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
450bc4:	8d 42 02             	lea    0x2(%edx),%eax
450bc7:	5b                   	pop    %ebx
450bc8:	8b e5                	mov    %ebp,%esp
450bca:	5d                   	pop    %ebp
450bcb:	c3                   	ret
450bcc:	56                   	push   %esi
450bcd:	52                   	push   %edx
450bce:	8d 45 f0             	lea    -0x10(%ebp),%eax
450bd1:	50                   	push   %eax
450bd2:	e8 09 ef 00 00       	call   0x45fae0
450bd7:	8b 45 0c             	mov    0xc(%ebp),%eax
450bda:	83 c4 0c             	add    $0xc,%esp
450bdd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
450be0:	8b 55 fc             	mov    -0x4(%ebp),%edx
450be3:	5e                   	pop    %esi
450be4:	89 08                	mov    %ecx,(%eax)
450be6:	89 50 04             	mov    %edx,0x4(%eax)
450be9:	8b 45 f0             	mov    -0x10(%ebp),%eax
450bec:	5b                   	pop    %ebx
450bed:	8b e5                	mov    %ebp,%esp
450bef:	5d                   	pop    %ebp
450bf0:	c3                   	ret
450bf1:	cc                   	int3
450bf2:	cc                   	int3
450bf3:	cc                   	int3
450bf4:	cc                   	int3
450bf5:	cc                   	int3
450bf6:	cc                   	int3
450bf7:	cc                   	int3
450bf8:	cc                   	int3
450bf9:	cc                   	int3
450bfa:	cc                   	int3
450bfb:	cc                   	int3
450bfc:	cc                   	int3
450bfd:	cc                   	int3
450bfe:	cc                   	int3
450bff:	cc                   	int3
450c00:	55                   	push   %ebp
450c01:	8b ec                	mov    %esp,%ebp
450c03:	8b 4d 08             	mov    0x8(%ebp),%ecx
450c06:	85 c9                	test   %ecx,%ecx
450c08:	74 06                	je     0x450c10
450c0a:	8b 01                	mov    (%ecx),%eax
450c0c:	6a 01                	push   $0x1
450c0e:	ff 10                	call   *(%eax)
450c10:	5d                   	pop    %ebp
450c11:	c3                   	ret
450c12:	cc                   	int3
450c13:	cc                   	int3
450c14:	cc                   	int3
450c15:	cc                   	int3
450c16:	cc                   	int3
450c17:	cc                   	int3
450c18:	cc                   	int3
450c19:	cc                   	int3
450c1a:	cc                   	int3
450c1b:	cc                   	int3
450c1c:	cc                   	int3
450c1d:	cc                   	int3
450c1e:	cc                   	int3
450c1f:	cc                   	int3
450c20:	55                   	push   %ebp
450c21:	8b ec                	mov    %esp,%ebp
450c23:	8b 4d 08             	mov    0x8(%ebp),%ecx
450c26:	8d 49 04             	lea    0x4(%ecx),%ecx
450c29:	5d                   	pop    %ebp
450c2a:	e9 71 01 00 00       	jmp    0x450da0
450c2f:	cc                   	int3
450c30:	55                   	push   %ebp
450c31:	8b ec                	mov    %esp,%ebp
450c33:	83 ec 08             	sub    $0x8,%esp
450c36:	56                   	push   %esi
450c37:	57                   	push   %edi
450c38:	8b f9                	mov    %ecx,%edi
450c3a:	8b 17                	mov    (%edi),%edx
450c3c:	8b ca                	mov    %edx,%ecx
450c3e:	83 e1 fc             	and    $0xfffffffc,%ecx
450c41:	8b f1                	mov    %ecx,%esi
450c43:	f6 c2 03             	test   $0x3,%dl
450c46:	74 0e                	je     0x450c56
450c48:	8b c2                	mov    %edx,%eax
450c4a:	d1 e8                	shr    $1,%eax
450c4c:	a8 01                	test   $0x1,%al
450c4e:	74 04                	je     0x450c54
450c50:	33 c9                	xor    %ecx,%ecx
450c52:	eb 02                	jmp    0x450c56
450c54:	8b 0e                	mov    (%esi),%ecx
450c56:	f6 c2 01             	test   $0x1,%dl
450c59:	74 02                	je     0x450c5d
450c5b:	8b 36                	mov    (%esi),%esi
450c5d:	85 c9                	test   %ecx,%ecx
450c5f:	75 12                	jne    0x450c73
450c61:	6a 10                	push   $0x10
450c63:	e8 bd 05 18 00       	call   0x5d1225
450c68:	8b d0                	mov    %eax,%edx
450c6a:	83 c4 04             	add    $0x4,%esp
450c6d:	85 d2                	test   %edx,%edx
450c6f:	75 27                	jne    0x450c98
450c71:	eb 32                	jmp    0x450ca5
450c73:	68 a8 24 69 00       	push   $0x6924a8
450c78:	6a 10                	push   $0x10
450c7a:	8d 45 f8             	lea    -0x8(%ebp),%eax
450c7d:	50                   	push   %eax
450c7e:	e8 6d a6 00 00       	call   0x45b2f0
450c83:	8b 4d fc             	mov    -0x4(%ebp),%ecx
450c86:	8b 45 f8             	mov    -0x8(%ebp),%eax
450c89:	89 01                	mov    %eax,(%ecx)
450c8b:	8b 45 fc             	mov    -0x4(%ebp),%eax
450c8e:	c7 40 04 20 0c 45 00 	movl   $0x450c20,0x4(%eax)
450c95:	8b 55 f8             	mov    -0x8(%ebp),%edx
450c98:	33 c0                	xor    %eax,%eax
450c9a:	89 02                	mov    %eax,(%edx)
450c9c:	89 42 04             	mov    %eax,0x4(%edx)
450c9f:	89 42 0c             	mov    %eax,0xc(%edx)
450ca2:	89 42 08             	mov    %eax,0x8(%edx)
450ca5:	8b 0f                	mov    (%edi),%ecx
450ca7:	8b c2                	mov    %edx,%eax
450ca9:	83 e1 02             	and    $0x2,%ecx
450cac:	0b c1                	or     %ecx,%eax
450cae:	83 c8 01             	or     $0x1,%eax
450cb1:	89 07                	mov    %eax,(%edi)
450cb3:	8d 42 04             	lea    0x4(%edx),%eax
450cb6:	5f                   	pop    %edi
450cb7:	89 32                	mov    %esi,(%edx)
450cb9:	5e                   	pop    %esi
450cba:	8b e5                	mov    %ebp,%esp
450cbc:	5d                   	pop    %ebp
450cbd:	c3                   	ret
450cbe:	cc                   	int3
450cbf:	cc                   	int3
450cc0:	55                   	push   %ebp
450cc1:	8b ec                	mov    %esp,%ebp
450cc3:	51                   	push   %ecx
450cc4:	53                   	push   %ebx
450cc5:	57                   	push   %edi
450cc6:	8b f9                	mov    %ecx,%edi
450cc8:	8b 5f 0c             	mov    0xc(%edi),%ebx
450ccb:	85 db                	test   %ebx,%ebx
450ccd:	74 3e                	je     0x450d0d
450ccf:	83 3f 00             	cmpl   $0x0,(%edi)
450cd2:	75 39                	jne    0x450d0d
450cd4:	8b 03                	mov    (%ebx),%eax
450cd6:	56                   	push   %esi
450cd7:	33 f6                	xor    %esi,%esi
450cd9:	89 45 fc             	mov    %eax,-0x4(%ebp)
450cdc:	85 c0                	test   %eax,%eax
450cde:	7e 16                	jle    0x450cf6
450ce0:	8b 4c b3 04          	mov    0x4(%ebx,%esi,4),%ecx
450ce4:	85 c9                	test   %ecx,%ecx
450ce6:	74 09                	je     0x450cf1
450ce8:	8b 01                	mov    (%ecx),%eax
450cea:	6a 01                	push   $0x1
450cec:	ff 10                	call   *(%eax)
450cee:	8b 45 fc             	mov    -0x4(%ebp),%eax
450cf1:	46                   	inc    %esi
450cf2:	3b f0                	cmp    %eax,%esi
450cf4:	7c ea                	jl     0x450ce0
450cf6:	8b 47 08             	mov    0x8(%edi),%eax
450cf9:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
450d00:	50                   	push   %eax
450d01:	ff 77 0c             	push   0xc(%edi)
450d04:	e8 4c 05 18 00       	call   0x5d1255
450d09:	83 c4 08             	add    $0x8,%esp
450d0c:	5e                   	pop    %esi
450d0d:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
450d14:	5f                   	pop    %edi
450d15:	5b                   	pop    %ebx
450d16:	8b e5                	mov    %ebp,%esp
450d18:	5d                   	pop    %ebp
450d19:	c3                   	ret
450d1a:	cc                   	int3
450d1b:	cc                   	int3
450d1c:	cc                   	int3
450d1d:	cc                   	int3
450d1e:	cc                   	int3