aa2ee1:	cc                   	int3
aa2ee2:	cc                   	int3
aa2ee3:	cc                   	int3
aa2ee4:	cc                   	int3
aa2ee5:	cc                   	int3
aa2ee6:	cc                   	int3
aa2ee7:	cc                   	int3
aa2ee8:	cc                   	int3
aa2ee9:	cc                   	int3
aa2eea:	cc                   	int3
aa2eeb:	8b ff                	mov    %edi,%edi
aa2eed:	55                   	push   %ebp
aa2eee:	8b ec                	mov    %esp,%ebp
aa2ef0:	8b 45 0c             	mov    0xc(%ebp),%eax
aa2ef3:	33 c9                	xor    %ecx,%ecx
aa2ef5:	38 4d 08             	cmp    %cl,0x8(%ebp)
aa2ef8:	0f 95 c1             	setne  %cl
aa2efb:	c1 e1 1f             	shl    $0x1f,%ecx
aa2efe:	81 c9 01 00 80 7f    	or     $0x7f800001,%ecx
aa2f04:	89 08                	mov    %ecx,(%eax)
aa2f06:	5d                   	pop    %ebp
aa2f07:	c3                   	ret
aa2f08:	cc                   	int3
aa2f09:	cc                   	int3
aa2f0a:	cc                   	int3
aa2f0b:	cc                   	int3
aa2f0c:	cc                   	int3
aa2f0d:	cc                   	int3
aa2f0e:	cc                   	int3
aa2f0f:	8b ff                	mov    %edi,%edi
aa2f11:	55                   	push   %ebp
aa2f12:	8b ec                	mov    %esp,%ebp
aa2f14:	33 c0                	xor    %eax,%eax
aa2f16:	38 45 08             	cmp    %al,0x8(%ebp)
aa2f19:	56                   	push   %esi
aa2f1a:	8b 75 0c             	mov    0xc(%ebp),%esi
aa2f1d:	0f 95 c0             	setne  %al
aa2f20:	99                   	cltd
aa2f21:	c1 e0 1f             	shl    $0x1f,%eax
aa2f24:	33 d2                	xor    %edx,%edx
aa2f26:	8b 4e 04             	mov    0x4(%esi),%ecx
aa2f29:	0b 16                	or     (%esi),%edx
aa2f2b:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
aa2f31:	0b c1                	or     %ecx,%eax
aa2f33:	89 46 04             	mov    %eax,0x4(%esi)
aa2f36:	8b c2                	mov    %edx,%eax
aa2f38:	81 4e 04 00 00 f0 7f 	orl    $0x7ff00000,0x4(%esi)
aa2f3f:	8b c8                	mov    %eax,%ecx
aa2f41:	81 66 04 00 00 f0 ff 	andl   $0xfff00000,0x4(%esi)
aa2f48:	83 e1 01             	and    $0x1,%ecx
aa2f4b:	83 c9 01             	or     $0x1,%ecx
aa2f4e:	89 0e                	mov    %ecx,(%esi)
aa2f50:	5e                   	pop    %esi
aa2f51:	5d                   	pop    %ebp
aa2f52:	c3                   	ret
aa2f53:	cc                   	int3
aa2f54:	cc                   	int3
aa2f55:	cc                   	int3
aa2f56:	cc                   	int3
aa2f57:	cc                   	int3
aa2f58:	cc                   	int3
aa2f59:	cc                   	int3
aa2f5a:	cc                   	int3
aa2f5b:	cc                   	int3
aa2f5c:	cc                   	int3
aa2f5d:	cc                   	int3
aa2f5e:	cc                   	int3
aa2f5f:	cc                   	int3
aa2f60:	cc                   	int3
aa2f61:	cc                   	int3
aa2f62:	cc                   	int3
aa2f63:	cc                   	int3
aa2f64:	8b ff                	mov    %edi,%edi
aa2f66:	55                   	push   %ebp
aa2f67:	8b ec                	mov    %esp,%ebp
aa2f69:	8b 4d 0c             	mov    0xc(%ebp),%ecx
aa2f6c:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
aa2f70:	c1 e0 1f             	shl    $0x1f,%eax
aa2f73:	8d 49 7f             	lea    0x7f(%ecx),%ecx
aa2f76:	c1 e1 17             	shl    $0x17,%ecx
aa2f79:	81 e1 00 00 80 7f    	and    $0x7f800000,%ecx
aa2f7f:	0b c8                	or     %eax,%ecx
aa2f81:	8b 45 10             	mov    0x10(%ebp),%eax
aa2f84:	25 ff ff 7f 00       	and    $0x7fffff,%eax
aa2f89:	0b c8                	or     %eax,%ecx
aa2f8b:	8b 45 18             	mov    0x18(%ebp),%eax
aa2f8e:	89 08                	mov    %ecx,(%eax)
aa2f90:	33 c0                	xor    %eax,%eax
aa2f92:	5d                   	pop    %ebp
aa2f93:	c3                   	ret
aa2f94:	cc                   	int3
aa2f95:	cc                   	int3
aa2f96:	cc                   	int3
aa2f97:	cc                   	int3
aa2f98:	cc                   	int3
aa2f99:	cc                   	int3
aa2f9a:	cc                   	int3
aa2f9b:	cc                   	int3
aa2f9c:	cc                   	int3
aa2f9d:	cc                   	int3
aa2f9e:	cc                   	int3
aa2f9f:	cc                   	int3
aa2fa0:	8b ff                	mov    %edi,%edi
aa2fa2:	55                   	push   %ebp
aa2fa3:	8b ec                	mov    %esp,%ebp
aa2fa5:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
aa2fa9:	99                   	cltd
aa2faa:	56                   	push   %esi
aa2fab:	8b 75 18             	mov    0x18(%ebp),%esi
aa2fae:	33 d2                	xor    %edx,%edx
aa2fb0:	c1 e0 1f             	shl    $0x1f,%eax
aa2fb3:	8b 4e 04             	mov    0x4(%esi),%ecx
aa2fb6:	09 16                	or     %edx,(%esi)
aa2fb8:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
aa2fbe:	0b c1                	or     %ecx,%eax
aa2fc0:	89 46 04             	mov    %eax,0x4(%esi)
aa2fc3:	8b 45 0c             	mov    0xc(%ebp),%eax
aa2fc6:	8b 4e 04             	mov    0x4(%esi),%ecx
aa2fc9:	05 ff 03 00 00       	add    $0x3ff,%eax
aa2fce:	25 ff 07 00 00       	and    $0x7ff,%eax
aa2fd3:	81 e1 ff ff 0f 80    	and    $0x800fffff,%ecx
aa2fd9:	99                   	cltd
aa2fda:	c1 e0 14             	shl    $0x14,%eax
aa2fdd:	33 d2                	xor    %edx,%edx
aa2fdf:	0b 16                	or     (%esi),%edx
aa2fe1:	0b c1                	or     %ecx,%eax
aa2fe3:	89 46 04             	mov    %eax,0x4(%esi)
aa2fe6:	8b ca                	mov    %edx,%ecx
aa2fe8:	33 45 14             	xor    0x14(%ebp),%eax
aa2feb:	33 4d 10             	xor    0x10(%ebp),%ecx
aa2fee:	25 ff ff 0f 00       	and    $0xfffff,%eax
aa2ff3:	31 46 04             	xor    %eax,0x4(%esi)
aa2ff6:	89 16                	mov    %edx,(%esi)
aa2ff8:	31 0e                	xor    %ecx,(%esi)
aa2ffa:	33 c0                	xor    %eax,%eax
aa2ffc:	5e                   	pop    %esi
aa2ffd:	5d                   	pop    %ebp
aa2ffe:	c3                   	ret
aa2fff:	cc                   	int3
aa3000:	cc                   	int3
aa3001:	cc                   	int3
aa3002:	cc                   	int3
aa3003:	cc                   	int3
aa3004:	cc                   	int3
aa3005:	cc                   	int3
aa3006:	cc                   	int3
aa3007:	cc                   	int3
aa3008:	cc                   	int3
aa3009:	cc                   	int3
aa300a:	cc                   	int3
aa300b:	cc                   	int3
aa300c:	cc                   	int3
aa300d:	cc                   	int3
aa300e:	cc                   	int3
aa300f:	cc                   	int3
aa3010:	cc                   	int3
aa3011:	cc                   	int3
aa3012:	cc                   	int3
aa3013:	cc                   	int3
aa3014:	cc                   	int3
aa3015:	cc                   	int3
aa3016:	8b ff                	mov    %edi,%edi
aa3018:	55                   	push   %ebp
aa3019:	8b ec                	mov    %esp,%ebp
aa301b:	8b 45 0c             	mov    0xc(%ebp),%eax
aa301e:	33 c9                	xor    %ecx,%ecx
aa3020:	38 4d 08             	cmp    %cl,0x8(%ebp)
aa3023:	0f 95 c1             	setne  %cl
aa3026:	c1 e1 1f             	shl    $0x1f,%ecx
aa3029:	89 08                	mov    %ecx,(%eax)
aa302b:	5d                   	pop    %ebp
aa302c:	c3                   	ret
aa302d:	cc                   	int3
aa302e:	cc                   	int3
aa302f:	cc                   	int3
aa3030:	cc                   	int3
aa3031:	cc                   	int3
aa3032:	8b ff                	mov    %edi,%edi
aa3034:	55                   	push   %ebp
aa3035:	8b ec                	mov    %esp,%ebp
aa3037:	33 c0                	xor    %eax,%eax
aa3039:	38 45 08             	cmp    %al,0x8(%ebp)
aa303c:	56                   	push   %esi
aa303d:	8b 75 0c             	mov    0xc(%ebp),%esi
aa3040:	0f 95 c0             	setne  %al
aa3043:	99                   	cltd
aa3044:	c1 e0 1f             	shl    $0x1f,%eax
aa3047:	33 d2                	xor    %edx,%edx
aa3049:	8b 4e 04             	mov    0x4(%esi),%ecx
aa304c:	0b 16                	or     (%esi),%edx
aa304e:	81 e1 ff ff ff 7f    	and    $0x7fffffff,%ecx
aa3054:	0b c1                	or     %ecx,%eax
aa3056:	89 46 04             	mov    %eax,0x4(%esi)
aa3059:	8b c2                	mov    %edx,%eax
aa305b:	81 66 04 ff ff 0f 80 	andl   $0x800fffff,0x4(%esi)
aa3062:	89 06                	mov    %eax,(%esi)
aa3064:	83 26 00             	andl   $0x0,(%esi)
aa3067:	81 66 04 00 00 f0 ff 	andl   $0xfff00000,0x4(%esi)
aa306e:	5e                   	pop    %esi
aa306f:	5d                   	pop    %ebp
aa3070:	c3                   	ret
aa3071:	cc                   	int3
aa3072:	cc                   	int3
aa3073:	cc                   	int3
aa3074:	cc                   	int3
aa3075:	cc                   	int3
aa3076:	cc                   	int3
aa3077:	cc                   	int3
aa3078:	cc                   	int3
aa3079:	cc                   	int3
aa307a:	cc                   	int3
aa307b:	cc                   	int3
aa307c:	cc                   	int3
aa307d:	cc                   	int3
aa307e:	cc                   	int3
aa307f:	cc                   	int3
aa3080:	8b ff                	mov    %edi,%edi
aa3082:	55                   	push   %ebp
aa3083:	8b ec                	mov    %esp,%ebp
aa3085:	83 ec 14             	sub    $0x14,%esp
aa3088:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
aa308c:	75 15                	jne    0xaa30a3
aa308e:	e8 dc b7 99 ff       	call   0x43e86f
aa3093:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
aa3099:	e8 5a c2 97 ff       	call   0x41f2f8
aa309e:	83 c8 ff             	or     $0xffffffff,%eax
aa30a1:	eb 32                	jmp    0xaa30d5
aa30a3:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
aa30a7:	74 e5                	je     0xaa308e
aa30a9:	8d 45 18             	lea    0x18(%ebp),%eax
aa30ac:	89 45 ec             	mov    %eax,-0x14(%ebp)
aa30af:	8d 45 10             	lea    0x10(%ebp),%eax
aa30b2:	89 45 f0             	mov    %eax,-0x10(%ebp)
aa30b5:	8d 45 08             	lea    0x8(%ebp),%eax
aa30b8:	89 45 f4             	mov    %eax,-0xc(%ebp)
aa30bb:	8d 45 14             	lea    0x14(%ebp),%eax
aa30be:	89 45 f8             	mov    %eax,-0x8(%ebp)
aa30c1:	8d 45 1c             	lea    0x1c(%ebp),%eax
aa30c4:	89 45 fc             	mov    %eax,-0x4(%ebp)
aa30c7:	8d 45 ec             	lea    -0x14(%ebp),%eax
aa30ca:	50                   	push   %eax
aa30cb:	ff 75 10             	push   0x10(%ebp)
aa30ce:	e8 cc 8c 99 ff       	call   0x43bd9f
aa30d3:	59                   	pop    %ecx
aa30d4:	59                   	pop    %ecx
aa30d5:	8b e5                	mov    %ebp,%esp
aa30d7:	5d                   	pop    %ebp
aa30d8:	c3                   	ret
aa30d9:	cc                   	int3
aa30da:	cc                   	int3
aa30db:	cc                   	int3
aa30dc:	cc                   	int3
aa30dd:	cc                   	int3
aa30de:	cc                   	int3
aa30df:	cc                   	int3
aa30e0:	cc                   	int3
aa30e1:	cc                   	int3
aa30e2:	cc                   	int3
aa30e3:	cc                   	int3
aa30e4:	cc                   	int3
aa30e5:	cc                   	int3
aa30e6:	cc                   	int3
aa30e7:	cc                   	int3
aa30e8:	cc                   	int3
aa30e9:	cc                   	int3
aa30ea:	cc                   	int3
aa30eb:	cc                   	int3
aa30ec:	cc                   	int3
aa30ed:	cc                   	int3
aa30ee:	cc                   	int3
aa30ef:	8b ff                	mov    %edi,%edi
aa30f1:	55                   	push   %ebp
aa30f2:	8b ec                	mov    %esp,%ebp
aa30f4:	83 ec 14             	sub    $0x14,%esp
aa30f7:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
aa30fb:	75 15                	jne    0xaa3112
aa30fd:	e8 6d b7 99 ff       	call   0x43e86f
aa3102:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
aa3108:	e8 eb c1 97 ff       	call   0x41f2f8
aa310d:	83 c8 ff             	or     $0xffffffff,%eax
aa3110:	eb 32                	jmp    0xaa3144
aa3112:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
aa3116:	74 e5                	je     0xaa30fd
aa3118:	8d 45 18             	lea    0x18(%ebp),%eax
aa311b:	89 45 ec             	mov    %eax,-0x14(%ebp)
aa311e:	8d 45 10             	lea    0x10(%ebp),%eax
aa3121:	89 45 f0             	mov    %eax,-0x10(%ebp)
aa3124:	8d 45 08             	lea    0x8(%ebp),%eax
aa3127:	89 45 f4             	mov    %eax,-0xc(%ebp)
aa312a:	8d 45 14             	lea    0x14(%ebp),%eax
aa312d:	89 45 f8             	mov    %eax,-0x8(%ebp)
aa3130:	8d 45 1c             	lea    0x1c(%ebp),%eax
aa3133:	89 45 fc             	mov    %eax,-0x4(%ebp)
aa3136:	8d 45 ec             	lea    -0x14(%ebp),%eax
aa3139:	50                   	push   %eax
aa313a:	ff 75 10             	push   0x10(%ebp)
aa313d:	e8 2a 6a 99 ff       	call   0x439b6c
aa3142:	59                   	pop    %ecx
aa3143:	59                   	pop    %ecx
aa3144:	8b e5                	mov    %ebp,%esp
aa3146:	5d                   	pop    %ebp
aa3147:	c3                   	ret
aa3148:	cc                   	int3
aa3149:	cc                   	int3
aa314a:	cc                   	int3
aa314b:	cc                   	int3
aa314c:	cc                   	int3
aa314d:	cc                   	int3
aa314e:	cc                   	int3
aa314f:	cc                   	int3
aa3150:	cc                   	int3
aa3151:	cc                   	int3
aa3152:	cc                   	int3
aa3153:	cc                   	int3
aa3154:	cc                   	int3
aa3155:	cc                   	int3
aa3156:	cc                   	int3
aa3157:	cc                   	int3
aa3158:	cc                   	int3
aa3159:	cc                   	int3
aa315a:	cc                   	int3
aa315b:	cc                   	int3
aa315c:	cc                   	int3
aa315d:	cc                   	int3
aa315e:	8b ff                	mov    %edi,%edi
aa3160:	55                   	push   %ebp
aa3161:	8b ec                	mov    %esp,%ebp
aa3163:	81 ec 98 00 00 00    	sub    $0x98,%esp
aa3169:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
aa316e:	33 c5                	xor    %ebp,%eax
aa3170:	89 45 fc             	mov    %eax,-0x4(%ebp)
aa3173:	57                   	push   %edi
aa3174:	8b 7d 10             	mov    0x10(%ebp),%edi
aa3177:	85 ff                	test   %edi,%edi
aa3179:	75 15                	jne    0xaa3190
aa317b:	e8 ef b6 99 ff       	call   0x43e86f
aa3180:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
aa3186:	e8 6d c1 97 ff       	call   0x41f2f8
aa318b:	83 c8 ff             	or     $0xffffffff,%eax
aa318e:	eb 75                	jmp    0xaa3205
aa3190:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
aa3194:	74 e5                	je     0xaa317b
aa3196:	56                   	push   %esi
aa3197:	ff 75 14             	push   0x14(%ebp)
aa319a:	57                   	push   %edi
aa319b:	e8 6a ba 96 ff       	call   0x40ec0a
aa31a0:	59                   	pop    %ecx
aa31a1:	59                   	pop    %ecx
aa31a2:	ff 75 1c             	push   0x1c(%ebp)
aa31a5:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx