5a455d:	8b d7                	mov    %edi,%edx
5a455f:	8b c3                	mov    %ebx,%eax
5a4561:	e8 e6 3f e8 ff       	call   0x42854c
5a4566:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a4569:	d1 f8                	sar    $1,%eax
5a456b:	79 03                	jns    0x5a4570
5a456d:	83 d0 00             	adc    $0x0,%eax
5a4570:	8b 55 fc             	mov    -0x4(%ebp),%edx
5a4573:	2b d0                	sub    %eax,%edx
5a4575:	89 17                	mov    %edx,(%edi)
5a4577:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a457a:	2b 45 f4             	sub    -0xc(%ebp),%eax
5a457d:	d1 f8                	sar    $1,%eax
5a457f:	79 03                	jns    0x5a4584
5a4581:	83 d0 00             	adc    $0x0,%eax
5a4584:	03 45 fc             	add    -0x4(%ebp),%eax
5a4587:	89 47 08             	mov    %eax,0x8(%edi)
5a458a:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a458d:	d1 f8                	sar    $1,%eax
5a458f:	79 03                	jns    0x5a4594
5a4591:	83 d0 00             	adc    $0x0,%eax
5a4594:	48                   	dec    %eax
5a4595:	89 47 04             	mov    %eax,0x4(%edi)
5a4598:	8b 55 f8             	mov    -0x8(%ebp),%edx
5a459b:	89 57 0c             	mov    %edx,0xc(%edi)
5a459e:	8b 55 fc             	mov    -0x4(%ebp),%edx
5a45a1:	d1 fa                	sar    $1,%edx
5a45a3:	79 03                	jns    0x5a45a8
5a45a5:	83 d2 00             	adc    $0x0,%edx
5a45a8:	42                   	inc    %edx
5a45a9:	89 55 cc             	mov    %edx,-0x34(%ebp)
5a45ac:	8b 55 fc             	mov    -0x4(%ebp),%edx
5a45af:	89 55 d4             	mov    %edx,-0x2c(%ebp)
5a45b2:	89 45 d0             	mov    %eax,-0x30(%ebp)
5a45b5:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a45b8:	89 45 d8             	mov    %eax,-0x28(%ebp)
5a45bb:	8d 45 cc             	lea    -0x34(%ebp),%eax
5a45be:	50                   	push   %eax
5a45bf:	8b c6                	mov    %esi,%eax
5a45c1:	e8 d2 91 e8 ff       	call   0x42d798
5a45c6:	8b c8                	mov    %eax,%ecx
5a45c8:	8b d7                	mov    %edi,%edx
5a45ca:	8b c3                	mov    %ebx,%eax
5a45cc:	e8 7b 3f e8 ff       	call   0x42854c
5a45d1:	33 c0                	xor    %eax,%eax
5a45d3:	89 07                	mov    %eax,(%edi)
5a45d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a45d8:	d1 f8                	sar    $1,%eax
5a45da:	79 03                	jns    0x5a45df
5a45dc:	83 d0 00             	adc    $0x0,%eax
5a45df:	40                   	inc    %eax
5a45e0:	89 47 08             	mov    %eax,0x8(%edi)
5a45e3:	8b 55 f0             	mov    -0x10(%ebp),%edx
5a45e6:	d1 fa                	sar    $1,%edx
5a45e8:	79 03                	jns    0x5a45ed
5a45ea:	83 d2 00             	adc    $0x0,%edx
5a45ed:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5a45f0:	2b ca                	sub    %edx,%ecx
5a45f2:	89 4f 04             	mov    %ecx,0x4(%edi)
5a45f5:	8b 55 f8             	mov    -0x8(%ebp),%edx
5a45f8:	2b 55 f0             	sub    -0x10(%ebp),%edx
5a45fb:	d1 fa                	sar    $1,%edx
5a45fd:	79 03                	jns    0x5a4602
5a45ff:	83 d2 00             	adc    $0x0,%edx
5a4602:	03 55 f8             	add    -0x8(%ebp),%edx
5a4605:	89 57 0c             	mov    %edx,0xc(%edi)
5a4608:	33 d2                	xor    %edx,%edx
5a460a:	89 55 cc             	mov    %edx,-0x34(%ebp)
5a460d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5a4610:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a4613:	d1 f8                	sar    $1,%eax
5a4615:	79 03                	jns    0x5a461a
5a4617:	83 d0 00             	adc    $0x0,%eax
5a461a:	40                   	inc    %eax
5a461b:	89 45 d0             	mov    %eax,-0x30(%ebp)
5a461e:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a4621:	89 45 d8             	mov    %eax,-0x28(%ebp)
5a4624:	8d 45 cc             	lea    -0x34(%ebp),%eax
5a4627:	50                   	push   %eax
5a4628:	8b c6                	mov    %esi,%eax
5a462a:	e8 69 91 e8 ff       	call   0x42d798
5a462f:	8b c8                	mov    %eax,%ecx
5a4631:	8b d7                	mov    %edi,%edx
5a4633:	8b c3                	mov    %ebx,%eax
5a4635:	e8 12 3f e8 ff       	call   0x42854c
5a463a:	5f                   	pop    %edi
5a463b:	5e                   	pop    %esi
5a463c:	5b                   	pop    %ebx
5a463d:	8b e5                	mov    %ebp,%esp
5a463f:	5d                   	pop    %ebp
5a4640:	c2 0c 00             	ret    $0xc
5a4643:	90                   	nop
5a4644:	55                   	push   %ebp
5a4645:	8b ec                	mov    %esp,%ebp
5a4647:	83 c4 e8             	add    $0xffffffe8,%esp
5a464a:	53                   	push   %ebx
5a464b:	56                   	push   %esi
5a464c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a464f:	8b d8                	mov    %eax,%ebx
5a4651:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a4654:	50                   	push   %eax
5a4655:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a4658:	50                   	push   %eax
5a4659:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a465c:	50                   	push   %eax
5a465d:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a4660:	50                   	push   %eax
5a4661:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a4664:	50                   	push   %eax
5a4665:	8b 45 10             	mov    0x10(%ebp),%eax
5a4668:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a466b:	8b 55 0c             	mov    0xc(%ebp),%edx
5a466e:	e8 81 e0 ff ff       	call   0x5a26f4
5a4673:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a4676:	03 c0                	add    %eax,%eax
5a4678:	50                   	push   %eax
5a4679:	50                   	push   %eax
5a467a:	8b 55 f4             	mov    -0xc(%ebp),%edx
5a467d:	83 c2 05             	add    $0x5,%edx
5a4680:	52                   	push   %edx
5a4681:	8b 55 f0             	mov    -0x10(%ebp),%edx
5a4684:	03 d2                	add    %edx,%edx
5a4686:	52                   	push   %edx
5a4687:	6a fb                	push   $0xfffffffb
5a4689:	f7 d8                	neg    %eax
5a468b:	50                   	push   %eax
5a468c:	e8 5f 2e e6 ff       	call   0x4074f0
5a4691:	8b f0                	mov    %eax,%esi
5a4693:	56                   	push   %esi
5a4694:	8b c3                	mov    %ebx,%eax
5a4696:	e8 25 46 e8 ff       	call   0x428cc0
5a469b:	50                   	push   %eax
5a469c:	e8 57 30 e6 ff       	call   0x4076f8
5a46a1:	56                   	push   %esi
5a46a2:	e8 69 2e e6 ff       	call   0x407510
5a46a7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a46aa:	50                   	push   %eax
5a46ab:	33 c9                	xor    %ecx,%ecx
5a46ad:	33 d2                	xor    %edx,%edx
5a46af:	8b c3                	mov    %ebx,%eax
5a46b1:	e8 1e 3f e8 ff       	call   0x4285d4
5a46b6:	6a 00                	push   $0x0
5a46b8:	8b c3                	mov    %ebx,%eax
5a46ba:	e8 01 46 e8 ff       	call   0x428cc0
5a46bf:	50                   	push   %eax
5a46c0:	e8 33 30 e6 ff       	call   0x4076f8
5a46c5:	5e                   	pop    %esi
5a46c6:	5b                   	pop    %ebx
5a46c7:	8b e5                	mov    %ebp,%esp
5a46c9:	5d                   	pop    %ebp
5a46ca:	c2 0c 00             	ret    $0xc
5a46cd:	8d 40 00             	lea    0x0(%eax),%eax
5a46d0:	55                   	push   %ebp
5a46d1:	8b ec                	mov    %esp,%ebp
5a46d3:	83 c4 e8             	add    $0xffffffe8,%esp
5a46d6:	53                   	push   %ebx
5a46d7:	56                   	push   %esi
5a46d8:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5a46db:	8b d8                	mov    %eax,%ebx
5a46dd:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a46e0:	50                   	push   %eax
5a46e1:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a46e4:	50                   	push   %eax
5a46e5:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a46e8:	50                   	push   %eax
5a46e9:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a46ec:	50                   	push   %eax
5a46ed:	8d 45 e8             	lea    -0x18(%ebp),%eax
5a46f0:	50                   	push   %eax
5a46f1:	8b 45 10             	mov    0x10(%ebp),%eax
5a46f4:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a46f7:	8b 55 0c             	mov    0xc(%ebp),%edx
5a46fa:	e8 f5 df ff ff       	call   0x5a26f4
5a46ff:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a4702:	03 c0                	add    %eax,%eax
5a4704:	50                   	push   %eax
5a4705:	50                   	push   %eax
5a4706:	8b 55 f4             	mov    -0xc(%ebp),%edx
5a4709:	83 c2 05             	add    $0x5,%edx
5a470c:	52                   	push   %edx
5a470d:	03 45 f8             	add    -0x8(%ebp),%eax
5a4710:	50                   	push   %eax
5a4711:	6a fb                	push   $0xfffffffb
5a4713:	8b 45 f0             	mov    -0x10(%ebp),%eax
5a4716:	03 c0                	add    %eax,%eax
5a4718:	8b 55 f8             	mov    -0x8(%ebp),%edx
5a471b:	2b d0                	sub    %eax,%edx
5a471d:	52                   	push   %edx
5a471e:	e8 cd 2d e6 ff       	call   0x4074f0
5a4723:	8b f0                	mov    %eax,%esi
5a4725:	56                   	push   %esi
5a4726:	8b c3                	mov    %ebx,%eax
5a4728:	e8 93 45 e8 ff       	call   0x428cc0
5a472d:	50                   	push   %eax
5a472e:	e8 c5 2f e6 ff       	call   0x4076f8
5a4733:	56                   	push   %esi
5a4734:	e8 d7 2d e6 ff       	call   0x407510
5a4739:	8b 45 fc             	mov    -0x4(%ebp),%eax
5a473c:	50                   	push   %eax
5a473d:	33 c9                	xor    %ecx,%ecx
5a473f:	33 d2                	xor    %edx,%edx
5a4741:	8b c3                	mov    %ebx,%eax
5a4743:	e8 8c 3e e8 ff       	call   0x4285d4
5a4748:	6a 00                	push   $0x0
5a474a:	8b c3                	mov    %ebx,%eax
5a474c:	e8 6f 45 e8 ff       	call   0x428cc0
5a4751:	50                   	push   %eax
5a4752:	e8 a1 2f e6 ff       	call   0x4076f8
5a4757:	5e                   	pop    %esi
5a4758:	5b                   	pop    %ebx
5a4759:	8b e5                	mov    %ebp,%esp
5a475b:	5d                   	pop    %ebp
5a475c:	c2 0c 00             	ret    $0xc
5a475f:	90                   	nop
5a4760:	55                   	push   %ebp
5a4761:	8b ec                	mov    %esp,%ebp
5a4763:	83 c4 ec             	add    $0xffffffec,%esp
5a4766:	53                   	push   %ebx
5a4767:	56                   	push   %esi
5a4768:	57                   	push   %edi
5a4769:	8b f9                	mov    %ecx,%edi
5a476b:	8b d8                	mov    %eax,%ebx
5a476d:	8d 45 fc             	lea    -0x4(%ebp),%eax
5a4770:	50                   	push   %eax
5a4771:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a4774:	50                   	push   %eax
5a4775:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a4778:	50                   	push   %eax
5a4779:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a477c:	50                   	push   %eax
5a477d:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a4780:	50                   	push   %eax
5a4781:	8b 45 10             	mov    0x10(%ebp),%eax
5a4784:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a4787:	8b 55 0c             	mov    0xc(%ebp),%edx
5a478a:	e8 65 df ff ff       	call   0x5a26f4
5a478f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a4792:	50                   	push   %eax
5a4793:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a4796:	50                   	push   %eax
5a4797:	6a 01                	push   $0x1
5a4799:	6a 00                	push   $0x0
5a479b:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a479e:	03 c0                	add    %eax,%eax
5a47a0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5a47a3:	33 d2                	xor    %edx,%edx
5a47a5:	e8 a6 d2 ff ff       	call   0x5a1a50
5a47aa:	8b f0                	mov    %eax,%esi
5a47ac:	56                   	push   %esi
5a47ad:	8b c3                	mov    %ebx,%eax
5a47af:	e8 0c 45 e8 ff       	call   0x428cc0
5a47b4:	50                   	push   %eax
5a47b5:	e8 3e 2f e6 ff       	call   0x4076f8
5a47ba:	56                   	push   %esi
5a47bb:	e8 50 2d e6 ff       	call   0x407510
5a47c0:	57                   	push   %edi
5a47c1:	33 c9                	xor    %ecx,%ecx
5a47c3:	33 d2                	xor    %edx,%edx
5a47c5:	8b c3                	mov    %ebx,%eax
5a47c7:	e8 08 3e e8 ff       	call   0x4285d4
5a47cc:	6a 00                	push   $0x0
5a47ce:	8b c3                	mov    %ebx,%eax
5a47d0:	e8 eb 44 e8 ff       	call   0x428cc0
5a47d5:	50                   	push   %eax
5a47d6:	e8 1d 2f e6 ff       	call   0x4076f8
5a47db:	5f                   	pop    %edi
5a47dc:	5e                   	pop    %esi
5a47dd:	5b                   	pop    %ebx
5a47de:	8b e5                	mov    %ebp,%esp
5a47e0:	5d                   	pop    %ebp
5a47e1:	c2 0c 00             	ret    $0xc
5a47e4:	55                   	push   %ebp
5a47e5:	8b ec                	mov    %esp,%ebp
5a47e7:	83 c4 ec             	add    $0xffffffec,%esp
5a47ea:	53                   	push   %ebx
5a47eb:	56                   	push   %esi
5a47ec:	57                   	push   %edi
5a47ed:	8b f9                	mov    %ecx,%edi
5a47ef:	8b d8                	mov    %eax,%ebx
5a47f1:	8d 45 fc             	lea    -0x4(%ebp),%eax
5a47f4:	50                   	push   %eax
5a47f5:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a47f8:	50                   	push   %eax
5a47f9:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a47fc:	50                   	push   %eax
5a47fd:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a4800:	50                   	push   %eax
5a4801:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a4804:	50                   	push   %eax
5a4805:	8b 45 10             	mov    0x10(%ebp),%eax
5a4808:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a480b:	8b 55 0c             	mov    0xc(%ebp),%edx
5a480e:	e8 e1 de ff ff       	call   0x5a26f4
5a4813:	8b 45 f8             	mov    -0x8(%ebp),%eax
5a4816:	50                   	push   %eax
5a4817:	8b 45 ec             	mov    -0x14(%ebp),%eax
5a481a:	50                   	push   %eax
5a481b:	6a 02                	push   $0x2
5a481d:	6a 00                	push   $0x0
5a481f:	8b 45 f4             	mov    -0xc(%ebp),%eax
5a4822:	03 c0                	add    %eax,%eax
5a4824:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5a4827:	33 d2                	xor    %edx,%edx
5a4829:	e8 22 d2 ff ff       	call   0x5a1a50
5a482e:	8b f0                	mov    %eax,%esi
5a4830:	56                   	push   %esi
5a4831:	8b c3                	mov    %ebx,%eax
5a4833:	e8 88 44 e8 ff       	call   0x428cc0
5a4838:	50                   	push   %eax
5a4839:	e8 ba 2e e6 ff       	call   0x4076f8
5a483e:	56                   	push   %esi
5a483f:	e8 cc 2c e6 ff       	call   0x407510
5a4844:	57                   	push   %edi
5a4845:	33 c9                	xor    %ecx,%ecx
5a4847:	33 d2                	xor    %edx,%edx
5a4849:	8b c3                	mov    %ebx,%eax
5a484b:	e8 84 3d e8 ff       	call   0x4285d4
5a4850:	6a 00                	push   $0x0
5a4852:	8b c3                	mov    %ebx,%eax
5a4854:	e8 67 44 e8 ff       	call   0x428cc0
5a4859:	50                   	push   %eax
5a485a:	e8 99 2e e6 ff       	call   0x4076f8
5a485f:	5f                   	pop    %edi
5a4860:	5e                   	pop    %esi
5a4861:	5b                   	pop    %ebx
5a4862:	8b e5                	mov    %ebp,%esp
5a4864:	5d                   	pop    %ebp
5a4865:	c2 0c 00             	ret    $0xc
5a4868:	55                   	push   %ebp
5a4869:	8b ec                	mov    %esp,%ebp
5a486b:	83 c4 ec             	add    $0xffffffec,%esp
5a486e:	53                   	push   %ebx
5a486f:	56                   	push   %esi
5a4870:	57                   	push   %edi
5a4871:	8b f9                	mov    %ecx,%edi
5a4873:	8b d8                	mov    %eax,%ebx
5a4875:	8d 45 fc             	lea    -0x4(%ebp),%eax
5a4878:	50                   	push   %eax
5a4879:	8d 45 f8             	lea    -0x8(%ebp),%eax
5a487c:	50                   	push   %eax
5a487d:	8d 45 f4             	lea    -0xc(%ebp),%eax
5a4880:	50                   	push   %eax
5a4881:	8d 45 f0             	lea    -0x10(%ebp),%eax
5a4884:	50                   	push   %eax
5a4885:	8d 45 ec             	lea    -0x14(%ebp),%eax
5a4888:	50                   	push   %eax
5a4889:	8b 45 10             	mov    0x10(%ebp),%eax
5a488c:	8b 4d 08             	mov    0x8(%ebp),%ecx
5a488f:	8b 55 0c             	mov    0xc(%ebp),%edx
5a4892:	e8 5d de ff ff       	call   0x5a26f4