47e4c0:	8b cb                	mov    %ebx,%ecx
47e4c2:	ff d6                	call   *%esi
47e4c4:	8b 45 08             	mov    0x8(%ebp),%eax
47e4c7:	ff 75 0c             	push   0xc(%ebp)
47e4ca:	89 47 10             	mov    %eax,0x10(%edi)
47e4cd:	53                   	push   %ebx
47e4ce:	8b 00                	mov    (%eax),%eax
47e4d0:	8b 70 58             	mov    0x58(%eax),%esi
47e4d3:	8b ce                	mov    %esi,%ecx
47e4d5:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e4db:	8b 4d 08             	mov    0x8(%ebp),%ecx
47e4de:	ff d6                	call   *%esi
47e4e0:	5f                   	pop    %edi
47e4e1:	5e                   	pop    %esi
47e4e2:	5b                   	pop    %ebx
47e4e3:	5d                   	pop    %ebp
47e4e4:	c2 08 00             	ret    $0x8
47e4e7:	cc                   	int3
47e4e8:	cc                   	int3
47e4e9:	cc                   	int3
47e4ea:	cc                   	int3
47e4eb:	cc                   	int3
47e4ec:	cc                   	int3
47e4ed:	cc                   	int3
47e4ee:	cc                   	int3
47e4ef:	cc                   	int3
47e4f0:	8b ff                	mov    %edi,%edi
47e4f2:	55                   	push   %ebp
47e4f3:	8b ec                	mov    %esp,%ebp
47e4f5:	51                   	push   %ecx
47e4f6:	51                   	push   %ecx
47e4f7:	56                   	push   %esi
47e4f8:	8b 75 0c             	mov    0xc(%ebp),%esi
47e4fb:	6a 10                	push   $0x10
47e4fd:	ff 15 8c 7d 4a 00    	call   *0x4a7d8c
47e503:	b9 00 80 00 00       	mov    $0x8000,%ecx
47e508:	66 85 c1             	test   %ax,%cx
47e50b:	0f 84 9a 00 00 00    	je     0x47e5ab
47e511:	53                   	push   %ebx
47e512:	8b 5d 08             	mov    0x8(%ebp),%ebx
47e515:	57                   	push   %edi
47e516:	8b 0b                	mov    (%ebx),%ecx
47e518:	8b c1                	mov    %ecx,%eax
47e51a:	2b 06                	sub    (%esi),%eax
47e51c:	99                   	cltd
47e51d:	8b f8                	mov    %eax,%edi
47e51f:	8b 43 04             	mov    0x4(%ebx),%eax
47e522:	33 fa                	xor    %edx,%edi
47e524:	89 45 f8             	mov    %eax,-0x8(%ebp)
47e527:	2b fa                	sub    %edx,%edi
47e529:	8b d8                	mov    %eax,%ebx
47e52b:	2b 5e 04             	sub    0x4(%esi),%ebx
47e52e:	89 7d fc             	mov    %edi,-0x4(%ebp)
47e531:	85 ff                	test   %edi,%edi
47e533:	74 12                	je     0x47e547
47e535:	8b c3                	mov    %ebx,%eax
47e537:	99                   	cltd
47e538:	33 c2                	xor    %edx,%eax
47e53a:	2b c2                	sub    %edx,%eax
47e53c:	69 c0 e8 03 00 00    	imul   $0x3e8,%eax,%eax
47e542:	99                   	cltd
47e543:	f7 ff                	idiv   %edi
47e545:	eb 05                	jmp    0x47e54c
47e547:	b8 6e 09 00 00       	mov    $0x96e,%eax
47e54c:	3d 6e 09 00 00       	cmp    $0x96e,%eax
47e551:	7c 04                	jl     0x47e557
47e553:	6a 5a                	push   $0x5a
47e555:	eb 09                	jmp    0x47e560
47e557:	3d 9e 01 00 00       	cmp    $0x19e,%eax
47e55c:	7c 05                	jl     0x47e563
47e55e:	6a 2d                	push   $0x2d
47e560:	5f                   	pop    %edi
47e561:	eb 02                	jmp    0x47e565
47e563:	33 ff                	xor    %edi,%edi
47e565:	8b c3                	mov    %ebx,%eax
47e567:	99                   	cltd
47e568:	33 c2                	xor    %edx,%eax
47e56a:	2b c2                	sub    %edx,%eax
47e56c:	03 45 fc             	add    -0x4(%ebp),%eax
47e56f:	99                   	cltd
47e570:	2b c2                	sub    %edx,%eax
47e572:	8b d0                	mov    %eax,%edx
47e574:	d1 fa                	sar    $1,%edx
47e576:	83 ff 2d             	cmp    $0x2d,%edi
47e579:	74 0e                	je     0x47e589
47e57b:	83 ff 5a             	cmp    $0x5a,%edi
47e57e:	74 05                	je     0x47e585
47e580:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e583:	eb 21                	jmp    0x47e5a6
47e585:	89 0e                	mov    %ecx,(%esi)
47e587:	eb 20                	jmp    0x47e5a9
47e589:	39 0e                	cmp    %ecx,(%esi)
47e58b:	7d 04                	jge    0x47e591
47e58d:	2b ca                	sub    %edx,%ecx
47e58f:	eb 02                	jmp    0x47e593
47e591:	03 ca                	add    %edx,%ecx
47e593:	8b 45 08             	mov    0x8(%ebp),%eax
47e596:	89 0e                	mov    %ecx,(%esi)
47e598:	8b 40 04             	mov    0x4(%eax),%eax
47e59b:	39 46 04             	cmp    %eax,0x4(%esi)
47e59e:	7d 04                	jge    0x47e5a4
47e5a0:	2b c2                	sub    %edx,%eax
47e5a2:	eb 02                	jmp    0x47e5a6
47e5a4:	03 c2                	add    %edx,%eax
47e5a6:	89 46 04             	mov    %eax,0x4(%esi)
47e5a9:	5f                   	pop    %edi
47e5aa:	5b                   	pop    %ebx
47e5ab:	5e                   	pop    %esi
47e5ac:	c9                   	leave
47e5ad:	c2 08 00             	ret    $0x8
47e5b0:	32 c0                	xor    %al,%al
47e5b2:	c2 0c 00             	ret    $0xc
47e5b5:	cc                   	int3
47e5b6:	cc                   	int3
47e5b7:	cc                   	int3
47e5b8:	cc                   	int3
47e5b9:	cc                   	int3
47e5ba:	cc                   	int3
47e5bb:	cc                   	int3
47e5bc:	cc                   	int3
47e5bd:	cc                   	int3
47e5be:	cc                   	int3
47e5bf:	cc                   	int3
47e5c0:	8b ff                	mov    %edi,%edi
47e5c2:	55                   	push   %ebp
47e5c3:	8b ec                	mov    %esp,%ebp
47e5c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
47e5c8:	33 c0                	xor    %eax,%eax
47e5ca:	85 c9                	test   %ecx,%ecx
47e5cc:	78 0c                	js     0x47e5da
47e5ce:	83 f9 0a             	cmp    $0xa,%ecx
47e5d1:	7e 07                	jle    0x47e5da
47e5d3:	83 f9 0b             	cmp    $0xb,%ecx
47e5d6:	75 02                	jne    0x47e5da
47e5d8:	b0 01                	mov    $0x1,%al
47e5da:	5d                   	pop    %ebp
47e5db:	c2 04 00             	ret    $0x4
47e5de:	cc                   	int3
47e5df:	cc                   	int3
47e5e0:	8b ff                	mov    %edi,%edi
47e5e2:	55                   	push   %ebp
47e5e3:	8b ec                	mov    %esp,%ebp
47e5e5:	83 ec 24             	sub    $0x24,%esp
47e5e8:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
47e5ed:	33 c5                	xor    %ebp,%eax
47e5ef:	89 45 fc             	mov    %eax,-0x4(%ebp)
47e5f2:	f6 05 c0 46 4a 00 02 	testb  $0x2,0x4a46c0
47e5f9:	53                   	push   %ebx
47e5fa:	8b 5d 08             	mov    0x8(%ebp),%ebx
47e5fd:	56                   	push   %esi
47e5fe:	8b f1                	mov    %ecx,%esi
47e600:	57                   	push   %edi
47e601:	89 75 dc             	mov    %esi,-0x24(%ebp)
47e604:	74 10                	je     0x47e616
47e606:	8b 46 04             	mov    0x4(%esi),%eax
47e609:	ba 80 f6 40 00       	mov    $0x40f680,%edx
47e60e:	ff 70 1c             	push   0x1c(%eax)
47e611:	e8 09 32 fb ff       	call   0x43181f
47e616:	8b 46 04             	mov    0x4(%esi),%eax
47e619:	8b 78 14             	mov    0x14(%eax),%edi
47e61c:	8b 07                	mov    (%edi),%eax
47e61e:	8b 70 10             	mov    0x10(%eax),%esi
47e621:	8b ce                	mov    %esi,%ecx
47e623:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e629:	8b cf                	mov    %edi,%ecx
47e62b:	ff d6                	call   *%esi
47e62d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
47e630:	89 45 e0             	mov    %eax,-0x20(%ebp)
47e633:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47e636:	50                   	push   %eax
47e637:	8b 49 04             	mov    0x4(%ecx),%ecx
47e63a:	8b 79 14             	mov    0x14(%ecx),%edi
47e63d:	8b 17                	mov    (%edi),%edx
47e63f:	8b 72 1c             	mov    0x1c(%edx),%esi
47e642:	8b ce                	mov    %esi,%ecx
47e644:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e64a:	8b cf                	mov    %edi,%ecx
47e64c:	ff d6                	call   *%esi
47e64e:	8b c8                	mov    %eax,%ecx
47e650:	e8 b9 9f ff ff       	call   0x47860e
47e655:	84 c0                	test   %al,%al
47e657:	74 36                	je     0x47e68f
47e659:	8b 75 e4             	mov    -0x1c(%ebp),%esi
47e65c:	8b ce                	mov    %esi,%ecx
47e65e:	e8 aa ac ff ff       	call   0x47930d
47e663:	8b 36                	mov    (%esi),%esi
47e665:	85 f6                	test   %esi,%esi
47e667:	74 26                	je     0x47e68f
47e669:	8d 43 14             	lea    0x14(%ebx),%eax
47e66c:	50                   	push   %eax
47e66d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47e670:	e8 ba 24 00 00       	call   0x480b2f
47e675:	8b 7d e0             	mov    -0x20(%ebp),%edi
47e678:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47e67b:	89 75 e8             	mov    %esi,-0x18(%ebp)
47e67e:	51                   	push   %ecx
47e67f:	8b 07                	mov    (%edi),%eax
47e681:	8b 30                	mov    (%eax),%esi
47e683:	8b ce                	mov    %esi,%ecx
47e685:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e68b:	8b cf                	mov    %edi,%ecx
47e68d:	ff d6                	call   *%esi
47e68f:	8b 45 dc             	mov    -0x24(%ebp),%eax
47e692:	8b 40 04             	mov    0x4(%eax),%eax
47e695:	8b 78 14             	mov    0x14(%eax),%edi
47e698:	8b 07                	mov    (%edi),%eax
47e69a:	8b 70 1c             	mov    0x1c(%eax),%esi
47e69d:	8b ce                	mov    %esi,%ecx
47e69f:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e6a5:	8b cf                	mov    %edi,%ecx
47e6a7:	ff d6                	call   *%esi
47e6a9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
47e6ac:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47e6af:	51                   	push   %ecx
47e6b0:	8b c8                	mov    %eax,%ecx
47e6b2:	e8 57 9f ff ff       	call   0x47860e
47e6b7:	84 c0                	test   %al,%al
47e6b9:	74 41                	je     0x47e6fc
47e6bb:	8b 7d e0             	mov    -0x20(%ebp),%edi
47e6be:	8b cf                	mov    %edi,%ecx
47e6c0:	e8 48 ac ff ff       	call   0x47930d
47e6c5:	83 3f 00             	cmpl   $0x0,(%edi)
47e6c8:	74 32                	je     0x47e6fc
47e6ca:	8b 03                	mov    (%ebx),%eax
47e6cc:	6a 00                	push   $0x0
47e6ce:	ff 37                	push   (%edi)
47e6d0:	8b 70 60             	mov    0x60(%eax),%esi
47e6d3:	8b ce                	mov    %esi,%ecx
47e6d5:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e6db:	8b cb                	mov    %ebx,%ecx
47e6dd:	ff d6                	call   *%esi
47e6df:	84 c0                	test   %al,%al
47e6e1:	74 19                	je     0x47e6fc
47e6e3:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
47e6e6:	8d 45 ec             	lea    -0x14(%ebp),%eax
47e6e9:	50                   	push   %eax
47e6ea:	c7 45 ec 1e 00 00 00 	movl   $0x1e,-0x14(%ebp)
47e6f1:	89 7d f4             	mov    %edi,-0xc(%ebp)
47e6f4:	89 5d f8             	mov    %ebx,-0x8(%ebp)
47e6f7:	e8 21 a0 ff ff       	call   0x47871d
47e6fc:	f6 05 c0 46 4a 00 02 	testb  $0x2,0x4a46c0
47e703:	5f                   	pop    %edi
47e704:	5e                   	pop    %esi
47e705:	5b                   	pop    %ebx
47e706:	74 11                	je     0x47e719
47e708:	8d 45 ec             	lea    -0x14(%ebp),%eax
47e70b:	ba b0 f8 40 00       	mov    $0x40f8b0,%edx
47e710:	50                   	push   %eax
47e711:	6a 01                	push   $0x1
47e713:	51                   	push   %ecx
47e714:	e8 8a 6d fa ff       	call   0x4254a3
47e719:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47e71c:	33 cd                	xor    %ebp,%ecx
47e71e:	e8 dd 17 01 00       	call   0x48ff00
47e723:	c9                   	leave
47e724:	c2 04 00             	ret    $0x4
47e727:	6a 08                	push   $0x8
47e729:	b8 07 66 49 00       	mov    $0x496607,%eax
47e72e:	e8 a0 1d 01 00       	call   0x4904d3
47e733:	8b f9                	mov    %ecx,%edi
47e735:	89 7d ec             	mov    %edi,-0x14(%ebp)
47e738:	8b 45 08             	mov    0x8(%ebp),%eax
47e73b:	33 d2                	xor    %edx,%edx
47e73d:	89 57 04             	mov    %edx,0x4(%edi)
47e740:	89 57 08             	mov    %edx,0x8(%edi)
47e743:	89 57 0c             	mov    %edx,0xc(%edi)
47e746:	89 57 10             	mov    %edx,0x10(%edi)
47e749:	89 57 18             	mov    %edx,0x18(%edi)
47e74c:	89 47 1c             	mov    %eax,0x1c(%edi)
47e74f:	89 55 fc             	mov    %edx,-0x4(%ebp)
47e752:	b8 34 15 40 00       	mov    $0x401534,%eax
47e757:	6a 07                	push   $0x7
47e759:	c7 07 cc 71 40 00    	movl   $0x4071cc,(%edi)
47e75f:	89 57 20             	mov    %edx,0x20(%edi)
47e762:	89 57 24             	mov    %edx,0x24(%edi)
47e765:	59                   	pop    %ecx
47e766:	89 4f 6c             	mov    %ecx,0x6c(%edi)
47e769:	89 47 68             	mov    %eax,0x68(%edi)
47e76c:	89 57 70             	mov    %edx,0x70(%edi)
47e76f:	89 4f 78             	mov    %ecx,0x78(%edi)
47e772:	89 47 74             	mov    %eax,0x74(%edi)
47e775:	89 57 7c             	mov    %edx,0x7c(%edi)
47e778:	8d b7 80 00 00 00    	lea    0x80(%edi),%esi
47e77e:	89 56 04             	mov    %edx,0x4(%esi)
47e781:	89 56 08             	mov    %edx,0x8(%esi)
47e784:	89 56 0c             	mov    %edx,0xc(%esi)
47e787:	8d 45 f0             	lea    -0x10(%ebp),%eax
47e78a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
47e78e:	50                   	push   %eax
47e78f:	8b ce                	mov    %esi,%ecx
47e791:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
47e798:	e8 94 2d fb ff       	call   0x431531
47e79d:	8d 45 f0             	lea    -0x10(%ebp),%eax
47e7a0:	c7 45 f0 03 00 00 00 	movl   $0x3,-0x10(%ebp)
47e7a7:	50                   	push   %eax
47e7a8:	8b ce                	mov    %esi,%ecx
47e7aa:	e8 82 2d fb ff       	call   0x431531
47e7af:	8d 45 f0             	lea    -0x10(%ebp),%eax
47e7b2:	c7 45 f0 05 00 00 00 	movl   $0x5,-0x10(%ebp)
47e7b9:	50                   	push   %eax
47e7ba:	8b ce                	mov    %esi,%ecx
47e7bc:	e8 70 2d fb ff       	call   0x431531
47e7c1:	8d 45 f0             	lea    -0x10(%ebp),%eax
47e7c4:	c7 45 f0 08 00 00 00 	movl   $0x8,-0x10(%ebp)
47e7cb:	50                   	push   %eax
47e7cc:	8b ce                	mov    %esi,%ecx
47e7ce:	e8 5e 2d fb ff       	call   0x431531
47e7d3:	8b c7                	mov    %edi,%eax
47e7d5:	e8 c7 1c 01 00       	call   0x4904a1
47e7da:	c2 04 00             	ret    $0x4
47e7dd:	cc                   	int3
47e7de:	cc                   	int3
47e7df:	cc                   	int3
47e7e0:	8b ff                	mov    %edi,%edi
47e7e2:	55                   	push   %ebp
47e7e3:	8b ec                	mov    %esp,%ebp
47e7e5:	56                   	push   %esi
47e7e6:	8b f1                	mov    %ecx,%esi
47e7e8:	e8 15 00 00 00       	call   0x47e802
47e7ed:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
47e7f1:	74 08                	je     0x47e7fb
47e7f3:	56                   	push   %esi
47e7f4:	ff 15 10 74 4a 00    	call   *0x4a7410
47e7fa:	59                   	pop    %ecx
47e7fb:	8b c6                	mov    %esi,%eax
47e7fd:	5e                   	pop    %esi
47e7fe:	5d                   	pop    %ebp
47e7ff:	c2 04 00             	ret    $0x4
47e802:	8b ff                	mov    %edi,%edi
47e804:	56                   	push   %esi
47e805:	8b f1                	mov    %ecx,%esi
47e807:	8d 8e 80 00 00 00    	lea    0x80(%esi),%ecx
47e80d:	c7 06 cc 71 40 00    	movl   $0x4071cc,(%esi)
47e813:	e8 f8 f0 f9 ff       	call   0x41d910
47e818:	b8 18 15 40 00       	mov    $0x401518,%eax
47e81d:	c7 06 38 71 40 00    	movl   $0x407138,(%esi)
47e823:	89 46 74             	mov    %eax,0x74(%esi)
47e826:	89 46 68             	mov    %eax,0x68(%esi)
47e829:	5e                   	pop    %esi
47e82a:	c3                   	ret
47e82b:	cc                   	int3
47e82c:	cc                   	int3
47e82d:	cc                   	int3
47e82e:	cc                   	int3
47e82f:	cc                   	int3
47e830:	8b ff                	mov    %edi,%edi
47e832:	55                   	push   %ebp
47e833:	8b ec                	mov    %esp,%ebp
47e835:	51                   	push   %ecx
47e836:	51                   	push   %ecx