5d876d:	83 e0 7f             	and    $0x7f,%eax
5d8770:	8a 04 45 71 27 67 00 	mov    0x672771(,%eax,2),%al
5d8777:	eb 02                	jmp    0x5d877b
5d8779:	32 c0                	xor    %al,%al
5d877b:	0f b6 c8             	movzbl %al,%ecx
5d877e:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
5d8782:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
5d8785:	83 e0 7f             	and    $0x7f,%eax
5d8788:	8a 04 45 70 27 67 00 	mov    0x672770(,%eax,2),%al
5d878f:	5d                   	pop    %ebp
5d8790:	c2 08 00             	ret    $0x8
5d8793:	8b ff                	mov    %edi,%edi
5d8795:	55                   	push   %ebp
5d8796:	8b ec                	mov    %esp,%ebp
5d8798:	8b 45 0c             	mov    0xc(%ebp),%eax
5d879b:	8b 55 08             	mov    0x8(%ebp),%edx
5d879e:	53                   	push   %ebx
5d879f:	57                   	push   %edi
5d87a0:	8b 08                	mov    (%eax),%ecx
5d87a2:	8a 1a                	mov    (%edx),%bl
5d87a4:	0f b6 c3             	movzbl %bl,%eax
5d87a7:	8b b9 94 00 00 00    	mov    0x94(%ecx),%edi
5d87ad:	80 3c 38 65          	cmpb   $0x65,(%eax,%edi,1)
5d87b1:	74 10                	je     0x5d87c3
5d87b3:	56                   	push   %esi
5d87b4:	8b 31                	mov    (%ecx),%esi
5d87b6:	42                   	inc    %edx
5d87b7:	8a 1a                	mov    (%edx),%bl
5d87b9:	0f b6 c3             	movzbl %bl,%eax
5d87bc:	f6 04 46 04          	testb  $0x4,(%esi,%eax,2)
5d87c0:	75 f4                	jne    0x5d87b6
5d87c2:	5e                   	pop    %esi
5d87c3:	0f b6 c3             	movzbl %bl,%eax
5d87c6:	80 3c 38 78          	cmpb   $0x78,(%eax,%edi,1)
5d87ca:	75 05                	jne    0x5d87d1
5d87cc:	83 c2 02             	add    $0x2,%edx
5d87cf:	8a 1a                	mov    (%edx),%bl
5d87d1:	8b 81 88 00 00 00    	mov    0x88(%ecx),%eax
5d87d7:	8b 00                	mov    (%eax),%eax
5d87d9:	8a 00                	mov    (%eax),%al
5d87db:	88 02                	mov    %al,(%edx)
5d87dd:	42                   	inc    %edx
5d87de:	8a 02                	mov    (%edx),%al
5d87e0:	8a cb                	mov    %bl,%cl
5d87e2:	88 1a                	mov    %bl,(%edx)
5d87e4:	42                   	inc    %edx
5d87e5:	8a d8                	mov    %al,%bl
5d87e7:	84 c9                	test   %cl,%cl
5d87e9:	75 f3                	jne    0x5d87de
5d87eb:	5f                   	pop    %edi
5d87ec:	5b                   	pop    %ebx
5d87ed:	5d                   	pop    %ebp
5d87ee:	c3                   	ret
5d87ef:	8b ff                	mov    %edi,%edi
5d87f1:	55                   	push   %ebp
5d87f2:	8b ec                	mov    %esp,%ebp
5d87f4:	83 ec 10             	sub    $0x10,%esp
5d87f7:	53                   	push   %ebx
5d87f8:	56                   	push   %esi
5d87f9:	8b f1                	mov    %ecx,%esi
5d87fb:	8d 55 fc             	lea    -0x4(%ebp),%edx
5d87fe:	57                   	push   %edi
5d87ff:	33 db                	xor    %ebx,%ebx
5d8801:	43                   	inc    %ebx
5d8802:	8b 7e 08             	mov    0x8(%esi),%edi
5d8805:	8b 4e 0c             	mov    0xc(%esi),%ecx
5d8808:	53                   	push   %ebx
5d8809:	49                   	dec    %ecx
5d880a:	8b 47 18             	mov    0x18(%edi),%eax
5d880d:	6a 0a                	push   $0xa
5d880f:	51                   	push   %ecx
5d8810:	89 45 f8             	mov    %eax,-0x8(%ebp)
5d8813:	8b 47 1c             	mov    0x1c(%edi),%eax
5d8816:	51                   	push   %ecx
5d8817:	89 45 f4             	mov    %eax,-0xc(%ebp)
5d881a:	8b c4                	mov    %esp,%eax
5d881c:	57                   	push   %edi
5d881d:	89 08                	mov    %ecx,(%eax)
5d881f:	89 50 04             	mov    %edx,0x4(%eax)
5d8822:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d8825:	e8 07 e5 ff ff       	call   0x5d6d31
5d882a:	8b c8                	mov    %eax,%ecx
5d882c:	83 c4 14             	add    $0x14,%esp
5d882f:	8b 45 08             	mov    0x8(%ebp),%eax
5d8832:	89 08                	mov    %ecx,(%eax)
5d8834:	8b 46 08             	mov    0x8(%esi),%eax
5d8837:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
5d883b:	74 06                	je     0x5d8843
5d883d:	83 78 18 22          	cmpl   $0x22,0x18(%eax)
5d8841:	74 08                	je     0x5d884b
5d8843:	8b 45 fc             	mov    -0x4(%ebp),%eax
5d8846:	3b 46 0c             	cmp    0xc(%esi),%eax
5d8849:	73 04                	jae    0x5d884f
5d884b:	32 db                	xor    %bl,%bl
5d884d:	eb 03                	jmp    0x5d8852
5d884f:	89 46 0c             	mov    %eax,0xc(%esi)
5d8852:	8b 45 f8             	mov    -0x8(%ebp),%eax
5d8855:	89 47 18             	mov    %eax,0x18(%edi)
5d8858:	8b 45 f4             	mov    -0xc(%ebp),%eax
5d885b:	89 47 1c             	mov    %eax,0x1c(%edi)
5d885e:	8a c3                	mov    %bl,%al
5d8860:	5f                   	pop    %edi
5d8861:	5e                   	pop    %esi
5d8862:	5b                   	pop    %ebx
5d8863:	c9                   	leave
5d8864:	c2 04 00             	ret    $0x4
5d8867:	8b ff                	mov    %edi,%edi
5d8869:	55                   	push   %ebp
5d886a:	8b ec                	mov    %esp,%ebp
5d886c:	83 ec 10             	sub    $0x10,%esp
5d886f:	53                   	push   %ebx
5d8870:	56                   	push   %esi
5d8871:	8b f1                	mov    %ecx,%esi
5d8873:	8d 55 fc             	lea    -0x4(%ebp),%edx
5d8876:	57                   	push   %edi
5d8877:	33 db                	xor    %ebx,%ebx
5d8879:	43                   	inc    %ebx
5d887a:	8b 7e 08             	mov    0x8(%esi),%edi
5d887d:	8b 4e 0c             	mov    0xc(%esi),%ecx
5d8880:	53                   	push   %ebx
5d8881:	83 e9 02             	sub    $0x2,%ecx
5d8884:	8b 47 18             	mov    0x18(%edi),%eax
5d8887:	6a 0a                	push   $0xa
5d8889:	51                   	push   %ecx
5d888a:	89 45 f8             	mov    %eax,-0x8(%ebp)
5d888d:	8b 47 1c             	mov    0x1c(%edi),%eax
5d8890:	51                   	push   %ecx
5d8891:	89 45 f4             	mov    %eax,-0xc(%ebp)
5d8894:	8b c4                	mov    %esp,%eax
5d8896:	57                   	push   %edi
5d8897:	89 08                	mov    %ecx,(%eax)
5d8899:	89 50 04             	mov    %edx,0x4(%eax)
5d889c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5d889f:	e8 9c e6 ff ff       	call   0x5d6f40
5d88a4:	8b c8                	mov    %eax,%ecx
5d88a6:	83 c4 14             	add    $0x14,%esp
5d88a9:	8b 45 08             	mov    0x8(%ebp),%eax
5d88ac:	89 08                	mov    %ecx,(%eax)
5d88ae:	8b 46 08             	mov    0x8(%esi),%eax
5d88b1:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
5d88b5:	74 06                	je     0x5d88bd
5d88b7:	83 78 18 22          	cmpl   $0x22,0x18(%eax)
5d88bb:	74 08                	je     0x5d88c5
5d88bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
5d88c0:	3b 46 0c             	cmp    0xc(%esi),%eax
5d88c3:	73 04                	jae    0x5d88c9
5d88c5:	32 db                	xor    %bl,%bl
5d88c7:	eb 03                	jmp    0x5d88cc
5d88c9:	89 46 0c             	mov    %eax,0xc(%esi)
5d88cc:	8b 45 f8             	mov    -0x8(%ebp),%eax
5d88cf:	89 47 18             	mov    %eax,0x18(%edi)
5d88d2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5d88d5:	89 47 1c             	mov    %eax,0x1c(%edi)
5d88d8:	8a c3                	mov    %bl,%al
5d88da:	5f                   	pop    %edi
5d88db:	5e                   	pop    %esi
5d88dc:	5b                   	pop    %ebx
5d88dd:	c9                   	leave
5d88de:	c2 04 00             	ret    $0x4
5d88e1:	8b ff                	mov    %edi,%edi
5d88e3:	55                   	push   %ebp
5d88e4:	8b ec                	mov    %esp,%ebp
5d88e6:	83 ec 14             	sub    $0x14,%esp
5d88e9:	53                   	push   %ebx
5d88ea:	56                   	push   %esi
5d88eb:	8b f1                	mov    %ecx,%esi
5d88ed:	57                   	push   %edi
5d88ee:	ff 76 08             	push   0x8(%esi)
5d88f1:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
5d88f7:	e8 fa 1e 00 00       	call   0x5da7f6
5d88fc:	84 c0                	test   %al,%al
5d88fe:	74 27                	je     0x5d8927
5d8900:	8b 4e 0c             	mov    0xc(%esi),%ecx
5d8903:	85 c9                	test   %ecx,%ecx
5d8905:	75 28                	jne    0x5d892f
5d8907:	8b 46 08             	mov    0x8(%esi),%eax
5d890a:	33 db                	xor    %ebx,%ebx
5d890c:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5d8910:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5d8917:	ff 76 08             	push   0x8(%esi)
5d891a:	53                   	push   %ebx
5d891b:	53                   	push   %ebx
5d891c:	53                   	push   %ebx
5d891d:	53                   	push   %ebx
5d891e:	53                   	push   %ebx
5d891f:	e8 3f d8 ff ff       	call   0x5d6163
5d8924:	83 c4 18             	add    $0x18,%esp
5d8927:	83 c8 ff             	or     $0xffffffff,%eax
5d892a:	5f                   	pop    %edi
5d892b:	5e                   	pop    %esi
5d892c:	5b                   	pop    %ebx
5d892d:	c9                   	leave
5d892e:	c3                   	ret
5d892f:	8b 86 50 04 00 00    	mov    0x450(%esi),%eax
5d8935:	40                   	inc    %eax
5d8936:	89 86 50 04 00 00    	mov    %eax,0x450(%esi)
5d893c:	83 f8 02             	cmp    $0x2,%eax
5d893f:	0f 84 d6 01 00 00    	je     0x5d8b1b
5d8945:	33 db                	xor    %ebx,%ebx
5d8947:	89 5e 34             	mov    %ebx,0x34(%esi)
5d894a:	88 5e 18             	mov    %bl,0x18(%esi)
5d894d:	8a 11                	mov    (%ecx),%dl
5d894f:	41                   	inc    %ecx
5d8950:	88 55 ff             	mov    %dl,-0x1(%ebp)
5d8953:	89 4e 0c             	mov    %ecx,0xc(%esi)
5d8956:	88 56 2d             	mov    %dl,0x2d(%esi)
5d8959:	84 d2                	test   %dl,%dl
5d895b:	0f 84 a7 01 00 00    	je     0x5d8b08
5d8961:	88 55 f0             	mov    %dl,-0x10(%ebp)
5d8964:	8d 46 14             	lea    0x14(%esi),%eax
5d8967:	39 18                	cmp    %ebx,(%eax)
5d8969:	0f 8c 99 01 00 00    	jl     0x5d8b08
5d896f:	0f b6 46 18          	movzbl 0x18(%esi),%eax
5d8973:	8b ce                	mov    %esi,%ecx
5d8975:	50                   	push   %eax
5d8976:	ff 75 f0             	push   -0x10(%ebp)
5d8979:	e8 a0 fd ff ff       	call   0x5d871e
5d897e:	88 46 18             	mov    %al,0x18(%esi)
5d8981:	3c 08                	cmp    $0x8,%al
5d8983:	0f 83 d3 01 00 00    	jae    0x5d8b5c
5d8989:	0f b6 c0             	movzbl %al,%eax
5d898c:	83 f8 07             	cmp    $0x7,%eax
5d898f:	77 96                	ja     0x5d8927
5d8991:	ff 24 85 71 8b 5d 00 	jmp    *0x5d8b71(,%eax,4)
5d8998:	8b 7e 08             	mov    0x8(%esi),%edi
5d899b:	88 5e 38             	mov    %bl,0x38(%esi)
5d899e:	89 7d f8             	mov    %edi,-0x8(%ebp)
5d89a1:	38 5f 14             	cmp    %bl,0x14(%edi)
5d89a4:	75 0d                	jne    0x5d89b3
5d89a6:	8b cf                	mov    %edi,%ecx
5d89a8:	e8 d3 1d 00 00       	call   0x5da780
5d89ad:	8b 46 08             	mov    0x8(%esi),%eax
5d89b0:	89 45 f8             	mov    %eax,-0x8(%ebp)
5d89b3:	8a 46 2d             	mov    0x2d(%esi),%al
5d89b6:	89 45 ec             	mov    %eax,-0x14(%ebp)
5d89b9:	88 45 f4             	mov    %al,-0xc(%ebp)
5d89bc:	0f be c0             	movsbl %al,%eax
5d89bf:	68 00 80 00 00       	push   $0x8000
5d89c4:	50                   	push   %eax
5d89c5:	8b 47 0c             	mov    0xc(%edi),%eax
5d89c8:	ff 30                	push   (%eax)
5d89ca:	e8 51 d4 ff ff       	call   0x5d5e20
5d89cf:	83 c4 0c             	add    $0xc,%esp
5d89d2:	8d 7e 14             	lea    0x14(%esi),%edi
5d89d5:	85 c0                	test   %eax,%eax
5d89d7:	74 29                	je     0x5d8a02
5d89d9:	ff 75 f8             	push   -0x8(%ebp)
5d89dc:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
5d89e2:	57                   	push   %edi
5d89e3:	ff 75 ec             	push   -0x14(%ebp)
5d89e6:	e8 fb 1e 00 00       	call   0x5da8e6
5d89eb:	8b 46 0c             	mov    0xc(%esi),%eax
5d89ee:	8a 08                	mov    (%eax),%cl
5d89f0:	40                   	inc    %eax
5d89f1:	89 46 0c             	mov    %eax,0xc(%esi)
5d89f4:	88 4e 2d             	mov    %cl,0x2d(%esi)
5d89f7:	84 c9                	test   %cl,%cl
5d89f9:	0f 84 24 01 00 00    	je     0x5d8b23
5d89ff:	88 4d f4             	mov    %cl,-0xc(%ebp)
5d8a02:	ff 76 08             	push   0x8(%esi)
5d8a05:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
5d8a0b:	57                   	push   %edi
5d8a0c:	ff 75 f4             	push   -0xc(%ebp)
5d8a0f:	e8 d2 1e 00 00       	call   0x5da8e6
5d8a14:	e9 d0 00 00 00       	jmp    0x5d8ae9
5d8a19:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
5d8a1d:	89 5e 20             	mov    %ebx,0x20(%esi)
5d8a20:	88 5e 2c             	mov    %bl,0x2c(%esi)
5d8a23:	89 5e 1c             	mov    %ebx,0x1c(%esi)
5d8a26:	89 5e 28             	mov    %ebx,0x28(%esi)
5d8a29:	88 5e 38             	mov    %bl,0x38(%esi)
5d8a2c:	e9 b8 00 00 00       	jmp    0x5d8ae9
5d8a31:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
5d8a35:	83 e8 20             	sub    $0x20,%eax
5d8a38:	74 37                	je     0x5d8a71
5d8a3a:	83 e8 03             	sub    $0x3,%eax
5d8a3d:	74 2c                	je     0x5d8a6b
5d8a3f:	83 e8 08             	sub    $0x8,%eax
5d8a42:	74 21                	je     0x5d8a65
5d8a44:	48                   	dec    %eax
5d8a45:	83 e8 01             	sub    $0x1,%eax
5d8a48:	74 12                	je     0x5d8a5c
5d8a4a:	83 e8 03             	sub    $0x3,%eax
5d8a4d:	0f 85 96 00 00 00    	jne    0x5d8ae9
5d8a53:	83 4e 1c 08          	orl    $0x8,0x1c(%esi)
5d8a57:	e9 8d 00 00 00       	jmp    0x5d8ae9
5d8a5c:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
5d8a60:	e9 84 00 00 00       	jmp    0x5d8ae9
5d8a65:	83 4e 1c 01          	orl    $0x1,0x1c(%esi)
5d8a69:	eb 7e                	jmp    0x5d8ae9
5d8a6b:	83 4e 1c 20          	orl    $0x20,0x1c(%esi)
5d8a6f:	eb 78                	jmp    0x5d8ae9
5d8a71:	83 4e 1c 02          	orl    $0x2,0x1c(%esi)
5d8a75:	eb 72                	jmp    0x5d8ae9
5d8a77:	80 7d ff 2a          	cmpb   $0x2a,-0x1(%ebp)
5d8a7b:	74 0d                	je     0x5d8a8a
5d8a7d:	8d 46 20             	lea    0x20(%esi),%eax
5d8a80:	50                   	push   %eax
5d8a81:	8b ce                	mov    %esi,%ecx
5d8a83:	e8 67 fd ff ff       	call   0x5d87ef
5d8a88:	eb 57                	jmp    0x5d8ae1
5d8a8a:	8b 4e 10             	mov    0x10(%esi),%ecx
5d8a8d:	8d 41 04             	lea    0x4(%ecx),%eax
5d8a90:	89 46 10             	mov    %eax,0x10(%esi)
5d8a93:	8b 01                	mov    (%ecx),%eax
5d8a95:	89 46 20             	mov    %eax,0x20(%esi)
5d8a98:	85 c0                	test   %eax,%eax
5d8a9a:	79 09                	jns    0x5d8aa5
5d8a9c:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
5d8aa0:	f7 d8                	neg    %eax
5d8aa2:	89 46 20             	mov    %eax,0x20(%esi)
5d8aa5:	b0 01                	mov    $0x1,%al
5d8aa7:	eb 38                	jmp    0x5d8ae1
5d8aa9:	89 5e 24             	mov    %ebx,0x24(%esi)
5d8aac:	eb 3b                	jmp    0x5d8ae9
5d8aae:	80 7d ff 2a          	cmpb   $0x2a,-0x1(%ebp)
5d8ab2:	74 05                	je     0x5d8ab9
5d8ab4:	8d 46 24             	lea    0x24(%esi),%eax
5d8ab7:	eb c7                	jmp    0x5d8a80
5d8ab9:	8b 4e 10             	mov    0x10(%esi),%ecx
5d8abc:	8d 41 04             	lea    0x4(%ecx),%eax
5d8abf:	89 46 10             	mov    %eax,0x10(%esi)
5d8ac2:	8b 01                	mov    (%ecx),%eax
5d8ac4:	89 46 24             	mov    %eax,0x24(%esi)
5d8ac7:	85 c0                	test   %eax,%eax
5d8ac9:	79 da                	jns    0x5d8aa5
5d8acb:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
5d8acf:	eb d4                	jmp    0x5d8aa5
5d8ad1:	8b ce                	mov    %esi,%ecx
5d8ad3:	e8 c9 05 00 00       	call   0x5d90a1
5d8ad8:	eb 07                	jmp    0x5d8ae1
5d8ada:	8b ce                	mov    %esi,%ecx
5d8adc:	e8 fc 09 00 00       	call   0x5d94dd
5d8ae1:	84 c0                	test   %al,%al
5d8ae3:	0f 84 3e fe ff ff    	je     0x5d8927
5d8ae9:	8b 46 0c             	mov    0xc(%esi),%eax
5d8aec:	8a 10                	mov    (%eax),%dl
5d8aee:	8d 48 01             	lea    0x1(%eax),%ecx
5d8af1:	89 4e 0c             	mov    %ecx,0xc(%esi)
5d8af4:	8d 46 14             	lea    0x14(%esi),%eax
5d8af7:	88 55 ff             	mov    %dl,-0x1(%ebp)
5d8afa:	88 56 2d             	mov    %dl,0x2d(%esi)
5d8afd:	88 55 f0             	mov    %dl,-0x10(%ebp)
5d8b00:	84 d2                	test   %dl,%dl
5d8b02:	0f 85 5f fe ff ff    	jne    0x5d8967
5d8b08:	ff 86 50 04 00 00    	incl   0x450(%esi)
5d8b0e:	83 be 50 04 00 00 02 	cmpl   $0x2,0x450(%esi)
5d8b15:	0f 85 2c fe ff ff    	jne    0x5d8947
5d8b1b:	8b 46 14             	mov    0x14(%esi),%eax
5d8b1e:	e9 07 fe ff ff       	jmp    0x5d892a