41b255:	c9                   	leave
41b256:	c3                   	ret
41b257:	dd 45 08             	fldl   0x8(%ebp)
41b25a:	d9 e1                	fabs
41b25c:	c9                   	leave
41b25d:	c3                   	ret
41b25e:	8b ff                	mov    %edi,%edi
41b260:	55                   	push   %ebp
41b261:	8b ec                	mov    %esp,%ebp
41b263:	56                   	push   %esi
41b264:	8b 75 0c             	mov    0xc(%ebp),%esi
41b267:	57                   	push   %edi
41b268:	8b 7d 08             	mov    0x8(%ebp),%edi
41b26b:	0f b7 0e             	movzwl (%esi),%ecx
41b26e:	0f b7 17             	movzwl (%edi),%edx
41b271:	2b d1                	sub    %ecx,%edx
41b273:	75 19                	jne    0x41b28e
41b275:	8b c1                	mov    %ecx,%eax
41b277:	2b fe                	sub    %esi,%edi
41b279:	66 85 c0             	test   %ax,%ax
41b27c:	74 10                	je     0x41b28e
41b27e:	83 c6 02             	add    $0x2,%esi
41b281:	0f b7 0e             	movzwl (%esi),%ecx
41b284:	0f b7 14 37          	movzwl (%edi,%esi,1),%edx
41b288:	8b c1                	mov    %ecx,%eax
41b28a:	2b d1                	sub    %ecx,%edx
41b28c:	74 eb                	je     0x41b279
41b28e:	8b c2                	mov    %edx,%eax
41b290:	c1 ea 1f             	shr    $0x1f,%edx
41b293:	f7 d8                	neg    %eax
41b295:	c1 e8 1f             	shr    $0x1f,%eax
41b298:	5f                   	pop    %edi
41b299:	2b c2                	sub    %edx,%eax
41b29b:	5e                   	pop    %esi
41b29c:	5d                   	pop    %ebp
41b29d:	c3                   	ret
41b29e:	6a 30                	push   $0x30
41b2a0:	b8 9a be 41 00       	mov    $0x41be9a,%eax
41b2a5:	e8 cc de ff ff       	call   0x419176
41b2aa:	8b 7d 08             	mov    0x8(%ebp),%edi
41b2ad:	33 f6                	xor    %esi,%esi
41b2af:	8b 45 0c             	mov    0xc(%ebp),%eax
41b2b2:	8b 5d 10             	mov    0x10(%ebp),%ebx
41b2b5:	89 7d d8             	mov    %edi,-0x28(%ebp)
41b2b8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41b2bb:	89 75 e0             	mov    %esi,-0x20(%ebp)
41b2be:	85 ff                	test   %edi,%edi
41b2c0:	74 0b                	je     0x41b2cd
41b2c2:	85 db                	test   %ebx,%ebx
41b2c4:	75 07                	jne    0x41b2cd
41b2c6:	33 c0                	xor    %eax,%eax
41b2c8:	e9 6a 02 00 00       	jmp    0x41b537
41b2cd:	85 c0                	test   %eax,%eax
41b2cf:	75 18                	jne    0x41b2e9
41b2d1:	e8 fd 39 ff ff       	call   0x40ecd3
41b2d6:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41b2dc:	e8 35 39 ff ff       	call   0x40ec16
41b2e1:	83 c8 ff             	or     $0xffffffff,%eax
41b2e4:	e9 4e 02 00 00       	jmp    0x41b537
41b2e9:	ff 75 14             	push   0x14(%ebp)
41b2ec:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
41b2ef:	e8 56 17 ff ff       	call   0x40ca4a
41b2f4:	8b 45 c8             	mov    -0x38(%ebp),%eax
41b2f7:	89 75 fc             	mov    %esi,-0x4(%ebp)
41b2fa:	8b 48 08             	mov    0x8(%eax),%ecx
41b2fd:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
41b303:	75 1f                	jne    0x41b324
41b305:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41b308:	89 75 d4             	mov    %esi,-0x2c(%ebp)
41b30b:	50                   	push   %eax
41b30c:	53                   	push   %ebx
41b30d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41b310:	89 75 d8             	mov    %esi,-0x28(%ebp)
41b313:	50                   	push   %eax
41b314:	57                   	push   %edi
41b315:	e8 a1 03 00 00       	call   0x41b6bb
41b31a:	83 c4 10             	add    $0x10,%esp
41b31d:	8b f0                	mov    %eax,%esi
41b31f:	e9 ca 01 00 00       	jmp    0x41b4ee
41b324:	85 ff                	test   %edi,%edi
41b326:	0f 84 95 01 00 00    	je     0x41b4c1
41b32c:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
41b332:	75 3a                	jne    0x41b36e
41b334:	85 db                	test   %ebx,%ebx
41b336:	0f 84 b2 01 00 00    	je     0x41b4ee
41b33c:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41b33f:	ba ff 00 00 00       	mov    $0xff,%edx
41b344:	66 39 11             	cmp    %dx,(%ecx)
41b347:	0f 87 64 01 00 00    	ja     0x41b4b1
41b34d:	8a 01                	mov    (%ecx),%al
41b34f:	88 04 37             	mov    %al,(%edi,%esi,1)
41b352:	0f b7 01             	movzwl (%ecx),%eax
41b355:	83 c1 02             	add    $0x2,%ecx
41b358:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41b35b:	66 85 c0             	test   %ax,%ax
41b35e:	0f 84 8a 01 00 00    	je     0x41b4ee
41b364:	46                   	inc    %esi
41b365:	3b f3                	cmp    %ebx,%esi
41b367:	72 db                	jb     0x41b344
41b369:	e9 80 01 00 00       	jmp    0x41b4ee
41b36e:	83 78 04 01          	cmpl   $0x1,0x4(%eax)
41b372:	75 61                	jne    0x41b3d5
41b374:	85 db                	test   %ebx,%ebx
41b376:	74 23                	je     0x41b39b
41b378:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41b37b:	8b d3                	mov    %ebx,%edx
41b37d:	66 39 30             	cmp    %si,(%eax)
41b380:	74 08                	je     0x41b38a
41b382:	83 c0 02             	add    $0x2,%eax
41b385:	83 ea 01             	sub    $0x1,%edx
41b388:	75 f3                	jne    0x41b37d
41b38a:	85 d2                	test   %edx,%edx
41b38c:	74 0d                	je     0x41b39b
41b38e:	66 39 30             	cmp    %si,(%eax)
41b391:	75 08                	jne    0x41b39b
41b393:	8b d8                	mov    %eax,%ebx
41b395:	2b 5d e4             	sub    -0x1c(%ebp),%ebx
41b398:	d1 fb                	sar    $1,%ebx
41b39a:	43                   	inc    %ebx
41b39b:	8d 45 e0             	lea    -0x20(%ebp),%eax
41b39e:	50                   	push   %eax
41b39f:	56                   	push   %esi
41b3a0:	53                   	push   %ebx
41b3a1:	57                   	push   %edi
41b3a2:	53                   	push   %ebx
41b3a3:	ff 75 e4             	push   -0x1c(%ebp)
41b3a6:	56                   	push   %esi
41b3a7:	51                   	push   %ecx
41b3a8:	e8 98 4c ff ff       	call   0x410045
41b3ad:	8b f0                	mov    %eax,%esi
41b3af:	83 c4 20             	add    $0x20,%esp
41b3b2:	85 f6                	test   %esi,%esi
41b3b4:	0f 84 f7 00 00 00    	je     0x41b4b1
41b3ba:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41b3be:	0f 85 ed 00 00 00    	jne    0x41b4b1
41b3c4:	80 7c 37 ff 00       	cmpb   $0x0,-0x1(%edi,%esi,1)
41b3c9:	0f 85 1f 01 00 00    	jne    0x41b4ee
41b3cf:	4e                   	dec    %esi
41b3d0:	e9 19 01 00 00       	jmp    0x41b4ee
41b3d5:	8d 45 e0             	lea    -0x20(%ebp),%eax
41b3d8:	50                   	push   %eax
41b3d9:	56                   	push   %esi
41b3da:	53                   	push   %ebx
41b3db:	57                   	push   %edi
41b3dc:	6a ff                	push   $0xffffffff
41b3de:	ff 75 e4             	push   -0x1c(%ebp)
41b3e1:	56                   	push   %esi
41b3e2:	51                   	push   %ecx
41b3e3:	e8 5d 4c ff ff       	call   0x410045
41b3e8:	83 c4 20             	add    $0x20,%esp
41b3eb:	8b f8                	mov    %eax,%edi
41b3ed:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41b3f1:	0f 85 ba 00 00 00    	jne    0x41b4b1
41b3f7:	85 ff                	test   %edi,%edi
41b3f9:	74 08                	je     0x41b403
41b3fb:	8d 77 ff             	lea    -0x1(%edi),%esi
41b3fe:	e9 eb 00 00 00       	jmp    0x41b4ee
41b403:	ff 15 48 c1 41 00    	call   *0x41c148
41b409:	83 f8 7a             	cmp    $0x7a,%eax
41b40c:	0f 85 9f 00 00 00    	jne    0x41b4b1
41b412:	85 db                	test   %ebx,%ebx
41b414:	0f 84 0b 01 00 00    	je     0x41b525
41b41a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41b41d:	8b 55 c8             	mov    -0x38(%ebp),%edx
41b420:	8b 4a 04             	mov    0x4(%edx),%ecx
41b423:	83 f9 05             	cmp    $0x5,%ecx
41b426:	7e 03                	jle    0x41b42b
41b428:	6a 05                	push   $0x5
41b42a:	59                   	pop    %ecx
41b42b:	8d 5d e0             	lea    -0x20(%ebp),%ebx
41b42e:	53                   	push   %ebx
41b42f:	56                   	push   %esi
41b430:	51                   	push   %ecx
41b431:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41b434:	51                   	push   %ecx
41b435:	6a 01                	push   $0x1
41b437:	50                   	push   %eax
41b438:	56                   	push   %esi
41b439:	ff 72 08             	push   0x8(%edx)
41b43c:	e8 04 4c ff ff       	call   0x410045
41b441:	8b 5d 10             	mov    0x10(%ebp),%ebx
41b444:	8b d0                	mov    %eax,%edx
41b446:	83 c4 20             	add    $0x20,%esp
41b449:	85 d2                	test   %edx,%edx
41b44b:	0f 84 c6 00 00 00    	je     0x41b517
41b451:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41b455:	0f 85 bc 00 00 00    	jne    0x41b517
41b45b:	85 d2                	test   %edx,%edx
41b45d:	0f 88 b4 00 00 00    	js     0x41b517
41b463:	83 fa 05             	cmp    $0x5,%edx
41b466:	0f 87 ab 00 00 00    	ja     0x41b517
41b46c:	8d 04 3a             	lea    (%edx,%edi,1),%eax
41b46f:	3b c3                	cmp    %ebx,%eax
41b471:	0f 87 ae 00 00 00    	ja     0x41b525
41b477:	8b c6                	mov    %esi,%eax
41b479:	89 45 dc             	mov    %eax,-0x24(%ebp)
41b47c:	85 d2                	test   %edx,%edx
41b47e:	7e 1e                	jle    0x41b49e
41b480:	8b 4d d8             	mov    -0x28(%ebp),%ecx
41b483:	8a 44 05 e8          	mov    -0x18(%ebp,%eax,1),%al
41b487:	88 04 39             	mov    %al,(%ecx,%edi,1)
41b48a:	84 c0                	test   %al,%al
41b48c:	0f 84 93 00 00 00    	je     0x41b525
41b492:	8b 45 dc             	mov    -0x24(%ebp),%eax
41b495:	40                   	inc    %eax
41b496:	47                   	inc    %edi
41b497:	89 45 dc             	mov    %eax,-0x24(%ebp)
41b49a:	3b c2                	cmp    %edx,%eax
41b49c:	7c e5                	jl     0x41b483
41b49e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41b4a1:	83 c0 02             	add    $0x2,%eax
41b4a4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41b4a7:	3b fb                	cmp    %ebx,%edi
41b4a9:	0f 82 6e ff ff ff    	jb     0x41b41d
41b4af:	eb 74                	jmp    0x41b525
41b4b1:	e8 1d 38 ff ff       	call   0x40ecd3
41b4b6:	83 ce ff             	or     $0xffffffff,%esi
41b4b9:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41b4bf:	eb 2d                	jmp    0x41b4ee
41b4c1:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
41b4c7:	75 29                	jne    0x41b4f2
41b4c9:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
41b4cc:	0f b7 01             	movzwl (%ecx),%eax
41b4cf:	66 85 c0             	test   %ax,%ax
41b4d2:	74 1a                	je     0x41b4ee
41b4d4:	8b f8                	mov    %eax,%edi
41b4d6:	ba ff 00 00 00       	mov    $0xff,%edx
41b4db:	66 3b fa             	cmp    %dx,%di
41b4de:	77 37                	ja     0x41b517
41b4e0:	83 c1 02             	add    $0x2,%ecx
41b4e3:	46                   	inc    %esi
41b4e4:	0f b7 01             	movzwl (%ecx),%eax
41b4e7:	8b f8                	mov    %eax,%edi
41b4e9:	66 85 c0             	test   %ax,%ax
41b4ec:	75 ed                	jne    0x41b4db
41b4ee:	8b fe                	mov    %esi,%edi
41b4f0:	eb 33                	jmp    0x41b525
41b4f2:	8d 45 e0             	lea    -0x20(%ebp),%eax
41b4f5:	50                   	push   %eax
41b4f6:	56                   	push   %esi
41b4f7:	56                   	push   %esi
41b4f8:	56                   	push   %esi
41b4f9:	6a ff                	push   $0xffffffff
41b4fb:	ff 75 e4             	push   -0x1c(%ebp)
41b4fe:	56                   	push   %esi
41b4ff:	51                   	push   %ecx
41b500:	e8 40 4b ff ff       	call   0x410045
41b505:	83 c4 20             	add    $0x20,%esp
41b508:	85 c0                	test   %eax,%eax
41b50a:	74 0b                	je     0x41b517
41b50c:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41b510:	75 05                	jne    0x41b517
41b512:	8d 78 ff             	lea    -0x1(%eax),%edi
41b515:	eb 0e                	jmp    0x41b525
41b517:	e8 b7 37 ff ff       	call   0x40ecd3
41b51c:	83 cf ff             	or     $0xffffffff,%edi
41b51f:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41b525:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
41b529:	74 0a                	je     0x41b535
41b52b:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
41b52e:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41b535:	8b c7                	mov    %edi,%eax
41b537:	e8 2b dc ff ff       	call   0x419167
41b53c:	c3                   	ret
41b53d:	8b ff                	mov    %edi,%edi
41b53f:	55                   	push   %ebp
41b540:	8b ec                	mov    %esp,%ebp
41b542:	51                   	push   %ecx
41b543:	56                   	push   %esi
41b544:	8b 75 0c             	mov    0xc(%ebp),%esi
41b547:	33 c0                	xor    %eax,%eax
41b549:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b54c:	57                   	push   %edi
41b54d:	8b 7d 10             	mov    0x10(%ebp),%edi
41b550:	85 f6                	test   %esi,%esi
41b552:	74 2e                	je     0x41b582
41b554:	85 ff                	test   %edi,%edi
41b556:	74 2e                	je     0x41b586
41b558:	85 f6                	test   %esi,%esi
41b55a:	74 02                	je     0x41b55e
41b55c:	88 06                	mov    %al,(%esi)
41b55e:	53                   	push   %ebx
41b55f:	8b 5d 08             	mov    0x8(%ebp),%ebx
41b562:	85 db                	test   %ebx,%ebx
41b564:	74 02                	je     0x41b568
41b566:	89 03                	mov    %eax,(%ebx)
41b568:	8b c7                	mov    %edi,%eax
41b56a:	39 7d 18             	cmp    %edi,0x18(%ebp)
41b56d:	77 03                	ja     0x41b572
41b56f:	8b 45 18             	mov    0x18(%ebp),%eax
41b572:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41b577:	76 20                	jbe    0x41b599
41b579:	e8 55 37 ff ff       	call   0x40ecd3
41b57e:	6a 16                	push   $0x16
41b580:	eb 55                	jmp    0x41b5d7
41b582:	85 ff                	test   %edi,%edi
41b584:	74 d2                	je     0x41b558
41b586:	e8 48 37 ff ff       	call   0x40ecd3
41b58b:	6a 16                	push   $0x16
41b58d:	5e                   	pop    %esi
41b58e:	89 30                	mov    %esi,(%eax)
41b590:	e8 81 36 ff ff       	call   0x40ec16
41b595:	8b c6                	mov    %esi,%eax
41b597:	eb 67                	jmp    0x41b600
41b599:	ff 75 1c             	push   0x1c(%ebp)
41b59c:	50                   	push   %eax
41b59d:	ff 75 14             	push   0x14(%ebp)
41b5a0:	56                   	push   %esi
41b5a1:	e8 f8 fc ff ff       	call   0x41b29e
41b5a6:	83 c4 10             	add    $0x10,%esp
41b5a9:	83 f8 ff             	cmp    $0xffffffff,%eax
41b5ac:	75 10                	jne    0x41b5be
41b5ae:	85 f6                	test   %esi,%esi
41b5b0:	74 03                	je     0x41b5b5
41b5b2:	c6 06 00             	movb   $0x0,(%esi)
41b5b5:	e8 19 37 ff ff       	call   0x40ecd3
41b5ba:	8b 00                	mov    (%eax),%eax
41b5bc:	eb 41                	jmp    0x41b5ff
41b5be:	40                   	inc    %eax
41b5bf:	85 f6                	test   %esi,%esi
41b5c1:	74 31                	je     0x41b5f4
41b5c3:	3b c7                	cmp    %edi,%eax
41b5c5:	76 23                	jbe    0x41b5ea
41b5c7:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
41b5cb:	74 16                	je     0x41b5e3
41b5cd:	c6 06 00             	movb   $0x0,(%esi)
41b5d0:	e8 fe 36 ff ff       	call   0x40ecd3
41b5d5:	6a 22                	push   $0x22
41b5d7:	5e                   	pop    %esi
41b5d8:	89 30                	mov    %esi,(%eax)
41b5da:	e8 37 36 ff ff       	call   0x40ec16
41b5df:	8b c6                	mov    %esi,%eax
41b5e1:	eb 1c                	jmp    0x41b5ff
41b5e3:	6a 50                	push   $0x50
41b5e5:	8b c7                	mov    %edi,%eax
41b5e7:	59                   	pop    %ecx
41b5e8:	eb 03                	jmp    0x41b5ed
41b5ea:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b5ed:	c6 44 30 ff 00       	movb   $0x0,-0x1(%eax,%esi,1)
41b5f2:	eb 03                	jmp    0x41b5f7
41b5f4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b5f7:	85 db                	test   %ebx,%ebx
41b5f9:	74 02                	je     0x41b5fd
41b5fb:	89 03                	mov    %eax,(%ebx)
41b5fd:	8b c1                	mov    %ecx,%eax
41b5ff:	5b                   	pop    %ebx
41b600:	5f                   	pop    %edi
41b601:	5e                   	pop    %esi
41b602:	c9                   	leave
41b603:	c3                   	ret