41d13a:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
41d13f:	89 48 08             	mov    %ecx,0x8(%eax)
41d142:	8b 45 08             	mov    0x8(%ebp),%eax
41d145:	89 48 0c             	mov    %ecx,0xc(%eax)
41d148:	8b 4d 10             	mov    0x10(%ebp),%ecx
41d14b:	f6 c1 10             	test   $0x10,%cl
41d14e:	74 0b                	je     0x41d15b
41d150:	8b 45 08             	mov    0x8(%ebp),%eax
41d153:	bf 8f 00 00 c0       	mov    $0xc000008f,%edi
41d158:	09 58 04             	or     %ebx,0x4(%eax)
41d15b:	f6 c1 02             	test   $0x2,%cl
41d15e:	74 0c                	je     0x41d16c
41d160:	8b 45 08             	mov    0x8(%ebp),%eax
41d163:	bf 93 00 00 c0       	mov    $0xc0000093,%edi
41d168:	83 48 04 02          	orl    $0x2,0x4(%eax)
41d16c:	f6 c1 01             	test   $0x1,%cl
41d16f:	74 0c                	je     0x41d17d
41d171:	8b 45 08             	mov    0x8(%ebp),%eax
41d174:	bf 91 00 00 c0       	mov    $0xc0000091,%edi
41d179:	83 48 04 04          	orl    $0x4,0x4(%eax)
41d17d:	f6 c1 04             	test   $0x4,%cl
41d180:	74 0c                	je     0x41d18e
41d182:	8b 45 08             	mov    0x8(%ebp),%eax
41d185:	bf 8e 00 00 c0       	mov    $0xc000008e,%edi
41d18a:	83 48 04 08          	orl    $0x8,0x4(%eax)
41d18e:	f6 c1 08             	test   $0x8,%cl
41d191:	74 0c                	je     0x41d19f
41d193:	8b 45 08             	mov    0x8(%ebp),%eax
41d196:	bf 90 00 00 c0       	mov    $0xc0000090,%edi
41d19b:	83 48 04 10          	orl    $0x10,0x4(%eax)
41d19f:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1a2:	56                   	push   %esi
41d1a3:	8b 75 0c             	mov    0xc(%ebp),%esi
41d1a6:	8b 06                	mov    (%esi),%eax
41d1a8:	c1 e0 04             	shl    $0x4,%eax
41d1ab:	f7 d0                	not    %eax
41d1ad:	33 41 08             	xor    0x8(%ecx),%eax
41d1b0:	83 e0 10             	and    $0x10,%eax
41d1b3:	31 41 08             	xor    %eax,0x8(%ecx)
41d1b6:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1b9:	8b 06                	mov    (%esi),%eax
41d1bb:	03 c0                	add    %eax,%eax
41d1bd:	f7 d0                	not    %eax
41d1bf:	33 41 08             	xor    0x8(%ecx),%eax
41d1c2:	83 e0 08             	and    $0x8,%eax
41d1c5:	31 41 08             	xor    %eax,0x8(%ecx)
41d1c8:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1cb:	8b 06                	mov    (%esi),%eax
41d1cd:	d1 e8                	shr    $1,%eax
41d1cf:	f7 d0                	not    %eax
41d1d1:	33 41 08             	xor    0x8(%ecx),%eax
41d1d4:	83 e0 04             	and    $0x4,%eax
41d1d7:	31 41 08             	xor    %eax,0x8(%ecx)
41d1da:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1dd:	8b 06                	mov    (%esi),%eax
41d1df:	c1 e8 03             	shr    $0x3,%eax
41d1e2:	f7 d0                	not    %eax
41d1e4:	33 41 08             	xor    0x8(%ecx),%eax
41d1e7:	83 e0 02             	and    $0x2,%eax
41d1ea:	31 41 08             	xor    %eax,0x8(%ecx)
41d1ed:	8b 06                	mov    (%esi),%eax
41d1ef:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d1f2:	c1 e8 05             	shr    $0x5,%eax
41d1f5:	f7 d0                	not    %eax
41d1f7:	33 41 08             	xor    0x8(%ecx),%eax
41d1fa:	23 c3                	and    %ebx,%eax
41d1fc:	31 41 08             	xor    %eax,0x8(%ecx)
41d1ff:	e8 54 05 00 00       	call   0x41d758
41d204:	8b d0                	mov    %eax,%edx
41d206:	f6 c2 01             	test   $0x1,%dl
41d209:	74 07                	je     0x41d212
41d20b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d20e:	83 49 0c 10          	orl    $0x10,0xc(%ecx)
41d212:	f6 c2 04             	test   $0x4,%dl
41d215:	74 07                	je     0x41d21e
41d217:	8b 45 08             	mov    0x8(%ebp),%eax
41d21a:	83 48 0c 08          	orl    $0x8,0xc(%eax)
41d21e:	f6 c2 08             	test   $0x8,%dl
41d221:	74 07                	je     0x41d22a
41d223:	8b 45 08             	mov    0x8(%ebp),%eax
41d226:	83 48 0c 04          	orl    $0x4,0xc(%eax)
41d22a:	f6 c2 10             	test   $0x10,%dl
41d22d:	74 07                	je     0x41d236
41d22f:	8b 45 08             	mov    0x8(%ebp),%eax
41d232:	83 48 0c 02          	orl    $0x2,0xc(%eax)
41d236:	f6 c2 20             	test   $0x20,%dl
41d239:	74 06                	je     0x41d241
41d23b:	8b 45 08             	mov    0x8(%ebp),%eax
41d23e:	09 58 0c             	or     %ebx,0xc(%eax)
41d241:	8b 06                	mov    (%esi),%eax
41d243:	b9 00 0c 00 00       	mov    $0xc00,%ecx
41d248:	23 c1                	and    %ecx,%eax
41d24a:	74 35                	je     0x41d281
41d24c:	3d 00 04 00 00       	cmp    $0x400,%eax
41d251:	74 22                	je     0x41d275
41d253:	3d 00 08 00 00       	cmp    $0x800,%eax
41d258:	74 0c                	je     0x41d266
41d25a:	3b c1                	cmp    %ecx,%eax
41d25c:	75 29                	jne    0x41d287
41d25e:	8b 45 08             	mov    0x8(%ebp),%eax
41d261:	83 08 03             	orl    $0x3,(%eax)
41d264:	eb 21                	jmp    0x41d287
41d266:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d269:	8b 01                	mov    (%ecx),%eax
41d26b:	83 e0 fe             	and    $0xfffffffe,%eax
41d26e:	83 c8 02             	or     $0x2,%eax
41d271:	89 01                	mov    %eax,(%ecx)
41d273:	eb 12                	jmp    0x41d287
41d275:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d278:	8b 01                	mov    (%ecx),%eax
41d27a:	83 e0 fd             	and    $0xfffffffd,%eax
41d27d:	0b c3                	or     %ebx,%eax
41d27f:	eb f0                	jmp    0x41d271
41d281:	8b 45 08             	mov    0x8(%ebp),%eax
41d284:	83 20 fc             	andl   $0xfffffffc,(%eax)
41d287:	8b 06                	mov    (%esi),%eax
41d289:	b9 00 03 00 00       	mov    $0x300,%ecx
41d28e:	23 c1                	and    %ecx,%eax
41d290:	74 20                	je     0x41d2b2
41d292:	3d 00 02 00 00       	cmp    $0x200,%eax
41d297:	74 0c                	je     0x41d2a5
41d299:	3b c1                	cmp    %ecx,%eax
41d29b:	75 22                	jne    0x41d2bf
41d29d:	8b 45 08             	mov    0x8(%ebp),%eax
41d2a0:	83 20 e3             	andl   $0xffffffe3,(%eax)
41d2a3:	eb 1a                	jmp    0x41d2bf
41d2a5:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d2a8:	8b 01                	mov    (%ecx),%eax
41d2aa:	83 e0 e7             	and    $0xffffffe7,%eax
41d2ad:	83 c8 04             	or     $0x4,%eax
41d2b0:	eb 0b                	jmp    0x41d2bd
41d2b2:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d2b5:	8b 01                	mov    (%ecx),%eax
41d2b7:	83 e0 eb             	and    $0xffffffeb,%eax
41d2ba:	83 c8 08             	or     $0x8,%eax
41d2bd:	89 01                	mov    %eax,(%ecx)
41d2bf:	8b 45 08             	mov    0x8(%ebp),%eax
41d2c2:	8b 4d 14             	mov    0x14(%ebp),%ecx
41d2c5:	c1 e1 05             	shl    $0x5,%ecx
41d2c8:	33 08                	xor    (%eax),%ecx
41d2ca:	81 e1 e0 ff 01 00    	and    $0x1ffe0,%ecx
41d2d0:	31 08                	xor    %ecx,(%eax)
41d2d2:	8b 45 08             	mov    0x8(%ebp),%eax
41d2d5:	09 58 20             	or     %ebx,0x20(%eax)
41d2d8:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
41d2dc:	74 2c                	je     0x41d30a
41d2de:	8b 45 08             	mov    0x8(%ebp),%eax
41d2e1:	83 60 20 e1          	andl   $0xffffffe1,0x20(%eax)
41d2e5:	8b 45 18             	mov    0x18(%ebp),%eax
41d2e8:	d9 00                	flds   (%eax)
41d2ea:	8b 45 08             	mov    0x8(%ebp),%eax
41d2ed:	d9 58 10             	fstps  0x10(%eax)
41d2f0:	8b 45 08             	mov    0x8(%ebp),%eax
41d2f3:	09 58 60             	or     %ebx,0x60(%eax)
41d2f6:	8b 45 08             	mov    0x8(%ebp),%eax
41d2f9:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
41d2fc:	83 60 60 e1          	andl   $0xffffffe1,0x60(%eax)
41d300:	8b 45 08             	mov    0x8(%ebp),%eax
41d303:	d9 03                	flds   (%ebx)
41d305:	d9 58 50             	fstps  0x50(%eax)
41d308:	eb 3a                	jmp    0x41d344
41d30a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d30d:	8b 41 20             	mov    0x20(%ecx),%eax
41d310:	83 e0 e3             	and    $0xffffffe3,%eax
41d313:	83 c8 02             	or     $0x2,%eax
41d316:	89 41 20             	mov    %eax,0x20(%ecx)
41d319:	8b 45 18             	mov    0x18(%ebp),%eax
41d31c:	dd 00                	fldl   (%eax)
41d31e:	8b 45 08             	mov    0x8(%ebp),%eax
41d321:	dd 58 10             	fstpl  0x10(%eax)
41d324:	8b 45 08             	mov    0x8(%ebp),%eax
41d327:	09 58 60             	or     %ebx,0x60(%eax)
41d32a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d32d:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
41d330:	8b 41 60             	mov    0x60(%ecx),%eax
41d333:	83 e0 e3             	and    $0xffffffe3,%eax
41d336:	83 c8 02             	or     $0x2,%eax
41d339:	89 41 60             	mov    %eax,0x60(%ecx)
41d33c:	8b 45 08             	mov    0x8(%ebp),%eax
41d33f:	dd 03                	fldl   (%ebx)
41d341:	dd 58 50             	fstpl  0x50(%eax)
41d344:	e8 75 03 00 00       	call   0x41d6be
41d349:	8d 45 08             	lea    0x8(%ebp),%eax
41d34c:	50                   	push   %eax
41d34d:	6a 01                	push   $0x1
41d34f:	6a 00                	push   $0x0
41d351:	57                   	push   %edi
41d352:	ff 15 bc 71 42 00    	call   *0x4271bc
41d358:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d35b:	f6 41 08 10          	testb  $0x10,0x8(%ecx)
41d35f:	74 03                	je     0x41d364
41d361:	83 26 fe             	andl   $0xfffffffe,(%esi)
41d364:	f6 41 08 08          	testb  $0x8,0x8(%ecx)
41d368:	74 03                	je     0x41d36d
41d36a:	83 26 fb             	andl   $0xfffffffb,(%esi)
41d36d:	f6 41 08 04          	testb  $0x4,0x8(%ecx)
41d371:	74 03                	je     0x41d376
41d373:	83 26 f7             	andl   $0xfffffff7,(%esi)
41d376:	f6 41 08 02          	testb  $0x2,0x8(%ecx)
41d37a:	74 03                	je     0x41d37f
41d37c:	83 26 ef             	andl   $0xffffffef,(%esi)
41d37f:	f6 41 08 01          	testb  $0x1,0x8(%ecx)
41d383:	74 03                	je     0x41d388
41d385:	83 26 df             	andl   $0xffffffdf,(%esi)
41d388:	8b 01                	mov    (%ecx),%eax
41d38a:	ba ff f3 ff ff       	mov    $0xfffff3ff,%edx
41d38f:	83 e0 03             	and    $0x3,%eax
41d392:	83 e8 00             	sub    $0x0,%eax
41d395:	74 35                	je     0x41d3cc
41d397:	83 e8 01             	sub    $0x1,%eax
41d39a:	74 22                	je     0x41d3be
41d39c:	83 e8 01             	sub    $0x1,%eax
41d39f:	74 0d                	je     0x41d3ae
41d3a1:	83 e8 01             	sub    $0x1,%eax
41d3a4:	75 28                	jne    0x41d3ce
41d3a6:	81 0e 00 0c 00 00    	orl    $0xc00,(%esi)
41d3ac:	eb 20                	jmp    0x41d3ce
41d3ae:	8b 06                	mov    (%esi),%eax
41d3b0:	25 ff fb ff ff       	and    $0xfffffbff,%eax
41d3b5:	0d 00 08 00 00       	or     $0x800,%eax
41d3ba:	89 06                	mov    %eax,(%esi)
41d3bc:	eb 10                	jmp    0x41d3ce
41d3be:	8b 06                	mov    (%esi),%eax
41d3c0:	25 ff f7 ff ff       	and    $0xfffff7ff,%eax
41d3c5:	0d 00 04 00 00       	or     $0x400,%eax
41d3ca:	eb ee                	jmp    0x41d3ba
41d3cc:	21 16                	and    %edx,(%esi)
41d3ce:	8b 01                	mov    (%ecx),%eax
41d3d0:	c1 e8 02             	shr    $0x2,%eax
41d3d3:	83 e0 07             	and    $0x7,%eax
41d3d6:	83 e8 00             	sub    $0x0,%eax
41d3d9:	74 19                	je     0x41d3f4
41d3db:	83 e8 01             	sub    $0x1,%eax
41d3de:	74 09                	je     0x41d3e9
41d3e0:	83 e8 01             	sub    $0x1,%eax
41d3e3:	75 1a                	jne    0x41d3ff
41d3e5:	21 16                	and    %edx,(%esi)
41d3e7:	eb 16                	jmp    0x41d3ff
41d3e9:	8b 06                	mov    (%esi),%eax
41d3eb:	23 c2                	and    %edx,%eax
41d3ed:	0d 00 02 00 00       	or     $0x200,%eax
41d3f2:	eb 09                	jmp    0x41d3fd
41d3f4:	8b 06                	mov    (%esi),%eax
41d3f6:	23 c2                	and    %edx,%eax
41d3f8:	0d 00 03 00 00       	or     $0x300,%eax
41d3fd:	89 06                	mov    %eax,(%esi)
41d3ff:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
41d403:	5e                   	pop    %esi
41d404:	74 07                	je     0x41d40d
41d406:	d9 41 50             	flds   0x50(%ecx)
41d409:	d9 1b                	fstps  (%ebx)
41d40b:	eb 05                	jmp    0x41d412
41d40d:	dd 41 50             	fldl   0x50(%ecx)
41d410:	dd 1b                	fstpl  (%ebx)
41d412:	5f                   	pop    %edi
41d413:	5b                   	pop    %ebx
41d414:	5d                   	pop    %ebp
41d415:	c3                   	ret
41d416:	8b ff                	mov    %edi,%edi
41d418:	55                   	push   %ebp
41d419:	8b ec                	mov    %esp,%ebp
41d41b:	8b 45 08             	mov    0x8(%ebp),%eax
41d41e:	83 f8 01             	cmp    $0x1,%eax
41d421:	74 15                	je     0x41d438
41d423:	83 c0 fe             	add    $0xfffffffe,%eax
41d426:	83 f8 01             	cmp    $0x1,%eax
41d429:	77 18                	ja     0x41d443
41d42b:	e8 3b 76 ff ff       	call   0x414a6b
41d430:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
41d436:	5d                   	pop    %ebp
41d437:	c3                   	ret
41d438:	e8 2e 76 ff ff       	call   0x414a6b
41d43d:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
41d443:	5d                   	pop    %ebp
41d444:	c3                   	ret
41d445:	8b ff                	mov    %edi,%edi
41d447:	55                   	push   %ebp
41d448:	8b ec                	mov    %esp,%ebp
41d44a:	8b 55 0c             	mov    0xc(%ebp),%edx
41d44d:	83 ec 20             	sub    $0x20,%esp
41d450:	33 c9                	xor    %ecx,%ecx
41d452:	8b c1                	mov    %ecx,%eax
41d454:	39 14 c5 c8 d6 42 00 	cmp    %edx,0x42d6c8(,%eax,8)
41d45b:	74 08                	je     0x41d465
41d45d:	40                   	inc    %eax
41d45e:	83 f8 1d             	cmp    $0x1d,%eax
41d461:	7c f1                	jl     0x41d454
41d463:	eb 07                	jmp    0x41d46c
41d465:	8b 0c c5 cc d6 42 00 	mov    0x42d6cc(,%eax,8),%ecx
41d46c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41d46f:	85 c9                	test   %ecx,%ecx
41d471:	74 55                	je     0x41d4c8
41d473:	8b 45 10             	mov    0x10(%ebp),%eax
41d476:	89 45 e8             	mov    %eax,-0x18(%ebp)
41d479:	8b 45 14             	mov    0x14(%ebp),%eax
41d47c:	89 45 ec             	mov    %eax,-0x14(%ebp)
41d47f:	8b 45 18             	mov    0x18(%ebp),%eax
41d482:	89 45 f0             	mov    %eax,-0x10(%ebp)
41d485:	8b 45 1c             	mov    0x1c(%ebp),%eax
41d488:	56                   	push   %esi
41d489:	8b 75 08             	mov    0x8(%ebp),%esi
41d48c:	89 45 f4             	mov    %eax,-0xc(%ebp)
41d48f:	8b 45 20             	mov    0x20(%ebp),%eax
41d492:	68 ff ff 00 00       	push   $0xffff
41d497:	ff 75 28             	push   0x28(%ebp)
41d49a:	89 45 f8             	mov    %eax,-0x8(%ebp)
41d49d:	8b 45 24             	mov    0x24(%ebp),%eax
41d4a0:	89 75 e0             	mov    %esi,-0x20(%ebp)
41d4a3:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d4a6:	e8 26 02 00 00       	call   0x41d6d1
41d4ab:	8d 45 e0             	lea    -0x20(%ebp),%eax
41d4ae:	50                   	push   %eax
41d4af:	e8 d4 92 ff ff       	call   0x416788
41d4b4:	83 c4 0c             	add    $0xc,%esp
41d4b7:	85 c0                	test   %eax,%eax
41d4b9:	75 07                	jne    0x41d4c2
41d4bb:	56                   	push   %esi
41d4bc:	e8 55 ff ff ff       	call   0x41d416
41d4c1:	59                   	pop    %ecx
41d4c2:	dd 45 f8             	fldl   -0x8(%ebp)
41d4c5:	5e                   	pop    %esi
41d4c6:	eb 1b                	jmp    0x41d4e3
41d4c8:	68 ff ff 00 00       	push   $0xffff
41d4cd:	ff 75 28             	push   0x28(%ebp)
41d4d0:	e8 fc 01 00 00       	call   0x41d6d1
41d4d5:	ff 75 08             	push   0x8(%ebp)
41d4d8:	e8 39 ff ff ff       	call   0x41d416
41d4dd:	dd 45 20             	fldl   0x20(%ebp)
41d4e0:	83 c4 0c             	add    $0xc,%esp
41d4e3:	8b e5                	mov    %ebp,%esp
41d4e5:	5d                   	pop    %ebp
41d4e6:	c3                   	ret
41d4e7:	8b ff                	mov    %edi,%edi
41d4e9:	55                   	push   %ebp
41d4ea:	8b ec                	mov    %esp,%ebp
41d4ec:	dd 45 08             	fldl   0x8(%ebp)
41d4ef:	d9 ee                	fldz
41d4f1:	dd e1                	fucom  %st(1)
41d4f3:	df e0                	fnstsw %ax
41d4f5:	57                   	push   %edi
41d4f6:	f6 c4 44             	test   $0x44,%ah
41d4f9:	7a 09                	jp     0x41d504
41d4fb:	dd d9                	fstp   %st(1)
41d4fd:	33 ff                	xor    %edi,%edi
41d4ff:	e9 af 00 00 00       	jmp    0x41d5b3
41d504:	56                   	push   %esi
41d505:	66 8b 75 0e          	mov    0xe(%ebp),%si
41d509:	0f b7 c6             	movzwl %si,%eax
41d50c:	a9 f0 7f 00 00       	test   $0x7ff0,%eax
41d511:	75 7c                	jne    0x41d58f