489fe2:	33 db                	xor    %ebx,%ebx
489fe4:	43                   	inc    %ebx
489fe5:	89 48 04             	mov    %ecx,0x4(%eax)
489fe8:	8b 45 08             	mov    0x8(%ebp),%eax
489feb:	57                   	push   %edi
489fec:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
489ff1:	89 48 08             	mov    %ecx,0x8(%eax)
489ff4:	8b 45 08             	mov    0x8(%ebp),%eax
489ff7:	89 48 0c             	mov    %ecx,0xc(%eax)
489ffa:	8b 4d 10             	mov    0x10(%ebp),%ecx
489ffd:	f6 c1 10             	test   $0x10,%cl
48a000:	74 0b                	je     0x48a00d
48a002:	8b 45 08             	mov    0x8(%ebp),%eax
48a005:	bf 8f 00 00 c0       	mov    $0xc000008f,%edi
48a00a:	09 58 04             	or     %ebx,0x4(%eax)
48a00d:	f6 c1 02             	test   $0x2,%cl
48a010:	74 0c                	je     0x48a01e
48a012:	8b 45 08             	mov    0x8(%ebp),%eax
48a015:	bf 93 00 00 c0       	mov    $0xc0000093,%edi
48a01a:	83 48 04 02          	orl    $0x2,0x4(%eax)
48a01e:	f6 c1 01             	test   $0x1,%cl
48a021:	74 0c                	je     0x48a02f
48a023:	8b 45 08             	mov    0x8(%ebp),%eax
48a026:	bf 91 00 00 c0       	mov    $0xc0000091,%edi
48a02b:	83 48 04 04          	orl    $0x4,0x4(%eax)
48a02f:	f6 c1 04             	test   $0x4,%cl
48a032:	74 0c                	je     0x48a040
48a034:	8b 45 08             	mov    0x8(%ebp),%eax
48a037:	bf 8e 00 00 c0       	mov    $0xc000008e,%edi
48a03c:	83 48 04 08          	orl    $0x8,0x4(%eax)
48a040:	f6 c1 08             	test   $0x8,%cl
48a043:	74 0c                	je     0x48a051
48a045:	8b 45 08             	mov    0x8(%ebp),%eax
48a048:	bf 90 00 00 c0       	mov    $0xc0000090,%edi
48a04d:	83 48 04 10          	orl    $0x10,0x4(%eax)
48a051:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a054:	56                   	push   %esi
48a055:	8b 75 0c             	mov    0xc(%ebp),%esi
48a058:	8b 06                	mov    (%esi),%eax
48a05a:	c1 e0 04             	shl    $0x4,%eax
48a05d:	f7 d0                	not    %eax
48a05f:	33 41 08             	xor    0x8(%ecx),%eax
48a062:	83 e0 10             	and    $0x10,%eax
48a065:	31 41 08             	xor    %eax,0x8(%ecx)
48a068:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a06b:	8b 06                	mov    (%esi),%eax
48a06d:	03 c0                	add    %eax,%eax
48a06f:	f7 d0                	not    %eax
48a071:	33 41 08             	xor    0x8(%ecx),%eax
48a074:	83 e0 08             	and    $0x8,%eax
48a077:	31 41 08             	xor    %eax,0x8(%ecx)
48a07a:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a07d:	8b 06                	mov    (%esi),%eax
48a07f:	d1 e8                	shr    $1,%eax
48a081:	f7 d0                	not    %eax
48a083:	33 41 08             	xor    0x8(%ecx),%eax
48a086:	83 e0 04             	and    $0x4,%eax
48a089:	31 41 08             	xor    %eax,0x8(%ecx)
48a08c:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a08f:	8b 06                	mov    (%esi),%eax
48a091:	c1 e8 03             	shr    $0x3,%eax
48a094:	f7 d0                	not    %eax
48a096:	33 41 08             	xor    0x8(%ecx),%eax
48a099:	83 e0 02             	and    $0x2,%eax
48a09c:	31 41 08             	xor    %eax,0x8(%ecx)
48a09f:	8b 06                	mov    (%esi),%eax
48a0a1:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a0a4:	c1 e8 05             	shr    $0x5,%eax
48a0a7:	f7 d0                	not    %eax
48a0a9:	33 41 08             	xor    0x8(%ecx),%eax
48a0ac:	23 c3                	and    %ebx,%eax
48a0ae:	31 41 08             	xor    %eax,0x8(%ecx)
48a0b1:	e8 f7 03 00 00       	call   0x48a4ad
48a0b6:	8b d0                	mov    %eax,%edx
48a0b8:	f6 c2 01             	test   $0x1,%dl
48a0bb:	74 07                	je     0x48a0c4
48a0bd:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a0c0:	83 49 0c 10          	orl    $0x10,0xc(%ecx)
48a0c4:	f6 c2 04             	test   $0x4,%dl
48a0c7:	74 07                	je     0x48a0d0
48a0c9:	8b 45 08             	mov    0x8(%ebp),%eax
48a0cc:	83 48 0c 08          	orl    $0x8,0xc(%eax)
48a0d0:	f6 c2 08             	test   $0x8,%dl
48a0d3:	74 07                	je     0x48a0dc
48a0d5:	8b 45 08             	mov    0x8(%ebp),%eax
48a0d8:	83 48 0c 04          	orl    $0x4,0xc(%eax)
48a0dc:	f6 c2 10             	test   $0x10,%dl
48a0df:	74 07                	je     0x48a0e8
48a0e1:	8b 45 08             	mov    0x8(%ebp),%eax
48a0e4:	83 48 0c 02          	orl    $0x2,0xc(%eax)
48a0e8:	f6 c2 20             	test   $0x20,%dl
48a0eb:	74 06                	je     0x48a0f3
48a0ed:	8b 45 08             	mov    0x8(%ebp),%eax
48a0f0:	09 58 0c             	or     %ebx,0xc(%eax)
48a0f3:	8b 06                	mov    (%esi),%eax
48a0f5:	b9 00 0c 00 00       	mov    $0xc00,%ecx
48a0fa:	23 c1                	and    %ecx,%eax
48a0fc:	74 35                	je     0x48a133
48a0fe:	3d 00 04 00 00       	cmp    $0x400,%eax
48a103:	74 22                	je     0x48a127
48a105:	3d 00 08 00 00       	cmp    $0x800,%eax
48a10a:	74 0c                	je     0x48a118
48a10c:	3b c1                	cmp    %ecx,%eax
48a10e:	75 29                	jne    0x48a139
48a110:	8b 45 08             	mov    0x8(%ebp),%eax
48a113:	83 08 03             	orl    $0x3,(%eax)
48a116:	eb 21                	jmp    0x48a139
48a118:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a11b:	8b 01                	mov    (%ecx),%eax
48a11d:	83 e0 fe             	and    $0xfffffffe,%eax
48a120:	83 c8 02             	or     $0x2,%eax
48a123:	89 01                	mov    %eax,(%ecx)
48a125:	eb 12                	jmp    0x48a139
48a127:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a12a:	8b 01                	mov    (%ecx),%eax
48a12c:	83 e0 fd             	and    $0xfffffffd,%eax
48a12f:	0b c3                	or     %ebx,%eax
48a131:	eb f0                	jmp    0x48a123
48a133:	8b 45 08             	mov    0x8(%ebp),%eax
48a136:	83 20 fc             	andl   $0xfffffffc,(%eax)
48a139:	8b 06                	mov    (%esi),%eax
48a13b:	b9 00 03 00 00       	mov    $0x300,%ecx
48a140:	23 c1                	and    %ecx,%eax
48a142:	74 20                	je     0x48a164
48a144:	3d 00 02 00 00       	cmp    $0x200,%eax
48a149:	74 0c                	je     0x48a157
48a14b:	3b c1                	cmp    %ecx,%eax
48a14d:	75 22                	jne    0x48a171
48a14f:	8b 45 08             	mov    0x8(%ebp),%eax
48a152:	83 20 e3             	andl   $0xffffffe3,(%eax)
48a155:	eb 1a                	jmp    0x48a171
48a157:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a15a:	8b 01                	mov    (%ecx),%eax
48a15c:	83 e0 e7             	and    $0xffffffe7,%eax
48a15f:	83 c8 04             	or     $0x4,%eax
48a162:	eb 0b                	jmp    0x48a16f
48a164:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a167:	8b 01                	mov    (%ecx),%eax
48a169:	83 e0 eb             	and    $0xffffffeb,%eax
48a16c:	83 c8 08             	or     $0x8,%eax
48a16f:	89 01                	mov    %eax,(%ecx)
48a171:	8b 45 08             	mov    0x8(%ebp),%eax
48a174:	8b 4d 14             	mov    0x14(%ebp),%ecx
48a177:	c1 e1 05             	shl    $0x5,%ecx
48a17a:	33 08                	xor    (%eax),%ecx
48a17c:	81 e1 e0 ff 01 00    	and    $0x1ffe0,%ecx
48a182:	31 08                	xor    %ecx,(%eax)
48a184:	8b 45 08             	mov    0x8(%ebp),%eax
48a187:	09 58 20             	or     %ebx,0x20(%eax)
48a18a:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
48a18e:	74 2c                	je     0x48a1bc
48a190:	8b 45 08             	mov    0x8(%ebp),%eax
48a193:	83 60 20 e1          	andl   $0xffffffe1,0x20(%eax)
48a197:	8b 45 18             	mov    0x18(%ebp),%eax
48a19a:	d9 00                	flds   (%eax)
48a19c:	8b 45 08             	mov    0x8(%ebp),%eax
48a19f:	d9 58 10             	fstps  0x10(%eax)
48a1a2:	8b 45 08             	mov    0x8(%ebp),%eax
48a1a5:	09 58 60             	or     %ebx,0x60(%eax)
48a1a8:	8b 45 08             	mov    0x8(%ebp),%eax
48a1ab:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
48a1ae:	83 60 60 e1          	andl   $0xffffffe1,0x60(%eax)
48a1b2:	8b 45 08             	mov    0x8(%ebp),%eax
48a1b5:	d9 03                	flds   (%ebx)
48a1b7:	d9 58 50             	fstps  0x50(%eax)
48a1ba:	eb 3a                	jmp    0x48a1f6
48a1bc:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a1bf:	8b 41 20             	mov    0x20(%ecx),%eax
48a1c2:	83 e0 e3             	and    $0xffffffe3,%eax
48a1c5:	83 c8 02             	or     $0x2,%eax
48a1c8:	89 41 20             	mov    %eax,0x20(%ecx)
48a1cb:	8b 45 18             	mov    0x18(%ebp),%eax
48a1ce:	dd 00                	fldl   (%eax)
48a1d0:	8b 45 08             	mov    0x8(%ebp),%eax
48a1d3:	dd 58 10             	fstpl  0x10(%eax)
48a1d6:	8b 45 08             	mov    0x8(%ebp),%eax
48a1d9:	09 58 60             	or     %ebx,0x60(%eax)
48a1dc:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a1df:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
48a1e2:	8b 41 60             	mov    0x60(%ecx),%eax
48a1e5:	83 e0 e3             	and    $0xffffffe3,%eax
48a1e8:	83 c8 02             	or     $0x2,%eax
48a1eb:	89 41 60             	mov    %eax,0x60(%ecx)
48a1ee:	8b 45 08             	mov    0x8(%ebp),%eax
48a1f1:	dd 03                	fldl   (%ebx)
48a1f3:	dd 58 50             	fstpl  0x50(%eax)
48a1f6:	e8 1e 02 00 00       	call   0x48a419
48a1fb:	8d 45 08             	lea    0x8(%ebp),%eax
48a1fe:	50                   	push   %eax
48a1ff:	6a 01                	push   $0x1
48a201:	6a 00                	push   $0x0
48a203:	57                   	push   %edi
48a204:	ff 15 34 e2 49 00    	call   *0x49e234
48a20a:	8b 4d 08             	mov    0x8(%ebp),%ecx
48a20d:	f6 41 08 10          	testb  $0x10,0x8(%ecx)
48a211:	74 03                	je     0x48a216
48a213:	83 26 fe             	andl   $0xfffffffe,(%esi)
48a216:	f6 41 08 08          	testb  $0x8,0x8(%ecx)
48a21a:	74 03                	je     0x48a21f
48a21c:	83 26 fb             	andl   $0xfffffffb,(%esi)
48a21f:	f6 41 08 04          	testb  $0x4,0x8(%ecx)
48a223:	74 03                	je     0x48a228
48a225:	83 26 f7             	andl   $0xfffffff7,(%esi)
48a228:	f6 41 08 02          	testb  $0x2,0x8(%ecx)
48a22c:	74 03                	je     0x48a231
48a22e:	83 26 ef             	andl   $0xffffffef,(%esi)
48a231:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
48a235:	74 03                	je     0x48a23a
48a237:	83 26 df             	andl   $0xffffffdf,(%esi)
48a23a:	8b 01                	mov    (%ecx),%eax
48a23c:	ba ff f3 ff ff       	mov    $0xfffff3ff,%edx
48a241:	83 e0 03             	and    $0x3,%eax
48a244:	83 e8 00             	sub    $0x0,%eax
48a247:	74 35                	je     0x48a27e
48a249:	83 e8 01             	sub    $0x1,%eax
48a24c:	74 22                	je     0x48a270
48a24e:	83 e8 01             	sub    $0x1,%eax
48a251:	74 0d                	je     0x48a260
48a253:	83 e8 01             	sub    $0x1,%eax
48a256:	75 28                	jne    0x48a280
48a258:	81 0e 00 0c 00 00    	orl    $0xc00,(%esi)
48a25e:	eb 20                	jmp    0x48a280
48a260:	8b 06                	mov    (%esi),%eax
48a262:	25 ff fb ff ff       	and    $0xfffffbff,%eax
48a267:	0d 00 08 00 00       	or     $0x800,%eax
48a26c:	89 06                	mov    %eax,(%esi)
48a26e:	eb 10                	jmp    0x48a280
48a270:	8b 06                	mov    (%esi),%eax
48a272:	25 ff f7 ff ff       	and    $0xfffff7ff,%eax
48a277:	0d 00 04 00 00       	or     $0x400,%eax
48a27c:	eb ee                	jmp    0x48a26c
48a27e:	21 16                	and    %edx,(%esi)
48a280:	8b 01                	mov    (%ecx),%eax
48a282:	c1 e8 02             	shr    $0x2,%eax
48a285:	83 e0 07             	and    $0x7,%eax
48a288:	83 e8 00             	sub    $0x0,%eax
48a28b:	74 19                	je     0x48a2a6
48a28d:	83 e8 01             	sub    $0x1,%eax
48a290:	74 09                	je     0x48a29b
48a292:	83 e8 01             	sub    $0x1,%eax
48a295:	75 1a                	jne    0x48a2b1
48a297:	21 16                	and    %edx,(%esi)
48a299:	eb 16                	jmp    0x48a2b1
48a29b:	8b 06                	mov    (%esi),%eax
48a29d:	23 c2                	and    %edx,%eax
48a29f:	0d 00 02 00 00       	or     $0x200,%eax
48a2a4:	eb 09                	jmp    0x48a2af
48a2a6:	8b 06                	mov    (%esi),%eax
48a2a8:	23 c2                	and    %edx,%eax
48a2aa:	0d 00 03 00 00       	or     $0x300,%eax
48a2af:	89 06                	mov    %eax,(%esi)
48a2b1:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
48a2b5:	5e                   	pop    %esi
48a2b6:	74 07                	je     0x48a2bf
48a2b8:	d9 41 50             	flds   0x50(%ecx)
48a2bb:	d9 1b                	fstps  (%ebx)
48a2bd:	eb 05                	jmp    0x48a2c4
48a2bf:	dd 41 50             	fldl   0x50(%ecx)
48a2c2:	dd 1b                	fstpl  (%ebx)
48a2c4:	5f                   	pop    %edi
48a2c5:	5b                   	pop    %ebx
48a2c6:	5d                   	pop    %ebp
48a2c7:	c3                   	ret
48a2c8:	8b ff                	mov    %edi,%edi
48a2ca:	55                   	push   %ebp
48a2cb:	8b ec                	mov    %esp,%ebp
48a2cd:	8b 45 08             	mov    0x8(%ebp),%eax
48a2d0:	83 e8 01             	sub    $0x1,%eax
48a2d3:	74 17                	je     0x48a2ec
48a2d5:	83 e8 01             	sub    $0x1,%eax
48a2d8:	74 05                	je     0x48a2df
48a2da:	83 e8 01             	sub    $0x1,%eax
48a2dd:	75 18                	jne    0x48a2f7
48a2df:	e8 51 fc fe ff       	call   0x479f35
48a2e4:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
48a2ea:	5d                   	pop    %ebp
48a2eb:	c3                   	ret
48a2ec:	e8 44 fc fe ff       	call   0x479f35
48a2f1:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
48a2f7:	5d                   	pop    %ebp
48a2f8:	c3                   	ret
48a2f9:	8b ff                	mov    %edi,%edi
48a2fb:	55                   	push   %ebp
48a2fc:	8b ec                	mov    %esp,%ebp
48a2fe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48a301:	83 ec 20             	sub    $0x20,%esp
48a304:	33 c0                	xor    %eax,%eax
48a306:	39 0c c5 28 3f 4a 00 	cmp    %ecx,0x4a3f28(,%eax,8)
48a30d:	74 27                	je     0x48a336
48a30f:	40                   	inc    %eax
48a310:	83 f8 1d             	cmp    $0x1d,%eax
48a313:	7c f1                	jl     0x48a306
48a315:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
48a319:	68 ff ff 00 00       	push   $0xffff
48a31e:	ff 75 28             	push   0x28(%ebp)
48a321:	e8 04 01 00 00       	call   0x48a42a
48a326:	ff 75 08             	push   0x8(%ebp)
48a329:	e8 9a ff ff ff       	call   0x48a2c8
48a32e:	dd 45 20             	fldl   0x20(%ebp)
48a331:	83 c4 0c             	add    $0xc,%esp
48a334:	c9                   	leave
48a335:	c3                   	ret
48a336:	8b 04 c5 2c 3f 4a 00 	mov    0x4a3f2c(,%eax,8),%eax
48a33d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
48a340:	85 c0                	test   %eax,%eax
48a342:	74 d5                	je     0x48a319
48a344:	8b 45 10             	mov    0x10(%ebp),%eax
48a347:	89 45 e8             	mov    %eax,-0x18(%ebp)
48a34a:	8b 45 14             	mov    0x14(%ebp),%eax
48a34d:	89 45 ec             	mov    %eax,-0x14(%ebp)
48a350:	8b 45 18             	mov    0x18(%ebp),%eax
48a353:	89 45 f0             	mov    %eax,-0x10(%ebp)
48a356:	8b 45 1c             	mov    0x1c(%ebp),%eax
48a359:	56                   	push   %esi
48a35a:	8b 75 08             	mov    0x8(%ebp),%esi
48a35d:	89 45 f4             	mov    %eax,-0xc(%ebp)
48a360:	8b 45 20             	mov    0x20(%ebp),%eax
48a363:	68 ff ff 00 00       	push   $0xffff
48a368:	ff 75 28             	push   0x28(%ebp)
48a36b:	89 45 f8             	mov    %eax,-0x8(%ebp)
48a36e:	8b 45 24             	mov    0x24(%ebp),%eax
48a371:	89 75 e0             	mov    %esi,-0x20(%ebp)
48a374:	89 45 fc             	mov    %eax,-0x4(%ebp)
48a377:	e8 ae 00 00 00       	call   0x48a42a
48a37c:	8d 45 e0             	lea    -0x20(%ebp),%eax
48a37f:	50                   	push   %eax
48a380:	e8 fb 8a ff ff       	call   0x482e80
48a385:	83 c4 0c             	add    $0xc,%esp
48a388:	85 c0                	test   %eax,%eax
48a38a:	75 07                	jne    0x48a393
48a38c:	56                   	push   %esi
48a38d:	e8 36 ff ff ff       	call   0x48a2c8
48a392:	59                   	pop    %ecx
48a393:	dd 45 f8             	fldl   -0x8(%ebp)
48a396:	5e                   	pop    %esi
48a397:	c9                   	leave
48a398:	c3                   	ret
48a399:	6a 08                	push   $0x8
48a39b:	68 90 1a 4c 00       	push   $0x4c1a90
48a3a0:	e8 9b 03 fe ff       	call   0x46a740
48a3a5:	83 3d fc 82 4c 00 01 	cmpl   $0x1,0x4c82fc
48a3ac:	7c 5b                	jl     0x48a409
48a3ae:	8b 45 08             	mov    0x8(%ebp),%eax
48a3b1:	a8 40                	test   $0x40,%al
48a3b3:	74 4a                	je     0x48a3ff
48a3b5:	83 3d d0 43 4c 00 00 	cmpl   $0x0,0x4c43d0
48a3bc:	74 41                	je     0x48a3ff
48a3be:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
48a3c2:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
48a3c6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)