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
5d79e7:	8b f1                	mov    %ecx,%esi
5d79e9:	57                   	push   %edi
5d79ea:	ff 76 28             	push   0x28(%esi)
5d79ed:	e8 80 25 00 00       	call   0x5d9f72
5d79f2:	59                   	pop    %ecx
5d79f3:	8b c8                	mov    %eax,%ecx
5d79f5:	89 45 f4             	mov    %eax,-0xc(%ebp)
5d79f8:	6a 00                	push   $0x0
5d79fa:	5b                   	pop    %ebx
5d79fb:	83 e9 01             	sub    $0x1,%ecx
5d79fe:	0f 84 99 00 00 00    	je     0x5d7a9d
5d7a04:	83 e9 01             	sub    $0x1,%ecx
5d7a07:	74 75                	je     0x5d7a7e
5d7a09:	49                   	dec    %ecx
5d7a0a:	83 e9 01             	sub    $0x1,%ecx
5d7a0d:	74 46                	je     0x5d7a55
5d7a0f:	83 e9 04             	sub    $0x4,%ecx
5d7a12:	74 27                	je     0x5d7a3b
5d7a14:	8b 46 08             	mov    0x8(%esi),%eax
5d7a17:	83 c0 18             	add    $0x18,%eax
5d7a1a:	c6 40 04 01          	movb   $0x1,0x4(%eax)
5d7a1e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5d7a24:	ff 76 08             	push   0x8(%esi)
5d7a27:	53                   	push   %ebx
5d7a28:	53                   	push   %ebx
5d7a29:	53                   	push   %ebx
5d7a2a:	53                   	push   %ebx
5d7a2b:	53                   	push   %ebx
5d7a2c:	e8 32 e7 ff ff       	call   0x5d6163
5d7a31:	83 c4 18             	add    $0x18,%esp
5d7a34:	32 c0                	xor    %al,%al
5d7a36:	e9 2d 01 00 00       	jmp    0x5d7b68
5d7a3b:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7a3e:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7a41:	8b c7                	mov    %edi,%eax
5d7a43:	c1 e8 04             	shr    $0x4,%eax
5d7a46:	a8 01                	test   $0x1,%al
5d7a48:	8d 41 08             	lea    0x8(%ecx),%eax
5d7a4b:	89 46 10             	mov    %eax,0x10(%esi)
5d7a4e:	8b 01                	mov    (%ecx),%eax
5d7a50:	8b 51 04             	mov    0x4(%ecx),%edx
5d7a53:	eb 66                	jmp    0x5d7abb
5d7a55:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7a58:	8b c7                	mov    %edi,%eax
5d7a5a:	c1 e8 04             	shr    $0x4,%eax
5d7a5d:	a8 01                	test   $0x1,%al
5d7a5f:	74 0d                	je     0x5d7a6e
5d7a61:	8b 46 10             	mov    0x10(%esi),%eax
5d7a64:	8d 48 04             	lea    0x4(%eax),%ecx
5d7a67:	89 4e 10             	mov    %ecx,0x10(%esi)
5d7a6a:	8b 00                	mov    (%eax),%eax
5d7a6c:	eb 4c                	jmp    0x5d7aba
5d7a6e:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7a71:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5d7a74:	8d 41 04             	lea    0x4(%ecx),%eax
5d7a77:	89 46 10             	mov    %eax,0x10(%esi)
5d7a7a:	8b 01                	mov    (%ecx),%eax
5d7a7c:	eb 40                	jmp    0x5d7abe
5d7a7e:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7a81:	8b c7                	mov    %edi,%eax
5d7a83:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7a86:	c1 e8 04             	shr    $0x4,%eax
5d7a89:	a8 01                	test   $0x1,%al
5d7a8b:	8d 41 04             	lea    0x4(%ecx),%eax
5d7a8e:	89 46 10             	mov    %eax,0x10(%esi)
5d7a91:	74 05                	je     0x5d7a98
5d7a93:	0f bf 01             	movswl (%ecx),%eax
5d7a96:	eb 22                	jmp    0x5d7aba
5d7a98:	0f b7 01             	movzwl (%ecx),%eax
5d7a9b:	eb 1d                	jmp    0x5d7aba
5d7a9d:	8b 7e 1c             	mov    0x1c(%esi),%edi
5d7aa0:	8b c7                	mov    %edi,%eax
5d7aa2:	8b 4e 10             	mov    0x10(%esi),%ecx
5d7aa5:	c1 e8 04             	shr    $0x4,%eax
5d7aa8:	a8 01                	test   $0x1,%al
5d7aaa:	8d 41 04             	lea    0x4(%ecx),%eax
5d7aad:	89 46 10             	mov    %eax,0x10(%esi)
5d7ab0:	74 05                	je     0x5d7ab7
5d7ab2:	0f be 01             	movsbl (%ecx),%eax
5d7ab5:	eb 03                	jmp    0x5d7aba
5d7ab7:	0f b6 01             	movzbl (%ecx),%eax
5d7aba:	99                   	cltd
5d7abb:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d7abe:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d7ac1:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d7ac4:	8b c7                	mov    %edi,%eax
5d7ac6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d7ac9:	c1 e8 04             	shr    $0x4,%eax
5d7acc:	a8 01                	test   $0x1,%al
5d7ace:	74 16                	je     0x5d7ae6
5d7ad0:	3b d3                	cmp    %ebx,%edx
5d7ad2:	7f 12                	jg     0x5d7ae6
5d7ad4:	7c 04                	jl     0x5d7ada
5d7ad6:	3b cb                	cmp    %ebx,%ecx
5d7ad8:	73 0c                	jae    0x5d7ae6
5d7ada:	f7 d9                	neg    %ecx
5d7adc:	13 d3                	adc    %ebx,%edx
5d7ade:	f7 da                	neg    %edx
5d7ae0:	83 cf 40             	or     $0x40,%edi
5d7ae3:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d7ae6:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
5d7aea:	89 55 f8             	mov    %edx,-0x8(%ebp)
5d7aed:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d7af0:	7d 09                	jge    0x5d7afb
5d7af2:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
5d7af9:	eb 1a                	jmp    0x5d7b15
5d7afb:	ff 76 08             	push   0x8(%esi)
5d7afe:	83 e7 f7             	and    $0xfffffff7,%edi
5d7b01:	8d 4e 3c             	lea    0x3c(%esi),%ecx
5d7b04:	ff 76 24             	push   0x24(%esi)
5d7b07:	89 7e 1c             	mov    %edi,0x1c(%esi)
5d7b0a:	e8 d2 f0 ff ff       	call   0x5d6be1
5d7b0f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d7b12:	8b 55 f8             	mov    -0x8(%ebp),%edx
5d7b15:	8b c1                	mov    %ecx,%eax
5d7b17:	0b c2                	or     %edx,%eax
5d7b19:	75 04                	jne    0x5d7b1f
5d7b1b:	83 66 1c df          	andl   $0xffffffdf,0x1c(%esi)
5d7b1f:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
5d7b23:	ff 75 08             	push   0x8(%ebp)
5d7b26:	c6 46 38 01          	movb   $0x1,0x38(%esi)
5d7b2a:	75 0b                	jne    0x5d7b37
5d7b2c:	52                   	push   %edx
5d7b2d:	51                   	push   %ecx
5d7b2e:	8b ce                	mov    %esi,%ecx
5d7b30:	e8 ff 07 00 00       	call   0x5d8334
5d7b35:	eb 08                	jmp    0x5d7b3f
5d7b37:	51                   	push   %ecx
5d7b38:	8b ce                	mov    %esi,%ecx
5d7b3a:	e8 ac 04 00 00       	call   0x5d7feb
5d7b3f:	8b 46 1c             	mov    0x1c(%esi),%eax
5d7b42:	c1 e8 07             	shr    $0x7,%eax
5d7b45:	a8 01                	test   $0x1,%al
5d7b47:	74 1d                	je     0x5d7b66
5d7b49:	6a 30                	push   $0x30
5d7b4b:	5a                   	pop    %edx
5d7b4c:	39 5e 34             	cmp    %ebx,0x34(%esi)
5d7b4f:	74 08                	je     0x5d7b59
5d7b51:	8b 46 30             	mov    0x30(%esi),%eax
5d7b54:	66 39 10             	cmp    %dx,(%eax)
5d7b57:	74 0d                	je     0x5d7b66
5d7b59:	83 46 30 fe          	addl   $0xfffffffe,0x30(%esi)
5d7b5d:	8b 4e 30             	mov    0x30(%esi),%ecx
5d7b60:	66 89 11             	mov    %dx,(%ecx)
5d7b63:	ff 46 34             	incl   0x34(%esi)
5d7b66:	b0 01                	mov    $0x1,%al
5d7b68:	5f                   	pop    %edi
5d7b69:	5e                   	pop    %esi
5d7b6a:	5b                   	pop    %ebx
5d7b6b:	c9                   	leave
5d7b6c:	c2 04 00             	ret    $0x4
5d7b6f:	8b ff                	mov    %edi,%edi
5d7b71:	55                   	push   %ebp
5d7b72:	8b ec                	mov    %esp,%ebp
5d7b74:	83 ec 0c             	sub    $0xc,%esp
5d7b77:	53                   	push   %ebx
5d7b78:	56                   	push   %esi
5d7b79:	8b f1                	mov    %ecx,%esi
5d7b7b:	57                   	push   %edi
5d7b7c:	ff 76 28             	push   0x28(%esi)
5d7b7f:	e8 ee 23 00 00       	call   0x5d9f72
5d7b84:	59                   	pop    %ecx
5d7b85:	8b c8                	mov    %eax,%ecx
5d7b87:	89 45 f4             	mov    %eax,-0xc(%ebp)
5d7b8a:	6a 00                	push   $0x0
5d7b8c:	5b                   	pop    %ebx
5d7b8d:	83 e9 01             	sub    $0x1,%ecx
5d7b90:	0f 84 99 00 00 00    	je     0x5d7c2f
5d7b96:	83 e9 01             	sub    $0x1,%ecx
5d7b99:	74 75                	je     0x5d7c10
5d7b9b:	49                   	dec    %ecx
5d7b9c:	83 e9 01             	sub    $0x1,%ecx
5d7b9f:	74 46                	je     0x5d7be7
5d7ba1:	83 e9 04             	sub    $0x4,%ecx
5d7ba4:	74 27                	je     0x5d7bcd