461356:	76 21                	jbe    0x461379
461358:	83 c7 01             	add    $0x1,%edi
46135b:	83 c6 01             	add    $0x1,%esi
46135e:	83 c3 01             	add    $0x1,%ebx
461361:	66 83 e9 01          	sub    $0x1,%cx
461365:	66 83 f9 02          	cmp    $0x2,%cx
461369:	75 08                	jne    0x461373
46136b:	66 c7 45 fe 01 00    	movw   $0x1,-0x2(%ebp)
461371:	eb 06                	jmp    0x461379
461373:	66 83 e9 01          	sub    $0x1,%cx
461377:	eb d9                	jmp    0x461352
461379:	66 8b 4d 08          	mov    0x8(%ebp),%cx
46137d:	66 83 f9 00          	cmp    $0x0,%cx
461381:	74 5c                	je     0x4613df
461383:	66 83 7d fe 01       	cmpw   $0x1,-0x2(%ebp)
461388:	75 0a                	jne    0x461394
46138a:	b4 00                	mov    $0x0,%ah
46138c:	66 c7 45 fe 00 00    	movw   $0x0,-0x2(%ebp)
461392:	eb 1e                	jmp    0x4613b2
461394:	8a 06                	mov    (%esi),%al
461396:	8a 23                	mov    (%ebx),%ah
461398:	24 0f                	and    $0xf,%al
46139a:	80 e4 0f             	and    $0xf,%ah
46139d:	88 e2                	mov    %ah,%dl
46139f:	00 c2                	add    %al,%dl
4613a1:	e8 86 fa ff ff       	call   0x460e2c
4613a6:	88 d4                	mov    %dl,%ah
4613a8:	66 83 e9 01          	sub    $0x1,%cx
4613ac:	66 83 f9 00          	cmp    $0x0,%cx
4613b0:	74 27                	je     0x4613d9
4613b2:	8a 06                	mov    (%esi),%al
4613b4:	8a 13                	mov    (%ebx),%dl
4613b6:	c0 e8 04             	shr    $0x4,%al
4613b9:	c0 ea 04             	shr    $0x4,%dl
4613bc:	00 c2                	add    %al,%dl
4613be:	e8 69 fa ff ff       	call   0x460e2c
4613c3:	c0 e2 04             	shl    $0x4,%dl
4613c6:	08 e2                	or     %ah,%dl
4613c8:	88 17                	mov    %dl,(%edi)
4613ca:	83 ef 01             	sub    $0x1,%edi
4613cd:	83 ee 01             	sub    $0x1,%esi
4613d0:	83 eb 01             	sub    $0x1,%ebx
4613d3:	66 83 e9 01          	sub    $0x1,%cx
4613d7:	eb a4                	jmp    0x46137d
4613d9:	b2 00                	mov    $0x0,%dl
4613db:	08 e2                	or     %ah,%dl
4613dd:	88 17                	mov    %dl,(%edi)
4613df:	5a                   	pop    %edx
4613e0:	59                   	pop    %ecx
4613e1:	5b                   	pop    %ebx
4613e2:	5f                   	pop    %edi
4613e3:	5e                   	pop    %esi
4613e4:	59                   	pop    %ecx
4613e5:	5d                   	pop    %ebp
4613e6:	c2 10 00             	ret    $0x10
4613e9:	8d 40 00             	lea    0x0(%eax),%eax
4613ec:	55                   	push   %ebp
4613ed:	8b ec                	mov    %esp,%ebp
4613ef:	51                   	push   %ecx
4613f0:	56                   	push   %esi
4613f1:	57                   	push   %edi
4613f2:	53                   	push   %ebx
4613f3:	52                   	push   %edx
4613f4:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
4613f8:	66 8b 55 08          	mov    0x8(%ebp),%dx
4613fc:	8b 7d 10             	mov    0x10(%ebp),%edi
4613ff:	8b 75 14             	mov    0x14(%ebp),%esi
461402:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
461409:	fc                   	cld
46140a:	66 83 f9 00          	cmp    $0x0,%cx
46140e:	74 56                	je     0x461466
461410:	ac                   	lods   %ds:(%esi),%al
461411:	8a 27                	mov    (%edi),%ah
461413:	47                   	inc    %edi
461414:	38 e0                	cmp    %ah,%al
461416:	75 18                	jne    0x461430
461418:	66 83 e9 01          	sub    $0x1,%cx
46141c:	66 83 ea 01          	sub    $0x1,%dx
461420:	66 83 f9 00          	cmp    $0x0,%cx
461424:	74 40                	je     0x461466
461426:	66 83 e9 01          	sub    $0x1,%cx
46142a:	66 83 ea 01          	sub    $0x1,%dx
46142e:	eb da                	jmp    0x46140a
461430:	88 e3                	mov    %ah,%bl
461432:	88 c4                	mov    %al,%ah
461434:	c0 ec 04             	shr    $0x4,%ah
461437:	88 df                	mov    %bl,%bh
461439:	c0 ef 04             	shr    $0x4,%bh
46143c:	38 e7                	cmp    %ah,%bh
46143e:	75 10                	jne    0x461450
461440:	66 83 f9 00          	cmp    $0x0,%cx
461444:	74 20                	je     0x461466
461446:	88 c4                	mov    %al,%ah
461448:	88 df                	mov    %bl,%bh
46144a:	80 e4 0f             	and    $0xf,%ah
46144d:	80 e7 0f             	and    $0xf,%bh
461450:	38 e7                	cmp    %ah,%bh
461452:	77 09                	ja     0x46145d
461454:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46145b:	eb 28                	jmp    0x461485
46145d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
461464:	eb 1f                	jmp    0x461485
461466:	66 83 fa 00          	cmp    $0x0,%dx
46146a:	7e 19                	jle    0x461485
46146c:	8a 27                	mov    (%edi),%ah
46146e:	47                   	inc    %edi
46146f:	66 83 ea 02          	sub    $0x2,%dx
461473:	80 fc 00             	cmp    $0x0,%ah
461476:	74 ee                	je     0x461466
461478:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
46147c:	75 07                	jne    0x461485
46147e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
461485:	5a                   	pop    %edx
461486:	5b                   	pop    %ebx
461487:	5f                   	pop    %edi
461488:	5e                   	pop    %esi
461489:	8b 45 fc             	mov    -0x4(%ebp),%eax
46148c:	59                   	pop    %ecx
46148d:	5d                   	pop    %ebp
46148e:	c2 10 00             	ret    $0x10
461491:	8d 40 00             	lea    0x0(%eax),%eax
461494:	a8 80                	test   $0x80,%al
461496:	74 03                	je     0x46149b
461498:	24 3f                	and    $0x3f,%al
46149a:	c3                   	ret
46149b:	24 3f                	and    $0x3f,%al
46149d:	0c 80                	or     $0x80,%al
46149f:	c3                   	ret
4614a0:	56                   	push   %esi
4614a1:	57                   	push   %edi
4614a2:	55                   	push   %ebp
4614a3:	51                   	push   %ecx
4614a4:	88 0c 24             	mov    %cl,(%esp)
4614a7:	8b f0                	mov    %eax,%esi
4614a9:	33 ff                	xor    %edi,%edi
4614ab:	8b ea                	mov    %edx,%ebp
4614ad:	8b 06                	mov    (%esi),%eax
4614af:	8a 10                	mov    (%eax),%dl
4614b1:	eb 1e                	jmp    0x4614d1
4614b3:	8a 45 00             	mov    0x0(%ebp),%al
4614b6:	80 e2 0f             	and    $0xf,%dl
4614b9:	c1 e2 04             	shl    $0x4,%edx
4614bc:	33 c9                	xor    %ecx,%ecx
4614be:	8a c8                	mov    %al,%cl
4614c0:	c1 e9 04             	shr    $0x4,%ecx
4614c3:	0a d1                	or     %cl,%dl
4614c5:	8b 0e                	mov    (%esi),%ecx
4614c7:	88 11                	mov    %dl,(%ecx)
4614c9:	8b d0                	mov    %eax,%edx
4614cb:	ff 06                	incl   (%esi)
4614cd:	45                   	inc    %ebp
4614ce:	83 c7 02             	add    $0x2,%edi
4614d1:	33 c0                	xor    %eax,%eax
4614d3:	8a 04 24             	mov    (%esp),%al
4614d6:	3b f8                	cmp    %eax,%edi
4614d8:	7c d9                	jl     0x4614b3
4614da:	5a                   	pop    %edx
4614db:	5d                   	pop    %ebp
4614dc:	5f                   	pop    %edi
4614dd:	5e                   	pop    %esi
4614de:	c3                   	ret
4614df:	90                   	nop
4614e0:	55                   	push   %ebp
4614e1:	8b ec                	mov    %esp,%ebp
4614e3:	83 c4 f4             	add    $0xfffffff4,%esp
4614e6:	53                   	push   %ebx
4614e7:	56                   	push   %esi
4614e8:	57                   	push   %edi
4614e9:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
4614ed:	8b f2                	mov    %edx,%esi
4614ef:	8b f8                	mov    %eax,%edi
4614f1:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
4614f5:	33 c0                	xor    %eax,%eax
4614f7:	8a 07                	mov    (%edi),%al
4614f9:	66 3b 45 fe          	cmp    -0x2(%ebp),%ax
4614fd:	75 26                	jne    0x461525
4614ff:	8a 47 01             	mov    0x1(%edi),%al
461502:	24 3f                	and    $0x3f,%al
461504:	25 ff 00 00 00       	and    $0xff,%eax
461509:	66 3b 45 08          	cmp    0x8(%ebp),%ax
46150d:	75 16                	jne    0x461525
46150f:	56                   	push   %esi
461510:	8b c7                	mov    %edi,%eax
461512:	8b fe                	mov    %esi,%edi
461514:	8b f0                	mov    %eax,%esi
461516:	b9 08 00 00 00       	mov    $0x8,%ecx
46151b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46151d:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
46151f:	5e                   	pop    %esi
461520:	e9 96 00 00 00       	jmp    0x4615bb
461525:	8a 47 01             	mov    0x1(%edi),%al
461528:	a8 80                	test   $0x80,%al
46152a:	0f 95 45 f5          	setne  -0xb(%ebp)
46152e:	24 3f                	and    $0x3f,%al
461530:	25 ff 00 00 00       	and    $0xff,%eax
461535:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
461539:	8a 45 fe             	mov    -0x2(%ebp),%al
46153c:	88 06                	mov    %al,(%esi)
46153e:	8a 45 08             	mov    0x8(%ebp),%al
461541:	88 46 01             	mov    %al,0x1(%esi)
461544:	8d 47 02             	lea    0x2(%edi),%eax
461547:	89 45 f8             	mov    %eax,-0x8(%ebp)
46154a:	8d 5e 02             	lea    0x2(%esi),%ebx
46154d:	8b c3                	mov    %ebx,%eax
46154f:	33 c9                	xor    %ecx,%ecx
461551:	ba 20 00 00 00       	mov    $0x20,%edx
461556:	e8 11 18 fa ff       	call   0x402d6c
46155b:	33 c0                	xor    %eax,%eax
46155d:	8a 07                	mov    (%edi),%al
46155f:	66 3b 45 fe          	cmp    -0x2(%ebp),%ax
461563:	76 1a                	jbe    0x46157f
461565:	8b 45 f8             	mov    -0x8(%ebp),%eax
461568:	50                   	push   %eax
461569:	33 c0                	xor    %eax,%eax
46156b:	8a 07                	mov    (%edi),%al
46156d:	50                   	push   %eax
46156e:	e8 c5 fc ff ff       	call   0x461238
461573:	66 3b 45 fe          	cmp    -0x2(%ebp),%ax
461577:	76 06                	jbe    0x46157f
461579:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
46157d:	eb 3c                	jmp    0x4615bb
46157f:	8b 55 f8             	mov    -0x8(%ebp),%edx
461582:	52                   	push   %edx
461583:	8a 45 f6             	mov    -0xa(%ebp),%al
461586:	8a 17                	mov    (%edi),%dl
461588:	2a d0                	sub    %al,%dl
46158a:	52                   	push   %edx
46158b:	50                   	push   %eax
46158c:	8a 45 fe             	mov    -0x2(%ebp),%al
46158f:	8a 55 08             	mov    0x8(%ebp),%dl
461592:	80 e2 3f             	and    $0x3f,%dl
461595:	2a c2                	sub    %dl,%al
461597:	50                   	push   %eax
461598:	8a 45 08             	mov    0x8(%ebp),%al
46159b:	24 3f                	and    $0x3f,%al
46159d:	50                   	push   %eax
46159e:	53                   	push   %ebx
46159f:	e8 f0 f8 ff ff       	call   0x460e94
4615a4:	80 7d f5 00          	cmpb   $0x0,-0xb(%ebp)
4615a8:	74 11                	je     0x4615bb
4615aa:	f6 46 01 80          	testb  $0x80,0x1(%esi)
4615ae:	75 0b                	jne    0x4615bb
4615b0:	8a 46 01             	mov    0x1(%esi),%al
4615b3:	e8 dc fe ff ff       	call   0x461494
4615b8:	88 46 01             	mov    %al,0x1(%esi)
4615bb:	8d 5e 02             	lea    0x2(%esi),%ebx
4615be:	33 d2                	xor    %edx,%edx
4615c0:	8a 16                	mov    (%esi),%dl
4615c2:	8b c2                	mov    %edx,%eax
4615c4:	d1 e8                	shr    $1,%eax
4615c6:	83 e2 01             	and    $0x1,%edx
4615c9:	83 fa 01             	cmp    $0x1,%edx
4615cc:	75 01                	jne    0x4615cf
4615ce:	40                   	inc    %eax
4615cf:	0f bf c0             	movswl %ax,%eax
4615d2:	83 f8 1f             	cmp    $0x1f,%eax
4615d5:	7f 0a                	jg     0x4615e1
4615d7:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
4615db:	40                   	inc    %eax
4615dc:	83 f8 20             	cmp    $0x20,%eax
4615df:	75 f6                	jne    0x4615d7
4615e1:	8a 45 fd             	mov    -0x3(%ebp),%al
4615e4:	5f                   	pop    %edi
4615e5:	5e                   	pop    %esi
4615e6:	5b                   	pop    %ebx
4615e7:	8b e5                	mov    %ebp,%esp
4615e9:	5d                   	pop    %ebp
4615ea:	c2 04 00             	ret    $0x4
4615ed:	8d 40 00             	lea    0x0(%eax),%eax
4615f0:	33 d2                	xor    %edx,%edx
4615f2:	8a 10                	mov    (%eax),%dl
4615f4:	83 c0 02             	add    $0x2,%eax
4615f7:	eb 04                	jmp    0x4615fd
4615f9:	83 ea 02             	sub    $0x2,%edx
4615fc:	40                   	inc    %eax
4615fd:	83 fa 01             	cmp    $0x1,%edx
461600:	7e 05                	jle    0x461607
461602:	80 38 00             	cmpb   $0x0,(%eax)
461605:	74 f2                	je     0x4615f9
461607:	8b c2                	mov    %edx,%eax
461609:	c3                   	ret
46160a:	8b c0                	mov    %eax,%eax
46160c:	53                   	push   %ebx
46160d:	56                   	push   %esi
46160e:	57                   	push   %edi
46160f:	55                   	push   %ebp
461610:	8b d9                	mov    %ecx,%ebx
461612:	8b fa                	mov    %edx,%edi
461614:	8b f0                	mov    %eax,%esi
461616:	8a 06                	mov    (%esi),%al
461618:	33 d2                	xor    %edx,%edx
46161a:	8a d0                	mov    %al,%dl
46161c:	3b fa                	cmp    %edx,%edi
46161e:	7c 0d                	jl     0x46162d
461620:	8b fb                	mov    %ebx,%edi
461622:	b9 08 00 00 00       	mov    $0x8,%ecx
461627:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
461629:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
46162b:	eb 5a                	jmp    0x461687
46162d:	88 03                	mov    %al,(%ebx)
46162f:	8a 46 01             	mov    0x1(%esi),%al
461632:	88 43 01             	mov    %al,0x1(%ebx)
461635:	8d 6b 02             	lea    0x2(%ebx),%ebp
461638:	8b c5                	mov    %ebp,%eax
46163a:	33 c9                	xor    %ecx,%ecx
46163c:	ba 20 00 00 00       	mov    $0x20,%edx
461641:	e8 26 17 fa ff       	call   0x402d6c
461646:	8d 46 02             	lea    0x2(%esi),%eax
461649:	8b f0                	mov    %eax,%esi
46164b:	eb 04                	jmp    0x461651
46164d:	80 2b 02             	subb   $0x2,(%ebx)
461650:	46                   	inc    %esi
461651:	33 c0                	xor    %eax,%eax
461653:	8a 03                	mov    (%ebx),%al
461655:	3b f8                	cmp    %eax,%edi
461657:	7d 05                	jge    0x46165e
461659:	80 3e 00             	cmpb   $0x0,(%esi)
46165c:	74 ef                	je     0x46164d
46165e:	8b c3                	mov    %ebx,%eax
461660:	e8 6f 0a 00 00       	call   0x4620d4
461665:	0f b7 c0             	movzwl %ax,%eax
461668:	33 d2                	xor    %edx,%edx
46166a:	8a 13                	mov    (%ebx),%dl
46166c:	03 c2                	add    %edx,%eax
46166e:	83 c0 02             	add    $0x2,%eax
461671:	d1 e8                	shr    $1,%eax
461673:	83 f8 20             	cmp    $0x20,%eax
461676:	7e 05                	jle    0x46167d
461678:	b8 20 00 00 00       	mov    $0x20,%eax
46167d:	8b d5                	mov    %ebp,%edx
46167f:	8b ce                	mov    %esi,%ecx
461681:	91                   	xchg   %eax,%ecx
461682:	e8 ed 12 fa ff       	call   0x402974
461687:	5d                   	pop    %ebp
461688:	5f                   	pop    %edi
461689:	5e                   	pop    %esi
46168a:	5b                   	pop    %ebx
46168b:	c3                   	ret
46168c:	55                   	push   %ebp
46168d:	8b ec                	mov    %esp,%ebp
46168f:	83 c4 d8             	add    $0xffffffd8,%esp
461692:	53                   	push   %ebx
461693:	56                   	push   %esi
461694:	57                   	push   %edi
461695:	8b f0                	mov    %eax,%esi
461697:	8d 7d da             	lea    -0x26(%ebp),%edi
46169a:	b9 08 00 00 00       	mov    $0x8,%ecx
46169f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4616a1:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4616a3:	8b da                	mov    %edx,%ebx