43eec4:	8b 45 08             	mov    0x8(%ebp),%eax
43eec7:	83 20 e3             	andl   $0xffffffe3,(%eax)
43eeca:	eb 1a                	jmp    0x43eee6
43eecc:	8b 4d 08             	mov    0x8(%ebp),%ecx
43eecf:	8b 01                	mov    (%ecx),%eax
43eed1:	83 e0 e7             	and    $0xffffffe7,%eax
43eed4:	83 c8 04             	or     $0x4,%eax
43eed7:	eb 0b                	jmp    0x43eee4
43eed9:	8b 4d 08             	mov    0x8(%ebp),%ecx
43eedc:	8b 01                	mov    (%ecx),%eax
43eede:	83 e0 eb             	and    $0xffffffeb,%eax
43eee1:	83 c8 08             	or     $0x8,%eax
43eee4:	89 01                	mov    %eax,(%ecx)
43eee6:	8b 45 08             	mov    0x8(%ebp),%eax
43eee9:	8b 4d 14             	mov    0x14(%ebp),%ecx
43eeec:	c1 e1 05             	shl    $0x5,%ecx
43eeef:	33 08                	xor    (%eax),%ecx
43eef1:	81 e1 e0 ff 01 00    	and    $0x1ffe0,%ecx
43eef7:	31 08                	xor    %ecx,(%eax)
43eef9:	8b 45 08             	mov    0x8(%ebp),%eax
43eefc:	09 58 20             	or     %ebx,0x20(%eax)
43eeff:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
43ef03:	74 2c                	je     0x43ef31
43ef05:	8b 45 08             	mov    0x8(%ebp),%eax
43ef08:	83 60 20 e1          	andl   $0xffffffe1,0x20(%eax)
43ef0c:	8b 45 18             	mov    0x18(%ebp),%eax
43ef0f:	d9 00                	flds   (%eax)
43ef11:	8b 45 08             	mov    0x8(%ebp),%eax
43ef14:	d9 58 10             	fstps  0x10(%eax)
43ef17:	8b 45 08             	mov    0x8(%ebp),%eax
43ef1a:	09 58 60             	or     %ebx,0x60(%eax)
43ef1d:	8b 45 08             	mov    0x8(%ebp),%eax
43ef20:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
43ef23:	83 60 60 e1          	andl   $0xffffffe1,0x60(%eax)
43ef27:	8b 45 08             	mov    0x8(%ebp),%eax
43ef2a:	d9 03                	flds   (%ebx)
43ef2c:	d9 58 50             	fstps  0x50(%eax)
43ef2f:	eb 3a                	jmp    0x43ef6b
43ef31:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ef34:	8b 41 20             	mov    0x20(%ecx),%eax
43ef37:	83 e0 e3             	and    $0xffffffe3,%eax
43ef3a:	83 c8 02             	or     $0x2,%eax
43ef3d:	89 41 20             	mov    %eax,0x20(%ecx)
43ef40:	8b 45 18             	mov    0x18(%ebp),%eax
43ef43:	dd 00                	fldl   (%eax)
43ef45:	8b 45 08             	mov    0x8(%ebp),%eax
43ef48:	dd 58 10             	fstpl  0x10(%eax)
43ef4b:	8b 45 08             	mov    0x8(%ebp),%eax
43ef4e:	09 58 60             	or     %ebx,0x60(%eax)
43ef51:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ef54:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
43ef57:	8b 41 60             	mov    0x60(%ecx),%eax
43ef5a:	83 e0 e3             	and    $0xffffffe3,%eax
43ef5d:	83 c8 02             	or     $0x2,%eax
43ef60:	89 41 60             	mov    %eax,0x60(%ecx)
43ef63:	8b 45 08             	mov    0x8(%ebp),%eax
43ef66:	dd 03                	fldl   (%ebx)
43ef68:	dd 58 50             	fstpl  0x50(%eax)
43ef6b:	e8 59 d6 ff ff       	call   0x43c5c9
43ef70:	8d 45 08             	lea    0x8(%ebp),%eax
43ef73:	50                   	push   %eax
43ef74:	6a 01                	push   $0x1
43ef76:	6a 00                	push   $0x0
43ef78:	57                   	push   %edi
43ef79:	ff 15 0c b3 44 00    	call   *0x44b30c
43ef7f:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ef82:	f6 41 08 10          	testb  $0x10,0x8(%ecx)
43ef86:	74 03                	je     0x43ef8b
43ef88:	83 26 fe             	andl   $0xfffffffe,(%esi)
43ef8b:	f6 41 08 08          	testb  $0x8,0x8(%ecx)
43ef8f:	74 03                	je     0x43ef94
43ef91:	83 26 fb             	andl   $0xfffffffb,(%esi)
43ef94:	f6 41 08 04          	testb  $0x4,0x8(%ecx)
43ef98:	74 03                	je     0x43ef9d
43ef9a:	83 26 f7             	andl   $0xfffffff7,(%esi)
43ef9d:	f6 41 08 02          	testb  $0x2,0x8(%ecx)
43efa1:	74 03                	je     0x43efa6
43efa3:	83 26 ef             	andl   $0xffffffef,(%esi)
43efa6:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
43efaa:	74 03                	je     0x43efaf
43efac:	83 26 df             	andl   $0xffffffdf,(%esi)
43efaf:	8b 01                	mov    (%ecx),%eax
43efb1:	ba ff f3 ff ff       	mov    $0xfffff3ff,%edx
43efb6:	83 e0 03             	and    $0x3,%eax
43efb9:	83 e8 00             	sub    $0x0,%eax
43efbc:	74 35                	je     0x43eff3
43efbe:	83 e8 01             	sub    $0x1,%eax
43efc1:	74 22                	je     0x43efe5
43efc3:	83 e8 01             	sub    $0x1,%eax
43efc6:	74 0d                	je     0x43efd5
43efc8:	83 e8 01             	sub    $0x1,%eax
43efcb:	75 28                	jne    0x43eff5
43efcd:	81 0e 00 0c 00 00    	orl    $0xc00,(%esi)
43efd3:	eb 20                	jmp    0x43eff5
43efd5:	8b 06                	mov    (%esi),%eax
43efd7:	25 ff fb ff ff       	and    $0xfffffbff,%eax
43efdc:	0d 00 08 00 00       	or     $0x800,%eax
43efe1:	89 06                	mov    %eax,(%esi)
43efe3:	eb 10                	jmp    0x43eff5
43efe5:	8b 06                	mov    (%esi),%eax
43efe7:	25 ff f7 ff ff       	and    $0xfffff7ff,%eax
43efec:	0d 00 04 00 00       	or     $0x400,%eax
43eff1:	eb ee                	jmp    0x43efe1
43eff3:	21 16                	and    %edx,(%esi)
43eff5:	8b 01                	mov    (%ecx),%eax
43eff7:	c1 e8 02             	shr    $0x2,%eax
43effa:	83 e0 07             	and    $0x7,%eax
43effd:	83 e8 00             	sub    $0x0,%eax
43f000:	74 19                	je     0x43f01b
43f002:	83 e8 01             	sub    $0x1,%eax
43f005:	74 09                	je     0x43f010
43f007:	83 e8 01             	sub    $0x1,%eax
43f00a:	75 1a                	jne    0x43f026
43f00c:	21 16                	and    %edx,(%esi)
43f00e:	eb 16                	jmp    0x43f026
43f010:	8b 06                	mov    (%esi),%eax
43f012:	23 c2                	and    %edx,%eax
43f014:	0d 00 02 00 00       	or     $0x200,%eax
43f019:	eb 09                	jmp    0x43f024
43f01b:	8b 06                	mov    (%esi),%eax
43f01d:	23 c2                	and    %edx,%eax
43f01f:	0d 00 03 00 00       	or     $0x300,%eax
43f024:	89 06                	mov    %eax,(%esi)
43f026:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
43f02a:	5e                   	pop    %esi
43f02b:	74 07                	je     0x43f034
43f02d:	d9 41 50             	flds   0x50(%ecx)
43f030:	d9 1b                	fstps  (%ebx)
43f032:	eb 05                	jmp    0x43f039
43f034:	dd 41 50             	fldl   0x50(%ecx)
43f037:	dd 1b                	fstpl  (%ebx)
43f039:	5f                   	pop    %edi
43f03a:	5b                   	pop    %ebx
43f03b:	5d                   	pop    %ebp
43f03c:	c3                   	ret
43f03d:	8b ff                	mov    %edi,%edi
43f03f:	55                   	push   %ebp
43f040:	8b ec                	mov    %esp,%ebp
43f042:	8b 45 08             	mov    0x8(%ebp),%eax
43f045:	83 f8 01             	cmp    $0x1,%eax
43f048:	74 15                	je     0x43f05f
43f04a:	83 c0 fe             	add    $0xfffffffe,%eax
43f04d:	83 f8 01             	cmp    $0x1,%eax
43f050:	77 18                	ja     0x43f06a
43f052:	e8 df 4d ff ff       	call   0x433e36
43f057:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
43f05d:	5d                   	pop    %ebp
43f05e:	c3                   	ret
43f05f:	e8 d2 4d ff ff       	call   0x433e36
43f064:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
43f06a:	5d                   	pop    %ebp
43f06b:	c3                   	ret
43f06c:	8b ff                	mov    %edi,%edi
43f06e:	55                   	push   %ebp
43f06f:	8b ec                	mov    %esp,%ebp
43f071:	8b 55 0c             	mov    0xc(%ebp),%edx
43f074:	83 ec 20             	sub    $0x20,%esp
43f077:	33 c9                	xor    %ecx,%ecx
43f079:	8b c1                	mov    %ecx,%eax
43f07b:	39 14 c5 18 60 46 00 	cmp    %edx,0x466018(,%eax,8)
43f082:	74 08                	je     0x43f08c
43f084:	40                   	inc    %eax
43f085:	83 f8 1d             	cmp    $0x1d,%eax
43f088:	7c f1                	jl     0x43f07b
43f08a:	eb 07                	jmp    0x43f093
43f08c:	8b 0c c5 1c 60 46 00 	mov    0x46601c(,%eax,8),%ecx
43f093:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
43f096:	85 c9                	test   %ecx,%ecx
43f098:	74 55                	je     0x43f0ef
43f09a:	8b 45 10             	mov    0x10(%ebp),%eax
43f09d:	89 45 e8             	mov    %eax,-0x18(%ebp)
43f0a0:	8b 45 14             	mov    0x14(%ebp),%eax
43f0a3:	89 45 ec             	mov    %eax,-0x14(%ebp)
43f0a6:	8b 45 18             	mov    0x18(%ebp),%eax
43f0a9:	89 45 f0             	mov    %eax,-0x10(%ebp)
43f0ac:	8b 45 1c             	mov    0x1c(%ebp),%eax
43f0af:	56                   	push   %esi
43f0b0:	8b 75 08             	mov    0x8(%ebp),%esi
43f0b3:	89 45 f4             	mov    %eax,-0xc(%ebp)
43f0b6:	8b 45 20             	mov    0x20(%ebp),%eax
43f0b9:	68 ff ff 00 00       	push   $0xffff
43f0be:	ff 75 28             	push   0x28(%ebp)
43f0c1:	89 45 f8             	mov    %eax,-0x8(%ebp)
43f0c4:	8b 45 24             	mov    0x24(%ebp),%eax
43f0c7:	89 75 e0             	mov    %esi,-0x20(%ebp)
43f0ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f0cd:	e8 0a d5 ff ff       	call   0x43c5dc
43f0d2:	8d 45 e0             	lea    -0x20(%ebp),%eax
43f0d5:	50                   	push   %eax
43f0d6:	e8 73 4f ff ff       	call   0x43404e
43f0db:	83 c4 0c             	add    $0xc,%esp
43f0de:	85 c0                	test   %eax,%eax
43f0e0:	75 07                	jne    0x43f0e9
43f0e2:	56                   	push   %esi
43f0e3:	e8 55 ff ff ff       	call   0x43f03d
43f0e8:	59                   	pop    %ecx
43f0e9:	dd 45 f8             	fldl   -0x8(%ebp)
43f0ec:	5e                   	pop    %esi
43f0ed:	eb 1b                	jmp    0x43f10a
43f0ef:	68 ff ff 00 00       	push   $0xffff
43f0f4:	ff 75 28             	push   0x28(%ebp)
43f0f7:	e8 e0 d4 ff ff       	call   0x43c5dc
43f0fc:	ff 75 08             	push   0x8(%ebp)
43f0ff:	e8 39 ff ff ff       	call   0x43f03d
43f104:	dd 45 20             	fldl   0x20(%ebp)
43f107:	83 c4 0c             	add    $0xc,%esp
43f10a:	8b e5                	mov    %ebp,%esp
43f10c:	5d                   	pop    %ebp
43f10d:	c3                   	ret
43f10e:	8b ff                	mov    %edi,%edi
43f110:	55                   	push   %ebp
43f111:	8b ec                	mov    %esp,%ebp
43f113:	dd 45 08             	fldl   0x8(%ebp)
43f116:	d9 ee                	fldz
43f118:	dd e1                	fucom  %st(1)
43f11a:	df e0                	fnstsw %ax
43f11c:	57                   	push   %edi
43f11d:	f6 c4 44             	test   $0x44,%ah
43f120:	7a 09                	jp     0x43f12b
43f122:	dd d9                	fstp   %st(1)
43f124:	33 ff                	xor    %edi,%edi
43f126:	e9 af 00 00 00       	jmp    0x43f1da
43f12b:	56                   	push   %esi
43f12c:	66 8b 75 0e          	mov    0xe(%ebp),%si
43f130:	0f b7 c6             	movzwl %si,%eax
43f133:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
43f138:	75 7c                	jne    0x43f1b6
43f13a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43f13d:	8b 55 08             	mov    0x8(%ebp),%edx
43f140:	f7 c1 ff ff 0f 00    	test   $0xfffff,%ecx
43f146:	75 04                	jne    0x43f14c
43f148:	85 d2                	test   %edx,%edx
43f14a:	74 6a                	je     0x43f1b6
43f14c:	de d9                	fcompp
43f14e:	bf 03 fc ff ff       	mov    $0xfffffc03,%edi
43f153:	df e0                	fnstsw %ax
43f155:	f6 c4 41             	test   $0x41,%ah
43f158:	75 05                	jne    0x43f15f
43f15a:	33 c0                	xor    %eax,%eax
43f15c:	40                   	inc    %eax
43f15d:	eb 02                	jmp    0x43f161
43f15f:	33 c0                	xor    %eax,%eax
43f161:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
43f165:	75 1f                	jne    0x43f186
43f167:	03 c9                	add    %ecx,%ecx
43f169:	89 4d 0c             	mov    %ecx,0xc(%ebp)
43f16c:	85 d2                	test   %edx,%edx
43f16e:	79 06                	jns    0x43f176
43f170:	83 c9 01             	or     $0x1,%ecx
43f173:	89 4d 0c             	mov    %ecx,0xc(%ebp)
43f176:	03 d2                	add    %edx,%edx
43f178:	4f                   	dec    %edi
43f179:	f6 45 0e 10          	testb  $0x10,0xe(%ebp)
43f17d:	74 e8                	je     0x43f167
43f17f:	66 8b 75 0e          	mov    0xe(%ebp),%si
43f183:	89 55 08             	mov    %edx,0x8(%ebp)
43f186:	b9 ef ff 00 00       	mov    $0xffef,%ecx
43f18b:	66 23 f1             	and    %cx,%si
43f18e:	66 89 75 0e          	mov    %si,0xe(%ebp)
43f192:	85 c0                	test   %eax,%eax
43f194:	74 0c                	je     0x43f1a2
43f196:	b8 00 80 00 00       	mov    $0x8000,%eax
43f19b:	66 0b f0             	or     %ax,%si
43f19e:	66 89 75 0e          	mov    %si,0xe(%ebp)
43f1a2:	dd 45 08             	fldl   0x8(%ebp)
43f1a5:	6a 00                	push   $0x0
43f1a7:	51                   	push   %ecx
43f1a8:	51                   	push   %ecx
43f1a9:	dd 1c 24             	fstpl  (%esp)
43f1ac:	e8 31 00 00 00       	call   0x43f1e2
43f1b1:	83 c4 0c             	add    $0xc,%esp
43f1b4:	eb 23                	jmp    0x43f1d9
43f1b6:	6a 00                	push   $0x0
43f1b8:	51                   	push   %ecx
43f1b9:	dd d8                	fstp   %st(0)
43f1bb:	51                   	push   %ecx
43f1bc:	dd 1c 24             	fstpl  (%esp)
43f1bf:	e8 1e 00 00 00       	call   0x43f1e2
43f1c4:	0f b7 fe             	movzwl %si,%edi
43f1c7:	83 c4 0c             	add    $0xc,%esp
43f1ca:	c1 ef 04             	shr    $0x4,%edi
43f1cd:	81 e7 ff 07 00 00    	and    $0x7ff,%edi
43f1d3:	81 ef fe 03 00 00    	sub    $0x3fe,%edi
43f1d9:	5e                   	pop    %esi
43f1da:	8b 45 10             	mov    0x10(%ebp),%eax
43f1dd:	89 38                	mov    %edi,(%eax)
43f1df:	5f                   	pop    %edi
43f1e0:	5d                   	pop    %ebp
43f1e1:	c3                   	ret
43f1e2:	8b ff                	mov    %edi,%edi
43f1e4:	55                   	push   %ebp
43f1e5:	8b ec                	mov    %esp,%ebp
43f1e7:	51                   	push   %ecx
43f1e8:	51                   	push   %ecx
43f1e9:	8b 4d 10             	mov    0x10(%ebp),%ecx
43f1ec:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
43f1f0:	dd 45 08             	fldl   0x8(%ebp)
43f1f3:	25 0f 80 00 00       	and    $0x800f,%eax
43f1f8:	dd 5d f8             	fstpl  -0x8(%ebp)
43f1fb:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
43f201:	c1 e1 04             	shl    $0x4,%ecx
43f204:	0b c8                	or     %eax,%ecx
43f206:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
43f20a:	dd 45 f8             	fldl   -0x8(%ebp)
43f20d:	8b e5                	mov    %ebp,%esp
43f20f:	5d                   	pop    %ebp
43f210:	c3                   	ret
43f211:	8b ff                	mov    %edi,%edi
43f213:	55                   	push   %ebp
43f214:	8b ec                	mov    %esp,%ebp
43f216:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
43f21d:	8b 45 08             	mov    0x8(%ebp),%eax
43f220:	75 07                	jne    0x43f229
43f222:	85 c0                	test   %eax,%eax
43f224:	75 15                	jne    0x43f23b
43f226:	40                   	inc    %eax
43f227:	5d                   	pop    %ebp
43f228:	c3                   	ret
43f229:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
43f230:	75 09                	jne    0x43f23b
43f232:	85 c0                	test   %eax,%eax
43f234:	75 05                	jne    0x43f23b
43f236:	6a 02                	push   $0x2
43f238:	58                   	pop    %eax
43f239:	5d                   	pop    %ebp
43f23a:	c3                   	ret
43f23b:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
43f23f:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
43f244:	66 23 ca             	and    %dx,%cx
43f247:	66 3b ca             	cmp    %dx,%cx
43f24a:	75 04                	jne    0x43f250
43f24c:	6a 03                	push   $0x3
43f24e:	eb e8                	jmp    0x43f238
43f250:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
43f255:	66 3b ca             	cmp    %dx,%cx
43f258:	75 11                	jne    0x43f26b
43f25a:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
43f261:	75 04                	jne    0x43f267
43f263:	85 c0                	test   %eax,%eax
43f265:	74 04                	je     0x43f26b
43f267:	6a 04                	push   $0x4
43f269:	eb cd                	jmp    0x43f238
43f26b:	33 c0                	xor    %eax,%eax
43f26d:	5d                   	pop    %ebp
43f26e:	c3                   	ret
43f26f:	33 c0                	xor    %eax,%eax
43f271:	50                   	push   %eax
43f272:	50                   	push   %eax
43f273:	6a 03                	push   $0x3
43f275:	50                   	push   %eax