5f1972:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f1975:	03 4d f4             	add    -0xc(%ebp),%ecx
5f1978:	47                   	inc    %edi
5f1979:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f197c:	3b 7e 38             	cmp    0x38(%esi),%edi
5f197f:	75 bf                	jne    0x5f1940
5f1981:	eb 1e                	jmp    0x5f19a1
5f1983:	83 0b ff             	orl    $0xffffffff,(%ebx)
5f1986:	eb 19                	jmp    0x5f19a1
5f1988:	8d 46 0c             	lea    0xc(%esi),%eax
5f198b:	50                   	push   %eax
5f198c:	8d 46 18             	lea    0x18(%esi),%eax
5f198f:	50                   	push   %eax
5f1990:	ff 76 38             	push   0x38(%esi)
5f1993:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
5f1999:	ff 76 34             	push   0x34(%esi)
5f199c:	e8 9c 00 00 00       	call   0x5f1a3d
5f19a1:	5f                   	pop    %edi
5f19a2:	5e                   	pop    %esi
5f19a3:	b0 01                	mov    $0x1,%al
5f19a5:	5b                   	pop    %ebx
5f19a6:	c9                   	leave
5f19a7:	c2 04 00             	ret    $0x4
5f19aa:	8b ff                	mov    %edi,%edi
5f19ac:	55                   	push   %ebp
5f19ad:	8b ec                	mov    %esp,%ebp
5f19af:	8b 01                	mov    (%ecx),%eax
5f19b1:	8b 40 0c             	mov    0xc(%eax),%eax
5f19b4:	90                   	nop
5f19b5:	c1 e8 0c             	shr    $0xc,%eax
5f19b8:	a8 01                	test   $0x1,%al
5f19ba:	74 14                	je     0x5f19d0
5f19bc:	8b 01                	mov    (%ecx),%eax
5f19be:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
5f19c2:	75 0c                	jne    0x5f19d0
5f19c4:	8b 4d 10             	mov    0x10(%ebp),%ecx
5f19c7:	8b 45 0c             	mov    0xc(%ebp),%eax
5f19ca:	01 01                	add    %eax,(%ecx)
5f19cc:	5d                   	pop    %ebp
5f19cd:	c2 10 00             	ret    $0x10
5f19d0:	5d                   	pop    %ebp
5f19d1:	e9 d8 00 00 00       	jmp    0x5f1aae
5f19d6:	8b ff                	mov    %edi,%edi
5f19d8:	55                   	push   %ebp
5f19d9:	8b ec                	mov    %esp,%ebp
5f19db:	53                   	push   %ebx
5f19dc:	57                   	push   %edi
5f19dd:	8b 7d 0c             	mov    0xc(%ebp),%edi
5f19e0:	8b d9                	mov    %ecx,%ebx
5f19e2:	85 ff                	test   %edi,%edi
5f19e4:	74 51                	je     0x5f1a37
5f19e6:	8b 03                	mov    (%ebx),%eax
5f19e8:	56                   	push   %esi
5f19e9:	8b 70 04             	mov    0x4(%eax),%esi
5f19ec:	39 70 08             	cmp    %esi,0x8(%eax)
5f19ef:	75 0b                	jne    0x5f19fc
5f19f1:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
5f19f5:	8b 45 10             	mov    0x10(%ebp),%eax
5f19f8:	74 35                	je     0x5f1a2f
5f19fa:	eb 2b                	jmp    0x5f1a27
5f19fc:	2b 70 08             	sub    0x8(%eax),%esi
5f19ff:	3b f7                	cmp    %edi,%esi
5f1a01:	72 02                	jb     0x5f1a05
5f1a03:	8b f7                	mov    %edi,%esi
5f1a05:	56                   	push   %esi
5f1a06:	ff 75 08             	push   0x8(%ebp)
5f1a09:	ff 30                	push   (%eax)
5f1a0b:	e8 f0 14 ff ff       	call   0x5e2f00
5f1a10:	8b 03                	mov    (%ebx),%eax
5f1a12:	83 c4 0c             	add    $0xc,%esp
5f1a15:	01 30                	add    %esi,(%eax)
5f1a17:	8b 03                	mov    (%ebx),%eax
5f1a19:	01 70 08             	add    %esi,0x8(%eax)
5f1a1c:	8b 03                	mov    (%ebx),%eax
5f1a1e:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
5f1a22:	8b 45 10             	mov    0x10(%ebp),%eax
5f1a25:	74 04                	je     0x5f1a2b
5f1a27:	01 38                	add    %edi,(%eax)
5f1a29:	eb 0b                	jmp    0x5f1a36
5f1a2b:	3b f7                	cmp    %edi,%esi
5f1a2d:	74 05                	je     0x5f1a34
5f1a2f:	83 08 ff             	orl    $0xffffffff,(%eax)
5f1a32:	eb 02                	jmp    0x5f1a36
5f1a34:	01 30                	add    %esi,(%eax)
5f1a36:	5e                   	pop    %esi
5f1a37:	5f                   	pop    %edi
5f1a38:	5b                   	pop    %ebx
5f1a39:	5d                   	pop    %ebp
5f1a3a:	c2 10 00             	ret    $0x10
5f1a3d:	8b ff                	mov    %edi,%edi
5f1a3f:	55                   	push   %ebp
5f1a40:	8b ec                	mov    %esp,%ebp
5f1a42:	51                   	push   %ecx
5f1a43:	53                   	push   %ebx
5f1a44:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5f1a47:	8b c1                	mov    %ecx,%eax
5f1a49:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f1a4c:	85 db                	test   %ebx,%ebx
5f1a4e:	74 59                	je     0x5f1aa9
5f1a50:	8b 00                	mov    (%eax),%eax
5f1a52:	57                   	push   %edi
5f1a53:	8b 78 04             	mov    0x4(%eax),%edi
5f1a56:	39 78 08             	cmp    %edi,0x8(%eax)
5f1a59:	75 0b                	jne    0x5f1a66
5f1a5b:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
5f1a5f:	8b 45 10             	mov    0x10(%ebp),%eax
5f1a62:	74 3d                	je     0x5f1aa1
5f1a64:	eb 33                	jmp    0x5f1a99
5f1a66:	2b 78 08             	sub    0x8(%eax),%edi
5f1a69:	3b fb                	cmp    %ebx,%edi
5f1a6b:	72 02                	jb     0x5f1a6f
5f1a6d:	8b fb                	mov    %ebx,%edi
5f1a6f:	56                   	push   %esi
5f1a70:	8d 34 3f             	lea    (%edi,%edi,1),%esi
5f1a73:	56                   	push   %esi
5f1a74:	ff 75 08             	push   0x8(%ebp)
5f1a77:	ff 30                	push   (%eax)
5f1a79:	e8 82 14 ff ff       	call   0x5e2f00
5f1a7e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f1a81:	83 c4 0c             	add    $0xc,%esp
5f1a84:	8b 01                	mov    (%ecx),%eax
5f1a86:	01 30                	add    %esi,(%eax)
5f1a88:	8b 01                	mov    (%ecx),%eax
5f1a8a:	5e                   	pop    %esi
5f1a8b:	01 78 08             	add    %edi,0x8(%eax)
5f1a8e:	8b 01                	mov    (%ecx),%eax
5f1a90:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
5f1a94:	8b 45 10             	mov    0x10(%ebp),%eax
5f1a97:	74 04                	je     0x5f1a9d
5f1a99:	01 18                	add    %ebx,(%eax)
5f1a9b:	eb 0b                	jmp    0x5f1aa8
5f1a9d:	3b fb                	cmp    %ebx,%edi
5f1a9f:	74 05                	je     0x5f1aa6
5f1aa1:	83 08 ff             	orl    $0xffffffff,(%eax)
5f1aa4:	eb 02                	jmp    0x5f1aa8
5f1aa6:	01 38                	add    %edi,(%eax)
5f1aa8:	5f                   	pop    %edi
5f1aa9:	5b                   	pop    %ebx
5f1aaa:	c9                   	leave
5f1aab:	c2 10 00             	ret    $0x10
5f1aae:	8b ff                	mov    %edi,%edi
5f1ab0:	55                   	push   %ebp
5f1ab1:	8b ec                	mov    %esp,%ebp
5f1ab3:	83 ec 0c             	sub    $0xc,%esp
5f1ab6:	53                   	push   %ebx
5f1ab7:	8b 5d 14             	mov    0x14(%ebp),%ebx
5f1aba:	8b d1                	mov    %ecx,%edx
5f1abc:	56                   	push   %esi
5f1abd:	89 55 fc             	mov    %edx,-0x4(%ebp)
5f1ac0:	8b 33                	mov    (%ebx),%esi
5f1ac2:	85 f6                	test   %esi,%esi
5f1ac4:	75 0c                	jne    0x5f1ad2
5f1ac6:	e8 2e b5 ff ff       	call   0x5ecff9
5f1acb:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f1ace:	8b f0                	mov    %eax,%esi
5f1ad0:	89 33                	mov    %esi,(%ebx)
5f1ad2:	8b 5d 08             	mov    0x8(%ebp),%ebx
5f1ad5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5f1ad8:	8b 06                	mov    (%esi),%eax
5f1ada:	03 cb                	add    %ebx,%ecx
5f1adc:	83 26 00             	andl   $0x0,(%esi)
5f1adf:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f1ae2:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5f1ae5:	3b d9                	cmp    %ecx,%ebx
5f1ae7:	74 52                	je     0x5f1b3b
5f1ae9:	57                   	push   %edi
5f1aea:	8b 7d 10             	mov    0x10(%ebp),%edi
5f1aed:	0f b6 03             	movzbl (%ebx),%eax
5f1af0:	8b ca                	mov    %edx,%ecx
5f1af2:	50                   	push   %eax
5f1af3:	e8 9b fc ff ff       	call   0x5f1793
5f1af8:	84 c0                	test   %al,%al
5f1afa:	75 26                	jne    0x5f1b22
5f1afc:	8b 45 14             	mov    0x14(%ebp),%eax
5f1aff:	8b 00                	mov    (%eax),%eax
5f1b01:	85 c0                	test   %eax,%eax
5f1b03:	75 0a                	jne    0x5f1b0f
5f1b05:	e8 ef b4 ff ff       	call   0x5ecff9
5f1b0a:	8b 4d 14             	mov    0x14(%ebp),%ecx
5f1b0d:	89 01                	mov    %eax,(%ecx)
5f1b0f:	83 38 2a             	cmpl   $0x2a,(%eax)
5f1b12:	75 20                	jne    0x5f1b34
5f1b14:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f1b17:	6a 3f                	push   $0x3f
5f1b19:	e8 75 fc ff ff       	call   0x5f1793
5f1b1e:	84 c0                	test   %al,%al
5f1b20:	74 04                	je     0x5f1b26
5f1b22:	ff 07                	incl   (%edi)
5f1b24:	eb 03                	jmp    0x5f1b29
5f1b26:	83 0f ff             	orl    $0xffffffff,(%edi)
5f1b29:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f1b2c:	43                   	inc    %ebx
5f1b2d:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
5f1b30:	75 bb                	jne    0x5f1aed
5f1b32:	eb 03                	jmp    0x5f1b37
5f1b34:	83 0f ff             	orl    $0xffffffff,(%edi)
5f1b37:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f1b3a:	5f                   	pop    %edi
5f1b3b:	83 3e 00             	cmpl   $0x0,(%esi)
5f1b3e:	75 06                	jne    0x5f1b46
5f1b40:	85 c0                	test   %eax,%eax
5f1b42:	74 02                	je     0x5f1b46
5f1b44:	89 06                	mov    %eax,(%esi)
5f1b46:	5e                   	pop    %esi
5f1b47:	5b                   	pop    %ebx
5f1b48:	c9                   	leave
5f1b49:	c2 10 00             	ret    $0x10
5f1b4c:	8b ff                	mov    %edi,%edi
5f1b4e:	55                   	push   %ebp
5f1b4f:	8b ec                	mov    %esp,%ebp
5f1b51:	83 ec 38             	sub    $0x38,%esp
5f1b54:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f1b57:	8b 4d 10             	mov    0x10(%ebp),%ecx
5f1b5a:	8b 55 14             	mov    0x14(%ebp),%edx
5f1b5d:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f1b60:	8b 45 18             	mov    0x18(%ebp),%eax
5f1b63:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f1b66:	8b 45 08             	mov    0x8(%ebp),%eax
5f1b69:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f1b6c:	8b 45 0c             	mov    0xc(%ebp),%eax
5f1b6f:	89 55 f0             	mov    %edx,-0x10(%ebp)
5f1b72:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f1b75:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f1b78:	85 c9                	test   %ecx,%ecx
5f1b7a:	75 15                	jne    0x5f1b91
5f1b7c:	e8 78 b4 ff ff       	call   0x5ecff9
5f1b81:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1b87:	e8 93 b3 ff ff       	call   0x5ecf1f
5f1b8c:	83 c8 ff             	or     $0xffffffff,%eax
5f1b8f:	c9                   	leave
5f1b90:	c3                   	ret
5f1b91:	85 d2                	test   %edx,%edx
5f1b93:	74 e7                	je     0x5f1b7c
5f1b95:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f1b98:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5f1b9b:	89 45 c8             	mov    %eax,-0x38(%ebp)
5f1b9e:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f1ba1:	89 45 cc             	mov    %eax,-0x34(%ebp)
5f1ba4:	8d 45 dc             	lea    -0x24(%ebp),%eax
5f1ba7:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f1baa:	8d 45 f0             	lea    -0x10(%ebp),%eax
5f1bad:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f1bb0:	8d 45 ec             	lea    -0x14(%ebp),%eax
5f1bb3:	89 45 d8             	mov    %eax,-0x28(%ebp)
5f1bb6:	8d 45 e8             	lea    -0x18(%ebp),%eax
5f1bb9:	50                   	push   %eax
5f1bba:	8d 45 c8             	lea    -0x38(%ebp),%eax
5f1bbd:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f1bc0:	50                   	push   %eax
5f1bc1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5f1bc4:	50                   	push   %eax
5f1bc5:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5f1bc8:	e8 49 cc ff ff       	call   0x5ee816
5f1bcd:	c9                   	leave
5f1bce:	c3                   	ret
5f1bcf:	8b ff                	mov    %edi,%edi
5f1bd1:	55                   	push   %ebp
5f1bd2:	8b ec                	mov    %esp,%ebp
5f1bd4:	83 ec 38             	sub    $0x38,%esp
5f1bd7:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f1bda:	8b 4d 10             	mov    0x10(%ebp),%ecx
5f1bdd:	8b 55 14             	mov    0x14(%ebp),%edx
5f1be0:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f1be3:	8b 45 18             	mov    0x18(%ebp),%eax
5f1be6:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f1be9:	8b 45 08             	mov    0x8(%ebp),%eax
5f1bec:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f1bef:	8b 45 0c             	mov    0xc(%ebp),%eax
5f1bf2:	89 55 f0             	mov    %edx,-0x10(%ebp)
5f1bf5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f1bf8:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f1bfb:	85 c9                	test   %ecx,%ecx
5f1bfd:	75 15                	jne    0x5f1c14
5f1bff:	e8 f5 b3 ff ff       	call   0x5ecff9
5f1c04:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1c0a:	e8 10 b3 ff ff       	call   0x5ecf1f
5f1c0f:	83 c8 ff             	or     $0xffffffff,%eax
5f1c12:	c9                   	leave
5f1c13:	c3                   	ret
5f1c14:	85 d2                	test   %edx,%edx
5f1c16:	74 e7                	je     0x5f1bff
5f1c18:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f1c1b:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5f1c1e:	89 45 c8             	mov    %eax,-0x38(%ebp)
5f1c21:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f1c24:	89 45 cc             	mov    %eax,-0x34(%ebp)
5f1c27:	8d 45 dc             	lea    -0x24(%ebp),%eax
5f1c2a:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f1c2d:	8d 45 f0             	lea    -0x10(%ebp),%eax
5f1c30:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f1c33:	8d 45 ec             	lea    -0x14(%ebp),%eax
5f1c36:	89 45 d8             	mov    %eax,-0x28(%ebp)
5f1c39:	8d 45 e8             	lea    -0x18(%ebp),%eax
5f1c3c:	50                   	push   %eax
5f1c3d:	8d 45 c8             	lea    -0x38(%ebp),%eax
5f1c40:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f1c43:	50                   	push   %eax
5f1c44:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5f1c47:	50                   	push   %eax
5f1c48:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5f1c4b:	e8 6b cb ff ff       	call   0x5ee7bb
5f1c50:	c9                   	leave
5f1c51:	c3                   	ret
5f1c52:	8b ff                	mov    %edi,%edi
5f1c54:	55                   	push   %ebp
5f1c55:	8b ec                	mov    %esp,%ebp
5f1c57:	ff 75 24             	push   0x24(%ebp)
5f1c5a:	ff 75 20             	push   0x20(%ebp)
5f1c5d:	ff 75 1c             	push   0x1c(%ebp)
5f1c60:	ff 75 18             	push   0x18(%ebp)
5f1c63:	ff 75 14             	push   0x14(%ebp)
5f1c66:	ff 75 10             	push   0x10(%ebp)
5f1c69:	ff 75 0c             	push   0xc(%ebp)
5f1c6c:	ff 75 08             	push   0x8(%ebp)
5f1c6f:	e8 fd cb ff ff       	call   0x5ee871
5f1c74:	83 c4 20             	add    $0x20,%esp
5f1c77:	5d                   	pop    %ebp
5f1c78:	c3                   	ret
5f1c79:	8b ff                	mov    %edi,%edi
5f1c7b:	55                   	push   %ebp
5f1c7c:	8b ec                	mov    %esp,%ebp
5f1c7e:	ff 75 24             	push   0x24(%ebp)
5f1c81:	ff 75 20             	push   0x20(%ebp)
5f1c84:	ff 75 1c             	push   0x1c(%ebp)
5f1c87:	ff 75 18             	push   0x18(%ebp)
5f1c8a:	ff 75 14             	push   0x14(%ebp)
5f1c8d:	ff 75 10             	push   0x10(%ebp)
5f1c90:	ff 75 0c             	push   0xc(%ebp)
5f1c93:	ff 75 08             	push   0x8(%ebp)
5f1c96:	e8 be cc ff ff       	call   0x5ee959
5f1c9b:	83 c4 20             	add    $0x20,%esp
5f1c9e:	5d                   	pop    %ebp
5f1c9f:	c3                   	ret
5f1ca0:	8b ff                	mov    %edi,%edi
5f1ca2:	55                   	push   %ebp
5f1ca3:	8b ec                	mov    %esp,%ebp
5f1ca5:	ff 75 20             	push   0x20(%ebp)
5f1ca8:	ff 75 1c             	push   0x1c(%ebp)
5f1cab:	ff 75 18             	push   0x18(%ebp)
5f1cae:	ff 75 14             	push   0x14(%ebp)
5f1cb1:	ff 75 10             	push   0x10(%ebp)
5f1cb4:	ff 75 0c             	push   0xc(%ebp)
5f1cb7:	ff 75 08             	push   0x8(%ebp)
5f1cba:	e8 8b d0 ff ff       	call   0x5eed4a
5f1cbf:	83 c4 1c             	add    $0x1c,%esp
5f1cc2:	5d                   	pop    %ebp
5f1cc3:	c3                   	ret
5f1cc4:	8b ff                	mov    %edi,%edi
5f1cc6:	55                   	push   %ebp
5f1cc7:	8b ec                	mov    %esp,%ebp