47a45a:	8b c6                	mov    %esi,%eax
47a45c:	2b 07                	sub    (%edi),%eax
47a45e:	89 45 f4             	mov    %eax,-0xc(%ebp)
47a461:	99                   	cltd
47a462:	8b c8                	mov    %eax,%ecx
47a464:	8b 45 f8             	mov    -0x8(%ebp),%eax
47a467:	33 ca                	xor    %edx,%ecx
47a469:	2b ca                	sub    %edx,%ecx
47a46b:	99                   	cltd
47a46c:	33 c2                	xor    %edx,%eax
47a46e:	2b c2                	sub    %edx,%eax
47a470:	3b c8                	cmp    %eax,%ecx
47a472:	8b 45 f4             	mov    -0xc(%ebp),%eax
47a475:	7c 03                	jl     0x47a47a
47a477:	8b 45 f8             	mov    -0x8(%ebp),%eax
47a47a:	99                   	cltd
47a47b:	8b c8                	mov    %eax,%ecx
47a47d:	8b 45 f0             	mov    -0x10(%ebp),%eax
47a480:	33 ca                	xor    %edx,%ecx
47a482:	2b ca                	sub    %edx,%ecx
47a484:	8b 40 58             	mov    0x58(%eax),%eax
47a487:	83 e8 2d             	sub    $0x2d,%eax
47a48a:	74 48                	je     0x47a4d4
47a48c:	83 e8 2d             	sub    $0x2d,%eax
47a48f:	74 3f                	je     0x47a4d0
47a491:	83 e8 2d             	sub    $0x2d,%eax
47a494:	74 0f                	je     0x47a4a5
47a496:	83 e8 5a             	sub    $0x5a,%eax
47a499:	74 39                	je     0x47a4d4
47a49b:	83 e8 5a             	sub    $0x5a,%eax
47a49e:	74 05                	je     0x47a4a5
47a4a0:	8b 43 04             	mov    0x4(%ebx),%eax
47a4a3:	eb 54                	jmp    0x47a4f9
47a4a5:	39 37                	cmp    %esi,(%edi)
47a4a7:	7f 1b                	jg     0x47a4c4
47a4a9:	8b 43 04             	mov    0x4(%ebx),%eax
47a4ac:	39 47 04             	cmp    %eax,0x4(%edi)
47a4af:	7c 13                	jl     0x47a4c4
47a4b1:	39 37                	cmp    %esi,(%edi)
47a4b3:	7c 09                	jl     0x47a4be
47a4b5:	39 47 04             	cmp    %eax,0x4(%edi)
47a4b8:	7f 04                	jg     0x47a4be
47a4ba:	89 37                	mov    %esi,(%edi)
47a4bc:	eb e2                	jmp    0x47a4a0
47a4be:	2b f1                	sub    %ecx,%esi
47a4c0:	89 37                	mov    %esi,(%edi)
47a4c2:	eb 30                	jmp    0x47a4f4
47a4c4:	8d 04 31             	lea    (%ecx,%esi,1),%eax
47a4c7:	89 07                	mov    %eax,(%edi)
47a4c9:	8b 43 04             	mov    0x4(%ebx),%eax
47a4cc:	2b c1                	sub    %ecx,%eax
47a4ce:	eb 29                	jmp    0x47a4f9
47a4d0:	89 37                	mov    %esi,(%edi)
47a4d2:	eb 28                	jmp    0x47a4fc
47a4d4:	39 37                	cmp    %esi,(%edi)
47a4d6:	7f 17                	jg     0x47a4ef
47a4d8:	8b 43 04             	mov    0x4(%ebx),%eax
47a4db:	39 47 04             	cmp    %eax,0x4(%edi)
47a4de:	7f 0f                	jg     0x47a4ef
47a4e0:	39 37                	cmp    %esi,(%edi)
47a4e2:	7c 05                	jl     0x47a4e9
47a4e4:	39 47 04             	cmp    %eax,0x4(%edi)
47a4e7:	7d d1                	jge    0x47a4ba
47a4e9:	2b f1                	sub    %ecx,%esi
47a4eb:	89 37                	mov    %esi,(%edi)
47a4ed:	eb da                	jmp    0x47a4c9
47a4ef:	8d 04 31             	lea    (%ecx,%esi,1),%eax
47a4f2:	89 07                	mov    %eax,(%edi)
47a4f4:	8b 43 04             	mov    0x4(%ebx),%eax
47a4f7:	03 c1                	add    %ecx,%eax
47a4f9:	89 47 04             	mov    %eax,0x4(%edi)
47a4fc:	5f                   	pop    %edi
47a4fd:	5e                   	pop    %esi
47a4fe:	5b                   	pop    %ebx
47a4ff:	c9                   	leave
47a500:	c2 08 00             	ret    $0x8
47a503:	cc                   	int3
47a504:	cc                   	int3
47a505:	cc                   	int3
47a506:	cc                   	int3
47a507:	cc                   	int3
47a508:	cc                   	int3
47a509:	cc                   	int3
47a50a:	cc                   	int3
47a50b:	cc                   	int3
47a50c:	cc                   	int3
47a50d:	cc                   	int3
47a50e:	cc                   	int3
47a50f:	cc                   	int3
47a510:	8b ff                	mov    %edi,%edi
47a512:	55                   	push   %ebp
47a513:	8b ec                	mov    %esp,%ebp
47a515:	56                   	push   %esi
47a516:	6a 10                	push   $0x10
47a518:	8b f1                	mov    %ecx,%esi
47a51a:	ff 15 8c 7d 4a 00    	call   *0x4a7d8c
47a520:	b9 00 80 00 00       	mov    $0x8000,%ecx
47a525:	66 85 c1             	test   %ax,%cx
47a528:	74 29                	je     0x47a553
47a52a:	80 7e 54 00          	cmpb   $0x0,0x54(%esi)
47a52e:	57                   	push   %edi
47a52f:	8b 7d 0c             	mov    0xc(%ebp),%edi
47a532:	75 0f                	jne    0x47a543
47a534:	ff 77 04             	push   0x4(%edi)
47a537:	8b ce                	mov    %esi,%ecx
47a539:	ff 37                	push   (%edi)
47a53b:	ff 75 08             	push   0x8(%ebp)
47a53e:	e8 90 fe ff ff       	call   0x47a3d3
47a543:	57                   	push   %edi
47a544:	ff 75 08             	push   0x8(%ebp)
47a547:	8b ce                	mov    %esi,%ecx
47a549:	e8 ed fe ff ff       	call   0x47a43b
47a54e:	b0 01                	mov    $0x1,%al
47a550:	5f                   	pop    %edi
47a551:	eb 02                	jmp    0x47a555
47a553:	32 c0                	xor    %al,%al
47a555:	88 46 54             	mov    %al,0x54(%esi)
47a558:	5e                   	pop    %esi
47a559:	5d                   	pop    %ebp
47a55a:	c2 08 00             	ret    $0x8
47a55d:	cc                   	int3
47a55e:	cc                   	int3
47a55f:	cc                   	int3
47a560:	8b ff                	mov    %edi,%edi
47a562:	55                   	push   %ebp
47a563:	8b ec                	mov    %esp,%ebp
47a565:	53                   	push   %ebx
47a566:	56                   	push   %esi
47a567:	33 db                	xor    %ebx,%ebx
47a569:	8b f1                	mov    %ecx,%esi
47a56b:	53                   	push   %ebx
47a56c:	68 54 30 4a 00       	push   $0x4a3054
47a571:	68 34 30 4a 00       	push   $0x4a3034
47a576:	53                   	push   %ebx
47a577:	ff 75 0c             	push   0xc(%ebp)
47a57a:	e8 5f 6a 01 00       	call   0x490fde
47a57f:	83 c4 14             	add    $0x14,%esp
47a582:	8b 48 0c             	mov    0xc(%eax),%ecx
47a585:	ff 75 0c             	push   0xc(%ebp)
47a588:	89 4e 10             	mov    %ecx,0x10(%esi)
47a58b:	8b ce                	mov    %esi,%ecx
47a58d:	8b 40 10             	mov    0x10(%eax),%eax
47a590:	ff 75 08             	push   0x8(%ebp)
47a593:	89 46 14             	mov    %eax,0x14(%esi)
47a596:	8b 46 0c             	mov    0xc(%esi),%eax
47a599:	88 58 54             	mov    %bl,0x54(%eax)
47a59c:	8b 46 0c             	mov    0xc(%esi),%eax
47a59f:	89 58 58             	mov    %ebx,0x58(%eax)
47a5a2:	e8 39 35 00 00       	call   0x47dae0
47a5a7:	5e                   	pop    %esi
47a5a8:	5b                   	pop    %ebx
47a5a9:	5d                   	pop    %ebp
47a5aa:	c2 08 00             	ret    $0x8
47a5ad:	cc                   	int3
47a5ae:	cc                   	int3
47a5af:	cc                   	int3
47a5b0:	8b ff                	mov    %edi,%edi
47a5b2:	55                   	push   %ebp
47a5b3:	8b ec                	mov    %esp,%ebp
47a5b5:	83 e4 f8             	and    $0xfffffff8,%esp
47a5b8:	83 ec 0c             	sub    $0xc,%esp
47a5bb:	8b 55 08             	mov    0x8(%ebp),%edx
47a5be:	53                   	push   %ebx
47a5bf:	56                   	push   %esi
47a5c0:	57                   	push   %edi
47a5c1:	8b 79 0c             	mov    0xc(%ecx),%edi
47a5c4:	8d 59 10             	lea    0x10(%ecx),%ebx
47a5c7:	8b 02                	mov    (%edx),%eax
47a5c9:	89 44 24 10          	mov    %eax,0x10(%esp)
47a5cd:	8b 42 04             	mov    0x4(%edx),%eax
47a5d0:	89 44 24 14          	mov    %eax,0x14(%esp)
47a5d4:	8b 07                	mov    (%edi),%eax
47a5d6:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
47a5da:	8d 4c 24 10          	lea    0x10(%esp),%ecx
47a5de:	51                   	push   %ecx
47a5df:	53                   	push   %ebx
47a5e0:	8b 70 50             	mov    0x50(%eax),%esi
47a5e3:	8b ce                	mov    %esi,%ecx
47a5e5:	ff 15 2c 81 4a 00    	call   *0x4a812c
47a5eb:	8b cf                	mov    %edi,%ecx
47a5ed:	ff d6                	call   *%esi
47a5ef:	8b 44 24 10          	mov    0x10(%esp),%eax
47a5f3:	ff 75 0c             	push   0xc(%ebp)
47a5f6:	8b 4c 24 10          	mov    0x10(%esp),%ecx
47a5fa:	89 03                	mov    %eax,(%ebx)
47a5fc:	8b 44 24 18          	mov    0x18(%esp),%eax
47a600:	89 43 04             	mov    %eax,0x4(%ebx)
47a603:	8d 44 24 14          	lea    0x14(%esp),%eax
47a607:	50                   	push   %eax
47a608:	e8 63 34 00 00       	call   0x47da70
47a60d:	5f                   	pop    %edi
47a60e:	5e                   	pop    %esi
47a60f:	5b                   	pop    %ebx
47a610:	8b e5                	mov    %ebp,%esp
47a612:	5d                   	pop    %ebp
47a613:	c2 08 00             	ret    $0x8
47a616:	cc                   	int3
47a617:	cc                   	int3
47a618:	cc                   	int3
47a619:	cc                   	int3
47a61a:	cc                   	int3
47a61b:	cc                   	int3
47a61c:	cc                   	int3
47a61d:	cc                   	int3
47a61e:	cc                   	int3
47a61f:	cc                   	int3
47a620:	8b ff                	mov    %edi,%edi
47a622:	55                   	push   %ebp
47a623:	8b ec                	mov    %esp,%ebp
47a625:	83 ec 0c             	sub    $0xc,%esp
47a628:	8b 55 08             	mov    0x8(%ebp),%edx
47a62b:	53                   	push   %ebx
47a62c:	56                   	push   %esi
47a62d:	57                   	push   %edi
47a62e:	8b 79 0c             	mov    0xc(%ecx),%edi
47a631:	8d 59 10             	lea    0x10(%ecx),%ebx
47a634:	8b 02                	mov    (%edx),%eax
47a636:	89 45 f4             	mov    %eax,-0xc(%ebp)
47a639:	8b 42 04             	mov    0x4(%edx),%eax
47a63c:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a63f:	8b 07                	mov    (%edi),%eax
47a641:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47a644:	8d 4d f4             	lea    -0xc(%ebp),%ecx
47a647:	51                   	push   %ecx
47a648:	53                   	push   %ebx
47a649:	8b 70 50             	mov    0x50(%eax),%esi
47a64c:	8b ce                	mov    %esi,%ecx
47a64e:	ff 15 2c 81 4a 00    	call   *0x4a812c
47a654:	8b cf                	mov    %edi,%ecx
47a656:	ff d6                	call   *%esi
47a658:	8b 45 f4             	mov    -0xc(%ebp),%eax
47a65b:	ff 75 0c             	push   0xc(%ebp)
47a65e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47a661:	89 03                	mov    %eax,(%ebx)
47a663:	8b 45 f8             	mov    -0x8(%ebp),%eax
47a666:	89 43 04             	mov    %eax,0x4(%ebx)
47a669:	8d 45 f4             	lea    -0xc(%ebp),%eax
47a66c:	50                   	push   %eax
47a66d:	e8 2e 33 00 00       	call   0x47d9a0
47a672:	5f                   	pop    %edi
47a673:	5e                   	pop    %esi
47a674:	5b                   	pop    %ebx
47a675:	c9                   	leave
47a676:	c2 08 00             	ret    $0x8
47a679:	cc                   	int3
47a67a:	cc                   	int3
47a67b:	cc                   	int3
47a67c:	cc                   	int3
47a67d:	cc                   	int3
47a67e:	cc                   	int3
47a67f:	cc                   	int3
47a680:	8b ff                	mov    %edi,%edi
47a682:	55                   	push   %ebp
47a683:	8b ec                	mov    %esp,%ebp
47a685:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
47a689:	56                   	push   %esi
47a68a:	8b f1                	mov    %ecx,%esi
47a68c:	c7 06 b8 60 40 00    	movl   $0x4060b8,(%esi)
47a692:	74 08                	je     0x47a69c
47a694:	56                   	push   %esi
47a695:	ff 15 10 74 4a 00    	call   *0x4a7410
47a69b:	59                   	pop    %ecx
47a69c:	8b c6                	mov    %esi,%eax
47a69e:	5e                   	pop    %esi
47a69f:	5d                   	pop    %ebp
47a6a0:	c2 04 00             	ret    $0x4
47a6a3:	cc                   	int3
47a6a4:	cc                   	int3
47a6a5:	cc                   	int3
47a6a6:	cc                   	int3
47a6a7:	cc                   	int3
47a6a8:	cc                   	int3
47a6a9:	cc                   	int3
47a6aa:	cc                   	int3
47a6ab:	cc                   	int3
47a6ac:	cc                   	int3
47a6ad:	cc                   	int3
47a6ae:	cc                   	int3
47a6af:	cc                   	int3
47a6b0:	8d 41 2c             	lea    0x2c(%ecx),%eax
47a6b3:	c3                   	ret
47a6b4:	cc                   	int3
47a6b5:	cc                   	int3
47a6b6:	cc                   	int3
47a6b7:	cc                   	int3
47a6b8:	cc                   	int3
47a6b9:	cc                   	int3
47a6ba:	cc                   	int3
47a6bb:	cc                   	int3
47a6bc:	cc                   	int3
47a6bd:	cc                   	int3
47a6be:	cc                   	int3
47a6bf:	cc                   	int3
47a6c0:	8b ff                	mov    %edi,%edi
47a6c2:	55                   	push   %ebp
47a6c3:	8b ec                	mov    %esp,%ebp
47a6c5:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
47a6c9:	f7 d8                	neg    %eax
47a6cb:	1b c0                	sbb    %eax,%eax
47a6cd:	83 e0 03             	and    $0x3,%eax
47a6d0:	5d                   	pop    %ebp
47a6d1:	c2 04 00             	ret    $0x4
47a6d4:	cc                   	int3
47a6d5:	cc                   	int3
47a6d6:	cc                   	int3
47a6d7:	cc                   	int3
47a6d8:	cc                   	int3
47a6d9:	cc                   	int3
47a6da:	cc                   	int3
47a6db:	cc                   	int3
47a6dc:	cc                   	int3
47a6dd:	cc                   	int3
47a6de:	cc                   	int3
47a6df:	cc                   	int3
47a6e0:	8b ff                	mov    %edi,%edi
47a6e2:	55                   	push   %ebp
47a6e3:	8b ec                	mov    %esp,%ebp
47a6e5:	ff 75 08             	push   0x8(%ebp)
47a6e8:	83 c1 2c             	add    $0x2c,%ecx
47a6eb:	e8 87 6e fb ff       	call   0x431577
47a6f0:	8b 00                	mov    (%eax),%eax
47a6f2:	5d                   	pop    %ebp
47a6f3:	c2 04 00             	ret    $0x4
47a6f6:	cc                   	int3
47a6f7:	cc                   	int3
47a6f8:	cc                   	int3
47a6f9:	cc                   	int3
47a6fa:	cc                   	int3
47a6fb:	cc                   	int3
47a6fc:	cc                   	int3
47a6fd:	cc                   	int3
47a6fe:	cc                   	int3
47a6ff:	cc                   	int3
47a700:	8b 41 50             	mov    0x50(%ecx),%eax
47a703:	c3                   	ret
47a704:	cc                   	int3
47a705:	cc                   	int3
47a706:	cc                   	int3
47a707:	cc                   	int3
47a708:	cc                   	int3
47a709:	cc                   	int3
47a70a:	cc                   	int3
47a70b:	cc                   	int3
47a70c:	cc                   	int3
47a70d:	cc                   	int3
47a70e:	cc                   	int3
47a70f:	cc                   	int3
47a710:	8b ff                	mov    %edi,%edi
47a712:	55                   	push   %ebp
47a713:	8b ec                	mov    %esp,%ebp