48a505:	eb 10                	jmp    0x48a517
48a507:	85 f6                	test   %esi,%esi
48a509:	7e 05                	jle    0x48a510
48a50b:	8b 73 4c             	mov    0x4c(%ebx),%esi
48a50e:	eb 07                	jmp    0x48a517
48a510:	85 ff                	test   %edi,%edi
48a512:	7e 03                	jle    0x48a517
48a514:	8b 7b 4c             	mov    0x4c(%ebx),%edi
48a517:	8b 6b 4c             	mov    0x4c(%ebx),%ebp
48a51a:	2b ee                	sub    %esi,%ebp
48a51c:	2b ef                	sub    %edi,%ebp
48a51e:	8b 43 4c             	mov    0x4c(%ebx),%eax
48a521:	50                   	push   %eax
48a522:	8d 44 24 04          	lea    0x4(%esp),%eax
48a526:	50                   	push   %eax
48a527:	8b 4b 48             	mov    0x48(%ebx),%ecx
48a52a:	33 d2                	xor    %edx,%edx
48a52c:	33 c0                	xor    %eax,%eax
48a52e:	e8 41 01 f9 ff       	call   0x41a674
48a533:	8b 44 24 04          	mov    0x4(%esp),%eax
48a537:	03 c6                	add    %esi,%eax
48a539:	89 44 24 0c          	mov    %eax,0xc(%esp)
48a53d:	85 f6                	test   %esi,%esi
48a53f:	7e 09                	jle    0x48a54a
48a541:	8b d4                	mov    %esp,%edx
48a543:	8b c3                	mov    %ebx,%eax
48a545:	e8 12 fb ff ff       	call   0x48a05c
48a54a:	8b 44 24 0c          	mov    0xc(%esp),%eax
48a54e:	89 44 24 04          	mov    %eax,0x4(%esp)
48a552:	8b f0                	mov    %eax,%esi
48a554:	03 f5                	add    %ebp,%esi
48a556:	89 74 24 0c          	mov    %esi,0xc(%esp)
48a55a:	85 ed                	test   %ebp,%ebp
48a55c:	7e 09                	jle    0x48a567
48a55e:	8b d4                	mov    %esp,%edx
48a560:	8b c3                	mov    %ebx,%eax
48a562:	e8 1d fa ff ff       	call   0x489f84
48a567:	85 ff                	test   %edi,%edi
48a569:	7e 15                	jle    0x48a580
48a56b:	8b c6                	mov    %esi,%eax
48a56d:	89 44 24 04          	mov    %eax,0x4(%esp)
48a571:	03 f8                	add    %eax,%edi
48a573:	89 7c 24 0c          	mov    %edi,0xc(%esp)
48a577:	8b d4                	mov    %esp,%edx
48a579:	8b c3                	mov    %ebx,%eax
48a57b:	e8 cc f8 ff ff       	call   0x489e4c
48a580:	83 c4 10             	add    $0x10,%esp
48a583:	5d                   	pop    %ebp
48a584:	5f                   	pop    %edi
48a585:	5e                   	pop    %esi
48a586:	5b                   	pop    %ebx
48a587:	c3                   	ret
48a588:	55                   	push   %ebp
48a589:	8b ec                	mov    %esp,%ebp
48a58b:	83 c4 bc             	add    $0xffffffbc,%esp
48a58e:	53                   	push   %ebx
48a58f:	56                   	push   %esi
48a590:	57                   	push   %edi
48a591:	84 d2                	test   %dl,%dl
48a593:	74 08                	je     0x48a59d
48a595:	83 c4 f0             	add    $0xfffffff0,%esp
48a598:	e8 3f 98 f7 ff       	call   0x403ddc
48a59d:	8b 75 14             	mov    0x14(%ebp),%esi
48a5a0:	8d 7d de             	lea    -0x22(%ebp),%edi
48a5a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a5a4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a5a5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a5a6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a5a7:	8b f1                	mov    %ecx,%esi
48a5a9:	8d 7d ee             	lea    -0x12(%ebp),%edi
48a5ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a5ad:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a5ae:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a5af:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a5b0:	88 55 ff             	mov    %dl,-0x1(%ebp)
48a5b3:	8b f8                	mov    %eax,%edi
48a5b5:	8b 5d 08             	mov    0x8(%ebp),%ebx
48a5b8:	8b 75 10             	mov    0x10(%ebp),%esi
48a5bb:	84 db                	test   %bl,%bl
48a5bd:	75 12                	jne    0x48a5d1
48a5bf:	83 3d 8c b0 68 00 00 	cmpl   $0x0,0x68b08c
48a5c6:	75 10                	jne    0x48a5d8
48a5c8:	83 3d 90 b0 68 00 00 	cmpl   $0x0,0x68b090
48a5cf:	75 07                	jne    0x48a5d8
48a5d1:	d1 fe                	sar    $1,%esi
48a5d3:	79 03                	jns    0x48a5d8
48a5d5:	83 d6 00             	adc    $0x0,%esi
48a5d8:	8d 45 ee             	lea    -0x12(%ebp),%eax
48a5db:	50                   	push   %eax
48a5dc:	e8 ff d5 f7 ff       	call   0x407be0
48a5e1:	83 f8 01             	cmp    $0x1,%eax
48a5e4:	1b c0                	sbb    %eax,%eax
48a5e6:	f7 d8                	neg    %eax
48a5e8:	88 45 fe             	mov    %al,-0x2(%ebp)
48a5eb:	8d 45 de             	lea    -0x22(%ebp),%eax
48a5ee:	50                   	push   %eax
48a5ef:	e8 ec d5 f7 ff       	call   0x407be0
48a5f4:	83 f8 01             	cmp    $0x1,%eax
48a5f7:	1b c0                	sbb    %eax,%eax
48a5f9:	f7 d8                	neg    %eax
48a5fb:	8a 55 fe             	mov    -0x2(%ebp),%dl
48a5fe:	0a d0                	or     %al,%dl
48a600:	0f 84 60 04 00 00    	je     0x48aa66
48a606:	32 45 fe             	xor    -0x2(%ebp),%al
48a609:	0f 84 99 00 00 00    	je     0x48a6a8
48a60f:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
48a613:	74 10                	je     0x48a625
48a615:	56                   	push   %esi
48a616:	57                   	push   %edi
48a617:	8d 75 ee             	lea    -0x12(%ebp),%esi
48a61a:	8d 7d ce             	lea    -0x32(%ebp),%edi
48a61d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a61e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a61f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a620:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a621:	5f                   	pop    %edi
48a622:	5e                   	pop    %esi
48a623:	eb 0e                	jmp    0x48a633
48a625:	56                   	push   %esi
48a626:	57                   	push   %edi
48a627:	8d 75 de             	lea    -0x22(%ebp),%esi
48a62a:	8d 7d ce             	lea    -0x32(%ebp),%edi
48a62d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a62e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a62f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a630:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a631:	5f                   	pop    %edi
48a632:	5e                   	pop    %esi
48a633:	8a 45 0c             	mov    0xc(%ebp),%al
48a636:	50                   	push   %eax
48a637:	53                   	push   %ebx
48a638:	a0 88 aa 48 00       	mov    0x48aa88,%al
48a63d:	50                   	push   %eax
48a63e:	8b 45 da             	mov    -0x26(%ebp),%eax
48a641:	50                   	push   %eax
48a642:	8d 45 bc             	lea    -0x44(%ebp),%eax
48a645:	50                   	push   %eax
48a646:	8b 4d d6             	mov    -0x2a(%ebp),%ecx
48a649:	03 ce                	add    %esi,%ecx
48a64b:	8b 55 d2             	mov    -0x2e(%ebp),%edx
48a64e:	03 d6                	add    %esi,%edx
48a650:	8b 45 d6             	mov    -0x2a(%ebp),%eax
48a653:	e8 1c 00 f9 ff       	call   0x41a674
48a658:	8d 4d bc             	lea    -0x44(%ebp),%ecx
48a65b:	b2 01                	mov    $0x1,%dl
48a65d:	a1 f4 83 48 00       	mov    0x4883f4,%eax
48a662:	e8 55 f5 ff ff       	call   0x489bbc
48a667:	89 47 08             	mov    %eax,0x8(%edi)
48a66a:	8a 45 0c             	mov    0xc(%ebp),%al
48a66d:	50                   	push   %eax
48a66e:	53                   	push   %ebx
48a66f:	a0 8c aa 48 00       	mov    0x48aa8c,%al
48a674:	50                   	push   %eax
48a675:	8b 45 da             	mov    -0x26(%ebp),%eax
48a678:	03 c6                	add    %esi,%eax
48a67a:	50                   	push   %eax
48a67b:	8d 45 bc             	lea    -0x44(%ebp),%eax
48a67e:	50                   	push   %eax
48a67f:	8b 4d d6             	mov    -0x2a(%ebp),%ecx
48a682:	03 ce                	add    %esi,%ecx
48a684:	8b 45 ce             	mov    -0x32(%ebp),%eax
48a687:	03 c6                	add    %esi,%eax
48a689:	8b 55 da             	mov    -0x26(%ebp),%edx
48a68c:	e8 e3 ff f8 ff       	call   0x41a674
48a691:	8d 4d bc             	lea    -0x44(%ebp),%ecx
48a694:	b2 01                	mov    $0x1,%dl
48a696:	a1 a8 82 48 00       	mov    0x4882a8,%eax
48a69b:	e8 1c f5 ff ff       	call   0x489bbc
48a6a0:	89 47 0c             	mov    %eax,0xc(%edi)
48a6a3:	e9 6d 03 00 00       	jmp    0x48aa15
48a6a8:	8b 45 e2             	mov    -0x1e(%ebp),%eax
48a6ab:	8b d0                	mov    %eax,%edx
48a6ad:	83 c2 02             	add    $0x2,%edx
48a6b0:	3b 55 fa             	cmp    -0x6(%ebp),%edx
48a6b3:	7d 0f                	jge    0x48a6c4
48a6b5:	8b 55 ea             	mov    -0x16(%ebp),%edx
48a6b8:	83 ea 02             	sub    $0x2,%edx
48a6bb:	3b 55 f2             	cmp    -0xe(%ebp),%edx
48a6be:	0f 8f a0 01 00 00    	jg     0x48a864
48a6c4:	3b 45 f2             	cmp    -0xe(%ebp),%eax
48a6c7:	7d 2a                	jge    0x48a6f3
48a6c9:	56                   	push   %esi
48a6ca:	57                   	push   %edi
48a6cb:	8d 75 de             	lea    -0x22(%ebp),%esi
48a6ce:	8d 7d ce             	lea    -0x32(%ebp),%edi
48a6d1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6d2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6d3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6d4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6d5:	5f                   	pop    %edi
48a6d6:	5e                   	pop    %esi
48a6d7:	56                   	push   %esi
48a6d8:	57                   	push   %edi
48a6d9:	8d 75 ee             	lea    -0x12(%ebp),%esi
48a6dc:	8d 7d de             	lea    -0x22(%ebp),%edi
48a6df:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6e0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6e1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6e2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6e3:	5f                   	pop    %edi
48a6e4:	5e                   	pop    %esi
48a6e5:	56                   	push   %esi
48a6e6:	57                   	push   %edi
48a6e7:	8d 75 ce             	lea    -0x32(%ebp),%esi
48a6ea:	8d 7d ee             	lea    -0x12(%ebp),%edi
48a6ed:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6ee:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6ef:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6f0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
48a6f1:	5f                   	pop    %edi
48a6f2:	5e                   	pop    %esi
48a6f3:	8b 45 ee             	mov    -0x12(%ebp),%eax
48a6f6:	03 c6                	add    %esi,%eax
48a6f8:	3b 45 de             	cmp    -0x22(%ebp),%eax
48a6fb:	7d 37                	jge    0x48a734
48a6fd:	8a 45 0c             	mov    0xc(%ebp),%al
48a700:	50                   	push   %eax
48a701:	53                   	push   %ebx
48a702:	a0 88 aa 48 00       	mov    0x48aa88,%al
48a707:	50                   	push   %eax
48a708:	8b 45 fa             	mov    -0x6(%ebp),%eax
48a70b:	03 c6                	add    %esi,%eax
48a70d:	50                   	push   %eax
48a70e:	8d 45 bc             	lea    -0x44(%ebp),%eax
48a711:	50                   	push   %eax
48a712:	8b 45 ee             	mov    -0x12(%ebp),%eax
48a715:	03 c6                	add    %esi,%eax
48a717:	8b 4d de             	mov    -0x22(%ebp),%ecx
48a71a:	8b 55 fa             	mov    -0x6(%ebp),%edx
48a71d:	e8 52 ff f8 ff       	call   0x41a674
48a722:	8d 4d bc             	lea    -0x44(%ebp),%ecx
48a725:	b2 01                	mov    $0x1,%dl
48a727:	a1 a8 82 48 00       	mov    0x4882a8,%eax
48a72c:	e8 8b f4 ff ff       	call   0x489bbc
48a731:	89 47 0c             	mov    %eax,0xc(%edi)
48a734:	8a 45 0c             	mov    0xc(%ebp),%al
48a737:	50                   	push   %eax
48a738:	53                   	push   %ebx
48a739:	a0 8c aa 48 00       	mov    0x48aa8c,%al
48a73e:	50                   	push   %eax
48a73f:	8b 45 ea             	mov    -0x16(%ebp),%eax
48a742:	03 c6                	add    %esi,%eax
48a744:	50                   	push   %eax
48a745:	8d 45 bc             	lea    -0x44(%ebp),%eax
48a748:	50                   	push   %eax
48a749:	8b 4d e6             	mov    -0x1a(%ebp),%ecx
48a74c:	03 ce                	add    %esi,%ecx
48a74e:	8b 45 de             	mov    -0x22(%ebp),%eax
48a751:	03 c6                	add    %esi,%eax
48a753:	8b 55 ea             	mov    -0x16(%ebp),%edx
48a756:	e8 19 ff f8 ff       	call   0x41a674
48a75b:	8d 4d bc             	lea    -0x44(%ebp),%ecx
48a75e:	b2 01                	mov    $0x1,%dl
48a760:	a1 a8 82 48 00       	mov    0x4882a8,%eax
48a765:	e8 52 f4 ff ff       	call   0x489bbc
48a76a:	89 47 14             	mov    %eax,0x14(%edi)
48a76d:	8a 45 0c             	mov    0xc(%ebp),%al
48a770:	50                   	push   %eax
48a771:	53                   	push   %ebx
48a772:	a0 88 aa 48 00       	mov    0x48aa88,%al
48a777:	50                   	push   %eax
48a778:	8b 45 fa             	mov    -0x6(%ebp),%eax
48a77b:	50                   	push   %eax
48a77c:	8d 45 bc             	lea    -0x44(%ebp),%eax
48a77f:	50                   	push   %eax
48a780:	8b 4d f6             	mov    -0xa(%ebp),%ecx
48a783:	03 ce                	add    %esi,%ecx
48a785:	8b 55 f2             	mov    -0xe(%ebp),%edx
48a788:	03 d6                	add    %esi,%edx
48a78a:	8b 45 f6             	mov    -0xa(%ebp),%eax
48a78d:	e8 e2 fe f8 ff       	call   0x41a674
48a792:	8d 4d bc             	lea    -0x44(%ebp),%ecx
48a795:	b2 01                	mov    $0x1,%dl
48a797:	a1 f4 83 48 00       	mov    0x4883f4,%eax
48a79c:	e8 1b f4 ff ff       	call   0x489bbc
48a7a1:	89 47 08             	mov    %eax,0x8(%edi)
48a7a4:	8b 45 e6             	mov    -0x1a(%ebp),%eax
48a7a7:	3b 45 f6             	cmp    -0xa(%ebp),%eax
48a7aa:	7d 37                	jge    0x48a7e3
48a7ac:	8a 45 0c             	mov    0xc(%ebp),%al
48a7af:	50                   	push   %eax
48a7b0:	53                   	push   %ebx
48a7b1:	a0 8c aa 48 00       	mov    0x48aa8c,%al
48a7b6:	50                   	push   %eax
48a7b7:	8b 45 fa             	mov    -0x6(%ebp),%eax
48a7ba:	03 c6                	add    %esi,%eax
48a7bc:	50                   	push   %eax
48a7bd:	8d 45 bc             	lea    -0x44(%ebp),%eax
48a7c0:	50                   	push   %eax
48a7c1:	8b 4d f6             	mov    -0xa(%ebp),%ecx
48a7c4:	03 ce                	add    %esi,%ecx
48a7c6:	8b 55 fa             	mov    -0x6(%ebp),%edx
48a7c9:	8b 45 e6             	mov    -0x1a(%ebp),%eax
48a7cc:	e8 a3 fe f8 ff       	call   0x41a674
48a7d1:	8d 4d bc             	lea    -0x44(%ebp),%ecx
48a7d4:	b2 01                	mov    $0x1,%dl
48a7d6:	a1 a8 82 48 00       	mov    0x4882a8,%eax
48a7db:	e8 dc f3 ff ff       	call   0x489bbc
48a7e0:	89 47 1c             	mov    %eax,0x1c(%edi)
48a7e3:	8b 45 f6             	mov    -0xa(%ebp),%eax
48a7e6:	03 c6                	add    %esi,%eax
48a7e8:	3b 45 e6             	cmp    -0x1a(%ebp),%eax
48a7eb:	7d 3c                	jge    0x48a829
48a7ed:	8a 45 0c             	mov    0xc(%ebp),%al
48a7f0:	50                   	push   %eax
48a7f1:	53                   	push   %ebx
48a7f2:	a0 88 aa 48 00       	mov    0x48aa88,%al
48a7f7:	50                   	push   %eax
48a7f8:	8b 45 ea             	mov    -0x16(%ebp),%eax
48a7fb:	50                   	push   %eax
48a7fc:	8d 45 bc             	lea    -0x44(%ebp),%eax
48a7ff:	50                   	push   %eax
48a800:	8b 4d e6             	mov    -0x1a(%ebp),%ecx
48a803:	03 ce                	add    %esi,%ecx
48a805:	8b 55 e2             	mov    -0x1e(%ebp),%edx
48a808:	03 d6                	add    %esi,%edx
48a80a:	8b 45 e6             	mov    -0x1a(%ebp),%eax
48a80d:	e8 62 fe f8 ff       	call   0x41a674
48a812:	8d 4d bc             	lea    -0x44(%ebp),%ecx
48a815:	b2 01                	mov    $0x1,%dl
48a817:	a1 f4 83 48 00       	mov    0x4883f4,%eax
48a81c:	e8 9b f3 ff ff       	call   0x489bbc
48a821:	89 47 10             	mov    %eax,0x10(%edi)
48a824:	e9 ec 01 00 00       	jmp    0x48aa15
48a829:	8a 45 0c             	mov    0xc(%ebp),%al
48a82c:	50                   	push   %eax
48a82d:	53                   	push   %ebx
48a82e:	a0 90 aa 48 00       	mov    0x48aa90,%al
48a833:	50                   	push   %eax
48a834:	8b 45 ea             	mov    -0x16(%ebp),%eax
48a837:	50                   	push   %eax
48a838:	8d 45 bc             	lea    -0x44(%ebp),%eax
48a83b:	50                   	push   %eax
48a83c:	8b 4d e6             	mov    -0x1a(%ebp),%ecx
48a83f:	03 ce                	add    %esi,%ecx
48a841:	8b 55 e2             	mov    -0x1e(%ebp),%edx
48a844:	42                   	inc    %edx
48a845:	8b 45 e6             	mov    -0x1a(%ebp),%eax
48a848:	e8 27 fe f8 ff       	call   0x41a674
48a84d:	8d 4d bc             	lea    -0x44(%ebp),%ecx
48a850:	b2 01                	mov    $0x1,%dl
48a852:	a1 f4 83 48 00       	mov    0x4883f4,%eax
48a857:	e8 60 f3 ff ff       	call   0x489bbc
48a85c:	89 47 10             	mov    %eax,0x10(%edi)
48a85f:	e9 b1 01 00 00       	jmp    0x48aa15
48a864:	8b 45 de             	mov    -0x22(%ebp),%eax
48a867:	8b d0                	mov    %eax,%edx
48a869:	83 c2 02             	add    $0x2,%edx
48a86c:	3b 55 f6             	cmp    -0xa(%ebp),%edx
48a86f:	7d 0f                	jge    0x48a880