592a31:	e8 9a 03 04 00       	call   0x5d2dd0
592a36:	89 ae 70 06 00 00    	mov    %ebp,0x670(%esi)
592a3c:	83 c4 0c             	add    $0xc,%esp
592a3f:	8b ae 64 06 00 00    	mov    0x664(%esi),%ebp
592a45:	8b cd                	mov    %ebp,%ecx
592a47:	eb 02                	jmp    0x592a4b
592a49:	8b ca                	mov    %edx,%ecx
592a4b:	8b 96 70 06 00 00    	mov    0x670(%esi),%edx
592a51:	03 d5                	add    %ebp,%edx
592a53:	c7 86 fc 0e 00 00 00 	movl   $0x0,0xefc(%esi)
592a5a:	00 00 00
592a5d:	8b 6c 24 10          	mov    0x10(%esp),%ebp
592a61:	33 c0                	xor    %eax,%eax
592a63:	89 96 f8 0e 00 00    	mov    %edx,0xef8(%esi)
592a69:	eb 0c                	jmp    0x592a77
592a6b:	8b 86 fc 0e 00 00    	mov    0xefc(%esi),%eax
592a71:	8b 96 f8 0e 00 00    	mov    0xef8(%esi),%edx
592a77:	03 cd                	add    %ebp,%ecx
592a79:	89 44 24 20          	mov    %eax,0x20(%esp)
592a7d:	89 4c 24 10          	mov    %ecx,0x10(%esp)
592a81:	3b d1                	cmp    %ecx,%edx
592a83:	74 2a                	je     0x592aaf
592a85:	83 7c 24 2c 01       	cmpl   $0x1,0x2c(%esp)
592a8a:	75 23                	jne    0x592aaf
592a8c:	03 c7                	add    %edi,%eax
592a8e:	50                   	push   %eax
592a8f:	52                   	push   %edx
592a90:	51                   	push   %ecx
592a91:	e8 3a 03 04 00       	call   0x5d2dd0
592a96:	8b 44 24 1c          	mov    0x1c(%esp),%eax
592a9a:	83 c4 0c             	add    $0xc,%esp
592a9d:	89 86 f8 0e 00 00    	mov    %eax,0xef8(%esi)
592aa3:	8b 44 24 20          	mov    0x20(%esp),%eax
592aa7:	03 c5                	add    %ebp,%eax
592aa9:	89 86 70 06 00 00    	mov    %eax,0x670(%esi)
592aaf:	8b 46 04             	mov    0x4(%esi),%eax
592ab2:	8b 40 64             	mov    0x64(%eax),%eax
592ab5:	8b 48 30             	mov    0x30(%eax),%ecx
592ab8:	83 e1 08             	and    $0x8,%ecx
592abb:	74 1c                	je     0x592ad9
592abd:	85 ff                	test   %edi,%edi
592abf:	75 10                	jne    0x592ad1
592ac1:	39 7c 24 28          	cmp    %edi,0x28(%esp)
592ac5:	74 12                	je     0x592ad9
592ac7:	5f                   	pop    %edi
592ac8:	5e                   	pop    %esi
592ac9:	5d                   	pop    %ebp
592aca:	33 c0                	xor    %eax,%eax
592acc:	5b                   	pop    %ebx
592acd:	83 c4 08             	add    $0x8,%esp
592ad0:	c3                   	ret
592ad1:	3b fb                	cmp    %ebx,%edi
592ad3:	73 08                	jae    0x592add
592ad5:	8b df                	mov    %edi,%ebx
592ad7:	eb 04                	jmp    0x592add
592ad9:	3b fb                	cmp    %ebx,%edi
592adb:	72 27                	jb     0x592b04
592add:	01 9e fc 0e 00 00    	add    %ebx,0xefc(%esi)
592ae3:	2b fb                	sub    %ebx,%edi
592ae5:	01 9e 70 06 00 00    	add    %ebx,0x670(%esi)
592aeb:	8b 44 24 30          	mov    0x30(%esp),%eax
592aef:	89 be 74 06 00 00    	mov    %edi,0x674(%esi)
592af5:	5f                   	pop    %edi
592af6:	5e                   	pop    %esi
592af7:	89 18                	mov    %ebx,(%eax)
592af9:	b8 01 00 00 00       	mov    $0x1,%eax
592afe:	5d                   	pop    %ebp
592aff:	5b                   	pop    %ebx
592b00:	83 c4 08             	add    $0x8,%esp
592b03:	c3                   	ret
592b04:	8b 86 6c 06 00 00    	mov    0x66c(%esi),%eax
592b0a:	2b 86 70 06 00 00    	sub    0x670(%esi),%eax
592b10:	3b d8                	cmp    %eax,%ebx
592b12:	76 27                	jbe    0x592b3b
592b14:	68 0b 01 00 00       	push   $0x10b
592b19:	68 6c 6f 66 00       	push   $0x666f6c
592b1e:	6a 44                	push   $0x44
592b20:	68 95 00 00 00       	push   $0x95
592b25:	6a 50                	push   $0x50
592b27:	56                   	push   %esi
592b28:	e8 e3 c5 ff ff       	call   0x58f110
592b2d:	83 c4 18             	add    $0x18,%esp
592b30:	5f                   	pop    %edi
592b31:	5e                   	pop    %esi
592b32:	5d                   	pop    %ebp
592b33:	83 c8 ff             	or     $0xffffffff,%eax
592b36:	5b                   	pop    %ebx
592b37:	83 c4 08             	add    $0x8,%esp
592b3a:	c3                   	ret
592b3b:	83 be 54 06 00 00 00 	cmpl   $0x0,0x654(%esi)
592b42:	75 0a                	jne    0x592b4e
592b44:	85 c9                	test   %ecx,%ecx
592b46:	75 06                	jne    0x592b4e
592b48:	89 5c 24 24          	mov    %ebx,0x24(%esp)
592b4c:	eb 17                	jmp    0x592b65
592b4e:	8b 4c 24 24          	mov    0x24(%esp),%ecx
592b52:	3b cb                	cmp    %ebx,%ecx
592b54:	73 06                	jae    0x592b5c
592b56:	89 5c 24 24          	mov    %ebx,0x24(%esp)
592b5a:	eb 09                	jmp    0x592b65
592b5c:	3b c8                	cmp    %eax,%ecx
592b5e:	0f 47 c8             	cmova  %eax,%ecx
592b61:	89 4c 24 24          	mov    %ecx,0x24(%esp)
592b65:	33 ed                	xor    %ebp,%ebp
592b67:	55                   	push   %ebp
592b68:	ff 15 04 21 60 00    	call   *0x602104
592b6e:	8b 4e 08             	mov    0x8(%esi),%ecx
592b71:	85 c9                	test   %ecx,%ecx
592b73:	74 74                	je     0x592be9
592b75:	8b 44 24 24          	mov    0x24(%esp),%eax
592b79:	2b c7                	sub    %edi,%eax
592b7b:	c7 46 14 03 00 00 00 	movl   $0x3,0x14(%esi)
592b82:	50                   	push   %eax
592b83:	8b 44 24 24          	mov    0x24(%esp),%eax
592b87:	03 44 24 14          	add    0x14(%esp),%eax
592b8b:	03 c7                	add    %edi,%eax
592b8d:	50                   	push   %eax
592b8e:	51                   	push   %ecx
592b8f:	e8 ac 68 f6 ff       	call   0x4f9440
592b94:	83 c4 0c             	add    $0xc,%esp
592b97:	89 44 24 14          	mov    %eax,0x14(%esp)
592b9b:	85 c0                	test   %eax,%eax
592b9d:	0f 49 e8             	cmovns %eax,%ebp
592ba0:	7e 6b                	jle    0x592c0d
592ba2:	8b 46 04             	mov    0x4(%esi),%eax
592ba5:	03 fd                	add    %ebp,%edi
592ba7:	8b 40 64             	mov    0x64(%eax),%eax
592baa:	f6 40 30 08          	testb  $0x8,0x30(%eax)
592bae:	75 06                	jne    0x592bb6
592bb0:	3b fb                	cmp    %ebx,%edi
592bb2:	72 b1                	jb     0x592b65
592bb4:	eb 05                	jmp    0x592bbb
592bb6:	3b df                	cmp    %edi,%ebx
592bb8:	0f 47 df             	cmova  %edi,%ebx
592bbb:	01 9e 70 06 00 00    	add    %ebx,0x670(%esi)
592bc1:	2b fb                	sub    %ebx,%edi
592bc3:	8b 44 24 30          	mov    0x30(%esp),%eax
592bc7:	89 be 74 06 00 00    	mov    %edi,0x674(%esi)
592bcd:	01 9e fc 0e 00 00    	add    %ebx,0xefc(%esi)
592bd3:	5f                   	pop    %edi
592bd4:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
592bdb:	5e                   	pop    %esi
592bdc:	89 18                	mov    %ebx,(%eax)
592bde:	b8 01 00 00 00       	mov    $0x1,%eax
592be3:	5d                   	pop    %ebp
592be4:	5b                   	pop    %ebx
592be5:	83 c4 08             	add    $0x8,%esp
592be8:	c3                   	ret
592be9:	68 2d 01 00 00       	push   $0x12d
592bee:	68 6c 6f 66 00       	push   $0x666f6c
592bf3:	68 d3 00 00 00       	push   $0xd3
592bf8:	68 95 00 00 00       	push   $0x95
592bfd:	6a 50                	push   $0x50
592bff:	56                   	push   %esi
592c00:	e8 0b c5 ff ff       	call   0x58f110
592c05:	83 c4 18             	add    $0x18,%esp
592c08:	83 cb ff             	or     $0xffffffff,%ebx
592c0b:	eb 04                	jmp    0x592c11
592c0d:	8b 5c 24 14          	mov    0x14(%esp),%ebx
592c11:	89 be 74 06 00 00    	mov    %edi,0x674(%esi)
592c17:	f6 86 f0 04 00 00 10 	testb  $0x10,0x4f0(%esi)
592c1e:	74 1d                	je     0x592c3d
592c20:	8b 46 04             	mov    0x4(%esi),%eax
592c23:	8b 40 64             	mov    0x64(%eax),%eax
592c26:	f6 40 30 08          	testb  $0x8,0x30(%eax)
592c2a:	75 11                	jne    0x592c3d
592c2c:	8b 44 24 20          	mov    0x20(%esp),%eax
592c30:	03 c7                	add    %edi,%eax
592c32:	75 09                	jne    0x592c3d
592c34:	56                   	push   %esi
592c35:	e8 f6 04 00 00       	call   0x593130
592c3a:	83 c4 04             	add    $0x4,%esp
592c3d:	5f                   	pop    %edi
592c3e:	5e                   	pop    %esi
592c3f:	5d                   	pop    %ebp
592c40:	8b c3                	mov    %ebx,%eax
592c42:	5b                   	pop    %ebx
592c43:	83 c4 08             	add    $0x8,%esp
592c46:	c3                   	ret
592c47:	cc                   	int3
592c48:	cc                   	int3
592c49:	cc                   	int3
592c4a:	cc                   	int3
592c4b:	cc                   	int3
592c4c:	cc                   	int3
592c4d:	cc                   	int3
592c4e:	cc                   	int3
592c4f:	cc                   	int3
592c50:	8b 4c 24 04          	mov    0x4(%esp),%ecx
592c54:	b8 07 00 00 00       	mov    $0x7,%eax
592c59:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
592c60:	80 04 08 01          	addb   $0x1,(%eax,%ecx,1)
592c64:	75 05                	jne    0x592c6b
592c66:	83 e8 01             	sub    $0x1,%eax
592c69:	79 f5                	jns    0x592c60
592c6b:	c3                   	ret
592c6c:	cc                   	int3
592c6d:	cc                   	int3
592c6e:	cc                   	int3
592c6f:	cc                   	int3
592c70:	b8 a0 00 00 00       	mov    $0xa0,%eax
592c75:	e8 36 eb 03 00       	call   0x5d17b0
592c7a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
592c7f:	33 c4                	xor    %esp,%eax
592c81:	89 84 24 9c 00 00 00 	mov    %eax,0x9c(%esp)
592c88:	8b 84 24 b4 00 00 00 	mov    0xb4(%esp),%eax
592c8f:	53                   	push   %ebx
592c90:	55                   	push   %ebp
592c91:	8b ac 24 b8 00 00 00 	mov    0xb8(%esp),%ebp
592c98:	56                   	push   %esi
592c99:	8b b4 24 b0 00 00 00 	mov    0xb0(%esp),%esi
592ca0:	57                   	push   %edi
592ca1:	8b bc 24 bc 00 00 00 	mov    0xbc(%esp),%edi
592ca8:	89 7c 24 24          	mov    %edi,0x24(%esp)
592cac:	8b 9e 00 0f 00 00    	mov    0xf00(%esi),%ebx
592cb2:	89 44 24 20          	mov    %eax,0x20(%esp)
592cb6:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
592cbd:	89 5c 24 14          	mov    %ebx,0x14(%esp)
592cc1:	3b eb                	cmp    %ebx,%ebp
592cc3:	0f 82 9c 02 00 00    	jb     0x592f65
592cc9:	83 be 88 06 00 00 00 	cmpl   $0x0,0x688(%esi)
592cd0:	74 10                	je     0x592ce2
592cd2:	8b 86 10 0f 00 00    	mov    0xf10(%esi),%eax
592cd8:	03 c3                	add    %ebx,%eax
592cda:	3b e8                	cmp    %eax,%ebp
592cdc:	0f 82 83 02 00 00    	jb     0x592f65
592ce2:	83 7e 68 04          	cmpl   $0x4,0x68(%esi)
592ce6:	75 16                	jne    0x592cfe
592ce8:	6a 01                	push   $0x1
592cea:	6a 00                	push   $0x0
592cec:	55                   	push   %ebp
592ced:	56                   	push   %esi
592cee:	e8 2d e2 00 00       	call   0x5a0f20
592cf3:	83 c4 10             	add    $0x10,%esp
592cf6:	85 c0                	test   %eax,%eax
592cf8:	0f 84 86 02 00 00    	je     0x592f84
592cfe:	c7 86 00 0f 00 00 00 	movl   $0x0,0xf00(%esi)
592d05:	00 00 00
592d08:	83 be 88 06 00 00 00 	cmpl   $0x0,0x688(%esi)
592d0f:	75 14                	jne    0x592d25
592d11:	83 be f0 05 00 00 ff 	cmpl   $0xffffffff,0x5f0(%esi)
592d18:	74 0b                	je     0x592d25
592d1a:	6a 01                	push   $0x1
592d1c:	56                   	push   %esi
592d1d:	e8 7e c4 ff ff       	call   0x58f1a0
592d22:	83 c4 08             	add    $0x8,%esp
592d25:	56                   	push   %esi
592d26:	e8 05 c3 ff ff       	call   0x58f030
592d2b:	83 c4 04             	add    $0x4,%esp
592d2e:	85 c0                	test   %eax,%eax
592d30:	74 2a                	je     0x592d5c
592d32:	56                   	push   %esi
592d33:	e8 08 d4 f5 ff       	call   0x4f0140
592d38:	83 c4 04             	add    $0x4,%esp
592d3b:	85 c0                	test   %eax,%eax
592d3d:	75 1d                	jne    0x592d5c
592d3f:	83 7e 68 06          	cmpl   $0x6,0x68(%esi)
592d43:	74 17                	je     0x592d5c
592d45:	8b 46 18             	mov    0x18(%esi),%eax
592d48:	56                   	push   %esi
592d49:	ff d0                	call   *%eax
592d4b:	83 c4 04             	add    $0x4,%esp
592d4e:	85 c0                	test   %eax,%eax
592d50:	0f 88 31 02 00 00    	js     0x592f87
592d56:	0f 84 28 02 00 00    	je     0x592f84
592d5c:	83 be 88 06 00 00 00 	cmpl   $0x0,0x688(%esi)
592d63:	74 36                	je     0x592d9b
592d65:	8d 44 24 10          	lea    0x10(%esp),%eax
592d69:	50                   	push   %eax
592d6a:	ff b6 10 0f 00 00    	push   0xf10(%esi)
592d70:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
592d73:	50                   	push   %eax
592d74:	ff b4 24 c4 00 00 00 	push   0xc4(%esp)
592d7b:	56                   	push   %esi
592d7c:	e8 1f 02 00 00       	call   0x592fa0
592d81:	83 c4 14             	add    $0x14,%esp
592d84:	85 c0                	test   %eax,%eax
592d86:	7f 0b                	jg     0x592d93
592d88:	89 9e 00 0f 00 00    	mov    %ebx,0xf00(%esi)
592d8e:	e9 f4 01 00 00       	jmp    0x592f87
592d93:	03 5c 24 10          	add    0x10(%esp),%ebx
592d97:	89 5c 24 14          	mov    %ebx,0x14(%esp)
592d9b:	3b dd                	cmp    %ebp,%ebx
592d9d:	75 2e                	jne    0x592dcd
592d9f:	f6 86 f0 04 00 00 10 	testb  $0x10,0x4f0(%esi)
592da6:	74 15                	je     0x592dbd
592da8:	8b 46 04             	mov    0x4(%esi),%eax
592dab:	8b 40 64             	mov    0x64(%eax),%eax
592dae:	f6 40 30 08          	testb  $0x8,0x30(%eax)
592db2:	75 09                	jne    0x592dbd
592db4:	56                   	push   %esi
592db5:	e8 a6 03 00 00       	call   0x593160
592dba:	83 c4 04             	add    $0x4,%esp
592dbd:	8b 4c 24 20          	mov    0x20(%esp),%ecx
592dc1:	b8 01 00 00 00       	mov    $0x1,%eax
592dc6:	89 19                	mov    %ebx,(%ecx)
592dc8:	e9 ba 01 00 00       	jmp    0x592f87
592dcd:	56                   	push   %esi
592dce:	2b eb                	sub    %ebx,%ebp
592dd0:	e8 5b 74 ff ff       	call   0x58a230
592dd5:	56                   	push   %esi
592dd6:	89 44 24 20          	mov    %eax,0x20(%esp)
592dda:	e8 c1 74 ff ff       	call   0x58a2a0
592ddf:	8b be 10 05 00 00    	mov    0x510(%esi),%edi
592de5:	83 c4 08             	add    $0x8,%esp
592de8:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
592dec:	8b d8                	mov    %eax,%ebx
592dee:	89 5c 24 28          	mov    %ebx,0x28(%esp)
592df2:	83 ff 20             	cmp    $0x20,%edi
592df5:	76 11                	jbe    0x592e08
592df7:	68 3a 02 00 00       	push   $0x23a
592dfc:	68 6c 6f 66 00       	push   $0x666f6c
592e01:	6a 44                	push   $0x44
592e03:	e9 6c 01 00 00       	jmp    0x592f74
592e08:	85 ff                	test   %edi,%edi
592e0a:	74 2c                	je     0x592e38
592e0c:	8b 86 ec 03 00 00    	mov    0x3ec(%esi),%eax
592e12:	85 c0                	test   %eax,%eax
592e14:	74 22                	je     0x592e38
592e16:	50                   	push   %eax
592e17:	e8 a4 d2 f5 ff       	call   0x4f00c0
592e1c:	50                   	push   %eax
592e1d:	e8 8e d4 f5 ff       	call   0x4f02b0
592e22:	83 c4 08             	add    $0x8,%esp
592e25:	a9 00 00 80 00       	test   $0x800000,%eax
592e2a:	74 0c                	je     0x592e38
592e2c:	8b 46 04             	mov    0x4(%esi),%eax
592e2f:	8b 40 64             	mov    0x64(%eax),%eax
592e32:	f6 40 30 01          	testb  $0x1,0x30(%eax)
592e36:	75 09                	jne    0x592e41
592e38:	bf 01 00 00 00       	mov    $0x1,%edi
592e3d:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
592e41:	8b 4c 24 18          	mov    0x18(%esp),%ecx
592e45:	85 c9                	test   %ecx,%ecx
592e47:	0f 84 0a 01 00 00    	je     0x592f57
592e4d:	85 db                	test   %ebx,%ebx
592e4f:	0f 84 02 01 00 00    	je     0x592f57
592e55:	3b d9                	cmp    %ecx,%ebx
592e57:	0f 87 fa 00 00 00    	ja     0x592f57
592e5d:	0f 1f 00             	nopl   (%eax)
592e60:	85 ed                	test   %ebp,%ebp
592e62:	75 05                	jne    0x592e69
592e64:	8d 45 01             	lea    0x1(%ebp),%eax
592e67:	eb 08                	jmp    0x592e71
592e69:	33 d2                	xor    %edx,%edx
592e6b:	8d 45 ff             	lea    -0x1(%ebp),%eax
592e6e:	f7 f3                	div    %ebx
592e70:	40                   	inc    %eax
592e71:	3b c7                	cmp    %edi,%eax
592e73:	8b df                	mov    %edi,%ebx