615673:	8b 75 08             	mov    0x8(%ebp),%esi
615676:	57                   	push   %edi
615677:	8b f9                	mov    %ecx,%edi
615679:	6a 01                	push   $0x1
61567b:	56                   	push   %esi
61567c:	ff 77 04             	push   0x4(%edi)
61567f:	ff 77 08             	push   0x8(%edi)
615682:	57                   	push   %edi
615683:	e8 19 de ff ff       	call   0x6134a1
615688:	83 c4 14             	add    $0x14,%esp
61568b:	89 77 04             	mov    %esi,0x4(%edi)
61568e:	89 47 08             	mov    %eax,0x8(%edi)
615691:	5f                   	pop    %edi
615692:	5e                   	pop    %esi
615693:	5d                   	pop    %ebp
615694:	c2 04 00             	ret    $0x4
615697:	55                   	push   %ebp
615698:	8b ec                	mov    %esp,%ebp
61569a:	56                   	push   %esi
61569b:	8b 75 14             	mov    0x14(%ebp),%esi
61569e:	85 f6                	test   %esi,%esi
6156a0:	75 04                	jne    0x6156a6
6156a2:	33 c0                	xor    %eax,%eax
6156a4:	eb 6d                	jmp    0x615713
6156a6:	8b 45 08             	mov    0x8(%ebp),%eax
6156a9:	85 c0                	test   %eax,%eax
6156ab:	75 13                	jne    0x6156c0
6156ad:	e8 47 79 fd ff       	call   0x5ecff9
6156b2:	6a 16                	push   $0x16
6156b4:	5e                   	pop    %esi
6156b5:	89 30                	mov    %esi,(%eax)
6156b7:	e8 63 78 fd ff       	call   0x5ecf1f
6156bc:	8b c6                	mov    %esi,%eax
6156be:	eb 53                	jmp    0x615713
6156c0:	57                   	push   %edi
6156c1:	8b 7d 10             	mov    0x10(%ebp),%edi
6156c4:	85 ff                	test   %edi,%edi
6156c6:	74 14                	je     0x6156dc
6156c8:	39 75 0c             	cmp    %esi,0xc(%ebp)
6156cb:	72 0f                	jb     0x6156dc
6156cd:	56                   	push   %esi
6156ce:	57                   	push   %edi
6156cf:	50                   	push   %eax
6156d0:	e8 2b d8 fc ff       	call   0x5e2f00
6156d5:	83 c4 0c             	add    $0xc,%esp
6156d8:	33 c0                	xor    %eax,%eax
6156da:	eb 36                	jmp    0x615712
6156dc:	ff 75 0c             	push   0xc(%ebp)
6156df:	6a 00                	push   $0x0
6156e1:	50                   	push   %eax
6156e2:	e8 19 e3 fc ff       	call   0x5e3a00
6156e7:	83 c4 0c             	add    $0xc,%esp
6156ea:	85 ff                	test   %edi,%edi
6156ec:	75 09                	jne    0x6156f7
6156ee:	e8 06 79 fd ff       	call   0x5ecff9
6156f3:	6a 16                	push   $0x16
6156f5:	eb 0c                	jmp    0x615703
6156f7:	39 75 0c             	cmp    %esi,0xc(%ebp)
6156fa:	73 13                	jae    0x61570f
6156fc:	e8 f8 78 fd ff       	call   0x5ecff9
615701:	6a 22                	push   $0x22
615703:	5e                   	pop    %esi
615704:	89 30                	mov    %esi,(%eax)
615706:	e8 14 78 fd ff       	call   0x5ecf1f
61570b:	8b c6                	mov    %esi,%eax
61570d:	eb 03                	jmp    0x615712
61570f:	6a 16                	push   $0x16
615711:	58                   	pop    %eax
615712:	5f                   	pop    %edi
615713:	5e                   	pop    %esi
615714:	5d                   	pop    %ebp
615715:	c3                   	ret
615716:	55                   	push   %ebp
615717:	8b ec                	mov    %esp,%ebp
615719:	8b 45 08             	mov    0x8(%ebp),%eax
61571c:	8b 08                	mov    (%eax),%ecx
61571e:	85 c9                	test   %ecx,%ecx
615720:	74 0c                	je     0x61572e
615722:	8d 41 ff             	lea    -0x1(%ecx),%eax
615725:	85 c1                	test   %eax,%ecx
615727:	75 05                	jne    0x61572e
615729:	33 c0                	xor    %eax,%eax
61572b:	40                   	inc    %eax
61572c:	5d                   	pop    %ebp
61572d:	c3                   	ret
61572e:	33 c0                	xor    %eax,%eax
615730:	5d                   	pop    %ebp
615731:	c3                   	ret
615732:	55                   	push   %ebp
615733:	8b ec                	mov    %esp,%ebp
615735:	eb 05                	jmp    0x61573c
615737:	e8 17 00 00 00       	call   0x615753
61573c:	6a 10                	push   $0x10
61573e:	ff 75 08             	push   0x8(%ebp)
615741:	e8 64 5b 03 00       	call   0x64b2aa
615746:	59                   	pop    %ecx
615747:	59                   	pop    %ecx
615748:	85 c0                	test   %eax,%eax
61574a:	74 eb                	je     0x615737
61574c:	5d                   	pop    %ebp
61574d:	c3                   	ret
61574e:	e9 3d 5b 03 00       	jmp    0x64b290
615753:	55                   	push   %ebp
615754:	8b ec                	mov    %esp,%ebp
615756:	83 ec 0c             	sub    $0xc,%esp
615759:	56                   	push   %esi
61575a:	6a 00                	push   $0x0
61575c:	e8 95 53 03 00       	call   0x64aaf6
615761:	8b f0                	mov    %eax,%esi
615763:	59                   	pop    %ecx
615764:	85 f6                	test   %esi,%esi
615766:	74 0e                	je     0x615776
615768:	56                   	push   %esi
615769:	e8 88 53 03 00       	call   0x64aaf6
61576e:	59                   	pop    %ecx
61576f:	ff d6                	call   *%esi
615771:	5e                   	pop    %esi
615772:	8b e5                	mov    %ebp,%esp
615774:	5d                   	pop    %ebp
615775:	c3                   	ret
615776:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
61577a:	8d 45 f4             	lea    -0xc(%ebp),%eax
61577d:	68 7c 08 70 00       	push   $0x70087c
615782:	50                   	push   %eax
615783:	c7 45 f8 f0 b8 6d 00 	movl   $0x6db8f0,-0x8(%ebp)
61578a:	c7 45 f4 3c aa 68 00 	movl   $0x68aa3c,-0xc(%ebp)
615791:	e8 9c d2 fc ff       	call   0x5e2a32
615796:	cc                   	int3
615797:	55                   	push   %ebp
615798:	8b ec                	mov    %esp,%ebp
61579a:	53                   	push   %ebx
61579b:	33 db                	xor    %ebx,%ebx
61579d:	56                   	push   %esi
61579e:	8b 75 0c             	mov    0xc(%ebp),%esi
6157a1:	43                   	inc    %ebx
6157a2:	3b f3                	cmp    %ebx,%esi
6157a4:	74 28                	je     0x6157ce
6157a6:	8d 45 0c             	lea    0xc(%ebp),%eax
6157a9:	50                   	push   %eax
6157aa:	e8 67 ff ff ff       	call   0x615716
6157af:	59                   	pop    %ecx
6157b0:	84 c0                	test   %al,%al
6157b2:	74 08                	je     0x6157bc
6157b4:	8d 56 ff             	lea    -0x1(%esi),%edx
6157b7:	23 55 08             	and    0x8(%ebp),%edx
6157ba:	eb 07                	jmp    0x6157c3
6157bc:	8b 45 08             	mov    0x8(%ebp),%eax
6157bf:	33 d2                	xor    %edx,%edx
6157c1:	f7 f6                	div    %esi
6157c3:	f7 da                	neg    %edx
6157c5:	1b d2                	sbb    %edx,%edx
6157c7:	42                   	inc    %edx
6157c8:	85 d2                	test   %edx,%edx
6157ca:	75 02                	jne    0x6157ce
6157cc:	33 db                	xor    %ebx,%ebx
6157ce:	5e                   	pop    %esi
6157cf:	8a c3                	mov    %bl,%al
6157d1:	5b                   	pop    %ebx
6157d2:	5d                   	pop    %ebp
6157d3:	c3                   	ret
6157d4:	55                   	push   %ebp
6157d5:	8b ec                	mov    %esp,%ebp
6157d7:	eb 05                	jmp    0x6157de
6157d9:	e8 75 ff ff ff       	call   0x615753
6157de:	ff 75 08             	push   0x8(%ebp)
6157e1:	e8 ca 8f fd ff       	call   0x5ee7b0
6157e6:	59                   	pop    %ecx
6157e7:	85 c0                	test   %eax,%eax
6157e9:	74 ee                	je     0x6157d9
6157eb:	5d                   	pop    %ebp
6157ec:	c3                   	ret
6157ed:	55                   	push   %ebp
6157ee:	8b ec                	mov    %esp,%ebp
6157f0:	51                   	push   %ecx
6157f1:	53                   	push   %ebx
6157f2:	56                   	push   %esi
6157f3:	57                   	push   %edi
6157f4:	8b 7d 08             	mov    0x8(%ebp),%edi
6157f7:	33 db                	xor    %ebx,%ebx
6157f9:	6a 01                	push   $0x1
6157fb:	57                   	push   %edi
6157fc:	e8 96 ff ff ff       	call   0x615797
615801:	8b 75 0c             	mov    0xc(%ebp),%esi
615804:	59                   	pop    %ecx
615805:	59                   	pop    %ecx
615806:	84 c0                	test   %al,%al
615808:	74 68                	je     0x615872
61580a:	6a 01                	push   $0x1
61580c:	56                   	push   %esi
61580d:	e8 85 ff ff ff       	call   0x615797
615812:	8b 55 10             	mov    0x10(%ebp),%edx
615815:	59                   	pop    %ecx
615816:	59                   	pop    %ecx
615817:	84 c0                	test   %al,%al
615819:	74 5a                	je     0x615875
61581b:	8b ca                	mov    %edx,%ecx
61581d:	8b c3                	mov    %ebx,%eax
61581f:	c1 e9 02             	shr    $0x2,%ecx
615822:	85 c9                	test   %ecx,%ecx
615824:	74 21                	je     0x615847
615826:	8b d7                	mov    %edi,%edx
615828:	89 4d fc             	mov    %ecx,-0x4(%ebp)
61582b:	2b d6                	sub    %esi,%edx
61582d:	8b fe                	mov    %esi,%edi
61582f:	8b 04 3a             	mov    (%edx,%edi,1),%eax
615832:	33 07                	xor    (%edi),%eax
615834:	8d 7f 04             	lea    0x4(%edi),%edi
615837:	0b d8                	or     %eax,%ebx
615839:	83 e9 01             	sub    $0x1,%ecx
61583c:	75 f1                	jne    0x61582f
61583e:	8b 55 10             	mov    0x10(%ebp),%edx
615841:	8b 7d 08             	mov    0x8(%ebp),%edi
615844:	8b 45 fc             	mov    -0x4(%ebp),%eax
615847:	c1 e0 02             	shl    $0x2,%eax
61584a:	2b d0                	sub    %eax,%edx
61584c:	75 09                	jne    0x615857
61584e:	33 c0                	xor    %eax,%eax
615850:	85 db                	test   %ebx,%ebx
615852:	0f 94 c0             	sete   %al
615855:	eb 36                	jmp    0x61588d
615857:	03 f8                	add    %eax,%edi
615859:	03 f0                	add    %eax,%esi
61585b:	8b cb                	mov    %ebx,%ecx
61585d:	8b c3                	mov    %ebx,%eax
61585f:	c1 e8 10             	shr    $0x10,%eax
615862:	c1 e9 18             	shr    $0x18,%ecx
615865:	0a c8                	or     %al,%cl
615867:	8b c3                	mov    %ebx,%eax
615869:	c1 e8 08             	shr    $0x8,%eax
61586c:	0a c8                	or     %al,%cl
61586e:	0a d9                	or     %cl,%bl
615870:	eb 03                	jmp    0x615875
615872:	8b 55 10             	mov    0x10(%ebp),%edx
615875:	85 d2                	test   %edx,%edx
615877:	74 0f                	je     0x615888
615879:	2b fe                	sub    %esi,%edi
61587b:	8a 04 3e             	mov    (%esi,%edi,1),%al
61587e:	32 06                	xor    (%esi),%al
615880:	0a d8                	or     %al,%bl
615882:	46                   	inc    %esi
615883:	83 ea 01             	sub    $0x1,%edx
615886:	75 f3                	jne    0x61587b
615888:	84 db                	test   %bl,%bl
61588a:	0f 94 c0             	sete   %al
61588d:	5f                   	pop    %edi
61588e:	5e                   	pop    %esi
61588f:	5b                   	pop    %ebx
615890:	8b e5                	mov    %ebp,%esp
615892:	5d                   	pop    %ebp
615893:	c3                   	ret
615894:	55                   	push   %ebp
615895:	8b ec                	mov    %esp,%ebp
615897:	51                   	push   %ecx
615898:	51                   	push   %ecx
615899:	53                   	push   %ebx
61589a:	8b 5d 08             	mov    0x8(%ebp),%ebx
61589d:	56                   	push   %esi
61589e:	57                   	push   %edi
61589f:	6a 01                	push   $0x1
6158a1:	53                   	push   %ebx
6158a2:	e8 f0 fe ff ff       	call   0x615797
6158a7:	8b 7d 0c             	mov    0xc(%ebp),%edi
6158aa:	59                   	pop    %ecx
6158ab:	59                   	pop    %ecx
6158ac:	84 c0                	test   %al,%al
6158ae:	74 67                	je     0x615917
6158b0:	6a 01                	push   $0x1
6158b2:	57                   	push   %edi
6158b3:	e8 df fe ff ff       	call   0x615797
6158b8:	8b 75 10             	mov    0x10(%ebp),%esi
6158bb:	59                   	pop    %ecx
6158bc:	59                   	pop    %ecx
6158bd:	84 c0                	test   %al,%al
6158bf:	74 59                	je     0x61591a
6158c1:	6a 01                	push   $0x1
6158c3:	56                   	push   %esi
6158c4:	e8 ce fe ff ff       	call   0x615797
6158c9:	59                   	pop    %ecx
6158ca:	59                   	pop    %ecx
6158cb:	8b 4d 14             	mov    0x14(%ebp),%ecx
6158ce:	84 c0                	test   %al,%al
6158d0:	74 4b                	je     0x61591d
6158d2:	8b d1                	mov    %ecx,%edx
6158d4:	33 c0                	xor    %eax,%eax
6158d6:	c1 ea 02             	shr    $0x2,%edx
6158d9:	85 d2                	test   %edx,%edx
6158db:	74 2b                	je     0x615908
6158dd:	8b cf                	mov    %edi,%ecx
6158df:	89 55 f8             	mov    %edx,-0x8(%ebp)
6158e2:	8b c3                	mov    %ebx,%eax
6158e4:	2b ce                	sub    %esi,%ecx
6158e6:	2b c6                	sub    %esi,%eax
6158e8:	8b de                	mov    %esi,%ebx
6158ea:	8b f8                	mov    %eax,%edi
6158ec:	8b 04 19             	mov    (%ecx,%ebx,1),%eax
6158ef:	33 03                	xor    (%ebx),%eax
6158f1:	89 04 1f             	mov    %eax,(%edi,%ebx,1)
6158f4:	8d 5b 04             	lea    0x4(%ebx),%ebx
6158f7:	83 ea 01             	sub    $0x1,%edx
6158fa:	75 f0                	jne    0x6158ec
6158fc:	8b 4d 14             	mov    0x14(%ebp),%ecx
6158ff:	8b 7d 0c             	mov    0xc(%ebp),%edi
615902:	8b 5d 08             	mov    0x8(%ebp),%ebx
615905:	8b 45 f8             	mov    -0x8(%ebp),%eax
615908:	c1 e0 02             	shl    $0x2,%eax
61590b:	2b c8                	sub    %eax,%ecx
61590d:	74 24                	je     0x615933
61590f:	03 d8                	add    %eax,%ebx
615911:	03 f8                	add    %eax,%edi
615913:	03 f0                	add    %eax,%esi
615915:	eb 06                	jmp    0x61591d
615917:	8b 75 10             	mov    0x10(%ebp),%esi
61591a:	8b 4d 14             	mov    0x14(%ebp),%ecx
61591d:	85 c9                	test   %ecx,%ecx
61591f:	74 12                	je     0x615933
615921:	2b fe                	sub    %esi,%edi
615923:	2b de                	sub    %esi,%ebx
615925:	8a 04 3e             	mov    (%esi,%edi,1),%al
615928:	32 06                	xor    (%esi),%al
61592a:	88 04 1e             	mov    %al,(%esi,%ebx,1)
61592d:	46                   	inc    %esi
61592e:	83 e9 01             	sub    $0x1,%ecx
615931:	75 f2                	jne    0x615925
615933:	5f                   	pop    %edi
615934:	5e                   	pop    %esi
615935:	5b                   	pop    %ebx
615936:	8b e5                	mov    %ebp,%esp
615938:	5d                   	pop    %ebp
615939:	c3                   	ret
61593a:	55                   	push   %ebp
61593b:	8b ec                	mov    %esp,%ebp
61593d:	51                   	push   %ecx
61593e:	51                   	push   %ecx
61593f:	56                   	push   %esi
615940:	8b 75 08             	mov    0x8(%ebp),%esi
615943:	57                   	push   %edi
615944:	6a 01                	push   $0x1
615946:	56                   	push   %esi
615947:	e8 4b fe ff ff       	call   0x615797
61594c:	8b 7d 0c             	mov    0xc(%ebp),%edi
61594f:	59                   	pop    %ecx
615950:	59                   	pop    %ecx
615951:	84 c0                	test   %al,%al
615953:	74 49                	je     0x61599e
615955:	6a 01                	push   $0x1
615957:	57                   	push   %edi
615958:	e8 3a fe ff ff       	call   0x615797
61595d:	59                   	pop    %ecx
61595e:	59                   	pop    %ecx
61595f:	8b 4d 10             	mov    0x10(%ebp),%ecx