5d766f:	83 66 1c df          	andl   $0xffffffdf,0x1c(%esi)
5d7673:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
5d7677:	ff 75 08             	push   0x8(%ebp)
5d767a:	88 5e 38             	mov    %bl,0x38(%esi)
5d767d:	75 0b                	jne    0x5d768a
5d767f:	52                   	push   %edx
5d7680:	51                   	push   %ecx
5d7681:	8b ce                	mov    %esi,%ecx
5d7683:	e8 06 0b 00 00       	call   0x5d818e
5d7688:	eb 08                	jmp    0x5d7692
5d768a:	51                   	push   %ecx
5d768b:	8b ce                	mov    %esi,%ecx
5d768d:	e8 fc 07 00 00       	call   0x5d7e8e
5d7692:	8b 46 1c             	mov    0x1c(%esi),%eax
5d7695:	c1 e8 07             	shr    $0x7,%eax
5d7698:	a8 01                	test   $0x1,%al
5d769a:	74 19                	je     0x5d76b5
5d769c:	39 5e 34             	cmp    %ebx,0x34(%esi)
5d769f:	74 08                	je     0x5d76a9
5d76a1:	8b 46 30             	mov    0x30(%esi),%eax
5d76a4:	80 38 30             	cmpb   $0x30,(%eax)
5d76a7:	74 0c                	je     0x5d76b5
5d76a9:	ff 4e 30             	decl   0x30(%esi)
5d76ac:	8b 4e 30             	mov    0x30(%esi),%ecx
5d76af:	c6 01 30             	movb   $0x30,(%ecx)
5d76b2:	ff 46 34             	incl   0x34(%esi)
5d76b5:	b0 01                	mov    $0x1,%al
5d76b7:	5f                   	pop    %edi
5d76b8:	5e                   	pop    %esi
5d76b9:	5b                   	pop    %ebx
5d76ba:	c9                   	leave
5d76bb:	c2 04 00             	ret    $0x4
5d76be:	8b ff                	mov    %edi,%edi
5d76c0:	55                   	push   %ebp
5d76c1:	8b ec                	mov    %esp,%ebp
5d76c3:	83 ec 0c             	sub    $0xc,%esp
5d76c6:	53                   	push   %ebx
5d76c7:	56                   	push   %esi
5d76c8:	8b f1                	mov    %ecx,%esi
5d76ca:	57                   	push   %edi
5d76cb:	ff 76 28             	push   0x28(%esi)
5d76ce:	e8 9f 28 00 00       	call   0x5d9f72
5d76d3:	59                   	pop    %ecx
5d76d4:	8b c8                	mov    %eax,%ecx
5d76d6:	89 45 f4             	mov    %eax,-0xc(%ebp)
5d76d9:	6a 00                	push   $0x0
5d76db:	5b                   	pop    %ebx
5d76dc:	83 e9 01             	sub    $0x1,%ecx
5d76df:	0f 84 99 00 00 00    	je     0x5d777e
5d76e5:	83 e9 01             	sub    $0x1,%ecx
5d76e8:	74 75                	je     0x5d775f
5d76ea:	49                   	dec    %ecx
5d76eb:	83 e9 01             	sub    $0x1,%ecx
5d76ee:	74 46                	je     0x5d7736
5d76f0:	83 e9 04             	sub    $0x4,%ecx
5d76f3:	74 27                	je     0x5d771c
5d76f5:	8b 46 08             	mov    0x8(%esi),%eax
5d76f8:	83 c0 18             	add    $0x18,%eax
5d76fb:	c6 40 04 01          	movb   $0x1,0x4(%eax)
5d76ff:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5d7705:	ff 76 08             	push   0x8(%esi)
5d7708:	53                   	push   %ebx
5d7709:	53                   	push   %ebx
5d770a:	53                   	push   %ebx
5d770b:	53                   	push   %ebx
5d770c:	53                   	push   %ebx
5d770d:	e8 51 ea ff ff       	call   0x5d6163
5d7712:	83 c4 18             	add    $0x18,%esp
5d7715:	32 c0                	xor    %al,%al
5d7717:	e9 2d 01 00 00       	jmp    0x5d7849
5d771c:	8b 4e 10             	mov    0x10(%esi),%ecx
5d771f:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7722:	8b c7                	mov    %edi,%eax
5d7724:	c1 e8 04             	shr    $0x4,%eax
5d7727:	a8 01                	test   $0x1,%al
5d7729:	8d 41 08             	lea    0x8(%ecx),%eax
5d772c:	89 46 10             	mov    %eax,0x10(%esi)
5d772f:	8b 01                	mov    (%ecx),%eax
5d7731:	8b 51 04             	mov    0x4(%ecx),%edx
5d7734:	eb 66                	jmp    0x5d779c
5d7736:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7739:	8b c7                	mov    %edi,%eax
5d773b:	c1 e8 04             	shr    $0x4,%eax
5d773e:	a8 01                	test   $0x1,%al
5d7740:	74 0d                	je     0x5d774f
5d7742:	8b 46 10             	mov    0x10(%esi),%eax
5d7745:	8d 48 04             	lea    0x4(%eax),%ecx
5d7748:	89 4e 10             	mov    %ecx,0x10(%esi)
5d774b:	8b 00                	mov    (%eax),%eax
5d774d:	eb 4c                	jmp    0x5d779b
5d774f:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7752:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5d7755:	8d 41 04             	lea    0x4(%ecx),%eax
5d7758:	89 46 10             	mov    %eax,0x10(%esi)
5d775b:	8b 01                	mov    (%ecx),%eax
5d775d:	eb 40                	jmp    0x5d779f
5d775f:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7762:	8b c7                	mov    %edi,%eax
5d7764:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7767:	c1 e8 04             	shr    $0x4,%eax
5d776a:	a8 01                	test   $0x1,%al
5d776c:	8d 41 04             	lea    0x4(%ecx),%eax
5d776f:	89 46 10             	mov    %eax,0x10(%esi)
5d7772:	74 05                	je     0x5d7779
5d7774:	0f bf 01             	movswl (%ecx),%eax
5d7777:	eb 22                	jmp    0x5d779b
5d7779:	0f b7 01             	movzwl (%ecx),%eax
5d777c:	eb 1d                	jmp    0x5d779b
5d777e:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7781:	8b c7                	mov    %edi,%eax
5d7783:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7786:	c1 e8 04             	shr    $0x4,%eax
5d7789:	a8 01                	test   $0x1,%al
5d778b:	8d 41 04             	lea    0x4(%ecx),%eax
5d778e:	89 46 10             	mov    %eax,0x10(%esi)
5d7791:	74 05                	je     0x5d7798
5d7793:	0f be 01             	movsbl (%ecx),%eax
5d7796:	eb 03                	jmp    0x5d779b
5d7798:	0f b6 01             	movzbl (%ecx),%eax
5d779b:	99                   	cltd
5d779c:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d779f:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d77a2:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d77a5:	8b c7                	mov    %edi,%eax
5d77a7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d77aa:	c1 e8 04             	shr    $0x4,%eax
5d77ad:	a8 01                	test   $0x1,%al
5d77af:	74 16                	je     0x5d77c7
5d77b1:	3b d3                	cmp    %ebx,%edx
5d77b3:	7f 12                	jg     0x5d77c7
5d77b5:	7c 04                	jl     0x5d77bb
5d77b7:	3b cb                	cmp    %ebx,%ecx
5d77b9:	73 0c                	jae    0x5d77c7
5d77bb:	f7 d9                	neg    %ecx
5d77bd:	13 d3                	adc    %ebx,%edx
5d77bf:	f7 da                	neg    %edx
5d77c1:	83 cf 40             	or     $0x40,%edi
5d77c4:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d77c7:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
5d77cb:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d77ce:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d77d1:	7d 09                	jge    0x5d77dc
5d77d3:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
5d77da:	eb 1a                	jmp    0x5d77f6
5d77dc:	ff 76 08             	push   0x8(%esi)
5d77df:	83 e7 f7             	and    $0xfffffff7,%edi
5d77e2:	8d 4e 3c             	lea    0x3c(%esi),%ecx
5d77e5:	ff 76 24             	push   0x24(%esi)
5d77e8:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d77eb:	e8 f1 f3 ff ff       	call   0x5d6be1
5d77f0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d77f3:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d77f6:	8b c1                	mov    %ecx,%eax
5d77f8:	0b c2                	or     %edx,%eax
5d77fa:	75 04                	jne    0x5d7800
5d77fc:	83 66 1c df          	andl   $0xffffffdf,0x1c(%esi)
5d7800:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
5d7804:	ff 75 08             	push   0x8(%ebp)
5d7807:	c6 46 38 01          	movb   $0x1,0x38(%esi)
5d780b:	75 0b                	jne    0x5d7818
5d780d:	52                   	push   %edx
5d780e:	51                   	push   %ecx
5d780f:	8b ce                	mov    %esi,%ecx
5d7811:	e8 f0 09 00 00       	call   0x5d8206
5d7816:	eb 08                	jmp    0x5d7820
5d7818:	51                   	push   %ecx
5d7819:	8b ce                	mov    %esi,%ecx
5d781b:	e8 d1 06 00 00       	call   0x5d7ef1
5d7820:	8b 46 1c             	mov    0x1c(%esi),%eax
5d7823:	c1 e8 07             	shr    $0x7,%eax
5d7826:	a8 01                	test   $0x1,%al
5d7828:	74 1d                	je     0x5d7847
5d782a:	6a 30                	push   $0x30
5d782c:	5a                   	pop    %edx
5d782d:	39 5e 34             	cmp    %ebx,0x34(%esi)
5d7830:	74 08                	je     0x5d783a
5d7832:	8b 46 30             	mov    0x30(%esi),%eax
5d7835:	66 39 10             	cmp    %dx,(%eax)
5d7838:	74 0d                	je     0x5d7847
5d783a:	83 46 30 fe          	addl   $0xfffffffe,0x30(%esi)
5d783e:	8b 4e 30             	mov    0x30(%esi),%ecx
5d7841:	66 89 11             	mov    %dx,(%ecx)
5d7844:	ff 46 34             	incl   0x34(%esi)
5d7847:	b0 01                	mov    $0x1,%al
5d7849:	5f                   	pop    %edi
5d784a:	5e                   	pop    %esi
5d784b:	5b                   	pop    %ebx
5d784c:	c9                   	leave
5d784d:	c2 04 00             	ret    $0x4
5d7850:	8b ff                	mov    %edi,%edi
5d7852:	55                   	push   %ebp
5d7853:	8b ec                	mov    %esp,%ebp
5d7855:	83 ec 0c             	sub    $0xc,%esp
5d7858:	53                   	push   %ebx
5d7859:	56                   	push   %esi
5d785a:	8b f1                	mov    %ecx,%esi
5d785c:	57                   	push   %edi
5d785d:	ff 76 28             	push   0x28(%esi)
5d7860:	e8 0d 27 00 00       	call   0x5d9f72
5d7865:	59                   	pop    %ecx
5d7866:	8b c8                	mov    %eax,%ecx
5d7868:	89 45 f4             	mov    %eax,-0xc(%ebp)
5d786b:	6a 00                	push   $0x0
5d786d:	5b                   	pop    %ebx
5d786e:	83 e9 01             	sub    $0x1,%ecx
5d7871:	0f 84 99 00 00 00    	je     0x5d7910
5d7877:	83 e9 01             	sub    $0x1,%ecx
5d787a:	74 75                	je     0x5d78f1
5d787c:	49                   	dec    %ecx
5d787d:	83 e9 01             	sub    $0x1,%ecx
5d7880:	74 46                	je     0x5d78c8
5d7882:	83 e9 04             	sub    $0x4,%ecx
5d7885:	74 27                	je     0x5d78ae
5d7887:	8b 46 08             	mov    0x8(%esi),%eax
5d788a:	83 c0 18             	add    $0x18,%eax
5d788d:	c6 40 04 01          	movb   $0x1,0x4(%eax)
5d7891:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5d7897:	ff 76 08             	push   0x8(%esi)
5d789a:	53                   	push   %ebx
5d789b:	53                   	push   %ebx
5d789c:	53                   	push   %ebx
5d789d:	53                   	push   %ebx
5d789e:	53                   	push   %ebx
5d789f:	e8 bf e8 ff ff       	call   0x5d6163
5d78a4:	83 c4 18             	add    $0x18,%esp
5d78a7:	32 c0                	xor    %al,%al
5d78a9:	e9 28 01 00 00       	jmp    0x5d79d6
5d78ae:	8b 4e 10             	mov    0x10(%esi),%ecx
5d78b1:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d78b4:	8b c7                	mov    %edi,%eax
5d78b6:	c1 e8 04             	shr    $0x4,%eax
5d78b9:	a8 01                	test   $0x1,%al
5d78bb:	8d 41 08             	lea    0x8(%ecx),%eax
5d78be:	89 46 10             	mov    %eax,0x10(%esi)
5d78c1:	8b 01                	mov    (%ecx),%eax
5d78c3:	8b 51 04             	mov    0x4(%ecx),%edx
5d78c6:	eb 66                	jmp    0x5d792e
5d78c8:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d78cb:	8b c7                	mov    %edi,%eax
5d78cd:	c1 e8 04             	shr    $0x4,%eax
5d78d0:	a8 01                	test   $0x1,%al
5d78d2:	74 0d                	je     0x5d78e1
5d78d4:	8b 46 10             	mov    0x10(%esi),%eax
5d78d7:	8d 48 04             	lea    0x4(%eax),%ecx
5d78da:	89 4e 10             	mov    %ecx,0x10(%esi)
5d78dd:	8b 00                	mov    (%eax),%eax
5d78df:	eb 4c                	jmp    0x5d792d
5d78e1:	8b 4e 10             	mov    0x10(%esi),%ecx
5d78e4:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5d78e7:	8d 41 04             	lea    0x4(%ecx),%eax
5d78ea:	89 46 10             	mov    %eax,0x10(%esi)
5d78ed:	8b 01                	mov    (%ecx),%eax
5d78ef:	eb 40                	jmp    0x5d7931
5d78f1:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d78f4:	8b c7                	mov    %edi,%eax
5d78f6:	8b 4e 10             	mov    0x10(%esi),%ecx
5d78f9:	c1 e8 04             	shr    $0x4,%eax
5d78fc:	a8 01                	test   $0x1,%al
5d78fe:	8d 41 04             	lea    0x4(%ecx),%eax
5d7901:	89 46 10             	mov    %eax,0x10(%esi)
5d7904:	74 05                	je     0x5d790b
5d7906:	0f bf 01             	movswl (%ecx),%eax
5d7909:	eb 22                	jmp    0x5d792d
5d790b:	0f b7 01             	movzwl (%ecx),%eax
5d790e:	eb 1d                	jmp    0x5d792d
5d7910:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7913:	8b c7                	mov    %edi,%eax
5d7915:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7918:	c1 e8 04             	shr    $0x4,%eax
5d791b:	a8 01                	test   $0x1,%al
5d791d:	8d 41 04             	lea    0x4(%ecx),%eax
5d7920:	89 46 10             	mov    %eax,0x10(%esi)
5d7923:	74 05                	je     0x5d792a
5d7925:	0f be 01             	movsbl (%ecx),%eax
5d7928:	eb 03                	jmp    0x5d792d
5d792a:	0f b6 01             	movzbl (%ecx),%eax
5d792d:	99                   	cltd
5d792e:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d7931:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d7934:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d7937:	8b c7                	mov    %edi,%eax
5d7939:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d793c:	c1 e8 04             	shr    $0x4,%eax
5d793f:	a8 01                	test   $0x1,%al
5d7941:	74 16                	je     0x5d7959
5d7943:	3b d3                	cmp    %ebx,%edx
5d7945:	7f 12                	jg     0x5d7959
5d7947:	7c 04                	jl     0x5d794d
5d7949:	3b cb                	cmp    %ebx,%ecx
5d794b:	73 0c                	jae    0x5d7959
5d794d:	f7 d9                	neg    %ecx
5d794f:	13 d3                	adc    %ebx,%edx
5d7951:	f7 da                	neg    %edx
5d7953:	83 cf 40             	or     $0x40,%edi
5d7956:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d7959:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
5d795d:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d7960:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d7963:	7d 09                	jge    0x5d796e
5d7965:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
5d796c:	eb 1a                	jmp    0x5d7988
5d796e:	ff 76 08             	push   0x8(%esi)
5d7971:	83 e7 f7             	and    $0xfffffff7,%edi
5d7974:	8d 4e 3c             	lea    0x3c(%esi),%ecx
5d7977:	ff 76 24             	push   0x24(%esi)
5d797a:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d797d:	e8 de f1 ff ff       	call   0x5d6b60
5d7982:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d7985:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d7988:	8b c1                	mov    %ecx,%eax
5d798a:	0b c2                	or     %edx,%eax
5d798c:	75 04                	jne    0x5d7992
5d798e:	83 66 1c df          	andl   $0xffffffdf,0x1c(%esi)
5d7992:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
5d7996:	ff 75 08             	push   0x8(%ebp)
5d7999:	88 5e 38             	mov    %bl,0x38(%esi)
5d799c:	75 0b                	jne    0x5d79a9
5d799e:	52                   	push   %edx
5d799f:	51                   	push   %ecx
5d79a0:	8b ce                	mov    %esi,%ecx
5d79a2:	e8 e6 08 00 00       	call   0x5d828d
5d79a7:	eb 08                	jmp    0x5d79b1
5d79a9:	51                   	push   %ecx
5d79aa:	8b ce                	mov    %esi,%ecx
5d79ac:	e8 b3 05 00 00       	call   0x5d7f64
5d79b1:	8b 46 1c             	mov    0x1c(%esi),%eax
5d79b4:	c1 e8 07             	shr    $0x7,%eax
5d79b7:	a8 01                	test   $0x1,%al
5d79b9:	74 19                	je     0x5d79d4
5d79bb:	39 5e 34             	cmp    %ebx,0x34(%esi)
5d79be:	74 08                	je     0x5d79c8
5d79c0:	8b 46 30             	mov    0x30(%esi),%eax
5d79c3:	80 38 30             	cmpb   $0x30,(%eax)
5d79c6:	74 0c                	je     0x5d79d4
5d79c8:	ff 4e 30             	decl   0x30(%esi)
5d79cb:	8b 4e 30             	mov    0x30(%esi),%ecx
5d79ce:	c6 01 30             	movb   $0x30,(%ecx)
5d79d1:	ff 46 34             	incl   0x34(%esi)
5d79d4:	b0 01                	mov    $0x1,%al
5d79d6:	5f                   	pop    %edi
5d79d7:	5e                   	pop    %esi
5d79d8:	5b                   	pop    %ebx
5d79d9:	c9                   	leave
5d79da:	c2 04 00             	ret    $0x4
5d79dd:	8b ff                	mov    %edi,%edi
5d79df:	55                   	push   %ebp
5d79e0:	8b ec                	mov    %esp,%ebp
5d79e2:	83 ec 0c             	sub    $0xc,%esp
5d79e5:	53                   	push   %ebx
5d79e6:	56                   	push   %esi