5d0775:	66 3b 07             	cmp    (%edi),%ax
5d0778:	74 55                	je     0x5d07cf
5d077a:	66 85 c0             	test   %ax,%ax
5d077d:	74 50                	je     0x5d07cf
5d077f:	ff 75 c0             	push   -0x40(%ebp)
5d0782:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5d0785:	e8 39 c9 00 00       	call   0x5dd0c3
5d078a:	84 c0                	test   %al,%al
5d078c:	75 24                	jne    0x5d07b2
5d078e:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5d0791:	38 41 04             	cmp    %al,0x4(%ecx)
5d0794:	75 08                	jne    0x5d079e
5d0796:	e8 8f 7a 00 00       	call   0x5d822a
5d079b:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5d079e:	66 8b 04 77          	mov    (%edi,%esi,2),%ax
5d07a2:	66 3b 41 06          	cmp    0x6(%ecx),%ax
5d07a6:	75 0a                	jne    0x5d07b2
5d07a8:	8b 55 cc             	mov    -0x34(%ebp),%edx
5d07ab:	b0 01                	mov    $0x1,%al
5d07ad:	88 45 d7             	mov    %al,-0x29(%ebp)
5d07b0:	eb 41                	jmp    0x5d07f3
5d07b2:	8b 55 cc             	mov    -0x34(%ebp),%edx
5d07b5:	83 fa 7f             	cmp    $0x7f,%edx
5d07b8:	73 04                	jae    0x5d07be
5d07ba:	8b ca                	mov    %edx,%ecx
5d07bc:	eb 03                	jmp    0x5d07c1
5d07be:	6a 7f                	push   $0x7f
5d07c0:	59                   	pop    %ecx
5d07c1:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
5d07c5:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d07c8:	72 20                	jb     0x5d07ea
5d07ca:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d07cd:	eb 1b                	jmp    0x5d07ea
5d07cf:	83 fa 7f             	cmp    $0x7f,%edx
5d07d2:	73 04                	jae    0x5d07d8
5d07d4:	8b ca                	mov    %edx,%ecx
5d07d6:	eb 03                	jmp    0x5d07db
5d07d8:	6a 7f                	push   $0x7f
5d07da:	59                   	pop    %ecx
5d07db:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
5d07df:	8d 45 d8             	lea    -0x28(%ebp),%eax
5d07e2:	72 03                	jb     0x5d07e7
5d07e4:	8b 45 d8             	mov    -0x28(%ebp),%eax
5d07e7:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
5d07ea:	88 0c 18             	mov    %cl,(%eax,%ebx,1)
5d07ed:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5d07f0:	8a 45 d7             	mov    -0x29(%ebp),%al
5d07f3:	43                   	inc    %ebx
5d07f4:	3b 5d c8             	cmp    -0x38(%ebp),%ebx
5d07f7:	0f 82 31 ff ff ff    	jb     0x5d072e
5d07fd:	84 c0                	test   %al,%al
5d07ff:	74 23                	je     0x5d0824
5d0801:	ff 75 c0             	push   -0x40(%ebp)
5d0804:	e8 ba c8 00 00       	call   0x5dd0c3
5d0809:	84 c0                	test   %al,%al
5d080b:	75 17                	jne    0x5d0824
5d080d:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5d0810:	ff 45 cc             	incl   -0x34(%ebp)
5d0813:	e8 b5 68 00 00       	call   0x5d70cd
5d0818:	83 4d c4 ff          	orl    $0xffffffff,-0x3c(%ebp)
5d081c:	8b 55 cc             	mov    -0x34(%ebp),%edx
5d081f:	e9 f9 fe ff ff       	jmp    0x5d071d
5d0824:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5d0827:	e8 54 47 e7 ff       	call   0x444f80
5d082c:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5d082f:	e8 76 17 01 00       	call   0x5e1faa
5d0834:	c3                   	ret
5d0835:	55                   	push   %ebp
5d0836:	8b ec                	mov    %esp,%ebp
5d0838:	53                   	push   %ebx
5d0839:	56                   	push   %esi
5d083a:	8b 75 0c             	mov    0xc(%ebp),%esi
5d083d:	57                   	push   %edi
5d083e:	8b f9                	mov    %ecx,%edi
5d0840:	80 7f 28 00          	cmpb   $0x0,0x28(%edi)
5d0844:	8d 5f 2c             	lea    0x2c(%edi),%ebx
5d0847:	74 05                	je     0x5d084e
5d0849:	8b 46 0c             	mov    0xc(%esi),%eax
5d084c:	eb 03                	jmp    0x5d0851
5d084e:	8b 46 10             	mov    0x10(%esi),%eax
5d0851:	53                   	push   %ebx
5d0852:	6a 00                	push   $0x0
5d0854:	50                   	push   %eax
5d0855:	e8 3d 02 00 00       	call   0x5d0a97
5d085a:	89 47 10             	mov    %eax,0x10(%edi)
5d085d:	83 c4 0c             	add    $0xc,%esp
5d0860:	80 7e 2e 04          	cmpb   $0x4,0x2e(%esi)
5d0864:	b8 65 aa 68 00       	mov    $0x68aa65,%eax
5d0869:	77 03                	ja     0x5d086e
5d086b:	8b 46 20             	mov    0x20(%esi),%eax
5d086e:	53                   	push   %ebx
5d086f:	6a 00                	push   $0x0
5d0871:	50                   	push   %eax
5d0872:	e8 20 02 00 00       	call   0x5d0a97
5d0877:	89 47 14             	mov    %eax,0x14(%edi)
5d087a:	83 c4 0c             	add    $0xc,%esp
5d087d:	80 7e 2f 04          	cmpb   $0x4,0x2f(%esi)
5d0881:	b8 b0 c6 68 00       	mov    $0x68c6b0,%eax
5d0886:	77 03                	ja     0x5d088b
5d0888:	8b 46 24             	mov    0x24(%esi),%eax
5d088b:	53                   	push   %ebx
5d088c:	6a 00                	push   $0x0
5d088e:	50                   	push   %eax
5d088f:	e8 03 02 00 00       	call   0x5d0a97
5d0894:	89 47 18             	mov    %eax,0x18(%edi)
5d0897:	8b 46 14             	mov    0x14(%esi),%eax
5d089a:	53                   	push   %ebx
5d089b:	6a 00                	push   $0x0
5d089d:	0f b6 00             	movzbl (%eax),%eax
5d08a0:	50                   	push   %eax
5d08a1:	e8 c0 01 00 00       	call   0x5d0a66
5d08a6:	66 89 47 0c          	mov    %ax,0xc(%edi)
5d08aa:	8b 46 18             	mov    0x18(%esi),%eax
5d08ad:	53                   	push   %ebx
5d08ae:	6a 00                	push   $0x0
5d08b0:	0f b6 00             	movzbl (%eax),%eax
5d08b3:	50                   	push   %eax
5d08b4:	e8 ad 01 00 00       	call   0x5d0a66
5d08b9:	83 c4 24             	add    $0x24,%esp
5d08bc:	66 89 47 0e          	mov    %ax,0xe(%edi)
5d08c0:	5f                   	pop    %edi
5d08c1:	5e                   	pop    %esi
5d08c2:	5b                   	pop    %ebx
5d08c3:	5d                   	pop    %ebp
5d08c4:	c2 08 00             	ret    $0x8
5d08c7:	55                   	push   %ebp
5d08c8:	8b ec                	mov    %esp,%ebp
5d08ca:	83 ec 30             	sub    $0x30,%esp
5d08cd:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5d08d2:	33 c5                	xor    %ebp,%eax
5d08d4:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d08d7:	53                   	push   %ebx
5d08d8:	56                   	push   %esi
5d08d9:	57                   	push   %edi
5d08da:	6a 0b                	push   $0xb
5d08dc:	8b d9                	mov    %ecx,%ebx
5d08de:	8d 75 10             	lea    0x10(%ebp),%esi
5d08e1:	59                   	pop    %ecx
5d08e2:	8d 7d d0             	lea    -0x30(%ebp),%edi
5d08e5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5d08e7:	8b 75 0c             	mov    0xc(%ebp),%esi
5d08ea:	8d 45 d0             	lea    -0x30(%ebp),%eax
5d08ed:	50                   	push   %eax
5d08ee:	6a 00                	push   $0x0
5d08f0:	8b 06                	mov    (%esi),%eax
5d08f2:	0f b6 00             	movzbl (%eax),%eax
5d08f5:	50                   	push   %eax
5d08f6:	e8 6b 01 00 00       	call   0x5d0a66
5d08fb:	66 89 43 0c          	mov    %ax,0xc(%ebx)
5d08ff:	8d 45 d0             	lea    -0x30(%ebp),%eax
5d0902:	50                   	push   %eax
5d0903:	8b 46 04             	mov    0x4(%esi),%eax
5d0906:	6a 00                	push   $0x0
5d0908:	0f b6 00             	movzbl (%eax),%eax
5d090b:	50                   	push   %eax
5d090c:	e8 55 01 00 00       	call   0x5d0a66
5d0911:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5d0914:	83 c4 18             	add    $0x18,%esp
5d0917:	66 89 43 0e          	mov    %ax,0xe(%ebx)
5d091b:	33 cd                	xor    %ebp,%ecx
5d091d:	5f                   	pop    %edi
5d091e:	5e                   	pop    %esi
5d091f:	5b                   	pop    %ebx
5d0920:	e8 b5 0b 01 00       	call   0x5e14da
5d0925:	c9                   	leave
5d0926:	c2 34 00             	ret    $0x34
5d0929:	55                   	push   %ebp
5d092a:	8b ec                	mov    %esp,%ebp
5d092c:	83 ec 30             	sub    $0x30,%esp
5d092f:	53                   	push   %ebx
5d0930:	56                   	push   %esi
5d0931:	8d 45 d0             	lea    -0x30(%ebp),%eax
5d0934:	8b d9                	mov    %ecx,%ebx
5d0936:	57                   	push   %edi
5d0937:	50                   	push   %eax
5d0938:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5d093b:	e8 e3 e1 ff ff       	call   0x5ceb23
5d0940:	59                   	pop    %ecx
5d0941:	6a 0b                	push   $0xb
5d0943:	83 c3 18             	add    $0x18,%ebx
5d0946:	8b f0                	mov    %eax,%esi
5d0948:	59                   	pop    %ecx
5d0949:	8b fb                	mov    %ebx,%edi
5d094b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5d094d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d0950:	33 ff                	xor    %edi,%edi
5d0952:	53                   	push   %ebx
5d0953:	57                   	push   %edi
5d0954:	e8 96 29 00 00       	call   0x5d32ef
5d0959:	50                   	push   %eax
5d095a:	e8 38 01 00 00       	call   0x5d0a97
5d095f:	8b 75 fc             	mov    -0x4(%ebp),%esi
5d0962:	83 c4 0c             	add    $0xc,%esp
5d0965:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d0968:	53                   	push   %ebx
5d0969:	57                   	push   %edi
5d096a:	89 46 08             	mov    %eax,0x8(%esi)
5d096d:	e8 4c 66 00 00       	call   0x5d6fbe
5d0972:	50                   	push   %eax
5d0973:	e8 1f 01 00 00       	call   0x5d0a97
5d0978:	53                   	push   %ebx
5d0979:	57                   	push   %edi
5d097a:	68 34 03 6d 00       	push   $0x6d0334
5d097f:	89 46 0c             	mov    %eax,0xc(%esi)
5d0982:	e8 10 01 00 00       	call   0x5d0a97
5d0987:	83 c4 18             	add    $0x18,%esp
5d098a:	89 46 10             	mov    %eax,0x10(%esi)
5d098d:	5f                   	pop    %edi
5d098e:	5e                   	pop    %esi
5d098f:	5b                   	pop    %ebx
5d0990:	c9                   	leave
5d0991:	c2 08 00             	ret    $0x8
5d0994:	55                   	push   %ebp
5d0995:	8b ec                	mov    %esp,%ebp
5d0997:	83 ec 2c             	sub    $0x2c,%esp
5d099a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5d099d:	53                   	push   %ebx
5d099e:	56                   	push   %esi
5d099f:	57                   	push   %edi
5d09a0:	50                   	push   %eax
5d09a1:	8b d9                	mov    %ecx,%ebx
5d09a3:	e8 7b e1 ff ff       	call   0x5ceb23
5d09a8:	59                   	pop    %ecx
5d09a9:	6a 0b                	push   $0xb
5d09ab:	59                   	pop    %ecx
5d09ac:	8b f0                	mov    %eax,%esi
5d09ae:	8d 7b 18             	lea    0x18(%ebx),%edi
5d09b1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5d09b3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d09b6:	e8 66 85 00 00       	call   0x5d8f21
5d09bb:	50                   	push   %eax
5d09bc:	e8 87 77 00 00       	call   0x5d8148
5d09c1:	59                   	pop    %ecx
5d09c2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d09c5:	89 43 08             	mov    %eax,0x8(%ebx)
5d09c8:	e8 82 85 00 00       	call   0x5d8f4f
5d09cd:	50                   	push   %eax
5d09ce:	e8 75 77 00 00       	call   0x5d8148
5d09d3:	89 43 0c             	mov    %eax,0xc(%ebx)
5d09d6:	c7 04 24 d8 04 6d 00 	movl   $0x6d04d8,(%esp)
5d09dd:	e8 66 77 00 00       	call   0x5d8148
5d09e2:	59                   	pop    %ecx
5d09e3:	5f                   	pop    %edi
5d09e4:	5e                   	pop    %esi
5d09e5:	89 43 10             	mov    %eax,0x10(%ebx)
5d09e8:	5b                   	pop    %ebx
5d09e9:	c9                   	leave
5d09ea:	c2 08 00             	ret    $0x8
5d09ed:	55                   	push   %ebp
5d09ee:	8b ec                	mov    %esp,%ebp
5d09f0:	8b 45 08             	mov    0x8(%ebp),%eax
5d09f3:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d09f6:	56                   	push   %esi
5d09f7:	eb 18                	jmp    0x5d0a11
5d09f9:	3b 4d 14             	cmp    0x14(%ebp),%ecx
5d09fc:	74 2c                	je     0x5d0a2a
5d09fe:	0f b7 10             	movzwl (%eax),%edx
5d0a01:	0f b7 31             	movzwl (%ecx),%esi
5d0a04:	66 3b d6             	cmp    %si,%dx
5d0a07:	72 1c                	jb     0x5d0a25
5d0a09:	77 15                	ja     0x5d0a20
5d0a0b:	83 c0 02             	add    $0x2,%eax
5d0a0e:	83 c1 02             	add    $0x2,%ecx
5d0a11:	3b 45 0c             	cmp    0xc(%ebp),%eax
5d0a14:	75 e3                	jne    0x5d09f9
5d0a16:	3b 4d 14             	cmp    0x14(%ebp),%ecx
5d0a19:	74 0f                	je     0x5d0a2a
5d0a1b:	83 c9 ff             	or     $0xffffffff,%ecx
5d0a1e:	eb 12                	jmp    0x5d0a32
5d0a20:	33 c0                	xor    %eax,%eax
5d0a22:	40                   	inc    %eax
5d0a23:	eb 0f                	jmp    0x5d0a34
5d0a25:	83 c8 ff             	or     $0xffffffff,%eax
5d0a28:	eb 0a                	jmp    0x5d0a34
5d0a2a:	33 c9                	xor    %ecx,%ecx
5d0a2c:	3b 45 0c             	cmp    0xc(%ebp),%eax
5d0a2f:	0f 95 c1             	setne  %cl
5d0a32:	8b c1                	mov    %ecx,%eax
5d0a34:	5e                   	pop    %esi
5d0a35:	5d                   	pop    %ebp
5d0a36:	c3                   	ret
5d0a37:	55                   	push   %ebp
5d0a38:	8b ec                	mov    %esp,%ebp
5d0a3a:	8b 45 0c             	mov    0xc(%ebp),%eax
5d0a3d:	2b 45 08             	sub    0x8(%ebp),%eax
5d0a40:	56                   	push   %esi
5d0a41:	8b 75 14             	mov    0x14(%ebp),%esi
5d0a44:	2b 75 10             	sub    0x10(%ebp),%esi
5d0a47:	d1 fe                	sar    $1,%esi
5d0a49:	d1 f8                	sar    $1,%eax
5d0a4b:	3b f0                	cmp    %eax,%esi
5d0a4d:	7f 12                	jg     0x5d0a61
5d0a4f:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
5d0a52:	51                   	push   %ecx
5d0a53:	ff 75 10             	push   0x10(%ebp)
5d0a56:	ff 75 08             	push   0x8(%ebp)
5d0a59:	e8 a2 24 01 00       	call   0x5e2f00
5d0a5e:	83 c4 0c             	add    $0xc,%esp
5d0a61:	8b c6                	mov    %esi,%eax
5d0a63:	5e                   	pop    %esi
5d0a64:	5d                   	pop    %ebp
5d0a65:	c3                   	ret
5d0a66:	55                   	push   %ebp
5d0a67:	8b ec                	mov    %esp,%ebp
5d0a69:	83 ec 0c             	sub    $0xc,%esp
5d0a6c:	ff 75 10             	push   0x10(%ebp)
5d0a6f:	33 c0                	xor    %eax,%eax
5d0a71:	21 45 f4             	and    %eax,-0xc(%ebp)
5d0a74:	21 45 f8             	and    %eax,-0x8(%ebp)
5d0a77:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
5d0a7b:	8d 45 f4             	lea    -0xc(%ebp),%eax
5d0a7e:	50                   	push   %eax
5d0a7f:	6a 01                	push   $0x1
5d0a81:	8d 45 08             	lea    0x8(%ebp),%eax
5d0a84:	50                   	push   %eax
5d0a85:	8d 45 fc             	lea    -0x4(%ebp),%eax
5d0a88:	50                   	push   %eax
5d0a89:	e8 97 e3 ff ff       	call   0x5cee25
5d0a8e:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
5d0a92:	83 c4 14             	add    $0x14,%esp
5d0a95:	c9                   	leave
5d0a96:	c3                   	ret
5d0a97:	55                   	push   %ebp
5d0a98:	8b ec                	mov    %esp,%ebp
5d0a9a:	83 ec 1c             	sub    $0x1c,%esp
5d0a9d:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
5d0aa1:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
5d0aa5:	53                   	push   %ebx
5d0aa6:	8b 5d 08             	mov    0x8(%ebp),%ebx
5d0aa9:	8b cb                	mov    %ebx,%ecx
5d0aab:	56                   	push   %esi
5d0aac:	57                   	push   %edi
5d0aad:	8d 51 01             	lea    0x1(%ecx),%edx
5d0ab0:	8a 01                	mov    (%ecx),%al
5d0ab2:	41                   	inc    %ecx
5d0ab3:	84 c0                	test   %al,%al
5d0ab5:	75 f9                	jne    0x5d0ab0
5d0ab7:	2b ca                	sub    %edx,%ecx
5d0ab9:	33 f6                	xor    %esi,%esi
5d0abb:	8d 41 01             	lea    0x1(%ecx),%eax
5d0abe:	89 45 f8             	mov    %eax,-0x8(%ebp)
5d0ac1:	8b f8                	mov    %eax,%edi
5d0ac3:	85 c0                	test   %eax,%eax
5d0ac5:	74 23                	je     0x5d0aea
5d0ac7:	ff 75 10             	push   0x10(%ebp)
5d0aca:	8d 45 ec             	lea    -0x14(%ebp),%eax
5d0acd:	50                   	push   %eax
5d0ace:	57                   	push   %edi
5d0acf:	8d 45 fc             	lea    -0x4(%ebp),%eax
5d0ad2:	53                   	push   %ebx