481280:	e9 a3 00 00 00       	jmp    0x481328
481285:	0f b7 02             	movzwl (%edx),%eax
481288:	8b c8                	mov    %eax,%ecx
48128a:	66 85 c0             	test   %ax,%ax
48128d:	0f 84 95 00 00 00    	je     0x481328
481293:	85 f6                	test   %esi,%esi
481295:	0f 84 8d 00 00 00    	je     0x481328
48129b:	0f b7 c8             	movzwl %ax,%ecx
48129e:	83 c2 02             	add    $0x2,%edx
4812a1:	8b 03                	mov    (%ebx),%eax
4812a3:	66 89 08             	mov    %cx,(%eax)
4812a6:	8b 45 e8             	mov    -0x18(%ebp),%eax
4812a9:	83 03 02             	addl   $0x2,(%ebx)
4812ac:	ff 08                	decl   (%eax)
4812ae:	8b 30                	mov    (%eax),%esi
4812b0:	0f b7 02             	movzwl (%edx),%eax
4812b3:	66 85 c0             	test   %ax,%ax
4812b6:	75 db                	jne    0x481293
4812b8:	eb 6e                	jmp    0x481328
4812ba:	83 e8 01             	sub    $0x1,%eax
4812bd:	74 07                	je     0x4812c6
4812bf:	83 e8 01             	sub    $0x1,%eax
4812c2:	74 06                	je     0x4812ca
4812c4:	eb 26                	jmp    0x4812ec
4812c6:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
4812ca:	6a 53                	push   $0x53
4812cc:	eb 3c                	jmp    0x48130a
4812ce:	83 e8 01             	sub    $0x1,%eax
4812d1:	74 07                	je     0x4812da
4812d3:	83 e8 01             	sub    $0x1,%eax
4812d6:	74 06                	je     0x4812de
4812d8:	eb 12                	jmp    0x4812ec
4812da:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
4812de:	6a 4d                	push   $0x4d
4812e0:	eb 28                	jmp    0x48130a
4812e2:	83 e8 01             	sub    $0x1,%eax
4812e5:	74 1d                	je     0x481304
4812e7:	83 e8 01             	sub    $0x1,%eax
4812ea:	74 1c                	je     0x481308
4812ec:	8b 45 d0             	mov    -0x30(%ebp),%eax
4812ef:	83 c7 02             	add    $0x2,%edi
4812f2:	0f b7 c8             	movzwl %ax,%ecx
4812f5:	8b 03                	mov    (%ebx),%eax
4812f7:	66 89 08             	mov    %cx,(%eax)
4812fa:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4812fd:	83 03 02             	addl   $0x2,(%ebx)
481300:	ff 09                	decl   (%ecx)
481302:	eb 2a                	jmp    0x48132e
481304:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
481308:	6a 49                	push   $0x49
48130a:	58                   	pop    %eax
48130b:	ff 75 e4             	push   -0x1c(%ebp)
48130e:	ff 75 d8             	push   -0x28(%ebp)
481311:	ff 75 e8             	push   -0x18(%ebp)
481314:	53                   	push   %ebx
481315:	ff 75 d4             	push   -0x2c(%ebp)
481318:	50                   	push   %eax
481319:	ff 75 cc             	push   -0x34(%ebp)
48131c:	e8 dd f0 ff ff       	call   0x4803fe
481321:	83 c4 1c             	add    $0x1c,%esp
481324:	84 c0                	test   %al,%al
481326:	74 16                	je     0x48133e
481328:	8b 7d e0             	mov    -0x20(%ebp),%edi
48132b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
48132e:	33 c0                	xor    %eax,%eax
481330:	66 39 07             	cmp    %ax,(%edi)
481333:	0f 85 7b fd ff ff    	jne    0x4810b4
481339:	e9 55 fd ff ff       	jmp    0x481093
48133e:	e8 f2 8b ff ff       	call   0x479f35
481343:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
481349:	32 c0                	xor    %al,%al
48134b:	e9 45 fd ff ff       	jmp    0x481095
481350:	8b ff                	mov    %edi,%edi
481352:	55                   	push   %ebp
481353:	8b ec                	mov    %esp,%ebp
481355:	83 ec 1c             	sub    $0x1c,%esp
481358:	57                   	push   %edi
481359:	8b 7d 08             	mov    0x8(%ebp),%edi
48135c:	85 ff                	test   %edi,%edi
48135e:	75 17                	jne    0x481377
481360:	e8 d0 8b ff ff       	call   0x479f35
481365:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
48136b:	e8 b1 82 ff ff       	call   0x479621
481370:	33 c0                	xor    %eax,%eax
481372:	e9 20 01 00 00       	jmp    0x481497
481377:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
48137b:	74 e3                	je     0x481360
48137d:	56                   	push   %esi
48137e:	8b 75 10             	mov    0x10(%ebp),%esi
481381:	33 c0                	xor    %eax,%eax
481383:	66 89 07             	mov    %ax,(%edi)
481386:	85 f6                	test   %esi,%esi
481388:	75 17                	jne    0x4813a1
48138a:	e8 a6 8b ff ff       	call   0x479f35
48138f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
481395:	e8 87 82 ff ff       	call   0x479621
48139a:	33 c0                	xor    %eax,%eax
48139c:	e9 f5 00 00 00       	jmp    0x481496
4813a1:	ff 75 1c             	push   0x1c(%ebp)
4813a4:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4813a7:	e8 65 87 ff ff       	call   0x479b11
4813ac:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4813b0:	75 0c                	jne    0x4813be
4813b2:	8b 45 e8             	mov    -0x18(%ebp),%eax
4813b5:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
4813bb:	89 45 18             	mov    %eax,0x18(%ebp)
4813be:	8b 45 0c             	mov    0xc(%ebp),%eax
4813c1:	8b cf                	mov    %edi,%ecx
4813c3:	53                   	push   %ebx
4813c4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4813c7:	33 db                	xor    %ebx,%ebx
4813c9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4813cc:	0f b7 16             	movzwl (%esi),%edx
4813cf:	66 85 d2             	test   %dx,%dx
4813d2:	0f 84 81 00 00 00    	je     0x481459
4813d8:	83 fa 25             	cmp    $0x25,%edx
4813db:	74 15                	je     0x4813f2
4813dd:	66 89 11             	mov    %dx,(%ecx)
4813e0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4813e3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4813e6:	83 c1 02             	add    $0x2,%ecx
4813e9:	48                   	dec    %eax
4813ea:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4813ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
4813f0:	eb 5c                	jmp    0x48144e
4813f2:	39 5d 14             	cmp    %ebx,0x14(%ebp)
4813f5:	74 7c                	je     0x481473
4813f7:	83 c6 02             	add    $0x2,%esi
4813fa:	88 5d f4             	mov    %bl,-0xc(%ebp)
4813fd:	0f b7 06             	movzwl (%esi),%eax
481400:	8b c8                	mov    %eax,%ecx
481402:	83 f8 23             	cmp    $0x23,%eax
481405:	75 0a                	jne    0x481411
481407:	83 c6 02             	add    $0x2,%esi
48140a:	c6 45 f4 01          	movb   $0x1,-0xc(%ebp)
48140e:	0f b7 0e             	movzwl (%esi),%ecx
481411:	66 83 f9 45          	cmp    $0x45,%cx
481415:	74 09                	je     0x481420
481417:	0f b7 c1             	movzwl %cx,%eax
48141a:	66 83 f9 4f          	cmp    $0x4f,%cx
48141e:	75 06                	jne    0x481426
481420:	83 c6 02             	add    $0x2,%esi
481423:	0f b7 06             	movzwl (%esi),%eax
481426:	ff 75 f4             	push   -0xc(%ebp)
481429:	8d 4d fc             	lea    -0x4(%ebp),%ecx
48142c:	ff 75 18             	push   0x18(%ebp)
48142f:	51                   	push   %ecx
481430:	8d 4d f8             	lea    -0x8(%ebp),%ecx
481433:	51                   	push   %ecx
481434:	ff 75 14             	push   0x14(%ebp)
481437:	50                   	push   %eax
481438:	8d 45 e8             	lea    -0x18(%ebp),%eax
48143b:	50                   	push   %eax
48143c:	e8 bd ef ff ff       	call   0x4803fe
481441:	83 c4 1c             	add    $0x1c,%esp
481444:	84 c0                	test   %al,%al
481446:	8b 45 fc             	mov    -0x4(%ebp),%eax
481449:	74 1f                	je     0x48146a
48144b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48144e:	83 c6 02             	add    $0x2,%esi
481451:	85 c0                	test   %eax,%eax
481453:	0f 85 73 ff ff ff    	jne    0x4813cc
481459:	85 c0                	test   %eax,%eax
48145b:	74 3d                	je     0x48149a
48145d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
481460:	33 c0                	xor    %eax,%eax
481462:	66 89 01             	mov    %ax,(%ecx)
481465:	2b 5d fc             	sub    -0x4(%ebp),%ebx
481468:	eb 19                	jmp    0x481483
48146a:	85 c0                	test   %eax,%eax
48146c:	74 2c                	je     0x48149a
48146e:	33 c0                	xor    %eax,%eax
481470:	66 89 07             	mov    %ax,(%edi)
481473:	e8 bd 8a ff ff       	call   0x479f35
481478:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
48147e:	e8 9e 81 ff ff       	call   0x479621
481483:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
481487:	74 0a                	je     0x481493
481489:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
48148c:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
481493:	8b c3                	mov    %ebx,%eax
481495:	5b                   	pop    %ebx
481496:	5e                   	pop    %esi
481497:	5f                   	pop    %edi
481498:	c9                   	leave
481499:	c3                   	ret
48149a:	33 c9                	xor    %ecx,%ecx
48149c:	66 89 0f             	mov    %cx,(%edi)
48149f:	85 c0                	test   %eax,%eax
4814a1:	75 d0                	jne    0x481473
4814a3:	e8 8d 8a ff ff       	call   0x479f35
4814a8:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4814ae:	eb d3                	jmp    0x481483
4814b0:	8b ff                	mov    %edi,%edi
4814b2:	55                   	push   %ebp
4814b3:	8b ec                	mov    %esp,%ebp
4814b5:	6a 00                	push   $0x0
4814b7:	6a 00                	push   $0x0
4814b9:	ff 75 14             	push   0x14(%ebp)
4814bc:	ff 75 10             	push   0x10(%ebp)
4814bf:	ff 75 0c             	push   0xc(%ebp)
4814c2:	ff 75 08             	push   0x8(%ebp)
4814c5:	e8 86 fe ff ff       	call   0x481350
4814ca:	83 c4 18             	add    $0x18,%esp
4814cd:	5d                   	pop    %ebp
4814ce:	c3                   	ret
4814cf:	8b ff                	mov    %edi,%edi
4814d1:	55                   	push   %ebp
4814d2:	8b ec                	mov    %esp,%ebp
4814d4:	8b 55 08             	mov    0x8(%ebp),%edx
4814d7:	53                   	push   %ebx
4814d8:	56                   	push   %esi
4814d9:	57                   	push   %edi
4814da:	85 d2                	test   %edx,%edx
4814dc:	74 13                	je     0x4814f1
4814de:	8b 7d 0c             	mov    0xc(%ebp),%edi
4814e1:	85 ff                	test   %edi,%edi
4814e3:	74 0c                	je     0x4814f1
4814e5:	8b 5d 10             	mov    0x10(%ebp),%ebx
4814e8:	85 db                	test   %ebx,%ebx
4814ea:	75 1b                	jne    0x481507
4814ec:	33 c0                	xor    %eax,%eax
4814ee:	66 89 02             	mov    %ax,(%edx)
4814f1:	e8 3f 8a ff ff       	call   0x479f35
4814f6:	6a 16                	push   $0x16
4814f8:	5e                   	pop    %esi
4814f9:	89 30                	mov    %esi,(%eax)
4814fb:	e8 21 81 ff ff       	call   0x479621
481500:	5f                   	pop    %edi
481501:	8b c6                	mov    %esi,%eax
481503:	5e                   	pop    %esi
481504:	5b                   	pop    %ebx
481505:	5d                   	pop    %ebp
481506:	c3                   	ret
481507:	8b ca                	mov    %edx,%ecx
481509:	33 f6                	xor    %esi,%esi
48150b:	66 39 31             	cmp    %si,(%ecx)
48150e:	74 0a                	je     0x48151a
481510:	83 c1 02             	add    $0x2,%ecx
481513:	83 ef 01             	sub    $0x1,%edi
481516:	75 f3                	jne    0x48150b
481518:	eb d2                	jmp    0x4814ec
48151a:	2b d9                	sub    %ecx,%ebx
48151c:	0f b7 04 0b          	movzwl (%ebx,%ecx,1),%eax
481520:	66 89 01             	mov    %ax,(%ecx)
481523:	8d 49 02             	lea    0x2(%ecx),%ecx
481526:	66 85 c0             	test   %ax,%ax
481529:	74 d5                	je     0x481500
48152b:	83 ef 01             	sub    $0x1,%edi
48152e:	75 ec                	jne    0x48151c
481530:	33 c0                	xor    %eax,%eax
481532:	66 89 02             	mov    %ax,(%edx)
481535:	e8 fb 89 ff ff       	call   0x479f35
48153a:	6a 22                	push   $0x22
48153c:	eb ba                	jmp    0x4814f8
48153e:	8b ff                	mov    %edi,%edi
481540:	55                   	push   %ebp
481541:	8b ec                	mov    %esp,%ebp
481543:	8b 55 08             	mov    0x8(%ebp),%edx
481546:	56                   	push   %esi
481547:	57                   	push   %edi
481548:	85 d2                	test   %edx,%edx
48154a:	74 11                	je     0x48155d
48154c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48154f:	85 c9                	test   %ecx,%ecx
481551:	74 0a                	je     0x48155d
481553:	8b 75 10             	mov    0x10(%ebp),%esi
481556:	85 f6                	test   %esi,%esi
481558:	75 18                	jne    0x481572
48155a:	c6 02 00             	movb   $0x0,(%edx)
48155d:	e8 d3 89 ff ff       	call   0x479f35
481562:	6a 16                	push   $0x16
481564:	5e                   	pop    %esi
481565:	89 30                	mov    %esi,(%eax)
481567:	e8 b5 80 ff ff       	call   0x479621
48156c:	5f                   	pop    %edi
48156d:	8b c6                	mov    %esi,%eax
48156f:	5e                   	pop    %esi
481570:	5d                   	pop    %ebp
481571:	c3                   	ret
481572:	8b fa                	mov    %edx,%edi
481574:	2b f2                	sub    %edx,%esi
481576:	8a 04 3e             	mov    (%esi,%edi,1),%al
481579:	88 07                	mov    %al,(%edi)
48157b:	47                   	inc    %edi
48157c:	84 c0                	test   %al,%al
48157e:	74 14                	je     0x481594
481580:	83 e9 01             	sub    $0x1,%ecx
481583:	75 f1                	jne    0x481576
481585:	85 c9                	test   %ecx,%ecx
481587:	75 0b                	jne    0x481594
481589:	88 0a                	mov    %cl,(%edx)
48158b:	e8 a5 89 ff ff       	call   0x479f35
481590:	6a 22                	push   $0x22
481592:	eb d0                	jmp    0x481564
481594:	33 f6                	xor    %esi,%esi
481596:	eb d4                	jmp    0x48156c
481598:	8b ff                	mov    %edi,%edi
48159a:	55                   	push   %ebp
48159b:	8b ec                	mov    %esp,%ebp
48159d:	51                   	push   %ecx
48159e:	51                   	push   %ecx
48159f:	8b 45 08             	mov    0x8(%ebp),%eax
4815a2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4815a5:	8b 45 14             	mov    0x14(%ebp),%eax
4815a8:	33 45 0c             	xor    0xc(%ebp),%eax
4815ab:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
4815b0:	33 45 14             	xor    0x14(%ebp),%eax
4815b3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4815b6:	dd 45 f8             	fldl   -0x8(%ebp)
4815b9:	c9                   	leave
4815ba:	c3                   	ret
4815bb:	8b ff                	mov    %edi,%edi
4815bd:	55                   	push   %ebp
4815be:	8b ec                	mov    %esp,%ebp
4815c0:	0f b7 4d 0e          	movzwl 0xe(%ebp),%ecx
4815c4:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
4815c9:	23 ca                	and    %edx,%ecx
4815cb:	33 c0                	xor    %eax,%eax
4815cd:	66 3b ca             	cmp    %dx,%cx
4815d0:	0f 95 c0             	setne  %al
4815d3:	5d                   	pop    %ebp
4815d4:	c3                   	ret
4815d5:	8b ff                	mov    %edi,%edi
4815d7:	55                   	push   %ebp
4815d8:	8b ec                	mov    %esp,%ebp
4815da:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
4815de:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
4815e3:	66 8b c1             	mov    %cx,%ax
4815e6:	66 23 c2             	and    %dx,%ax
4815e9:	66 3b c2             	cmp    %dx,%ax
4815ec:	75 33                	jne    0x481621
4815ee:	dd 45 08             	fldl   0x8(%ebp)
4815f1:	51                   	push   %ecx
4815f2:	51                   	push   %ecx
4815f3:	dd 1c 24             	fstpl  (%esp)
4815f6:	e8 e5 84 00 00       	call   0x489ae0
4815fb:	59                   	pop    %ecx
4815fc:	59                   	pop    %ecx
4815fd:	83 e8 01             	sub    $0x1,%eax
481600:	74 18                	je     0x48161a
481602:	83 e8 01             	sub    $0x1,%eax
481605:	74 0e                	je     0x481615
481607:	83 e8 01             	sub    $0x1,%eax
48160a:	74 05                	je     0x481611
48160c:	33 c0                	xor    %eax,%eax
48160e:	40                   	inc    %eax
48160f:	5d                   	pop    %ebp
481610:	c3                   	ret
481611:	6a 02                	push   $0x2