5f7a6c:	59                   	pop    %ecx
5f7a6d:	59                   	pop    %ecx
5f7a6e:	6a 00                	push   $0x0
5f7a70:	89 46 14             	mov    %eax,0x14(%esi)
5f7a73:	b8 80 51 01 00       	mov    $0x15180,%eax
5f7a78:	50                   	push   %eax
5f7a79:	ff 75 f8             	push   -0x8(%ebp)
5f7a7c:	53                   	push   %ebx
5f7a7d:	e8 be a0 fe ff       	call   0x5e1b40
5f7a82:	8b c8                	mov    %eax,%ecx
5f7a84:	ba 80 51 01 00       	mov    $0x15180,%edx
5f7a89:	f7 ea                	imul   %edx
5f7a8b:	89 4e 1c             	mov    %ecx,0x1c(%esi)
5f7a8e:	2b d8                	sub    %eax,%ebx
5f7a90:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f7a93:	1b c2                	sbb    %edx,%eax
5f7a95:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
5f7a99:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f7a9c:	ba 98 51 6d 00       	mov    $0x6d5198,%edx
5f7aa1:	75 05                	jne    0x5f7aa8
5f7aa3:	ba 64 51 6d 00       	mov    $0x6d5164,%edx
5f7aa8:	33 c0                	xor    %eax,%eax
5f7aaa:	40                   	inc    %eax
5f7aab:	39 4a 04             	cmp    %ecx,0x4(%edx)
5f7aae:	7d 06                	jge    0x5f7ab6
5f7ab0:	40                   	inc    %eax
5f7ab1:	39 0c 82             	cmp    %ecx,(%edx,%eax,4)
5f7ab4:	7c fa                	jl     0x5f7ab0
5f7ab6:	48                   	dec    %eax
5f7ab7:	89 46 10             	mov    %eax,0x10(%esi)
5f7aba:	6a 00                	push   $0x0
5f7abc:	2b 0c 82             	sub    (%edx,%eax,4),%ecx
5f7abf:	b8 80 51 01 00       	mov    $0x15180,%eax
5f7ac4:	50                   	push   %eax
5f7ac5:	89 4e 0c             	mov    %ecx,0xc(%esi)
5f7ac8:	ff 77 04             	push   0x4(%edi)
5f7acb:	ff 37                	push   (%edi)
5f7acd:	e8 6e a0 fe ff       	call   0x5e1b40
5f7ad2:	6a 07                	push   $0x7
5f7ad4:	83 c0 04             	add    $0x4,%eax
5f7ad7:	8b 7d f8             	mov    -0x8(%ebp),%edi
5f7ada:	59                   	pop    %ecx
5f7adb:	99                   	cltd
5f7adc:	f7 f9                	idiv   %ecx
5f7ade:	6a 00                	push   $0x0
5f7ae0:	b8 10 0e 00 00       	mov    $0xe10,%eax
5f7ae5:	89 56 18             	mov    %edx,0x18(%esi)
5f7ae8:	50                   	push   %eax
5f7ae9:	57                   	push   %edi
5f7aea:	53                   	push   %ebx
5f7aeb:	e8 50 a0 fe ff       	call   0x5e1b40
5f7af0:	b9 10 0e 00 00       	mov    $0xe10,%ecx
5f7af5:	89 46 08             	mov    %eax,0x8(%esi)
5f7af8:	f7 e9                	imul   %ecx
5f7afa:	6a 00                	push   $0x0
5f7afc:	2b d8                	sub    %eax,%ebx
5f7afe:	6a 3c                	push   $0x3c
5f7b00:	1b fa                	sbb    %edx,%edi
5f7b02:	57                   	push   %edi
5f7b03:	53                   	push   %ebx
5f7b04:	e8 37 a0 fe ff       	call   0x5e1b40
5f7b09:	83 66 20 00          	andl   $0x0,0x20(%esi)
5f7b0d:	89 46 04             	mov    %eax,0x4(%esi)
5f7b10:	6b c0 3c             	imul   $0x3c,%eax,%eax
5f7b13:	2b d8                	sub    %eax,%ebx
5f7b15:	33 c0                	xor    %eax,%eax
5f7b17:	89 1e                	mov    %ebx,(%esi)
5f7b19:	5b                   	pop    %ebx
5f7b1a:	5f                   	pop    %edi
5f7b1b:	5e                   	pop    %esi
5f7b1c:	c9                   	leave
5f7b1d:	c3                   	ret
5f7b1e:	8b ff                	mov    %edi,%edi
5f7b20:	55                   	push   %ebp
5f7b21:	8b ec                	mov    %esp,%ebp
5f7b23:	51                   	push   %ecx
5f7b24:	51                   	push   %ecx
5f7b25:	8b 45 08             	mov    0x8(%ebp),%eax
5f7b28:	b9 80 33 e1 01       	mov    $0x1e13380,%ecx
5f7b2d:	53                   	push   %ebx
5f7b2e:	56                   	push   %esi
5f7b2f:	57                   	push   %edi
5f7b30:	8b 18                	mov    (%eax),%ebx
5f7b32:	8b 40 04             	mov    0x4(%eax),%eax
5f7b35:	6a 00                	push   $0x0
5f7b37:	51                   	push   %ecx
5f7b38:	50                   	push   %eax
5f7b39:	53                   	push   %ebx
5f7b3a:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f7b3d:	e8 fe 9f fe ff       	call   0x5e1b40
5f7b42:	8b f0                	mov    %eax,%esi
5f7b44:	8d 46 46             	lea    0x46(%esi),%eax
5f7b47:	50                   	push   %eax
5f7b48:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f7b4b:	e8 08 fe ff ff       	call   0x5f7958
5f7b50:	59                   	pop    %ecx
5f7b51:	b9 80 51 01 00       	mov    $0x15180,%ecx
5f7b56:	f7 e9                	imul   %ecx
5f7b58:	8b fa                	mov    %edx,%edi
5f7b5a:	8b c8                	mov    %eax,%ecx
5f7b5c:	8b c6                	mov    %esi,%eax
5f7b5e:	ba 80 33 e1 01       	mov    $0x1e13380,%edx
5f7b63:	8b 75 f8             	mov    -0x8(%ebp),%esi
5f7b66:	f7 ea                	imul   %edx
5f7b68:	2b d8                	sub    %eax,%ebx
5f7b6a:	1b f2                	sbb    %edx,%esi
5f7b6c:	2b d9                	sub    %ecx,%ebx
5f7b6e:	1b f7                	sbb    %edi,%esi
5f7b70:	8b 7d 08             	mov    0x8(%ebp),%edi
5f7b73:	89 1f                	mov    %ebx,(%edi)
5f7b75:	89 77 04             	mov    %esi,0x4(%edi)
5f7b78:	85 f6                	test   %esi,%esi
5f7b7a:	7f 45                	jg     0x5f7bc1
5f7b7c:	7c 04                	jl     0x5f7b82
5f7b7e:	85 db                	test   %ebx,%ebx
5f7b80:	73 3f                	jae    0x5f7bc1
5f7b82:	b8 80 33 e1 01       	mov    $0x1e13380,%eax
5f7b87:	03 d8                	add    %eax,%ebx
5f7b89:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f7b8c:	89 1f                	mov    %ebx,(%edi)
5f7b8e:	83 d6 00             	adc    $0x0,%esi
5f7b91:	48                   	dec    %eax
5f7b92:	50                   	push   %eax
5f7b93:	89 77 04             	mov    %esi,0x4(%edi)
5f7b96:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f7b99:	e8 f4 fd ff ff       	call   0x5f7992
5f7b9e:	59                   	pop    %ecx
5f7b9f:	84 c0                	test   %al,%al
5f7ba1:	74 14                	je     0x5f7bb7
5f7ba3:	8b 45 0c             	mov    0xc(%ebp),%eax
5f7ba6:	81 c3 80 51 01 00    	add    $0x15180,%ebx
5f7bac:	89 1f                	mov    %ebx,(%edi)
5f7bae:	83 d6 00             	adc    $0x0,%esi
5f7bb1:	89 77 04             	mov    %esi,0x4(%edi)
5f7bb4:	c6 00 01             	movb   $0x1,(%eax)
5f7bb7:	8b 75 fc             	mov    -0x4(%ebp),%esi
5f7bba:	5f                   	pop    %edi
5f7bbb:	8b c6                	mov    %esi,%eax
5f7bbd:	5e                   	pop    %esi
5f7bbe:	5b                   	pop    %ebx
5f7bbf:	c9                   	leave
5f7bc0:	c3                   	ret
5f7bc1:	8b 75 fc             	mov    -0x4(%ebp),%esi
5f7bc4:	56                   	push   %esi
5f7bc5:	e8 c8 fd ff ff       	call   0x5f7992
5f7bca:	59                   	pop    %ecx
5f7bcb:	84 c0                	test   %al,%al
5f7bcd:	74 eb                	je     0x5f7bba
5f7bcf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5f7bd2:	c6 01 01             	movb   $0x1,(%ecx)
5f7bd5:	eb e3                	jmp    0x5f7bba
5f7bd7:	8b ff                	mov    %edi,%edi
5f7bd9:	56                   	push   %esi
5f7bda:	e8 b1 c9 00 00       	call   0x604590
5f7bdf:	8b f0                	mov    %eax,%esi
5f7be1:	85 f6                	test   %esi,%esi
5f7be3:	74 21                	je     0x5f7c06
5f7be5:	8b 46 38             	mov    0x38(%esi),%eax
5f7be8:	85 c0                	test   %eax,%eax
5f7bea:	75 27                	jne    0x5f7c13
5f7bec:	6a 24                	push   $0x24
5f7bee:	e8 02 e2 00 00       	call   0x605df5
5f7bf3:	6a 00                	push   $0x0
5f7bf5:	89 46 38             	mov    %eax,0x38(%esi)
5f7bf8:	e8 2b cc 00 00       	call   0x604828
5f7bfd:	8b 46 38             	mov    0x38(%esi),%eax
5f7c00:	59                   	pop    %ecx
5f7c01:	59                   	pop    %ecx
5f7c02:	85 c0                	test   %eax,%eax
5f7c04:	75 0d                	jne    0x5f7c13
5f7c06:	e8 ee 53 ff ff       	call   0x5ecff9
5f7c0b:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
5f7c11:	33 c0                	xor    %eax,%eax
5f7c13:	5e                   	pop    %esi
5f7c14:	c3                   	ret
5f7c15:	8b ff                	mov    %edi,%edi
5f7c17:	55                   	push   %ebp
5f7c18:	8b ec                	mov    %esp,%ebp
5f7c1a:	56                   	push   %esi
5f7c1b:	e8 b7 ff ff ff       	call   0x5f7bd7
5f7c20:	8b f0                	mov    %eax,%esi
5f7c22:	85 f6                	test   %esi,%esi
5f7c24:	74 13                	je     0x5f7c39
5f7c26:	ff 75 08             	push   0x8(%ebp)
5f7c29:	56                   	push   %esi
5f7c2a:	e8 a5 fd ff ff       	call   0x5f79d4
5f7c2f:	f7 d8                	neg    %eax
5f7c31:	59                   	pop    %ecx
5f7c32:	1b c0                	sbb    %eax,%eax
5f7c34:	f7 d0                	not    %eax
5f7c36:	59                   	pop    %ecx
5f7c37:	23 c6                	and    %esi,%eax
5f7c39:	5e                   	pop    %esi
5f7c3a:	5d                   	pop    %ebp
5f7c3b:	c3                   	ret
5f7c3c:	8b ff                	mov    %edi,%edi
5f7c3e:	55                   	push   %ebp
5f7c3f:	8b ec                	mov    %esp,%ebp
5f7c41:	5d                   	pop    %ebp
5f7c42:	e9 8d fd ff ff       	jmp    0x5f79d4
5f7c47:	8b ff                	mov    %edi,%edi
5f7c49:	55                   	push   %ebp
5f7c4a:	8b ec                	mov    %esp,%ebp
5f7c4c:	83 ec 14             	sub    $0x14,%esp
5f7c4f:	56                   	push   %esi
5f7c50:	8b 75 08             	mov    0x8(%ebp),%esi
5f7c53:	85 f6                	test   %esi,%esi
5f7c55:	75 13                	jne    0x5f7c6a
5f7c57:	e8 9d 53 ff ff       	call   0x5ecff9
5f7c5c:	6a 16                	push   $0x16
5f7c5e:	5e                   	pop    %esi
5f7c5f:	89 30                	mov    %esi,(%eax)
5f7c61:	e8 b9 52 ff ff       	call   0x5ecf1f
5f7c66:	8b c6                	mov    %esi,%eax
5f7c68:	eb 53                	jmp    0x5f7cbd
5f7c6a:	57                   	push   %edi
5f7c6b:	6a 09                	push   $0x9
5f7c6d:	83 c8 ff             	or     $0xffffffff,%eax
5f7c70:	8b fe                	mov    %esi,%edi
5f7c72:	59                   	pop    %ecx
5f7c73:	f3 ab                	rep stos %eax,%es:(%edi)
5f7c75:	8b 7d 0c             	mov    0xc(%ebp),%edi
5f7c78:	85 ff                	test   %edi,%edi
5f7c7a:	75 13                	jne    0x5f7c8f
5f7c7c:	e8 78 53 ff ff       	call   0x5ecff9
5f7c81:	6a 16                	push   $0x16
5f7c83:	5e                   	pop    %esi
5f7c84:	89 30                	mov    %esi,(%eax)
5f7c86:	e8 94 52 ff ff       	call   0x5ecf1f
5f7c8b:	8b c6                	mov    %esi,%eax
5f7c8d:	eb 2d                	jmp    0x5f7cbc
5f7c8f:	53                   	push   %ebx
5f7c90:	33 db                	xor    %ebx,%ebx
5f7c92:	39 5f 04             	cmp    %ebx,0x4(%edi)
5f7c95:	7f 06                	jg     0x5f7c9d
5f7c97:	7c 16                	jl     0x5f7caf
5f7c99:	39 1f                	cmp    %ebx,(%edi)
5f7c9b:	72 12                	jb     0x5f7caf
5f7c9d:	6a 07                	push   $0x7
5f7c9f:	58                   	pop    %eax
5f7ca0:	39 47 04             	cmp    %eax,0x4(%edi)
5f7ca3:	7c 1b                	jl     0x5f7cc0
5f7ca5:	7f 08                	jg     0x5f7caf
5f7ca7:	81 3f ff 2a 58 93    	cmpl   $0x93582aff,(%edi)
5f7cad:	76 11                	jbe    0x5f7cc0
5f7caf:	e8 45 53 ff ff       	call   0x5ecff9
5f7cb4:	6a 16                	push   $0x16
5f7cb6:	5e                   	pop    %esi
5f7cb7:	89 30                	mov    %esi,(%eax)
5f7cb9:	8b c6                	mov    %esi,%eax
5f7cbb:	5b                   	pop    %ebx
5f7cbc:	5f                   	pop    %edi
5f7cbd:	5e                   	pop    %esi
5f7cbe:	c9                   	leave
5f7cbf:	c3                   	ret
5f7cc0:	e8 a0 09 01 00       	call   0x608665
5f7cc5:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f7cc8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5f7ccb:	50                   	push   %eax
5f7ccc:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5f7ccf:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5f7cd2:	e8 9c 01 01 00       	call   0x607e73
5f7cd7:	59                   	pop    %ecx
5f7cd8:	85 c0                	test   %eax,%eax
5f7cda:	0f 85 eb 01 00 00    	jne    0x5f7ecb
5f7ce0:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f7ce3:	50                   	push   %eax
5f7ce4:	e8 b6 01 01 00       	call   0x607e9f
5f7ce9:	59                   	pop    %ecx
5f7cea:	85 c0                	test   %eax,%eax
5f7cec:	0f 85 d9 01 00 00    	jne    0x5f7ecb
5f7cf2:	8d 45 fc             	lea    -0x4(%ebp),%eax
5f7cf5:	50                   	push   %eax
5f7cf6:	e8 d0 01 01 00       	call   0x607ecb
5f7cfb:	59                   	pop    %ecx
5f7cfc:	85 c0                	test   %eax,%eax
5f7cfe:	0f 85 c7 01 00 00    	jne    0x5f7ecb
5f7d04:	8b 0f                	mov    (%edi),%ecx
5f7d06:	8b d1                	mov    %ecx,%edx
5f7d08:	8b 5f 04             	mov    0x4(%edi),%ebx
5f7d0b:	81 c2 7f 0b fc ff    	add    $0xfffc0b7f,%edx
5f7d11:	8b c3                	mov    %ebx,%eax
5f7d13:	83 d0 ff             	adc    $0xffffffff,%eax
5f7d16:	83 f8 07             	cmp    $0x7,%eax
5f7d19:	77 6e                	ja     0x5f7d89
5f7d1b:	72 08                	jb     0x5f7d25
5f7d1d:	81 fa fd 41 50 93    	cmp    $0x935041fd,%edx
5f7d23:	77 64                	ja     0x5f7d89
5f7d25:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f7d28:	99                   	cltd
5f7d29:	2b c8                	sub    %eax,%ecx
5f7d2b:	8d 45 ec             	lea    -0x14(%ebp),%eax
5f7d2e:	50                   	push   %eax
5f7d2f:	1b da                	sbb    %edx,%ebx
5f7d31:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5f7d34:	56                   	push   %esi
5f7d35:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5f7d38:	e8 ff fe ff ff       	call   0x5f7c3c
5f7d3d:	59                   	pop    %ecx
5f7d3e:	59                   	pop    %ecx
5f7d3f:	85 c0                	test   %eax,%eax
5f7d41:	0f 85 74 ff ff ff    	jne    0x5f7cbb
5f7d47:	39 45 f8             	cmp    %eax,-0x8(%ebp)
5f7d4a:	0f 84 74 01 00 00    	je     0x5f7ec4
5f7d50:	56                   	push   %esi
5f7d51:	e8 6c 09 01 00       	call   0x6086c2
5f7d56:	59                   	pop    %ecx
5f7d57:	85 c0                	test   %eax,%eax
5f7d59:	0f 84 65 01 00 00    	je     0x5f7ec4
5f7d5f:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f7d62:	99                   	cltd
5f7d63:	29 45 ec             	sub    %eax,-0x14(%ebp)
5f7d66:	8d 45 ec             	lea    -0x14(%ebp),%eax
5f7d69:	50                   	push   %eax
5f7d6a:	19 55 f0             	sbb    %edx,-0x10(%ebp)
5f7d6d:	56                   	push   %esi
5f7d6e:	e8 c9 fe ff ff       	call   0x5f7c3c
5f7d73:	59                   	pop    %ecx
5f7d74:	59                   	pop    %ecx
5f7d75:	85 c0                	test   %eax,%eax
5f7d77:	0f 85 3e ff ff ff    	jne    0x5f7cbb
5f7d7d:	c7 46 20 01 00 00 00 	movl   $0x1,0x20(%esi)
5f7d84:	e9 3b 01 00 00       	jmp    0x5f7ec4
5f7d89:	57                   	push   %edi
5f7d8a:	56                   	push   %esi
5f7d8b:	e8 ac fe ff ff       	call   0x5f7c3c
5f7d90:	59                   	pop    %ecx
5f7d91:	59                   	pop    %ecx
5f7d92:	85 c0                	test   %eax,%eax
5f7d94:	0f 85 21 ff ff ff    	jne    0x5f7cbb
5f7d9a:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
5f7d9e:	8b 06                	mov    (%esi),%eax
5f7da0:	99                   	cltd
5f7da1:	8b f8                	mov    %eax,%edi
5f7da3:	8b da                	mov    %edx,%ebx
5f7da5:	74 1a                	je     0x5f7dc1
5f7da7:	56                   	push   %esi
5f7da8:	e8 15 09 01 00       	call   0x6086c2
5f7dad:	59                   	pop    %ecx
5f7dae:	85 c0                	test   %eax,%eax
5f7db0:	74 0f                	je     0x5f7dc1
5f7db2:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f7db5:	03 45 f4             	add    -0xc(%ebp),%eax
5f7db8:	c7 46 20 01 00 00 00 	movl   $0x1,0x20(%esi)
5f7dbf:	eb 03                	jmp    0x5f7dc4
5f7dc1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f7dc4:	99                   	cltd
5f7dc5:	2b f8                	sub    %eax,%edi
5f7dc7:	6a 00                	push   $0x0
5f7dc9:	6a 3c                	push   $0x3c